您的位置:首頁>正文

見微知著:細細微性圖像分析進展

作者丨魏秀參

責編丨何永燦

“有別於我們熟悉的圖像識別, “細細微性圖像分析”所屬類別和細微性更為精細, 本文將向讀者全面介紹這一領域的相關技術。 ”

有別於通用圖像分析任務, 細細微性圖像分析的所屬類別和細微性更為精細, 它不僅能在更細分的類別下對物體進行識別, 就連相似度極高的同一物種也能區別開來。 本文將分別圍繞“細細微性圖像分類”和“細細微性圖像檢索”兩大經典圖像問題來展開, 從而使讀者對細細微性圖像分析領域有全面的理解。

大家應該都會有這樣的經歷:逛街時看到路人的萌犬可愛至極,

可僅知是“犬”殊不知其具體品種;初春踏青, 見那姹紫嫣紅叢中笑, 卻桃杏李傻傻分不清……實際上, 類似的問題在實際生活中屢見不鮮。 如此問題為何難?究其原因, 是普通人未受過針對此類任務的專門訓練。 倘若踏青時有位資深植物學家相隨, 不要說桃杏李花, 就連差別甚微的青青河邊草想必都能分得清白。 為了讓普通人也能輕鬆達到“專家水準”, 人工智慧的研究者們希望借助電腦視覺技術(Computer Vision, CV)來解決這一問題。 如上所述的這類任務在CV研究中有個專門的研究方向, 即“細細微性圖像分析”(Fine-Grained Image Analysis)。

細細微性圖像分析任務相對通用圖像(General/Generic Images)任務的區別和難點在於其圖像所屬類別的細微性更為精細。

以圖1為例, 通用圖像分類其任務訴求是將“袋鼠”和“狗”這兩個物體大類(藍色框和紅色框中物體)分開, 可見無論從樣貌、形態等方面, 二者還是很容易被區分的;而細細微性圖像的分類任務則要求對“狗”該類類別下細細微性的子類, 即分別為“哈士奇”和“愛斯基摩犬”的圖像分辨開來。 正因同類別物種的不同子類往往僅在耳朵形狀、毛色等細微處存在差異, 可謂“差之毫釐, 謬以千里”。 不止對電腦, 對普通人來說, 細細微性圖像任務的難度和挑戰無疑也更為巨大。

圖1 通用圖像分析

在此, 本文針對近年來深度學習方面的細細微性圖像分析任務, 分別從“細細微性圖像分類”(Fine-Grained Image Classification)和“細細微性圖像檢索”(Fine-Grained Image Retrieval)兩大經典圖像問題進行進展綜述,

以期讀者可以對細細微性圖像分析領域提綱挈領地窺得全貌。

細細微性圖像分類

誠如剛才提到, 細細微性物體的差異僅體現在細微之處。 如何有效地對前景物件進行檢測, 並從中發現重要的局部區域資訊, 成為了細細微性圖像分類演算法要解決的關鍵問題。 對細細微性分類模型, 可以按照其使用的監督資訊的強弱, 分為“基於強監督資訊的分類模型”和“基於弱監督資訊的分類模型”兩大類。

基於強監督資訊的細細微性圖像分類模型

所謂“強監督細細微性圖像分類模型”是指:在模型訓練時, 為了獲得更好的分類精度, 除了圖像的類別標籤外, 還使用了物體標注框(Object Bounding Box)和部位標注點(Part Annotation)等額外的人工標注資訊,

如圖2所示。

圖2 物體標注框和部位標注點

下面介紹基於強監督資訊細細微性分類的幾個經典模型。

Part-based R-CNN

相信大家一定對R-CNN不陌生, 顧名思義, Part-based R-CNN就是利用R-CNN演算法對細細微性圖像進行物體級別(例如鳥類)與其局部區域(頭、身體等部位)的檢測, 其總體流程如圖3所示。

圖3 R-CNN工作流程圖

首先利用Selective Search等演算法在細細微性圖像中產生物體或物體部位可能出現的候選框(Object Proposal)。 之後用類似於R-CNN做物體檢測的流程, 借助細細微性圖像中的Object Bounding Box和Part Annotation可以訓練出三個檢測模型(Detection Model):一個對應細細微性物體級別檢測;一個對應物體頭部檢測;另一個則對應軀幹部位檢測。 然後,對三個檢測模型得到的檢測框加上位置幾何約束,例如,頭部和軀幹的大體方位,以及位置偏移不能太離譜等。這樣便可得到較理想的物體/部位檢測結果(如圖3右上)。接下來將得到的圖像塊(Image Patch)作為輸入,分別訓練一個CNN,則該CNN可以學習到針對該物體/部位的特徵。最終將三者的全連接層特徵級聯(Concatenate)作為整張細細微性圖像的特徵表示。顯然,這樣的特徵表示既包含全部特徵(即物體級別特徵),又包含具有更強判別性的局部特徵(即部位特徵:頭部特徵/軀幹特徵),因此分類精度較理想。但在Part-based R-CNN中,不僅在訓練時需要借助Bounding Box和Part Annotation,為了取得滿意的分類精度,在測試時甚至還要求測試圖像提供Bounding Box。這便限制了Part-based R-CNN在實際場景中的應用。

