盧 偉 鄒明萱 施浩楠 王 玲 DENG Yiming
(1.南京農(nóng)業(yè)大學(xué)人工智能學(xué)院,南京 210031;2.密歇根州立大學(xué),東蘭辛 48824)
褐菇具有豐富的食用價(jià)值,可提供優(yōu)質(zhì)的蛋白質(zhì)、脂肪、維生素、微量元素等,其栽種面積廣、產(chǎn)量大、經(jīng)濟(jì)效益高[1],目前以工廠化種植為主,并逐漸實(shí)現(xiàn)機(jī)械化和智能化,但采收環(huán)節(jié)仍為手工方式,效率低、勞動(dòng)力成本高。隨著科技發(fā)展,通過機(jī)器人實(shí)現(xiàn)自動(dòng)化采收是未來發(fā)展方向[2],其中褐菇的識(shí)別、尺寸測(cè)量和精確定位是機(jī)器人自動(dòng)化采收作業(yè)的關(guān)鍵[3-4]。
很多學(xué)者采用機(jī)器視覺進(jìn)行果蔬識(shí)別,可分為“Eye-in-hand”、“Eye-to-hand”兩種方式,“Eye-in-hand”將相機(jī)安裝在末端執(zhí)行器上[5],靠近目標(biāo)果蔬進(jìn)行識(shí)別,識(shí)別和測(cè)量精度高,但對(duì)果蔬逐個(gè)識(shí)別耗時(shí)較長(zhǎng)?!癊ye-to-hand”將相機(jī)固裝在移動(dòng)平臺(tái)上[6],對(duì)目標(biāo)區(qū)域的果蔬進(jìn)行一次性識(shí)別、測(cè)量和定位,效率高但對(duì)遠(yuǎn)處目標(biāo)的測(cè)量精度降低[7]。在工廠化褐菇種植中,出菇時(shí)褐菇生長(zhǎng)速度快且分布密集,大量集中出菇亟需高效采收,因此本文選用“Eye-to-hand”方式進(jìn)行褐菇的識(shí)別、測(cè)量和定位。
本文褐菇數(shù)據(jù)采集自揚(yáng)州市奧吉特生物科技有限公司的褐菇種植菇房,采集不同光線、不同角度下的褐菇圖像。采集設(shè)備為RealSense d435i型相機(jī),采集圖像分辨率為1 280像素×720像素,圖像保存為.jpg格式。采集設(shè)備分別放置于菇架側(cè)方和上方,如圖1所示,相機(jī)1所示為側(cè)方拍攝,相機(jī)1距離菇架邊緣35 cm;相機(jī)2所示為上方拍攝,相機(jī)2距離水平菇架40 cm,采集光線包括順光、逆光、遮光等情況,菇房環(huán)境中共采集415幅褐菇圖像。圖2 為不同光線條件下的褐菇圖像。
圖1 采集設(shè)備安裝位置
圖2 不同條件下的褐菇圖像
針對(duì)昏暗環(huán)境下,菇床表面高低起伏,菌絲密布,菇蓋形狀不規(guī)則等造成褐菇視覺識(shí)別困難的問題,提出一種褐菇快速、精準(zhǔn)識(shí)別-測(cè)量-定位一體化方法。該方法包括基于YOLO v5-TL的褐菇快速識(shí)別和基于褐菇三維邊緣信息的直徑動(dòng)態(tài)估測(cè)、定位,具體流程如圖3所示。
圖3 本文方法流程圖
由于深度學(xué)習(xí)在目標(biāo)檢測(cè)領(lǐng)域具有高精度、高效率的優(yōu)勢(shì),近年來不斷被用于果蔬采摘識(shí)別,但深度學(xué)習(xí)需要依賴大量?jī)?yōu)質(zhì)的數(shù)據(jù)、高性能的訓(xùn)練平臺(tái),這在農(nóng)業(yè)領(lǐng)域較難滿足。因此,對(duì)于小樣本數(shù)據(jù)對(duì)象常采用基于模型的深度遷移算法[16]。
基于模型的遷移算法采用預(yù)訓(xùn)練模式,本文采用基于ImagNet預(yù)訓(xùn)練好的YOLO v5模型參數(shù)進(jìn)行遷移訓(xùn)練,具體遷移訓(xùn)練邏輯如圖4所示[17]。深度學(xué)習(xí)中的淺層網(wǎng)絡(luò)多用于學(xué)習(xí)通用的邊角等低級(jí)特征,如圖4中的足球和褐菇低級(jí)特征均為圓形;隨著層次的加深,網(wǎng)絡(luò)可學(xué)習(xí)特殊對(duì)象的特定特征以實(shí)現(xiàn)目標(biāo)檢測(cè),基于模型的深度遷移學(xué)習(xí)可節(jié)約褐菇識(shí)別時(shí)間成本,同時(shí)提高模型的魯棒性和泛化能力。
圖4 基于模型遷移學(xué)習(xí)的邏輯圖
YOLO系列算法采取回歸手段提取圖像特征[18],網(wǎng)絡(luò)結(jié)構(gòu)將輸入圖像均勻劃分為S×S的網(wǎng)絡(luò)格子,在每個(gè)網(wǎng)格中設(shè)置不同的邊框,實(shí)現(xiàn)對(duì)特定對(duì)象的檢測(cè)[19]。YOLO v5分為YOLO v5s、YOLO v5m、YOLO v5l、YOLO v5x共4個(gè)不同的模型,模型區(qū)別在其深度和寬度不同。YOLO v5網(wǎng)絡(luò)的BackBone模型是由Focus、CSP和SPP結(jié)構(gòu)組成的CSPDarknet;輸入端采用Mosaic數(shù)據(jù)增強(qiáng)法,有利于小目標(biāo)快速檢測(cè);采用自適應(yīng)Anchor機(jī)制,可動(dòng)態(tài)更新錨框大小,適用于自定義數(shù)據(jù)集中對(duì)象邊界框預(yù)測(cè);采用CIOU_Loss作為Boundingbox的損失函數(shù),該函數(shù)考慮預(yù)測(cè)框和目標(biāo)框的重疊面積、邊界框中心位置、邊界框長(zhǎng)寬比,有效提高預(yù)測(cè)精度;非極大值抑制采用DIOU準(zhǔn)則,有效減小重復(fù)識(shí)別對(duì)象的影響,基于YOLO v5-TL的褐菇網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 褐菇目標(biāo)檢測(cè)模型結(jié)構(gòu)圖
褐菇菇蓋尺寸測(cè)量首先需要獲取菇蓋的邊緣輪廓,流程如圖6所示。首先,褐菇實(shí)時(shí)圖像輸入YOLO v5模型,模型識(shí)別到褐菇并以該褐菇為中心在其周圍畫一個(gè)矩形區(qū)域(錨框),輸出錨框?qū)?yīng)的長(zhǎng)和寬;再根據(jù)識(shí)別模型輸出數(shù)據(jù)對(duì)實(shí)時(shí)采集圖像上每一個(gè)錨框進(jìn)行裁剪,輸出裁剪后的單個(gè)褐菇的錨框區(qū)域;最后返回褐菇的錨框圖像和錨框信息,如圖6所示裁剪出的錨框區(qū)域主要包含單個(gè)褐菇,可有效減少背景菌絲影響,有利于后續(xù)褐菇輪廓檢測(cè)。
圖6 錨框裁剪邏輯圖
褐菇菇蓋尺寸是褐菇品質(zhì)分級(jí)的重要評(píng)估指標(biāo)之一[20],為實(shí)現(xiàn)菇蓋精確測(cè)量[21],首先需要實(shí)現(xiàn)菇蓋的輪廓提取[22]。由于菇房環(huán)境昏暗不均,采集的褐菇圖像輪廓存在噪聲,首先需對(duì)錨框內(nèi)褐菇進(jìn)行圖像增強(qiáng),提高亮度。圖像增強(qiáng)算法邏輯如圖7所示,將原始裁剪得到的RGB空間的褐菇圖像轉(zhuǎn)換至HSV空間,獲取圖像亮度值并判斷是否需要增強(qiáng)亮度;再對(duì)HSV圖像獲取直方圖分位點(diǎn),以便圖像亮度均勻化;最后去除分位點(diǎn)區(qū)間以外的像素點(diǎn),并將剩余像素值變換至0~255區(qū)間實(shí)現(xiàn)圖像亮度增強(qiáng),增強(qiáng)效果如圖7c所示。
圖7 圖像亮度增強(qiáng)效果
通過圖像裁剪和增強(qiáng),可實(shí)現(xiàn)褐菇輪廓提取,但由于褐菇生長(zhǎng)中存在多個(gè)蘑菇簇?fù)碓谝黄鸬那闆r,造成褐菇圖像粘連,其中多為2個(gè)褐菇粘連,需要進(jìn)行粘連褐菇圖像分割。識(shí)別的褐菇錨框若存在與其他褐菇錨框重疊區(qū)域則判定褐菇存在粘連,針對(duì)粘連褐菇先進(jìn)行銳化處理,結(jié)果如圖8所示;再對(duì)銳化圖像進(jìn)行灰度化和自適應(yīng)二值化處理。此時(shí)二值化圖像蘑菇邊界存在少許粘連;通過先腐蝕再膨脹對(duì)二值化圖像進(jìn)行形態(tài)學(xué)處理,最后,基于輪廓擬合算法提取單個(gè)褐菇輪廓。
圖8 輪廓擬合過程
由于菇床表面的高低不平和褐菇生長(zhǎng)的隨機(jī)性,菇蓋存在傾斜情況,對(duì)褐菇輪廓的二維成像[23]和尺寸測(cè)量帶來較大誤差[24]。為減少褐菇菇蓋傾斜帶來的尺寸測(cè)量誤差,本文提出三維褐菇輪廓尺寸測(cè)量方法。菇蓋三維輪廓坐標(biāo)定位的關(guān)鍵是坐標(biāo)系轉(zhuǎn)換,包括裁剪像素坐標(biāo)系、像素坐標(biāo)系、圖像坐標(biāo)系和相機(jī)坐標(biāo)系,本文將二維褐菇輪廓的像素坐標(biāo)轉(zhuǎn)換成三維的相機(jī)坐標(biāo),坐標(biāo)轉(zhuǎn)換如圖9所示,OcXcYcZc為相機(jī)坐標(biāo)系,OXY為圖像坐標(biāo)系,opuv為像素坐標(biāo)系,oij為裁剪像素坐標(biāo)系。
第三,使用豐富的副文本。林語堂在進(jìn)行譯創(chuàng)工作中常常會(huì)使用較為豐富的副文本,包括副標(biāo)題、序言、導(dǎo)讀、注釋、繪畫或附錄等等。通過這些副文本,將他對(duì)原作品的理解與認(rèn)識(shí)進(jìn)行了說明,也解釋了一些需要對(duì)讀者進(jìn)行說明的內(nèi)容,實(shí)現(xiàn)了與讀者的交流。利用副文本,林語堂為讀者有效地清除了從文化到語言各種方面的閱讀障礙,完成對(duì)文章內(nèi)容的準(zhǔn)確、深度理解??梢哉f,通過對(duì)副文本的使用,林語堂做到了讓譯本與讀者之間的距離更近,更加吸引著讀者的興趣,促進(jìn)了作者、譯者與讀者的良性互動(dòng)(馮志強(qiáng)、朱一凡2011:31)。
圖9 坐標(biāo)轉(zhuǎn)換圖
(1)
Zc是相機(jī)光心與物體的距離即圖像深度值,因此,根據(jù)圖像的深度信息則可計(jì)算出點(diǎn)P的三維坐標(biāo)。
基于以上坐標(biāo)轉(zhuǎn)換,可實(shí)現(xiàn)褐菇菇蓋的輪廓尺寸測(cè)量和中心點(diǎn)的定位,過程如圖10所示。首先,將已檢測(cè)到的褐菇輪廓像素坐標(biāo)提取并存儲(chǔ)在像素輪廓列表(P1),然后融合深度相機(jī)采集的P1中每一點(diǎn)的深度信息把輪廓像素坐標(biāo)轉(zhuǎn)換成世界坐標(biāo)并存儲(chǔ)在立體輪廓列表(P2)。接著,在立體輪廓列表P2中遍歷所有點(diǎn),任選圖10三維坐標(biāo)系褐菇輪廓中一點(diǎn)A,自點(diǎn)A起計(jì)算輪廓中其他任意一點(diǎn)與點(diǎn)A的距離,取最大值為點(diǎn)A對(duì)應(yīng)的直徑,最后,取列表P2中所有點(diǎn)對(duì)應(yīng)直徑的平均值為褐菇直徑,取裁剪圖像的中心點(diǎn)為褐菇摘取的定位點(diǎn),如圖10中的Key point所示,實(shí)現(xiàn)褐菇尺寸測(cè)量和定位。
圖10 三維邊緣尺寸測(cè)量和定位
實(shí)際的褐菇生長(zhǎng)形狀差異大,且由于圖像采集視角、陰影等影響造成褐菇圖像邊緣凹陷,如圖11中的M2、M3。對(duì)此,先對(duì)菇蓋輪廓每點(diǎn)直徑從大到小排序并進(jìn)行線性擬合(y=kx+b),求取每個(gè)菇蓋輪廓擬合的k值。根據(jù)統(tǒng)計(jì)數(shù)據(jù),菇蓋形狀規(guī)則的輪廓擬合的|k|小,菇蓋邊緣凹陷的輪廓擬合的|k|大,當(dāng)|k|>0.1時(shí)視作褐菇圖像邊緣存在凹陷。當(dāng)0.1<|k|≤0.3時(shí)取所有點(diǎn)所在直徑從大到小的前95%的平均值作為褐菇直徑,當(dāng)|k|>0.3時(shí)取所有點(diǎn)所在直徑從大到小的前90%平均值作為褐菇直徑,當(dāng)|k|≤0.1時(shí)則取所有點(diǎn)所在直徑的平均值作為褐菇直徑。
圖11 邊緣動(dòng)態(tài)尺寸估測(cè)圖
使用褐菇訓(xùn)練集訓(xùn)練YOLO v5-TL模型,根據(jù)測(cè)試集預(yù)測(cè)結(jié)果進(jìn)行模型優(yōu)選。其中,網(wǎng)絡(luò)訓(xùn)練所用計(jì)算機(jī)主要配置參數(shù)為Intel i5-10400F CPU,GeForce GTX 1660 Ti GPU 和16 GB運(yùn)行內(nèi)存,開發(fā)環(huán)境為Windows 10,Visual Studio 2017,CUDA 9.0,OpenCV 3.4(x64),并使用Python 3.7結(jié)合torch 1.11.0實(shí)現(xiàn)。
訓(xùn)練過程中優(yōu)化器采用隨機(jī)梯度下降法(SGD),初始學(xué)習(xí)率設(shè)置為0.000 1,批量大小設(shè)為8,subdivisions設(shè)為8,filter設(shè)為18,迭代周期為100,訓(xùn)練過程中,通過平均損失曲線來觀察損失值的變化,當(dāng)損失值不再繼續(xù)減小趨于穩(wěn)定時(shí)停止訓(xùn)練。對(duì)于復(fù)雜菌絲背景下褐菇目標(biāo)的識(shí)別,需要考慮檢測(cè)網(wǎng)絡(luò)的精度與實(shí)時(shí)性,本文采用平均精度均值(Mean average precision,mAP)作為模型檢測(cè)精度的評(píng)價(jià)指標(biāo),單幀檢測(cè)時(shí)間作為模型檢測(cè)速度的評(píng)價(jià)指標(biāo)。
YOLO v5模型根據(jù)不同深度和寬度的網(wǎng)絡(luò)可分為YOLO v5s、YOLO v5m、YOLO v5x、YOLO v5l共4種,本文分別對(duì)這4種網(wǎng)絡(luò)進(jìn)行褐菇訓(xùn)練和測(cè)試,試驗(yàn)結(jié)果如表1所示。
表1 YOLO v5-TL檢測(cè)結(jié)果對(duì)比
YOLO v5s-TL檢測(cè)速度最優(yōu),但是其檢測(cè)精度相較于YOLO v5m-TL、YOLO v5l-TL和YOLO v5x-TL較低,且對(duì)于較小褐菇會(huì)出現(xiàn)遺漏檢測(cè)的情況;YOLO v5x-TL的檢測(cè)精度較高,但其檢測(cè)速度較慢,檢測(cè)時(shí)間是YOLO v5l-TL的4.6倍。綜合檢測(cè)精度和檢測(cè)速度,YOLO v5l-TL模型最優(yōu),其mAP達(dá)99.5%,單幀檢測(cè)時(shí)間為0.17 s,可滿足工廠環(huán)境下的褐菇快速、精準(zhǔn)識(shí)別。
為評(píng)價(jià)本文提出的基于三維坐標(biāo)褐菇菇蓋尺寸測(cè)量算法的精度,搭建試驗(yàn)平臺(tái)進(jìn)行測(cè)試,測(cè)試環(huán)境如圖12所示,其中圖像采集使用RealSense d435i深度相機(jī),體積較小且融合RGB-D信息。
圖12 試驗(yàn)平臺(tái)
為評(píng)估本文提出的三維邊緣信息直徑動(dòng)態(tài)估測(cè)方法,進(jìn)行兩組尺寸測(cè)量對(duì)比試驗(yàn),相機(jī)位于菇架側(cè)方距菇床邊緣38 cm,位置固定,改變菇床褐菇位置;每組對(duì)褐菇進(jìn)行二維尺寸測(cè)量法和三維尺寸測(cè)量法對(duì)比試驗(yàn),每組試驗(yàn)測(cè)量18個(gè)褐菇。二維尺寸測(cè)量法采用褐菇邊緣的二維像素坐標(biāo)實(shí)現(xiàn)尺寸測(cè)量,1像素為1.417 mm。二維尺寸測(cè)量法將三維邊緣信息直徑動(dòng)態(tài)估測(cè)法中的三維坐標(biāo)轉(zhuǎn)換為二維坐標(biāo),其他規(guī)則一致;三維尺寸測(cè)量法基于褐菇三維邊緣信息直徑動(dòng)態(tài)尺寸測(cè)量法實(shí)現(xiàn)尺寸測(cè)量,測(cè)量結(jié)果如表2所示。基于二維尺寸測(cè)量法的褐菇菇蓋尺寸測(cè)量平均精度為88.14%,基于三維邊緣信息直徑動(dòng)態(tài)尺寸測(cè)量法的菇蓋尺寸測(cè)量平均精度為96.13%,尺寸測(cè)量精度較二維法提高7.99個(gè)百分點(diǎn)。試驗(yàn)數(shù)據(jù)表明,基于褐菇三維邊緣信息直徑動(dòng)態(tài)尺寸測(cè)量法對(duì)褐菇尺寸的測(cè)量精度較二維尺寸測(cè)量明顯提高。
表2 對(duì)比試驗(yàn)結(jié)果
為評(píng)估本文方法適應(yīng)光線變化的魯棒性,進(jìn)行兩組褐菇光線變化檢測(cè)試驗(yàn),每組試驗(yàn)褐菇樣本12個(gè),共計(jì)24個(gè)樣本,光線變化為順光、遮光、逆光,現(xiàn)場(chǎng)測(cè)試結(jié)果如圖13所示。試驗(yàn)相機(jī)均位于菇架側(cè)方,距菇床邊緣38 cm,試驗(yàn)時(shí)12個(gè)褐菇位置保持不變,只改變測(cè)試環(huán)境光線,測(cè)試結(jié)果見表3、4。
圖13 現(xiàn)場(chǎng)測(cè)試結(jié)果
表3 尺寸測(cè)量結(jié)果1
由表3、4可見,順光情況下基于YOLO v5-TL模型的12個(gè)褐菇均能成功識(shí)別;在遮光和逆光情況下分別漏檢1個(gè)和2個(gè),整體識(shí)別成功率為91.67%。基于三維邊緣信息直徑動(dòng)態(tài)尺寸測(cè)量法的菇蓋尺寸測(cè)量結(jié)果1、結(jié)果2平均精度分別為97.45%、97.10%,兩組試驗(yàn)整體平均精度為97.28%,直徑測(cè)量誤差±4 mm,單幀圖像平均處理時(shí)間為50 ms。順光和部分遮光的菇蓋測(cè)試精度優(yōu)于逆光情況的測(cè)量,由于逆光情況下菇蓋邊緣存在陰影造成輪廓提取不精準(zhǔn),進(jìn)而影響三維邊緣輪廓坐標(biāo)提取。
表4 尺寸測(cè)量結(jié)果2
(1)針對(duì)菇床表面高低起伏、菌絲密布、光線昏暗復(fù)雜環(huán)境下,褐菇自動(dòng)化視覺采收困難的問題,提出一種基于YOLO v5-TL結(jié)合褐菇三維邊緣信息直徑動(dòng)態(tài)估測(cè)法的識(shí)別-測(cè)量-定位一體化方法。構(gòu)建褐菇目標(biāo)檢測(cè)的YOLO v5-TL模型,實(shí)現(xiàn)在復(fù)雜菌絲背景下快速識(shí)別褐菇;融合錨框區(qū)域褐菇邊緣點(diǎn)深度提取褐菇輪廓三維信息,結(jié)合褐菇三維邊緣信息直徑動(dòng)態(tài)估測(cè)法實(shí)現(xiàn)褐菇菇蓋尺寸精確測(cè)量和中心點(diǎn)定位。
(2)對(duì)比研究三維邊緣信息直徑動(dòng)態(tài)估測(cè)法進(jìn)行尺寸測(cè)量時(shí),不同光照對(duì)褐菇視覺識(shí)別測(cè)量的影響,試驗(yàn)結(jié)果表明,菇床昏暗環(huán)境下褐菇識(shí)別成功率為91.67%;光照情況下褐菇識(shí)別成功率達(dá)100%;三維測(cè)量法菇蓋的尺寸測(cè)量平均精度為97.28%,具有較好的魯棒性;對(duì)分辨率為1 280像素×720像素的單幀圖像平均處理時(shí)間為50 ms。試驗(yàn)結(jié)果表明,本文方法可以滿足工廠環(huán)境下褐菇的自動(dòng)化采摘需求。