王巧華 顧 偉 蔡沛忠 張洪洲
(1.華中農(nóng)業(yè)大學(xué)工學(xué)院, 武漢 430070; 2.農(nóng)業(yè)農(nóng)村部長(zhǎng)江中下游農(nóng)業(yè)裝備重點(diǎn)實(shí)驗(yàn)室, 武漢 430070)
我國(guó)棉花產(chǎn)量巨大,棉花產(chǎn)業(yè)是南疆地區(qū)的支柱產(chǎn)業(yè),2020年新疆棉花播種面積達(dá)2 501.9 hm2,然而棉種品質(zhì)問(wèn)題卻給棉花生產(chǎn)帶來(lái)極大影響,嚴(yán)重制約了棉花產(chǎn)業(yè)發(fā)展[1],因此棉種的精選對(duì)提升新疆地區(qū)棉花產(chǎn)量具有重要意義。
王暉軍等[2]利用傳送帶作為主體,搭配單CCD相機(jī)以及控制系統(tǒng)后,搭建了檢測(cè)棉種品質(zhì)的裝置,識(shí)別準(zhǔn)確率約為90%,但檢測(cè)方法只停留在單面棉種檢測(cè)的層面。XU等[3]提出土壤澇漬和高溫同時(shí)發(fā)生會(huì)影響棉種的質(zhì)量??搽s等[4]利用棉種的介電性能,對(duì)有損傷和完好的棉種進(jìn)行了分級(jí),硬件部分采用滾筒式結(jié)構(gòu)攜帶棉種。黃蒂云等[5]利用高光譜圖像技術(shù)融合圖像特征信息對(duì)脫絨棉種的品種進(jìn)行判別分析,建??傮w識(shí)別率達(dá)90%以上,但是沒(méi)有對(duì)棉種的品質(zhì)鑒別提出自動(dòng)化裝備設(shè)計(jì)。彭順正等[6]設(shè)計(jì)了相關(guān)實(shí)驗(yàn)采集裝置,使用OpenCV圖像處理庫(kù)對(duì)棉種的外觀和顏色進(jìn)行判別,實(shí)現(xiàn)了對(duì)棉種活性的分級(jí)。GOLSHAN等[7]利用不同的算法自動(dòng)檢測(cè)圖像中的種子。AHMED等[8]提出使用X射線CT成像對(duì)辣椒種子品質(zhì)進(jìn)行分類。向陽(yáng)等[9]提出采用翻面的方法實(shí)現(xiàn)芒果的雙面檢測(cè),并用遷移學(xué)習(xí)方法及卷積神經(jīng)網(wǎng)絡(luò)模型進(jìn)行芒果成熟度分級(jí)。趙靜[10]設(shè)計(jì)了2個(gè)CCD相機(jī),對(duì)透明玻璃板承載的玉米種子進(jìn)行拍照收集圖像,達(dá)到了采集完整種子外表圖像的要求,綜合兩幅圖像進(jìn)行結(jié)果分析,對(duì)玉米種子進(jìn)行破損判別。綜上所述,目前已有研究停留在棉種的單面檢測(cè)分級(jí)層面,這容易導(dǎo)致另一面結(jié)果的不確定性。而對(duì)于果物的雙面檢測(cè)停留在單個(gè)果物的雙面檢測(cè),對(duì)于棉種這樣的小尺寸物體,單粒棉種雙面檢測(cè)效率較低,并且目前沒(méi)有針對(duì)棉種雙面信息采集并進(jìn)行品質(zhì)檢測(cè)的相關(guān)文獻(xiàn)報(bào)道。
使用機(jī)器視覺(jué)對(duì)棉種破損進(jìn)行檢測(cè),需要采集大量樣本,然后對(duì)圖形進(jìn)行一系列的圖像處理[11]手段對(duì)棉種數(shù)據(jù)進(jìn)行分析建模,得到結(jié)果保存模型,最后部署到實(shí)際生產(chǎn)中。YOLO(You only look once)[12]是一種基于深度神經(jīng)網(wǎng)絡(luò)的對(duì)象識(shí)別和定位算法,運(yùn)行速度快,可以用于實(shí)時(shí)系統(tǒng),并已經(jīng)成功應(yīng)用到農(nóng)產(chǎn)品檢測(cè)領(lǐng)域[13-16]。對(duì)于群體農(nóng)產(chǎn)品的品質(zhì)研究,李慶旭等[17]提出一種基于改進(jìn)SSD(Single shot multibox detector)的目標(biāo)檢測(cè)算法,對(duì)孵化早期整盤群體種鴨蛋中的受精蛋與無(wú)精蛋進(jìn)行精準(zhǔn)識(shí)別。目前目標(biāo)檢測(cè)算法主要分為兩種,一種是單步目標(biāo)檢測(cè)算法,另一種是雙步目標(biāo)檢測(cè)算法,雙步檢測(cè)方法的準(zhǔn)確度高,但實(shí)時(shí)性相對(duì)較差;單步檢測(cè)方法的準(zhǔn)確度較前者稍低,但實(shí)時(shí)性很好,檢測(cè)速度也較快[18]。目前較成熟的單步檢測(cè)算法有SSD與YOLO,相比較雙步目標(biāo)檢測(cè)算法,識(shí)別群體棉種的破損信息主要考慮的因素是高效,單步檢測(cè)算法能更好地適配群體棉種的破損檢測(cè),可為以后部署于生產(chǎn)實(shí)際提供技術(shù)支持。YOLO v4[19]深度學(xué)習(xí)檢測(cè)是目前最高效的單步目標(biāo)檢測(cè)算法之一,YOLO v4模型檢測(cè)效果優(yōu)于YOLO v3、Tiny-YOLO v4、SSD、Faster R-CNN 等模型[20]。但其對(duì)棉種檢測(cè)性能仍有提升空間,本文對(duì)YOLO v4網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整,研究改進(jìn)模型檢測(cè)能力,通過(guò)設(shè)計(jì)群體棉種雙面檢測(cè)裝置,提出一種基于改進(jìn)YOLO v4的棉種雙面破損檢測(cè)方法,進(jìn)一步提高群體棉種識(shí)別精度以及模型魯棒性。
選擇新疆新陸早棉種3 000粒,其中破損與完好棉種比例約為1∶1.2。群體棉種通過(guò)上料漏斗滑入透明亞克力板上,亞克力板上有4個(gè)棉種放置塊,每個(gè)放置塊上面有3×5個(gè)凹槽,一次可檢測(cè)15粒棉種。
基于雙CCD相機(jī)的棉種分選機(jī)結(jié)構(gòu)示意圖如圖1所示,主要由電控箱、機(jī)架、視覺(jué)識(shí)別模塊、上料裝置、轉(zhuǎn)盤、下料裝置、收集裝置等組成。工作時(shí),步進(jìn)電機(jī)運(yùn)轉(zhuǎn),主動(dòng)齒輪開(kāi)始運(yùn)轉(zhuǎn)(俯視逆時(shí)針),與齒輪相連的中心軸開(kāi)始轉(zhuǎn)動(dòng),帶動(dòng)轉(zhuǎn)盤一起逆時(shí)針運(yùn)動(dòng)(俯視),為實(shí)現(xiàn)群體棉種雙面圖像獲取,利用亞克力板透明的特性,在轉(zhuǎn)盤上等間距安裝了由亞克力板制作的4個(gè)帶有3×5凹槽的棉種放置塊,每個(gè)凹槽長(zhǎng)10 mm,寬6 mm,深5 mm,每個(gè)棉種放置塊可放15粒棉種。棉種依次經(jīng)過(guò)上料裝置底部的料道、視覺(jué)識(shí)別模塊的上下2個(gè)CCD相機(jī)、電磁閥分別完成上料、圖像采集、下料分級(jí)回收的全過(guò)程。最后分選完畢的破損和完好棉種分別經(jīng)由收集桶落入到各自的收集箱當(dāng)中,圖中分別有2個(gè)收集桶、箱,分別收集破損和完好的棉種。根據(jù)機(jī)械設(shè)計(jì)要求對(duì)齒輪進(jìn)行設(shè)計(jì),并對(duì)材料進(jìn)行選型[21],采用工程塑料作為齒輪制作材料,以降低工作時(shí)的噪聲,增加運(yùn)動(dòng)平穩(wěn)性。參考自動(dòng)化零件設(shè)計(jì)要求,考慮到轉(zhuǎn)盤軸承載工件時(shí)的軸向力,使用7208AC型角接觸軸承作為整機(jī)的軸承支撐件,其內(nèi)徑40 mm,外徑62 mm,尺寸系列02,接觸角25°。
圖1 基于雙CCD相機(jī)的棉種分選機(jī)結(jié)構(gòu)示意圖Fig.1 Structure diagram of cotton seeds sorter based on double CCD camera1.電控箱 2.機(jī)架 3.上料裝置 4、5.視覺(jué)識(shí)別模塊 6.電機(jī)支撐架 7.減速器 8.步進(jìn)電機(jī) 9.完好棉種電磁閥 10.主動(dòng)齒輪 11.從動(dòng)齒輪 12.中心軸 13.轉(zhuǎn)盤 14.破損棉種電磁閥 15.收集桶 16.棉種放置塊 17.收集箱
圖像采集系統(tǒng)如圖2所示。轉(zhuǎn)盤上方和下方設(shè)置兩套完全相同的圖像采集裝置,分別采集棉種上、下面圖像。圖像采集裝置包括工業(yè)相機(jī)、鏡頭、光源、背景板、三腳架。新陸早棉種形狀為類橢球狀,長(zhǎng)軸長(zhǎng)8~10 mm,短軸長(zhǎng)5~7 mm。工業(yè)相機(jī)采用綠視森林USB1080P型,外觀尺寸70 mm×65 mm×60 mm,采集時(shí)調(diào)整分辨率為1 280像素×720像素,曝光度為-9。鏡頭采用5~50 mm變焦,最大光圈F1.4工業(yè)鏡頭,拍攝時(shí)兩個(gè)相機(jī)鏡頭垂直于轉(zhuǎn)盤且高度均為55 mm,棉種經(jīng)由轉(zhuǎn)盤下方相機(jī)拍攝棉種反面圖像,待轉(zhuǎn)盤轉(zhuǎn)過(guò)45°時(shí),再由轉(zhuǎn)盤上方相機(jī)采集棉種正面圖像。光源采用歐普環(huán)形光源,色溫6 500 K,功率22 W,采用Lenovo B50-30型計(jì)算機(jī)處理圖像。
圖2 圖像采集系統(tǒng)Fig.2 Image acquisition system
控制系統(tǒng)原理圖如圖3所示,系統(tǒng)工作流程如圖4所示,上、下方相機(jī)均由光電傳感器觸發(fā)采集圖像,STM32控制器在整個(gè)流程當(dāng)中負(fù)責(zé)接收傳感器信號(hào)、輸送傳感器信號(hào)以及獲得計(jì)算機(jī)判別結(jié)果,并輸出判別結(jié)果。系統(tǒng)對(duì)每顆棉種都進(jìn)行上、下兩次圖像采集,通過(guò)算法分析得到判別結(jié)果之后,通過(guò)控制器進(jìn)行信號(hào)輸出,控制執(zhí)行機(jī)構(gòu)中的破損棉種電磁閥進(jìn)行推桿的伸出與回縮,伸出時(shí)即與棉種放置塊的撥桿發(fā)生碰撞打開(kāi)承接塊的通孔,有損棉種由自身重力落入下方收集裝置當(dāng)中,即可將有損棉種剔除。有損棉種剔除之后,剩下的無(wú)損棉種由完好棉種電磁閥的常開(kāi)推桿與撥桿發(fā)生碰撞后,同樣也是打開(kāi)承接塊的通孔后,棉種因?yàn)樽陨碇亓β淙氲较路降氖占b置當(dāng)中,重復(fù)此過(guò)程,將預(yù)選的棉種進(jìn)行全部分級(jí)回收。
圖3 系統(tǒng)原理圖Fig.3 System schematic
圖4 系統(tǒng)工作流程圖Fig.4 System working flow chart
STM32控制器以及相關(guān)配件如圖5所示,根據(jù)STM32F103開(kāi)發(fā)設(shè)計(jì)手冊(cè)進(jìn)行單片機(jī)程序設(shè)計(jì),利用STM32單片機(jī)完成對(duì)模型的運(yùn)動(dòng)控制,搭配電源、步進(jìn)電機(jī)、步進(jìn)電機(jī)驅(qū)動(dòng)器、紅外遙控器,分別編寫紅外遙控程序以及步進(jìn)電機(jī)串口通信控制,實(shí)現(xiàn)用紅外遙控器控制步進(jìn)電機(jī)運(yùn)動(dòng)的過(guò)程,步進(jìn)電機(jī)的控制采用STM32輸出PWM波進(jìn)行控制,PWM的頻率和周期都可以使用串口調(diào)試助手在計(jì)算機(jī)端調(diào)試,通過(guò)軟件在線調(diào)試步進(jìn)電機(jī)轉(zhuǎn)速,得到最佳轉(zhuǎn)速后固定數(shù)值至其內(nèi)部程序當(dāng)中,避免后期的程序改動(dòng)影響后續(xù)試驗(yàn)。通過(guò)修改程序,設(shè)置紅外遙控器可在多個(gè)速度擋位進(jìn)行調(diào)整選擇,以適配各種不同場(chǎng)合速度的要求。最終設(shè)計(jì)紅外遙控程序可在PWM頻率100、150、200 Hz情況下運(yùn)行,轉(zhuǎn)速分別為3、5、8 r/min。
圖5 STM32控制器以及相關(guān)配件Fig.5 STM32 controller and related accessories
將棉種放入上料漏斗中,通過(guò)步進(jìn)電機(jī)帶動(dòng)透明亞克力轉(zhuǎn)盤轉(zhuǎn)動(dòng),棉種自動(dòng)落入凹槽中,利用CCD相機(jī)采集群體棉種上下兩面圖像,之后用labelImg軟件對(duì)采集的圖像進(jìn)行人工標(biāo)注,分別標(biāo)注為破損與完好,按7∶2∶1劃分訓(xùn)練集、驗(yàn)證集、測(cè)試集。共采集200幅群體棉種圖像,每幅圖像有15粒棉種,圖像分辨率為1 280像素×720像素,將圖像分辨率調(diào)小至416像素×416像素,在使用YOLO v4訓(xùn)練數(shù)據(jù)前,手動(dòng)標(biāo)注生成含有類別和位置信息的txt文件,圖像標(biāo)注時(shí)利用棉種的最小外接矩形框進(jìn)行標(biāo)注,保證每個(gè)棉種盡量在一個(gè)矩形框里,具體數(shù)據(jù)如表1所示。
表1 數(shù)據(jù)集分布Tab.1 Data sets distribution
采集得到的原始圖像的上下兩面分別如圖6和圖7所示,圖像尺寸為1 920像素×1 080像素。通過(guò)棉種表面可以明顯觀察出破損棉種與完好棉種的區(qū)別,破損棉種表面坑洼或裂紋,完好棉種表面光滑。由于上下2個(gè)鏡頭拍攝,所得到的圖像翻轉(zhuǎn)180°即可得到原來(lái)的圖像,其中圖6為從上向下拍到的棉種,圖7為從下向上拍到的棉種,可以發(fā)現(xiàn)圖6棉種從上向下正面拍攝時(shí)表面完好,圖7存在破損,因此本文采用雙面拍攝來(lái)減少棉種誤判的情況。此外,深度學(xué)習(xí)需要大量的數(shù)據(jù),本研究對(duì)140幅群體棉種圖像進(jìn)行旋轉(zhuǎn)、平移、裁剪等操作進(jìn)行數(shù)據(jù)增強(qiáng),增強(qiáng)之后的訓(xùn)練集圖像為560幅,棉種的數(shù)量達(dá)到8 400粒。
圖6 正面群體棉種圖像Fig.6 Positive group cotton seeds image
圖7 反面群體棉種圖像Fig.7 Negative group cotton seeds image
YOLO目標(biāo)檢測(cè)算法已經(jīng)被運(yùn)用到各個(gè)領(lǐng)域,YOLO系列檢測(cè)算法屬于一階段檢測(cè)算法,在檢測(cè)速度方面優(yōu)于二階段算法,如區(qū)域卷積神經(jīng)網(wǎng)絡(luò)[22-24](Regions with convolutional neural network,RCNN)。YOLO v4相比較YOLO v3對(duì)小目標(biāo)的識(shí)別效果有了顯著的提升,整體框架是基于YOLO v3改進(jìn)而來(lái),使用多種新的算法思想對(duì)各個(gè)子結(jié)構(gòu)進(jìn)行了改進(jìn),首先是輸入端的改進(jìn),主要包括Mosaic數(shù)據(jù)增強(qiáng)、CMBN交叉小批量標(biāo)準(zhǔn)化、SAT自對(duì)抗訓(xùn)練,Mosaic數(shù)據(jù)增強(qiáng)法隨機(jī)使用4幅圖像進(jìn)行縮放、拼接、翻轉(zhuǎn),再組合為一幅圖像,減少了GPU的使用,豐富了檢測(cè)數(shù)據(jù)集,提升了網(wǎng)絡(luò)的魯棒性。YOLO v4的骨干網(wǎng)絡(luò)是在YOLO v3的DarkNet53上進(jìn)行改進(jìn),使用了CSPDarkNet53,由CBM結(jié)構(gòu)和5個(gè)CSP1-n結(jié)構(gòu)組成,其中CBM結(jié)構(gòu)是由卷積層、批歸一化(Batch normalixation)層、Mish激活函數(shù)組成,CSP1-n是由CBM模塊和n個(gè)Res unint模塊串聯(lián)組成,Res unint借鑒了ResNet網(wǎng)絡(luò)結(jié)構(gòu),降低了內(nèi)存成本,增強(qiáng)了學(xué)習(xí)能力,讓網(wǎng)絡(luò)更深。CSPNet[25]通過(guò)將梯度的變化從頭到尾地集成到特征圖中,在減少了計(jì)算量的同時(shí)可以保證準(zhǔn)確率。此外在Neck網(wǎng)絡(luò)上進(jìn)行了創(chuàng)新,用SPP作為Neck的附加模塊,使用池化時(shí)卷積核的尺寸為{1×1,5×5,9×9,13×13}的最大池化方式,得到不同尺度的特征圖進(jìn)行串聯(lián)合并操作,增加主干特征的接收范圍。用PANet作為Neck的特征融合模塊進(jìn)一步提高了特征提取能力。改進(jìn)前YOLO v4網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示。
圖8 改進(jìn)前YOLO v4網(wǎng)絡(luò)結(jié)構(gòu)Fig.8 Network structure of YOLO v4 before improvement
YOLO v4首先通過(guò)主干網(wǎng)絡(luò)對(duì)群體棉種進(jìn)行特征提取,將輸入群體棉種的圖像劃分成S×S格,目標(biāo)中心所在的網(wǎng)格負(fù)責(zé)對(duì)棉種的檢測(cè),每個(gè)網(wǎng)格需要預(yù)測(cè)B個(gè)邊界框以及棉種破損與完好的條件概率,每一個(gè)邊界框都包含5個(gè)預(yù)測(cè)值(tx、ty、tw、th以及置信度),則邊界框中心點(diǎn)坐標(biāo)與邊界框的寬與高分別為
(1)
式中 (cx,cy)——網(wǎng)格偏移圖像左上角的位置坐標(biāo)
pw、ph——模板框的寬與高
tx、ty、tw、th——預(yù)測(cè)模型的中心位置坐標(biāo)以及寬、高
σ(x)——Logistic函數(shù)
每個(gè)網(wǎng)格需要預(yù)測(cè)一個(gè)類別信息。目標(biāo)檢測(cè)任務(wù)的損失函數(shù)一般由Classificition loss(分類損失函數(shù))、Bounding box regeression loss(回歸損失函數(shù))、Loss of confidence(置信度損失)3部分構(gòu)成。YOLO v4在訓(xùn)練時(shí)使用的回歸損失函數(shù)為L(zhǎng)CIoU,置信度損失函數(shù)為L(zhǎng)conf,分類損失函數(shù)為L(zhǎng)class,預(yù)測(cè)框篩選的非極大值為DIOU_nms。損失函數(shù)的表達(dá)式為
(2)
(3)
(4)
式中IoU——真實(shí)框和預(yù)測(cè)框的交并比
D2——預(yù)測(cè)框和真實(shí)框中心點(diǎn)距離
DC——最小外接矩形的對(duì)角線距離
α——平衡參數(shù)
v——衡量長(zhǎng)寬比一致性的參數(shù)
wgt、hgt——真實(shí)框的寬、高
w、h——預(yù)測(cè)框的寬、高
Lconf與Lclass通過(guò)交叉熵方法計(jì)算,最終損失值Loss為
Loss=LCIoU+Lconf+Lclass
(5)
為了提升棉種檢測(cè)性能,本文針對(duì)棉種對(duì)YOLO v4網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行調(diào)整,首先在YOLO v4的骨干網(wǎng)絡(luò)上,將第一層的CSP1-1改成DarkNet所用的第一層ResNet結(jié)構(gòu),可以得到更好的速度與精度的均衡,在骨干網(wǎng)絡(luò)的末尾添加一個(gè)SPP結(jié)構(gòu),SPP結(jié)構(gòu)可以接受任意尺寸輸入,固定大小輸出,可對(duì)任意尺度提取的特征進(jìn)行池化[26],緊接著將Neck網(wǎng)絡(luò)當(dāng)中的SPP移除,SPP結(jié)構(gòu)會(huì)影響網(wǎng)絡(luò)的速度,精度提升不明顯。將Neck中的CBL(由卷積層、BN層、LeakyReLU激活函數(shù)組成)結(jié)構(gòu)改為CSP2-n(2n個(gè)CBL模塊、卷積層、Concat組成)結(jié)構(gòu),增強(qiáng)學(xué)習(xí)能力,加強(qiáng)網(wǎng)絡(luò)特征融合能力,由于在原本的YOLO v4上,YOLO v4的檢測(cè)頭有3個(gè)分支,便于檢測(cè)圖像中尺寸相差較大的物體,但是在群體棉種檢測(cè)中,棉種在圖像中的尺寸變化較小,所以將檢測(cè)頭的3個(gè)分支簡(jiǎn)化為2個(gè)分支,減少計(jì)算量,加快模型訓(xùn)練,改進(jìn)后的YOLO v4網(wǎng)絡(luò)結(jié)構(gòu)如圖9所示。
圖9 改進(jìn)后的YOLO v4網(wǎng)絡(luò)結(jié)構(gòu)Fig.9 Network structure of improved YOLO v4
在改進(jìn)YOLO v4的最后輸出模塊將回歸損失函數(shù)改為L(zhǎng)GIoU,其公式為
(6)
式中Ac——真實(shí)框和預(yù)測(cè)框最小外接矩形的面積
U——兩個(gè)框并集的面積
在棉種檢測(cè)的后處理過(guò)程中,針對(duì)多目標(biāo)框的篩選,需要非極大值抑制操作來(lái)去除冗余的框,留下最接近真實(shí)的一個(gè)框,改進(jìn)YOLO v4在DIOU_Loss[27]的基礎(chǔ)上采用DIOU_nms的方式,在傳統(tǒng)的非極大值抑制操作里,交并比(IoU)可以作為抑制冗余檢測(cè)的指標(biāo),其中重疊區(qū)域是唯一因素,DIOU_nms將原始部分IoU的計(jì)算方式用DIoU的方式進(jìn)行替換,DIoU的計(jì)算考慮到了兩框中心點(diǎn)位置的信息,故使用DIoU進(jìn)行評(píng)判的非極大值抑制效果更符合實(shí)際,效果更好,DIOU_nms公式為
(7)
(8)
式中RDIoU——真實(shí)框和預(yù)測(cè)框中心點(diǎn)之間的距離
si——分類得分
ε——非極大值抑制的閾值
ρ()——?dú)W幾里得距離函數(shù)
b、bgt——預(yù)測(cè)框和目標(biāo)框的中心坐標(biāo)
c——檢測(cè)框和預(yù)測(cè)框最小外接矩形的對(duì)角線長(zhǎng)度
M——當(dāng)前最大置信度的邊界框
Bi——其它邊界框
群體棉種模型訓(xùn)練的硬件平臺(tái):GPU為NIVIDIA GeForce RTX 2080Ti;CPU為AMD Ryzen Threadripper 2920X 3.5 GHz,內(nèi)存為128 GB;軟件平臺(tái)為CUDA Toolkit 10.1、 CUDNN V10.1 、 Python 3.6+Pytorch1.6.0,在Windows 10系統(tǒng)下對(duì)YOLO v4進(jìn)行改進(jìn),本文訓(xùn)練和測(cè)試時(shí)均使用GPU加速,訓(xùn)練開(kāi)始階段,學(xué)習(xí)率設(shè)置為0.01,衰減系數(shù)設(shè)置為0.000 5,訓(xùn)練的批次圖像數(shù)量(Batch size)設(shè)置為16,最大訓(xùn)練次數(shù)設(shè)置為300,每訓(xùn)練10次保存一次模型,取訓(xùn)練效果最好的模型作為最終模型。圖10為改進(jìn)YOLO v4網(wǎng)絡(luò)損失函數(shù)曲線,收斂速度較快,在訓(xùn)練200步時(shí)趨于穩(wěn)定。
圖10 改進(jìn)YOLO v4損失函數(shù)曲線Fig.10 Loss function curve of improved YOLO v4
SSD-MobileNet v3是基于經(jīng)典的SSD網(wǎng)絡(luò)改進(jìn)而來(lái),是目前被廣泛應(yīng)用的單步目標(biāo)檢測(cè)算法[17]。經(jīng)典SSD網(wǎng)絡(luò)分為2部分,分別是骨干網(wǎng)絡(luò)和輔助網(wǎng)絡(luò),SSD-MobileNet v3將經(jīng)典的SSD骨干網(wǎng)絡(luò)中的VGG網(wǎng)絡(luò)用MobileNet v3網(wǎng)絡(luò)代替,將MobileNet v3網(wǎng)絡(luò)作為圖像特征的提取網(wǎng)絡(luò)。輔助網(wǎng)絡(luò)用于產(chǎn)生目標(biāo)檢測(cè)框,結(jié)合非極大值抑制實(shí)現(xiàn)目標(biāo)的定位,利用SSD-MobileNet v3算法對(duì)棉種進(jìn)行破損識(shí)別與定位并與改進(jìn)后的YOLO v4網(wǎng)絡(luò)識(shí)別效果進(jìn)行對(duì)比,訓(xùn)練網(wǎng)絡(luò)訓(xùn)練參數(shù)設(shè)置與YOLO v4網(wǎng)絡(luò)參數(shù)設(shè)置保持一致。
采用平均精度均值(mAP)、漏檢率(Missed detection rate)、檢測(cè)速度(Speed)和參數(shù)量(Parameter size)[28]評(píng)價(jià)模型,其中平均精度由準(zhǔn)確率(Precision)和召回率(Recall)決定,平均精度均值預(yù)測(cè)目標(biāo)位置以及類別,mAP越大,說(shuō)明神經(jīng)網(wǎng)絡(luò)模型效果越好。使用訓(xùn)練好的改進(jìn)YOLO v4模型對(duì)群體棉種進(jìn)行測(cè)試集預(yù)測(cè)。
基于改進(jìn)YOLO v4的模型在測(cè)試集上的準(zhǔn)確率、召回率、mAP分別如圖11~13所示。
圖11 改進(jìn)YOLO v4模型準(zhǔn)確率Fig.11 Accuracy of improved YOLO v4
圖12 改進(jìn)YOLO v4模型召回率Fig.12 Recall rate of improved YOLO v4
圖13 改進(jìn)YOLO v4模型平均精度均值Fig.13 mAP of improved YOLO v4
對(duì)20幅驗(yàn)證集群體棉種圖像的測(cè)試結(jié)果進(jìn)行統(tǒng)計(jì),包括準(zhǔn)確率、召回率、漏檢率、檢測(cè)速度和模型所占內(nèi)存5項(xiàng)評(píng)價(jià)指標(biāo)。共300粒棉種,完好棉種163粒,破損棉種137粒。其中YOLO v4模型錯(cuò)判25粒棉種(其中將完好棉種錯(cuò)判為破損棉種8粒,將破損棉種判為非損棉種11粒,漏檢6粒);使用改進(jìn)YOLO v4模型錯(cuò)判14粒(其中將完好棉種錯(cuò)判為破損6粒,將破損棉種判為完好棉種8粒,漏檢0粒),SSD-MobileNet v3錯(cuò)判43粒棉種(其中將完好棉種錯(cuò)判為破損15粒,將破損棉種判為完好棉種19粒,漏檢9粒)。圖14為同一幅圖像在不同模型中的檢測(cè)結(jié)果。
圖14 不同模型的檢測(cè)結(jié)果Fig.14 Test results of different models
為驗(yàn)證數(shù)據(jù)增強(qiáng)后的模型效果,用數(shù)據(jù)增強(qiáng)后的模型對(duì)20幅群體棉種圖像進(jìn)行檢測(cè),棉種共錯(cuò)判了13粒,其中將完好棉種錯(cuò)判為破損棉種6粒,破損棉種判為完好棉種7粒,漏檢0粒,準(zhǔn)確率為95.67%、召回率為96.31%、漏檢率為0。數(shù)據(jù)增強(qiáng)后的模型準(zhǔn)確率提升0.34個(gè)百分點(diǎn),相較于未進(jìn)行數(shù)據(jù)增強(qiáng)的模型略有提升。
棉種正面為完好但背面不一定也是完好,本試驗(yàn)采用群體棉種在透明亞克力板上進(jìn)行雙面檢測(cè),很好地解決了棉種雙面品質(zhì)檢測(cè)與分選問(wèn)題。
通過(guò)表2可以發(fā)現(xiàn),經(jīng)過(guò)改進(jìn)后網(wǎng)絡(luò)模型的檢測(cè)速度、模型所占內(nèi)存,較YOLO v4有較大的提升,雖然模型所占內(nèi)存比輕量級(jí)的SSD-MobileNet v3大,但是準(zhǔn)確率與檢測(cè)速度都有明顯改善?;诟倪M(jìn)YOLO v4仍然存在誤檢的情況,分析原因可能是在破損棉種破損情況較小時(shí)(只有一道裂縫),當(dāng)前CCD相機(jī)無(wú)法捕捉到棉種的裂縫,后續(xù)可通過(guò)提高相機(jī)的像素,捕捉更加細(xì)微的破損情況。模型存在將完好棉種檢測(cè)為破損棉種的情況,分析原因可能是脫絨棉種在經(jīng)過(guò)硫酸脫絨的時(shí)候,棉種表面的
表2 模型測(cè)試結(jié)果Tab.2 Model test results
棉絨未完全脫干凈,殘留的白色棉絨會(huì)讓模型將好的棉種判斷為破損棉種。在YOLO v4和SSD-MobileNet v3網(wǎng)絡(luò)上都出現(xiàn)了棉種漏檢以及多個(gè)目標(biāo)檢測(cè)框出現(xiàn)的情況,漏檢率是評(píng)價(jià)一個(gè)模型的重要指標(biāo)[17],YOLO v4相比較SSD-MobileNet v3在漏檢率上有優(yōu)勢(shì),通過(guò)改進(jìn)YOLO v4網(wǎng)絡(luò)的結(jié)構(gòu)以及損失函數(shù)的類型,使用DIOU_nms有效地解決了漏檢和多個(gè)檢測(cè)框的情況。綜合考慮檢測(cè)精度和速度,本研究選用改進(jìn)后的YOLO v4作為檢測(cè)模型。
(1)以新陸早棉種為研究對(duì)象,設(shè)計(jì)了一種群體棉種雙面破損在線檢測(cè)裝置,利用亞克力板在強(qiáng)光和白色背景板下透明的特點(diǎn),實(shí)現(xiàn)了對(duì)棉種上下兩面圖像的采集,并設(shè)計(jì)了相關(guān)的上料、輸送裝置,完成了對(duì)棉種檢測(cè)的全自動(dòng)化過(guò)程,對(duì)比傳統(tǒng)單粒、單面棉種的檢測(cè)技術(shù),在檢測(cè)效率和精確性上有了顯著提升。
(2)使用改進(jìn)YOLO v4網(wǎng)絡(luò)對(duì)群體棉種進(jìn)行雙面檢測(cè),將群體棉種分為破損棉種和完好棉種。通過(guò)改變YOLO v4網(wǎng)絡(luò)的整體結(jié)構(gòu)以及損失函數(shù),得到了改進(jìn)YOLO v4模型,在此模型上,準(zhǔn)確率和召回率分別為95.33%、96.31%。模型所占內(nèi)存為27.1 MB,檢測(cè)速度達(dá)到了78幀/s,模型具有很好的魯棒性,可滿足實(shí)際生產(chǎn)要求。
(3)本文解決了群體棉種圖像難以分割的問(wèn)題,利用卷積神經(jīng)網(wǎng)絡(luò)代替?zhèn)鹘y(tǒng)圖像識(shí)別方法,無(wú)需單獨(dú)將每一粒棉種從群體棉種中分割出來(lái)進(jìn)行破損識(shí)別。利用卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn),直接檢測(cè)出群體棉種的破損以及位置信息,為檢測(cè)群體棉種的破損情況提供了一種新的思路,加速棉種分選智能化,也為后續(xù)研發(fā)相關(guān)自動(dòng)化設(shè)備提供了技術(shù)支持。
農(nóng)業(yè)機(jī)械學(xué)報(bào)2022年1期