黃成龍 張忠福 華向東 楊俊雅 柯宇曦 楊萬(wàn)能
(1.華中農(nóng)業(yè)大學(xué)工學(xué)院, 武漢 430070; 2.華中農(nóng)業(yè)大學(xué)作物遺傳改良國(guó)家重點(diǎn)實(shí)驗(yàn)室, 武漢 430070)
棉鈴是棉花經(jīng)授粉子房生長(zhǎng)后形成的果實(shí)。棉鈴的生長(zhǎng)發(fā)育過(guò)程大致可分為體積膨大期、棉鈴充實(shí)期、脫水成熟期[1]。棉鈴作為棉花重要的產(chǎn)量與品質(zhì)器官,單株鈴數(shù)、鈴長(zhǎng)、鈴寬、長(zhǎng)寬比等相關(guān)的表型性狀一直是棉花育種的重要指標(biāo)與研究方向[2-3]。文獻(xiàn)[4]指出鈴數(shù)是構(gòu)成棉花產(chǎn)量的重要三要素之一,單株鈴數(shù)又與棉花品種、栽培環(huán)境等條件息息相關(guān)。文獻(xiàn)[5]研究表明,單位面積成鈴數(shù)增加會(huì)使平均鈴重降低,但由于補(bǔ)償作用,增加的鈴數(shù)補(bǔ)償了鈴重降低造成的產(chǎn)量損失,從而使得棉花產(chǎn)量增加,因此鈴數(shù)對(duì)棉花產(chǎn)量的影響較大。文獻(xiàn)[6]也指出通過(guò)對(duì)鈴數(shù)和鈴重的雙重調(diào)控可以有效提高棉花的產(chǎn)量。因此,棉鈴單株鈴數(shù)的精準(zhǔn)測(cè)量,對(duì)棉花產(chǎn)量預(yù)測(cè)、相關(guān)基因位點(diǎn)的鑒定、探究產(chǎn)量與外部環(huán)境交互作用以及優(yōu)勢(shì)棉花品種的選育具有重要意義。
傳統(tǒng)的棉鈴計(jì)數(shù)主要依賴人工,存在主觀、低效、接觸干擾等問(wèn)題,無(wú)法滿足高通量、智能化棉花育種的需求。近年來(lái),隨著深度學(xué)習(xí)的快速發(fā)展,基于單階段、多階段的目標(biāo)檢測(cè)算法受到越來(lái)越多研究人員的關(guān)注[7]。在農(nóng)業(yè)領(lǐng)域,目標(biāo)檢測(cè)方法被廣泛應(yīng)用于病蟲(chóng)害與雜草識(shí)別[8-11]、作物及其器官分類與識(shí)別[12-14]、耕地信息提取與產(chǎn)量預(yù)測(cè)[15-16]等。文獻(xiàn)[17]提出了一種基于弱監(jiān)督深度學(xué)習(xí)架構(gòu)的田間小麥病害自動(dòng)診斷系統(tǒng),使用的VGG-FCN-VD16和VGG-FCN-S兩種深度學(xué)習(xí)網(wǎng)絡(luò)檢測(cè)準(zhǔn)確率均可達(dá)95%以上;文獻(xiàn)[18]采用特征增強(qiáng)與多尺度融合的方法改進(jìn)SSD模型,實(shí)現(xiàn)了對(duì)田間雜草的有效檢測(cè)。因此基于深度學(xué)習(xí)的棉鈴識(shí)別,將為棉鈴計(jì)數(shù)提供新的途徑。
然而棉鈴由于受到葉片的遮擋,無(wú)法通過(guò)單一視角圖像的目標(biāo)檢測(cè)完成棉鈴計(jì)數(shù),而多視角目標(biāo)跟蹤將為棉鈴準(zhǔn)確計(jì)數(shù)提供新的解決方案。目標(biāo)跟蹤是指通過(guò)對(duì)比構(gòu)成視頻的圖像序列中目標(biāo)的外觀形貌信息與空間位置變化,實(shí)現(xiàn)前后幀同一目標(biāo)的匹配[19]。在計(jì)算機(jī)視覺(jué)領(lǐng)域中,目標(biāo)跟蹤按照研究對(duì)象的不同,可分為單目標(biāo)跟蹤與多目標(biāo)跟蹤,主要應(yīng)用于車(chē)、船舶流量監(jiān)測(cè)[20-22],行人跟蹤[23],無(wú)人駕駛和虛擬現(xiàn)實(shí)等[24-25]領(lǐng)域。對(duì)于單目標(biāo)跟蹤而言,其主要任務(wù)為跟蹤視頻畫(huà)面中的單個(gè)目標(biāo),主要解決目標(biāo)尺度、光照變化問(wèn)題,可應(yīng)用于高效運(yùn)動(dòng)與外觀模型設(shè)計(jì)[26-27]。對(duì)于多目標(biāo)跟蹤,其主要任務(wù)為同時(shí)跟蹤視頻畫(huà)面中的多個(gè)目標(biāo),為目標(biāo)分配ID并維持ID的長(zhǎng)久有效性,得到目標(biāo)的運(yùn)動(dòng)軌跡,需要解決目標(biāo)遮擋、軌跡追蹤以及多目標(biāo)間相互影響等問(wèn)題[28-29]。多目標(biāo)跟蹤目前在農(nóng)業(yè)領(lǐng)域已有較為深入的應(yīng)用,如畜禽行為監(jiān)測(cè)[30-31]、農(nóng)產(chǎn)品流水線跟蹤[32]等。文獻(xiàn)[32]針對(duì)柑橘分揀費(fèi)時(shí)費(fèi)力的問(wèn)題,提出了一種基于深度學(xué)習(xí)的柑橘檢測(cè)與跟蹤算法,可以實(shí)現(xiàn)柑橘旋轉(zhuǎn)跟蹤和高精度分揀。
本文以盆栽棉花植株為研究對(duì)象,針對(duì)不同視角下棉鈴遮擋的問(wèn)題,提出一種以改進(jìn)Faster R-CNN、Deep Sort和撞線匹配機(jī)制為主要算法框架的棉鈴檢測(cè)與跟蹤方法,實(shí)現(xiàn)單株棉花棉鈴的準(zhǔn)確跟蹤計(jì)數(shù),并開(kāi)發(fā)相應(yīng)的用戶軟件為棉花育種研究提供技術(shù)工具。
本試驗(yàn)于2021、2022年在華中農(nóng)業(yè)大學(xué)棉花7號(hào)玻璃溫室進(jìn)行,采用溫室栽培方法進(jìn)行盆栽棉花管理,采用肥力均勻一致的土壤,隨機(jī)選取105份不同基因型盆栽棉花植株作為試驗(yàn)材料。由于棉花葉片的遮擋,使用靜態(tài)圖像檢測(cè)的方法無(wú)法準(zhǔn)確獲取植株全部棉鈴數(shù)量,因此采用旋轉(zhuǎn)視頻拍攝方式,獲得多角度、全方位的圖像序列,成像方式如圖1所示。將盆栽棉花置于旋轉(zhuǎn)平臺(tái)上,手機(jī)固定在三角支架上保證棉花植株位于手機(jī)視野內(nèi),為避免背景干擾以及鏡面反射影響選用純色漫反射背景布;旋轉(zhuǎn)平臺(tái)順時(shí)針?lè)较蛐D(zhuǎn)周期為22~60 s,所得視頻單幀圖像分辨率為3 000像素×2 000像素,幀率為30 f/s,保存為MP4格式,試驗(yàn)所得視頻數(shù)量共105個(gè)。將拍攝視頻按比例8∶2劃分為訓(xùn)練集與測(cè)試集。
圖1 多視角棉花棉鈴成像裝置Fig.1 Cotton boll imaging device based on multi view
數(shù)據(jù)集采用開(kāi)源軟件Darklabel進(jìn)行標(biāo)注,如圖2所示。采用該軟件對(duì)每一幀圖像中的棉鈴進(jìn)行框選,并為前后幀同一棉鈴進(jìn)行ID匹配,標(biāo)注完畢后得到txt格式文件,后用自主編寫(xiě)的格式轉(zhuǎn)換Python腳本進(jìn)行相應(yīng)修改使之符合MOT16數(shù)據(jù)集格式。
圖2 基于Darklabel軟件的棉鈴跟蹤標(biāo)注Fig.2 Cotton boll labeling and tracking based on Darklabel software
本文提出的棉鈴動(dòng)態(tài)跟蹤與計(jì)數(shù)方法如圖3所示,研究采用改進(jìn)的Faster R-CNN目標(biāo)檢測(cè)網(wǎng)絡(luò)、Deep Sort多目標(biāo)跟蹤器和撞線匹配機(jī)制為主要架構(gòu),實(shí)現(xiàn)在旋轉(zhuǎn)視頻下對(duì)棉鈴準(zhǔn)確計(jì)數(shù)。主要流程包括以下步驟:①基于棉花勻速旋轉(zhuǎn)視頻,利用改進(jìn)的Faster R-CNN網(wǎng)絡(luò)對(duì)當(dāng)前幀里的棉鈴進(jìn)行識(shí)別、定位。②基于獲取的棉鈴位置信息,采用Deep Sort多目標(biāo)跟蹤器,通過(guò)卡爾曼濾波預(yù)測(cè)當(dāng)前幀中的棉鈴在下一幀圖像中可能存在的位置,同時(shí)目標(biāo)檢測(cè)網(wǎng)絡(luò)對(duì)下一幀圖像中棉鈴進(jìn)行檢測(cè)。③應(yīng)用匈牙利匹配算法將預(yù)測(cè)信息與目標(biāo)檢測(cè)信息進(jìn)行比較,若成功匹配,則前后幀的匹配物體共用同一ID,如此循環(huán)實(shí)現(xiàn)棉鈴的動(dòng)態(tài)跟蹤。此外為解決棉鈴計(jì)數(shù)ID 跳變問(wèn)題,本文在跟蹤器后又設(shè)計(jì)了撞線匹配機(jī)制,匹配后的棉鈴自右向左經(jīng)過(guò)圖像中軸線時(shí),系統(tǒng)會(huì)將此棉鈴ID進(jìn)行記錄,同時(shí)棉鈴數(shù)量加1,植株旋轉(zhuǎn)一周后即可實(shí)現(xiàn)所有棉鈴計(jì)數(shù)的目的。
圖3 棉鈴跟蹤與計(jì)數(shù)流程圖Fig.3 Flow chart of cotton boll tracking and counting
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法根據(jù)有無(wú)候選框生成可分為單階段目標(biāo)檢測(cè)算法和多階段目標(biāo)檢測(cè)算法兩類。單階段目標(biāo)檢測(cè)算法直接對(duì)圖像進(jìn)行預(yù)測(cè)生成結(jié)果,檢測(cè)速度快,但檢測(cè)精度相對(duì)不高,其中代表性的目標(biāo)檢測(cè)框架有YOLO[33]和SSD[34]等;多階段目標(biāo)檢測(cè)算法先對(duì)圖像進(jìn)行候選框提取,然后基于候選區(qū)域做二次修正得到檢測(cè)結(jié)果,檢測(cè)精度高,但檢測(cè)速度較慢,其中以Faster R-CNN[35]應(yīng)用最為廣泛。
由于單個(gè)棉鈴占整個(gè)圖像尺寸較小,Faster R-CNN對(duì)棉鈴的識(shí)別屬于小目標(biāo)檢測(cè),在經(jīng)過(guò)特征提取多次池化后,棉鈴的特征信息會(huì)顯著減弱。因此本文引入特征金字塔網(wǎng)絡(luò)(Feature pyramid network,FPN)[36],如圖4所示,通過(guò)對(duì)不同特征層尺度變換后進(jìn)行連接,FPN實(shí)現(xiàn)了多層特征信息的融合,為候選框的生成、檢測(cè)框的分類與回歸提供了可能,從而有效提高了Faster R-CNN對(duì)小目標(biāo)識(shí)別的精度。
圖4 特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Feature pyramid network structure diagram
候選區(qū)域選擇網(wǎng)絡(luò)(Region proposal network,RPN)中使用導(dǎo)向錨框(Guided Anchoring)策略生成Anchor[37]。目標(biāo)檢測(cè)算法按有無(wú)Anchor可分為Anchor-base和Anchor-free兩種,Faster R-CNN屬于Anchor-base類別,按預(yù)先定義的規(guī)則共生成9種不同尺寸的Anchor,由于本數(shù)據(jù)集中棉鈴與傳統(tǒng)數(shù)據(jù)集中的標(biāo)注物體尺寸和分布相差較大,使用預(yù)先定義的Anchor并不能將棉鈴這種小目標(biāo)物體很好地框選出來(lái),而Guided Anchoring改變固有的Anchor生成方式,對(duì)Anchor位置和形狀分別進(jìn)行預(yù)測(cè),同時(shí)采用特征調(diào)整模塊,以生成與目標(biāo)物體更適應(yīng)的Anchor大小。
非極大值抑制(Non-maximum suppression,NMS)算法通過(guò)計(jì)算檢測(cè)框的交并比(Intersection over union,IoU),設(shè)置IoU閾值以去除同一物體的重復(fù)檢測(cè)框。當(dāng)兩個(gè)物體距離極近時(shí),傳統(tǒng)NMS算法可能會(huì)將另一物體的檢測(cè)框全部去除,造成漏檢情況。Soft NMS[38]算法通過(guò)線性加權(quán)或高斯加權(quán)對(duì)置信度重置函數(shù)進(jìn)行改進(jìn),對(duì)于大于IoU閾值的檢測(cè)框并不直接舍棄,而是降低檢測(cè)框的分?jǐn)?shù)從而提高檢測(cè)準(zhǔn)確率。本試驗(yàn)棉花旋轉(zhuǎn)過(guò)程中會(huì)出現(xiàn)棉鈴距離很近甚至相互重疊的情況,因此本文在模型推理過(guò)程中引入Soft NMS算法以減少棉鈴漏檢的發(fā)生。
本文采用上述3種方法對(duì)Faster R-CNN網(wǎng)絡(luò)結(jié)構(gòu)和推理過(guò)程進(jìn)行優(yōu)化,特征提取網(wǎng)絡(luò)(backbone)采用ResNet50,改進(jìn)Faster R-CNN網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。在對(duì)檢測(cè)結(jié)果進(jìn)行量化分析時(shí),選用精準(zhǔn)率P、召回率R、IoU閾值取0.75時(shí)平均精度均值mAP75(Mean average precision)等目標(biāo)檢測(cè)網(wǎng)絡(luò)分類評(píng)價(jià)指標(biāo)以及檢測(cè)速度(Frames per second, FPS)。
圖5 改進(jìn)Faster R-CNN網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 Improved Faster R-CNN structure diagram
2016年BEWLEY等[39]提出在線實(shí)時(shí)多目標(biāo)跟蹤算法——Sort算法。Deep Sort[40]跟蹤器是對(duì)Sort的改進(jìn)算法,其在Sort基礎(chǔ)上采用級(jí)聯(lián)匹配和基于深度學(xué)習(xí)的外觀提取模型,同時(shí)加入馬氏距離和余弦距離度量,考慮預(yù)測(cè)信息和檢測(cè)信息運(yùn)動(dòng)狀態(tài)和外觀形貌的匹配。上述優(yōu)化方法使Deep Sort進(jìn)行多目標(biāo)跟蹤時(shí)相比Sort目標(biāo)ID跳變減少45%。本文Deep Sort算法對(duì)棉鈴的跟蹤流程如圖6所示,主要分為以下步驟:
圖6 基于Deep Sort的棉鈴自動(dòng)跟蹤流程圖Fig.6 Flow chart of cotton boll tracking based on Deep Sort
(1)目標(biāo)檢測(cè):基于視頻第1幀棉鈴Faster R-CNN檢測(cè)結(jié)果創(chuàng)建對(duì)應(yīng)初始軌跡(Tracks)并通過(guò)卡爾曼濾波(Kalman filter)預(yù)測(cè)第2幀圖像棉鈴可能存在的位置,即預(yù)測(cè)軌跡。
(2)級(jí)聯(lián)匹配:在第2幀圖像中,預(yù)測(cè)軌跡分為確定(Confirmed state, CS)和不確定(Unconfirmed state, US)兩種狀態(tài),CS被認(rèn)為是棉鈴,US則不確定是否為棉鈴;而CS將與第2幀的檢測(cè)結(jié)果進(jìn)行關(guān)聯(lián),即考慮CS與檢測(cè)框運(yùn)動(dòng)狀態(tài)和外觀形貌是否匹配,關(guān)聯(lián)方法采用級(jí)聯(lián)匹配,得到第2幀初步的匹配軌跡(Matched tracks)、未匹配軌跡框(Unmatched tracks)和未匹配檢測(cè)框(Unmatched detections)3種結(jié)果;其中匹配軌跡直接進(jìn)行卡爾曼濾波更新至棉鈴軌跡中,未匹配軌跡框和未匹配檢測(cè)框則代表匹配失敗等待后續(xù)處理。
(3)交并比匹配:上述未匹配軌跡框和未匹配檢測(cè)框繼續(xù)進(jìn)行關(guān)聯(lián),方法采用IoU匹配,兩者的IoU值越大說(shuō)明兩者越接近,同一棉鈴的可能性越大,通過(guò)設(shè)定IoU閾值繼續(xù)篩選出匹配軌跡、未匹配軌跡框和未匹配檢測(cè)框3種結(jié)果;其中,匹配軌跡與步驟(2)中相同,通過(guò)卡爾曼濾波更新至棉鈴軌跡中;進(jìn)一步篩選后的未匹配軌跡框和未匹配檢測(cè)框等待后續(xù)處理。
(4)未匹配檢測(cè)框處理:檢測(cè)框依然匹配失敗的原因可能為未匹配檢測(cè)框內(nèi)的棉鈴是這一幀新出現(xiàn)的目標(biāo)或是由于長(zhǎng)時(shí)間遮擋,棉鈴再次出現(xiàn)時(shí)沒(méi)有對(duì)應(yīng)的預(yù)測(cè)軌跡;因此對(duì)于未匹配檢測(cè)框需要重新建立新軌跡,同時(shí)對(duì)建立的新軌跡進(jìn)行確認(rèn),若是棉鈴而非其他物體則同樣將新軌跡更新至原棉鈴軌跡中。
(5)未匹配軌跡框處理:由于Faster R-CNN漏檢會(huì)導(dǎo)致未匹配軌跡框情況的發(fā)生,需要對(duì)未匹配軌跡框進(jìn)行確認(rèn),若非棉鈴則進(jìn)行刪除;若是棉鈴,則先進(jìn)行保留,在30幀內(nèi)如成功與后續(xù)幀檢測(cè)框匹配,則更新至棉鈴軌跡中,若未成功匹配則進(jìn)行刪除,重復(fù)上述步驟實(shí)現(xiàn)視頻流多目標(biāo)跟蹤。
Deep Sort跟蹤器在外觀形貌匹配時(shí)引入基于深度學(xué)習(xí)的特征提取模型,提高了溫室場(chǎng)景下棉鈴的跟蹤精度,同時(shí)也可以有效地避免非遮擋情況下ID 跳變的發(fā)生,為后續(xù)實(shí)現(xiàn)撞線特征提取與計(jì)數(shù)提供了較好的技術(shù)支撐。本文在對(duì)跟蹤結(jié)果進(jìn)行量化分析時(shí)選用多目標(biāo)跟蹤精度RMOTA作為評(píng)價(jià)指標(biāo),相關(guān)計(jì)算公式為
式中mt——整個(gè)視頻棉鈴漏報(bào)數(shù)量之和
ft——整個(gè)視頻棉鈴誤報(bào)數(shù)量之和
st——ID跳變總次數(shù)
gt——視頻序列中真實(shí)目標(biāo)數(shù)量
t——測(cè)試視頻數(shù)量
由于棉鈴在旋轉(zhuǎn)過(guò)程中會(huì)出現(xiàn)葉片遮擋的情況,同一棉鈴在跟蹤過(guò)程中仍會(huì)發(fā)生ID 跳變。如圖7所示,同一棉鈴在第35幀ID為3,在第100幀由于葉片遮擋暫時(shí)消失無(wú)法跟蹤,而在第255幀再次出現(xiàn)時(shí),會(huì)被誤認(rèn)為新出現(xiàn)的棉鈴,系統(tǒng)錯(cuò)誤將其ID匹配為9。故如果以棉鈴最后一幀出現(xiàn)的最大ID作為棉鈴計(jì)數(shù)的參考,則計(jì)數(shù)結(jié)果將比棉鈴實(shí)際數(shù)量偏大。為解決ID跳變問(wèn)題,本文在跟蹤器Deep Sort后設(shè)計(jì)了撞線匹配機(jī)制,如圖8所示。首先成功跟蹤后的棉鈴,取識(shí)別棉鈴矩形框的中心點(diǎn),中心點(diǎn)在經(jīng)過(guò)圖像中軸線右側(cè)掩膜區(qū)域時(shí),系統(tǒng)會(huì)獲取該棉鈴ID并計(jì)入列表a。然后當(dāng)后續(xù)幀棉鈴又經(jīng)過(guò)圖像中軸線左側(cè)掩膜區(qū)域時(shí),獲取該棉鈴ID計(jì)入列表b并查詢列表a中是否含有該ID;若含有,則計(jì)數(shù)器加1,同時(shí)刪除兩個(gè)列表中的ID??紤]到相鄰棉鈴幀之間存在像素間隔,且棉鈴矩形框的中心點(diǎn)也會(huì)出現(xiàn)一定范圍的波動(dòng),同時(shí)避免掩膜內(nèi)ID 跳變的影響,本研究掩膜寬度選用100像素,以保證所有棉鈴矩形框的中心點(diǎn)能有效落入掩膜區(qū)間。該撞線匹配機(jī)制可以有效克服棉鈴旋轉(zhuǎn)過(guò)程中ID 跳變帶來(lái)的影響,實(shí)現(xiàn)對(duì)棉鈴的精確計(jì)數(shù)。
圖7 同一棉鈴跟蹤示例Fig.7 Examples of tracking the same cotton boll
圖8 撞線匹配機(jī)制掩膜區(qū)域Fig.8 Mask area of colliding line and matching mechanism
系統(tǒng)總體代碼基于mmtracking平臺(tái),Pytorch框架,Python選取3.7版本,在Linux Ubuntu 18.04系統(tǒng)上執(zhí)行,使用NVIDIA-GPU RTX 2080ti進(jìn)行模型訓(xùn)練及測(cè)試。對(duì)計(jì)數(shù)結(jié)果進(jìn)行量化分析時(shí)選用決定系數(shù)R2、均方誤差(Mean square error,MSE)、平均絕對(duì)誤差(Mean absolute error,MAE)和平均絕對(duì)百分比誤差(Mean absolute percentage error,MAPE)評(píng)價(jià)指標(biāo),其中決定系數(shù)R2越接近1,MSE、MAE、MAPE越小,說(shuō)明模型測(cè)量精度越高。
取IoU閾值0.75時(shí),通過(guò)改變置信度閾值,獲得不同置信度閾值下的P、R,繪制精準(zhǔn)率-召回率曲線,曲線與x、y軸正方向所圍面積即為mAP75,mAP75綜合考量P、R,其值越接近1說(shuō)明模型對(duì)棉鈴檢測(cè)效果越好。研究對(duì)比Faster R-CNN、RetinaNet、SSD、YOLOF、YOLO v5和改進(jìn)Faster R-CNN模型,各模型精準(zhǔn)率-召回率曲線如圖9所示,各模型精準(zhǔn)率P、召回率R、F1值、mAP75和FPS如表1所示。結(jié)果表明IoU閾值為0.75時(shí),Faster R-CNN、RetinaNet、SSD、YOLO v5、YOLOF和改進(jìn)Faster R-CNN對(duì)應(yīng)mAP75分別為0.95、0.89、0.92、0.93、0.83和0.97,改進(jìn)Faster R-CNN mAP75較改進(jìn)前提升0.02。由于改進(jìn)Faster R-CNN是在Faster R-CNN基礎(chǔ)上進(jìn)行的改進(jìn),因此也屬于兩階段目標(biāo)檢測(cè)網(wǎng)絡(luò),檢測(cè)時(shí)間較YOLO v5略長(zhǎng),Faster R-CNN、RetinaNet、SSD、YOLO v5 、YOLOF 和改進(jìn)Faster R-CNN各模型檢測(cè)速度(FPS)分別為20.3、20.9、46.4、21.5、 31.8、15.1 f/s?;跈z測(cè)的多目標(biāo)跟蹤算法最終效果在很大程度上取決于檢測(cè)器,檢測(cè)效果優(yōu)異的目標(biāo)檢測(cè)模型能極大減少最終計(jì)數(shù)的錯(cuò)誤。因此本文通過(guò)改進(jìn)Faster R-CNN目標(biāo)檢測(cè)網(wǎng)絡(luò)提升了對(duì)棉鈴檢測(cè)效果,為后續(xù)目標(biāo)跟蹤與計(jì)數(shù)提供了重要技術(shù)支撐。
表1 各模型精準(zhǔn)率、召回率、F1值、mAP75和FPSTab.1 Precision, recall, F1, mAP75 and FPS of each model
圖9 精準(zhǔn)率-召回率曲線Fig.9 Precision-recall curves
跟蹤模型選用Tracktor、Deep Sort和Sort共3種,與改進(jìn)Faster R-CNN分別實(shí)現(xiàn)棉鈴跟蹤,跟蹤評(píng)價(jià)結(jié)果如表2所示,跟蹤的時(shí)間序列如圖10所示,改進(jìn)后Faster R-CNN與Deep Sort算法的跟蹤效果最優(yōu),RMOTA為0.91,較Tracktor和Sort算法分別提高0.02和0.15,跟蹤可信度得到大幅提高。但由于目標(biāo)尺度和遮擋等原因,同一棉鈴前后幀匹配ID 極易發(fā)生多次跳變,這也是產(chǎn)生跟蹤誤差的主要原因,單純使用匹配ID的方法作為棉鈴計(jì)數(shù)的最終結(jié)果會(huì)產(chǎn)生較大誤差。因此本文在Deep Sort跟蹤器后設(shè)計(jì)了一種撞線匹配機(jī)制:匹配后的棉鈴自右向左經(jīng)過(guò)圖像中軸線時(shí),系統(tǒng)會(huì)記錄此棉鈴ID,棉鈴數(shù)量加1,棉花經(jīng)旋轉(zhuǎn)一周后最終達(dá)到棉鈴計(jì)數(shù)的目的。計(jì)數(shù)結(jié)果如表2所示:改進(jìn)Faster R-CNN和Deep Sort所得棉鈴R2、MSE、MAE和MAPE分別為0.96、1.19、0.81和5.92%,同時(shí)改進(jìn)Faster R-CNN和Deep Sort計(jì)數(shù)結(jié)果與人工統(tǒng)計(jì)值差異如圖11所示,綜合表2和圖11可得本文提出的方法對(duì)棉鈴數(shù)量的統(tǒng)計(jì)與人工值具有較高的一致性,可以實(shí)現(xiàn)對(duì)棉鈴的準(zhǔn)確計(jì)數(shù)。
表2 跟蹤與計(jì)數(shù)評(píng)價(jià)指標(biāo)Tab.2 Evaluation indicators of tracking and counting
圖10 棉鈴跟蹤序列圖Fig.10 Tracking sequence diagrams of cotton bolls
圖11 棉鈴數(shù)量人工測(cè)量值與算法檢測(cè)值對(duì)比Fig.11 Comparison between manual measurement and algorithm measurement of cotton bolls
基于改進(jìn)Faster R-CNN、Deep Sort多目標(biāo)跟蹤器、撞線匹配機(jī)制設(shè)計(jì)了一款棉鈴自動(dòng)檢測(cè)跟蹤計(jì)數(shù)軟件,如圖12所示。軟件所在環(huán)境為cudatoolkit 10.1、cython 0.29、matplotlib 3.4.2、mmcv-full 1.3.10、mmdet 2.12.0、mmtrack 0.5.0、numpy 1.20.3、OpenCV 4.1.2、pyqt 5 5.15.6、Python 3.7和Pytorch 1.6.0,“Selectmodel”和“Initialize”控件可選擇模型并對(duì)網(wǎng)絡(luò)進(jìn)行初始化,“Input video”控件用于選擇需要檢測(cè)的棉花視頻,檢測(cè)過(guò)程中會(huì)在“TrackingResult”控件中顯示棉鈴識(shí)別和追蹤的過(guò)程,檢測(cè)結(jié)束在右側(cè)輸出棉鈴數(shù)量。該軟件集成了所需的環(huán)境和庫(kù)函數(shù),可直接復(fù)制應(yīng)用于其它計(jì)算機(jī),避免配置環(huán)境等繁瑣步驟。
圖12 棉鈴跟蹤軟件Fig.12 Software of cotton boll tracking
(1)針對(duì)棉鈴在檢測(cè)過(guò)程中目標(biāo)尺寸較小的問(wèn)題 ,提出一種改進(jìn)Faster R-CNN算法。采用特征金字塔實(shí)現(xiàn)了多層特征信息的融合;結(jié)合Guided Anchoring生成與目標(biāo)物體相適應(yīng)的Anchor大小,增強(qiáng)了對(duì)棉鈴等小目標(biāo)的檢測(cè)能力;利用 Soft NMS改進(jìn)了置信度重置函數(shù),對(duì)大于IoU閾值的檢測(cè)框進(jìn)行保留,可有效提高檢測(cè)準(zhǔn)確率。試驗(yàn)結(jié)果表明:改進(jìn)Faster R-CNN在6種模型中效果最優(yōu),mAP75和F1值分別達(dá)到0.97和0.96,較改進(jìn)前的Faster R-CNN分別提升0.02與0.01。
(2)然后針對(duì)棉鈴多目標(biāo)跟蹤的問(wèn)題,采用Deep Sort跟蹤器通過(guò)卡爾曼濾波和匈牙利匹配實(shí)現(xiàn)前后幀同一棉鈴的對(duì)應(yīng)關(guān)聯(lián),并進(jìn)行ID匹配。試驗(yàn)結(jié)果表明:改進(jìn)Faster R-CNN與Deep Sort跟蹤結(jié)果RMOTA達(dá)到0.91,較Tracktor和Sort算法分別提高0.02和0.15。
(3)最后針對(duì)葉片遮擋產(chǎn)生的ID跳變問(wèn)題,本文在Deep Sort跟蹤器后設(shè)計(jì)了撞線匹配機(jī)制實(shí)現(xiàn)全視頻棉鈴高精度計(jì)數(shù)。試驗(yàn)結(jié)果表明:改進(jìn)Faster R-CNN、Deep Sort和撞線匹配算法所得計(jì)數(shù)結(jié)果R2、MSE、MAE和MAPE分別為0.96、1.19、0.81和5.92%,與人工值具有較高一致性。