張澤宇,郭 斌,張?zhí)t
(新疆農業(yè)大學 計算機與信息工程學院,新疆 烏魯木齊 830052)
隨著人工智能技術的飛速發(fā)展,人類社會正在從工業(yè)社會向智能社會邁進,信息智能化是當今世界發(fā)展的趨勢,其將會對新世紀全球的經濟產生深遠的影響。新疆是國內的養(yǎng)馬地區(qū)之一,有著悠久的養(yǎng)馬歷史及濃厚的馬文化底蘊。在馬匹登記測量檢測過程中,由于馬匹體型龐大,性格不如牛、羊等家畜溫和,使得測量工作難度加大。
隨著深度學習在計算機視覺領域的應用,使得基于深度學習的圖像分析處理技術逐步深入到畜牧養(yǎng)殖的各個領域。
其中通過圖像來識別及測量動物的體尺數據成為當今研究的熱點,而拍攝圖像分割結果的優(yōu)劣是一切通過圖像進行動物行為識別、體尺數據測量、體重檢測、健康狀況分析的基礎,圖像分割效果的優(yōu)劣決定了后續(xù)工作的可靠性。
基于深度學習的圖像分割方法是當今計算機視覺領域的研究熱點。2014年Long等人[1]提出了FCN(fully convolutional networks)方法用于圖像語義分割,此算法使用反卷積進行上采樣并將全連接網絡換為卷積網絡,使得網絡模型可以輸入任意尺寸大小的圖片,并且輸出與原圖像相同大小的像素級分類結果。FCN開啟了利用全卷積神經網絡進行圖像分割的熱潮。2015年Olaf Ronneberger等人[2]提出了U-Net算法,此算法廣泛應用于生物醫(yī)學圖像分割,算法中應用編碼層解碼層,對卷積加深處理,對數據的增強使得帶標記數據需求量減少,使得算法在訓練時間方面得以縮短優(yōu)化。2018年Liang-Chieh Chen等人[3-6]提出的Deeplab系列算法,引入空洞卷積(atrous convolution),在不改變圖像的全局信息下,增加了感受野,在特征圖縮小到相同倍數的情況下獲取圖像更多的全局信息,大大提高了算法的精準度。使得在復雜多類圖片上的語義分割效果大幅提升。2018年He Kaiming等人[7]提出Mask R-CNN算法,此算法對物體進行定位與分割,結合了目標檢測與語義分割。在國內,白明月等[8]提出基于YCbCr空間改進CV主動輪廓模型的分割方法,對具有復雜背景的羊體圖像進行分割,此算法在分割之前需要手工勾畫,然后通過模型進行分割,分割物體邊緣有待優(yōu)化。胡志偉等[9]提出基于VGG16與U-NET的全卷積神經網絡模型,以30個視頻文件為原始數據,從視頻中截取圖像作為數據集進行訓練驗證測試,實現了生豬輪廓提取,且分割像素精度(PA)達到94.32%,平均交并比(MIOU)達到86.60%。李林葳等[10]使用改進的遺傳算法對OTSU算法進行優(yōu)化,實現了生豬目標提取,較原算法在計算時間上提升了5%。高云等[11]提出PigNet網絡,在環(huán)境多變控制養(yǎng)殖箱中拍攝圖片作為數據集,解決粘連豬體的分割問題,實現豬體的實例分割。以上算法在有強光噪聲圖像中,還存在分割邊緣不清晰、輪廓模糊的問題。張新峰等[12]使用全卷積神經網絡結合全連接條件場,在預訓練Pascal voc2012數據集生成的模型參數基礎上,訓練舌圖像,細化了分割舌體邊緣,由于在預訓練數據集中并沒有舌圖像,使得模型參數過多,增加了模型文件存儲大小。
基于以上研究進展,該文提出一種結合深度神經網絡(DCCN)[13]與全連接條件隨機場[14]的分割算法,實現馬匹在不同光照環(huán)境下的語義分割。該模型以Xception[15]結構為模型主干,使用兩種類型的神經網絡;加入空洞卷積的空間金字塔模塊(ASPP)[16]和編碼解碼架構(encoder-decoder)[17]進行語義分割,結合全連接條件隨機場優(yōu)化分割邊緣。通過空間金字塔模塊在不同分辨率上的圖片進行池化操作以捕獲豐富的上下文信息,編碼解碼結構實現物體的粗略邊界,高層特征提供語義信息,解碼層恢復馬匹邊界信息。全連接條件隨機場實現全局邊緣優(yōu)化,去除分割邊緣的噪聲,對圖像中所有的像素點建立邊緣勢能,從而實現細化分割效果。
傳統(tǒng)的分類網絡模型通過連續(xù)池化處理或其他下采樣層來整合多尺度上下文信息,這種方式會損失部分像素。該文使用空洞卷積進行多尺度上下文信息聚合而不降低特征圖大小,并且空洞卷積支持感受野的指數增長??斩淳矸e的結構如圖1所示,空洞卷積在二維運算中的表達式如下:
(1)
其中,y[i]為輸出特征圖,ω為卷積核,x[i]為輸入特征圖,參數r為擴張率,用來控制空洞卷積的卷積間隔。當參數r為1時,此時的卷積核為1×1的標準卷積核,可以通過更改擴張率來自適應地修改卷積的感受野。
深度分離卷積將一個完整的卷積運算分解為兩步進行:(1)空間卷積(depthwise convolution);(2)逐點卷積(pointwise convolution)。空間卷積針對每個輸入通道獨立執(zhí)行對空間的卷積,逐點卷積用于組合空間卷積的輸出。深度分離卷積結構與常規(guī)卷積操作類似,可以用來提取特征,但是相比較于常規(guī)卷積操作,參數量與運算成本降低。深度分離卷積原理如圖2所示。
圖2 深度分離卷積原理
傳統(tǒng)卷積如圖2(a)所示,設輸入的特征圖大小為Df×Df×M,輸出特征圖大小為Df×Df×N,卷積核大小為Dk×Dk,則傳統(tǒng)卷積的計算量C1為:
C1=Df×Df×M×Df×Df×N
深度可分離卷積的計算量為空間卷積(depthwise convolution)與1×1卷積(pointwise convolution)的計算量之和,表示為C2:
C2=Dk×Dk×M×Df×Df+M×N×Df×Df
對應圖2(b)、(c)。
目前流行的CNN都需要固定輸入圖片的尺寸,所以基本上都是通過剪裁(crop)和縮放(wrap)。這種處理方式存在三個弊端:①剪裁出的圖片可能不包含整個物體;②圖像的縮放會導致物體變形;③當圖像中物體大小改變后,預定義的比例(scale)可能不適合物體的變化。
CNN網絡對于固定輸入的要求,主要在全連接的分類器層,而特征提取層可以通過控制子采樣比例和卷積核大小來調節(jié),從而接受各種比例和尺寸的輸入,得到固定的特征輸出。該文引入空間金字塔層(SPP),通過SPP來移除CNN對于固定輸入尺寸大小的要求,SPP操作類似深層的信息“融合”??臻g金字塔模型首先是輸入層,尺寸大小可以是任意的,然后進行卷積運算,到最后一個卷積層輸出該層的特征圖(feature map),之后進入由三個并行排列的3種不同參數的卷積核所在的SPP層,最終將3種不同參數卷積核產生的特征合并,形成一個固定大小的輸出。使用加入空洞卷積的空間金字塔模型,將上述三種不同參數卷積換為并行排列的4種不同擴張率的空洞卷積,對圖像中的物體進行多尺度特征的提取,每個通道提取到的特征進行融合,再使用大小為1×1的卷積核進行卷積操作,結構如圖3所示。
圖3 加入空洞卷積的空間金字塔池化模型結構
DCNN的固有特性包括定位的精度及目標的分類,擁有多個最大池化層的深度網絡模型在目標分類中的效果是顯著的,但是頂層節(jié)點的不變性及較大的感受野只能解決平滑的響應。DCNN分數圖(score maps)只能預測粗略的物體位置,卻不能精細地描繪出物體的邊緣輪廓。
條件隨機場(CRF)的作用是平滑分割圖片的噪聲。此模型通過耦合相鄰節(jié)點,以促進空間上相鄰節(jié)點的像素獲得相同的標簽,當然這些短距離CRF的主要功能是消除通過人工標記形成具有局部特征弱分類器的錯誤預測。
該文使用的深度全卷積神經網絡不同于較弱的分類器,在分割預測中使用的架構產生了分數圖(score maps)以及語義標簽的預測值。為了更好地細化邊緣輪廓,引入全連接條件隨機場,將DCNN模型與全連接條件隨機場結合,在DCNN分割的結果上進一步優(yōu)化分割結果的邊緣。全連接條件隨機場的能量函數表達式如式(2):
(2)
其中,x是像素的標簽,一元勢能定義為θi(xi)=-logP(xi),其中P(xi)表示由DCNN預測出的像素為i的馬匹標簽值概率。二元勢能定義如式(3):
(3)
其中當xi=xj時,μ(xi,xj)=0,否則為1。在波茨模型(Potts model)中,表示只懲罰具有不同標簽值的節(jié)點。余下表達式在不同的特征空間中使用兩個高斯核,第一個核是像素位置P和RGB顏色I之間的雙向核,第二個核是依賴像素位置處理平滑的單核,ω為權重,超參數σα,σβ,σγ控制高斯核的尺度。
算法網絡結構如圖4所示。該算法由2部分組成:(1)使用加入空洞卷積的空間金字塔池化模型和融合深度分離卷積的深度卷積網絡;(2)全連接條件隨機場。
圖4 馬匹圖像分割算法結構
首先將馬匹圖像輸入到深度卷積網絡中進行特征提取,使用空洞卷積,在不增加參數的情況下,擴大感受野大小,捕捉更多的尺度信息,并控制前向傳播過程中被計算的特征分辨率,加入深度分離卷積,將空洞卷積與深度分離卷積結合,構成空洞分離卷積(atrous separable convolution),很大程度上減少了計算復雜度,利用ASPP模塊通過結合多個不同擴張率(dilation rate)的深度分離卷積提取多尺度信息。之后利用全連接條件隨機場,對分割邊緣進行優(yōu)化,算法模型的步驟分為:(1)圖像預處理;(2)建立馬匹圖像數據集;(3)人工標注訓練集、驗證集、測試集;(4)在DCNN上進行遷移學習;(5)生成語義分割模型并用測試集測試;(6)全連接條件隨機場優(yōu)化分割邊緣;(7)馬匹圖像分割結果評價。
實驗數據拍攝于新疆伊犁昭蘇縣昭蘇馬場及昭蘇種馬場,采集設備為索尼相機NEX-5T,圖像分辨率為3 658×2 000,馬匹圖像分早中晚不同時間段拍攝,按照采集的天氣條件可以分為光照充足晴天、陰天及陰雨天。景深13.3 m(±0.5),拍攝高度1.5 m,曝光率F5.6。馬匹數據集包含訓練集2 000張、測試集100張,驗證集50張。原始圖像分別于馬匹的正面、左右前側、左右正面、左右后側面共7個方向拍攝。
預處理:原拍攝圖片使用Mac軟件Pixelmator進行圖像翻轉用于數據集擴充,以保證不同拍攝角度的訓練樣本對算法準確度的影響,然后使用TinyPNG進行圖片的壓縮,之后使用MIT開源軟件Labelme[18]進行圖像標記,人工每標記一匹馬的輪廓就賦予具體的馬匹標簽,標記完成后生成.json文件,之后使用Python腳本生成灰度圖。數據集原始圖像與標記圖像如圖5所示。
圖5 圖像標記標簽圖
圖像分割模型在極客云GPU深度學習服務器上進行訓練,主機配置為:顯卡使用Titan RTX,顯存為24 G,處理器為英特爾E5-2680,內存32 G。訓練集、驗證集、測試集的所有圖像實驗前全部采用MIT開源標記軟件Labelme進行人工標注。訓練過程中網絡參數分別設置為:基礎學習率(base_lear-ning_rate)設置為0.000 1,學習率的衰減率(learning_rate_decay_rate)設置為0.1,訓練循環(huán)次數(training_steps)設置為12 000,批處理數據量大小(batch_size)設置為4,訓練裁剪尺寸(train_crop_size)設置為513×513。
本數據集中分割案例為馬匹圖像分割,屬于2分類問題,其中背景占了很大比例,故設置的比例為1∶10。Pascal voc圖像語義分割數據集上有21個類別,其中就包括馬、牛等動物的數據。因此該文基于DCNN在Pascal Voc上的訓練模型,之后加入馬匹圖像數據集進行遷移學習,使得網絡可以更準確地學習馬匹特征,大幅度減少了訓練模型的時間。
評價分割結果指標分別為像素精度(pixel accuracy,PA)、均像素精度(mean pixel accuracy,MPA)與均交并比(mean intersection over union,MIOU),各項指標的定義式如下:
(6)
其中,PA表示正確標記的像素占總像素的比,反映出分割像素的準確性;MIOU表示真實值與預測像素之間的交集并集之比,能充分反映模型分割位置的準確性及分割區(qū)域的完整性。上述指標為衡量圖像語義分割的標準。
網絡分割效果受不同擴張率參數的空洞卷積影響。對比結果如表1。實驗中卷積核尺寸大小為3×3,ASPP模塊中每一個分支的空洞卷積擴張率參數r不同,其中ASPP-8代表擴張率r分別為(1,8,16,24),ASPP-6代表擴張率r為(1,6,12,18),ASPP-4代表擴張率r為(1,4,8,12),ASPP-2代表擴張率r為(1,2,4,6)。在使用加入空洞卷積的空間金字塔模塊中,ASPP-6:(1,6,12,18)的MIOU最高,在經過全連接條件隨機場處理后,MIOU值達到92.8%DCNN在不同網絡基礎(backbone)上的分割結果對比圖,其中包括Mobilenet[19]和Xception[15],以及提出的算法的分割結果,如圖6所示。
表1 不同擴張率參數對算法分割的影響
圖6 分割結果
提出了結合深度卷積神經網絡和全連接條件隨機場算法,結合空洞卷積、深度分離卷積和空間金字塔池化模型,在深度卷積神經網絡上通過自己建立的馬匹圖像數據集進行遷移學習,最后使用全連接條件隨機場完成最后的分割邊緣優(yōu)化,MIOU值達到92.8%。解決了強光照下分割效果不清晰、效果不好和分割前需要人工手動標注分割候選區(qū)等問題。實現馬匹在不同光照環(huán)境下的語義分割。在原模型上分割精度提升3.8%。
該方法具有穩(wěn)定有效的特性,模型分割的馬匹個體輪廓清晰,從而為深度卷積神經網絡技術在馬匹上的應用提供了思路,為通過計算機視覺估測馬匹體尺體重提供了技術支持。