Pose Normalized CNN

有感於Part-based R-CNN,S. Branson等人提出在用DPM演算法得到Part Annotation的預測點後同樣可以獲得物體級別和部位級別的檢測框,如圖4所示。與之前工作不同的是,Pose Normalized CNN對部位級別圖像塊做了姿態對齊操作。此外,由於CNN不同層的特徵具有不同的表示特性(如淺層特徵表示邊緣等資訊,深層特徵更具高層語義),該工作還提出應針對細細微性圖像不同級別的圖像塊,提取不同層的卷積特徵。在圖4中,我們針對全域資訊,提取FC8特徵;基於頭部資訊則提取最後一層卷積層特徵作為特徵表示。最終,還是將不同級別特徵級聯作為整張圖像的表示。如此的姿態對齊操作和不同層特徵融合方式,使得Pose Normalized CNN在使用同樣多標記資訊時取得了相比Part-based R-CNN高2%的分類精度。

圖4 用DPM演算法得到Part Annotation的預測點後獲得物體級別和部位級別的檢測框

Mask-CNN

最近,我們也針對細細微性圖像分類問題提出了名為Mask-CNN的模型。同上,該模型亦分為兩個模組,第一是Part Localization;第二是全域和局部圖像塊的特徵學習。需要指出的是,與前兩個工作的不同在於,在Mask-CNN中,我們提出借助FCN學習一個部位分割模型(Part-Based Segmentation Model)。其真實標記是通過Part Annotation得到的頭部和軀幹部位的最小外接矩形,如圖5(c)所示。在FCN中,Part Localization這一問題就轉化為一個三分類分割問題,其中,一類為頭部、一類為軀幹、最後一類則是背景。

圖5 借助FCN學習的部位分割模型

FCN訓練完畢後,可以對測試集中的細細微性圖像進行較精確地part定位,圖6展示了一些定位效果圖。可以發現,基於FCN的part定位方式可以對大多數細細微性圖像進行較好的頭部和軀幹定位。同時,還能注意到,即使FCN的真實標記是粗糙的矩形框,但其預測結果中針對part稍精細些的輪廓也能較好地得到。在此,我們稱預測得到的part分割結果為Part Mask。不過,對於一些複雜背景圖像(如圖6右下)part定位結果還有待提高。

圖6 經過FCN訓練後對細細微性圖像進行定位

在得到Part Mask後,可以通過Crop獲得對應的圖像塊。同時,兩個Part Mask組合起來剛好可組成一個較完整的Object Mask。同樣,基於物體/部位圖像塊,Mask-CNN訓練了三個子網路。

在此需要特別指出的是,在每個子網路中,上一步驟中學到的Part/Object Mask還起到了一個關鍵作用,即“篩選關鍵卷積特徵描述子”(Selecting Useful Convolutional Descriptor),如圖7(c)-(d)。這個模組也是我們首次在細細微性圖像分類中提出的。篩選特徵描述子的好處在於,可以保留表示前景的描述子,而去除表示背景的卷積描述子的干擾。篩選後,對保留下來的特徵描述子進行全域平均和最大池化(Global Average/Max Pooling)操作,後將二者池化後的特徵級聯作為子網路的特徵表示,最後將三個子網特徵再次級聯作為整張圖像的特徵表示。

圖7 篩選關鍵卷積特徵描述子

實驗表明,基於篩選的Mask-CNN在僅依靠訓練時提供的Part Annotation(不需要Bounding Box,同時測試時不需額外監督資訊)取得了目前細細微性圖像分類最高的分類精度(在經典CUB資料上,基於ResNet的模型對200類不同鳥類分類精度可達87.3%)。此外,借助FCN學習Part Mask來進行Part定位的做法也取得了Part定位的最好結果。

基於弱監督資訊的細細微性圖像分類模型

雖然上述三種基於強監督資訊的分類模型取得了較滿意的分類精度,但由於標注資訊的獲取代價十分昂貴,在一定程度上也局限了這類演算法的實際應用。因此,目前細細微性圖像分類的一個明顯趨勢是,希望在模型訓練時僅使用圖像級別標注資訊,而不再使用額外的Part Annotation資訊時,也能取得與強監督分類模型可比的分類精度。這便是“基於弱監督資訊的細細微性分類模型”。細細微性分類模型思路同強監督分類模型類似,也需要借助全域和局部資訊來做細細微性級別的分類。而區別在於,弱監督細細微性分類希望在不借助Part Annotation的情況下,也可以做到較好的局部資訊的捕捉。當然,在分類精度方面,目前最好的弱監督分類模型仍與最好的強監督分類模型存在差距(分類準確度相差約1%~2%)。下面介紹三個弱監督細細微性圖像分類模型的代表。

Two Level Attention Model

顧名思義,該模型主要關注兩個不同層次的特徵,分別是物體級別和部件級別資訊。當然,該模型並不需要資料集提供這些標注資訊,完全依賴於本身的演算法來完成物體和局部區域的檢測。其整體流程如圖8所示。

圖8 Two Level Attention流程圖

