孫 想,吳華瑞,朱華吉,楊雨森,陳 誠(chéng),何思琪,王春山
(1.國(guó)家農(nóng)業(yè)信息化工程技術(shù)研究中心,北京 100097;2.北京農(nóng)業(yè)信息技術(shù)研究中心,北京 100097;3.河北農(nóng)業(yè)大學(xué) 信息科學(xué)與技術(shù)學(xué)院,河北 保定 071001;4.河北省農(nóng)業(yè)大數(shù)據(jù)重點(diǎn)實(shí)驗(yàn)室,河北 保定071001;5.西南交通大學(xué) 利茲學(xué)院,四川 成都 611756)
棉花是中國(guó)最重要的經(jīng)濟(jì)作物之一,也是我國(guó)紡織工業(yè)的主要原料,每年產(chǎn)量約為600×104t,播種面積超過300×104hm2。棉花打頂(也稱:棉花主莖生長(zhǎng)點(diǎn)去除)是棉花栽培管理的1 個(gè)重要環(huán)節(jié),通過打頂可減弱棉花頂端生長(zhǎng)優(yōu)勢(shì),改變養(yǎng)分輸送方向,促進(jìn)棉株結(jié)鈴結(jié)桃,提高棉花產(chǎn)量和質(zhì)量[1]?;瘜W(xué)打頂和機(jī)械打頂是目前主流打頂方法,二者具有速度快、效率高的特點(diǎn)[2]。但是,由于不能實(shí)時(shí)精準(zhǔn)地識(shí)別和定位棉花主莖生長(zhǎng)點(diǎn),化學(xué)打頂方法難以針對(duì)棉花頂進(jìn)行定點(diǎn)施藥,大面積噴灑藥液,不僅對(duì)棉花其它部位的生長(zhǎng)產(chǎn)生了抑制,而且容易造成藥液浪費(fèi)和環(huán)境污染。同樣,機(jī)械打頂?shù)那邢鞯毒咧荒芨鶕?jù)植株高度計(jì)算切削的位置,大多數(shù)情況下棉花頂與植株高度之間并不存在確定的數(shù)量關(guān)系,僅根據(jù)植株高度計(jì)算切削的位置導(dǎo)致過打頂和漏打頂現(xiàn)象比較嚴(yán)重。因此研究棉花主莖生長(zhǎng)點(diǎn)識(shí)別和定位技術(shù),是實(shí)現(xiàn)化學(xué)打頂中精準(zhǔn)對(duì)點(diǎn)施藥與機(jī)械打頂中刀具精確控制的關(guān)鍵。
隨著目標(biāo)檢測(cè)和定位技術(shù)的迅猛發(fā)展,近年來,這些技術(shù)被廣泛應(yīng)用于各個(gè)領(lǐng)域,其中在農(nóng)業(yè)領(lǐng)域也取得了顯著的成果,這為探索棉花主莖生長(zhǎng)點(diǎn)檢測(cè)與定位提供了研究基礎(chǔ)。目標(biāo)檢測(cè)算法主要分為傳統(tǒng)檢測(cè)算法和深度學(xué)習(xí)算法,傳統(tǒng)目標(biāo)檢測(cè)算法在復(fù)雜多變的背景下其檢測(cè)效果會(huì)受到較大的影響,研究者在此方法上做了進(jìn)一步的改進(jìn)。張豪[3]提出在HSV 顏色空間下使用二維Otsu 閾值和幾何特征相結(jié)合的方法對(duì)棉花圖像進(jìn)行分割,并提出了基于遺傳算法進(jìn)行特征參數(shù)提取的方法對(duì)棉花成熟度判定。瞿端陽等[4]提取棉株株頂和葉片等其它部分的R,G,B 等3 通道的均值、方差與標(biāo)準(zhǔn)差,利用BP 神經(jīng)網(wǎng)絡(luò)對(duì)棉株株頂進(jìn)行識(shí)別。沈曉晨[5]采用了Lab 空間模型a 單通道選型,進(jìn)行降維處理手段,并利用自適應(yīng)閾值分割,垂直投影算法,識(shí)別出棉株主莖桿特征。
隨著深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,目標(biāo)識(shí)別檢測(cè)相較于傳統(tǒng)方法展現(xiàn)出更高的優(yōu)越性,目前的卷積神經(jīng)網(wǎng)絡(luò)主要分為兩大類,一種是端到端的方法[6-8],主要有YOLO、SSD、RetinaNet,另一種是基于區(qū)域建議的方法[9-11],主要有Fast RCNN、Faster RCNN、Mask RCNN。 劉慶飛[12]提出基于SSD 方法和深度相機(jī)的棉花頂心識(shí)別與空間定位方法,首先對(duì)棉花頂芽進(jìn)行識(shí)別檢測(cè),然后利用深度相機(jī)求得目標(biāo)三維坐標(biāo)信息;Fuentes[13]利用三大類檢測(cè)器:Faster R-CNN、R-FCN 和SSD,對(duì)番茄病蟲害實(shí)時(shí)識(shí)別檢測(cè),使用了局部和全局類注釋和數(shù)據(jù)擴(kuò)充的方法;趙德安等[14]使用YOLOv3 在實(shí)際環(huán)境下對(duì)蘋果進(jìn)行檢測(cè),運(yùn)用類似于VGG 模型搭建13 層網(wǎng)絡(luò),使用2 種不同尺度的錨點(diǎn)提取圖像信息;李潤(rùn)龍等[15]在SqueezeNet 網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上引用分組卷積并采用Channel-shuffle來解決分組卷積后的信息不流通問題。
盡管現(xiàn)有工作利用不同技術(shù)對(duì)棉花主莖生長(zhǎng)點(diǎn)識(shí)別和定位進(jìn)行了研究,但是仍存在模型參數(shù)量較多、檢測(cè)時(shí)間慢、缺乏空間定位能力等問題[16-18]。本試驗(yàn)提出使用Mobilenet 輕量化網(wǎng)絡(luò)與YOLOv3結(jié)合并改進(jìn),降低網(wǎng)絡(luò)復(fù)雜度,提升檢測(cè)效率,引入深度信息建立定位模型,為探索輕量化的棉花主莖生長(zhǎng)點(diǎn)檢測(cè)與定位方法提供了思路。
棉花打頂時(shí)間基本為每年的7 月中旬左右,在打頂前30 d 的時(shí)間主莖生長(zhǎng)點(diǎn)特征已經(jīng)顯現(xiàn),因此數(shù)據(jù)采集時(shí)間為每年的6 中旬至7 月中旬,為了保證數(shù)據(jù)集的多樣性,分別在每天上午(9:00—11:00)、中午(13:00—14:00)和下午(16:00—18:00)的時(shí)間段采集棉株圖像,在距離棉株頂部200 ~400 mm 之間進(jìn)行拍攝,保證了在不同拍照距離、不同光照、不同拍攝角度的條件下采集棉株圖像。本次研究所使用的數(shù)據(jù)集采自華北作物改良與調(diào)控國(guó)家重點(diǎn)實(shí)驗(yàn)室的實(shí)驗(yàn)基地。
將所拍攝的圖像進(jìn)行統(tǒng)一整理,保存為相同大小的文件,用LabelImg 標(biāo)注工具對(duì)數(shù)據(jù)集進(jìn)行人工標(biāo)注,得到相關(guān)的標(biāo)注信息xml 文件,其中包含了圖像的寬高信息、目標(biāo)類別信息以及目標(biāo)矩形框左上角和右下角信息。將圖像與xml 文件對(duì)應(yīng)保存為PASCAL VOC 的格式,用于YOLOv3 網(wǎng)絡(luò)模型的訓(xùn)練與測(cè)試,本次數(shù)據(jù)集共包括11 001 張圖像與對(duì)應(yīng)xml 文件。圖1 為棉株在不同條件下的采集的主莖生長(zhǎng)點(diǎn)圖像。從圖1 可見,主莖生長(zhǎng)點(diǎn)葉片相較于其他普通葉片形狀較小,顏色更偏嫩綠,隨著光線強(qiáng)度、拍攝距離、拍攝角度的變化,其顏色、形狀等會(huì)隨之產(chǎn)生變化。圖2 為人工標(biāo)注圖像。
圖1 不同拍攝條件下棉株圖像Fig.1 Images of cotton plants under different shooting conditions
圖2 標(biāo)注圖像Fig.2 Label image
YOLOv3 網(wǎng)絡(luò)使用darknet53 作為特征提取網(wǎng)絡(luò),darknet53 是由卷積模塊和殘差模塊共同構(gòu)成的,網(wǎng)絡(luò)結(jié)構(gòu)層次較深,卷積模塊包括卷積層、BN、Leaky Relu, 2 個(gè)卷積模塊和跳層連接構(gòu)成殘差單元,再由1、2、8、8、4 個(gè)殘差單元組成5 個(gè)殘差模塊,這樣設(shè)計(jì)有利于解決深層次網(wǎng)絡(luò)的梯度問題,在保持速度的同時(shí)提高了準(zhǔn)確率。其網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。
圖3 darknet53 結(jié)構(gòu)Fig.3 Structure of darknet53
YOLOv3 采用多尺度預(yù)測(cè)結(jié)構(gòu),使用多個(gè)尺度進(jìn)行預(yù)測(cè),在某些卷積層之后進(jìn)行下采樣,最后再通過上采樣拼接完成多尺度檢測(cè)。網(wǎng)絡(luò)產(chǎn)生3 種不同尺寸大小的特征圖,聚類生成9 種尺度先驗(yàn)框,其特征圖先驗(yàn)框尺寸如表1 所示。
表1 特征圖與先驗(yàn)框尺寸Table 1 Size of feature map and anchor
對(duì)于不同尺寸的特征圖來說,13×13 大小特征圖感受野較大,適合檢測(cè)尺寸較大的物體,26×26大小特征圖具有中等尺度感受野,適合檢測(cè)中等尺寸物體,52×52 大小特征圖感受野較小,適合檢測(cè)小尺寸物體,YOLOv3 通過這3 種不同尺度特征圖的方法達(dá)到檢測(cè)不同尺度目標(biāo)的目的。
為驗(yàn)證YOLOv3 網(wǎng)絡(luò)在棉花主莖生長(zhǎng)點(diǎn)圖像數(shù)據(jù)檢測(cè)效果并調(diào)整相關(guān)參數(shù),在全部數(shù)據(jù)集中選取部分?jǐn)?shù)據(jù)進(jìn)行驗(yàn)證,分別使用了不同分辨率圖像、不同學(xué)習(xí)率進(jìn)行實(shí)驗(yàn),通過實(shí)驗(yàn)結(jié)果對(duì)YOLOv3 網(wǎng)絡(luò)進(jìn)行微調(diào)。
網(wǎng)絡(luò)訓(xùn)練默認(rèn)保存10 個(gè)權(quán)重文件,將其中Validation loss 相對(duì)較低的權(quán)重文件加載到模型中,對(duì)未在訓(xùn)練集里的棉株圖像測(cè)試,得到相關(guān)結(jié)果。結(jié)果如表2 所示。
表2 不同分辨率下的mAPTable 2 mAP at different resolutions
由表2 可知,當(dāng)分辨率為1 024×1 024 時(shí),模型mAP最高,但是在同等條件下其訓(xùn)練時(shí)間也會(huì)增加,而全部數(shù)據(jù)集較大,使用1 024×1 024 分辨率圖像會(huì)造成參數(shù)量、訓(xùn)練時(shí)間過大,因此最終選用折中的 416×416 分辨率圖片作為調(diào)試代碼數(shù)據(jù)集。
將全部數(shù)據(jù)集中圖像調(diào)整為416×416 大小,再調(diào)整學(xué)習(xí)率,通過調(diào)整學(xué)習(xí)率網(wǎng)絡(luò)會(huì)出現(xiàn)不同的結(jié)果,初始學(xué)習(xí)率為1e-4,查看不同學(xué)習(xí)率下訓(xùn)練結(jié)果loss值如圖4 所示。
圖4 不同學(xué)習(xí)率Loss 圖Fig.4 Loss changes in different learning rates
修改學(xué)習(xí)率可以提升模型最終結(jié)果的準(zhǔn)確率,從圖4 中可以看出,當(dāng)學(xué)習(xí)率為0.4e-4 時(shí),Loss 值下降過程較為穩(wěn)定,幾種Loss 值最終相差較小,不同學(xué)習(xí)率對(duì)最終檢測(cè)準(zhǔn)確率影響做對(duì)比,如表3 所示,確定學(xué)習(xí)率為0.4e-4。
表3 不同學(xué)習(xí)率對(duì)比Table 3 Comparison of different learning rates
MobileNet 網(wǎng)絡(luò)是Google 提出主要應(yīng)用在移動(dòng)端的輕量級(jí)網(wǎng)絡(luò)[19],其中提出了深度可分離卷積,可以大量的減少參數(shù)數(shù)量,MobileNetv2 相比MobileNetv1 更高效,MobileNetv2 在使用深度可分離卷積的基礎(chǔ)上引入了反向殘差結(jié)構(gòu),反向殘差結(jié)構(gòu)如圖5 所示。
圖5 反向殘差結(jié)構(gòu)Fig.5 Structure of reverse residuals
圖5 中 PW 為標(biāo)準(zhǔn)卷積,DW 為深度可分離卷積,反向殘差結(jié)構(gòu)與Resnet 網(wǎng)絡(luò)中殘差結(jié)構(gòu)相比有所不同,Resnet 使用標(biāo)準(zhǔn)卷積提取特征,先降維、卷積、再升維,MobileNetv2 始終使用深度可分離卷積提取特征,先升維、卷積、再降維。使用MobileNetv2網(wǎng)絡(luò)替換darknet53,特征提取網(wǎng)絡(luò)結(jié)構(gòu)如表4 所示。
表4 特征提取網(wǎng)絡(luò)結(jié)構(gòu)Table 4 Network structure of feature extraction
表4 中t表示“擴(kuò)張”倍數(shù),c表示輸出通道數(shù),n表示重復(fù)次數(shù),s表示步長(zhǎng),convolutional 為卷積操作,inverted_residual 為反向殘差模塊。分別在輸入為(52,52,32)、(26,26,96)、(13,13,320)時(shí)輸出3 種不同尺度大小特征圖(52,52,32)、(26,26,96)、(13,13,1 280),再分別做卷積操作,最終進(jìn)行檢測(cè)。
SqueezeNet[20]是1 種輕量且高效的模型,它在ImageNet 上實(shí)現(xiàn)了和AlexNet 相同的正確率,但是只使用了1/50 的參數(shù)。SqueezeNet 網(wǎng)絡(luò)基本單元是采用了模塊化的卷積,其稱為Fire module。Fire 模塊主要包含2 層卷積操作:一是采用1×1 卷積核的squeeze 層;二是混合使用1×1 和3×3 卷積核的expand 層。將YOLOv3 網(wǎng)絡(luò)與SqueezeNet 結(jié)合,原有特征提取網(wǎng)絡(luò)替換為SqueezeNet,其特征提取結(jié)構(gòu)如表5 所示。
表5 中s1×1、e1×1、e3×3分別代表1×1 卷積核squeeze 層輸出通道數(shù)、1×1 卷積核expand 層輸出通道數(shù)、3×3 卷積核expand 層輸出通道數(shù),s表示步長(zhǎng),分別在輸入為(104,104,256)、(52,52,512)、(26,26,512) 時(shí)輸出3 種不同尺度大小特征圖(52,52,256)、(26,26,512)、(13,13,1 024),再分別做卷積操作,最后進(jìn)行檢測(cè)。
為實(shí)現(xiàn)更加輕量化的網(wǎng)絡(luò),將YOLOv3 網(wǎng)絡(luò)進(jìn)行改進(jìn),得到改進(jìn)后的網(wǎng)絡(luò)LW-YOLOv3。LW-YOLOv3 將darknet53 特征提取網(wǎng)絡(luò)替換為MobileNetv2網(wǎng)絡(luò),并借鑒其中深度可分離卷積思想,將YOLOv3 分支網(wǎng)絡(luò)中標(biāo)準(zhǔn)3×3 卷積替換為深度可分離卷積,其中深度可分離卷積是由一個(gè)3×3 的深度卷積和一個(gè)1×1 的逐點(diǎn)卷積構(gòu)成,激活函數(shù)使用Relu6,其余標(biāo)準(zhǔn)卷積激活函數(shù)使用Leaky Relu。LW-YOLOv3 整體結(jié)構(gòu)如圖6 所示,其中i_res 代表反向殘差結(jié)構(gòu),sep 代表深度可分離卷積。
圖6 中特征提取網(wǎng)絡(luò)主要為卷積模塊和反向殘差模塊構(gòu)成,其中第一個(gè)DBL 卷積模塊使用3×3卷積核、步長(zhǎng)為2,接著經(jīng)過6 個(gè)i_res 反向殘差模塊輸出特征圖(52,52,32)的結(jié)果之后繼續(xù)提取特征并產(chǎn)生1 條預(yù)測(cè)分支,再經(jīng)過7 個(gè)i_res 反向殘差模塊輸出特征圖(26,26,96)的結(jié)果之后繼續(xù)提取特征并產(chǎn)生第二條預(yù)測(cè)分支,最后經(jīng)過4 個(gè)i_res 反向殘差模塊和1 個(gè)DBL 卷積模塊輸出特征圖(13,13,1 280)的結(jié)果之后結(jié)束特征提取,繼續(xù)進(jìn)行卷積等操作作為第三條預(yù)測(cè)分支。3 條預(yù)測(cè)分支之間使用類似于FPN 的方法進(jìn)行特征融合,通過上采樣與前一條分支結(jié)果進(jìn)行拼接后繼續(xù)操作。
圖6 LW-YOLOv3 模型結(jié)構(gòu)Fig.6 LW-YOLOv3 structure
本次模型實(shí)驗(yàn)均在相同的硬件設(shè)備下進(jìn)行,硬件配置為Intel? Core? i9-9820X CPU @ 3.30 GHz× 20,64 G 內(nèi)存,顯卡為GeForce RTX 2080 Ti,操作系統(tǒng)為64 位Ubuntu 18.04.1 LTS。TensorFlow 框架版本為1.13.1,Cuda 版本為10.0,Python 版本為3.6。設(shè)置初始學(xué)習(xí)率為0.4e-4,隨著訓(xùn)練迭代次數(shù)的不斷增加,學(xué)習(xí)率隨之變化,最終學(xué)習(xí)率為1e-6,IOU 閾值為0.5。
訓(xùn)練時(shí)批處理大小設(shè)置為3,總共迭代40 個(gè)Epoch,保存最后10 個(gè)Epoch 迭代得到的權(quán)重文件,使用權(quán)重文件在測(cè)試集上進(jìn)行測(cè)試,計(jì)算精準(zhǔn)率P、召回率R、平均準(zhǔn)確率mAP,計(jì)算公式如下:
式中:TP—正確的將主莖生長(zhǎng)點(diǎn)檢測(cè)出來的數(shù)量。
FP—錯(cuò)誤的將非主莖生長(zhǎng)點(diǎn)檢測(cè)為主莖生長(zhǎng)點(diǎn)的數(shù)量。
FN—錯(cuò)誤的將主莖生長(zhǎng)點(diǎn)檢測(cè)為背景的數(shù)量。
P和R在已知的情況可以得到P-R曲線,P-R曲線下與坐標(biāo)軸之間包含的面積為準(zhǔn)確率AP的值,mAP為所有檢測(cè)類別AP的平均值,本文僅檢測(cè)棉花主莖生長(zhǎng)點(diǎn)1 個(gè)類別,因此mAP與AP相等。
將幾種模型在同一數(shù)據(jù)集上進(jìn)行測(cè)試,使用mAP、檢測(cè)時(shí)間、參數(shù)量等評(píng)價(jià)指標(biāo)對(duì)YOLOv3 網(wǎng)絡(luò)和輕量化YOLOv3 網(wǎng)絡(luò)綜合對(duì)比,畫出幾種模型Loss 曲線,分析模型最終結(jié)果,驗(yàn)證模型有效性與檢測(cè)性能。5 種模型的損失值如圖7 所示。
圖7 不同模型的Loss 曲線Fig.7 Loss curves of different models
其中YOLOv3-SqueezeNet 模型最終Loss 值最高,其次是YOLOv3-MobileNetv1,而YOLOv3、YOLOv3-MobileNetv2、LW-YOLOv3 3 種模型Loss值最終結(jié)果相近,可從其他評(píng)價(jià)指標(biāo)進(jìn)一步分析,如表6 所示。
表6 不同模型對(duì)比結(jié)果Table 6 Comparison results of different models
綜合對(duì)比幾種模型結(jié)果,LW-YOLOv3 網(wǎng)絡(luò)檢測(cè)單張圖片的時(shí)間較YOLOv3 網(wǎng)絡(luò)減少3.2 ms ,參數(shù)量降低為原網(wǎng)絡(luò)的10.85% ,權(quán)重文件大小降低為原網(wǎng)絡(luò)的12.19% ,mAP僅下降 0.63% ,提升了模型的檢測(cè)效率。為了驗(yàn)證模型在不同的拍照距離、不同光照條件下目標(biāo)檢測(cè)的魯棒性,選取了多種拍照距離和多種光線強(qiáng)度下圖像進(jìn)行測(cè)試,結(jié)果如圖8、圖9 所示。從圖8、圖9 檢測(cè)效果中可以看出,LWYOLOv3 網(wǎng)絡(luò)在不同距離和不同時(shí)間段對(duì)棉花主莖生長(zhǎng)點(diǎn)的檢測(cè)效果較好。當(dāng)拍攝距離不同時(shí),目標(biāo)在圖像中尺寸不固定,會(huì)出現(xiàn)大目標(biāo)和小目標(biāo)的情況,而圖8 中LW-YOLOv3 網(wǎng)絡(luò)未檢測(cè)出目標(biāo)的主要原因是目標(biāo)被周圍葉片遮住部分,特征不夠明顯。當(dāng)外部光照條件不同時(shí),目標(biāo)顏色受光照影響產(chǎn)生較大變化,圖9 中每幅圖片棉株的顏色均不相同,LW-YOLOv3 在目標(biāo)顏色存在相似性差異的情況下能夠?qū)⒛繕?biāo)準(zhǔn)確識(shí)別,在圖9b 第一幅圖中出現(xiàn)同一目標(biāo)多框現(xiàn)象,主要由于網(wǎng)絡(luò)特征學(xué)習(xí)不夠充分,對(duì)類似特征識(shí)別不夠精準(zhǔn),但網(wǎng)絡(luò)整體檢測(cè)性能較好。
圖8 不同距離檢測(cè)結(jié)果Fig.8 Test results at different distances
圖9 不同時(shí)間段檢測(cè)結(jié)果Fig.9 Test results in different times
本文采用Intel Realsense D435(圖10)深度相機(jī)作為棉花主莖生長(zhǎng)點(diǎn)空間定位設(shè)備,該深度相機(jī)可以同時(shí)獲取彩色圖像與深度圖像,通過紅外傳感器得到深度信息,彩色圖像分辨率為1 280×720。
圖10 Intel realsense D435Fig.10 Intel realsense D435
相機(jī)成像過程涉及4 個(gè)坐標(biāo)系[21],分別是像素坐標(biāo)系(u,v)、圖像坐標(biāo)系(x,y)、相機(jī)坐標(biāo)系(Xc,Yc,Zc)、世界坐標(biāo)系(Xw,Yw,Zw),像素坐標(biāo)系與圖像坐標(biāo)系之間的關(guān)系可通過以下公式計(jì)算:
式中:dx,dy為每一個(gè)像素在u軸和v軸方向的物理尺寸。u0,v0為圖像坐標(biāo)系的原點(diǎn)在像素坐標(biāo)系下的坐標(biāo)。
通過針孔成像模型(圖11)可知相機(jī)坐標(biāo)系與圖像坐標(biāo)系之間存在相似三角形的關(guān)系,由相似三角形可得如下公式:
圖11 相機(jī)成像模型Fig.11 Camera imaging model
式中:f為相機(jī)焦距,(Xc,Yc,Zc) —空間中一點(diǎn)在相機(jī)坐標(biāo)系下坐標(biāo)。
其中P(Xc,Yc,Zc)為在空間中一點(diǎn),P′在圖像坐標(biāo)系中坐標(biāo)為(x,y),在像素坐標(biāo)系中坐標(biāo)為(u,v)。相機(jī)可以得到fx,fy,u0,v04 個(gè)主要內(nèi)部參數(shù),fx=f/dx,fy=f/dy,通過相機(jī)內(nèi)參以及相機(jī)成像原理即可得到空間中一點(diǎn)的三維坐標(biāo)。
當(dāng)模型檢測(cè)出棉花主莖生長(zhǎng)點(diǎn),會(huì)返回檢測(cè)框左上角與右下角的像素位置,通過檢測(cè)框左上角與右下角像素點(diǎn)確定目標(biāo)的中心點(diǎn)像素坐標(biāo)C(uc,vc),將以上公式進(jìn)行變形可得:
公式中各參數(shù)已知,即可得到目標(biāo)在相機(jī)坐標(biāo)系下的三維坐標(biāo),然后再通過相機(jī)外參的旋轉(zhuǎn)矩陣和平移矩陣即可將相機(jī)坐標(biāo)系轉(zhuǎn)為世界坐標(biāo)系。世界坐標(biāo)系是系統(tǒng)的絕對(duì)坐標(biāo)系,可建立在空間任意一點(diǎn),根據(jù)公式計(jì)算可實(shí)現(xiàn)不同坐標(biāo)系下的轉(zhuǎn)換,在實(shí)際應(yīng)用中得知目標(biāo)中心點(diǎn)三維坐標(biāo)之后經(jīng)過系列變換將其傳輸給機(jī)械臂末端執(zhí)行裝置,當(dāng)末端執(zhí)行裝置得到信息后執(zhí)行相關(guān)操作則可成功實(shí)現(xiàn)棉花打頂。
在實(shí)際環(huán)境下對(duì)定位功能測(cè)試,得到多組X、Y、Z坐標(biāo),并與實(shí)際值對(duì)比計(jì)算誤差,絕對(duì)誤差=檢測(cè)值-實(shí)際值,測(cè)試結(jié)果如表7 所示。
表7 測(cè)試結(jié)果Table 7 Test result
將以上數(shù)據(jù)中的絕對(duì)誤差制作為折線圖分別表示X、Y、Z誤差信息,如圖12 所示,其中Z方向誤差起伏較小,維持在4 mm 誤差范圍內(nèi),X方向誤差維持在9 mm 內(nèi),Y方向誤差維持在8.5 mm 內(nèi),最大誤差均未超過1 cm。而X、Y、Z方向平均誤差分別為3.04、3.00、3.53 mm,滿足了棉花打頂在定位精度方面的要求。
圖12 空間定位誤差分析Fig.12 Analysis of positioning error in space
將定位功能嵌入到檢測(cè)模型中,建立棉花主莖生長(zhǎng)點(diǎn)實(shí)時(shí)檢測(cè)與定位模型。首先調(diào)用深度相機(jī),獲取深度圖像與彩色圖像,由于深度圖像與彩色圖像視野范圍不同,最終需要展示為彩色圖像,因此先將深度圖像對(duì)齊到彩色圖像,保證相同視野。當(dāng)檢測(cè)模型檢測(cè)到棉花主莖生長(zhǎng)點(diǎn)時(shí)返回圖像中心點(diǎn)二維坐標(biāo),通過相關(guān)參數(shù)公式等信息計(jì)算得到棉花主莖生長(zhǎng)點(diǎn)此時(shí)的三維坐標(biāo),同時(shí)在窗口左上角顯示坐標(biāo)信息,整體流程如圖13 所示。
圖13 實(shí)時(shí)檢測(cè)流程Fig.13 Real time detection process
實(shí)際檢測(cè)效果如圖14 所示,檢測(cè)到棉花主莖生長(zhǎng)點(diǎn)后使用矩形框?qū)⑵溥x中,矩形框中心點(diǎn)為圖像中白色點(diǎn),返回該點(diǎn)二維坐標(biāo)計(jì)算空間三維坐標(biāo),在視頻中可同時(shí)顯示目標(biāo)信息與定位信息。
圖14 實(shí)時(shí)檢測(cè)效果Fig.14 Real time detection effect
本文提出輕量化 YOLOv3 模型對(duì)棉花主莖生長(zhǎng)點(diǎn)進(jìn)行識(shí)別研究,在實(shí)際環(huán)境下對(duì)目標(biāo)進(jìn)行檢測(cè)識(shí)別,通過調(diào)整分辨率以及學(xué)習(xí)率等參數(shù)對(duì)YOLOv3 模型進(jìn)行微調(diào),并對(duì)比了幾種不同輕量化網(wǎng)絡(luò)與 YOLOv3 網(wǎng)絡(luò)進(jìn)行結(jié)合的檢測(cè)結(jié)果,使用 MobileNetv2 網(wǎng)絡(luò)作為特征提取網(wǎng)絡(luò),同時(shí)改進(jìn)YOLOv3 分支網(wǎng)絡(luò),最終mAP達(dá)到 88.66% ,總參數(shù)量以及權(quán)重文件大小有大幅度降低,提升了檢測(cè)速度。在檢測(cè)目標(biāo)的基礎(chǔ)之上提供目標(biāo)所在相機(jī)坐標(biāo)系下的空間位置,并對(duì)三維誤差進(jìn)行分析。實(shí)驗(yàn)表明,本試驗(yàn)所使用的YOLOv3 模型在棉花主莖生長(zhǎng)點(diǎn)的識(shí)別與定位中具有速度快、準(zhǔn)確率高的優(yōu)勢(shì)。