弱监督学习下商品识别:CVPR 2018细粒度识别挑战赛获胜方案简介
弱監(jiān)督學(xué)習(xí)下商品識別:CVPR 2018細(xì)粒度識別挑戰(zhàn)賽獲勝方案簡介
細(xì)粒度視覺分類(FGCV,Fine-Grained Visual Categorization)即識別細(xì)分類別的任務(wù),一般它需要同時使用全局圖像信息與局部特征信息精確識別圖像子類別。細(xì)粒度分類是計(jì)算機(jī)視覺社區(qū)最為有趣且有用的開放問題之一,目前還有很多難題期待解決。
2011 年,谷歌開始贊助舉辦第一屆 FGVC Workshop,之后每兩年舉辦一次,到 2017 年已經(jīng)舉辦了第四屆。而由于近年來計(jì)算機(jī)視覺的快速發(fā)展,FGVC 活動影響力也越來越大,從去年開始由兩年一次改為了一年一次。
從 2017 年開始,FGVC 開始運(yùn)作兩大挑戰(zhàn)賽 iNaturalist 與 iMaterialist。今年的 iMaterialist 挑戰(zhàn)賽是由國內(nèi)創(chuàng)業(yè)公司碼隆科技聯(lián)合 Google Research、美國知名電商 Wish、Kaggle 舉辦。值得一提的是,從今年開始 FGVC 開始運(yùn)行一系列子競賽:iWildCamp、iFood 等。
在 CVPR 2018 尾聲的 FGVC Workshop 上,Google Research 資深工程師兼 FGVC5 聯(lián)合主席張曉對 iMaterialist 2018 挑戰(zhàn)賽與比賽解決方案進(jìn)行了介紹。
iMaterialist 2018 挑戰(zhàn)賽
如何讓機(jī)器識別達(dá)到趨近乃至超過人眼判定的精準(zhǔn)度?這是許多計(jì)算機(jī)視覺科學(xué)家們一直致力解決的問題。業(yè)內(nèi)也有許多知名的挑戰(zhàn)賽,如 ImageNet、COCO 等。但與 ImageNet 這樣的的粗粒度分類競賽相比,細(xì)粒度圖像分類技術(shù)變得極具挑戰(zhàn)性。
以 iMaterialist 2018 挑戰(zhàn)賽為例,由于細(xì)粒度屬性的產(chǎn)品看起來非常相似,且商品在不同光線、角度和背景下拍攝,其識別精度也會受到影響。與此同時,不同商品的相似特征,也為機(jī)器識別增加了一定的難度:比如家具中的球椅和蛋椅,從某些特定角度來看十分相似;再比如服飾的寶藍(lán)色和松綠色,在不同的光線條件下也存在一定的相似性。
因此,細(xì)粒度識別相比于一般的圖像分類不僅需要使用圖像的整體信息,同時它應(yīng)該注意到子類別所獨(dú)有的局部特征。例如從總整體上確定球椅和蛋椅都從屬于椅子,然后再根據(jù)局部細(xì)節(jié)確定具體是哪一種椅子。
「但是相關(guān)技術(shù)具有更大的實(shí)際應(yīng)用意義」碼隆科技表示,「它可以直接轉(zhuǎn)化為工業(yè)界的應(yīng)用,提高效率、減少成本」。
在此挑戰(zhàn)賽中,碼隆科技與美國知名電商平臺 Wish 提供了所需的服裝和家具圖像數(shù)據(jù),并會在之后向?qū)W術(shù)界開放 120 萬帶標(biāo)注的商品圖像數(shù)據(jù)集。此次 iMaterialist 2018 挑戰(zhàn)賽分為 iMaterialist - Fashion 和 iMaterialist - Furniture 兩個 Track。iMat Furniture 2018 的數(shù)據(jù)集為清理標(biāo)注過的干凈數(shù)據(jù),而 iMat Fashion 2018 的數(shù)據(jù)集為未清理過的噪聲數(shù)據(jù)。
經(jīng)過 3 個多月的角逐,iMaterialist 2018 挑戰(zhàn)賽最終分出勝負(fù):
解決方案
一般細(xì)粒度識別可以分為兩種,即基于強(qiáng)監(jiān)督信息的方法和僅使用弱監(jiān)督信息的方法。基于強(qiáng)監(jiān)督的細(xì)粒度識別通常需要使用邊界框和局部標(biāo)注信息,例如 2014 年提出的 Part-based R-CNN 利用自底向上的候選區(qū)域(region proposals)計(jì)算深度卷積特征而實(shí)現(xiàn)細(xì)粒度識別。這種方法會學(xué)習(xí)建模局部外觀,并加強(qiáng)局部信息之間的幾何約束。而 iMaterialist 2018 僅使用類別標(biāo)簽,因此是一種弱監(jiān)督信息的細(xì)粒度識別。
其實(shí)在這一次競賽中,很多不同的方法都有它們各自獨(dú)特的亮點(diǎn)。例如在服裝第一名的解決方案中,雖然它也是利用預(yù)訓(xùn)練 resnet152、 xception 和 dn201 等模型并結(jié)合 XGBoost 做預(yù)測,但 Radek Osmulski 另外使用了 1 Cycle LR Policy 進(jìn)行精調(diào)。
1 Cycle 用兩個等長的步驟組成一個 cycle:從很小的學(xué)習(xí)率開始,慢慢增大學(xué)習(xí)率,然后再慢慢降低回最小值。Radek Osmulski 在增大學(xué)習(xí)率的同時降低動量,這也印證了一個直覺:在訓(xùn)練中,我們希望 SGD 可以迅速調(diào)整到搜索平坦區(qū)域的方向上,因此就應(yīng)該對新的梯度賦予更大的權(quán)重。其實(shí)在真實(shí)場景中,可以選取如 0.85 和 0.95 的兩個值,在增大學(xué)習(xí)率的時候,將動量從 0.95 降到 0.85,在降低學(xué)習(xí)率的時候,再將動量重新從 0.85 提升回 0.95。
在服裝第二名的解決方案中,作者采用了如下網(wǎng)絡(luò)架構(gòu)。首先開發(fā)者會采用非常多的數(shù)據(jù)增強(qiáng)方法增加輸入圖像,例如水平翻轉(zhuǎn)、旋轉(zhuǎn)、高斯模糊、銳化、截取和歸一化等方法。然后根據(jù) DenseNet、inception_resnet_v2、Inception-v3、Nasnet 和 ResNet-50 等九個基礎(chǔ)卷積網(wǎng)絡(luò)抽取輸入圖像的特征,并分別作出預(yù)測。最后結(jié)合所有基礎(chǔ)模型的預(yù)測就能得出非常不錯的最終結(jié)果。
如前所述細(xì)粒度識別需要很多局部圖像信息才能實(shí)現(xiàn)子類別的判斷,谷歌(需要確切身份)Xiao Zhang 表示:「選手這些網(wǎng)絡(luò)最終層的 dimension 都比較小(比如 7x7),這種情況下最終做決策時很難兼顧不同尺度的信息。如果需要兼顧局部和整體需要使用 Feature Pyramid Network,或者類似于編碼器/解碼器的結(jié)構(gòu)在最終層使用高維的預(yù)測。」
在整個流程中,Stacking CNN 是非常有意思的過程。開發(fā)者會將九個模型的預(yù)測結(jié)果疊加在一起為 9×228×1 的張量,其中每一個基礎(chǔ)模型提供一張 1×228×1 的張量,它代表了模型對 228 個類別的預(yù)測結(jié)果。如下所示當(dāng)疊加為這種張量后,我們可以使用 3×1 的卷積在它上面執(zhí)行步幅為 1 的卷積運(yùn)算,這種卷積可以學(xué)習(xí)到各基礎(chǔ)模型原始預(yù)測之間的相關(guān)性。
?
上圖輸出張量 7×228×8(8 個 3×1 的卷積核),在經(jīng)過 16 個 3×1 的卷積核執(zhí)行卷積運(yùn)算并饋送到全連接層后,就能做出最終的預(yù)測。因?yàn)?3×1 的卷積其實(shí)相當(dāng)于在同一個類別上,加權(quán)三個模型的預(yù)測并輸出到下一層。所以這也相當(dāng)于一種集成方法,模型會自動學(xué)習(xí)不同基礎(chǔ)模型預(yù)測的重要性,并結(jié)合所有基礎(chǔ)模型作出最終預(yù)測。
家具細(xì)粒度分類的兩個解決方案也非常有特點(diǎn),例如 Roman Khomenko 和 Lei Li 設(shè)計(jì)的家具第一名解決方案使用了一種稱之為概率校準(zhǔn)的技術(shù)。他們表示在訓(xùn)練集中,類別數(shù)量是非常不平衡的,但在驗(yàn)證集中類別數(shù)量是平衡的,因此我們可能需要使用概率校準(zhǔn)以解決這種訓(xùn)練于驗(yàn)證之間的分布差異。
Google Research 張曉表示:「校準(zhǔn)分為兩步: a) 對于每個 label 的預(yù)測概率,除以該類別的物體數(shù),除以對應(yīng)的先驗(yàn)概率; b) 對所有更新后的 label 的預(yù)測概率做歸一化(相加得到 1)」
Dmytro Panchenko 和 Alexander Kiselev 設(shè)計(jì)的解決方案獲得了家具第二名,他們其實(shí)也使用了多個卷積網(wǎng)絡(luò)的集成方案。總的來說,這四個解決方案都是使用多個預(yù)訓(xùn)練卷積網(wǎng)絡(luò),它們會分別在訓(xùn)練集與驗(yàn)證集中進(jìn)行學(xué)習(xí)與調(diào)參,然后再使用不同的集成方案總結(jié)各個模型的預(yù)測結(jié)果。
Dmytro Panchenko 等開發(fā)者集成的基礎(chǔ)模型。
因?yàn)榧?xì)粒度識別很多時候需要使用注意力機(jī)制或 Faster R-CNN 等方法抽取局部特征,并用于預(yù)測最終細(xì)分類別,而挑戰(zhàn)賽中的模型很多都是模型集成。因此我們可能會比較好奇為什么不在競賽中使用前沿和優(yōu)秀的細(xì)粒度識別模型呢?Dmytro Panchenko 團(tuán)隊(duì)解答到:「我們其實(shí)也考慮了這個問題,并花時間進(jìn)行調(diào)查和查文獻(xiàn),也許我們可以訓(xùn)練出照片上分割目標(biāo)的網(wǎng)絡(luò)。但這些方法很多都需要額外的標(biāo)注,而且我們也不知道哪些特征對不同類型的椅子是最重要的,因此我們只是采用了「默認(rèn)」的方式(完全不是因?yàn)槲覀儜?#xff09;。」
此外,他們表示:「照片很多都來自在線購物網(wǎng)站,其中 99% 圖像的主要目標(biāo)都在圖像中央,幾乎是完美的剪裁。因此我們認(rèn)為如果訓(xùn)練集足夠大,那么 CNN 能從中抽取到足夠好的特征。」
最后,作為聯(lián)合舉辦單位,碼隆科技首席科學(xué)家黃偉林博士總結(jié),在多年從事商品識別的研究和實(shí)踐過程中,面臨的三個主要難點(diǎn)。首先,細(xì)粒度商品識別,特別是對 SKU 級別的識別是至關(guān)重要的。如下圖所示,不同種類的益達(dá)口香糖,在零售過程中通常價(jià)格會不太一樣,因此需要作精確區(qū)分。其次,除了細(xì)粒度分析,SKU 級別的商品識別通常需要識別大量的商品種類,比如超過 10 萬類,而常見的 ImageNet 物體識別通常只有 1,000 類。這是商品識別的另一個挑戰(zhàn),而常用的單層 softmax 分類模型很難解決。
這就需要引進(jìn)多層級聯(lián)的細(xì)粒度分類算法,從而加大細(xì)粒度識別的難度。最后,由于商品類別多,就要去更多的海量訓(xùn)練數(shù)據(jù)和人工標(biāo)注,比如 10 億級別的。對于如此數(shù)量的人工標(biāo)注和數(shù)據(jù)清洗,是很難完成的。因此,如何有效地利用海量網(wǎng)絡(luò)爬去的商品圖片,在沒有或者只有少量人工標(biāo)注和清洗的情況下,訓(xùn)練一個高性能的商品識別模型,成為一個關(guān)鍵的技術(shù)。碼隆科技最近提出的弱監(jiān)督學(xué)習(xí)算法- CurriculumNet,就是專門為訓(xùn)練海量無工人共標(biāo)注的海量網(wǎng)絡(luò)圖片而設(shè)計(jì)的。
此次 FGVC5 挑戰(zhàn)賽是現(xiàn)實(shí)應(yīng)用場景問題促進(jìn)算法探究的一次實(shí)踐,從數(shù)據(jù)集數(shù)量到參賽團(tuán)隊(duì)規(guī)模都上升到新的臺階,這也說明商品識別這類細(xì)粒度識別問題正在引起更多學(xué)者、技術(shù)從業(yè)者關(guān)注。據(jù)悉,碼隆科技和 Google Research 正在積極探究更深入的細(xì)粒度人造物識別場景,并期待下一年繼續(xù)共同舉辦相關(guān)挑戰(zhàn)賽。
轉(zhuǎn)載于:https://www.cnblogs.com/yumoye/p/11025789.html
總結(jié)
以上是生活随笔為你收集整理的弱监督学习下商品识别:CVPR 2018细粒度识别挑战赛获胜方案简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。