【AI in 美團】如何基於深度學習實現影象的智慧稽核?
## 背景
美團每天有百萬級的圖片產生量,運營人員負責相關圖片的內容稽核,對涉及法律風險及不符合平臺規定的圖片進行刪除操作。由於圖片數量巨大,人工稽核耗時耗力且稽核能力有限。另外對於不同稽核人員來講,稽核標準難以統一且實時變化。所以有必要藉助機器實現智慧稽核。
影象智慧稽核一般是指利用影象處理與機器學習相關技術識別影象內容,進而甄別影象是否違規。影象智慧稽核旨在建立圖片自動稽核服務,由機器自動禁止不符合規定(負例)的圖片型別,自動通過符合規定(正例)的圖片型別,機器不確定的圖片交由人工稽核。因此,衡量智慧稽核系統效能的指標主要是準確率和自動化率。
通常的自動稽核思路是窮舉不符合規定的圖片(例如水印圖、涉黃圖、暴恐圖、明星臉、廣告圖等)型別,剩下的圖片作為正例自動通過。這樣帶來的問題是對新增的違規內容擴充套件性不足,另外必須等待所有模型構建完畢才能起到自動化過濾的作用。如果我們能主動挖掘符合規定的圖片(例如正常人物圖、場景一致圖)進行自動通過,將正例過濾和負例過濾相結合,這樣才能更快起到節省人工稽核的作用。因此,我們的影象智慧稽核系統分為圖片負例過濾模組和圖片正例過濾模組,待審圖片先進入負例過濾模組判斷是否違禁,再進入正例過濾模組進行自動通過,剩餘機器不確定的圖片交由人工稽核。整個技術方案如圖1所示。
負例過濾和正例過濾模組中都會涉及檢測、分類和識別等技術,而深度學習則是該領域的首選技術。下面將分別以水印過濾、明星臉識別、色情圖片檢測和場景分類來介紹深度學習在影象智慧稽核中的應用。
基於深度學習的水印檢測
為了保護版權和支援原創內容,需要自動檢測商家或使用者上傳的圖片中是否包括違禁水印(競對水印、其他產品的Logo)。與其他類剛體目標不同,水印具有以下特點。
* 樣式多。線下收集所涉及的主流違禁水印有20多類,每一類水印又存在多種樣式。除此之外,線上存在大量未知型別的水印。
* 主體多變。水印在圖片中位置不固定且較小,主體存在裁切變形,並且會存在多個主體交疊(多重水印),如圖2所示。
- 背景複雜。由於主流水印大多采用透明或半透明方式,這使得水印中的文字標識極易受到複雜背景的干擾,如圖3所示。
傳統的水印檢測採用滑動視窗的方法,提取一個固定大小的影象塊輸入到提前訓練好的鑑別模型中,得到該塊的一個類別。這樣遍歷圖片中的所有候選位置,可得到一個圖片密集的類別得分圖。得分高於一定閾值的塊被認為是水印候選區域,通過非極大化抑制可以得到最終的結果。鑑別模型的特徵可以採用文字識別領域常用的邊緣方向統計特徵,也可以通過CNN進行特徵學習來提升對裁切、形變、複雜背景的健壯性。為了進一步改善得分的置信度,可以加入型別原型的資訊,把輸入影象塊特徵與聚類中心特徵的相似度(夾角餘弦)作為識別置信度。但上述方法檢測效率極低,由於水印位置和大小不固定,需要在所有位置對多個尺度的影象進行判別,由此產生大量的冗餘視窗。
一種思路是旨在減少滑動視窗數目的子視窗的方法。首先通過無監督/有監督學習生成一系列的候選區域,再通過一個CNN分類器來判斷區域中是否包含目標以及是哪一類目標。這類方法比較有代表的是R-CNN系列。由於該類方法得到的候選框可以對映到原圖解析度,因此定位框精度足夠高。
另一種解決思路時採用直接在特徵圖上回歸的方法。我們知道,對於CNN網路的卷積層而言,輸入圖片大小可以不固定,但從全連線層之後就要求輸入大小保持一致。因此當把任意大小的圖片輸入CNN直到第一個全連線層,只需要一次前向運算就可以得到所有層的特徵圖。然後迴歸的物件是待檢測目標的位置資訊和類別資訊,它們可根據目標大小的需要在不同層次的特徵圖上進行迴歸,這類方法以Yolo、SSD為代表。該類方法的特點是在保證高檢測精度的前提下實時性較好。
圖4給出了上述兩類框架與DPM(可變形部件模型)最佳傳統方法的效能比較:
考慮到水印檢測任務對定位框的精度要求不高,且需要滿足每天百萬量級圖片的吞吐量,我們借鑑了SSD框架和Resnet網路結構。在訓練資料方面,我們通過人工收集了25類共計1.5萬張水印圖片,並通過主體隨機裁切、前背景合成等方式進行了資料增廣。
基於訓練得到的模型對線上資料進行了相關測試。隨機選取3197張線上圖片作為測試集,其中2795張圖片不包含水印,包含水印的402張圖片裡有302張包含訓練集中出現過的水印,另外的100張包含未出現在訓練集中的小眾水印。基於該測試集,我們評測了傳統方法(人工設計特徵+滑窗識別)和基於SSD框架的方法。
從圖5可以看到,相比於傳統方法,SSD框架無論在召回和精度上都有明顯優勢。進一步分析發現,深度學習方法召回了38張小眾水印圖片,可見CNN學習到的特徵泛化能力更強。
明星臉識別
為了避免侵權明星肖像權,稽核場景需要鑑別使用者/商家上傳的影象中是否包含明星的頭像。這是一類典型的人臉識別應用,具體來說是一種1∶(N+1)的人臉比對。整個人臉識別流程包含人臉檢測、人臉關鍵點檢測、人臉矯正及歸一化、人臉特徵提取和特徵比對,如圖6所示。其中深度卷積模型是待訓練的識別模型,用於特徵提取。下面我們將分別介紹人臉檢測和人臉識別技術方案。
人臉檢測
人臉檢測方法可分為傳統檢測器和基於深度學習的檢測器兩類。
傳統檢測器主要基於V-J框架,通過設計Boosted的級連結構和人工特徵實現檢測。特徵包括Harr特徵、HOG特徵和基於畫素點比較的特徵(Pico、NPD)等。這類檢測器在約束環境下有著不錯的檢測效果和執行速度,但對於複雜場景(光照、表情、遮擋),人工設計的特徵使檢測能力會大大下降。為了提升效能,相關研究聯合人臉檢測和人臉關鍵點定位這兩個任務進行聯合優化(JDA),將關鍵點檢測作為人臉檢測的一個重要評價標準,但其準確率有待進一步提升。
深度學習的檢測器有三種思路。第一類是沿用V-J框架,但以級聯CNN網路(Cascaded CNN)替代傳統特徵。第二類是基於候選區域和邊框迴歸的框架(如Faster R-CNN)。 第三類是基於全卷積網路直接回歸的框架(如DenseBox)。
我們採用了Faster R-CNN框架並從以下方面進行了改進: 難分負例挖掘(抑制人物雕像、畫像和動物頭像等負例)、多層特徵融合、 多尺度訓練和測試、上下文資訊融合,從而更好地抵抗複雜背景、類人臉、遮擋等干擾,並有效提升了對小臉、側臉的檢出率。
人臉識別
人臉識別主要有兩種思路。一種是直接轉換為影象分類任務,每一類對應一個人的多張照片,比較有代表性的方法有DeepFace、DeepID等。另一種則將識別轉換為度量學習問題,通過特徵學習使得來自同一個人的不同照片距離比較近、不同的人的照片距離比較遠,比較有代表性的方法有DeepID2、FaceNet等。
由於任務中待識別ID是半封閉集合,我們可以融合影象分類和度量學習的思路進行模型訓練。考慮到三元組損失(Triplet Loss)對負例挖掘演算法的要求很高,在實際訓練中收斂很慢,因此我們採用了Center Loss來最小化類內方差,同時聯合Softmax Loss來最大化類間方差。為了平衡這兩個損失函式,需要通過試驗來選擇超引數。我們採用的網路結構是Inception-v3,在實際訓練中分為兩個階段:第一階段採用Softmax Loss+C×CenterLoss,並利用公開資料集CASIA-WebFace(共包含10 575個ID和49萬人臉圖片)來進行網路引數的初始化和超引數C的優選,根據試驗得到的C=0.01;第二階段採用Softmax Loss+0.01×Center Loss,並在業務資料(5200個明星臉ID和100萬人臉圖片)上進行網路引數的微調。
為了進一步提升效能,借鑑了百度採用的多模型整合策略,如圖7所示。具體來說,根據人臉關鍵點的位置把人臉區域分割為多個區域,針對每一個區域分別訓練特徵模型。目前把人臉區域分割為9個區域,加上人臉整體區域,共需訓練10個模型。
在測試階段,對於待驗證的人臉區域和候選人臉區域,分別基於圖7所示的10個區域提取特徵。然後對於每個區域,計算兩個特徵向量間的相似度(餘弦距離)。最終通過相似度加權的方法判斷兩張人臉是否屬於同一個人。表1給出了主流方法在LFW資料集上的評測結果。可以看出,美團模型在相對有限資料下獲得了較高的準確率。
色情圖片檢測
色情圖片檢測是影象智慧稽核中重要環節。傳統檢測方法通過膚色、姿態等維度對圖片的合規性進行鑑別。隨著深度學習的進展,現有技術[雅虎NSFW(Not Suitable for Work)模型]直接把色情圖片檢測定義二分類(色情、正常)問題,通過卷積神經網路在海量資料上進行端到端訓練。
對於已訓練模型,不同層次學習到的特徵不同,有些層次學到了膚色特徵,另外一些層次學習到了部位輪廓特徵,還有的層次學到了姿態特徵。但由於人類對色情的定義非常廣泛,露點、性暗示、藝術等都可能被歸為色情類,而且在不同的場景下或者面對不同的人群,色情定義標準無法統一。因此,初始學習到的模型泛化能力有限。為了提升機器的預測準確率,需要不斷加入錯分樣本,讓機器通過增量學習到更多特徵以糾正錯誤。除此之外,我們在以下方面進行了優化。
- 模型細化。我們的分類模型精細化了圖片的色情程度:色情、性感、正常人物圖、其他類。其中色情、性感、正常人物圖互為難分類別,其他類為非人物的正常圖片。將性感類別和正常人物圖類別從色情類別中分離出來有助於增強模型對色情的判別能力。從表2中可見,相對於雅虎的NSFW模型,我們的模型在召回率方面具有明顯優勢。
機器稽核結合人工複審。在實際業務中由於涉黃檢測採用預警機制,機器稽核環節需要儘可能召回所有疑似圖片,再結合適量的人工稽核來提升準確率。因此,上層業務邏輯會根據模型預測類別和置信度將圖片劃分為“確定黃圖”“確定非黃圖”和“疑似”三部分。“疑似”部分,根據置信度由高到底進行排序,並轉交人工複審。線上上業務中,“確定黃圖”和“確定非黃圖”部分的精度可達到99%以上,而“疑似”部分只佔總圖片量的3%左右,這樣在保證高精度過濾的條件下可大幅節省人力。
支援視訊內容稽核。對於短視訊內容的稽核,我們通過提取關鍵幀的方式轉化為對單張圖片的稽核,然後融合多幀的識別結果給出結論。
場景分類
作為一個貫穿吃喝玩樂各環節的網際網路平臺,美團的業務涉及多種垂直領域,如表3所示。有必要對運營或使用者上傳圖片的品類進行識別,以保持與該商家的經營範圍一致。此外,為了進一步改善展示效果,需要對商家相簿內的圖片進行歸類整理,如圖8所示。
深度卷積神經網路在影象分類的相關任務上(比如ILSVRC)上已經超越人眼的識別率,但作為一種典型的監督學習方法,它對特定領域的標記樣本的數量和質量的需求是突出的。我們的場景分類任務,如果完全依靠稽核人員進行圖片的篩選和清洗,代價較大。因此需要基於遷移學習來對模型進行微調。
遷移學習致力於通過保持和利用從一個或多個相似的任務、領域或概率分佈中學習到的知識,來快速並有效地為提升目標任務的效能。模型遷移是遷移學習領域中一類常用的遷移方式,它通過學習原始域(Source Domain)模型和目標域(Target Domain)模型的共享引數來實現遷移。由於深度神經網路具有層次結構,且其隱藏層能表示抽象和不變性的特徵,因此它非常適合模型遷移。
至於原始域訓練的深度卷積神經網路,需要關注哪些層次的引數可以遷移以及如何遷移。不同層次的可遷移度不同,目標域與原始域中相似度較高的層次被遷移的可能性更大。具體而言,較淺的卷積層學習到的特徵更通用(比如影象的色彩、邊緣、基本紋理),因而也更適合遷移,較深的卷積層學習的特徵更具有任務依賴性(比如影象細節),因而不適合遷移,如圖9所示。
模型遷移通過固定網路特定層次的引數,用目標域的資料來訓練其他層次。對於我們的場景分類任務而言,首先根據分類的類別數修改網路輸出層,接著固定較淺的卷積層而基於業務標註資料訓練網路倒數若干層引數。如有更多的訓練資料可用,還可以進一步微調整個網路的引數以獲得額外的效能提升,如圖10所示。相比於直接提取影象的高層語義特徵來進行監督學習,採用分階段的引數遷移對原始域與目標域間的差異性更健壯。
基於上述遷移學習策略,我們在美食場景圖和酒店房型圖分類中進行了相關實驗,基於有限(萬級別圖片)的標註樣本實現了較高的識別準確率,測試集上的效能如表4所示。
如前所述,基於深度學習的影象分類與檢測方法在圖片智慧稽核中替代了傳統機器學習方法,在公開模型與遷移學習的基礎上,通過從海量資料中的持續學習,實現了業務場景落地。
參考文獻
[1] H. Chen, S. S. Tsai, G. Schroth, D. M. Chen, R. Grzeszczuk, and B. Girod. “Robust text detection in natural images with edge-enhanced maximally stable extremal regions.” ICIP 2011.
[2] Z Zhong,LJin,SZhang,ZFeng.“DeepText: A Unified Framework for Text Proposal Generation and Text Detection in Natural Images”. Architecture Science 2015.
[3] Minghui Liao, Baoguang Shi, Xiang Bai, Xinggang Wang, Wenyu Liu. “TextBoxes: A Fast Text Detector with a Single Deep Neural Network”. AAAI 2017.
[4] S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn.“Towards real-time object detection with region proposal networks.” NIPS 2015.
[5] Graves, A.; Fernandez, S.; Gomez, F.; and Schmidhuber, J. “Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks.” ICML 2006.
[6] R Girshick,JDonahue,TDarrell,JMalik. “Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation.” CVPR 2014.
[7] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi. “You only look once: Unified, real-time object detection”. CVPR 2016.
[8] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, and S. Reed. “SSD: Single shot multibox detector”. ECCV 2016.
[9] “Object detection with discriminatively trained part-based models”. TPAMI 2010.
[10]Robust Real-time Object Detection. Paul Viola, Michael Jones. IJCV 2004.
[11]N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer. “Object Detection with Pixel Intensity Comparisons Organized in Decision Trees”. CoRR 2014.
[12]Shengcai Liao, Anil K. Jain, and Stan Z. Li. “A Fast and Accurate Unconstrained Face Detector,” TPAMI 2015.
[13]Dong Chen, ShaoQingRen, Jian Sun. “Joint Cascade Face Detection and Alignment”, ECCV 2014.
[14]Haoxiang Li, Zhe Lin, XiaohuiShen, Jonathan Brandt, Gang Hua. “A convolutional neural network cascade for face detection”, CVPR.2015.
[15]Lichao Huang, Yi Yang, Yafeng Deng, Yinan Yu.“DenseBox: Unifying Landmark Localization with End to End Object Detection” CVPR 2015.
[16]Taigman Y, Yang M, Ranzato M A, et al. Deepface: Closing the gap to human-level performance in face verification.CVPR 2014.
[17]Sun Y, Wang X, Tang X. Deep learning face representation from predicting 10,000 classes.CVPR 2014.
[18]Sun Y, Chen Y, Wang X, et al. Deep learning face representation by joint identification-verification.NIPS. 2014.
[19]FaceNet: A Unified Embedding for Face Recognition and Clustering. CVPR 2015.
[20]A Discriminative Feature Learning Approach for Deep Face Recognition. ECCV 2016.
[21]Rethinking the Inception Architecture for Computer Vision. CVPR 2016.
[22]Alex Krizhevsky, IlyaSutskever, Geoffrey E. Hinton. “ImageNet Classification with Deep Convolutional Neural Networks”. 2014.
[23]Murray, N., Marchesotti, L., Perronnin, F. “Ava: A large-scale database for aesthetic visual analysis”. CVPR 2012.
作者簡介
曉明,美團平臺智慧技術中心視覺技術負責人,曾就職於佳能研究院,三星研究院。2015年加入美團,主要致力於影象和視訊相關的技術積累和業務落地,作為技術負責人主導了影象智慧稽核、首圖優選、刷臉認證、拍照錄菜等專案的上線,顯著提升了使用者和商家的智慧化體驗。
招聘資訊
美團平臺智慧技術中心充分利用人工智慧的優勢來支援美團點評多個業務線,並在智慧推薦、智慧營銷、智慧經營、智慧稽核等多個領域都取得了很好的應用效果。長期招聘自然語言處理、計算機視覺、大規模機器學習、資料探勘演算法或工程背景的同學。歡迎有意向的同學投遞簡歷至:zhanghejia@meituan.com。
相關文章
- 美團如何基於深度學習實現影像的智慧稽核?深度學習
- 基於深度學習的影象超解析度重建深度學習
- 實戰 | 基於深度學習模型VGG的影象識別(附程式碼)深度學習模型
- 【AI in 美團】深度學習在OCR中的應用AI深度學習
- 基於PaddlePaddle的影象分類實戰 | 深度學習基礎任務教程系列(一)深度學習
- 【AI in 美團】深度學習在文字領域的應用AI深度學習
- 美團深度學習系統的工程實踐深度學習
- 基於深度學習的影象超解析度重建技術的研究深度學習
- 基於pytorch的深度學習實戰PyTorch深度學習
- 基於TensorFlow的深度學習實戰深度學習
- 如何用深度學習框架PaddlePaddle實現智慧春聯深度學習框架
- 深度學習AI美顏系列----基於摳圖的人像特效演算法深度學習AI特效演算法
- 基於深度學習的影象語義分割技術概述之背景與深度網路架構深度學習架構
- 美團演算法團隊:深度學習在美團OCR中的應用!演算法深度學習
- 基於深度學習的回聲消除系統與Pytorch實現深度學習PyTorch
- 美團“猜你喜歡”深度學習排序模型實踐深度學習排序模型
- 深度學習基礎-基於Numpy的卷積神經網路(CNN)實現深度學習卷積神經網路CNN
- 基於yolov5實現的AI智慧盒子框架YOLOAI框架
- 深度學習在美團配送ETA預估中的探索與實踐深度學習
- 深度學習在美團搜尋廣告排序的應用實踐深度學習排序
- 【深度學習-基於Tensorflow的實戰】公開課實況深度學習
- 如何用百度深度學習框架PaddlePaddle實現智慧春聯深度學習框架
- 基於CPU的深度學習推理部署優化實踐深度學習優化
- TF2.keras 實現基於深度可分離卷積網路的影象分類模型TF2Keras卷積模型
- 基於深度對抗學習的智慧模糊資料生成方法
- 基於深度學習的影像分割在高德的實踐深度學習
- 《深度學習入門:基於Python的理論與實現》 Deep Learning from Scratch深度學習Python
- 深度學習“見頂”不等於AI寒冬深度學習AI
- 【機器學習基礎】關於深度學習的Tips機器學習深度學習
- 使用深度學習進行基於AI的面部識別的不同方法深度學習AI
- faced:基於深度學習的CPU實時人臉檢測深度學習
- 深度學習|基於MobileNet的多目標跟蹤深度學習演算法深度學習演算法
- 基於PaddlePaddle的詞向量實戰 | 深度學習基礎任務教程系列深度學習
- 深度學習之影象超分辨重建技術深度學習
- 下一代實時渲染——基於深度學習的渲染深度學習
- 讀書筆記(四):深度學習基於Keras的Python實踐筆記深度學習KerasPython
- 《深度學習案例精粹:基於TensorFlow與Keras》案例集用於深度學習訓練深度學習Keras
- 基於深度學習的醫學影像配準學習筆記2深度學習筆記