2

圖像技術在上億規模實拍圖片中的應用(演算法好文)

 2 years ago
source link: https://www.techug.com/post/application-of-image-technology-in-hundreds-of-millions-of-real-pictures.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

圖像技術在上億規模實拍圖片中的應用(演算法好文)

閑魚作為一個自由的商品和內容分發市場,每天有上百萬的用戶圖片上傳,其中不乏圖片重複,圖片描述內容不明確、圖文不符等低質量的商品;也有各種搞笑、抖機靈等倒流的內容;還有色情、黑產等違規或違法灰色地帶。如果讓這些低質的商品和內容都正常流入每天日常的商品展示中,不但會影響用戶的交易效率,還會降低產品在市場中的口碑和價值,甚至增加被監管治理和叫停的風險,其中較為典型的問題包括:

  • 圖片內容重複:在閑魚日常的發布內容中,有些賣家為了增加自己商品的曝光機會用不同的描述和圖片創建多個相同商品進行投放,這時文本的表述可能完全不同,但商品圖片看上去基本一樣如圖 1 所示:

圖 1.相同商品圖片

  • 圖文內容不一致:部分圖片內容與所售商品描述不一致,在排序時這些商品與其他一致的商品混排在一起時會影響整體搜索的體感和效果,如圖 2 所示;

圖 2.商品圖片和文本描述差異

  • 圖片內容質量:用戶上傳的圖片不是所有圖片都適合做商品圖片展示的,例如商品包裝,商品局部,非商品圖片,發票單據,商品描述圖等,如圖 3;

圖 3.不適合的商品圖片

  • 違規:一些賣家為了吸引買家的注意,會把一些如美女、性感和搞笑等違規圖片作為商品主圖導流,嚴重影響閑魚的品牌價值和公平優良的交易環境,如圖 4。

圖 4.美女首圖商品

上述問題都可以歸結為和視覺技術所涉及的範圍,實際上互聯網公司已經大規模的應用相關技術解決實際問題,例如阿里、百度、騰訊等頭部公司都有自己的視覺演算法團隊,每年各大頂會也都是常客。大家不但探索相關的前沿技術,同時將其轉化應用到實際的產品中,如圖像特徵在拍立淘、百度識圖中的應用,圖像檢測直接運用在自動駕駛和工業質檢中,圖像識別相關技術分別在審核、短視頻、廣告等業務得到廣泛的應用。本文針對閑魚產品中涉及的部分問題介紹如何利用視覺技術解決,例如圖片內容本身非商品或是色情等違規的物料都是可以利用圖像分類,圖像特徵等方法去解決,以下主要從以下幾個部分介紹:

  1. 構建大規模圖片分類模型,學習閑魚產品中的圖片分布特徵;

  2. 基於分類模型學習圖像比對特徵;

  3. 組合圖像分類和圖像特徵解決實際問題;

構建大規模圖片分類模型

圖像分類模型是視覺模型的基礎,檢測,分割等視覺問題都依賴基礎的圖像的分類模型。在閑魚場景構建圖像分類模型存在以下幾個難點:

  1. 圖片大部分是用戶上傳,圖像質量偏低,增加識別難度;

  2. 圖片內容不限於商品類目本身,涵蓋很多和商品不相關其他類別,整體類別定義困難;

  3. 閑魚商品的 title 是由用戶自己填寫的,結構化信息參差不齊,同時還包含很多口語化的雜訊;

  4. 同類的商品包含的雜訊圖片很大,不能直接訓練

  5. 數據標註成本高,短時間內不能有效覆蓋大部分數據;

我們這裡要求不直接識別出眾多的具體商品類目名稱,只要可以區分彼此即可,對於需要重點識別的類別,我們採用訓練好的特徵進行樣本挖掘,整體流程如圖 5 所示,包括基礎圖像特徵學習,聚類樣本構建,和分類模型的訓練:

圖 5.半自動圖像分類識別

基礎圖像特徵學習

