本發(fā)明屬于目標(biāo)檢測,具體而言,涉及一種應(yīng)用于機(jī)器人采摘的鮮食葡萄檢測方法。
背景技術(shù):
1、鮮食葡萄作為一種重要的經(jīng)濟(jì)作物廣泛種植在我國各地。然而,目前鮮食葡萄的采摘工作主要由人工完成,采摘過程中勞動(dòng)強(qiáng)度大,耗時(shí)長。由于老齡化加劇與農(nóng)村勞動(dòng)力流失,因此需要通過智能化的采摘機(jī)器人去替代人工。葡萄采摘機(jī)器人需要能夠獨(dú)立且平穩(wěn)地在葡萄園內(nèi)行走,確保全面的通行能力和作業(yè)的穩(wěn)定性;其次,視覺識別系統(tǒng)應(yīng)能快速且準(zhǔn)確地識別并定位葡萄,即使在部分遮擋或葡萄重疊的情況下也能有效工作;最后,機(jī)械臂需迅速且精確地達(dá)到并采摘葡萄,同時(shí)能夠應(yīng)對環(huán)境因素導(dǎo)致的葡萄位置變動(dòng)。采摘機(jī)器人系統(tǒng)主要由控制系統(tǒng)、視覺識別系統(tǒng)和機(jī)械系統(tǒng)組成,其中機(jī)械系統(tǒng)包括行走機(jī)構(gòu)、支架、儲物箱、機(jī)械臂和末端執(zhí)行器。視覺系統(tǒng)的識別和定位準(zhǔn)確性及速度對于提高采摘機(jī)器人的精度和效率至關(guān)重要。同時(shí),鑒于葡萄極易受損,高效且準(zhǔn)確的視覺識別系統(tǒng)對于采摘機(jī)器人的性能是不可或缺的。
2、傳統(tǒng)的目標(biāo)檢測主要基于機(jī)器學(xué)習(xí)和數(shù)字圖像處理技術(shù),這些方法利用物體的顏色、形狀和紋理等基本特征來進(jìn)行匹配。但是由于其的閾值需要人工確定,因此以這些方法的魯棒性與泛化能力較差。受光照條件、檢測環(huán)境以及各種人為主觀因素影響較大,容易造成檢測準(zhǔn)確率低下、檢測不全和效率不高等問題。
3、近年來,隨著計(jì)算機(jī)視覺領(lǐng)域快速發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測算法在農(nóng)業(yè)領(lǐng)域開始得到應(yīng)用。目前基于深度學(xué)習(xí)的目標(biāo)檢測算法主要分為雙階段與單階段,由于雙階段的實(shí)時(shí)性較差很難應(yīng)用于農(nóng)業(yè)的實(shí)際場景中。yolo是一種典型的基于cnn的單階段目標(biāo)檢測算法,相比于傳統(tǒng)算法在速度和準(zhǔn)確率上有更大的優(yōu)勢,更加符合農(nóng)業(yè)場景的要求,能夠?qū)δ繕?biāo)進(jìn)行快速檢測和定位。但是常規(guī)的yolo算法在嵌入式設(shè)備上應(yīng)用時(shí),依然受到了精度與速度的限制。
技術(shù)實(shí)現(xiàn)思路
1、為了克服已有技術(shù)的不足,為了解決葡萄采摘機(jī)器人在復(fù)雜場景中識別精度較差和識別速度較慢的問題,本發(fā)明提供了一種應(yīng)用于農(nóng)業(yè)機(jī)器人采摘的鮮食葡萄檢測方法,提高復(fù)雜場景中鮮食葡萄的識別精度與識別速度。
2、本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
3、一種應(yīng)用于農(nóng)業(yè)機(jī)器人采摘的鮮食葡萄檢測方法,所述方法包括以下步驟:
4、步驟1、采集拍攝的葡萄圖像數(shù)據(jù)集的數(shù)據(jù),對數(shù)據(jù)進(jìn)行馬賽克數(shù)據(jù)增強(qiáng)操作,得到更豐富的數(shù)據(jù)樣本,再進(jìn)行后續(xù)的特征提取操作;
5、步驟2、對預(yù)處理后的圖像提取特征,生成特征向量,過程如下:數(shù)據(jù)樣本作為訓(xùn)練樣本輸入到特征提取神經(jīng)網(wǎng)絡(luò)中,先通過卷積、池化和激活操作得到特征圖;再將特征圖輸入到elsan結(jié)構(gòu)中,提取葡萄的形狀、顏色和紋理表層信息;
6、步驟3、對提取的特征進(jìn)行多尺度融合:特征提取神經(jīng)網(wǎng)絡(luò)輸出的特征圖通過特征金字塔結(jié)構(gòu)實(shí)現(xiàn)不同級別的特征融合;
7、步驟4、訓(xùn)練過程中,
8、將圖像分割為n*n的單元格,根據(jù)卷積操作得到的特征對每一個(gè)單元格內(nèi)的葡萄進(jìn)行判斷,并得到單元格內(nèi)的葡萄的的邊界信息,預(yù)測葡萄的位置與類別,然后與標(biāo)定的真實(shí)葡萄位置與類別進(jìn)行對比;計(jì)算損失函數(shù),根據(jù)損失函數(shù)進(jìn)行反向傳播修正每一層神經(jīng)網(wǎng)絡(luò)的權(quán)重從而調(diào)整模型參數(shù);
9、步驟5、判斷訓(xùn)練是否達(dá)到結(jié)束條件,若未達(dá)到條件,則返回步驟4;若達(dá)到條件,則停止訓(xùn)練并輸出模型結(jié)果;
10、步驟6、使用訓(xùn)練后的模型進(jìn)行目標(biāo)檢測操作,并且使用非最大值抑制的方法,刪除多余的預(yù)測框。
11、進(jìn)一步,所述步驟2中,elsan提取信息的過程如下:
12、2.1.1、將輸入的特征圖分為兩部分,即跨級連接與堆棧計(jì)算塊,跨級連接用于加快推理速度,堆棧計(jì)算塊用于豐富梯度信息提高學(xué)習(xí)能力;
13、2.1.2、使用特征張量疊加concat操作,降低算法訪問內(nèi)存的速度;
14、2.1.3、最后經(jīng)過通道混洗操作提高特征信息在不同通道內(nèi)的融合。
15、再進(jìn)一步,所述步驟2中,引入sppf模塊,將輸入特征圖經(jīng)過不同的尺度的池化操作,并將操作結(jié)果拼接得到豐富的特征信息;在sppf模塊前加入了se注意力機(jī)制,得到其通道間的最優(yōu)的特征權(quán)重;過程如下:
16、2.2.1、首先對輸入的特征圖h×w×c進(jìn)行空間壓縮,在空間維度實(shí)現(xiàn)全局平均池化,得到1×1×c的特征圖;
17、2.2.2、對壓縮后的特征圖進(jìn)行全連接層操作學(xué)習(xí),得到具有通道注意力的特征圖;
18、2.2.3、將具有通道注意力的特征圖與原始特征圖進(jìn)行結(jié)合,通過逐通道乘以權(quán)重系數(shù)的方法,得到最終帶有通道注意力的特征圖。
19、更進(jìn)一步,所述步驟3的過程如下:
20、3.1、通過下采樣操作逐漸降低圖像的分辨率,同時(shí)提取更高級別的語義信息,獲得分辨率低但更抽象和有全局信息的特征圖;
21、3.2、通過上采樣操作將低分辨率的特征圖上采樣到更高分辨率,獲取更局部和細(xì)節(jié)的特征圖;
22、3.3、將上采樣得到的高分辨率特征圖與原始特征圖進(jìn)行逐層融合,獲得豐富的上下文信息。
23、再進(jìn)一步,所述步驟4中,損失函數(shù)定義為:
24、loss總體=loss置信度+loss定位
25、其中,loss置信度使用的二元交叉熵?fù)p失函數(shù),用于計(jì)算預(yù)測所得到的置信度分?jǐn)?shù)與真實(shí)情況的差異;loss定位使用的α-iou,在iou的基礎(chǔ)上引入功率損耗并分析損失函數(shù)、梯度權(quán)重特征,定位損失函數(shù)定義如下:
26、
27、其中,α為定位損失函數(shù)的系數(shù),可適應(yīng)不同的識別模型;iou為預(yù)測框與真實(shí)框的交并比,公式定義如下:
28、
29、所述步驟5中,設(shè)定每個(gè)訓(xùn)練周期包括n輪訓(xùn)練輪次,n為整數(shù),在每一個(gè)訓(xùn)練周期結(jié)束后,計(jì)算每一個(gè)訓(xùn)練周期的評價(jià)指標(biāo)map,公式如下:
30、
31、ap=∫p(r)dr
32、
33、其中,k為葡萄的類別數(shù)量,tp為真陽性樣本數(shù),即是葡萄同時(shí)也被識別為葡萄的樣本,fp為假陽性樣本數(shù),即不是葡萄但是被識別為葡萄的樣本,fn為假陰性樣本數(shù),即是葡萄但是被識別為非葡萄的樣本;預(yù)測結(jié)果時(shí)會得到不同置信度,即算法認(rèn)為其是葡萄的概率,只有當(dāng)置信度大于所設(shè)定的置信度閾值時(shí),才會被記錄到tp中,因此不同的置信度閾值會產(chǎn)生不同精度p與召回率r;為了減少人為設(shè)定的置信度閾值對于算法評價(jià)的干擾,置信度閾值從0-1變化時(shí),記錄當(dāng)前精度p與召回率r,并建立橫坐標(biāo)是召回率r、縱坐標(biāo)是精度p的曲線,并計(jì)算精度-召回率曲線和坐標(biāo)軸圍成的區(qū)域面積ap;
34、每一個(gè)訓(xùn)練周期計(jì)算一次map,保存當(dāng)前最大的map;當(dāng)達(dá)到x個(gè)訓(xùn)練周期內(nèi)map均小于最大的map時(shí)則停止,最大map對應(yīng)的訓(xùn)練周期的最后一個(gè)訓(xùn)練輪次的模型參數(shù)作為最終的訓(xùn)練結(jié)果。
35、優(yōu)選的,所述步驟5中,如果達(dá)到最大訓(xùn)練輪次時(shí),仍未停止訓(xùn)練,最大map對應(yīng)的訓(xùn)練周期的最后一個(gè)輪次訓(xùn)練的模型參數(shù)作為最終的訓(xùn)練結(jié)果。這個(gè)方案是為了避免出現(xiàn)無法出現(xiàn)停止條件的極端情況,最大訓(xùn)練輪次往往取較大的數(shù)值。
36、當(dāng)然,所述步驟5的結(jié)束條件也可以是最大訓(xùn)練輪次,只要訓(xùn)練輪次達(dá)到最大訓(xùn)練輪次則停止,損失函數(shù)最小的輪次訓(xùn)練模型參數(shù)作為最終的訓(xùn)練結(jié)果。這個(gè)方案相對來說效率較低。
37、優(yōu)選的,所述步驟6中,非最大值的抑制方法定義如下:
38、
39、其中,m是置信度最高的邊界框,bi表示當(dāng)前目標(biāo)中的比較邊界框,nt是閾值,α-iou(m,bi)是損失函數(shù),σ是懲罰系數(shù)。
40、再優(yōu)選的,所述步驟1中,馬賽克數(shù)據(jù)增強(qiáng)操作包含隨機(jī)裁剪、旋轉(zhuǎn)、縮放、拼接、亮度調(diào)整和掩膜操作。
41、本發(fā)明的步驟2中,將數(shù)據(jù)增強(qiáng)后的訓(xùn)練樣本輸入得到骨干網(wǎng)絡(luò)前,采用新的骨干網(wǎng)絡(luò)替換yolo原有的骨干網(wǎng)絡(luò),該新的骨干網(wǎng)絡(luò)刪除了原有網(wǎng)絡(luò)中的殘差單元與過渡層,提高了模型的推理速度與在小樣本數(shù)據(jù)集上特征提取的能力,并且在新的骨干網(wǎng)絡(luò)中引入通道混洗操作,增加不同通道層中特征融合的能力,提高模型的檢測性能。
42、所述步驟3中,在多尺度特征融合之前引入se注意力機(jī)制,基于全局池化和擠壓激勵(lì),se模塊能夠獲取全局信息并自適應(yīng)地調(diào)整特征權(quán)重;se被集成到cspdarknet53中以連接yolo,建立模型通道之間的相互依賴關(guān)系,自適應(yīng)地重新校準(zhǔn)通道方向的特征響應(yīng),進(jìn)而提升網(wǎng)絡(luò)性能。
43、所述步驟4中,在yolo的頸部網(wǎng)絡(luò)引入新的卷積操作去替換原有卷積操作,降低頸部網(wǎng)絡(luò)中冗余的特征的提取,加快模型的推理速度,同時(shí)提高模型的空間特征提取能力。
44、本發(fā)明中,葡萄采摘機(jī)器人的智能化采摘任務(wù)可分解為三個(gè)子任務(wù):1)需要采摘機(jī)器人能獨(dú)自且平穩(wěn)的行走于葡萄園中,保持全域的通過性與全域作業(yè)的穩(wěn)定性;2)視覺識別系統(tǒng)能快速、準(zhǔn)確的識別并定位葡萄,可以在部分遮擋的情況下識別葡萄,可以分割重疊葡萄;3)機(jī)械臂需要快速、精確的接近并采摘葡萄,同時(shí)可以應(yīng)對由環(huán)境中未知力迫使葡萄運(yùn)動(dòng)的情況。因此采摘機(jī)器人包括機(jī)械結(jié)構(gòu)、視覺識別系統(tǒng)3以及含有機(jī)械臂控制和視覺識別的控制系統(tǒng),其中機(jī)械機(jī)構(gòu)包含行走機(jī)構(gòu)6、支架1、儲物箱5、機(jī)械臂2與末端執(zhí)行器4。其中各模塊的主要功能如下:(1)視覺識別系統(tǒng),當(dāng)葡萄采摘機(jī)器人移動(dòng)至工作空間后,先由識別系統(tǒng)對葡萄的果穗進(jìn)行識別與定位。此時(shí)主要的目的是初步定位并區(qū)分重疊的果穗,對后續(xù)采摘的規(guī)劃進(jìn)行指導(dǎo)。之后驅(qū)動(dòng)機(jī)械臂接近葡萄,識別果梗并定位采摘點(diǎn)。通過對采摘點(diǎn)的定位反饋實(shí)現(xiàn)對機(jī)械臂的控制,減少機(jī)械臂對葡萄果穗的傷害。(2)控制系統(tǒng)。根據(jù)識別系統(tǒng)所獲得的信息,控制采摘機(jī)器人的機(jī)械機(jī)構(gòu)。即對采摘機(jī)器人的行走機(jī)構(gòu)進(jìn)行路徑規(guī)劃與行走控制,對機(jī)械臂的軌跡、姿態(tài)進(jìn)行規(guī)劃與控制。由于采摘機(jī)器人空間有限,采用嵌入式設(shè)備作為采摘機(jī)器人的控制中心。采摘機(jī)器人嵌入式系統(tǒng)既要進(jìn)行圖像處理、目標(biāo)檢測又要控制機(jī)械臂與移動(dòng)平臺,所以對目標(biāo)檢測算法的實(shí)時(shí)性具有較高的要求。
45、本發(fā)明的有益效果主要表現(xiàn)在:
46、1)本發(fā)明的通過設(shè)計(jì)了一個(gè)新的骨干網(wǎng)絡(luò),提高了葡萄特征提取的能力,有效輔助小規(guī)模數(shù)據(jù)集的訓(xùn)練并且加快了目標(biāo)檢測的推理速度。
47、2)本發(fā)明的通過替換了yolo模型頸部網(wǎng)絡(luò)的卷積操作,減少了葡萄的冗余特征,同時(shí)提高了空間特征提取的能力。
48、3)本發(fā)明的通過設(shè)計(jì)了yolo模型與注意力機(jī)制結(jié)合的優(yōu)化方案,結(jié)合空間與通道的注意力有效抑制無關(guān)特征,使模型在復(fù)雜場景下具有更好的性能,更好地應(yīng)對葡萄的生長背景雜亂、目標(biāo)不突出、易受遮擋等問題,
49、4)本發(fā)明通過設(shè)計(jì)了一個(gè)新的非最大值抑制方法,提高了重疊葡萄的分割能力。有效提升果實(shí)檢測的準(zhǔn)確率和效率,從而為農(nóng)業(yè)場景自動(dòng)化采收提供一種無需依賴于人工經(jīng)驗(yàn)的可靠檢測方案。