該模型主要分為三個階段。1. 預處理模型:從輸入圖像中產生大量的候選區域,對這些區域進行過濾,保留包含前景物體的候選區域;2. 物體級模型:訓練一個網路實現對物件級圖像進行分類;在此需要重點介紹的是,3. 局部級模型。我們來看,在不借助Part Annotation的情況下,該模型怎樣做到Part檢測。

由於預處理模型選擇出來的這些候選區域大小不一,有些可能包含了頭部,有些可能只有腳。為了選出這些局部區域,首先利用物體級模型訓練的網路來對每一個候選區域提取特徵。接下來,對這些特徵進行譜聚類,得到K個不同的聚類簇。如此,則每個簇可視為代表一類局部資訊,如頭部、腳等。這樣,每個簇都可以被看做一個區域檢測器,從而達到對測試樣本局部區域檢測的目的。

Constellations

Constellations方案是利用卷積網路特徵本身產生一些關鍵點,再利用這些關鍵點來提取局部區域資訊。對卷積特徵進行視覺化分析(如圖9所示),發現一些回應比較強烈的區域恰好對應原圖中一些潛在的局部區域點。因此,卷積特徵還可以被視為一種檢測分數,回應值高的區域代表著原圖中檢測到的局部區域。不過,特徵輸出的解析度與原圖相差較大,很難對原圖中的區域進行精確定位。受到前人工作的啟發,我採用的方法是通過計算梯度圖來產生區域位置。

圖9 Constellations方案

具體而言,卷積特徵的輸出是一個W×H×P維的張量,P表示通道的個數,每一維通道可以表示成一個W×H維的矩陣。通過計算每一維通道P對每一個輸入圖元的平均梯度值,可以得到與原輸入圖像大小相同的特徵梯度圖:

上面公式可以通過反向傳播高效地完成計算。這樣,每一個通道的輸入都可以轉換成與原圖同樣大小的特徵梯度圖。在特徵梯度圖中響應比較強烈的區域,即可代表原圖中的一個局部區域。於是每一張梯度圖中回應最強烈的位置即作為原圖中的關鍵點:

卷積層的輸出共有P維通道,可分別對應於P個關鍵點位置。後續對這些關鍵點或通過隨機選擇或通過Ranking來選擇出重要的M個。得到關鍵點後分類就是易事啦。其分類處理流程如圖10所示。

圖10 卷積特徵輸出的分類流程

Bilinear CNN

深度學習成功的一個重要精髓,就是將原本分散的處理過程,如特徵提取,模型訓練等,整合進了一個完整的系統,進行端到端的整體優化訓練。不過,在以上所有的工作中,我們所看到的都是將卷積網路當做一個特徵提取器,並未從整體上進行考慮。最近,T.-Y. Lin、A.RoyChowdhury等人設計了一種端到端的網路模型Bilinear CNN,在CUB200-2011資料集上取得了弱監督細細微性分類模型的最好分類準確度。

如圖11所示,一個Bilinear模型Β由一個四元組組成:Β=(fA,fB,Ρ,C)。其中,fA,fB代表特徵提取函數,即圖中的網路A、B,P是一個池化函數(Pooling Function), C則是分類函數。

圖11 Bilinear模型的組成

特徵提取函數f (•)的作用可以看作一個函數映射,f:LXI→RcXD將輸入圖像I與位置區域L映射為一個cXD 維的特徵。而兩個特徵提取函數的輸出,可以通過一個雙線性操作進行彙聚,得到最終的Bilinear特徵:

.

其中池化函數 的作用是將所有位置的Bilinear特徵彙聚成一個特徵。Bilinear CNN中所採用的池化函數是將所有位置的Bilinear特徵累加起來:

到此Bilinear向量即可表示該細細微性圖像,後續則為經典的全連接層進行圖像分類。一種對Bilinear CNN模型的解釋是,網路A的作用是對物體/部件進行定位,即完成前面介紹演算法的物體與局部區域檢測工作,而網路B則是用來對網路A檢測到的物體位置進行特徵提取。兩個網路相互協調作用,完成了細細微性圖像分類過程中兩個最重要的任務:物體、局部區域的檢測與特徵提取。另外,值得一提的是,Bilinear模型由於其優異的泛化性能,不僅在細細微性圖像分類上取得了優異效果,還被用於其他圖像分類任務,如行人重檢測(Person Re-ID)。

細細微性圖像檢索

以上介紹了細細微性圖像分類的幾個代表性工作。圖像分析中除監督環境下的分類任務,還有另一大類經典任務——無監督環境下的圖像檢索。相比細細微性圖像分類,檢索任務上的研究開展較晚,下面重點介紹兩個該方面的工作。

圖像檢索(Image Retrieval)按檢索資訊的形式,分為“以文搜圖”(Text-Based)和“以圖搜圖”(Image-Based)。在此我們僅討論以圖搜圖的做法。傳統圖像檢索任務一般是檢索類似複製的圖像(Near-Duplicated Images),如圖12(b)所示。左側單列為Query圖像,右側為返回的正確檢索結果。可以看到,傳統圖像檢索中圖像是在不同光照不同時間下同一地點的圖像,這類圖像不會有形態、顏色、甚至是背景的差異。

圖12 傳統圖像檢索任務

