楊學(xué)文,彭瑞,袁平
(1.四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065;2.重慶理工大學(xué)軟件工程(兩江人工智能學(xué)院),重慶400054;3.重慶第二師范學(xué)院數(shù)學(xué)與信息工程學(xué)院,重慶400067)
圖像處理領(lǐng)域研究范圍廣闊,涵蓋從相對(duì)簡(jiǎn)單的濾波、邊緣檢測(cè)到復(fù)雜的定位、檢測(cè)和分割任務(wù)。目標(biāo)定位和目標(biāo)檢測(cè)是圖像處理領(lǐng)域的重要研究課題,它們都需要在圖片中找出屬于指定類別的目標(biāo)的位置。不同的是,對(duì)于一張圖片,定位任務(wù)只需要找出單個(gè)目標(biāo)的位置,檢測(cè)任務(wù)則需要標(biāo)注所有指定目標(biāo)實(shí)例的類別和位置。圖像協(xié)同定位與這兩種任務(wù)的要求類似,但任務(wù)約束更弱,對(duì)于每張圖片它僅要求至少定位出多個(gè)目標(biāo)實(shí)例中的一個(gè)。
文獻(xiàn)[2][3]使用預(yù)訓(xùn)練模型提取的圖像特征進(jìn)行協(xié)同定位。文獻(xiàn)[1]引入了噪聲圖像,通過噪聲圖片分類模型提高協(xié)同定位模型的性能。文獻(xiàn)[4]對(duì)預(yù)訓(xùn)練模型輸出的特征做PCA 降維,然后得到定位區(qū)域。
在圖像處理領(lǐng)域,傳統(tǒng)的圖像處理算法需要設(shè)計(jì)特定的特征提取方法,再結(jié)合特征處理算法完成相應(yīng)的任務(wù)要求。但這些特征提取方法不僅依賴于專家級(jí)的研究人員設(shè)計(jì)驗(yàn)證,并且難以提高整個(gè)算法在圖像處理任務(wù)上的精度。近些年,深度學(xué)習(xí)模型在許多任務(wù)上取得了突破性的進(jìn)展,相關(guān)學(xué)術(shù)研究成果層出不窮。在2012 年的ImageNet 圖像分類挑戰(zhàn)賽上,AlexNet 卷積神經(jīng)網(wǎng)絡(luò)擊敗諸多傳統(tǒng)圖像分類算法取得了分類賽的第一名。此后幾年內(nèi),研究專家們提出多個(gè)高效的通用卷積神經(jīng)框架,并且在ImageNet 圖像處理挑戰(zhàn)上取得了令人矚目的成績(jī)。這些網(wǎng)絡(luò)框架,如:VGGNet、GoogleLeNet、ResNet,不僅可以作為分類網(wǎng)絡(luò)的基本模型,而且可以被遷移到目標(biāo)定位、目標(biāo)檢測(cè),圖像分割等其他計(jì)算機(jī)視覺任務(wù)的算法模型中。由于深度學(xué)習(xí)模型實(shí)現(xiàn)不太復(fù)雜,易于部署,許多圖像處理研究成果開始廣泛應(yīng)用于人們的生活中,例如:人臉識(shí)別、車牌識(shí)別、目標(biāo)檢測(cè)等。
深度學(xué)習(xí)模型能自動(dòng)地提取圖片中有利于圖像處理任務(wù)的特征,這些特征從神經(jīng)網(wǎng)絡(luò)的淺層至深層被逐漸加以抽象。對(duì)于經(jīng)過全監(jiān)督訓(xùn)練的圖像分類卷積神經(jīng)網(wǎng)絡(luò)模型,淺層的網(wǎng)絡(luò)層提取了圖片中目標(biāo)的邊角特征,深層的網(wǎng)絡(luò)層則可以提取圖片中特定目標(biāo)的輪廓和位置等更抽象的特征。
基于卷積神經(jīng)網(wǎng)絡(luò)模型的這些特點(diǎn),本文在通用的ResNet50 卷積神經(jīng)網(wǎng)絡(luò)模型上作了改進(jìn),提出一種簡(jiǎn)單有效的弱監(jiān)督圖像協(xié)同定位算法。本文算法的貢獻(xiàn)如下:①提出了逆卷積分類層用于加大分類網(wǎng)絡(luò)特征圖的輸出尺寸;②使用文獻(xiàn)[7]中提出的峰值刺激方法增強(qiáng)了特征圖峰值區(qū)域,從而提升了圖像協(xié)同定位性能。
本文以通過監(jiān)督學(xué)習(xí)方式訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)分類模型作為基本依賴,利用網(wǎng)絡(luò)最末層卷積層輸出的特征圖進(jìn)行轉(zhuǎn)換,計(jì)算得出對(duì)于圖片中指定類別目標(biāo)的定位結(jié)果。整個(gè)算法分為逆卷積層分類網(wǎng)絡(luò)和峰值刺激圖定位算法兩個(gè)部分,前一部分用于分類模型的訓(xùn)練階段,后一部分用于協(xié)同定位的目標(biāo)邊框推斷。
本文算法將ResNet50 作為基本網(wǎng)絡(luò)骨架。ResNet網(wǎng)絡(luò)是2015 年ImageNet 圖像挑戰(zhàn)賽的圖像分類冠軍,也是其他圖像處理算法中使用頻率非常高的網(wǎng)絡(luò)模型框架。與VGGNet、googleLeNet 等網(wǎng)絡(luò)相比,ResNet 網(wǎng)絡(luò)可以大幅度增加網(wǎng)絡(luò)的層數(shù),在特征提取性能上具有難以比及的優(yōu)勢(shì)。隨著網(wǎng)絡(luò)深度的提升,卷積神經(jīng)網(wǎng)絡(luò)將會(huì)具有更寬的感受野,即可以感知更豐富的圖像整體信息。
雖然ResNet 網(wǎng)絡(luò)隨著層數(shù)的增加,網(wǎng)絡(luò)的特征提取能力變強(qiáng),但也會(huì)由此帶來卷積層輸出特征圖的寬度高度變小的問題。為了替后續(xù)的定位算法提供更加清晰的特征圖,本文算法設(shè)計(jì)了反卷積層以增加輸出特征圖的尺寸。圖1 所示的是本算法的分類模型架構(gòu),圖中ResNet50 骨干網(wǎng)絡(luò)后接上一個(gè)逆卷積網(wǎng)絡(luò)層,最后通過全局平均池化層將逆卷積層的輸出映射為對(duì)應(yīng)的分類得分。
具體地,骨干網(wǎng)絡(luò)(圖中的ResNet50 backbone)需要將傳統(tǒng)的ResNet50 網(wǎng)絡(luò)在卷積層結(jié)束后的最大池化層和全連接層除去。逆卷積層采用的卷積核大小為2×2,步長(zhǎng)為2×2,通道數(shù)為分類所需的類別總數(shù),pad?ding 值為0。逆卷積層結(jié)束后,特征圖像的大小將變成原來的2 倍,通過全局平均池化層可以將卷積核的輸出特征圖映射為對(duì)應(yīng)的類別得分,得分值score 需要通過softmax 函數(shù)進(jìn)行激活。
Zeiler[5]等人的工作表明,全監(jiān)督分類卷積神經(jīng)網(wǎng)絡(luò)的最末部分卷積層輸出的特征圖包含了圖像中目標(biāo)的輪廓和位置信息。Zhou[6]等人將卷積特征圖直接用于弱監(jiān)督目標(biāo)定位。此后,許多弱監(jiān)督定位或分割算法使用類激活圖(Class Activation Map)作為算法的參考依據(jù)。文獻(xiàn)[7]使用了類響應(yīng)圖和峰值刺激作為弱監(jiān)督實(shí)例分割算法的一部分。由于峰值刺激方法可以強(qiáng)化類別響應(yīng)圖中的高響應(yīng)值部分,而本文算法采用的逆卷積層在增加了特征圖大小后需要一種特征值聚集手段,因此在特征圖處理階段本算法采用了峰值刺激方法。
圖1 本算法的分類模型
峰值刺激圖中的高數(shù)值(熱值)部分通常代表了圖片中目標(biāo)所在位置區(qū)域,所以可以對(duì)峰值刺激圖作歸一化和閾值二值映射以強(qiáng)化特征圖熱值區(qū)域。對(duì)于轉(zhuǎn)化后的二值圖像,通過計(jì)算圖中像素?cái)?shù)值為1 的最大區(qū)域,就可以將區(qū)域的左上角和右下角的坐標(biāo)點(diǎn)作為邊框預(yù)測(cè)結(jié)果輸出。
峰值刺激算法的輸入為分類網(wǎng)絡(luò)逆卷積層所輸出的特征圖。算法使用核大小為3×3,步長(zhǎng)為1×1,pad?ding 為1 的最大池化層作為過濾得到臨時(shí)峰值刺激圖。最大池化層輸出的臨時(shí)峰值刺激圖與逆卷積層的特征圖大小一致。然后將臨時(shí)峰值刺激圖與逆卷積層輸出的特征圖分別重采樣到原圖大小,重采樣使用雙線性插值法。重采樣后的逆卷積層特征圖還需要通過均值過濾得到峰值掩膜(peak mask),用于與臨時(shí)峰值刺激圖計(jì)算最終的峰值刺激圖。峰值掩膜是由True和False 值組成的標(biāo)記圖,卷積特征圖中大于均值的像素被標(biāo)記為True,其余被標(biāo)記為False。臨時(shí)峰值刺激圖保留峰值掩膜對(duì)應(yīng)像素值為True 的像素點(diǎn)的值,其余值設(shè)置為0 就生成了最終的峰值刺激圖。
接下來則是計(jì)算目標(biāo)定位框。峰值刺激圖需要使用(0,1)歸一化和閾值二值化處理。(0,1)歸一化的公式如公式1,處理后的峰值刺激圖像素值將被映射到最小值為0,最大值為1 的范圍。之后,二值閾值化會(huì)將小于等于閾值的值映射為0,大于閾值的值映射為1。最后將被處理后的二值特征圖中數(shù)值為1 的點(diǎn)的邊界區(qū)域作為圖像中的目標(biāo)定位區(qū)域,計(jì)算區(qū)域的邊框坐標(biāo)就得到了算法輸出。
本文的算法在的公開數(shù)據(jù)集PASCAL VOC2012 上進(jìn)行了驗(yàn)證。PASCAL VOC2012 是一個(gè)輕量級(jí)的圖像分類、目標(biāo)檢測(cè)、圖像分割任務(wù)數(shù)據(jù)集,它一共包含來自20 個(gè)目標(biāo)類別的17125 張圖片,其中分類訓(xùn)練集有5717 張圖片,分類測(cè)試集5823 張圖片。算法在分類訓(xùn)練和協(xié)同定位算法驗(yàn)證時(shí)使用了測(cè)試集和訓(xùn)練集一共11540 張圖片。分類網(wǎng)絡(luò)的ResNet 骨干網(wǎng)絡(luò)部分加載了ResNet50 在ImageNet 數(shù)據(jù)集上的預(yù)訓(xùn)練權(quán)值。網(wǎng)絡(luò)訓(xùn)練分為兩個(gè)過程,首先在30 個(gè)epoch 內(nèi)訓(xùn)練逆卷積層,然后將整個(gè)分類網(wǎng)絡(luò)一起訓(xùn)練20 個(gè)epoch。
表1 和表2 展示了算法實(shí)驗(yàn)的結(jié)果,定位框生成部分的二值化閾值可以自行選擇,實(shí)驗(yàn)所示的結(jié)果中閾值設(shè)置為0.4。表1 展示了使用不同類型特征映射圖的協(xié)同定位算法的正確定位比。從表1 中可以看出,單獨(dú)使用逆卷積層或峰值刺激圖對(duì)算法定位性能提升不大,同時(shí)使用了逆卷積層和峰值刺激時(shí),算法的平均正確定位比最大。
表1 算法平均CorLoc 值比較
表2 算法在VOC2012 訓(xùn)練測(cè)試集的20 個(gè)類別上的CorLoc
本文使用的協(xié)同定位算法的性能評(píng)估標(biāo)準(zhǔn)為通用的平均正確定位比例(CorLoc)標(biāo)準(zhǔn)。CorLoc 的計(jì)算方法為:對(duì)于一張圖片,分別計(jì)算圖片中指定類別的所有目標(biāo)定位框與生成的定位框的IoU 值,如果至少有一對(duì)定位框的IoU 值大于0.5 則標(biāo)記為正確定位,否則標(biāo)記為錯(cuò)誤定位。每個(gè)類別的CorLoc 值表示正確定位的個(gè)數(shù)占該類別圖片總數(shù)的比例。實(shí)驗(yàn)需要對(duì)Pascal Voc 中的所有類別分別統(tǒng)計(jì)正確定位比后再求均值,以作為最終評(píng)價(jià)標(biāo)準(zhǔn)。
公式(2)表示目標(biāo)邊框交并比(Intersection-over-Union IoU)值的計(jì)算方法,即用兩邊框相交部分的像素面積除以兩邊框合并后的像素面積。公式(2)中A 和B 分別表示由兩個(gè)邊框各自圍成的區(qū)域,area 函數(shù)指面積函數(shù)。
表2 展示了本文使用的逆卷積層—峰值刺激圖定位算法在PASCAL VOC2012 訓(xùn)練測(cè)試集的20 個(gè)類別上分別的正確定位比和平均正確定位比??梢钥闯?,算法對(duì)于小物體或紋理單調(diào)的物體例如瓶子和電視的定位效果比較差,對(duì)于飛機(jī)、貓、巴士和馬的定位效果比較好。
協(xié)同定位是計(jì)算機(jī)視覺研究中的一種定位任務(wù)。本文提出了一種結(jié)合逆卷積層的圖像分類網(wǎng)絡(luò)和特征圖峰值刺激的協(xié)同定位算法,并且在公開數(shù)據(jù)集PAS?CAL VOC2012 進(jìn)行了對(duì)比實(shí)驗(yàn)。本文所提出的在分類網(wǎng)絡(luò)卷積層輸出部分添加逆卷積層的方法,在骨干網(wǎng)絡(luò)輸出特征圖尺寸較小的情況下可以提高輸出特征圖的清晰度,因此也可以被用于弱監(jiān)督定位和弱監(jiān)督分割算法中。峰值刺激方法來源于文獻(xiàn)[7]的研究工作中,它可以增強(qiáng)輸出特征圖的峰值區(qū)域,優(yōu)化通過特征圖對(duì)圖像中目標(biāo)區(qū)域的定位。