郭 瑞,于翀宇,賀 紅,趙永健,于 慧,馮獻(xiàn)忠
采用改進(jìn)YOLOv4算法的大豆單株豆莢數(shù)檢測方法
郭 瑞1,于翀宇1,賀 紅1※,趙永健1,于 慧2,馮獻(xiàn)忠2
(1. 山東大學(xué)機(jī)電與信息工程學(xué)院,威海 264209;2. 中國科學(xué)院東北地理與農(nóng)業(yè)生態(tài)研究所,長春 130102)
大豆單株豆莢數(shù)檢測是考種的重要環(huán)節(jié),傳統(tǒng)方法通過人工目測的方式獲取豆莢類型和數(shù)量,該方法費時費力且誤差較大。該研究利用大豆單株表型測量儀采集到的表型數(shù)據(jù),通過融合K-means聚類算法與改進(jìn)的注意力機(jī)制模塊,對YOLOv4目標(biāo)檢測算法進(jìn)行了改進(jìn),使用遷移學(xué)習(xí)預(yù)訓(xùn)練,獲取最優(yōu)模型對測試集進(jìn)行預(yù)測。試驗結(jié)果表明,該研究模型的平均準(zhǔn)確率為80.55%,數(shù)據(jù)擴(kuò)充后準(zhǔn)確率達(dá)到了84.37%,比育種專家目測準(zhǔn)確率提高了0.37個百分點,若不考慮5粒莢,該研究模型的平均準(zhǔn)確率為95.92%,比YOLOv4模型提高了10.57個百分點,具有更強(qiáng)的檢測性能。在簡單背景的擺盤豆莢檢測中,該研究模型預(yù)測的平均準(zhǔn)確率達(dá)到了99.1%,比YOLOv4模型提高了1.81個百分點,研究結(jié)果表明該模型在不同場景下的大豆豆莢檢測中具有較強(qiáng)的泛化能力,可為大豆人工智能育種提供參考。
圖像識別;算法;大豆;豆莢檢測;YOLOv4;K-means聚類;注意力機(jī)制
大豆是人類攝取優(yōu)質(zhì)蛋白質(zhì)以及食用油脂的重要來源,近年來,中國正致力于培育高產(chǎn)大豆新品種[1-2]。在尋求增產(chǎn)的過程中,除了通過各種方法培育優(yōu)質(zhì)轉(zhuǎn)基因植株外[3],也需要對大豆進(jìn)行表型測量與分析,評估不同品種的表型性狀[4-5]。大豆單株表型測量一般采用干豆稞,此時,大豆植株已經(jīng)干枯,觀察豆子成熟之后的狀態(tài)即可選出優(yōu)良的種子。國家標(biāo)準(zhǔn)《植物品種特異性、一致性和穩(wěn)定性測試指南大豆》[6]規(guī)定了大豆考種的44項基本性狀與相關(guān)定義,主要包括株高、底莢高、主莖節(jié)數(shù)、有效分枝數(shù)、單株莢數(shù)(每棵植株所含豆莢數(shù)量)、莢皮色、單株粒數(shù)、單莢粒數(shù)等[7-8]。
傳統(tǒng)表型測量過程絕大部分依靠人工完成,育種專家對大批成熟植株觀察、分析并記錄,步驟非常繁雜,作業(yè)量巨大,同時,人工采集表型數(shù)據(jù)效率低下,數(shù)據(jù)容易產(chǎn)生錯誤且誤差不可評測。隨著近幾年計算機(jī)視覺(Computer Vision,CV)與深度學(xué)習(xí)(Deep Learning,DL)技術(shù)的快速發(fā)展,基于人工智能和大數(shù)據(jù)的植物表型交叉融合研究加速了作物單株表型測量工作的進(jìn)展[9]。
已有研究表明[10-11],許多國內(nèi)外學(xué)者在農(nóng)作物表型識別[12-16]與測量工作[17-19]等方面頗有成效,尤其是大豆豆莢產(chǎn)量估算。Uzal等[20]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)識別莢果粒數(shù)的分類模型,在散列豆莢圖像數(shù)據(jù)集中進(jìn)行測試,獲得了86.2%的準(zhǔn)確率,與傳統(tǒng)的特征提取+支持向量機(jī)分類模型相比準(zhǔn)確率提高了35.8個百分點。閆壯壯等[21]利用5種不同的網(wǎng)絡(luò)模型搭載2種不同優(yōu)化器對簡單背景下的單個豆莢進(jìn)行分類識別,結(jié)果顯示VGG16網(wǎng)絡(luò)搭配Adam優(yōu)化器使得單莢粒數(shù)的測試準(zhǔn)確率達(dá)到了98.41%。但是上述2種方法適用于將1棵植株的所有豆莢拆解下來拍照識別,增加了時間成本。Riera等[22]開發(fā)了一套基于多視圖的大豆產(chǎn)量估算框架,利用VGG19網(wǎng)絡(luò)模型對復(fù)雜環(huán)境下的感興趣區(qū)域識別、隔離并檢測,最終利用跟蹤技術(shù)統(tǒng)計整個地塊的豆莢數(shù)量,對于不同數(shù)據(jù)集,豆莢識別的平均準(zhǔn)確率最高達(dá)到71%,為大豆產(chǎn)量估算提供了新思路。但該方法只能得到大豆植株的豆莢數(shù)量,并不能準(zhǔn)確計算出單株豆莢的種粒數(shù)量,與育種專家的需求存在一定偏差。
為了進(jìn)一步提高大豆植株考種速度和產(chǎn)量預(yù)測精確度,降低人工考種成本,本研究采用莢果粒數(shù)特征對豆莢進(jìn)行分類,借助深度學(xué)習(xí)方法,利用大豆單株表型測量儀采集大豆植株360°旋轉(zhuǎn)視頻,隨機(jī)獲取每個視頻中的關(guān)鍵幀圖像,使用LabelImg軟件對關(guān)鍵幀圖像進(jìn)行錨框標(biāo)注,通過改進(jìn)的YOLOv4算法對大豆表型數(shù)據(jù)進(jìn)行檢測,以實現(xiàn)準(zhǔn)確檢測單株上各類豆莢的功能。本研究擬完成大豆植株考種的初步試驗,緩解傳統(tǒng)考種方式中費時費力且誤差較大等問題,為育種專家評估不同品種大豆產(chǎn)量提供可靠的數(shù)據(jù)依據(jù),為大豆植株自動化考種提供有效的先驗性方法。
采集大豆植株材料是制作數(shù)據(jù)集以及目標(biāo)檢測的前提,本研究試驗數(shù)據(jù)均來源于中國科學(xué)院東北地理與農(nóng)業(yè)生態(tài)研究所的實驗基地,使用課題組自制大豆單株表型測量儀(以下簡稱“測量儀”)進(jìn)行采集,該測量儀結(jié)合工業(yè)相機(jī)(acA4112-20uc,Basler,寶視納視覺技術(shù)有限公司,德國)、息影燈(2016,啟燁,龍鳳極光照明有限公司,中國)等于一體,對2020年10月收獲的北豆、東農(nóng)、黑河等多個品種植株進(jìn)行采集數(shù)據(jù)并保存,具體設(shè)備形態(tài)與場景演示如圖1所示。數(shù)據(jù)采集的主要流程是操作員在操作臺將待拍攝植株插入自轉(zhuǎn)插座中,固定在夾持機(jī)構(gòu)內(nèi),由機(jī)械臂攜帶植株到攝像室,自轉(zhuǎn)插座托起植株自轉(zhuǎn)360°拍攝視頻,然后回轉(zhuǎn)至原位置,操作員拔出并換新的待拍攝植株。最終采集的每段視頻3~4 s,分辨率為4 096×3 000(像素),共獲得700多個視頻。
為方便檢測,需要對采集的原始視頻預(yù)處理后再保存,預(yù)處理方法為使用隨機(jī)算法對每個視頻提取關(guān)鍵幀,利用圖像裁剪算法將雙株旋轉(zhuǎn)視頻關(guān)鍵幀裁剪成單株旋轉(zhuǎn)視頻關(guān)鍵幀,按順序為其命名,最終選取800張圖像作為本試驗對象。為了提高檢測的處理速度,利用圖像格式轉(zhuǎn)換算法將.raw格式的關(guān)鍵幀圖像轉(zhuǎn)換成.jpg格式。
1.操作臺 2.操作員 3.植株 4.回轉(zhuǎn)電機(jī) 5.控制箱 6.背景板 7.機(jī)械臂 8.攝像燈 9.攝像機(jī) 10.攝像室
為了訓(xùn)練檢測模型,首先要利用圖像標(biāo)注工具LabelImg對800張關(guān)鍵幀圖像進(jìn)行標(biāo)簽標(biāo)注,將標(biāo)注結(jié)果存放在.xml文件中,該文件包含圖像的目標(biāo)位置、錨框尺寸和不同形態(tài)豆莢的標(biāo)簽等信息,其中不同形態(tài)豆莢的標(biāo)簽由數(shù)字表示,即0粒莢表示為0,1粒莢表示為1,2粒莢表示為2,3粒莢表示為3,4粒莢表示為4,5粒莢表示為5,不同形態(tài)豆莢的分類如圖2所示。
本研究共標(biāo)注800張圖像,所有目標(biāo)標(biāo)簽的數(shù)量與錨框平均尺寸分布如表1所示,共約16 000個豆莢目標(biāo),其中3粒莢有7 998個豆莢目標(biāo),數(shù)量最多,其次是2粒莢和4粒莢,分別有3 692個和3 201個豆莢目標(biāo),5粒莢最少,僅有5個豆莢目標(biāo)。
表1 不同形態(tài)豆莢的數(shù)量和錨框尺寸
數(shù)據(jù)增強(qiáng)是一種通過對原始圖像進(jìn)行隨機(jī)變換來擴(kuò)充數(shù)據(jù)樣本的方式,能夠使模型更好地適應(yīng)應(yīng)用場景。根據(jù)大豆植株中的豆莢分布特點,使用Python語言和OpenCV編碼對原始數(shù)據(jù)進(jìn)行亮度調(diào)節(jié)、水平翻轉(zhuǎn)和調(diào)整飽和度操作,最終將圖像對應(yīng)的標(biāo)注文件也進(jìn)行相應(yīng)調(diào)整,以單張圖像為例增強(qiáng)效果如圖3所示。
將標(biāo)注的所有數(shù)據(jù)制作成數(shù)據(jù)集A,其中包括圖像文件與標(biāo)簽文件,共1 600個文件,將數(shù)據(jù)增強(qiáng)后的數(shù)據(jù)與原數(shù)據(jù)一起組合成數(shù)據(jù)集B,共6 400個文件。為了驗證本研究檢測模型在不同場景下的檢測性能,特制作簡單背景下的擺盤豆莢數(shù)據(jù)集C,簡單背景指豆莢平鋪、無遮擋的白色卡紙擺盤環(huán)境,該數(shù)據(jù)集中共有5個類別,分別是0粒莢、1粒莢、2粒莢、3粒莢和4粒莢,其中包括1 500張豆莢擺盤圖像。為了確保數(shù)據(jù)集分布統(tǒng)一,本研究按照7∶2∶1的比例將3個數(shù)據(jù)集分別隨機(jī)拆分成訓(xùn)練集(A:560張,B:2 240張,C:1 050張)、驗證集(A:160張,B:640張,C:300張)和測試集(A:80張,B:320張,C:150張)。
YOLOv4模型[23]是目前目標(biāo)檢測領(lǐng)域中性能較好的算法模型,YOLOv4模型在YOLOv3目標(biāo)檢測模型[24]的基礎(chǔ)上做了一些改進(jìn),尤其是使用了一些目標(biāo)檢測的優(yōu)化方法,比如Mosic數(shù)據(jù)增強(qiáng)方法、標(biāo)簽平滑算法、余弦退火算法等,使得YOLOv4模型對檢測結(jié)果具有更高的準(zhǔn)確率和泛化能力。雖然該模型是目前檢測效果比較好的模型,但YOLOv4模型基于COCO數(shù)據(jù)集,先驗框尺寸和圖像物體本身的復(fù)雜度與本研究豆莢目標(biāo)有很大不同,所以本研究在YOLOv4模型的基礎(chǔ)上對其進(jìn)行了一系列改進(jìn)使其更適用于本研究單株大豆豆莢檢測。
1.4.1 K-means聚類調(diào)整目標(biāo)先驗框
先驗框是基于待檢測物體中常見尺寸與比例的矩形框,是準(zhǔn)確預(yù)測目標(biāo)的重要前提之一。YOLOv4模型的先驗框基于COCO數(shù)據(jù)集,其中包含80個類別,不同類別的錨框尺寸不一,所以YOLOv4模型的先驗框尺寸也有很大差距。為了使其更適用于豆莢檢測,本研究利用K-means聚類算法對YOLOv4模型中的先驗框尺寸進(jìn)行調(diào)整。
K-means算法是一種原型聚類算法,采用貪心策略,通過迭代優(yōu)化對所有樣本形成個聚類,個不同尺寸的先驗框可以表現(xiàn)為個聚類中心,本研究利用聚類中心與各類標(biāo)簽錨框的交并比作為衡量先驗框相似度的標(biāo)準(zhǔn),具體如式(1)、式(2)所示
distance(,) = 1-IoU(,) (1)
1.4.2 引入改進(jìn)的注意力機(jī)制
注意力機(jī)制在深度學(xué)習(xí)的各個領(lǐng)域中被廣泛使用[25-27],主要原理是通過對圖像的全局掃描,獲取需要重點關(guān)注的目標(biāo)區(qū)域,給予該區(qū)域更大的權(quán)重,從而獲取更多的細(xì)節(jié)信息,而對于其他無用信息則使用更小的權(quán)重將其抑制。由于豆莢中大豆種子存在的位置與周圍區(qū)域的顏色、紋理等差別較大,所以對于大豆植株,將每個豆莢的邊緣與豆粒凸出部分作為重點特征進(jìn)行提取將會迅速提升檢測模型的訓(xùn)練效率。為了精確定位豆莢,提高原檢測模型的表征能力,特引入注意力模型,借鑒SENet模塊[28]中的特征重標(biāo)定思想和Yang等[29]的融合思想,提出一種更適用于豆莢檢測的全局注意力模塊,具體結(jié)構(gòu)如圖4所示。利用全局通道信息的平均池化與最大池化操作獲取新權(quán)重,對其重新加權(quán)產(chǎn)生該模塊的輸出以嵌入到后續(xù)層。
該方法核心操作的計算如式(5)~(7)所示
1.4.3 利用遷移學(xué)習(xí)對原始網(wǎng)絡(luò)預(yù)訓(xùn)練
遷移學(xué)習(xí)[30]將已有模型學(xué)習(xí)到的知識遷移到特定目標(biāo)的模型中,能夠改善模型的泛化情況。在神經(jīng)網(wǎng)絡(luò)中表現(xiàn)為將每個神經(jīng)網(wǎng)絡(luò)節(jié)點對應(yīng)的權(quán)重參數(shù)從一個網(wǎng)絡(luò)模型遷移到另一個改進(jìn)的網(wǎng)絡(luò)模型中,而不是從頭開始訓(xùn)練,這樣能夠利用原模型的泛化表現(xiàn)能力,基于已有神經(jīng)網(wǎng)絡(luò)前幾層提取邊緣、形狀、幾何變化等,共享這些初級特征,從而加快模型訓(xùn)練速度。
為加快模型訓(xùn)練速度,節(jié)省內(nèi)存空間,防止模型過擬合,基于遷移學(xué)習(xí)的思想,將YOLOv4模型在 COCO 數(shù)據(jù)集中學(xué)到的簡單邊緣信息遷移到豆莢識別網(wǎng)絡(luò)中。利用初始權(quán)重對YOLOv4模型進(jìn)行預(yù)訓(xùn)練,先凍結(jié)部分卷積層,使其在反向傳播更新參數(shù)時只修正后面部分卷積層的模型參數(shù),當(dāng)模型逐漸收斂時再對整個網(wǎng)絡(luò)模型解凍,訓(xùn)練整個網(wǎng)絡(luò)。整個大豆單株豆莢數(shù)檢測過程如圖5所示。
1.5.1 試驗設(shè)置
本試驗基于Pytorch框架,圖形處理器(graphic processing unit,GPU)為Nvidia GeForce RTX 2080 Ti,在Linux操作系統(tǒng)上分別對YOLOv4模型和改進(jìn)的YOLOv4模型進(jìn)行訓(xùn)練。其中輸入尺寸為640×640(像素),初始學(xué)習(xí)率設(shè)置為0.001,通過余弦退火衰減算法實現(xiàn)學(xué)習(xí)率調(diào)整,即線性上升和余弦函數(shù)下降,訓(xùn)練迭代次數(shù)為1 500次。
1.5.2 訓(xùn)練結(jié)果
損失函數(shù)是判斷一個模型是否適用于當(dāng)前數(shù)據(jù)集的重要標(biāo)準(zhǔn)之一,該函數(shù)通常用于表征預(yù)測值與真實值之間的擬合程度,當(dāng)損失函數(shù)曲線逐漸收斂,說明此時模型已經(jīng)達(dá)到較好的預(yù)測效果。YOLOv4模型的損失函數(shù)在YOLOv3模型損失函數(shù)的基礎(chǔ)上把邊框回歸損失函數(shù)由均方誤差變成了完全交并比(Complete Intersection Over Union,CIOU),極大地提高了模型的表現(xiàn)能力,本研究依舊沿用YOLOv4模型的損失函數(shù)。
本研究將YOLOv4模型與改進(jìn)的YOLOv4模型分別在數(shù)據(jù)集A、B、C上進(jìn)行訓(xùn)練,其中在數(shù)據(jù)集A上的訓(xùn)練損失函數(shù)曲線如圖6所示,模型訓(xùn)練期間損失函數(shù)逐漸下降,每進(jìn)行10代訓(xùn)練則保存一次損失值,當(dāng)訓(xùn)練1 300次之后,損失函數(shù)曲線逐漸趨于平穩(wěn)并收斂,取最后一次訓(xùn)練結(jié)果的模型為預(yù)測模型,在數(shù)據(jù)集A的測試集中利用目標(biāo)檢測評價標(biāo)準(zhǔn)進(jìn)一步地驗證與分析。
本研究使用經(jīng)典的目標(biāo)檢測評價標(biāo)準(zhǔn),即準(zhǔn)確率(Precision,,%)、召回率(Recall,,%)、P-R曲線圖、單類目標(biāo)平均精度(Average Precision,AP,%)以及所有類別的平均準(zhǔn)確率(Mean Average Precision,mAP,%)。準(zhǔn)確率和召回率的計算如式(8)和式(9)所示
式中分別代表準(zhǔn)確率和召回率,TP(True Positive)表示正樣本檢測正確的概率,F(xiàn)P(False Positive)表示負(fù)樣本檢測為正樣本的概率,F(xiàn)N(False Negative)表示正樣本檢測為負(fù)樣本的概率。TP和FP數(shù)量的計算方法為:首先獲取真實框和利用檢測模型識別的預(yù)測框,其中預(yù)測框內(nèi)容包括類別、置信度分?jǐn)?shù)與坐標(biāo)信息,當(dāng)置信度大于0.3時,保留該預(yù)測結(jié)果并按照置信度分?jǐn)?shù)遞減的方式對其排序,最后計算預(yù)測框與真實框之間的最大匹配IoU值,若大于0.5且兩者為首次匹配則將結(jié)果記為TP,否則記為FP。若TP數(shù)量越多,說明預(yù)測正確的概率越大,模型的檢測性能越強(qiáng),反之則說明錯檢情況越嚴(yán)重,模型性能越低。
P-R曲線圖顯示出了檢測模型準(zhǔn)確率和召回率的關(guān)系,一般情況下,這兩者是一對矛盾的變量,即準(zhǔn)確率越高,召回率越低。為了平衡兩者的關(guān)系,特用平均精度值來衡量模型的性能,即準(zhǔn)確率-召回率曲線圖下方的面積,所以當(dāng)一個模型的曲線被另一個模型的曲線包圍時,則說明后者的性能優(yōu)于前者。其中,AP為該曲線下方的面積,具體定義如式(10)所示
而mAP是對所有預(yù)測類別的AP值取平均值的結(jié)果,衡量模型在所有類別上的好壞,具體定義如式(11)所示
模型的預(yù)測結(jié)果是評價一個模型好壞最直觀的方式,使用2種模型分別對數(shù)據(jù)集A中的測試集進(jìn)行預(yù)測,通過真正例TP與假正例FP的數(shù)目對比分析不同模型的預(yù)測效果,具體預(yù)測結(jié)果如表2所示??梢钥闯?,改進(jìn)的YOLOv4模型的3粒莢、2粒莢以及4粒莢的TP數(shù)量明顯多于原模型,其中3粒莢的TP數(shù)量比原模型多23個,2粒莢的TP數(shù)量比原模型多12個,4粒莢的TP數(shù)量比原模型多7個,其余類別的數(shù)量差別不大,說明改進(jìn)的YOLOv4模型對于不同類別的豆莢具有較強(qiáng)的學(xué)習(xí)能力,能達(dá)到較好的檢測性能。對于FP數(shù)量而言,改進(jìn)的YOLOv4模型對于每個類別的檢測結(jié)果相較于YOLOv4模型均有所降低,尤其是3粒莢,改進(jìn)的YOLOv4模型的FP數(shù)量減少到了YOLOv4模型FP數(shù)量的1/3,提升幅度最大,說明改進(jìn)的YOLOv4模型對于豆莢檢測具有明顯優(yōu)勢。
為了直觀地展示不同模型在數(shù)據(jù)集A上的檢測效果,共提取3張測試圖像進(jìn)行可視化。由圖7可知,YOLOv4模型檢測結(jié)果中的置信度分?jǐn)?shù)大都低于0.7,而改進(jìn)的YOLOv4模型檢測結(jié)果中的置信度分?jǐn)?shù)大都在0.9及以上,說明改進(jìn)的YOLOv4模型已經(jīng)能夠有效識別不同豆莢。對于植株1,YOLOv4模型未識別到0粒莢,即圖7b植株1中未出現(xiàn)0粒莢預(yù)測框,改進(jìn)的YOLOv4模型則能夠準(zhǔn)確地將其識別;對于植株2和植株3,改進(jìn)的YOLOv4模型糾正了YOLOv4模型預(yù)測錯誤的問題,例如,改進(jìn)的YOLOv4模型將圖7b植株3中識別為3粒莢的豆莢準(zhǔn)確修正為圖7c植株3中的2粒莢,證實了改進(jìn)的YOLOv4模型在豆莢數(shù)檢測領(lǐng)域的有效性。
表2 YOLOv4模型和改進(jìn)的YOLOv4模型在數(shù)據(jù)集A中的TP與FP數(shù)量對比
本研究對比了YOLOv4與改進(jìn)的YOLOv4模型在數(shù)據(jù)集A中的測試集上識別豆莢6種形態(tài)的P-R曲線圖,如圖8所示,其中曲線下方面積為不同模型在每個類別中的平均精度。由圖8可知,除了圖8f的5粒莢識別效果不理想之外,YOLOv4模型對于其他5個類別的P-R曲線均被改進(jìn)的YOLOv4模型曲線包圍,說明通過一系列改進(jìn)之后模型對于豆莢表型的學(xué)習(xí)能力得到了提升。由表1豆莢類別的樣本分布可知,2粒莢、3粒莢和4粒莢的數(shù)量是最多的,所以P-R曲線更平滑,且改進(jìn)前后的檢測結(jié)果差別不大,這說明在防止過擬合的情況下,樣本數(shù)量也是決定模型檢測效果的重要因素之一。對于0粒莢和1粒莢來說樣本量偏少,其P-R曲線也有更多拐點,當(dāng)召回率小于0.1時,2個模型的精度都能達(dá)到1,當(dāng)召回率逐漸變大時,添加了注意力機(jī)制的模型優(yōu)勢逐漸明顯,學(xué)習(xí)能力變強(qiáng),這是因為原模型認(rèn)為圖像中每個區(qū)域的貢獻(xiàn)是平均分布的,但在實際檢測中,不同類別的感興趣區(qū)域是不同且復(fù)雜的,而改進(jìn)后的模型重點關(guān)注對檢測類別有用的特征信息,使得該模型即使在樣本量不多的情況下也能達(dá)到較好的效果。對于5粒莢,由于樣本量極少,所以P-R曲線非??拷鴺?biāo)軸,且曲線輪廓幾乎為直角,雖然平均精度不如原模型的預(yù)測結(jié)果高,但在樣本量極少的情況下能夠預(yù)測已經(jīng)證明該模型具有較強(qiáng)的學(xué)習(xí)能力。
為防止模型過擬合,更全面地評價模型的預(yù)測效果,對不同模型在數(shù)據(jù)集A、B中6個不同類別的平均精度以及所有類別的平均準(zhǔn)確率進(jìn)行分析,具體的預(yù)測值如表3所示。由表3可知,不同檢測模型分別在數(shù)據(jù)集A、數(shù)據(jù)集B上的單類別平均精度AP和所有類別的平均準(zhǔn)確率mAP。其中在數(shù)據(jù)集A的測試集中,YOLOv4模型的mAP為74.88%,改進(jìn)的YOLOv4模型的mAP為80.55%,比YOLOv4模型整體提升了5.67個百分點,其中0粒莢和1粒莢的預(yù)測結(jié)果分別比YOLOv4模型提升了18.68個百分點和20.73個百分點,提升效果顯著,而且2粒莢、3粒莢和4粒莢的類別平均檢測精度已經(jīng)達(dá)到96%以上,相較于YOLOv4模型來說,平均精度值的提升介于0.28~11.23個百分點之間,這說明改進(jìn)的YOLOv4模型具有更高的檢測性能且更適用于大豆豆莢檢測。當(dāng)數(shù)據(jù)量增加時(數(shù)據(jù)集B),YOLOv4模型的mAP值為77.9%,改進(jìn)的YOLOv4模型的平均準(zhǔn)確率為84.37%,檢測性能依舊保持較高水平。
由于5粒莢這一類別數(shù)量較少且非常罕見,并不是大豆植株考種的必要選擇,育種專家更關(guān)注0粒莢到4粒莢的單株數(shù)量與識別準(zhǔn)確率,以此作為考種的主要依據(jù)。若不考慮5粒莢這一類別,根據(jù)表1數(shù)據(jù),在數(shù)據(jù)集A中,YOLOv4模型的mAP值為85.35%,改進(jìn)的YOLOv4模型的mAP值為95.92%,比YOLOv4模型提高了10.57個百分點,比人眼識別準(zhǔn)確率提高了近12個百分點,在數(shù)據(jù)集B中,改進(jìn)后模型的mAP值達(dá)到了96.86%,表明該模型的檢測結(jié)果已經(jīng)完全滿足標(biāo)準(zhǔn)場景下的考種要求。但隨著育種技術(shù)的不斷發(fā)展與改進(jìn),未來可能會出現(xiàn)更多的5粒莢、6粒莢甚至7粒莢等,所以為了保持模型的魯棒性與泛化能力,本模型將保留5粒莢這一檢測類別,為多粒莢檢測提供研究基礎(chǔ)與數(shù)據(jù)參考。
表3 不同模型豆莢類別檢測的平均精度與平均準(zhǔn)確率
為了驗證改進(jìn)的YOLOv4模型在不同場景下的豆莢檢測效果,特使用YOLOv4模型與改進(jìn)的YOLOv4模型對簡單背景下豆莢擺盤數(shù)據(jù)集C進(jìn)行模型訓(xùn)練與預(yù)測,訓(xùn)練過程中每迭代1次都對驗證集進(jìn)行預(yù)測對比并記錄結(jié)果,其中當(dāng)閾值為0.5時,YOLOv4模型的平均準(zhǔn)確率mAP值達(dá)到97.29%,改進(jìn)的YOLOv4模型的mAP值達(dá)到了99.10%,比YOLOv4模型提高了1.81個百分點,且改進(jìn)的YOLOv4模型對于單個類別的檢測精度較原模型均有提升,說明改進(jìn)的YOLOv4模型在擺盤豆莢檢測方面也具有較好的預(yù)測效果,具體數(shù)據(jù)如表4所示。
表4 簡單背景下不同模型對豆莢類別檢測的平均精度與平均準(zhǔn)確率
目前計算一棵大豆植株上各類豆莢的數(shù)量主要有3種方式,第一種方式為人工拆解大豆植株并計數(shù),對應(yīng)圖9中的手工方法,該方法需要手動完好地剪下單株大豆上的所有豆莢,擺盤后由育種專家對每個豆莢進(jìn)行人工檢查,由于環(huán)境或遺傳因素,豆莢內(nèi)成熟種子的差異很大,即使是訓(xùn)練有素的操作員也只能達(dá)到約84%的準(zhǔn)確率,數(shù)據(jù)獲取速度為6~10株/h。第二種方式為人工拆解大豆植株并擺盤拍照后通過不同網(wǎng)絡(luò)模型計數(shù),對應(yīng)圖9中的卷積神經(jīng)網(wǎng)絡(luò)和VGG16+Adam檢測方法,該方法需要將單株大豆上的所有豆莢裁剪后按照一定方向擺盤拍照,對照片進(jìn)行相應(yīng)的分類與訓(xùn)練,準(zhǔn)確率可達(dá)到86.2%[20],最高達(dá)到98.41%[21],數(shù)據(jù)獲取速度為5~7.5株/h。第三種方式是通過本試驗所用的測量儀對整株大豆進(jìn)行計數(shù),對應(yīng)圖9中YOLOv4模型與改進(jìn)的YOLOv4模型,該方法將完整大豆植株插在測量儀上,旋轉(zhuǎn)一周拍攝視頻并將其通過本研究模型與物體追蹤算法計數(shù)。單張照片準(zhǔn)確率目前可達(dá)到84.37%,速度可以達(dá)到240株/h。獲取大豆植株表型原始數(shù)據(jù)是整個考種過程中最耗時費力的一個步驟,所以本節(jié)主要展現(xiàn)不同方式的數(shù)據(jù)獲取速度與考種準(zhǔn)確率,具體速度和平均準(zhǔn)確率對比如圖9所示。由圖9可知,本研究獲取數(shù)據(jù)的速度為普通方法的30~40倍,且測量儀的使用大大減少了人力與物力資源的浪費。
本研究在YOLOv4模型的基礎(chǔ)上引入了K-means聚類算法以及改進(jìn)的注意力模塊,建立了改進(jìn)的YOLOv4模型,使其更適用于室內(nèi)單株豆莢檢測。
1)利用 LabelImg 軟件實現(xiàn)了不同形態(tài)豆莢標(biāo)簽的標(biāo)注,制作了多類別豆莢檢測數(shù)據(jù)集,為大豆單產(chǎn)預(yù)測提供了充分的數(shù)據(jù)支持。
2)與YOLOv4模型相比,改進(jìn)的YOLOv4模型的平均準(zhǔn)確率提升了5.67個百分點,在擴(kuò)充數(shù)據(jù)集上達(dá)到了84.37%的準(zhǔn)確率,若不考慮5粒莢這一類別,改進(jìn)的YOLOv4模型的mAP值達(dá)到了95.92%,比YOLOv4模型提高了10.57個百分點,比人眼識別準(zhǔn)確率提高了近12個百分點,具有更強(qiáng)的檢測性能,預(yù)測效果顯著。
3)在簡單背景下豆莢擺盤的檢測中,改進(jìn)的YOLOv4模型達(dá)到了99.1%的平均準(zhǔn)確率,檢測精度有所提升,結(jié)果表明改進(jìn)的YOLOv4模型在不同場景下的大豆豆莢檢測中具有較強(qiáng)的泛化能力。
[1] 馮獻(xiàn)忠,劉寶輝,楊素欣. 大豆分子設(shè)計育種研究進(jìn)展與展望[J]. 土壤與作物,2014,3(4):123-131.
Feng Xianzhong, Liu Baohui, Yang Suxin. Progress and perspective of soybean molecular design breeding research[J]. Soil and Crop, 2014, 3(4): 123-131. (in Chinese with English abstract)
[2] 吳曰程,王玉斌. 中國轉(zhuǎn)基因大豆進(jìn)口及其影響分析[J]. 大豆科學(xué),2019,38(4):635-643.
Wu Yuecheng, Wang Yubin. The effect of China's GM soybean imports[J]. Soybean Science, 2019, 38(4): 635-643. (in Chinese with English abstract)
[3] 吳國棟,修宇,王華芳. 優(yōu)化子葉節(jié)轉(zhuǎn)化法培育大豆MtDREB2A轉(zhuǎn)基因植株[J]. 植物學(xué)報,2018,53(1):59-71.
Wu Guodong, Xiu Yu, Wang Huafang. Breeding of MtDREB2A transgenic soybean by an optimized cotyledonary-node method[J]. Chinese Bulletin of Botany, 2018, 53(1): 59-71. (in Chinese with English abstract)
[4] Ghanem M E, Marrou H, Sinclair T R. Physiological phenotyping of plants for crop improvement[J]. Trends in Plant Science, 2015, 20(3): 139-144.
[5] 馬鴻潤. 面向人工智能育種的大豆種子表型特征數(shù)據(jù)采集與分析[D]. 威海:山東大學(xué),2020.
Ma Hongrun. The Collection and Analysis of Soybean Seed Phenotypic Characteristic Data for Artificial Intelligence Breeding. WeiHai: Shangdong University, 2020. (in Chinese with English abstract)
[6] 國家市場監(jiān)督管理總局、中國國家標(biāo)準(zhǔn)化管理委員會.植物品種特異性、一致性和穩(wěn)定性測試指南大豆:[S]. 北京:中國標(biāo)準(zhǔn)出版社,2018.
[7] 李強(qiáng),高聚林,蘇二虎,等. 大豆種質(zhì)表型性狀鑒定與分析[J]. 大豆科學(xué),2015,34(5):752-759.
Li Qiang, Gao Julin, Su Erhu, et al. Identification and analysis of phenotypic traits in soybean[J]. Soybean Science, 2015, 34(5): 752-759. (in Chinese with English abstract)
[8] 趙朝森,王瑞珍,李英慧,等. 江西大豆種質(zhì)資源表型及品質(zhì)性狀綜合分析與評價[J]. 大豆科學(xué),2019,38(5):686-693.
Zhao Chaosen, Wang Ruizhen, Li Yinghui, et al. Comprehensive analysis and evaluation of the phenotype and quality traits of Jiangxi soybean germplasm resources[J]. Soybean Science, 2019, 38(5): 686-693. (in Chinese with English abstract)
[9] 傅隆生,宋珍珍,Zhang Xin,等. 深度學(xué)習(xí)方法在農(nóng)業(yè)信息中的研究進(jìn)展與應(yīng)用現(xiàn)狀[J]. 中國農(nóng)業(yè)大學(xué)學(xué)報,2020,25(2):105-120.
Fu Longsheng, Song Zhenzhen, Zhang Xin, et al. Applications and research progress of deep learning in agriculture[J]. Journal of China Agricultural University, 2020, 25(2): 105-120. (in Chinese with English abstract)
[10] Kamilaris A, Prenafeta-Boldú F X. Deep learning in agriculture: A survey[J]. Computers and Electronics in Agriculture, 2018, 147: 70-90.
[11] 岑海燕,朱月明,孫大偉,等. 深度學(xué)習(xí)在植物表型研究中的應(yīng)用現(xiàn)狀與展望[J]. 農(nóng)業(yè)工程學(xué)報,2020,36(9):1-16.
Cen Haiyan, Zhu Yueming, Sun Dawei, et al. Current status and future perspective of the application of deep learning in plant phenotype research[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2020, 36(9): 1-16. (in Chinese with English abstract)
[12] Liu Nian, Kan Jiangming. Improved deep belief networks and multi-feature fusion for leaf identification[J]. Neurocomputing, 2016, 216: 460-467.
[13] Grinblat G L, Uzal L C, Larese M G, et al. Deep learning for plant identification using vein morphological patterns[J]. Computers and Electronics in Agriculture, 2016, 127: 418-424.
[14] Zhu H Y, Huang X Y, Zhang S P, et al. Plant identification via multipath sparse coding[J]. Multimedia Tools and Applications, 2017, 76(3): 4599-4615.
[15] 孫俊,譚文軍,毛罕平,等. 基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的多種植物葉片病害識別[J]. 農(nóng)業(yè)工程學(xué)報,2017,33(19):209-215.
Sun Jun, Tan Wenjun, Mao Hanping. Recognition of multiple plant leaf diseases based on improved convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2017, 33(19): 209-215. (in Chinese with English abstract)
[16] 郭小清,范濤杰,舒欣. 基于改進(jìn)Multi-Scale AlexNet的番茄葉部病害圖像識別[J]. 農(nóng)業(yè)工程學(xué)報,2019,35(13):162-169.
Guo Xiaoqing, Fan Taojie, Shu Xin. Tomato leaf diseases recognition based on improved Multi-Scale AlexNet[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2019, 35(13): 162-169. (in Chinese with English abstract)
[17] Namin S T, Esmaeilzadeh M, Najafi M, et al. Deep phenotyping: Deep learning for temporal phenotype/genotype classification[J]. Plant Methods, 2018, 14(1): 1-14.
[18] Aich S, Stavness I. Leaf counting with deep convolutional and deconvolutional networks[C]//16thIEEE International Conference on Computer Vision (ICCV), Saskatoon: IEEE 2017.
[19] 任守綱,賈馥瑋,顧興健,等. 反卷積引導(dǎo)的番茄葉部病害識別及病斑分割模型[J]. 農(nóng)業(yè)工程學(xué)報,2020,36(12):186-195.
Ren Shougang, Jia Fuwei, Gu Xingjian, et al. Recognition and segmentation model of tomato leaf diseases based on deconvolution-guiding[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2020, 36(12): 186-195. (in Chinese with English abstract)
[20] Uzal L C, Grinblata G L, Namíasa R, et al. Seed-per-pod estimation for plant breeding using deep learning[J]. Computers and Electronics in Agriculture, 2018, 150: 196-204.
[21] 閆壯壯,閆學(xué)慧,石嘉,等. 基于深度學(xué)習(xí)的大豆豆莢類別識別研究[J]. 作物學(xué)報,2020,46(11):1771-1779.
Yan Zhuangzhuang, Yan Xuehui, Shi Jia, et al. Classification of soybean pods using deep learning[J]. Acta Agronomica Sinica, 2020, 46(11): 1771-1779. (in Chinese with English abstract)
[22] Riera L G, Carroll M E, Zhang Z S, et al. Deep multi-view image fusion for soybean yield estimation in breeding applications[J/OL]. Plant Phenomics, 2021, [2020-11-25], https: //arxiv. org/abs/2011. 07118.
[23] Bochkovskiy A, Wang C Y, Liao H Y. YOLOv4: Optimal speed and accuracy of object detection[EB/OL]. [2020-10-23], https: //arxiv. org/abs/2004. 10934.
[24] Redmon J, Farhadi A. YOLOv3: An incremental improvement[EB/OL]. (2020-10-23)[2021-01-20], https: //arxiv. org/abs/1804. 02767.
[25] Dai Y M, Giescke F, Ochmcke S. Attentional feature fusion[EB/OL]. [2020-11-25], https: //arxiv. org/abs/2009. 14082.
[26] 章韜略,周永霞. 一種注意力機(jī)制與SRGAN網(wǎng)絡(luò)結(jié)合的超分辨率算法[J/OL]. 小型微型計算機(jī)系統(tǒng),2021,[2021-01-11],http: //kns. cnki. net/kcms/detail/21. 1106. TP. 20210106. 1406. 022. html.
[27] 朱張莉,饒元,吳淵,等. 注意力機(jī)制在深度學(xué)習(xí)中的研究進(jìn)展[J]. 中文信息學(xué)報,2019,33(6):1-11.
Zhu Zhangli, Rao Yuan, Wu Yuan, et al. Research progress of attention mechanism in deep learning[J]. Journal of Chinese Information Processing, 2019, 33(6): 1-11. (in Chinese with English abstract)
[28] Hu Jie, Shen Li, Albanie Samuel, et al. Squeeze-and- excitation networks[J]. Institute of Electrical and Electronics Engineers Transactions Pattern Analysis Machine Intelligence. 2020, 42(8): 2011-2023.
[29] Yang Yang, Deng Hongming. GC-YOLOv3: You only look once with global context block[J]. Electronics, 2020, 9(8): 1235.
[30] Pan Sinno Jialin, Yang Qiang. A survey on transfer learning[J]. IEEE Transactions on Knowledge and Data Engineering, 2010, 22(10): 1345-1359.
Detection method of soybean pod number per plant using improved YOLOv4 algorithm
Guo Rui1, Yu Chongyu1, He Hong1※, Zhao Yongjian1, Yu Hui2, Feng Xianzhong2
(1.,,,264209,; 2.,,130102,)
Measuring pod number per plant has been one of the most important parts of the pod selection in the soybean growth period. However, traditional manual measurement is costly, time-consuming, and error-prone. Alternatively, artificial intelligence can ever-increasing be used to determine the type and quantity of each pod, thereby accurately predicting soybean yield in modern agriculture. In this study, a soybean phenotyping instrument was employed to collect the phenotype video of soybean plants, and then to process the phenotype data using the YOLOv4 dynamic object detection. The size of the initial anchor box and the complexity of image objects were also considered during the data set training and testing. Specifically, the COCO data set was selected for the prior box in the YOLOv4 model. The size of the objects varied in each category. K-means clustering was selected to adjust the size of original prior box for a higher accuracy of pod recognition. The size and position of container were calculated to test the original anchor frame suitable for pod detection. Accordingly, a total of 9 initial anchor frames were obtained. The average and maximum pooling operations of the global channel information were adopted to obtain the new weights and re-weighed the new weights to generate the output of module, in order to accurately locate pods for the better characterization ability of detection model. The improved attention mechanism module was integrated into the last layer of the backbone network in the YOLOv4 object detection. Migration learning was also utilized to pre-train the neural network for the optimal detection model in the prediction of test set. The experiment was performed on the Pytorch framework under the GPU (Nvidia GeForce RTX 2080 Ti). The parallel computing framework of CUDA10.1 and CUDNN deep neural network acceleration library were used to train the original and the improved YOLOv4 on Linux operating system. Experiment results showed that the improved model greatly improved the accuracy of pod detection. The mean average precision for all categories was 80.55%, 5.67 percentage points higher than the original. The average accuracy rate reached 84.37% after data expansion, The average prediction of the pod with two beans effectively reached 99.46%, indicating more suitable for pod detection. Consequently, the improved model can more accurately identify the most categories that the original model cannot recognize. Some errors were also corrected in the predictions for a better confidence score. In the recognition of pods on a simple background, the prediction mean average precision of the improved model reached 99.1%, 1.81 percentage points higher than the original. More importantly, the improved model presented strong generalization ability and detection performance. The data acquisition was 30-40 times the speed of traditional ones. Moreover, the soybean phenotype instruments performed better to greatly save the human and material resources using the improved model.
image recognition; algorithm; soybean; pod detection; YOLOv4; K-means clustering; attention mechanism
郭瑞,于翀宇,賀紅,等. 采用改進(jìn)YOLOv4算法的大豆單株豆莢數(shù)檢測方法[J]. 農(nóng)業(yè)工程學(xué)報,2021,37(18):179-187.doi:10.11975/j.issn.1002-6819.2021.18.021 http://www.tcsae.org
Guo Rui, Yu Chongyu, He Hong, et al. Detection method of soybean pod number per plant using improved YOLOv4 algorithm[J]. Transactions of the Chinese Society of Agricultural Engineering (Transactions of the CSAE), 2021, 37(18): 179-187. (in Chinese with English abstract) doi:10.11975/j.issn.1002-6819.2021.18.021 http://www.tcsae.org
2021-01-20
2021-03-25
國家重點研發(fā)計劃主要經(jīng)濟(jì)作物分子設(shè)計育種(No.2016YFD0101900)
郭瑞,研究方向為深度學(xué)習(xí)與機(jī)器視覺。Email:guo_rui@mail.sdu.edu.cn
賀紅,博士,副教授,研究方向為軟件工程與數(shù)據(jù)工程、算法分析與設(shè)計和分布式高性能計算。Email:hehong@sdu.edu.cn
10.11975/j.issn.1002-6819.2021.18.021
TP391.4;S126
A
1002-6819(2021)-18-0179-09