而細細微性圖像檢索,如圖13(a),則需要將同為“綠頭鴨”的圖像從眾多不同類鳥類圖像中返回;同樣,需要將“勞斯萊斯幻影”從包括勞斯萊斯其他車型的不同品牌不同車型的眾多圖像中檢索出來。細細微性圖像檢索的難點,一是圖像細微性非常細微;二是對細細微性圖像而言,哪怕是屬於同一子類的圖像本身也具有形態、姿勢、顏色、背景等巨大差異。可以說,細細微性圖像檢索是圖像檢索領域和細細微性圖像分析領域的一項具有新鮮生命力的研究課題。

圖13 細細微性圖像檢索

L. Xie、J. Wang等在2015年首次提出細細微性圖像“搜索”的概念,通過構造一個層次資料庫將多種現有的細細微性圖像資料集和傳統圖像檢索(一般為場景)融合。在搜索時,先判斷其隸屬的大類,後進行細細微性檢索。其所用特徵仍然是人造圖像特徵(SIFT等),基於圖像特徵可以計算兩圖相似度,從而返回檢索結果(如圖14所示)。

圖14 細細微性圖像搜索資料庫SCDA

SCDA

SCDA(Selective Convolutional Descriptor Aggregation)是我們近期提出的首個基於深度學習的細細微性圖像檢索方法。同其他深度學習框架下的圖像檢索工作一樣,在SCDA中,細細微性圖像作為輸入送入Pre-Trained CNN模型得到卷積特徵/全連接特徵(如圖15所示)。區別于傳統圖像檢索的深度學習方法,針對細細微性圖像檢索問題,我們發現卷積特徵優於全連接層特徵,同時創新性的提出要對卷積描述子進行選擇。不過SCDA與之前提到的Mask-CNN的不同點在於,在圖像檢索問題中,不僅沒有精細的Part Annotation,就連圖像級別標記都無從獲取。這就要求演算法在無監督條件下依然可以完成物體的定位,根據定位結果進行卷積特徵描述子的選擇。對保留下來的深度特徵,分別做以平均和最大池化操作,之後級聯組成最終的圖像表示。

圖15 SCDA檢索方法流程

很明顯,在SCDA中,最重要的就是如何在無監督條件下對物體進行定位。通過觀察得到的卷積層特徵(如圖16所示),可以發現明顯的“分散式表示”特性。對兩種不同鳥類/狗,同一層卷積層的最強回應也差異很大。如此一來,單獨選擇一層卷積層特徵來指導無監督物體定位並不現實,同時全部卷積層特徵都拿來説明定位也不合理。例如,對於第二張鳥的圖像來說,第108層卷積層較強回應竟然是一些背景的雜訊。

圖16 在SCDA中,通過觀察得到的卷積層特徵發現“分散式表示”特性

基於這樣的觀察,我們提出將卷積特徵(HxWxD)在深度方向做加和,之後可以獲得Aggregation Map(HxWx1)。在這張二維圖中,可以計算出所有HxW個元素的均值,而此均值m便是該圖物體定位的關鍵:Aggregation Map中大於m的元素位置的卷積特徵需保留;小於的則丟棄。這一做法的一個直觀解釋是,細細微性物體出現的位置在卷積特徵張量的多數通道都有回應,而將卷積特徵在深度方向加和後,可以將這些物體位置的回應累積——有點“眾人拾柴火焰高”的意味。而均值則作為一把“尺子”,將“不達標”的響應處標記為雜訊,將“達標”的位置標為物體所在。而這些被保留下來的位置,也就對應了應保留卷積特徵描述子的位置。後續做法類似Mask-CNN。實驗中,在細細微性圖像檢索中,SCDA同樣獲得了最好結果;同時SCDA在傳統圖像檢索任務中,也可取得同目前傳統圖像檢索任務最好方法相差無幾(甚至優於)的結果(如圖17所示)。

圖17 基於深度學習的細細微性圖像檢索流程圖

展望

細細微性圖像分析任務在過去的十年裡一直是電腦視覺中的熱門研究領域,尤其在深度學習繁榮的近幾年,方法和問題可謂“常做常新”。不過隨著深度學習方法研究的深入,在傳統細細微性圖像分析問題上,如鳥類、狗、車等子類分類和檢索,尤其分類問題的準確率,可以說是到了瓶頸期。雖然時常會有不少細細微性圖像分類工作問世,但每年也大概只能將分類準確率提升1個百分點左右(在經典的鳥類分類上,目前強監督分類模型為87.3%左右,弱監督模型為84.1%左右)。這便催生了細細微性圖像分析任務的不同設定,如基於網路資料的細細微性圖像分類、基於wiki知識獲取的細細微性圖像分類等。

同時,更加廣義的“細細微性圖像分析”研究也越來越多。常見的行人重檢測(Person Re-ID)、人臉判別(Face Verification)、示例級別檢索(Instance Retrieval)等問題都可以用傳統細細微性圖像分析的思路去解決,也期待更加優秀的相關研究出現。

參考文獻

[1] N. Zhang, J. Donahue, R. Girshick, and T. Darrell. Part-based R-CNNs for fine-grained category detection. In European Conference on Computer Vision, Part I, LNCS 8689, pages 834–849, Zurich, Switzerland, Sept. 2014. Springer, Switzerland.

