拉毛措,安見才讓,拉毛杰
(1.西藏大學(xué)信息科學(xué)技術(shù)學(xué)院,拉薩850000;2.青海民族大學(xué)計(jì)算機(jī)學(xué)院,西寧810007)
目標(biāo)檢測(cè)與識(shí)別技術(shù)是數(shù)字圖像和視覺領(lǐng)域中的研究熱點(diǎn)之一[1],被廣泛應(yīng)用于人臉識(shí)別、動(dòng)物管理、植物種植、交通管理等應(yīng)用領(lǐng)域中[2-4]。其中的YOLO 算法近年來得到了廣泛的應(yīng)用。但YOLO 算法將目標(biāo)檢測(cè)任務(wù)作為回歸問題來處理,沒有區(qū)分前景與背景區(qū)域的差異,從而產(chǎn)生了較高的誤檢和漏檢率。Faster-RCNN 目標(biāo)檢測(cè)算法[5]在生成感興趣區(qū)域時(shí)就將可能含有待檢測(cè)物體的區(qū)域基本標(biāo)記下來,提高了分類準(zhǔn)確率,也節(jié)省了分類過程的處理時(shí)間。當(dāng)前對(duì)目標(biāo)檢測(cè)算法的改進(jìn)主要包括:采用含有更多特征的、功能更強(qiáng)的基礎(chǔ)神經(jīng)網(wǎng)絡(luò)和融合多尺度的目標(biāo)特征來進(jìn)行目標(biāo)檢測(cè)。溫捷文等人[6]移除了YOLOv2 模型的Dropout 網(wǎng)絡(luò)層,對(duì)特征提取的網(wǎng)絡(luò)部分進(jìn)行規(guī)范化處理,從而比原來YOLO v2 模型獲得了更高的檢測(cè)精確率和更短的訓(xùn)練時(shí)間。Lin 等人[7]利用人工卷積神經(jīng)網(wǎng)絡(luò)的多尺度特征,提出了一種橫向連接、自上而下的具有金字塔形狀的網(wǎng)絡(luò)結(jié)構(gòu),它融合多層的特征圖,用不同的特征尺度分別進(jìn)行目標(biāo)檢測(cè)。胡杰等人[8]提出通道注意力機(jī)制,將其分別應(yīng)用到ResNet 及ResNeXt 等網(wǎng)絡(luò)上,使在ImageNet 2012 數(shù)據(jù)集[9]上分類實(shí)驗(yàn)的top-1 及top-5 的錯(cuò)誤率降低了最多1.80%和1.11%,并在基于COCO 2014 數(shù)據(jù)集[10]的實(shí)驗(yàn)中獲得 mAPIoU = 0.5,比原來提升1.6%。Woo 等人[11]對(duì)卷積操作的通道關(guān)系和空間關(guān)系加權(quán),更優(yōu)地篩選出所需的關(guān)鍵特征。在YOLO v3 檢測(cè)模型提取出卷積特征,但未對(duì)卷積核中不同的特征位置進(jìn)行加權(quán)處理。徐誠(chéng)極等人[12]提出通道注意力及空間注意力機(jī)制串行地加入特征提取網(wǎng)絡(luò)之中,使用經(jīng)過篩選加權(quán)的特征向量來替換原有的特征向量進(jìn)行殘差融合,同時(shí)添加二階項(xiàng)來減少融合過程中的信息損失并加速模型收斂。但在實(shí)際應(yīng)用場(chǎng)景中,圖像中待檢測(cè)物體的四周存在著復(fù)雜而關(guān)鍵的語義信息,如果對(duì)目標(biāo)區(qū)域的特征加上相應(yīng)信息及權(quán)重,模型將能更好地抽取待檢測(cè)目標(biāo)的關(guān)鍵定位信息。鑒于此,提出基于并行注意力機(jī)制的改進(jìn)YOLO v3 算法。在網(wǎng)絡(luò)殘差連接中加入并行注意力機(jī)制,可使加入注意力后的梯度能進(jìn)入更遠(yuǎn)的網(wǎng)絡(luò)中。
深度學(xué)習(xí)的訓(xùn)練需要大量高原畜牧業(yè)動(dòng)物圖像,但目前尚未有關(guān)于青藏高原畜牧動(dòng)物的數(shù)據(jù)集資料公開發(fā)布過,創(chuàng)建工作須從頭展開。模型訓(xùn)練前,首先要到農(nóng)牧區(qū)進(jìn)行實(shí)地采集不同季節(jié)、不同動(dòng)物、不同草場(chǎng)的動(dòng)物圖像,并對(duì)圖像進(jìn)行篩選。最后用圖像標(biāo)注工具進(jìn)行數(shù)據(jù)標(biāo)注,建立青藏高原畜牧動(dòng)物數(shù)據(jù)集。
圖像數(shù)據(jù)采集后,每類動(dòng)物有3000 多張圖像,總數(shù)共計(jì)10060 余張,篩選后,圖像數(shù)量還有減少。顯然此類規(guī)模的數(shù)據(jù)集不算大,為提高性能和魯棒性,在此采用數(shù)據(jù)增強(qiáng)技術(shù)。數(shù)據(jù)增強(qiáng)技術(shù)包括:旋轉(zhuǎn)、平移、縮放、翻轉(zhuǎn)、添加噪聲、增加對(duì)比度等。
深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)集不但要采集真實(shí)的圖像,還需要作詳細(xì)的標(biāo)注,并生成文件。在此使用LabelImage 標(biāo)注工具,對(duì)圖像中的牦牛、藏系羊和馬作出詳細(xì)的人工標(biāo)注。對(duì)牦牛的標(biāo)注情況如圖1 所示。
圖1 對(duì)牦牛的詳細(xì)人工標(biāo)注情況
YOLOv2 算法提出了一種同時(shí)使用訓(xùn)練目標(biāo)檢測(cè)數(shù)據(jù)集和圖像分類數(shù)據(jù)集的方法,并且使模型識(shí)別未曾標(biāo)注過的數(shù)據(jù)。YOLOv3 具有與YOLOv2 一樣的快速與精準(zhǔn),并且更適合小目標(biāo)物體的檢測(cè)和識(shí)別。YOLOv3 算法對(duì)檢測(cè)對(duì)象定位不準(zhǔn)等問題做了改進(jìn),主要包括:種類檢測(cè)從單標(biāo)簽改為多標(biāo)簽,改善了分類性能;在三個(gè)尺度上充分利用圖像中關(guān)鍵特征進(jìn)行檢測(cè);使用殘差連接的網(wǎng)絡(luò)來提取特征。
YOLOv3 主要完成的工作有:①輸入圖像,提取特征;②檢測(cè)邊界框與類別;③清除置信度低的候選框;④計(jì)算分類概率與坐標(biāo)誤差。
作為YOLOv3 的核心的Darknet-53 網(wǎng)絡(luò),是在Darknet-19 的基礎(chǔ)上增加殘差模塊開發(fā)起來的,其結(jié)構(gòu)見圖2。圖像數(shù)據(jù)在網(wǎng)絡(luò)中傳播時(shí),每次用步長(zhǎng)為2 的卷積核作卷積,從而使新圖像的大小比原圖像減小一半。
圖2 Darknet-53 網(wǎng)絡(luò)結(jié)構(gòu)圖
如圖2 可見,經(jīng)過這樣的5 次卷積后,特征圖大小為原來的1/32。因此,輸入圖像大小必須為32 的倍數(shù),此處設(shè)為 416×416(416=32×13)。在 YOLO v3中取消了池化層和全連接層。為解決網(wǎng)絡(luò)中可能出現(xiàn)梯度爆炸或消失的問題,Darknet-53 網(wǎng)絡(luò)結(jié)構(gòu)中采用了residual 結(jié)構(gòu),能夠更好地控制梯度問題。
YOLO v3 增加了殘差模塊,以此緩解隨著深度增加造成的梯度消失問題,效果是能夠在訓(xùn)練成百上千的深度神經(jīng)網(wǎng)絡(luò)的同時(shí)不會(huì)伴隨有錯(cuò)誤數(shù)量的迅速提升。殘差中的1×1 卷積,減少了卷積通道數(shù)、參數(shù)量和網(wǎng)絡(luò)的計(jì)算量[13]。此處對(duì)Darknet-53采用改進(jìn)的殘差模塊,主要考慮到要融合并行的通道注意力和空間域注意力。改進(jìn)的殘差單元如圖3所示。
圖3 Darknet-53 改進(jìn)的殘差單元
算法需要做全局平均池化和全局最大池化。設(shè)通道全局平均池化和全局最大池化的輸出分別為CAtt avg及 CAttmax,且 CAttavg∈R1×1×c,CAttmax∈R1×1×c。一維的權(quán)重向量CAttavg可以篩選出圖像中目標(biāo)物體的全局信息,CAttmax可以篩選出圖像中目標(biāo)物體的顯著特征。設(shè)X=[x1,x2,...,xc],其中xc表示的是第c 個(gè)卷積核的參數(shù),詳細(xì)如下式:
接著,設(shè)有:
分別為兩個(gè)全連接層的共享參數(shù),其中r 為降維比例,取r=16。則通道注意力模塊的輸出為:
同時(shí),并行注意力機(jī)制的空間注意力又需要將xc輸入到模塊中。
設(shè)空間域全局平均池化和全局最大池化的輸出分別為 SAttavg及 SAttmax:
接著,對(duì)特征SAttavg和SAttmax進(jìn)行拼接,并做全連接處理,則空間域注意力模塊部分的輸出為:
進(jìn)一步對(duì)通道注意力特征Aoutputch和空間注意力Soutputsp進(jìn)行拼接,接著做全連接處理,得到最終融合通道和空間注意力的權(quán)重:
再次,通過輸入矩陣xc和注意力權(quán)重矩陣Aoutputatt做內(nèi)積完成對(duì)輸出矩陣xc的加權(quán)操作:
最后,并行注意力機(jī)制模塊的輸出為:
此處輸出模塊的特征向量的維度與輸入的維度一致,沒有對(duì)YOLOv3 的Darknet-53 網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行大幅度的修改,而只對(duì)殘差模塊做了調(diào)整。由于改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)較復(fù)雜,運(yùn)行速度較原網(wǎng)絡(luò)稍慢。
輸入一張符合尺寸的圖像并且分成S×S 網(wǎng)格,在改進(jìn)的YOLOv3 上運(yùn)行得到特征圖,卷積層進(jìn)行三次支路預(yù)測(cè),輸出為:y1:(13×13),y2:(26×26),y3:(52×52)。在每個(gè)分隔的圖像網(wǎng)格上預(yù)測(cè)bounding box(邊界框)及其confidence(置信度),每個(gè) bounding box 都會(huì)產(chǎn)生中心坐標(biāo)(x,y)及寬高坐標(biāo)(w,h)。置信度具體計(jì)算如下:
其中,IOU表示真實(shí)框和邊界框的交集與并集之比。Pr(·)為預(yù)測(cè)網(wǎng)格上是否有目標(biāo),計(jì)算方法如下:
在改進(jìn)YOLOv3 中不但檢測(cè)邊界框和置信度,還要檢測(cè)種類概率Pr(·|·)。當(dāng)網(wǎng)絡(luò)模型訓(xùn)練完而進(jìn)行測(cè)試時(shí),邊界框的類別概率乘以置信度的值得到邊界框的種類置信度,如下式所示:
邊界框的動(dòng)物種類置信度大于閾值0.5,那么該邊界框的目標(biāo)就屬于該種類。
為驗(yàn)證所提出的改進(jìn)YOLO v3 模型對(duì)高原牦牛、藏系羊和馬等動(dòng)物圖像識(shí)別準(zhǔn)確率,抽取531張圖片作為測(cè)試集,其中牦牛213 張,藏系羊200張,馬108 張,采用mAP 值作為評(píng)價(jià)指標(biāo)進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如表1??梢?,改進(jìn)的YOLOv3 網(wǎng)絡(luò)模型的mAP 為89.4%,與原來相比,提高了1.6%。
表1 動(dòng)物識(shí)別實(shí)驗(yàn)結(jié)果
融合并行注意力機(jī)制的改進(jìn)YOLO v3 目標(biāo)檢測(cè)識(shí)別算法繼承了YOLOv3 的優(yōu)點(diǎn),并在模型提取的特征向量上引入并行通道和空間域注意力機(jī)制,進(jìn)行有重點(diǎn)的關(guān)注和修正,使整個(gè)網(wǎng)絡(luò)能更好地檢測(cè)和識(shí)別動(dòng)物種類。該模型對(duì)畜牧業(yè)動(dòng)物圖像中動(dòng)物檢測(cè)、種類識(shí)別準(zhǔn)確率有一定提高,在數(shù)據(jù)集上的實(shí)驗(yàn)表明,在沒有增加太多參數(shù)量的情況下,改進(jìn)YOLOv3 算法比原始算法具有明顯優(yōu)勢(shì)。