李祥霞,吉曉慧,李 彬
1.廣東財經大學 信息學院,廣州 510320
2.華南理工大學 自動化科學與工程學院,廣州 510641
傳統的圖像分類分為語義級圖像和實例級圖像這兩大類[1]。語義級包括對象識別、場景識別等任務,旨在識別不同類別的圖像,如汽車和飛機等,隨著神經網絡的數輪更新,研究者們發(fā)展出了分類準確率更高的、結構更復雜的網絡用在ImageNet 為代表的語義級圖像分類中。而實例級是對不同的個體進行分類,其中最重要的研究內容當屬人臉識別和指紋識別。其中,人臉識別已經被大量應用到人們的生活中,但仍存在表情變化引起的類內差距增大、遮擋引起的局部特征缺失等問題。而細粒度圖像處于這兩者的中間狀態(tài),兼具了語義級圖像分類特征難以提取和定位以及實例級圖像分類中類間差異小而類內差異大的問題,但同時該領域的研究往往會大量借鑒前兩個領域的研究成果。
細粒度圖像分類旨在區(qū)分同一類別的子類別,如識別出車的品牌、鳥的種類、貓的品種等,也可叫作子類別分類。相較于對象識別等語義級圖像分類任務,細粒度圖像往往需要借助非常微小的局部差異才能區(qū)分出不同的類別。和人臉識別等實例級分類任務相比,細粒度圖像的類內差異更加巨大,并且受到姿勢、背景干擾、遮擋以及拍攝角度等因素的影響[2],加上細粒度數據集類內差異大而類間差異小的特點,使得細粒度圖像分類一直是計算機視覺領域中一項極具挑戰(zhàn)力的任務。鑒于類內差異大而類間差異小導致的分類準確率的下降的問題和更加復雜的網絡結構帶來的計算復雜度的提升,提升細粒度圖像分類的分類準確率和減少計算成本成了當前圖像分類領域的兩個重要的研究方向。
傳統的基于特征提取的細粒度圖像分類算法主要是利用人工構建的算子進行圖像特征提取,但是其提取特征能力較弱,并且提取到的特征表達能力比較有限,因此該算法具有一定的局限性。隨著計算機硬件的發(fā)展以及互聯網的發(fā)展帶來的信息爆炸,研究者們發(fā)現Hinton 在1986 年提出的基于反向傳播的神經網絡方法在海量數據以及巨大計算能力的支持下,能夠實現自動提取特征并根據這些特征實現圖片的準確分類。從此,圖像分類任務進入卷積神經網絡的時代,深度學習也被越來越多地提及。近年來,隨著深度學習的興起,基于深度學習的圖像分類逐步成為研究熱點,細粒度圖像分類也得到了長足的發(fā)展。深度學習在特征提取方面展現出其獨特的優(yōu)勢和潛力,在使用的過程中,需要順應細粒度圖像數據庫本身的特點,同時參考研究者們在相似的數據庫中用到的方法以構建合適的分類框架,才能獲得更好的分類性能,而不是一味擴充數據庫以及構建更為復雜的網絡結構。
本文首先概述了細粒度圖像分類,并介紹了幾種常用的細粒度圖像數據庫。然后,從基于強監(jiān)督和弱監(jiān)督學習這兩方面,分別介紹了幾種典型的細粒度圖像分類算法以及研究現狀。最后,討論了基于深度學習的細粒度圖像分類算法的未來研究方向和面臨的挑戰(zhàn)。
細粒度圖像分類實質是定位到目標及局部區(qū)域,對局部區(qū)域進行特征提取,對提取到的特征進行處理,來完成分類器的訓練和檢測。這種分類任務最大的難點在于細粒度圖像的信噪比很小,類別差異通常只存在于很細小的局部區(qū)域中,而找到這些細小的局部區(qū)域,對其進行準確的區(qū)分是算法成功的關鍵。
細粒度圖像分類在許多領域都有著非常普遍的研究需求和應用場景。例如,胸部病灶的病理形態(tài)、位置、大小等具有多樣性和較大的差異性,并且一些疾病樣本的比例也不平衡,因而不同類型的胸部疾病分類也屬于細粒度圖像分類問題。目前,此類工作主要依賴于放射科醫(yī)生的人工觀察,易受到胸部病理特征臨床表現多樣性、放射科醫(yī)師閱片疲勞和缺乏臨床經驗等因素影響,會造成誤診、漏診的現象。
在細粒度圖像分類任務中,許多算法過分依賴于人工標注信息。常用的標注信息主要是指標注框(bounding box)以及局部區(qū)域位置信息(part locations)等,在檢測前景對象時使用標注框,可以消除背景噪聲的干擾;局部區(qū)域位置信息可以用來實現局部區(qū)域的定位,或是姿態(tài)對齊等操作,以完成局部特征的提取。這些人工標注信息由于獲取不易,算法的實用性較弱?,F在越來越多的算法傾向于使用類別標簽等來完成分類任務。
近幾年來,細粒度圖像分類取得了飛速的發(fā)展,從傳統的人工提取特征及分類器設計,逐漸朝著基于端到端的神經網絡的方向發(fā)展。傳統的細粒度圖像分類算法主要包括三個步驟:特征定位、特征提取和分類器。這類算法通常先是在訓練集中找到特征點的位置信息,再用這些特征點的位置信息去提取測試圖片的局部區(qū)域,然后用人工提取的特征對局部區(qū)域進行特征提取,最后將提取到的特征放到分類器中。端到端細粒度圖像分類算法也可以分為三個步驟:特征區(qū)域定位、局部特征切割和分類神經網絡。圖1 是端到端的細粒度圖像分類算法的典型流程圖。該算法采用共享的卷積層神經網絡的底層提取圖片中的信息,將提取到的特征送入區(qū)域檢測子網絡和分類子網絡,然后在檢測子網絡中利用選擇性搜索、K-近鄰等算法進行候選區(qū)域的篩選,然后在這些區(qū)域中利用Fast R-CNN(fast region-convolutional neural network)等算法挑選出置信度最高的局部區(qū)域,將這些局部區(qū)域的位置信息送入到分類子網絡中,然后利用特征圖切割的方式將對應位置的特征提取出來送入到全連接層從而得到最終的分類結果。
Fig.1 Typical flowchart of end-to-end fine-grained image classification algorithm圖1 端到端的細粒度圖像分類算法的典型流程圖
與傳統細粒度圖像分類算法相比,端到端的分類算法特殊在于特征提取的部分,神經網絡對圖片的特征信息的提取能力遠遠超過人工構建的特征,神經網絡在分類任務中是一個前后相同的整體,低層的特征受到分類結果反向傳播的影響,因此趨向于尋找最有判別能力的特征。神經網絡的特征提取都是經過了大量的計算被證實對分類結果有顯著影響的特征,因此自然比人工構建的特征提取算法提取到的特征更有判別能力?,F在最常用的是卷積神經網絡(convolutional neural network,CNN)對圖像進行特征提取。卷積神經網絡無需復雜的特征提取和數據重建過程,且提取到的特征更具有特征表達和判別能力,已經廣泛應用于圖像分類[3-4]、行為識別[5-6]、圖像描述[7-8]、圖像檢索[9-10]等領域。
細粒度圖像數據集通常需要專業(yè)領域的專家知識才能完成數據的采集和標注,因此數據集的獲取難度更大。本節(jié)介紹了幾種常用的細粒度圖像數據庫,并在表1 展示了這些數據庫的具體類別和大小。
Table 1 Fine-grained image datasets表1 常用細粒度圖像數據庫
CUB-200-2011[11]數據庫:此數據庫是2011 年加利福尼亞理工學院推出的鳥類細粒度圖像分類數據庫。CUB-200-2011 是細粒度圖像分類任務中最常用的數據庫。
Car-196[12]數據庫:Car-196 是2013 年Stanford University 在ICCV 會議上推出的汽車類細粒度圖像分類數據庫,車的品牌、型號以及年份都會影響對車輛類別的劃分。提供了196 類車輛圖像數據,只提供了標注框信息。
FGVC-Aircraft[13]數據庫:FGVC-Aircraft 是2013年ICCV 上作為在ImageNet 細粒度分類挑戰(zhàn)大賽的一部分推出的。提供了102 類不同的飛機照片,整個數據庫包含10 200 張圖片,只提供了標注框信息。此數據庫的分類難度較大,由于外觀相似,飛機類別的劃分依賴于噴漆或是細微的外形差異。
目前,基于深度學習的細粒度圖像分類算法主要采用卷積神經網絡模型。卷積神經網絡是由LeCun于1998 年提出的,設計靈感來源于對動物神經元的研究,其本質是多層感知機的變種,它采用局部連接和共享權值的方式,不但減少了權值的數量使得網絡易于優(yōu)化,同時降低了過擬合的風險。
目前,常見的卷積神經網絡結構主要有AlexNet、VGGNet、GoogleNet 和ResNet。2012 年,Alex 等人提出了AlexNet 模型[14],使得卷積神經網絡以及深度學習逐漸在圖像、語音等領域大放異彩。AlexNet 網絡使用層疊的卷積層,解決了網絡深度問題,使得網絡學習到更有判別能力的圖像特征。牛津大學視覺幾何組和谷歌DeepMind 公司的研究院共同提出了VGGNet 模型[15],其中最為廣泛應用的是VGG-16 和VGG-19 網絡。2014 年,Szegedy 等人提出GoogleNet模型[16-18],利用多種卷積運算進行組合的方法,形成一個個功能單元,以便在相同的計算量下獲得更多的特征。ResNet 模型[19]是由微軟人工智能團隊提出的新型深度神經網絡結構,其通過層與層的跳躍連接,訓練出更深的網絡,緩解了梯度消失問題。
基于深度學習卷積神經網絡的細粒度圖像分類方法主要分為兩種:基于強監(jiān)督學習和基于弱監(jiān)督學習分類算法。
基于強監(jiān)督學習指的是利用數據集中給出的所有標注(邊框以及全部特征點信息)來對測試集中圖片的特征點進行定位,再對定位到的特征區(qū)域進行進一步的處理,進而得到最終的分類結果,能夠提高分類的準確率和有效性。
Zhang等人[20]在2014年提出了基于局部的R-CNN(Part-based R-CNNs)細粒度圖像分類算法,通過自底向上的候選區(qū)域生成方法和區(qū)域卷積神經網絡算法相配合進行物體檢測,然后將這些目標區(qū)域進行姿態(tài)歸一化并提取特征,最后將提取到的特征送入支持向量機(support vector machine,SVM)分類器進行分類。該分類框架的分類準確率超越了先前所提出的基于中層表征的、基于姿態(tài)標準化描述符的細粒度圖形分類方法等。該算法也奠定了其后幾年的細粒度圖像分類的基礎,使得其后的基于“強監(jiān)督”的細粒度圖像分類算法基本都是遵從這樣一個局部區(qū)域檢測、局部區(qū)域特征點提取以及最后的特征分類這種流程。然而,該算法也存在著一些缺點,自底向上的區(qū)域定位方法,會產生大量的無關區(qū)域,大幅度限制了算法的速度。由于姿態(tài)問題會對分類造成極大干擾。為了解決這個問題,Branson 等人[21]提出了姿態(tài)歸一化的CNN(pose normalized CNN)模型,針對提取的不同層次的局部信息,進行姿態(tài)對齊操作,提取到不同層的卷積特征。
Part-based R-CNNs 模型自下而上的區(qū)域合并方法學習部位檢測器,會產生大量的無關區(qū)域。在常見的鳥類目標分類任務中,“Part-based R-CNNs”利用姿態(tài)歸一化,通過不同的網絡檢測鳥的頭、身體等部位并合成一個特征向量,再使用SVM 進行訓練,這種檢測辦法損失了各個部位的相關性。為了解決這個問題,Zhang 等人[22]提出了SPDA-CNN(semantic part detection and abstraction-CNN),分別從候選區(qū)域生成、局部區(qū)域的增加、特征提取及改變最終分類網對原網絡進行了改進。該算法包含兩個網絡:檢測子網絡和分類子網絡。檢測子網絡是用自上而下的候選區(qū)域方法生成小的語義區(qū)域的候選。分類子網絡是在檢測子網絡生成的候選區(qū)域中進行特征提取,然后進行分類。為了檢測到語義對象的細小候選區(qū)域,該算法利用K-近鄰生成候選區(qū)域的方法,通過添加幾何限制來減小生成候選區(qū)域的數量,生成包含更有效的局部信息的候選區(qū)域。檢測網絡將K-近鄰給出的候選區(qū)域用快速區(qū)域卷積神經網絡算法(Fast R-CNN)進行區(qū)域回歸。SPDA-CNN 添加到幾何限制在更細小的語義級的局部區(qū)域中生成了候選區(qū)域,比Part-based R-CNNs 生成候選區(qū)域用到的選擇性搜索[23]生成的區(qū)域數量降低了一個數量級。在CUB-200-2011 數據集上取得了85.14%的分類結果。
Wei 等人[24]提出了Mask-CNN 模型,不同于Partbased R-CNNs 的細粒度分類算法直接利用卷積特征的做法,Mask-CNN 模型對深度卷積特征進行了評估和篩選,它是第一個端到端的選擇深度卷積描述符(deep descriptor)模型。很多基于局部定位的算法,如Part-based R-CNNs[20]、Part-stacked CNN[25]等,都是直接使用深度卷積描述符,然后將其編碼到單個的特征表示中,而沒有對這些獲得的深度卷積描述符進行評估。Mask-CNN 模型通過使用CNN,可以不用像對人工提取的特征一樣在特征向量中篩選出有效特征,但是需要選出有用的卷積描述符。Mask-CNN 模型丟棄了全連接層,利用了更少的特征維數,提升了推理速度,使得網絡計算效率更高。在進行神經網絡訓練時,不需要標注框信息,僅依靠局部標注信息(part annotations)和類別標簽(image-level labels)就在CUB-200-2011 數據集上獲得了較好的分類性能。
這些基于強監(jiān)督學習方法雖然獲得了較好的分類結果,但是它們往往嚴重依賴于大量的人工標注信息來完成建模和分類預測,人工標注的數據很難獲取且所付出的代價昂貴,這將會影響細粒度圖像分類在應用領域的使用和發(fā)展。
近幾年,基于弱監(jiān)督學習已經成為基于深度學習的細粒度圖像分類方法的研究趨勢,其舍棄了數據庫中提供的人工標注信息,轉而依靠注意力模型、雙線性卷積神經網絡等方法去定位圖片中的關鍵區(qū)域,通過多尺度的方法來獲得較為完整的全局和局部區(qū)域的特征,不但減少了人工標注的格外數據成本,同時更加符合實際應用需求。
2.2.1 基于注意力模型的細粒度圖像分類
兩級注意力算法[26]是第一個嘗試不利用人工標注信息,只使用類別標簽的細粒度圖像分類方法。此算法主要關注對象級和局部級兩個層次的特征,其實也就是強監(jiān)督模型中的標注框和局部區(qū)域位置信息。其中對象級模型是針對對象級圖像進行分類。將經過預處理得到的包含多個候選區(qū)域的圖片,用來從頭開始訓練一個卷積神經網絡。經過卷積網絡之后,得到一個Softmax 層的輸出,對所有區(qū)域的輸出進行平均,作為Softmax 層的最終輸出。在獲得局部區(qū)域特征后,將其連在一起得到一個特征向量,用來訓練SVM 分類,最后結合對象級模型的預測結果和局部級模型的結果,作為兩級注意力模型的最終輸出。該算法在Alex-Net 網絡結構上準確率達到了69.7%,若采用網絡深度和通道數量更多的VGG-Net 構架,分類的準確率能提升到77.9%。由于兩級注意力模型局部區(qū)域的檢測是通過聚類算法得到的,分類精度低于同樣使用AlexNet 的強監(jiān)督的Part-based R-CNNs算法。
許多弱監(jiān)督分類方法[27-32]雖然訓練時只需要類別標簽,但是這些方法在執(zhí)行過程中,在對象定位任務中出現錯誤,就會嚴重影響到分類效果。由于這些方法無法利用GPUs 進行并行計算,計算速度較慢。基于優(yōu)化特征表示的方法也有很多優(yōu)秀的算法,比如通過優(yōu)化主干網絡[33]、特征提取結構[34]、數據增強[35]、遷移學習[36]等來獲得更好的特征表示的方法。但這些方法也存在缺點,首先一個有效的方法是應該將不同的中級信息與最后輸出融合起來,在不同情況下都應該完全利用到不同的輸出結果。其次,一般的預訓練遷移學習可能表現較差,而在特定領域遷移學習表現較好,但需要花費大量時間對每個細粒度數據集在大規(guī)模數據集上進行預訓練。
Zhu 等人[37]提出了一種新型的基于CNN 的級聯注意力網絡模型。這個方法利用了空間混淆注意力來區(qū)分輸入圖像的模糊區(qū)域。這個模型包括三部分:空間混淆注意力模塊、交叉網絡注意力和網絡融合注意力模塊。所有的模塊可以一起工作,進行端到端的訓練優(yōu)化,其中利用到了全局注意力池化來使用空間混淆注意力,其收到來自CNN1 的注意力二進制掩膜,然后把它當作過濾器,從而讓CNN2 去注意已篩選過的區(qū)域。不同于之前所提出的注意力機制方法[27,29,32],這個方法的骨干網絡是完全并行運行的,使其獲得了更好的泛化能力和更快的計算速度。該算法在CUB-200-2011 數據集上獲得了90.8%的準確率。
Fig.2 Architecture of attribute guided attention network圖2 屬性引導的注意力網絡結構
Yan 等人[38]利用漸進特征學習的方法來對細粒度進行分類,其網絡結構主要分為兩個階段:第一個階段設計了一個屬性指導的注意力網絡,用來發(fā)現和對齊有區(qū)分度的局部特征;第二個階段采用一個多尺度主動融合網絡來分類,聚合注意力區(qū)域中有區(qū)別的特征。與傳統融合算法相比,所提出的主動漸進融合網絡對候選噪聲區(qū)域具有較強的魯棒性,并且融合的圖像表示的判別能力并沒有降低。同時,將這兩個階段集成到一個單一的框架中,使整個系統可以共同訓練。很多模型[39-43]使用了局部檢測網絡算法,提取大量的局部區(qū)域來訓練CNN 網絡,針對復雜的問題擴展性不好,并且需要大量的人工標注信息訓練局部檢測網絡,而該模型不存在這種局限。一些使用Fisher Vector 或者最大/平均池化進行對齊的算法也存在丟失大量語義和空間關系信息的缺點。相比于傳統的注意力模型,兩級注意力[26]缺乏強監(jiān)督信息的指導,因此在很多情況下也不能準確定位到有用的局部區(qū)域。而Yan 等人[38]設計的由屬性引導的注意力網絡采用了循環(huán)神經網絡(recurrent neural network,RNN),比如LSTM(long short-term memory)[44],將判別信息從第一個節(jié)點累積到最深層的節(jié)點,從而產生具有高度判別力的對象級特征表示。如果當前局部區(qū)域不能提供足夠的有區(qū)分的信息,就轉向對象的下一個局部區(qū)域。該算法僅僅依靠標簽屬性,在CUB-200-2011 數據集上獲得了85.1%的分類結果。圖2 是Yan 等人提出的網絡結構。
2.2.2 雙線性卷積神經網絡
Lin 等人[45]設計了一種雙線性卷積神經網絡模型,在整體上實現了端到端的訓練優(yōu)化。圖3 是雙線性卷積神經網絡模型,其包含了兩個特征提取器,輸出后經過外積相乘,進行池化后得到圖像描述算符。
Fig.3 Bilinear CNN model圖3 雙線性卷積神經網絡模型
從圖3 中可以看出,模型的前半部分是普通的卷積層和池化層,只需求得后半部分的梯度值,即可完成整個模型端到端訓練。雙線性CNN 模型中CNN網絡A 的作用是對物體進行定位,也就是檢測前景對象和局部區(qū)域,而CNN 網絡B 是對CNN 網絡A 定位到的物體位置進行特征提取。兩個網絡之間相互協調作用,在整體上完成了模型端到端的訓練過程。該算法在CUB-200-2011 數據集上獲得了84.1%的分類精度。雙線性CNN 模型是第一個可以端到端訓練的協方差池化網絡模型,它對協方差矩陣進行L2 歸一化處理之后采用了元素平方根歸一化,沒有直接使用卷積特征,而是利用卷積特征和自己的外積作為其圖像表示,有力地推動了細粒度分類的進步。而它的缺點是最后的圖像表示的維數過高,降低了雙線性CNN 模型的實用性。針對這個問題,Gao 等人[46]提出了一種壓縮雙線性池化(compact bilinear pooling)模型,降低了特征向量的維數,并同時確保了分類的準確率。
由于雙線性CNN 未能捕捉特征圖通道之間的非線性關系,使得卷積網絡的表達能力得不到充分利用。為了解決這個問題,葛疏雨等人[47]提出了一種核化雙線性卷積網絡模型,利用核函數建模通道間的非線性關系,卷積網絡的表達能力大幅度提高,在數據集CUB-200-2011、Car-196、FGVC-Aircraft 上都獲得了優(yōu)異的分類性能。
2.2.3 基于空間關系的模型
現在主流的細粒度圖像分類主要分成基于局部定位和特征表示這兩種類型?;诰植慷ㄎ坏姆椒▋H僅試圖定位圖像有用的局部區(qū)域,然后對這些區(qū)域提取特征,其難點就在于這些局部區(qū)域的標注信息難以獲得。Krause 等人[48]提出的方法沒有直接使用這些局部定位,而是利用了局部區(qū)域中高度有序的空間信息,獲得了更多區(qū)分度的線索。而基于特征表示的方法需要產生有效的圖像表示,依賴深度卷積神經網絡模型才能夠獲得良好的性能。在這些方法中,都沒有用到局部區(qū)域的空間關系。
Qi 等人[49]利用空間關系來對細粒度圖像進行分類,主要分為兩部分:局部區(qū)域選擇和特征表示。前者利用局部區(qū)域之間的固有空間關系來選擇具有高判別力的局部區(qū)域對,而后者探索局部區(qū)域之間的相互作用來描述選擇后的局部區(qū)域,并為細粒度圖像分類構建一個語義圖像級別的特征表示。
空間關系可以提供一個有用的語義特征來豐富特征表示的信息,同時幫助區(qū)分對象和背景。在以前的研究中,通??臻g關系是由人工來定義的,比如Bloch[50]拓撲關系和幾何關系的考慮。而Qi 等人[49]的研究是使用的局部區(qū)域之間的距離,利用空間關系就能捕獲局部區(qū)域更多有區(qū)分度的特征,并且不需要任何局部定位的人工標注信息。圖4 顯示了不同特征維數對分類準確率的影響。從圖4 中可以看出,在維數達到6 000 之前,隨著特征表示維數的增加,分類準確率顯著提高,在超過6 000 之后趨于穩(wěn)定。相比于前面提到的雙線性CNN 和Compact 雙線性CNN 模型,該方法所用到的圖像特征維數顯著減少,在保證分類精度的基礎上,提高了運算速度。該算法在數據集CUB-200-2011 上獲得了85.5%的準確率。
Fig.4 Influence of different dimensions on classification accuracy圖4 不同的特征維數對分類準確率的影響
2.2.4 其他模型
大多數的細粒度圖像算法都是針對輪廓清晰、有相對固定的外觀特征和明顯的部件構成的對象。針對一些特定領域的沒有可分離的部件的子類別圖像的研究,目前還比較少。Won 等人[51]提出了一個以對象級CNN 為基礎模型和多個局部級CNN 模型結合的多尺度CNN 算法,針對的識別對象是沒有可分離局部特征的圖像。該算法在多個食物數據集的圖像上進行細粒度分類,利用不同的層次的食物細節(jié)來訓練多個CNN。首先對象級CNN 通過使用對象級縮放因子對訓練圖像進行調整,將對象的外觀作為一個整體進行學習。然后使用經過訓練的對象級CNN,根據調整后的圖像在不同的局部級尺度對局部級CNN 進行微調。其中局部級CNN 的圖像調整需要更多的修剪,利用線性尺度隨機裁剪法,根據尺度可控參數的公式,設置合適的參數,采用不同的尺度為局部級CNN 調整圖像的大小。該研究表明,通過尺度可控圖像調整方法訓練的多尺度CNN 可以顯著提高食物數據集的識別性能,證明在不同尺度上調整圖像大小有助于多尺度CNN 學習不同層次的目標細節(jié),而無需明確地將目標分割成部分。
近些年生成對抗網絡(generative adversarial networks,GAN)在圖像的多個領域取得了優(yōu)異的成果。其中,Xie 等人[52]將CNN 和GAN 結合在一起,利用GAN 來增強數據集。算法使用預先訓練好的YOLO v2[53]對象檢測模型對原始數據集上的粗粒度對象進行檢測和裁剪。其次,將裁剪后的圖像發(fā)送給GAN的生成器以生成更多的數據,并為生成的圖像分配統一的標簽,混合這些原始的真實圖像和生成的圖像后,將這些混合圖像輸入到一個CNN 分類器和一個特征融合的CNN 分類器中。如此,CNN 分類器可以同時訓練帶有真實標簽和生成標簽的圖像,實現了細粒度識別的良好正則化并且獲得了更有競爭力的分類性能。佘海龍等人[54]提出了三維CNN 模型應用于高光譜遙感圖像分類,使用大步距卷積層替代池化層,引入L2 正則化、批量歸一化、Dropout等一系列的策略,在減少網絡參數的同時有效防止過擬合現象。引入圖像分類中,并獲得了一定成果,大幅度降低了網絡模型的參數、計算量并提高了分類的精度。此深度網絡方法可以思考引入到其他細粒度識別任務中,可以更好地提高分類的準確性和有效性。徐可文等人[55]綜述了近年來機器學習算法在超聲圖像領域的研究和應用進展,指出了深度學習在醫(yī)學影像領域開展研究所面臨的困難與挑戰(zhàn)。
數據增強是擴充數據的有效方法之一,可以有效地提高細粒度圖像分類模型準確率。Hu 等人[56]基于雙線性CNN 提出了雙線性注意力池化方法,對原圖進行注意力式剪切、注意力式丟棄,以此得到隨著模型迭代更新變動的增強數據,這些新數據和原圖一起提高模型準確率。該算法采用的是單一語義的數據增強方式,處理更復雜的細粒度識別任務存在缺少有效分類信息的問題。對此,譚潤等人[57]結合雙線性注意力池化的優(yōu)勢構建模塊提取雙語義數據,和原圖一起以雙語義數據增強的方式提高模型分類準確率,在CUB-200-2011 數據集上獲得了89.5%的分類準確率。雖然該算法提升了分類精度,但提升了模型復雜度,可能限制了模型在移動端的應用。丁文謙等人[58]在雙線性注意力池化模型的基礎上,提出了一種基于Xception 網絡的弱監(jiān)督數據增強網絡,用Xception 網絡替代原模型采用的Inception v3 作為骨干網絡和特征提取網絡,利用深度可分離卷積替代普通CNN 生成注意力圖來引導數據增強,然后將增強后的圖像返回網絡作為輸入圖像來增強網絡的泛化能力,在CUB-200-2011 數據集上獲得了89.28%的分類精度。Li等人[59]提出了屬性混合(atrribute mix),一種屬性級的數據增強方法來擴充細粒度樣本,其原理是在細粒度子類別之間共享屬性特征,并且可以在圖像之間無縫傳輸。屬性混合是一種簡單但有效的增強策略,可以在不增加推理預算的基礎上顯著提高識別性能,若與最先進的細粒度識別方法相結合,可以進一步提高性能。Xie 等人[52]提出了使用GAN 來擴充數據集,也是常用的一種數據增強策略,將GAN 生成的圖像與原始的訓練數據結合,更好地執(zhí)行細粒度圖像分類任務,獲得更好的分類性能。
在復雜場景下的細粒度圖像分類是計算機視覺領域重要的研究方向,并已經取得了一定的研究成果。行人重識別任務是常見的復雜場景下的細粒度分類的應用。大多數先進的行人重識別方法,通常由三重損失驅動組成,不能有效地學習細粒度特征,因為這些方法更關注區(qū)分巨大的外觀差異。為了解決這個問題,Yan 等人[60]引入了一個新的成對損失函數,通過自適應地對差異小的圖像強制指數懲罰和對差異大的圖像強制有界懲罰,使得模型能夠更好地學習細粒度特征。在數據集[61-63]上的實驗結果表明,所提出的損失函數在很大程度上優(yōu)于常用的損失函數,并且顯著地提升了學習效率。Han 等人[64]提出了一種補充強化注意網絡,在行人重識別任務中學習多種判別特征的嵌入。作者們提出的空間互補性和特征空間互補性保證了多樣行動特征可以通過不同的分支學習,此外還采用自適應加權策略進行特征融合,在低維特征下得到了比高維特征更有競爭力的結果。該方法的優(yōu)越性在數據集[61-63]上得到了證明。謝彭宇等人[65]提出了一種基于多尺度聯合學習的行人重識別方法,通過對比實驗發(fā)現,由于細粒度局部分支充分利用了不相鄰部件間的相關性,比起兩種不同粒度的全局分支,細粒度局部分支顯著地提升了模型的魯棒性,并且對模型的性能有更大的提升。通過對各個部件之間不同尺度下的潛在關系的挖掘,結合全局特征形成了更有判別力的行人特征,該方法在三個主流的行人重識別數據集[61-63]上實現了先進的性能。
細粒度動作識別任務中,針對視頻舞蹈動作的識別,韓婷婷[66]提出了一種動作顯著約束的深度卷積特征描述子,同時將視覺關注機制引入到細粒度動作的表示方法中。研究證明,該方法能從更有分辨力的空間區(qū)域進行特征提取,使得特征描述子對于局部的表現和運動模式中存在的微小差異更加敏銳,對比傳統的網絡表示方法,識別性能大幅度提高。
細粒度圖像分類也已經廣泛應用于復雜場景下的車輛識別任務。李寬寬等人[67]提出了雙線性聚合殘差注意力的細粒度圖像分類模型。在原雙線性CNN基礎上,把原有特征提取子網絡轉變?yōu)楦邔W習能力的聚合殘差網絡,來提升網絡的特征捕獲能力,方法在Stanford Cars 細粒度圖像數據集上分類精度達到94.70%,性能優(yōu)于大多數主流模型方法。Xiang 等人[68]提出了一種用于細粒度車輛識別的全局拓撲約束網絡。該網絡采用了全局拓撲關系約束來描述零件之間的相互作用,并將其集成到CNN 中。零件之間的拓撲關系被編碼為深度卷積層,從訓練中學到圖片,通過培訓整個網絡,核的梯度信息的反向傳播全局拓撲關系將引導前幾層變得更好檢測有用的零件,從而提高車輛識別能力。該網絡在Stanford Cars和CompCars 數據集上,均達到了較好的性能。Fang等人[69]提出了細粒度的卷積神經網絡框架對車輛進行識別。該方法使用卷積神經網絡提取的特征圖,從特征圖映射到輸入圖像來定位區(qū)域,區(qū)域重復被細化提煉,最后在ComCars 數據集上達到98.29%的識別精度。Li 等人[70]提出了一種新的雙重交叉熵損失函數。實驗證明所提出的損失函數改善了細粒度車輛分類性能,在Stanford Cars-196 數據集獲得了較好的性能。Huang 等人[71]結合了顏色和模型,以及三重分類損失提出了雙重域多任務模型,實現細粒度距離測量,提高了車輛識別準確性。
本文從細粒度圖像分類的意義出發(fā),介紹了細粒度圖像分類算法的研究現狀。從基于強監(jiān)督和弱監(jiān)督兩個角度,介紹了幾種典型的基于深度學習的細粒度圖像分類算法。表2 總結了上述典型的算法在數據集CUB-200-2011 上的性能表現,并說明了算法所需要的標注信息。
基于深度學習的細粒度圖像分類雖然已經取得了突破性的進展,但是依然面臨以下挑戰(zhàn):
(1)數據集規(guī)模小,標注與類別數量有限。
(2)在自然環(huán)境下,在光照、遮擋、模糊和低分辨率等復雜場景下的圖像識別在當前的學術研究中較為欠缺,影響到細粒度分類的現實應用。
Table 2 Performance of different algorithms on CUB-200-2011 dataset表2 CUB-200-2011 數據庫上的算法性能比較
對于未來的發(fā)展方向,可以從以下幾方面考慮:
(1)對自然環(huán)境中輪廓不清晰、無明顯對象的研究。細粒度圖像算法的研究對象一般為鳥類、汽車、飛機等具有明顯形態(tài)或輪廓的物體,這類研究對象具有相對固定的外觀特征。但是針對自然環(huán)境中的巖石標本、植物圖像標本等輪廓不明確、無明顯部件構成的對象,很少有細粒度圖像分類的相關研究。
(2)細粒度的小樣本學習。細粒度圖像分類對訓練集的要求很高,需要大量可靠的標簽數據集,因此需要相應領域專家的手工標記,這一過程耗時且成本高,因此面對標記數據缺乏的挑戰(zhàn),如何高效利用小樣本進行學習具有一定的發(fā)展意義。
(3)將遷移學習引入到細粒度圖像分類中。目前,在數據庫中,針對前景對象突出,背景單一的圖像,細粒度圖像分類算法實現了良好的分類性能,但其在自然環(huán)境下存在一定的局限性。引入遷移學習,研究一些域自適應的模型算法,在更現實的環(huán)境中進行細粒度分析,以滿足細粒度圖像分類的現實應用的需求。
(4)有效利用細粒度圖像的多級標簽體系蘊含的豐富信息,可以提升細粒度圖像的分類精度。在對細粒度圖像進行子類別劃分時,有時需要進行多級劃分,同一細粒度對象包含不同層級的多個標簽。
(5)自動細粒度模型。自動機器學習(auto machine learning,AutoML)和神經架構搜索(neural architecture searching,NAS)在計算機視覺領域引起了研究者們的熱切關注。通過AutoML 和NAS 技術開發(fā)的自動細粒度模型可以找到更好的深度模型。