[2] S. Branson, G. V. Horn, S. Belongie, and P. Perona. Bird species c ategorization using pose normalized deep convolutional nets. In British Machine Vision Conference, pages 1–14, Nottingham, England, Sept. 2014.

[3] S. Branson, O. Beijbom, and S. Belongie. Efficient large-scale structured learning. In IEEE Conference on Computer Vision and Pattern Recognition, In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pages 1806–1813, Portland, Oregon, Jun. 2013.

[4] X.-S. Wei, C.-W. Xie and J. Wu. Mask-CNN: Localizing Parts and Selecting Descriptors for Fine-Grained Image Recognition. arXiv:1605.06878, 2016.

[5] T. Xiao, Y. Xu, K. Yang, J. Zhang, Y. Peng, and Z. Zhang. The application of two-level attention models in deep convolutional neural network for fine-grained image classification. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pages 842–850, Boston, MA, Jun. 2015.

[6] M. Simon and E. Rodner. Neural activation constellations: Unsupervised part model discovery with convolutional networks. In Proceedings of IEEE International Conference on Computer Vision, pages 1143–1151, Sandiago, Chile, Dec. 2015.

[7] T.-Y. Lin, A. RoyChowdhury, and S. Maji. Bilinear CNN models for fine-grained visual recognition. In Proceedings of IEEE International Conference on Computer Vision, pages 1449–1457, Sandiago, Chile, Dec. 2015.

[8] L. Xie, J. Wang, B. Zhang, and Q. Tian. Fine-grained image search. IEEE Transactions on Multimedia, vol. 17, no. 5, pp. 636–647, 2015.

[9] X.-S. Wei, J.-H. Luo, J. Wu, and Z.-H. Zhou. Selective Convolutional Descriptor Aggregation for Fine-Grained Image Retrieval. IEEE Transactions on Image Processing, 2017, in press.

[10] G. E. Hinton. Learning distributed representations of concepts. In Annual Conference of the Cognitive Science Society, Amherst, MA, 1986, pp. 1–12.

訂閱諮詢:

線上諮詢(QQ):2251809102

電話諮詢:010-64351436

↙點擊下方“閱讀原文”訂閱程式師(含iOS、Android及印刷版)

然後,對三個檢測模型得到的檢測框加上位置幾何約束,例如,頭部和軀幹的大體方位,以及位置偏移不能太離譜等。這樣便可得到較理想的物體/部位檢測結果(如圖3右上)。接下來將得到的圖像塊(Image Patch)作為輸入,分別訓練一個CNN,則該CNN可以學習到針對該物體/部位的特徵。最終將三者的全連接層特徵級聯(Concatenate)作為整張細細微性圖像的特徵表示。顯然,這樣的特徵表示既包含全部特徵(即物體級別特徵),又包含具有更強判別性的局部特徵(即部位特徵:頭部特徵/軀幹特徵),因此分類精度較理想。但在Part-based R-CNN中,不僅在訓練時需要借助Bounding Box和Part Annotation,為了取得滿意的分類精度,在測試時甚至還要求測試圖像提供Bounding Box。這便限制了Part-based R-CNN在實際場景中的應用。

Pose Normalized CNN

有感於Part-based R-CNN,S. Branson等人提出在用DPM演算法得到Part Annotation的預測點後同樣可以獲得物體級別和部位級別的檢測框,如圖4所示。與之前工作不同的是,Pose Normalized CNN對部位級別圖像塊做了姿態對齊操作。此外,由於CNN不同層的特徵具有不同的表示特性(如淺層特徵表示邊緣等資訊,深層特徵更具高層語義),該工作還提出應針對細細微性圖像不同級別的圖像塊,提取不同層的卷積特徵。在圖4中,我們針對全域資訊,提取FC8特徵;基於頭部資訊則提取最後一層卷積層特徵作為特徵表示。最終,還是將不同級別特徵級聯作為整張圖像的表示。如此的姿態對齊操作和不同層特徵融合方式,使得Pose Normalized CNN在使用同樣多標記資訊時取得了相比Part-based R-CNN高2%的分類精度。

圖4 用DPM演算法得到Part Annotation的預測點後獲得物體級別和部位級別的檢測框

Mask-CNN

最近,我們也針對細細微性圖像分類問題提出了名為Mask-CNN的模型。同上,該模型亦分為兩個模組,第一是Part Localization;第二是全域和局部圖像塊的特徵學習。需要指出的是,與前兩個工作的不同在於,在Mask-CNN中,我們提出借助FCN學習一個部位分割模型(Part-Based Segmentation Model)。其真實標記是通過Part Annotation得到的頭部和軀幹部位的最小外接矩形,如圖5(c)所示。在FCN中,Part Localization這一問題就轉化為一個三分類分割問題,其中,一類為頭部、一類為軀幹、最後一類則是背景。

圖5 借助FCN學習的部位分割模型

FCN訓練完畢後,可以對測試集中的細細微性圖像進行較精確地part定位,圖6展示了一些定位效果圖。可以發現,基於FCN的part定位方式可以對大多數細細微性圖像進行較好的頭部和軀幹定位。同時,還能注意到,即使FCN的真實標記是粗糙的矩形框,但其預測結果中針對part稍精細些的輪廓也能較好地得到。在此,我們稱預測得到的part分割結果為Part Mask。不過,對於一些複雜背景圖像(如圖6右下)part定位結果還有待提高。

