陸紅強(qiáng),王俊林,王亞楠,安學(xué)智,寧新潮,騫 琨
(西安應(yīng)用光學(xué)研究所,陜西 西安 710065)
細(xì)粒度目標(biāo)分類又被稱為子類圖像分類,是近幾年計(jì)算機(jī)視覺領(lǐng)域熱門且富有挑戰(zhàn)的研究課題之一[1]。與傳統(tǒng)的粗粒度分類問題不同,細(xì)粒度分類根據(jù)目標(biāo)關(guān)鍵位置或區(qū)域的特征屬性實(shí)現(xiàn)類內(nèi)更精細(xì)劃分,如圖1 所示。根據(jù)毛發(fā)、眼睛、體型實(shí)現(xiàn)狗的不同品種區(qū)分,如數(shù)據(jù)集Stanford Dogs[2];根據(jù)眼瞼、羽毛、喙、尾巴等特征實(shí)現(xiàn)對(duì)鳥品種的區(qū)分,如數(shù)據(jù)集CUB200[3];根據(jù)尺寸、外觀、長(zhǎng)寬比等特征實(shí)現(xiàn)不同飛機(jī)類型的區(qū)分等,如數(shù)據(jù)集FGVC。
圖 1 細(xì)粒度分類示意圖Fig.1 Schematic diagram of fine-grained classification
傳統(tǒng)的細(xì)粒度分類方法是基于SIFT(scaleinvariant feature transform)、HOG(histogram of oriented gradient)等特征提取方法實(shí)現(xiàn)對(duì)目標(biāo)不同區(qū)域的淺層特征的提取[4-5],結(jié)合具體的特征分類算實(shí)現(xiàn)分類功能,如傳統(tǒng)的特征距離判定或機(jī)器學(xué)習(xí)分類算法,如SVM(support vector machine)[6]等。隨著卷積神經(jīng)網(wǎng)絡(luò)強(qiáng)大的非線性表征能力被不斷挖掘,其越來越多地被應(yīng)用到計(jì)算機(jī)視覺領(lǐng)域,解決目標(biāo)分類、檢測(cè)等問題。例如WANG、LIN、DeCAF、張等將卷積神經(jīng)網(wǎng)絡(luò)運(yùn)用到細(xì)粒度分類中,利用深度網(wǎng)絡(luò)編碼-解碼的方式實(shí)現(xiàn)特征分類[7-11]。強(qiáng)監(jiān)督深度學(xué)習(xí)算法本質(zhì)為利用高性能GPU 完成對(duì)超大量同質(zhì)化樣本的學(xué)習(xí),這種方式一方面需要增加網(wǎng)絡(luò)深度來提高算法的魯棒性,另一方面需要?jiǎng)?chuàng)建樣本更豐富、數(shù)量更龐大的數(shù)據(jù)集來提高算法的泛化能力,因此受限于樣本的豐富度以及計(jì)算機(jī)硬件條件等多方面因素。當(dāng)前用于分類問題的深度學(xué)習(xí)算法在百萬量級(jí)的數(shù)據(jù)集(如GoogleNet[12],CIFAR[13]等)上基本都達(dá)到飽和,因此想要實(shí)現(xiàn)更多種類、更具魯棒性的分類效果,需要依賴于千萬、億級(jí)以上的數(shù)據(jù)集。尤其面對(duì)一些特殊的任務(wù)需求,受限于環(huán)境場(chǎng)景等因素,這種強(qiáng)監(jiān)督學(xué)習(xí)方式很難得到充分應(yīng)用。兩級(jí)注意力模型(two level attention)[14]、Part R-CNN[15]等方法采用深度卷積+微調(diào)(DNN+finetune)的弱監(jiān)督學(xué)習(xí)方式,將現(xiàn)有的目標(biāo)分類的卷積神經(jīng)網(wǎng)絡(luò)通過遷移學(xué)習(xí)或局部特征學(xué)習(xí),移植到細(xì)粒度分類任務(wù)中,此外還有基于注意模型[16]、星座模型[17]等的弱監(jiān)督方法。盡管這些弱監(jiān)督學(xué)習(xí)方法能夠降低對(duì)樣本的依賴,但其處理過程依舊是繁雜的,對(duì)計(jì)算機(jī)計(jì)算性能要求高。
基于當(dāng)前算法的不足,本文提出一種基于深度聚類的目標(biāo)細(xì)粒度分類方法,通過對(duì)圖像淺層特征的提取處理,提取出提示目標(biāo),進(jìn)一步采用超分辨方式,對(duì)目標(biāo)特征進(jìn)行補(bǔ)充和優(yōu)化。通過訓(xùn)練好的深度卷積神經(jīng)網(wǎng)絡(luò)對(duì)提示目標(biāo)進(jìn)行二次特征編碼,利用基于注意機(jī)制的主成分分析方法生成表征矩陣,最后利用聚類的方式實(shí)現(xiàn)目標(biāo)的細(xì)粒度分類。該方法主要?jiǎng)?chuàng)新點(diǎn)有:1)提出一種新的解決方案,通過目標(biāo)提示、超分辨處理、卷積神經(jīng)網(wǎng)絡(luò)、注意機(jī)制的主成分分析和聚類等方式的融合,實(shí)現(xiàn)細(xì)粒度分類;采用傳統(tǒng)算法+人工智能方法,降低了對(duì)硬件平臺(tái)和訓(xùn)練樣本的依賴,方法簡(jiǎn)潔高效。2)采用無監(jiān)督學(xué)習(xí)方式,借助卷積神經(jīng)網(wǎng)絡(luò)對(duì)目標(biāo)不同空間域深層特征的充分表達(dá)能力,不需要對(duì)樣本重新學(xué)習(xí),實(shí)現(xiàn)目標(biāo)類間和類內(nèi)的多重分類,降低了算法與樣本的強(qiáng)耦合關(guān)系。
早期的傳統(tǒng)算法基于人工特征標(biāo)注,一般是先從圖像中提取SIFT 或者HOG 這些局部特征,之后利用VLAD(vector of locally aggregated descriptors)[18]等編碼模型進(jìn)行特征編碼,得到最終所需要的特征表示;SVM 等機(jī)器學(xué)習(xí)方法也被用來進(jìn)行細(xì)粒度目標(biāo)分類;隨著深度卷積學(xué)習(xí)算法的成熟,細(xì)粒度目標(biāo)分類研究逐漸使用深度卷積神經(jīng)網(wǎng)絡(luò)提取特征,這種特征具有更豐富的語義信息,能取得更好的結(jié)果。隨著深度卷積特征的加入,細(xì)粒度圖像分類的發(fā)展迎來了新的機(jī)遇,研究亦進(jìn)入了新的階段。WANG 、LIN、DeCAF 提出基于強(qiáng)監(jiān)督深度學(xué)習(xí)的細(xì)粒度分類方法,這些方法在CUB200-2011、Stanford dog 等數(shù)據(jù)集上成功實(shí)現(xiàn)了同類目標(biāo)的類內(nèi)細(xì)粒度劃分,比如在花的數(shù)據(jù)集上進(jìn)行不同花種的劃分,或在鳥的數(shù)據(jù)集中進(jìn)行不同鳥類的劃分,然而這種依賴特定數(shù)據(jù)樣本訓(xùn)練的方式其本質(zhì)與粗粒度目標(biāo)分類并無二異,依賴于樣本的內(nèi)容,未能解決類間和類內(nèi)的雙重分類問題。盡管CIFAR-100 數(shù)據(jù)集有提供粗粒度分類和細(xì)粒度分類兩種標(biāo)簽,但在使用過程中往往忽略了對(duì)粗粒度標(biāo)簽的使用。
近些年來基于卷積神經(jīng)網(wǎng)絡(luò)的聚類算法優(yōu)化了特征提取和聚類過程,利用神經(jīng)網(wǎng)絡(luò)提取聚類導(dǎo)向的特征表示[19]。在自然語言處理和圖神經(jīng)網(wǎng)絡(luò)中,深度聚類方法得到較為廣泛的使用,如Word2Vec[20]、Node2Vec[21]等方法,神經(jīng)網(wǎng)絡(luò)通過對(duì)句子中詞語先后順序的學(xué)習(xí)生成每個(gè)詞的特征向量,通過相似性度量等方法實(shí)現(xiàn)詞語的分類和節(jié)點(diǎn)社區(qū)聚類等功能;在計(jì)算機(jī)視覺領(lǐng)域,Caron 提出一種基于深度聚類的目標(biāo)分類方法,引入聚類方法為樣本生成標(biāo)簽,進(jìn)一步監(jiān)督網(wǎng)絡(luò)訓(xùn)練,最終實(shí)現(xiàn)網(wǎng)絡(luò)的分類功能[22],但其標(biāo)簽生成過程依賴于對(duì)所有表征矩陣的聚類,對(duì)計(jì)算機(jī)內(nèi)存占用過高。
當(dāng)前應(yīng)用于軍事等領(lǐng)域的光電系統(tǒng)所采集的可見光視頻或圖像分辨率大多為1 280×960 像素及以上,而其中的小目標(biāo)往往只包含幾個(gè)像素,且受大氣湍流、噪聲等因素影響,特征信息損失嚴(yán)重,如果直接對(duì)1 280×960 像素的圖像進(jìn)行目標(biāo)提取和細(xì)粒度分類是很困難的,因此需要借助預(yù)處理實(shí)現(xiàn)對(duì)目標(biāo)特征的增強(qiáng),進(jìn)一步采取分類算法。本文提出一種基于深度聚類的目標(biāo)細(xì)粒度分類方法,具體實(shí)現(xiàn)框圖如圖2 所示。
圖 2 目標(biāo)細(xì)粒度分類實(shí)現(xiàn)框圖Fig.2 Implementation block diagram of fine-grained target classification
圖 3 深度聚類算法具體構(gòu)架Fig.3 Specific structure diagram of deep clustering algorithm
經(jīng)過預(yù)處理的圖像塊,借助于神經(jīng)網(wǎng)絡(luò)的非線性擬合能力,進(jìn)行多層次的特征提取,其輸出為高維多通道的特征圖譜。常用于圖像特征編碼的神經(jīng)網(wǎng)絡(luò)有AlexNet[23]、VGG[24]、Resnet[2]等。由于經(jīng)預(yù)處理的圖像塊具有較少的像素個(gè)數(shù),因此不需要借助層數(shù)較深的編碼網(wǎng)絡(luò)。采用基于注意機(jī)制的主成分分析方法進(jìn)行特征降維,生成表征矩陣。進(jìn)一步利用K-means 聚類方法實(shí)現(xiàn)分類。
2.2.1 基于注意機(jī)制的主成分分析特征降維
對(duì)特征信息降維并通過聚類方法實(shí)現(xiàn)分類是本文的核心,本文采用基于注意機(jī)制的主成分分析模型(attentive PCA)實(shí)現(xiàn)特征降維,以產(chǎn)生用于聚類的表征矩陣,具體實(shí)現(xiàn)如圖2 特征降維所示。注意機(jī)制包含兩種注意模型:通道注意和空間注意。
通道特征注意:通過一系列卷積、池化操作的特征圖,每個(gè)通道包含的特征信息都能反應(yīng)在固定空間的某一位置上。假設(shè)神經(jīng)網(wǎng)絡(luò)輸出的特征圖f大小為W×H×C,其中W和H表示特征大小,C表示通道數(shù)。增加包含更多有效信息的通道的權(quán)重,減少信息含有量低通道的權(quán)重,能夠有效提升網(wǎng)絡(luò)對(duì)具有鑒別性特征的表達(dá)能力[16]。具體實(shí)現(xiàn)過程如下:
1)對(duì)C個(gè)通道分別使用全局平均池化求取平均值,得到降維的全連接特征圖f′∈R1×1×C′:
2)利用Sigmoid 函數(shù)對(duì)每個(gè)通道的權(quán)重進(jìn)行非線性變換,并進(jìn)行歸一化操作,權(quán)重越大表示該通道特征越具有顯著性:
式中:Norm表示歸一化操作;σ(·)為Sigmoid 操作。權(quán)重ω ∈R1×1×C重新加權(quán)到每一層特征圖譜中:
全書以華為手機(jī)品牌的時(shí)間發(fā)展為主要脈絡(luò),介紹了華為手機(jī)業(yè)務(wù)的組織架構(gòu)、后臺(tái)資源支持、產(chǎn)品研發(fā)和終端銷售隊(duì)伍建設(shè)等各個(gè)方面,梳理了華為從B2B到B2C業(yè)務(wù)的轉(zhuǎn)型過程。華為終端的品牌運(yùn)營(yíng)、生態(tài)戰(zhàn)略布局和各方面管理經(jīng)驗(yàn),值得更多的企業(yè)借鑒。
全局特征注意:同一層特征圖不同位置蘊(yùn)含的空間特征信息也是不同的,不同尺寸和感受野的卷積操作,使得每個(gè)位置的特征信息蘊(yùn)含了原始圖像局部空間特征的關(guān)系。因此本文提出一種全局特征注意機(jī)制,通過高斯濾波的方式,對(duì)每層特征圖進(jìn)行不同權(quán)重的加權(quán)操作,來增加全局特征的重要程度。其定義為
式中Convguass表示利用一個(gè)大小為n的高斯核函數(shù)的卷積操作。
2.2.2 特征聚類
輸入的圖像通過2.2.1 的方式生成表征矩陣。相較于傳統(tǒng)方式,卷積神經(jīng)網(wǎng)絡(luò)具有更強(qiáng)大的非線性特征表達(dá)能力,能夠充分挖掘紋理、顏色、空間關(guān)系以及深層次的語義特征和圖像上下文關(guān)系。特征聚類即依據(jù)表征矩陣特征相似性計(jì)算,利用聚類的方式對(duì)表征矩陣分類,聚類算法屬于無監(jiān)督學(xué)習(xí)方法。常用的聚類方法有K-means 聚類[25]和GMMs(Gaussian mixture models)聚類[26]等,其中K-means 由于原理簡(jiǎn)單、收斂速度快等優(yōu)點(diǎn)被經(jīng)常使用。在圖像分類問題中,利用K-means 聚類實(shí)現(xiàn)對(duì)表征矩陣的分類。具體流程見表1 偽代碼所示。
表 1 K-means 聚類方法流程Table 1 Flow chart of K-means clustering method
為驗(yàn)證本文所提方法的有效性,實(shí)驗(yàn)分別采用CIFAR-10 和CIFAR-100 測(cè)試數(shù)據(jù)集進(jìn)行驗(yàn)證,深度學(xué)習(xí)框架為Pytorch,采用NVIDIA 1080Ti 顯卡進(jìn)行加速。CIFAR-10 測(cè)試數(shù)據(jù)集為包含10 種類別的10 000 張測(cè)試圖片,CIFAR-100 測(cè)試集為包含10 000 張測(cè)試圖片,每張照片有細(xì)粒度標(biāo)簽(fine_labels)和粗粒度標(biāo)簽(coarse_labels)兩種標(biāo)簽,共含有20 種粗粒度類別、100 種細(xì)粒度類別,數(shù)據(jù)集樣例如圖4 所示。
圖 4 數(shù)據(jù)集樣例Fig.4 Samples of dataset
為驗(yàn)證方法的有效性,實(shí)驗(yàn)分別采用預(yù)訓(xùn)練的VGG-16 和ResNet-34 作為特征編碼網(wǎng)絡(luò),設(shè)計(jì)了強(qiáng)監(jiān)督學(xué)習(xí)訓(xùn)練和無監(jiān)督聚類4 種方案,其中強(qiáng)監(jiān)督學(xué)習(xí)方法(VGG-16 和ResNet34)以神經(jīng)網(wǎng)絡(luò)為骨干網(wǎng)絡(luò),采用FC(fully connected)全連接層分類,并使用Softmax 函數(shù)進(jìn)行訓(xùn)練。VGG+cluster和ResNet+cluster 表示采用不同預(yù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的聚類方法。實(shí)驗(yàn)結(jié)果如表2 所示。
表 2 采用不同分類方法的分類準(zhǔn)確率Table 2 Classification accuracy rates using different classification methods
結(jié)果表明,與強(qiáng)監(jiān)督學(xué)習(xí)方法相比,基于深度聚類的無監(jiān)督學(xué)習(xí)方法在準(zhǔn)確性上略低于強(qiáng)監(jiān)督學(xué)習(xí)方式,其中,以Resnet 作為骨干網(wǎng)絡(luò),在CIFAR-10上的實(shí)驗(yàn)結(jié)果準(zhǔn)確率相較于強(qiáng)監(jiān)督學(xué)習(xí)方法僅下降了1.55%,在CIFAR-100 上下降了2.91%;以VGG作為骨干網(wǎng)絡(luò),在CIFAR-10 上準(zhǔn)確率下降了3.18%,在CIFAR-100 上準(zhǔn)確率下降了3.42%。結(jié)果表明,深度聚類方法盡管準(zhǔn)確率略低于強(qiáng)監(jiān)督學(xué)習(xí)方法,但依然能夠保持與之相當(dāng)?shù)姆诸悳?zhǔn)確性。
強(qiáng)監(jiān)督學(xué)習(xí)通過“所見即所學(xué)”的方式,在網(wǎng)絡(luò)訓(xùn)練中即已經(jīng)完成了對(duì)測(cè)試樣本不同種類的特征學(xué)習(xí)。而無監(jiān)督學(xué)習(xí)缺乏對(duì)目標(biāo)特征的先驗(yàn)學(xué)習(xí)過程,因此其準(zhǔn)確率會(huì)有所降低。當(dāng)采用弱監(jiān)督學(xué)習(xí)方式時(shí),通過網(wǎng)絡(luò)遷移,其分類準(zhǔn)確性將有所提升。這一結(jié)論已經(jīng)在文獻(xiàn)[22]中得到驗(yàn)證。然而與強(qiáng)監(jiān)督學(xué)習(xí)相比,無監(jiān)督深度聚類方式最大的優(yōu)勢(shì)在于能夠有效對(duì)“未學(xué)習(xí)”的目標(biāo)進(jìn)行分類,而強(qiáng)監(jiān)督學(xué)習(xí)方法不具備解決此問題的能力。
選擇的聚類簇?cái)?shù)量不同時(shí),其產(chǎn)生的分類精細(xì)程度也不同,實(shí)驗(yàn)在CIFAR-100 數(shù)據(jù)集上驗(yàn)證了不同聚類簇?cái)?shù)對(duì)結(jié)果的影響。當(dāng)簇?cái)?shù)設(shè)置為20 時(shí)(CIFAR-100 粗粒度分類數(shù)),其結(jié)果更接近于粗粒度標(biāo)簽;當(dāng)簇?cái)?shù)設(shè)置為100 時(shí)(CIFAR-100 細(xì)粒度分類數(shù)),其結(jié)果更接近于細(xì)粒度標(biāo)簽。表3 顯示了選用VGG-16 時(shí)不同簇?cái)?shù)在CIFAR-100 數(shù)據(jù)集上的準(zhǔn)確率。
表 3 不同簇?cái)?shù)對(duì)分類結(jié)果的影響Table 3 Influence of different numbers of cluster on classification results
結(jié)果表示,選擇不同的聚類簇?cái)?shù),算法對(duì)測(cè)試樣本的分類程度不同,簇?cái)?shù)越多表明分類的程度更細(xì)致,簇?cái)?shù)越少,分類程度越粗。簇?cái)?shù)越多因?yàn)榫垲惙N類越多,因此其準(zhǔn)確率越低。當(dāng)簇?cái)?shù)繼續(xù)增加時(shí),可能會(huì)導(dǎo)致空簇的現(xiàn)象。
值得注意的是,本次實(shí)驗(yàn)中簇?cái)?shù)選擇是獨(dú)立的,即要么選20,要么選100(本文稱之為一級(jí)聚類方式),然而CIFAR 數(shù)據(jù)集中粗粒度和細(xì)粒度分類標(biāo)簽存在“父子”繼承關(guān)系,即每一類粗粒度種類又被細(xì)分為5 個(gè)二級(jí)種類,因此,本實(shí)驗(yàn)亦可按照此類方式設(shè)計(jì),將粗粒度簇?cái)?shù)設(shè)計(jì)為20,再對(duì)每一類進(jìn)行簇?cái)?shù)為5 的細(xì)粒度聚類(本文稱之為二級(jí)聚類方式),其結(jié)果如表4 所示。
表 4 不同聚類等級(jí)對(duì)分類結(jié)果的影響Table 4 Influence of different clustering grades on classification results
結(jié)果表明二級(jí)聚類方式其準(zhǔn)確率相較于一級(jí)聚類方式提高了4.16%,相較于強(qiáng)監(jiān)督分類方法VGG-16 提高了0.74%,表明這種聚類方式更有效。其原因在于,二級(jí)聚類方式是在粗粒度聚類的基礎(chǔ)上實(shí)現(xiàn)的,受益于粗粒度聚類的高準(zhǔn)確率。因此可以通過多級(jí)聚類的方式提高細(xì)粒度聚類的準(zhǔn)確性。
與其他分類方法相比,聚類算法反映了不同輸入之間的特征相似性,不用簇?cái)?shù)表明對(duì)輸入數(shù)據(jù)的分類的精細(xì)程度。對(duì)于無標(biāo)簽的數(shù)據(jù)集,在目標(biāo)種類未知的情況下,深度聚類能夠通過不同聚類數(shù)的選擇實(shí)現(xiàn)不同精細(xì)程度的分類效果,相較于強(qiáng)監(jiān)督分類方法,聚類算法更加靈活。這種分類方式在無標(biāo)簽的數(shù)據(jù)集上更有應(yīng)用意義。
本文提出一種利用深度聚類算法實(shí)現(xiàn)基于目標(biāo)深度特征的細(xì)粒度分類方法。通過卷積神經(jīng)網(wǎng)絡(luò)對(duì)經(jīng)過預(yù)處理的圖像目標(biāo)特征進(jìn)行編碼,利用基于注意機(jī)制的主成分分析方法降維生成表征矩陣,進(jìn)一步利用K-means 方法實(shí)現(xiàn)目標(biāo)類間和類內(nèi)聚類。實(shí)驗(yàn)驗(yàn)證了基于VGG 和ResNet 網(wǎng)絡(luò)的深度聚類算法在CIFAR-10 和CIFAR-100 數(shù)據(jù)集上的有效性,其中基于ResNet-34 的聚類方法在CIFAR-10 細(xì)粒度測(cè)試集上分類性能達(dá)92.71%。此外,可以通過不同簇?cái)?shù)和聚類等級(jí)的選擇實(shí)現(xiàn)不同精細(xì)程度的細(xì)粒度分類。結(jié)果表明,與強(qiáng)監(jiān)督學(xué)習(xí)方法相比,本文所提無監(jiān)督學(xué)習(xí)算法-基于深度聚類的細(xì)粒度目標(biāo)分類方法能夠?qū)崿F(xiàn)與強(qiáng)監(jiān)督學(xué)習(xí)相當(dāng)?shù)姆诸悳?zhǔn)確性。