楊學文,彭瑞,袁平
(1.四川大學計算機學院,成都610065;2.重慶理工大學軟件工程(兩江人工智能學院),重慶400054;3.重慶第二師范學院數學與信息工程學院,重慶400067)
圖像處理領域研究范圍廣闊,涵蓋從相對簡單的濾波、邊緣檢測到復雜的定位、檢測和分割任務。目標定位和目標檢測是圖像處理領域的重要研究課題,它們都需要在圖片中找出屬于指定類別的目標的位置。不同的是,對于一張圖片,定位任務只需要找出單個目標的位置,檢測任務則需要標注所有指定目標實例的類別和位置。圖像協同定位與這兩種任務的要求類似,但任務約束更弱,對于每張圖片它僅要求至少定位出多個目標實例中的一個。
文獻[2][3]使用預訓練模型提取的圖像特征進行協同定位。文獻[1]引入了噪聲圖像,通過噪聲圖片分類模型提高協同定位模型的性能。文獻[4]對預訓練模型輸出的特征做PCA 降維,然后得到定位區域。
在圖像處理領域,傳統的圖像處理算法需要設計特定的特征提取方法,再結合特征處理算法完成相應的任務要求。但這些特征提取方法不僅依賴于專家級的研究人員設計驗證,并且難以提高整個算法在圖像處理任務上的精度。近些年,深度學習模型在許多任務上取得了突破性的進展,相關學術研究成果層出不窮。在2012 年的ImageNet 圖像分類挑戰賽上,AlexNet 卷積神經網絡擊敗諸多傳統圖像分類算法取得了分類賽的第一名。此后幾年內,研究專家們提出多個高效的通用卷積神經框架,并且在ImageNet 圖像處理挑戰上取得了令人矚目的成績。這些網絡框架,如:VGGNet、GoogleLeNet、ResNet,不僅可以作為分類網絡的基本模型,而且可以被遷移到目標定位、目標檢測,圖像分割等其他計算機視覺任務的算法模型中。由于深度學習模型實現不太復雜,易于部署,許多圖像處理研究成果開始廣泛應用于人們的生活中,例如:人臉識別、車牌識別、目標檢測等。
深度學習模型能自動地提取圖片中有利于圖像處理任務的特征,這些特征從神經網絡的淺層至深層被逐漸加以抽象。對于經過全監督訓練的圖像分類卷積神經網絡模型,淺層的網絡層提取了圖片中目標的邊角特征,深層的網絡層則可以提取圖片中特定目標的輪廓和位置等更抽象的特征。
基于卷積神經網絡模型的這些特點,本文在通用的ResNet50 卷積神經網絡模型上作了改進,提出一種簡單有效的弱監督圖像協同定位算法。本文算法的貢獻如下:①提出了逆卷積分類層用于加大分類網絡特征圖的輸出尺寸;②使用文獻[7]中提出的峰值刺激方法增強了特征圖峰值區域,從而提升了圖像協同定位性能。
本文以通過監督學習方式訓練的卷積神經網絡分類模型作為基本依賴,利用網絡最末層卷積層輸出的特征圖進行轉換,計算得出對于圖片中指定類別目標的定位結果。整個算法分為逆卷積層分類網絡和峰值刺激圖定位算法兩個部分,前一部分用于分類模型的訓練階段,后一部分用于協同定位的目標邊框推斷。
本文算法將ResNet50 作為基本網絡骨架。ResNet網絡是2015 年ImageNet 圖像挑戰賽的圖像分類冠軍,也是其他圖像處理算法中使用頻率非常高的網絡模型框架。與VGGNet、googleLeNet 等網絡相比,ResNet 網絡可以大幅度增加網絡的層數,在特征提取性能上具有難以比及的優勢。隨著網絡深度的提升,卷積神經網絡將會具有更寬的感受野,即可以感知更豐富的圖像整體信息。
雖然ResNet 網絡隨著層數的增加,網絡的特征提取能力變強,但也會由此帶來卷積層輸出特征圖的寬度高度變小的問題。為了替后續的定位算法提供更加清晰的特征圖,本文算法設計了反卷積層以增加輸出特征圖的尺寸。圖1 所示的是本算法的分類模型架構,圖中ResNet50 骨干網絡后接上一個逆卷積網絡層,最后通過全局平均池化層將逆卷積層的輸出映射為對應的分類得分。
具體地,骨干網絡(圖中的ResNet50 backbone)需要將傳統的ResNet50 網絡在卷積層結束后的最大池化層和全連接層除去。逆卷積層采用的卷積核大小為2×2,步長為2×2,通道數為分類所需的類別總數,pad?ding 值為0。逆卷積層結束后,特征圖像的大小將變成原來的2 倍,通過全局平均池化層可以將卷積核的輸出特征圖映射為對應的類別得分,得分值score 需要通過softmax 函數進行激活。
Zeiler[5]等人的工作表明,全監督分類卷積神經網絡的最末部分卷積層輸出的特征圖包含了圖像中目標的輪廓和位置信息。Zhou[6]等人將卷積特征圖直接用于弱監督目標定位。此后,許多弱監督定位或分割算法使用類激活圖(Class Activation Map)作為算法的參考依據。文獻[7]使用了類響應圖和峰值刺激作為弱監督實例分割算法的一部分。由于峰值刺激方法可以強化類別響應圖中的高響應值部分,而本文算法采用的逆卷積層在增加了特征圖大小后需要一種特征值聚集手段,因此在特征圖處理階段本算法采用了峰值刺激方法。