圖6 經過FCN訓練後對細細微性圖像進行定位

在得到Part Mask後,可以通過Crop獲得對應的圖像塊。同時,兩個Part Mask組合起來剛好可組成一個較完整的Object Mask。同樣,基於物體/部位圖像塊,Mask-CNN訓練了三個子網路。

在此需要特別指出的是,在每個子網路中,上一步驟中學到的Part/Object Mask還起到了一個關鍵作用,即“篩選關鍵卷積特徵描述子”(Selecting Useful Convolutional Descriptor),如圖7(c)-(d)。這個模組也是我們首次在細細微性圖像分類中提出的。篩選特徵描述子的好處在於,可以保留表示前景的描述子,而去除表示背景的卷積描述子的干擾。篩選後,對保留下來的特徵描述子進行全域平均和最大池化(Global Average/Max Pooling)操作,後將二者池化後的特徵級聯作為子網路的特徵表示,最後將三個子網特徵再次級聯作為整張圖像的特徵表示。

圖7 篩選關鍵卷積特徵描述子

實驗表明,基於篩選的Mask-CNN在僅依靠訓練時提供的Part Annotation(不需要Bounding Box,同時測試時不需額外監督資訊)取得了目前細細微性圖像分類最高的分類精度(在經典CUB資料上,基於ResNet的模型對200類不同鳥類分類精度可達87.3%)。此外,借助FCN學習Part Mask來進行Part定位的做法也取得了Part定位的最好結果。

基於弱監督資訊的細細微性圖像分類模型

雖然上述三種基於強監督資訊的分類模型取得了較滿意的分類精度,但由於標注資訊的獲取代價十分昂貴,在一定程度上也局限了這類演算法的實際應用。因此,目前細細微性圖像分類的一個明顯趨勢是,希望在模型訓練時僅使用圖像級別標注資訊,而不再使用額外的Part Annotation資訊時,也能取得與強監督分類模型可比的分類精度。這便是“基於弱監督資訊的細細微性分類模型”。細細微性分類模型思路同強監督分類模型類似,也需要借助全域和局部資訊來做細細微性級別的分類。而區別在於,弱監督細細微性分類希望在不借助Part Annotation的情況下,也可以做到較好的局部資訊的捕捉。當然,在分類精度方面,目前最好的弱監督分類模型仍與最好的強監督分類模型存在差距(分類準確度相差約1%~2%)。下面介紹三個弱監督細細微性圖像分類模型的代表。

Two Level Attention Model

顧名思義,該模型主要關注兩個不同層次的特徵,分別是物體級別和部件級別資訊。當然,該模型並不需要資料集提供這些標注資訊,完全依賴於本身的演算法來完成物體和局部區域的檢測。其整體流程如圖8所示。

圖8 Two Level Attention流程圖

該模型主要分為三個階段。1. 預處理模型:從輸入圖像中產生大量的候選區域,對這些區域進行過濾,保留包含前景物體的候選區域;2. 物體級模型:訓練一個網路實現對物件級圖像進行分類;在此需要重點介紹的是,3. 局部級模型。我們來看,在不借助Part Annotation的情況下,該模型怎樣做到Part檢測。

由於預處理模型選擇出來的這些候選區域大小不一,有些可能包含了頭部,有些可能只有腳。為了選出這些局部區域,首先利用物體級模型訓練的網路來對每一個候選區域提取特徵。接下來,對這些特徵進行譜聚類,得到K個不同的聚類簇。如此,則每個簇可視為代表一類局部資訊,如頭部、腳等。這樣,每個簇都可以被看做一個區域檢測器,從而達到對測試樣本局部區域檢測的目的。

Constellations

Constellations方案是利用卷積網路特徵本身產生一些關鍵點,再利用這些關鍵點來提取局部區域資訊。對卷積特徵進行視覺化分析(如圖9所示),發現一些回應比較強烈的區域恰好對應原圖中一些潛在的局部區域點。因此,卷積特徵還可以被視為一種檢測分數,回應值高的區域代表著原圖中檢測到的局部區域。不過,特徵輸出的解析度與原圖相差較大,很難對原圖中的區域進行精確定位。受到前人工作的啟發,我採用的方法是通過計算梯度圖來產生區域位置。

圖9 Constellations方案

具體而言,卷積特徵的輸出是一個W×H×P維的張量,P表示通道的個數,每一維通道可以表示成一個W×H維的矩陣。通過計算每一維通道P對每一個輸入圖元的平均梯度值,可以得到與原輸入圖像大小相同的特徵梯度圖:

上面公式可以通過反向傳播高效地完成計算。這樣,每一個通道的輸入都可以轉換成與原圖同樣大小的特徵梯度圖。在特徵梯度圖中響應比較強烈的區域,即可代表原圖中的一個局部區域。於是每一張梯度圖中回應最強烈的位置即作為原圖中的關鍵點:

卷積層的輸出共有P維通道,可分別對應於P個關鍵點位置。後續對這些關鍵點或通過隨機選擇或通過Ranking來選擇出重要的M個。得到關鍵點後分類就是易事啦。其分類處理流程如圖10所示。