基礎圖像模型主要是為了學習數據的整體分布,在儘可能提高樣本覆蓋的情況下發掘較簡單的樣本使得模型可以冷啟動。首先根據線上的 query 請求的展示結果,收集高頻 query 下的點擊商品作為候選集合,因為有用戶誤點擊和高點擊導流樣本存在,所以需要過濾掉點擊率偏低和偏高的商品樣本,同時需要語義相近的 query 進行去重,經過上述幾步就構成了圖像分類的基礎數據。模型訓練採用 resnet101 模型,對比了 softmax 和 arcface[5]兩種損失的效果,結果 softmax 好於 arcface,原因可能是因為樣本不純 arcface 很難收斂到較好的目標。

聚類樣本構建

有了基礎模型後,接下來需要收集閑魚類目樣本。首先收集閑魚每個類目下商品樣本,這步可以把語義概念控制在一定的範圍內,接下來根據 title 中的中心詞的命中率把該類目下下樣本劃分為不同的子類目,每個子類目下的樣本都有明確的語義含義,但是圖片存在較大變化如上圖 8-1 所示「詹姆斯」這個子類目下的樣本存在多個品類的情況,這類樣本無法直接訓練。這時我們可以利用上面得到的基礎圖像特徵對子類目下的樣本提純,即在每個子類目類做聚類,把互為圖像特徵餘弦距離最近的樣本聚合成新的類別,過濾掉樣本較少的類目,最終就得到了我們訓練閑魚場景下的圖像分類樣本,針對不同的距離閾值,我們分別選取了 4.6K,7.4K,12K 三組類目細分類,人工評估效果 7.4K 較為理想,其他兩個對樣本的劃分要麼太粗要麼太細。

分類模型的訓練

基於之前的分類模型參數,訓練新的類目標籤,採用 batchsize=256, centercorp=224, 加入隨機 crop,鏡像,cutout 預處理,學習率採用 cos 學習率同時在一定輪數加入熱重啟,使模型在後期還能進一步提升準確率,最終驗證集合 top@1 準確率 74%,基本達到了應用要求。

為了能識別票據,文字圖,建築物,人物等特定類別,我們需要對這些類別做定製的樣本挖掘:通過已經訓練好的模型抽取特徵搭建商品庫的檢索系統,收集需要特殊處理的樣本進行最緊鄰查找,對查找後的結果卡閾值並再次進行檢索繼續擴充需要的樣本集合如圖 6,最終合併這些類目與原有類目一起訓練。

圖 6.特定類目樣本挖掘

基於分類模型學習圖像比對特徵

比對特徵主要是用來判斷商品是否同款,過濾掉或打散圖片重複的商品。由於系統里每個商品已經單獨定義,所以這裡採用 deepid[1][2]][3]方案,訓練同款特徵,但直接用每個商品的圖片訓練存在兩個問題:1.每個 id 類別存在變化較大的多張圖片並不能直接使用所有圖片;2.每個 id 類目的樣本稀少,直接訓練很難收斂。

針對上述問題 1 我們有個先驗的假設即用戶上傳的多張圖片中與商品主要意圖相關的圖片佔大多數,所以我們可以借鑒之前聚類的思路,在同一個商品的多張圖片中進行聚類,選取樣本最多的類別為我們的候選集合,如果類別間的樣本相差不大則認為該商品不適合做訓練應丟棄。

為了每個類別都可以儘可能挖掘到同款樣本,我們選取在線上同一個 query 下有交易行為的商品和點擊率較高的商品作為候選集合同時對每個商品內部進行聚類保證樣本純度,在實驗時我們發現品牌類 query 或品類 query 下的樣本存在較大的多樣性,如「安踏」、「華為手機」、「電動車」,即使點擊行為較為稠密,但可能屬於不同 sku 的商品,所以我們需要對 query 進行限制,盡量保證 query 到單獨 sku 粒度消除歧義性,如「華為 p40 pro」、「極米投影儀 h3」、「小牛電動車 G2」。

有了上述的樣本我們就可以訓練 deepid 模型,這裡採用人臉常用的 arcface loss[5], backbone 選擇之前的分類模型和初始化參數,開始階段先用較小 margin 參數,然後遍歷 scale 參數,經過選取合適的 margin 和 scale 後訓練模型到飽和,接下來增大 margin 參數同樣選取合適的 scale 參數訓練,經過 3 次這樣的迭代使模型在不過擬合的情況下訓練,最終相款識別準確率 95%, 商品 sku 內召回 79%。

