王昱潭,朱超偉,趙 琛,李樂凱,李 萍,馮朝旭,薛君蕊,李嘉婧,張加欣
寧夏大學(xué) 機(jī)械工程學(xué)院,銀川 750000
靈武長棗作為寧夏靈武市重要的經(jīng)濟(jì)林果之一,其最佳采摘期僅為20天左右。當(dāng)下采摘方式仍是人工架梯采摘,危險(xiǎn)性高,效率低。隨著種植面積和產(chǎn)量的逐年增加,以及人口老齡化的加劇,研發(fā)相應(yīng)的智能采摘裝備是必然的。機(jī)器視覺部分作為智能采摘裝備的圖像信息采集處理環(huán)節(jié),決定著該設(shè)備的可行性和工作效率。
研究人員在靈武長棗的圖像分割領(lǐng)域做了大量的工作。王昱潭[1]根據(jù)靈武長棗的顏色特性,提出了基于顏色空間各分量特性和基于色差融合的兩種在自然場景下的靈武長棗圖像分割算法。這兩種算法能很好地解決少量、輕度的粘連、遮擋和光線不均等問題,降低特定環(huán)境對圖像分割的影響,并可以分別提取棗子的紅色區(qū)域和綠色區(qū)域,分割成功率達(dá)到93.27%。后續(xù)對于靈武長棗彩色圖像又提出了基于最大熵的圖像分割方法[2],對于靈武長棗的彩色圖像分割有很好的效果,分割的準(zhǔn)確性為89.60%。趙琛等[3]針對靈武長棗幾何特征的形態(tài)學(xué)研究提出了一種基于幾何特征的靈武長棗圖像分割算法,對于果實(shí)粘連較輕的圖像,其分割準(zhǔn)確率可達(dá)到92.31%。對于其他圖像目標(biāo)的檢測識別方法很多選擇卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)。如傅隆生等[4]以田間多簇獼猴桃為研究對象,利用LeNet 卷積神經(jīng)網(wǎng)絡(luò)對田間多簇獼猴桃圖像進(jìn)行識別,對于不同的田間情況其識別率不同,其中針對獨(dú)立果實(shí)的識別率最高為94.78%。鄭一力等[5]以提高植物葉片的識別率為出發(fā)點(diǎn),在大量數(shù)據(jù)集的基礎(chǔ)上利用AlexNet 和InceptionV3 卷積神經(jīng)網(wǎng)絡(luò)模型對植物葉片圖像進(jìn)行遷移訓(xùn)練,這兩種模型的準(zhǔn)確率分別為95.31%、95.40%,相對SVM(Support Vector Machine)、CNN 和DBN(Deep Belief Network)的準(zhǔn)確率高,但時(shí)間稍長。Zhang 等[6]在處理圖像檢測時(shí)應(yīng)用快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast R-CNN)方法,優(yōu)化錨點(diǎn)和錨的大小使之對COCO2014數(shù)據(jù)集的訓(xùn)練檢測更加精準(zhǔn)。
在特定環(huán)境情況下利用傳統(tǒng)分割算法是非常有效的[7],但是環(huán)境的變化對于算法有著較大影響。智能采摘裝備在田間野外工作,周圍環(huán)境的變化是未知的,太陽光照、樹葉遮擋等都會直接影響圖像分割效率和目標(biāo)檢測的準(zhǔn)確度。
以更快速的區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Faster R-CNN)[8]為代表的當(dāng)代神經(jīng)網(wǎng)絡(luò)算法已經(jīng)能夠適應(yīng)各種環(huán)境,達(dá)到準(zhǔn)確檢測識別目標(biāo)的效果。設(shè)計(jì)了一種具有自我學(xué)習(xí)能力、魯棒性穩(wěn)定、環(huán)境適應(yīng)能力強(qiáng)和學(xué)習(xí)精準(zhǔn)度高的雙損失函數(shù)Faster R-CNN模型。標(biāo)準(zhǔn)的Faster R-CNN網(wǎng)絡(luò)模型針對公共數(shù)據(jù)集的檢測效果明顯,但對于田間靈武長棗時(shí)時(shí)變化的環(huán)境,光照強(qiáng)度、枝葉遮擋、果果重疊黏連、不同角度、順逆光、不同采集設(shè)備等條件下的分類損失會增大,同時(shí)目標(biāo)候選框的回歸損失增加。成熟網(wǎng)絡(luò)結(jié)構(gòu)特征的提取隨著卷積層數(shù)的加深趨于收斂,一般情況下特征提取對網(wǎng)絡(luò)檢測效果有限。以首個(gè)區(qū)域生成網(wǎng)絡(luò)(Region Proposal Network,RPN)層損失函數(shù)輸出作為新的特征,分別連接其他損失函數(shù)進(jìn)行集成運(yùn)算。得到長棗圖像檢測網(wǎng)絡(luò),調(diào)試各網(wǎng)絡(luò)參數(shù)達(dá)到速度和準(zhǔn)確度最優(yōu)化,與標(biāo)準(zhǔn)網(wǎng)絡(luò)模型ResNet101、ResNet50[9-11]網(wǎng)絡(luò)以及單一損失函數(shù)網(wǎng)絡(luò)進(jìn)行對比實(shí)驗(yàn),驗(yàn)證本文設(shè)計(jì)的網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)越性。再運(yùn)用測試集檢驗(yàn)Faster R-CNN網(wǎng)絡(luò)模型的準(zhǔn)確率。最后建立評價(jià)指標(biāo)對測試集結(jié)果進(jìn)行評估。
圖像數(shù)據(jù)于2016—2018 年9 月中旬到10 月初在寧夏靈武市長棗實(shí)驗(yàn)基地,自然狀況下對靈武長棗進(jìn)行拍攝取樣。長棗圖像拍攝設(shè)備為型號FUJIFILM FinePix S1800的數(shù)碼相機(jī),獲得分辨率為3 016×4 032和4 608×3 456 兩種圖像。圖像取樣的原則是按照不同時(shí)刻、不同光照、遮擋、黏連、重疊、陰影等多樣化情況,保證數(shù)據(jù)集的多樣性。部分情況原始圖像如圖1所示。
圖1 部分情況原始圖像
從實(shí)地采集的靈武長棗圖像中共選取合格圖像1 097 張,建立自然環(huán)境下靈武長棗圖像數(shù)據(jù)集。對獲取的合格原始數(shù)據(jù),在不影響目標(biāo)識別準(zhǔn)確度的前提下,為加快訓(xùn)練對原始數(shù)據(jù)進(jìn)行系列的預(yù)處理。針對圖像像素進(jìn)行大小處理,統(tǒng)一修改為256×256 的規(guī)格,為之后的數(shù)據(jù)訓(xùn)練節(jié)省時(shí)間,同時(shí)將圖像的序號隨機(jī)選擇并重新編輯,保證其連續(xù)性、規(guī)范性和隨機(jī)性。在采集圖像環(huán)境多樣性的條件下為使目標(biāo)在圖像中的姿態(tài)多樣化,將全部圖像按中心點(diǎn)逆時(shí)針旋轉(zhuǎn),在0°~180°每間隔10°進(jìn)行一次旋轉(zhuǎn),共計(jì)18 次,并將原始圖像進(jìn)行一次鏡像,最終獲得原始圖像20倍的數(shù)據(jù)共計(jì)21 940張。這樣訓(xùn)練集在尋找目標(biāo)的特征時(shí)增加了角度因素,減小了模型的過擬合現(xiàn)象。
以上是針對圖像進(jìn)行的系列處理,完備的數(shù)據(jù)集既包含訓(xùn)練集也有測試集,接下來在現(xiàn)有的數(shù)據(jù)集21 940張中選取前20 000張作為訓(xùn)練集,后1 940張作為測試集。
在深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)算法領(lǐng)域,基于區(qū)域選擇目標(biāo)檢測與識別算法中Faster R-CNN是應(yīng)用最成熟的一種框架。它相對區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(R-CNN)[12]和快速區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Fast R-CNN)[13],克服了提取卷積特征時(shí)產(chǎn)生的冗余操作,同時(shí)提出了區(qū)域生成網(wǎng)絡(luò)[14](RPN),并融入GPU 運(yùn)算,在不降低精度的同時(shí)大大提高了算法的檢測和識別速度。但在使用單一損失函數(shù)情況下存在分類的誤識別和識別遺漏,回歸層長棗目標(biāo)的框定出現(xiàn)冗余過大或過小,尤其是果果黏連、葉果遮擋的情況。使用雙損失函數(shù)是為了進(jìn)一步細(xì)化分類和減小回歸損失,有效提高檢測精度。
1.3.1 RPN
RPN模型在數(shù)據(jù)訓(xùn)練過程中,其輸入端接收到前一層任意大小的特征圖,以一個(gè)3×3的滑窗按特定步長搜索整個(gè)特征圖,在這些滑窗的中心點(diǎn)對應(yīng)著特征圖上的錨點(diǎn)(Anchors),錨點(diǎn)生成與之匹配的9個(gè)預(yù)測目標(biāo)候選框。這里將預(yù)測候選框和之前已經(jīng)標(biāo)定好的訓(xùn)練集數(shù)據(jù)中的矩形框進(jìn)行定位精度評價(jià)(IOU),預(yù)測候選框經(jīng)過非極大值抑制(Non-Maximum Suppression,NMS),評價(jià)值只有大于0.7的正樣本才加入訓(xùn)練;接下來每一張?zhí)卣鲌D中所有滑窗選擇的矩形窗口被映射為一個(gè)256維的向量,該向量傳送到邊框分類網(wǎng)絡(luò)和邊框回歸網(wǎng)絡(luò),輸出端會得到一系列矩形目標(biāo)候選區(qū),這就是RPN 的訓(xùn)練機(jī)制。RPN 訓(xùn)練過程中使用反向傳播和隨機(jī)梯度下降進(jìn)行優(yōu)化,其損失函數(shù)是分類誤差和回歸誤差的聯(lián)合損失:
SmoothL1平滑函數(shù)對離群點(diǎn)和異常點(diǎn)不敏感有利于控制梯度的量級。
其中,L為RPN聯(lián)合損失,i為第幾個(gè)錨點(diǎn),Lcls為分類損失函數(shù),Lreg為回歸損失函數(shù),Ncls為分類樣本數(shù),Nreg為回歸樣本數(shù),ti為預(yù)測邊界框坐標(biāo)向量,為真實(shí)邊界框坐標(biāo)向量,pi為目標(biāo)的預(yù)測概率,為錨點(diǎn)判別值。
經(jīng)過RPN層的分類,可以獲取候選區(qū)域,候選區(qū)域映射到原始圖像中存在圖2所示問題。
圖2 第一層損失函數(shù)效果圖
單層RPN 的訓(xùn)練,單一IOU 進(jìn)行正負(fù)樣本值域劃分會導(dǎo)致誤識別、重疊、邊框回歸不精準(zhǔn)等問題,雖然加入了非極大值抑制,但從結(jié)果來看仍然存在上述問題。
在經(jīng)歷本層的分類損失函數(shù)softmax[15]后,得到以錨點(diǎn)為中心的區(qū)域各點(diǎn)概率值,選取≥0.9 的點(diǎn),將其對應(yīng)特征圖中的區(qū)域作為感興趣區(qū)域,此后不進(jìn)行池化處理,將得到含有感興趣區(qū)域的特征圖作為新的特征圖再次進(jìn)行一次損失訓(xùn)練,但這一層的損失函數(shù)并不是重復(fù)性地添加。單一地添加softmax函數(shù)其分類機(jī)制完全相同,重復(fù)計(jì)算不能達(dá)到精度提升的效果。下面通過兩種機(jī)制不同的損失函數(shù)進(jìn)行分類處理,得到每個(gè)種類的概率值,選取最大的為感興趣候選項(xiàng)。
這兩種分類損失函數(shù)是利用softmax函數(shù)發(fā)展形成的更為精準(zhǔn)的損失函數(shù)。softmax概率的矢量公式:
其中,O為輸出層得到的數(shù)值矩陣,x為輸入特征圖中像素點(diǎn),W為權(quán)值矩陣,b為偏置矩陣。為使輸出的概率值在( 0,1) 之間,將輸入的特征做以下變換:
其中,總的多分類類別為k,j∈[1,k]表示第j類,L為softmax 的交叉熵?fù)p失函數(shù)值,Li為中間函數(shù),N為參與訓(xùn)練的樣本數(shù)量,是第y類里第i個(gè)輸入的權(quán)值,θyi,i代表了和xi之間的夾角。
在此基礎(chǔ)上,對公式進(jìn)行限定,固定‖ ‖W和b的值,使得角度因素權(quán)重增大,從而得到修正的損失函數(shù)(modified softmax loss):
為使該式具有單調(diào)性,引進(jìn):
其中,φ(θyi,i)=( -1)kcosθyi,i-2k,m=4 。綜上得到A-softmax loss公式。
相對于A-softmax loss而言,L-softmax loss在公式中的區(qū)別是‖W‖并沒有進(jìn)行歸一化處理,而是保留了權(quán)重模量上的影響。其公式如下:
公式中取所有權(quán)值‖W‖=1,偏置b=0。這樣的數(shù)值最簡單。
在多類別中間隔較小的類別不易分割,從上式中的影響因素分析,參數(shù)θyi,i的變化能使間隔產(chǎn)生較大的變化,這種變化的方式需要在θyi,i前加個(gè)數(shù)值m,在獲取感興趣區(qū)域時(shí)使得約束更強(qiáng),數(shù)值更準(zhǔn)確。得到公式:
不僅在角度方面對分類規(guī)則進(jìn)行加強(qiáng)限制,同時(shí)在種類的距離上也具有限制作用。真正在訓(xùn)練時(shí),精度是A-softmax loss的單約束高,還是L-softmax loss的雙約束更能滿足要求并不確定,包括softmax loss 都各有優(yōu)勢。所以這里選擇A-softmax loss 和L-softmax loss 作為第二次損失計(jì)算的兩種函數(shù)。
整個(gè)Faster R-CNN網(wǎng)絡(luò)的訓(xùn)練結(jié)果是要生成一個(gè)檢測器(detector)[16],用于驗(yàn)證智能采摘裝置的視覺部分的實(shí)際應(yīng)用。
本文設(shè)計(jì)的Faster R-CNN 框架結(jié)構(gòu)示意圖如圖3所示。
圖3 Faster R-CNN框架結(jié)構(gòu)示意圖
(1)卷積層(Conv Layers):該層由基礎(chǔ)的卷積(Conv)層、線性整流函數(shù)(ReLU)層、池化(Pooling)層組成。輸入訓(xùn)練集圖像經(jīng)過RGB 三通道進(jìn)行顏色維度的擴(kuò)大,使提取特征時(shí)顏色這一因素的比重增加,分別對每一通道進(jìn)行卷積。這一層的處理提取到了圖像的特征圖(feature maps),在后續(xù)的處理當(dāng)中feature maps將會被RPN網(wǎng)絡(luò)與Fast R-CNN網(wǎng)絡(luò)共享。
(2)RPN:在獲取特征圖后,RPN層按照一定的滑動(dòng)框搜索機(jī)制實(shí)現(xiàn)場景中目標(biāo)候選區(qū)域(region proposals)的選取,通過全連接卷積層送達(dá)到softmax 分類器進(jìn)行前景和背景的錨點(diǎn)概率值計(jì)算。關(guān)鍵點(diǎn)在于能夠?qū)⒑蜻x區(qū)域以新的特征圖傳遞到兩種損失函數(shù),所傳遞的特征圖相對于SS搜索機(jī)制得到的特征圖極大地舍去了無關(guān)特征,提高了檢測精度。
(3)RPN第二次損失函數(shù)的運(yùn)用:在單一softmax函數(shù)不能有效區(qū)分目標(biāo)所在的候選區(qū)域以及目標(biāo)的合適回歸位置時(shí),在此添加一層損失函數(shù)是有必要的。之前使用的softmax再次重復(fù)使用會導(dǎo)致分類回歸的收斂性增加。增加兩種不同的損失函數(shù)減緩其收斂,同時(shí)選取兩者中最高精度的損失值,映射得到新的候選區(qū)域傳遞至下一步運(yùn)算。
(4)感興趣區(qū)域池化層(ROI Pooling Layer),該層是屬于Fast R-CNN網(wǎng)絡(luò)的結(jié)構(gòu)之一,在沒有RPN層時(shí)要得到感興趣區(qū)域很費(fèi)時(shí)。一方面接收RPN層新的候選區(qū)域,另一方面接收共享的特征圖,綜合兩方面信息提取出感興趣區(qū)域特征圖(proposal feature maps),將得到的感興趣區(qū)域特征圖經(jīng)過池化傳輸給全連接層進(jìn)行目標(biāo)類別判定,這將大大提高目標(biāo)的檢測速度。
(5)分類(Classification):分類層利用已經(jīng)獲得的感興趣區(qū)域特征圖,通過全連接層與softmax 分類器計(jì)算每個(gè)感興趣區(qū)域具體屬于那個(gè)類別,同時(shí)再次利用邊框回歸獲得每個(gè)感興趣區(qū)域框的位置偏移量,用于精確目標(biāo)檢測框。
1.3.2 Fast R-CNN
Faster R-CNN 網(wǎng)絡(luò)是由Fast R-CNN 網(wǎng)絡(luò)發(fā)展而來,其中也包含了Fast R-CNN網(wǎng)絡(luò),如圖4所示。
其優(yōu)越之處是利用RPN層代替SS策略[17]提取目標(biāo)候選區(qū)域?,F(xiàn)將輸入的圖像經(jīng)過5個(gè)Conv層、5個(gè)ReLU層、4個(gè)Max Pooling層和5個(gè)BN(Batch Normalization)[18]層得到特征圖,用BN層做歸一化處理保證在深度神經(jīng)網(wǎng)絡(luò)中輸入分布的均勻性。特征圖和RPN層的結(jié)果感興趣區(qū)域框結(jié)合傳到ROI pooling層,進(jìn)而直接用softmax分類器進(jìn)行計(jì)算,得出兩個(gè)平行輸出層:分類層和邊界回歸層[19]。
每個(gè)感興趣區(qū)域在k+1 個(gè)類別上的概率分布為:
其中,p表示概率,pk表示第k類的概率。
邊框回歸的參數(shù):
其中,tk表示第k類邊框回歸參數(shù),表示第k類邊框的中心點(diǎn)坐標(biāo),第k類邊框的寬和高。
兩個(gè)輸出層的訓(xùn)練依據(jù)是一個(gè)聯(lián)合損失函數(shù):
u是目標(biāo)所在類別的對數(shù)損失。
回歸損失Lloc的定義為:
L在這里使用增強(qiáng)了模型的范數(shù)魯棒性。其中L為聯(lián)合損失函數(shù),Lcls為分類損失函數(shù),Lloc為回歸損失函數(shù),λ為權(quán)重值,SmoothLi為平滑損失函數(shù)。
(1)硬件部分
圖4 Fast R-CNN網(wǎng)絡(luò)
PC 參數(shù)如下:型號Acer Aspire E5-572G,處理器Intel Core i5-4210M(2.6 GHz),8.00 GB;GPU為NVIDIA GeForce 840M+Intel HD 4600;固體硬盤500 GB。
(2)軟件部分
系統(tǒng)版本W(wǎng)indows10家庭中文版。
設(shè)計(jì)Faster R-CNN網(wǎng)絡(luò)結(jié)構(gòu)時(shí)對比單一損失函數(shù)網(wǎng)絡(luò)以及ResNet101、ResNet50網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),在輸入層添加RGB三通道和中間層加入BN層,關(guān)鍵是選擇最適合靈武長棗的網(wǎng)絡(luò)層數(shù)訓(xùn)練靈武長棗訓(xùn)練集,其步驟為:
步驟1輸入層(Input Layer),對于檢測識別任務(wù)一般輸入整幅圖像數(shù)據(jù)量過于龐大,無用的特征就要舍去,突出代表性強(qiáng)的特征,因此需要輸入訓(xùn)練集圖像中標(biāo)定的目標(biāo)最小尺寸作為輸入數(shù)據(jù),尺寸選為16×16,它能夠很好地平衡一幅圖像處理的時(shí)間和網(wǎng)絡(luò)需要分析的空間細(xì)節(jié)量。輸入圖像的同時(shí)要經(jīng)過RGB三通道將圖像劃為三個(gè)維度,然后分別對每個(gè)維度的圖像提取特征圖,增加真彩色圖像的顏色特征提取。
步驟2中間層(Middle Layers),定義卷積層參數(shù)包括128 個(gè)濾波器,每個(gè)濾波器為5×5。接下來設(shè)計(jì)兩個(gè)“Conv+maxPooling+BN+ReLU”層、三個(gè)“Conv+BN+ReLU”層。其中具體參數(shù)為:在卷積前填充的模式是輸入維度等于輸出維度的“SAME”,這樣防止了邊緣信息的缺失,在池化時(shí)使用5×5和3×3的最大池化和步長為3 和2 的搜索過程,在此過程后可以獲取與RPN 共享的特征圖。
步驟 3RPN 層,在步驟 2 運(yùn)行后,RPN 層共享特征圖。此處設(shè)置結(jié)構(gòu)時(shí)經(jīng)過一次5×5的卷積,分送到兩個(gè)全連接層進(jìn)行分類和邊框回歸處理,分類項(xiàng)應(yīng)用softmax分類器,邊框回歸的參數(shù)是正樣本范圍在[0 .7,1.0],負(fù)樣本范圍在[0 ,0.3],訓(xùn)練時(shí)取以上兩種范圍。本文選取大于0.9的樣本空間分別送入A-softmax loss和L-softmax loss函數(shù),進(jìn)行角度和角度距離兩種限定條件分類,得到的結(jié)果送到下一步。
步驟4最后層(Final Layers),這一層要融合中間層獲取的特征圖和RPN 層的候選區(qū)域,使候選區(qū)域映射在特征圖中建立ROI Pooling Layer 層,生成感興趣區(qū)域特征圖。接下來針對該特征圖進(jìn)行3×3最大池化,可以將大小不一的感興趣區(qū)域特征圖統(tǒng)一大小,然后進(jìn)行分類處理。先經(jīng)過一全連接層(Fully Connected Layer)和softmax分類器對感興趣特征圖中的感興趣區(qū)域進(jìn)行類別劃分,判斷出目標(biāo)所在區(qū)域;另一方面針對錨點(diǎn)位置和邊框大小進(jìn)行回歸處理,得到更精確目標(biāo)的位置矩形邊框。
步驟5訓(xùn)練超參數(shù)的設(shè)定,根據(jù)經(jīng)驗(yàn),學(xué)習(xí)率(learning rate)選擇0.001,批量大?。╞atch size)為20,學(xué)習(xí)的回合數(shù)(epoch)為5,迭代次數(shù)(iterations)為1 000。按照上述設(shè)定好的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)進(jìn)行實(shí)驗(yàn)的配置設(shè)計(jì),保存訓(xùn)練的結(jié)果檢測器。
步驟6建立驗(yàn)證框架,利用訓(xùn)練的結(jié)果對測試集進(jìn)行實(shí)驗(yàn)。記錄了驗(yàn)證集的精確率P和召回率R值以及AP值。
實(shí)驗(yàn)流程如圖5所示。
圖5 實(shí)驗(yàn)流程
從測試集輸出100張結(jié)果圖像,部分展示如圖6。
采用平均精度[20](Average Precision,AP)作為對于Faster R-CNN 網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)的一個(gè)評價(jià)指標(biāo),其定義與精確率P(Precision)和召回率R(Recall)相關(guān)[21]。將網(wǎng)絡(luò)識別棗子這一目標(biāo)的具體情況進(jìn)行劃分,如表1所示。
表1 情況和類別
圖6 實(shí)驗(yàn)結(jié)果
精確率P的定義為:
表示搜索到的目標(biāo)類別占所有檢索到的類別的比例。
召回率R的定義為:
表示搜索到的目標(biāo)類別占總目標(biāo)類別的比例。以靈武長棗圖像近端為識別對象,智能采摘裝備在作業(yè)時(shí)首先要對最近的目標(biāo)進(jìn)行識別摘取,而遠(yuǎn)端的棗子需要執(zhí)行端進(jìn)行再識別,因此在計(jì)算召回率時(shí)要參考實(shí)際目標(biāo)的圖像環(huán)境。
精確率和召回率在神經(jīng)網(wǎng)絡(luò)處理大數(shù)據(jù)集的時(shí)候,以精確率為橫軸,召回率為縱軸,建立了一個(gè)函數(shù)曲線,發(fā)現(xiàn)隨著精確率增加而召回率非線性降低。要去判別一個(gè)網(wǎng)絡(luò)檢測識別目標(biāo)的效果,平均精度是一項(xiàng)重要指標(biāo),其定義為:
從直觀方面AP表示P(R)函數(shù)曲線所圍成的面積,AP值越大說明該網(wǎng)絡(luò)性能越優(yōu),反之則越差,這種情況也適用于精確率和召回率。針對識別靈武長棗這一類別使用R、P、AP三種數(shù)值能夠準(zhǔn)確評價(jià)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)劣。
根據(jù)以上的評價(jià)準(zhǔn)則對本文方法和運(yùn)用單一損失函數(shù)網(wǎng)絡(luò)ResNet101、ResNet50網(wǎng)絡(luò)進(jìn)行比較。
各種方法的召回率R和精確率P的數(shù)值如表2所示。各種方法的AP值如圖7所示。
在網(wǎng)絡(luò)超參數(shù)的作用下迭代過程中采用雙損失函數(shù)依次進(jìn)行回歸運(yùn)算,不同的網(wǎng)絡(luò)結(jié)構(gòu)中的損失函數(shù)的收斂如何,依據(jù)網(wǎng)絡(luò)中的損失函數(shù)迭代的均方根誤差值(RMSE)和振蕩效果來衡量。
表2 各種方法的R 和P 值
其中,n代表批量數(shù),表示該批量在本次迭代中的平均值,yi為目標(biāo)真實(shí)值。不同網(wǎng)絡(luò)結(jié)構(gòu)中的損失函數(shù)收斂曲線如圖8所示。
從每種方法對測試集的處理結(jié)果中選取相互對應(yīng)的圖片各6張,這6張圖片的選取依據(jù)為:圖像中的靈武長棗的個(gè)數(shù)分別為一個(gè)、兩個(gè)和多個(gè),其中包含不同時(shí)刻、葉果遮擋、果果黏連等情況。觀察圖6 中本文方法和其他方法的結(jié)果圖,對于單一數(shù)量靈武長棗而言,雙損失函數(shù)網(wǎng)絡(luò)和單一損失函數(shù)網(wǎng)絡(luò)、ResNet50網(wǎng)絡(luò)的處理結(jié)果對比分類無誤識別現(xiàn)象,其中ResNet101網(wǎng)絡(luò)相對邊框回歸的精度較差。同樣從兩個(gè)長棗的圖像比較,本文方法在邊框回歸的處理上更精確,三個(gè)及以上長棗的圖像相互比較,可以得出雙損失函數(shù)網(wǎng)絡(luò)在目標(biāo)的識別分類和邊框回歸方面相對于ResNet101、ResNet50 網(wǎng)絡(luò)而言更加精準(zhǔn)。
圖7 各種方法的AP值
圖8 收斂曲線圖
另一方面,從各種方法處理測試集得到的精確率、召回率和平均精度的數(shù)據(jù)值表明:表2所示精確率和召回率是根據(jù)所有驗(yàn)證集圖像的結(jié)果求得的平均值,本文方法的精確度為0.921 3 和召回率為0.982 6,相對于其他網(wǎng)絡(luò)結(jié)構(gòu)數(shù)值有明顯的提高。而召回率大于精確度的原因是目標(biāo)長棗是圖像中前排的,相對較靠遠(yuǎn)的并不屬于目標(biāo)范圍,所以即使識別到也不能劃分為目標(biāo)。圖7平均精度表示非線性的召回率和精確率組成的圖形面積,雙損失函數(shù)網(wǎng)絡(luò)為0.8,大于單一損失函數(shù)網(wǎng)絡(luò)和ResNet101、ResNet50 網(wǎng)絡(luò)的 0.7。圖 8 中顯示的雙損失函數(shù)隨迭代次數(shù)呈遞減狀態(tài)并接近0值收斂,與單損失函數(shù)隨迭代次數(shù)的收斂曲線相比較,在前240次迭代為第一次損失函數(shù),然而沒有經(jīng)歷第二次損失函數(shù)在接下來的迭代中振蕩明顯而且均方根誤差在0.2附近。經(jīng)典的ResNet50網(wǎng)絡(luò)后期在0.15附近振蕩,ResNet101網(wǎng)絡(luò)的損失迭代從振蕩效果上可以得知收斂不明顯,均方根誤差無趨向值。綜上表明本文方法能得到更優(yōu)的檢測結(jié)果。
本文從建立靈武長棗數(shù)據(jù)集開始,運(yùn)用一種雙損失函數(shù)的Faster R-CNN 網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征圖的提取,這決定了RPN 層會提供更為優(yōu)化的數(shù)據(jù),在經(jīng)歷目標(biāo)候選區(qū)域與特征圖的融合池化后傳遞至分類和邊框回歸,得到訓(xùn)練集的結(jié)果——檢測器,進(jìn)而通過檢測器處理測試集得到結(jié)果圖像。本文方法解決了在智能采摘靈武長棗裝置的目標(biāo)檢測因環(huán)境不同、葉果之間遮擋、果果之間黏連等傳統(tǒng)算法不易適應(yīng)的問題,其對于測試集處理得到的結(jié)果相對于本文其他網(wǎng)絡(luò)結(jié)構(gòu)在精確率、召回率、平均精度方面有明顯的優(yōu)勢。同時(shí)為機(jī)器視覺應(yīng)用到林果采摘方面提供了基礎(chǔ)數(shù)據(jù)。
因?yàn)槌绦驅(qū)τ?jì)算機(jī)的硬件性能要求嚴(yán)格,其中GPU尤為依賴,導(dǎo)致網(wǎng)絡(luò)對訓(xùn)練集的訓(xùn)練效率較低,得到的檢測器對驗(yàn)證集的目標(biāo)檢測也有一定的影響,一張圖像的檢測用時(shí)在30 s 左右。接下來要解決的是圖像檢測的用時(shí)問題,將檢驗(yàn)器對于圖像的檢測達(dá)到林果實(shí)時(shí)采摘的要求。