圖10 卷積特徵輸出的分類流程

Bilinear CNN

深度學習成功的一個重要精髓,就是將原本分散的處理過程,如特徵提取,模型訓練等,整合進了一個完整的系統,進行端到端的整體優化訓練。不過,在以上所有的工作中,我們所看到的都是將卷積網路當做一個特徵提取器,並未從整體上進行考慮。最近,T.-Y. Lin、A.RoyChowdhury等人設計了一種端到端的網路模型Bilinear CNN,在CUB200-2011資料集上取得了弱監督細細微性分類模型的最好分類準確度。

如圖11所示,一個Bilinear模型Β由一個四元組組成:Β=(fA,fB,Ρ,C)。其中,fA,fB代表特徵提取函數,即圖中的網路A、B,P是一個池化函數(Pooling Function), C則是分類函數。

圖11 Bilinear模型的組成

特徵提取函數f (•)的作用可以看作一個函數映射,f:LXI→RcXD將輸入圖像I與位置區域L映射為一個cXD 維的特徵。而兩個特徵提取函數的輸出,可以通過一個雙線性操作進行彙聚,得到最終的Bilinear特徵:

.

其中池化函數 的作用是將所有位置的Bilinear特徵彙聚成一個特徵。Bilinear CNN中所採用的池化函數是將所有位置的Bilinear特徵累加起來:

到此Bilinear向量即可表示該細細微性圖像,後續則為經典的全連接層進行圖像分類。一種對Bilinear CNN模型的解釋是,網路A的作用是對物體/部件進行定位,即完成前面介紹演算法的物體與局部區域檢測工作,而網路B則是用來對網路A檢測到的物體位置進行特徵提取。兩個網路相互協調作用,完成了細細微性圖像分類過程中兩個最重要的任務:物體、局部區域的檢測與特徵提取。另外,值得一提的是,Bilinear模型由於其優異的泛化性能,不僅在細細微性圖像分類上取得了優異效果,還被用於其他圖像分類任務,如行人重檢測(Person Re-ID)。

細細微性圖像檢索

以上介紹了細細微性圖像分類的幾個代表性工作。圖像分析中除監督環境下的分類任務,還有另一大類經典任務——無監督環境下的圖像檢索。相比細細微性圖像分類,檢索任務上的研究開展較晚,下面重點介紹兩個該方面的工作。

圖像檢索(Image Retrieval)按檢索資訊的形式,分為“以文搜圖”(Text-Based)和“以圖搜圖”(Image-Based)。在此我們僅討論以圖搜圖的做法。傳統圖像檢索任務一般是檢索類似複製的圖像(Near-Duplicated Images),如圖12(b)所示。左側單列為Query圖像,右側為返回的正確檢索結果。可以看到,傳統圖像檢索中圖像是在不同光照不同時間下同一地點的圖像,這類圖像不會有形態、顏色、甚至是背景的差異。

圖12 傳統圖像檢索任務

而細細微性圖像檢索,如圖13(a),則需要將同為“綠頭鴨”的圖像從眾多不同類鳥類圖像中返回;同樣,需要將“勞斯萊斯幻影”從包括勞斯萊斯其他車型的不同品牌不同車型的眾多圖像中檢索出來。細細微性圖像檢索的難點,一是圖像細微性非常細微;二是對細細微性圖像而言,哪怕是屬於同一子類的圖像本身也具有形態、姿勢、顏色、背景等巨大差異。可以說,細細微性圖像檢索是圖像檢索領域和細細微性圖像分析領域的一項具有新鮮生命力的研究課題。

圖13 細細微性圖像檢索

L. Xie、J. Wang等在2015年首次提出細細微性圖像“搜索”的概念,通過構造一個層次資料庫將多種現有的細細微性圖像資料集和傳統圖像檢索(一般為場景)融合。在搜索時,先判斷其隸屬的大類,後進行細細微性檢索。其所用特徵仍然是人造圖像特徵(SIFT等),基於圖像特徵可以計算兩圖相似度,從而返回檢索結果(如圖14所示)。

圖14 細細微性圖像搜索資料庫SCDA

SCDA

SCDA(Selective Convolutional Descriptor Aggregation)是我們近期提出的首個基於深度學習的細細微性圖像檢索方法。同其他深度學習框架下的圖像檢索工作一樣,在SCDA中,細細微性圖像作為輸入送入Pre-Trained CNN模型得到卷積特徵/全連接特徵(如圖15所示)。區別于傳統圖像檢索的深度學習方法,針對細細微性圖像檢索問題,我們發現卷積特徵優於全連接層特徵,同時創新性的提出要對卷積描述子進行選擇。不過SCDA與之前提到的Mask-CNN的不同點在於,在圖像檢索問題中,不僅沒有精細的Part Annotation,就連圖像級別標記都無從獲取。這就要求演算法在無監督條件下依然可以完成物體的定位,根據定位結果進行卷積特徵描述子的選擇。對保留下來的深度特徵,分別做以平均和最大池化操作,之後級聯組成最終的圖像表示。

圖15 SCDA檢索方法流程