基於同款特徵也可以用於在相同識別的場景中,即利用同款特徵做召回再利用 sift 特徵做最後的幾何校驗,可以實現對旋轉、部分裁剪和遮擋的相同圖識別。

組合圖像分類和圖像特徵解決相關性和多樣性問題

閑魚搜索相關性問題

針對用戶提交商品圖片多樣性的特點,為了提升搜索體感,採用首圖相關性聚類的方式重排檢索結果如下圖 7-1 示例,以「銳鯊」搜索 query 為例:圖 7.1 舉例對照組檢索結果,可以看出整體隊列都是和便攜工具相關的商品,但也存在包裝(坑位 1,6)和歧義(坑位 3)的體驗不好的 case,通過上述的商品圖像分類模型對商品多張圖片進行預測並聚類,我們可以得到每個商品的主要的 top3 類別,隨後統計整個隊列的 top 類別做為該隊列置信類別,最後根據置信度分檔重排,結果參考圖 7.2 看到 top 商品都是移動工具相關。另一個 case 如圖 8.1 所示 query 為「詹姆斯」經過圖像特徵重排球鞋這個主要類別被重排到前排如圖 8.2,其他一些不太相關的類別被降權。線上的 case 中,也會有 badcase,例如有些 query 如「華為」,「蘋果」存在多類別是否需要重排需要根據用戶反饋進行優化,重排的實驗結果如下,點擊率還是有明顯的提升。

相同商品圖片去重

閑魚商品中有的賣家為了增加自己的曝光會創建多個商品並採用相似的描述和視覺上變化很小的商品圖片,另外還有一些賣家會使用相同原始的商品圖片,這類商品如果出現在同一個搜索結果頁會帶來不好的用戶體驗,也會降低商品的交易效率。這裡利用之前圖像對比特徵搭建圖像搜索引擎,索引方式採用通用的乘積量化的方法構建 1.2 億商品庫,整體流程如下圖 10.1。

每天實時的商品相對全庫比例較小,我們不需要做到實時精準去重,所以我們採用離線的去重方案:首先每天新增商品會以增量的方式入庫,在構建索引的同時會同步當前的商品在架、是否有效等狀態過濾掉無效的商品,然後利用乘積量化的方法構建離線去重檢索引擎,每天新增的商品會經過去重檢索引擎找到與庫里相同的商品並更新到線上的 KV 存儲中,由於原有庫中的商品和新商品產生了新鏈接關係,所以還需要根據新的鏈接匹配關係去更新 KV 存儲中原有庫中該商品的相同商品列表。線上的請求在完成召回後,會根據召回的商品 id 去 KV 存儲中實時查詢對應的相同商品,最後打散邏輯會對當前頁中命中的相同商品進行分頁打散完成去重。

10.1 商品離在線去重方案

不合規商品過濾

閑魚中的不合規商品主要包括美女首圖,性感首圖,搞笑圖片,人體局部等,但實際出售的商品和這些商品圖片沒有任何關係,賣家使用這類圖片主要是為了吸引用戶的注意騙取流量。採用普遍使用的審核模型、OCR 識別可以過濾掉大多數色情、涉黃、涉政和暴恐等非法內容。然後還有些違規類的商品如圖 11.2 和搞笑、段子類的內容如圖 11.3 影響正常的交易市場,這類問題無法直接用審核等模型過濾掉。

11.1 違規商品識別流程

針對與上述問題,我們設計了違規商品識別的方案如圖 11.1 所示,因為涉及到線上業務策略這裡不做詳細描述,新增商品會經過兩個邏輯判斷是否違規:

  1. 首先識別和人相關的主圖,利用通用分類給所有商品圖片打標籤,然後過濾掉語義不一致的商品,但這是會有一定的 badcase 如圖 11.4,這裡的用戶曬單是正常的商品,所以我在過濾後還需判斷是否有同款的商品,如果識別同款,則會通過該商品;

  2. 搞笑、段子類的圖片一般都為熱門圖片,雖然會有可能再編輯,但主題內容是沒變化的,這類圖片通過建立違規內容庫利用相同識別可以得到解決,如圖 11.1 中的相同圖識別分支;