圖1 本算法的分類模型
峰值刺激圖中的高數值(熱值)部分通常代表了圖片中目標所在位置區域,所以可以對峰值刺激圖作歸一化和閾值二值映射以強化特征圖熱值區域。對于轉化后的二值圖像,通過計算圖中像素數值為1 的最大區域,就可以將區域的左上角和右下角的坐標點作為邊框預測結果輸出。
峰值刺激算法的輸入為分類網絡逆卷積層所輸出的特征圖。算法使用核大小為3×3,步長為1×1,pad?ding 為1 的最大池化層作為過濾得到臨時峰值刺激圖。最大池化層輸出的臨時峰值刺激圖與逆卷積層的特征圖大小一致。然后將臨時峰值刺激圖與逆卷積層輸出的特征圖分別重采樣到原圖大小,重采樣使用雙線性插值法。重采樣后的逆卷積層特征圖還需要通過均值過濾得到峰值掩膜(peak mask),用于與臨時峰值刺激圖計算最終的峰值刺激圖。峰值掩膜是由True和False 值組成的標記圖,卷積特征圖中大于均值的像素被標記為True,其余被標記為False。臨時峰值刺激圖保留峰值掩膜對應像素值為True 的像素點的值,其余值設置為0 就生成了最終的峰值刺激圖。

接下來則是計算目標定位框。峰值刺激圖需要使用(0,1)歸一化和閾值二值化處理。(0,1)歸一化的公式如公式1,處理后的峰值刺激圖像素值將被映射到最小值為0,最大值為1 的范圍。之后,二值閾值化會將小于等于閾值的值映射為0,大于閾值的值映射為1。最后將被處理后的二值特征圖中數值為1 的點的邊界區域作為圖像中的目標定位區域,計算區域的邊框坐標就得到了算法輸出。
本文的算法在的公開數據集PASCAL VOC2012 上進行了驗證。PASCAL VOC2012 是一個輕量級的圖像分類、目標檢測、圖像分割任務數據集,它一共包含來自20 個目標類別的17125 張圖片,其中分類訓練集有5717 張圖片,分類測試集5823 張圖片。算法在分類訓練和協同定位算法驗證時使用了測試集和訓練集一共11540 張圖片。分類網絡的ResNet 骨干網絡部分加載了ResNet50 在ImageNet 數據集上的預訓練權值。網絡訓練分為兩個過程,首先在30 個epoch 內訓練逆卷積層,然后將整個分類網絡一起訓練20 個epoch。
表1 和表2 展示了算法實驗的結果,定位框生成部分的二值化閾值可以自行選擇,實驗所示的結果中閾值設置為0.4。表1 展示了使用不同類型特征映射圖的協同定位算法的正確定位比。從表1 中可以看出,單獨使用逆卷積層或峰值刺激圖對算法定位性能提升不大,同時使用了逆卷積層和峰值刺激時,算法的平均正確定位比最大。

表1 算法平均CorLoc 值比較

表2 算法在VOC2012 訓練測試集的20 個類別上的CorLoc
本文使用的協同定位算法的性能評估標準為通用的平均正確定位比例(CorLoc)標準。CorLoc 的計算方法為:對于一張圖片,分別計算圖片中指定類別的所有目標定位框與生成的定位框的IoU 值,如果至少有一對定位框的IoU 值大于0.5 則標記為正確定位,否則標記為錯誤定位。每個類別的CorLoc 值表示正確定位的個數占該類別圖片總數的比例。實驗需要對Pascal Voc 中的所有類別分別統計正確定位比后再求均值,以作為最終評價標準。

公式(2)表示目標邊框交并比(Intersection-over-Union IoU)值的計算方法,即用兩邊框相交部分的像素面積除以兩邊框合并后的像素面積。公式(2)中A 和B 分別表示由兩個邊框各自圍成的區域,area 函數指面積函數。
表2 展示了本文使用的逆卷積層—峰值刺激圖定位算法在PASCAL VOC2012 訓練測試集的20 個類別上分別的正確定位比和平均正確定位比。可以看出,算法對于小物體或紋理單調的物體例如瓶子和電視的定位效果比較差,對于飛機、貓、巴士和馬的定位效果比較好。
協同定位是計算機視覺研究中的一種定位任務。本文提出了一種結合逆卷積層的圖像分類網絡和特征圖峰值刺激的協同定位算法,并且在公開數據集PAS?CAL VOC2012 進行了對比實驗。本文所提出的在分類網絡卷積層輸出部分添加逆卷積層的方法,在骨干網絡輸出特征圖尺寸較小的情況下可以提高輸出特征圖的清晰度,因此也可以被用于弱監督定位和弱監督分割算法中。峰值刺激方法來源于文獻[7]的研究工作中,它可以增強輸出特征圖的峰值區域,優化通過特征圖對圖像中目標區域的定位。