很明顯,在SCDA中,最重要的就是如何在無監督條件下對物體進行定位。通過觀察得到的卷積層特徵(如圖16所示),可以發現明顯的“分散式表示”特性。對兩種不同鳥類/狗,同一層卷積層的最強回應也差異很大。如此一來,單獨選擇一層卷積層特徵來指導無監督物體定位並不現實,同時全部卷積層特徵都拿來説明定位也不合理。例如,對於第二張鳥的圖像來說,第108層卷積層較強回應竟然是一些背景的雜訊。

圖16 在SCDA中,通過觀察得到的卷積層特徵發現“分散式表示”特性

基於這樣的觀察,我們提出將卷積特徵(HxWxD)在深度方向做加和,之後可以獲得Aggregation Map(HxWx1)。在這張二維圖中,可以計算出所有HxW個元素的均值,而此均值m便是該圖物體定位的關鍵:Aggregation Map中大於m的元素位置的卷積特徵需保留;小於的則丟棄。這一做法的一個直觀解釋是,細細微性物體出現的位置在卷積特徵張量的多數通道都有回應,而將卷積特徵在深度方向加和後,可以將這些物體位置的回應累積——有點“眾人拾柴火焰高”的意味。而均值則作為一把“尺子”,將“不達標”的響應處標記為雜訊,將“達標”的位置標為物體所在。而這些被保留下來的位置,也就對應了應保留卷積特徵描述子的位置。後續做法類似Mask-CNN。實驗中,在細細微性圖像檢索中,SCDA同樣獲得了最好結果;同時SCDA在傳統圖像檢索任務中,也可取得同目前傳統圖像檢索任務最好方法相差無幾(甚至優於)的結果(如圖17所示)。

圖17 基於深度學習的細細微性圖像檢索流程圖

展望

細細微性圖像分析任務在過去的十年裡一直是電腦視覺中的熱門研究領域,尤其在深度學習繁榮的近幾年,方法和問題可謂“常做常新”。不過隨著深度學習方法研究的深入,在傳統細細微性圖像分析問題上,如鳥類、狗、車等子類分類和檢索,尤其分類問題的準確率,可以說是到了瓶頸期。雖然時常會有不少細細微性圖像分類工作問世,但每年也大概只能將分類準確率提升1個百分點左右(在經典的鳥類分類上,目前強監督分類模型為87.3%左右,弱監督模型為84.1%左右)。這便催生了細細微性圖像分析任務的不同設定,如基於網路資料的細細微性圖像分類、基於wiki知識獲取的細細微性圖像分類等。

同時,更加廣義的“細細微性圖像分析”研究也越來越多。常見的行人重檢測(Person Re-ID)、人臉判別(Face Verification)、示例級別檢索(Instance Retrieval)等問題都可以用傳統細細微性圖像分析的思路去解決,也期待更加優秀的相關研究出現。

參考文獻

[1] N. Zhang, J. Donahue, R. Girshick, and T. Darrell. Part-based R-CNNs for fine-grained category detection. In European Conference on Computer Vision, Part I, LNCS 8689, pages 834–849, Zurich, Switzerland, Sept. 2014. Springer, Switzerland.

[2] S. Branson, G. V. Horn, S. Belongie, and P. Perona. Bird species c ategorization using pose normalized deep convolutional nets. In British Machine Vision Conference, pages 1–14, Nottingham, England, Sept. 2014.

[3] S. Branson, O. Beijbom, and S. Belongie. Efficient large-scale structured learning. In IEEE Conference on Computer Vision and Pattern Recognition, In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pages 1806–1813, Portland, Oregon, Jun. 2013.

[4] X.-S. Wei, C.-W. Xie and J. Wu. Mask-CNN: Localizing Parts and Selecting Descriptors for Fine-Grained Image Recognition. arXiv:1605.06878, 2016.

[5] T. Xiao, Y. Xu, K. Yang, J. Zhang, Y. Peng, and Z. Zhang. The application of two-level attention models in deep convolutional neural network for fine-grained image classification. In Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, pages 842–850, Boston, MA, Jun. 2015.

[6] M. Simon and E. Rodner. Neural activation constellations: Unsupervised part model discovery with convolutional networks. In Proceedings of IEEE International Conference on Computer Vision, pages 1143–1151, Sandiago, Chile, Dec. 2015.

[7] T.-Y. Lin, A. RoyChowdhury, and S. Maji. Bilinear CNN models for fine-grained visual recognition. In Proceedings of IEEE International Conference on Computer Vision, pages 1449–1457, Sandiago, Chile, Dec. 2015.

[8] L. Xie, J. Wang, B. Zhang, and Q. Tian. Fine-grained image search. IEEE Transactions on Multimedia, vol. 17, no. 5, pp. 636–647, 2015.

[9] X.-S. Wei, J.-H. Luo, J. Wu, and Z.-H. Zhou. Selective Convolutional Descriptor Aggregation for Fine-Grained Image Retrieval. IEEE Transactions on Image Processing, 2017, in press.

[10] G. E. Hinton. Learning distributed representations of concepts. In Annual Conference of the Cognitive Science Society, Amherst, MA, 1986, pp. 1–12.

訂閱諮詢:

線上諮詢(QQ):2251809102

電話諮詢:010-64351436

↙點擊下方“閱讀原文”訂閱程式師(含iOS、Android及印刷版)

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示