极客星球 | 图像技术在上亿规模实拍图片中的应用
?
編者按:
閑魚高級(jí)算法專家遠(yuǎn)悠近日出席了由MobTech袤博科技主辦的【CoderPark】直播活動(dòng),與MobTech專家以及行業(yè)知名算法KOL齊聚云端,并分享了圖像技術(shù)在上億規(guī)模實(shí)拍圖片中的應(yīng)用。
一、背景
閑魚作為一個(gè)自由的商品和內(nèi)容分發(fā)市場,每天有上百萬的用戶圖片上傳,其中不乏圖片重復(fù),圖片描述內(nèi)容不明確、圖文不符等低質(zhì)量的商品;也有各種搞笑、抖機(jī)靈等倒流的內(nèi)容;還有色情、黑產(chǎn)等違規(guī)或違法灰色地帶。如果讓這些低質(zhì)的商品和內(nèi)容都正常流入每天日常的商品展示中,不但會(huì)影響用戶的交易效率,還會(huì)降低產(chǎn)品在市場中的口碑和價(jià)值,甚至增加被監(jiān)管治理和叫停的風(fēng)險(xiǎn),其中較為典型的問題包括:
- 圖片內(nèi)容重復(fù):在閑魚日常的發(fā)布內(nèi)容中,有些賣家為了增加自己商品的曝光機(jī)會(huì)用不同的描述和圖片創(chuàng)建多個(gè)相同商品進(jìn)行投放,這時(shí)文本的表述可能完全不同,但商品圖片看上去基本一樣如圖1所示:
- 圖文內(nèi)容不一致:部分圖片內(nèi)容與所售商品描述不一致,在排序時(shí)這些商品與其他一致的商品混排在一起時(shí)會(huì)影響整體搜索的體感和效果,如圖2所示;
- 圖片內(nèi)容質(zhì)量:用戶上傳的圖片不是所有圖片都適合做商品圖片展示的,例如商品包裝,商品局部,非商品圖片,發(fā)票單據(jù),商品描述圖等,如圖3;
- 違規(guī):一些賣家為了吸引買家的注意,會(huì)把一些如美女、性感和搞笑等違規(guī)圖片作為商品主圖導(dǎo)流,嚴(yán)重影響閑魚的品牌價(jià)值和公平優(yōu)良的交易環(huán)境,如圖4。
圖4.美女首圖商品
上述問題都可以歸結(jié)為和視覺技術(shù)所涉及的范圍,實(shí)際上互聯(lián)網(wǎng)公司已經(jīng)大規(guī)模的應(yīng)用相關(guān)技術(shù)解決實(shí)際問題,例如阿里、百度、騰訊等頭部公司都有自己的視覺算法團(tuán)隊(duì),每年各大頂會(huì)也都是??汀4蠹也坏剿飨嚓P(guān)的前沿技術(shù),同時(shí)將其轉(zhuǎn)化應(yīng)用到實(shí)際的產(chǎn)品中,如圖像特征在拍立淘、百度識(shí)圖中的應(yīng)用,圖像檢測直接運(yùn)用在自動(dòng)駕駛和工業(yè)質(zhì)檢中,圖像識(shí)別相關(guān)技術(shù)分別在審核、短視頻、廣告等業(yè)務(wù)得到廣泛的應(yīng)用。本文針對(duì)閑魚產(chǎn)品中涉及的部分問題介紹如何利用視覺技術(shù)解決,例如圖片內(nèi)容本身非商品或是色情等違規(guī)的物料都是可以利用圖像分類,圖像特征等方法去解決,以下主要從以下幾個(gè)部分介紹:
1.構(gòu)建大規(guī)模圖片分類模型,學(xué)習(xí)閑魚產(chǎn)品中的圖片分布特征;
2.基于分類模型學(xué)習(xí)圖像比對(duì)特征;
3.組合圖像分類和圖像特征解決實(shí)際問題;
二、構(gòu)建大規(guī)模圖片分類模型
圖像分類模型是視覺模型的基礎(chǔ),檢測,分割等視覺問題都依賴基礎(chǔ)的圖像的分類模型。在閑魚場景構(gòu)建圖像分類模型存在以下幾個(gè)難點(diǎn):
1.圖片大部分是用戶上傳,圖像質(zhì)量偏低,增加識(shí)別難度;
2.圖片內(nèi)容不限于商品類目本身,涵蓋很多和商品不相關(guān)其他類別,整體類別定義困難;
3.閑魚商品的title是由用戶自己填寫的,結(jié)構(gòu)化信息參差不齊,同時(shí)還包含很多口語化的噪聲;
4.同類的商品包含的噪聲圖片很大,不能直接訓(xùn)練
5.數(shù)據(jù)標(biāo)注成本高,短時(shí)間內(nèi)不能有效覆蓋大部分?jǐn)?shù)據(jù);
我們這里要求不直接識(shí)別出眾多的具體商品類目名稱,只要可以區(qū)分彼此即可,對(duì)于需要重點(diǎn)識(shí)別的類別,我們采用訓(xùn)練好的特征進(jìn)行樣本挖掘,整體流程如圖5所示,包括基礎(chǔ)圖像特征學(xué)習(xí),聚類樣本構(gòu)建,和分類模型的訓(xùn)練:
圖5.半自動(dòng)圖像分類識(shí)別
三、基礎(chǔ)圖像特征學(xué)習(xí)
基礎(chǔ)圖像模型主要是為了學(xué)習(xí)數(shù)據(jù)的整體分布,在盡可能提高樣本覆蓋的情況下發(fā)掘較簡單的樣本使得模型可以冷啟動(dòng)。首先根據(jù)線上的query請(qǐng)求的展示結(jié)果,收集高頻query下的點(diǎn)擊商品作為候選集合,因?yàn)橛杏脩粽`點(diǎn)擊和高點(diǎn)擊導(dǎo)流樣本存在,所以需要過濾掉點(diǎn)擊率偏低和偏高的商品樣本,同時(shí)需要語義相近的query進(jìn)行去重,經(jīng)過上述幾步就構(gòu)成了圖像分類的基礎(chǔ)數(shù)據(jù)。模型訓(xùn)練采用resnet101模型,對(duì)比了softmax和arcface[5]兩種損失的效果,結(jié)果softmax好于arcface,原因可能是因?yàn)闃颖静患僡rcface很難收斂到較好的目標(biāo)。
1、聚類樣本構(gòu)建
有了基礎(chǔ)模型后,接下來需要收集閑魚類目樣本。首先收集閑魚每個(gè)類目下商品樣本,這步可以把語義概念控制在一定的范圍內(nèi),接下來根據(jù)title中的中心詞的命中率把該類目下下樣本劃分為不同的子類目,每個(gè)子類目下的樣本都有明確的語義含義,但是圖片存在較大變化如上圖8-1所示“詹姆斯”這個(gè)子類目下的樣本存在多個(gè)品類的情況,這類樣本無法直接訓(xùn)練。這時(shí)我們可以利用上面得到的基礎(chǔ)圖像特征對(duì)子類目下的樣本提純,即在每個(gè)子類目類做聚類,把互為圖像特征余弦距離最近的樣本聚合成新的類別,過濾掉樣本較少的類目,最終就得到了我們訓(xùn)練閑魚場景下的圖像分類樣本,針對(duì)不同的距離閾值,我們分別選取了4.6K,7.4K,12K三組類目細(xì)分類,人工評(píng)估效果7.4K較為理想,其他兩個(gè)對(duì)樣本的劃分要么太粗要么太細(xì)。
2、分類模型的訓(xùn)練
基于之前的分類模型參數(shù),訓(xùn)練新的類目標(biāo)簽,采用batchsize=256, centercorp=224, 加入隨機(jī)crop,鏡像,cutout預(yù)處理,學(xué)習(xí)率采用cos學(xué)習(xí)率同時(shí)在一定輪數(shù)加入熱重啟,使模型在后期還能進(jìn)一步提升準(zhǔn)確率,最終驗(yàn)證集合top@1準(zhǔn)確率74%,基本達(dá)到了應(yīng)用要求。
為了能識(shí)別票據(jù),文字圖,建筑物,人物等特定類別,我們需要對(duì)這些類別做定制的樣本挖掘:通過已經(jīng)訓(xùn)練好的模型抽取特征搭建商品庫的檢索系統(tǒng),收集需要特殊處理的樣本進(jìn)行最緊鄰查找,對(duì)查找后的結(jié)果卡閾值并再次進(jìn)行檢索繼續(xù)擴(kuò)充需要的樣本集合如圖6,最終合并這些類目與原有類目一起訓(xùn)練。
四、基于分類模型學(xué)習(xí)圖像比對(duì)特征
比對(duì)特征主要是用來判斷商品是否同款,過濾掉或打散圖片重復(fù)的商品。由于系統(tǒng)里每個(gè)商品已經(jīng)單獨(dú)定義,所以這里采用deepid[1][2]][3]方案,訓(xùn)練同款特征,但直接用每個(gè)商品的圖片訓(xùn)練存在兩個(gè)問題:
1.每個(gè)id類別存在變化較大的多張圖片并不能直接使用所有圖片;
2.每個(gè)id類目的樣本稀少,直接訓(xùn)練很難收斂。
針對(duì)上述問題1我們有個(gè)先驗(yàn)的假設(shè)即用戶上傳的多張圖片中與商品主要意圖相關(guān)的圖片占大多數(shù),所以我們可以借鑒之前聚類的思路,在同一個(gè)商品的多張圖片中進(jìn)行聚類,選取樣本最多的類別為我們的候選集合,如果類別間的樣本相差不大則認(rèn)為該商品不適合做訓(xùn)練應(yīng)丟棄。
為了每個(gè)類別都可以盡可能挖掘到同款樣本,我們選取在線上同一個(gè)query下有交易行為的商品和點(diǎn)擊率較高的商品作為候選集合同時(shí)對(duì)每個(gè)商品內(nèi)部進(jìn)行聚類保證樣本純度,在實(shí)驗(yàn)時(shí)我們發(fā)現(xiàn)品牌類query或品類query下的樣本存在較大的多樣性,如“安踏”、“華為手機(jī)”、“電動(dòng)車”,即使點(diǎn)擊行為較為稠密,但可能屬于不同sku的商品,所以我們需要對(duì)query進(jìn)行限制,盡量保證query到單獨(dú)sku粒度消除歧義性,如“華為p40 pro”、“極米投影儀h3”、“小牛電動(dòng)車G2”。
有了上述的樣本我們就可以訓(xùn)練deepid模型,這里采用人臉常用的arcface loss[5], backbone選擇之前的分類模型和初始化參數(shù),開始階段先用較小margin參數(shù),然后遍歷scale參數(shù),經(jīng)過選取合適的margin和scale后訓(xùn)練模型到飽和,接下來增大margin參數(shù)同樣選取合適的scale參數(shù)訓(xùn)練,經(jīng)過3次這樣的迭代使模型在不過擬合的情況下訓(xùn)練,最終相款識(shí)別準(zhǔn)確率95%, 商品sku內(nèi)召回79%。
基于同款特征也可以用于在相同識(shí)別的場景中,即利用同款特征做召回再利用sift特征做最后的幾何校驗(yàn),可以實(shí)現(xiàn)對(duì)旋轉(zhuǎn)、部分裁剪和遮擋的相同圖識(shí)別。
五、組合圖像分類和圖像特征解決相關(guān)性和多樣性問題
1、閑魚搜索相關(guān)性問題
針對(duì)用戶提交商品圖片多樣性的特點(diǎn),為了提升搜索體感,采用首圖相關(guān)性聚類的方式重排檢索結(jié)果如下圖7-1示例,以“銳鯊”搜索query為例:圖7.1 舉例對(duì)照組檢索結(jié)果,可以看出整體隊(duì)列都是和便攜工具相關(guān)的商品,但也存在包裝(坑位1,6)和歧義(坑位3)的體驗(yàn)不好的case,通過上述的商品圖像分類模型對(duì)商品多張圖片進(jìn)行預(yù)測并聚類,我們可以得到每個(gè)商品的主要的top3類別,隨后統(tǒng)計(jì)整個(gè)隊(duì)列的top類別做為該隊(duì)列置信類別,最后根據(jù)置信度分檔重排,結(jié)果參考圖7.2看到top商品都是移動(dòng)工具相關(guān)。另一個(gè)case如圖8.1所示query為“詹姆斯”經(jīng)過圖像特征重排球鞋這個(gè)主要類別被重排到前排如圖8.2,其他一些不太相關(guān)的類別被降權(quán)。線上的case中,也會(huì)有badcase,例如有些query如“華為”,“蘋果”存在多類別是否需要重排需要根據(jù)用戶反饋進(jìn)行優(yōu)化,重排的實(shí)驗(yàn)結(jié)果如下,點(diǎn)擊率還是有明顯的提升。
圖7.1.query=“銳鯊” 對(duì)照組top6結(jié)果
?圖7.2.query="銳鯊"圖像特征重拍實(shí)驗(yàn)組top6結(jié)果
圖8.1.query=“詹姆斯” 對(duì)照組top6結(jié)果
圖8.2.query="詹姆斯"圖像特征重拍實(shí)驗(yàn)組top6結(jié)果
2、閑魚Feed多樣性問題
多樣性是推薦效果的一個(gè)重要的指標(biāo),相關(guān)結(jié)果太集中會(huì)影響用戶的體驗(yàn)。閑魚用戶定義的商品特殊性,在多樣性問題上很難用一種方法解決,需要利用類目,文本描述,商品圖片等多維度共同解決,其中商品圖片多樣性問題解法與上面搜索一致性問題有些相似。如下圖9.1所示,同為“華為mate Xs”一款商品,用戶定義類目可能屬于不同類別,所以直接用戶定義類目無法做多樣性處理,但從圖片維度我們可以發(fā)現(xiàn)這些商品有相同的元素即商品包裝圖片, 所以可以利用圖像分類模型分別對(duì)每個(gè)商品圖片進(jìn)行預(yù)測類目實(shí)現(xiàn)打散。
圖9.1 視覺同類但提交類目不同的case舉例
首先需要過濾掉人物和文字類目這些圖像表示一致但語義變化很大的商品不做處理,之后對(duì)商品的多張商品圖進(jìn)行類目預(yù)測并對(duì)預(yù)測后的置信度top1的類目進(jìn)行聚合,具有相同類目的商品即為將要去重的候選集合,實(shí)際中發(fā)現(xiàn)有些相同商品的top1類目并不相同,可能是在top3中,但直接使用top3去重影響面會(huì)很大,會(huì)帶來不少badcase,所以這里采用迭代兩次方式即對(duì)top1聚合后的結(jié)果top3類目投票,選取具有非共現(xiàn)但投票過半的類目進(jìn)行第二次去重如9.2所示,經(jīng)過兩次去重后可對(duì)文本和類目不好去重的case有效的補(bǔ)充。
圖9.2 圖像多樣性去重邏輯
上線后各項(xiàng)指標(biāo)都有提升
3、相同商品圖片去重
閑魚商品中有的賣家為了增加自己的曝光會(huì)創(chuàng)建多個(gè)商品并采用相似的描述和視覺上變化很小的商品圖片,另外還有一些賣家會(huì)使用相同原始的商品圖片,這類商品如果出現(xiàn)在同一個(gè)搜索結(jié)果頁會(huì)帶來不好的用戶體驗(yàn),也會(huì)降低商品的交易效率。這里利用之前圖像對(duì)比特征搭建圖像搜索引擎,索引方式采用通用的乘積量化的方法構(gòu)建1.2億商品庫,整體流程如下圖10.1。
每天實(shí)時(shí)的商品相對(duì)全庫比例較小,我們不需要做到實(shí)時(shí)精準(zhǔn)去重,所以我們采用離線的去重方案:首先每天新增商品會(huì)以增量的方式入庫,在構(gòu)建索引的同時(shí)會(huì)同步當(dāng)前的商品在架、是否有效等狀態(tài)過濾掉無效的商品,然后利用乘積量化的方法構(gòu)建離線去重檢索引擎,每天新增的商品會(huì)經(jīng)過去重檢索引擎找到與庫里相同的商品并更新到線上的KV存儲(chǔ)中,由于原有庫中的商品和新商品產(chǎn)生了新鏈接關(guān)系,所以還需要根據(jù)新的鏈接匹配關(guān)系去更新KV存儲(chǔ)中原有庫中該商品的相同商品列表。線上的請(qǐng)求在完成召回后,會(huì)根據(jù)召回的商品id去KV存儲(chǔ)中實(shí)時(shí)查詢對(duì)應(yīng)的相同商品,最后打散邏輯會(huì)對(duì)當(dāng)前頁中命中的相同商品進(jìn)行分頁打散完成去重。
10.1 商品離在線去重方案
4、不合規(guī)商品過濾
閑魚中的不合規(guī)商品主要包括美女首圖,性感首圖,搞笑圖片,人體局部等,但實(shí)際出售的商品和這些商品圖片沒有任何關(guān)系,賣家使用這類圖片主要是為了吸引用戶的注意騙取流量。采用普遍使用的審核模型、OCR識(shí)別可以過濾掉大多數(shù)色情、涉黃、涉政和暴恐等非法內(nèi)容。然后還有些違規(guī)類的商品如圖11.2和搞笑、段子類的內(nèi)容如圖11.3影響正常的交易市場,這類問題無法直接用審核等模型過濾掉。
?11.1 違規(guī)商品識(shí)別流程
針對(duì)與上述問題,我們?cè)O(shè)計(jì)了違規(guī)商品識(shí)別的方案如圖11.1所示,因?yàn)樯婕暗骄€上業(yè)務(wù)策略這里不做詳細(xì)描述,新增商品會(huì)經(jīng)過兩個(gè)邏輯判斷是否違規(guī):
-
首先識(shí)別和人相關(guān)的主圖,利用通用分類給所有商品圖片打標(biāo)簽,然后過濾掉語義不一致的商品,但這是會(huì)有一定的badcase如圖11.4,這里的用戶曬單是正常的商品,所以我在過濾后還需判斷是否有同款的商品,如果識(shí)別同款,則會(huì)通過該商品;
-
搞笑、段子類的圖片一般都為熱門圖片,雖然會(huì)有可能再編輯,但主題內(nèi)容是沒變化的,這類圖片通過建立違規(guī)內(nèi)容庫利用相同識(shí)別可以得到解決,如圖11.1中的相同圖識(shí)別分支;
11.2 違規(guī)商品示例
11.3 非商品搞笑、段子等示例
11.4 人物首圖正常商品示例
六、總結(jié)
本文主要介紹了利用視覺技術(shù)中的分類,特征學(xué)習(xí)解決實(shí)際用戶分發(fā)商品中的應(yīng)用,然而閑魚用戶自定義的商品和內(nèi)容的多樣性使得在審核、治理和結(jié)構(gòu)方面給我們帶來了很多挑戰(zhàn),單純利用一種模態(tài)和內(nèi)容很難把所有問題都解決,所以在實(shí)際應(yīng)用中會(huì)綜合多種方案和技術(shù)組合求解,例如在識(shí)別類目問題上,不但需要利用文本、圖像內(nèi)容提升識(shí)別精度,還在產(chǎn)品側(cè)引導(dǎo)用戶幫助完成商品結(jié)構(gòu)化;對(duì)于樣本提純不但可以標(biāo)注,還可以充分合理利用用戶的反饋行為幫助我們;另外檢索系統(tǒng)、數(shù)據(jù)加工流程和同步管理等工程化是最終模型體現(xiàn)價(jià)值的關(guān)鍵,光只有單純幾個(gè)模型并不能直接解決線上問題;在違規(guī)治理問題上正所謂“魔高一尺,道高一丈”,有些不合規(guī)用戶總鉆平臺(tái)的漏洞為自己牟利,與他們的斗智斗勇是個(gè)長期的過程,也需要技術(shù)不斷迭代和超越。感謝合作團(tuán)隊(duì):閑魚結(jié)構(gòu)化團(tuán)隊(duì),閑魚架構(gòu)團(tuán)隊(duì),達(dá)摩院、審核部分等兄弟團(tuán)隊(duì)給與的人力和技術(shù)支持。
引用:
[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
總結(jié)
以上是生活随笔為你收集整理的极客星球 | 图像技术在上亿规模实拍图片中的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java绘制五角星_JAVA 五角星小程
- 下一篇: 大学医学院有计算机专业吗,上大学时辛苦一