11.2 違規商品示例

11.3 非商品搞笑、段子等示例

11.4 人物首圖正常商品示例

本文主要介紹了利用視覺技術中的分類,特徵學習解決實際用戶分發商品中的應用,然而閑魚用戶自定義的商品和內容的多樣性使得在審核、治理和結構方面給我們帶來了很多挑戰,單純利用一種模態和內容很難把所有問題都解決,所以在實際應用中會綜合多種方案和技術組合求解,例如在識別類目問題上,不但需要利用文本、圖像內容提升識別精度,還在產品側引導用戶幫助完成商品結構化;對於樣本提純不但可以標註,還可以充分合理利用用戶的反饋行為幫助我們;另外檢索系統、數據加工流程和同步管理等工程化是最終模型體現價值的關鍵,光只有單純幾個模型並不能直接解決線上問題;在違規治理問題上正所謂「魔高一尺,道高一丈」,有些不合規用戶總鑽平台的漏洞為自己牟利,與他們的鬥智斗勇是個長期的過程,也需要技術不斷迭代和超越。感謝合作團隊:閑魚結構化團隊,閑魚架構團隊,達摩院、審核部分等兄弟團隊給與的人力和技術支持。

[1]Yi Sun,Xiaogang Wang,Xiaoao Tang. Deep Learning Face Representation from Predicting 10,000 Classes .CVPR 2014

[2]Yi Sun[1], Xiaogang Wang[2], Xiaoou Tang[3]. DeepID2: deep learning face representation by joint identification-verification. CVPR 2014

[3]Yi Sun[4], Xiaogang Wang[5], Xiaoou Tang[6]. Deeply learned face representations are sparse, selective, and robust. CVPR 2014

[4]Yi Sun[7], Ding Liang[8], Xiaogang Wang[9], Xiaoou Tang[10]. Face Recognition with Very Deep Neural Networks. CVPR 2015

[5]Jiankang Deng[11], Jia Guo[12], Niannan Xue[13], Stefanos Zafeiriou[14]. ArcFace: Additive Angular Margin Loss for Deep Face Recognition. CVPR 2018

References

[1]Yi Sun: https://arxiv.org/search/cs?searchtype=author&query=Sun%2C+Y

[2]Xiaogang Wang: https://arxiv.org/search/cs?searchtype=author&query=Wang%2C+X

[3]Xiaoou Tang: https://arxiv.org/search/cs?searchtype=author&query=Tang%2C+X

[4] Yi Sun: https://arxiv.org/search/cs?searchtype=author&query=Sun%2C+Y

[5]Xiaogang Wang: https://arxiv.org/search/cs?searchtype=author&query=Wang%2C+X

[6]Xiaoou Tang: https://arxiv.org/search/cs?searchtype=author&query=Tang%2C+X

[7]Yi Sun: https://arxiv.org/search/cs?searchtype=author&query=Sun%2C+Y

[8]Ding Liang: https://arxiv.org/search/cs?searchtype=author&query=Liang%2C+D

[9]Xiaogang Wang: https://arxiv.org/search/cs?searchtype=author&query=Wang%2C+X

[10]Xiaoou Tang: https://arxiv.org/search/cs?searchtype=author&query=Tang%2C+X

[11]Jiankang Deng: https://arxiv.org/search/cs?searchtype=author&query=Deng%2C+J

[12]Jia Guo: https://arxiv.org/search/cs?searchtype=author&query=Guo%2C+J

[13]Niannan Xue: https://arxiv.org/search/cs?searchtype=author&query=Xue%2C+N

[14]Stefanos Zafeiriou: https://arxiv.org/search/cs?searchtype=author&query=Zafeiriou%2C+S

本文轉載自:閑魚技術(ID:XYtech_Alibaba)

原文鏈接:圖像技術在上億規模實拍圖片中的應用(演算法好文)

本文文字及圖片出自 InfoQ


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK