弱監督學習下的商品識別:CVPR 2018細粒度識別挑戰賽獲勝方案簡介

機器之心發表於2018-06-28

機器之心原創,作者:李亞洲、思源。

細粒度視覺分類(FGCV,Fine-Grained Visual Categorization)即識別細分類別的任務,一般它需要同時使用全域性影象資訊與區域性特徵資訊精確識別影象子類別。細粒度分類是計算機視覺社群最為有趣且有用的開放問題之一,目前還有很多難題期待解決。

2011 年,谷歌開始贊助舉辦第一屆 FGVC Workshop,之後每兩年舉辦一次,到 2017 年已經舉辦了第四屆。而由於近年來計算機視覺的快速發展,FGVC 活動影響力也越來越大,從去年開始由兩年一次改為了一年一次。

從 2017 年開始,FGVC 開始運作兩大挑戰賽 iNaturalist 與 iMaterialist。今年的 iMaterialist 挑戰賽是由國內創業公司碼隆科技聯合 Google Research、美國知名電商 Wish、Kaggle 舉辦。值得一提的是,從今年開始 FGVC 開始執行一系列子競賽:iWildCamp、iFood 等。

在 CVPR 2018 尾聲的 FGVC Workshop 上,Google Research 資深工程師兼 FGVC5 聯合主席張曉對 iMaterialist 2018 挑戰賽與比賽解決方案進行了介紹。


iMaterialist 2018 挑戰賽

如何讓機器識別達到趨近乃至超過人眼判定的精準度?這是許多計算機視覺科學家們一直致力解決的問題。業內也有許多知名的挑戰賽,如 ImageNet、COCO 等。但與 ImageNet 這樣的的粗粒度分類競賽相比,細粒度影象分類技術變得極具挑戰性。

以 iMaterialist 2018 挑戰賽為例,由於細粒度屬性的產品看起來非常相似,且商品在不同光線、角度和背景下拍攝,其識別精度也會受到影響。與此同時,不同商品的相似特徵,也為機器識別增加了一定的難度:比如傢俱中的球椅和蛋椅,從某些特定角度來看十分相似;再比如服飾的寶藍色和鬆綠色,在不同的光線條件下也存在一定的相似性。

因此,細粒度識別相比於一般的影象分類不僅需要使用影象的整體資訊,同時它應該注意到子類別所獨有的區域性特徵。例如從總整體上確定球椅和蛋椅都從屬於椅子,然後再根據區域性細節確定具體是哪一種椅子。

「但是相關技術具有更大的實際應用意義」碼隆科技表示,「它可以直接轉化為工業界的應用,提高效率、減少成本」。

在此挑戰賽中,碼隆科技與美國知名電商平臺 Wish 提供了所需的服裝和傢俱影象資料,並會在之後向學術界開放 120 萬帶標註的商品影象資料集。此次 iMaterialist 2018 挑戰賽分為 iMaterialist - Fashion 和 iMaterialist - Furniture 兩個 Track。iMat Furniture 2018 的資料集為清理標註過的乾淨資料,而 iMat Fashion 2018 的資料集為未清理過的噪聲資料。

經過 3 個多月的角逐,iMaterialist 2018 挑戰賽最終分出勝負:

弱監督學習下的商品識別:CVPR 2018細粒度識別挑戰賽獲勝方案簡介

解決方案

一般細粒度識別可以分為兩種,即基於強監督資訊的方法和僅使用弱監督資訊的方法。基於強監督的細粒度識別通常需要使用邊界框和區域性標註資訊,例如 2014 年提出的 Part-based R-CNN 利用自底向上的候選區域(region proposals)計算深度卷積特徵而實現細粒度識別。這種方法會學習建模區域性外觀,並加強區域性資訊之間的幾何約束。而 iMaterialist 2018 僅使用類別標籤,因此是一種弱監督資訊的細粒度識別。

其實在這一次競賽中,很多不同的方法都有它們各自獨特的亮點。例如在服裝第一名的解決方案中,雖然它也是利用預訓練 resnet152、 xception 和 dn201 等模型並結合 XGBoost 做預測,但 Radek Osmulski 另外使用了 1 Cycle LR Policy 進行精調。

1 Cycle 用兩個等長的步驟組成一個 cycle:從很小的學習率開始,慢慢增大學習率,然後再慢慢降低迴最小值。Radek Osmulski 在增大學習率的同時降低動量,這也印證了一個直覺:在訓練中,我們希望 SGD 可以迅速調整到搜尋平坦區域的方向上,因此就應該對新的梯度賦予更大的權重。其實在真實場景中,可以選取如 0.85 和 0.95 的兩個值,在增大學習率的時候,將動量從 0.95 降到 0.85,在降低學習率的時候,再將動量重新從 0.85 提升回 0.95。

弱監督學習下的商品識別:CVPR 2018細粒度識別挑戰賽獲勝方案簡介

在服裝第二名的解決方案中,作者採用瞭如下網路架構。首先開發者會採用非常多的資料增強方法增加輸入影象,例如水平翻轉、旋轉、高斯模糊、銳化、擷取和歸一化等方法。然後根據 DenseNet、inception_resnet_v2、Inception-v3、Nasnet 和 ResNet-50 等九個基礎卷積網路抽取輸入影象的特徵,並分別作出預測。最後結合所有基礎模型的預測就能得出非常不錯的最終結果。

如前所述細粒度識別需要很多區域性影象資訊才能實現子類別的判斷,谷歌(需要確切身份)Xiao Zhang 表示:「選手這些網路最終層的 dimension 都比較小(比如 7x7),這種情況下最終做決策時很難兼顧不同尺度的資訊。如果需要兼顧區域性和整體需要使用 Feature Pyramid Network,或者類似於編碼器/解碼器的結構在最終層使用高維的預測。」

弱監督學習下的商品識別:CVPR 2018細粒度識別挑戰賽獲勝方案簡介

在整個流程中,Stacking CNN 是非常有意思的過程。開發者會將九個模型的預測結果疊加在一起為 9×228×1 的張量,其中每一個基礎模型提供一張 1×228×1 的張量,它代表了模型對 228 個類別的預測結果。如下所示當疊加為這種張量後,我們可以使用 3×1 的卷積在它上面執行步幅為 1 的卷積運算,這種卷積可以學習到各基礎模型原始預測之間的相關性。

弱監督學習下的商品識別:CVPR 2018細粒度識別挑戰賽獲勝方案簡介

上圖輸出張量 7×228×8(8 個 3×1 的卷積核),在經過 16 個 3×1 的卷積核執行卷積運算並饋送到全連線層後,就能做出最終的預測。因為 3×1 的卷積其實相當於在同一個類別上,加權三個模型的預測並輸出到下一層。所以這也相當於一種整合方法,模型會自動學習不同基礎模型預測的重要性,並結合所有基礎模型作出最終預測。

傢俱細粒度分類的兩個解決方案也非常有特點,例如 Roman Khomenko 和 Lei Li 設計的傢俱第一名解決方案使用了一種稱之為概率校準的技術。他們表示在訓練集中,類別數量是非常不平衡的,但在驗證集中類別數量是平衡的,因此我們可能需要使用概率校準以解決這種訓練於驗證之間的分佈差異。

弱監督學習下的商品識別:CVPR 2018細粒度識別挑戰賽獲勝方案簡介

Google Research 張曉表示:「校準分為兩步: a) 對於每個 label 的預測概率,除以該類別的物體數,除以對應的先驗概率; b) 對所有更新後的 label 的預測概率做歸一化(相加得到 1)」

Dmytro Panchenko 和 Alexander Kiselev 設計的解決方案獲得了傢俱第二名,他們其實也使用了多個卷積網路的整合方案。總的來說,這四個解決方案都是使用多個預訓練卷積網路,它們會分別在訓練集與驗證集中進行學習與調參,然後再使用不同的整合方案總結各個模型的預測結果。

弱監督學習下的商品識別:CVPR 2018細粒度識別挑戰賽獲勝方案簡介
Dmytro Panchenko 等開發者整合的基礎模型

因為細粒度識別很多時候需要使用注意力機制或 Faster R-CNN 等方法抽取區域性特徵,並用於預測最終細分類別,而挑戰賽中的模型很多都是模型整合。因此我們可能會比較好奇為什麼不在競賽中使用前沿和優秀的細粒度識別模型呢?Dmytro Panchenko 團隊解答到:「我們其實也考慮了這個問題,並花時間進行調查和查文獻,也許我們可以訓練出照片上分割目標的網路。但這些方法很多都需要額外的標註,而且我們也不知道哪些特徵對不同型別的椅子是最重要的,因此我們只是採用了「預設」的方式(完全不是因為我們懶)。」

此外,他們表示:「照片很多都來自線上購物網站,其中 99% 影象的主要目標都在影象中央,幾乎是完美的剪裁。因此我們認為如果訓練集足夠大,那麼 CNN 能從中抽取到足夠好的特徵。」

最後,作為聯合舉辦單位,碼隆科技首席科學家黃偉林博士總結,在多年從事商品識別的研究和實踐過程中,面臨的三個主要難點。首先,細粒度商品識別,特別是對 SKU 級別的識別是至關重要的。如下圖所示,不同種類的益達口香糖,在零售過程中通常價格會不太一樣,因此需要作精確區分。其次,除了細粒度分析,SKU 級別的商品識別通常需要識別大量的商品種類,比如超過 10 萬類,而常見的 ImageNet 物體識別通常只有 1,000 類。這是商品識別的另一個挑戰,而常用的單層 softmax 分類模型很難解決。

這就需要引進多層級聯的細粒度分類演算法,從而加大細粒度識別的難度。最後,由於商品類別多,就要去更多的海量訓練資料和人工標註,比如 10 億級別的。對於如此數量的人工標註和資料清洗,是很難完成的。因此,如何有效地利用海量網路爬去的商品圖片,在沒有或者只有少量人工標註和清洗的情況下,訓練一個高效能的商品識別模型,成為一個關鍵的技術。碼隆科技最近提出的弱監督學習演算法- CurriculumNet,就是專門為訓練海量無工人共標註的海量網路圖片而設計的。

弱監督學習下的商品識別:CVPR 2018細粒度識別挑戰賽獲勝方案簡介

此次 FGVC5 挑戰賽是現實應用場景問題促進演算法探究的一次實踐,從資料集數量到參賽團隊規模都上升到新的臺階,這也說明商品識別這類細粒度識別問題正在引起更多學者、技術從業者關注。據悉,碼隆科技和 Google Research 正在積極探究更深入的細粒度人造物識別場景,並期待下一年繼續共同舉辦相關挑戰賽。

弱監督學習下的商品識別:CVPR 2018細粒度識別挑戰賽獲勝方案簡介



相關文章