白衛(wèi)衛(wèi),趙雪妮,羅 斌,趙 薇,黃 碩,張 晗,*
(1.陜西科技大學,陜西 西安 710016; 2.北京市農林科學院 智能裝備技術研究中心,北京 100097; 3.北京市農林科學院 信息技術研究中心,北京 100097)
小麥是現(xiàn)今世界上最重要的糧食作物之一,在我國其重要性僅次于水稻[1]。小麥的產量、品質與種子的質量息息相關[2]。種子的發(fā)芽率是衡量種子質量的最重要指標之一[3],高發(fā)芽率的小麥種子在田間發(fā)芽快、抵抗逆境生長的能力強;低發(fā)芽率的小麥種子在田間發(fā)芽較慢、出苗不規(guī)整,很容易受到生長環(huán)境的影響而造成農產品減產。傳統(tǒng)的發(fā)芽檢測是通過人眼觀測,對萌發(fā)7 d的種子發(fā)芽情況進行統(tǒng)計判斷[4],檢驗人員需要擁有豐富的經(jīng)驗,重復性的發(fā)芽率檢測非常繁瑣、費時、費力,而且容易引入主觀誤差,造成不同人員間統(tǒng)計結果不一致,可重復性較差。因此,需要一種客觀的、可重復的、快速的并且經(jīng)濟可靠的測定方法。
近年來,機器視覺技術得到了飛速發(fā)展,且在農業(yè)領域得到廣泛應用[5-7],許多研究人員將機器視覺應用到種子的發(fā)芽檢測中。李振等[8]基于機器視覺圖像處理技術開發(fā)了辣椒種子活力指數(shù)檢測系統(tǒng),活力指數(shù)檢測精確率高達92%以上。張帆等[9]設計了一套基于機器學習的在線視覺檢測系統(tǒng)用于檢測穴盤苗的發(fā)芽率,基于機器學習方法制作訓練樣本,依據(jù)可信度來判斷發(fā)芽情況,此方法具有較高的檢測精度。王紀章等[10]提出一種基于Kinect相機的穴盤苗生長過程無損監(jiān)測方法,對黃瓜穴盤苗的發(fā)芽率、株高、葉面積等參數(shù)進行了無損監(jiān)測,其發(fā)芽率誤差不大于1.567%。這些方法均采用機器視覺技術對發(fā)芽特征進行提取,通過形態(tài)學的檢測實現(xiàn)種子發(fā)芽判別,然而不同作物的種子發(fā)芽特征不同,導致這些方法的應用均存在局限性。
隨著科學技術的發(fā)展,深度學習逐漸出現(xiàn)在大眾的視野中,深度學習技術已成為特征檢測的有效方法,并且在目標檢測領域取得顯著突破,被大量應用于農業(yè)檢測領域[11-15]中。YOLO系列模型作為一種單階段卷積神經(jīng)網(wǎng)絡,因其具有檢測實時性、高精度等優(yōu)勢在目標識別和定位檢測中得到廣泛應用[16-20]。權龍哲等[21]采用YOLOv4卷積神經(jīng)網(wǎng)絡模型對田間雜草和玉米秧苗進行目標識別,快速識別定位田間雜草,進行定向除草。趙德安等[22]采用YOLOv3網(wǎng)絡模型對復雜環(huán)境下的蘋果進行定位識別,在效率與精確率兼顧的情況下實現(xiàn)了復雜環(huán)境下蘋果的檢測。張晴晴等[23]建立了YOLOv3優(yōu)化網(wǎng)絡模型對復雜場景下茶樹嫩芽進行識別,其模型的平均精度值(mAP)高達91%。
雖然深度學習在農業(yè)中應用廣泛,但是在種子發(fā)芽檢測方面的研究很少,深度學習技術在檢測過程中無需對圖像進行特征提取和形態(tài)學處理,極大降低了種子判別的建模過程。通過深度學習進行種子發(fā)芽的快速識別和定位,可為種子發(fā)芽檢測提供一種新的解決方案。本研究以小麥為研究對象,通過機器視覺技術結合YOLOv5深度學習網(wǎng)絡模型建立小麥種子發(fā)芽判別模型,實現(xiàn)小麥種子的發(fā)芽自動檢測。結合小麥種子7 d標準發(fā)芽試驗,設計一套基于YOLOv5的種子發(fā)芽檢測改進判別方法(detection based on YOLOv5,DB-YOLOv5),通過7 d發(fā)芽試驗圖像組合分析,優(yōu)化種子發(fā)芽判別,實現(xiàn)了對小麥種子發(fā)芽率、發(fā)芽勢、發(fā)芽指數(shù)、平均發(fā)芽天數(shù)的快速檢測。
發(fā)芽試驗按照GB/T3543.4—1995規(guī)定的小麥發(fā)芽試驗方法進行。試驗小麥種子品種為濟麥22,選取2 000粒小麥種子作為試驗樣本。使用19 cm×13 cm×12 cm透明發(fā)芽盒進行發(fā)芽,每盒按照4×5擺放20粒種子,共計100盒。試驗之前使用1%次氯酸鈉溶液對小麥種子消毒10 min,然后使用蒸餾水沖洗3次。發(fā)芽盒用75% 乙醇消毒,每個發(fā)芽盒鋪2層發(fā)芽紙,加入等量蒸餾水。發(fā)芽箱設置溫度為20 ℃,采用12 h間隔光照,進行7 d發(fā)芽試驗。
圖像采集裝置由相機、暗箱、遮光布、墊板和光源組成。采集裝置示意圖如圖1-a所示。每次采集圖像發(fā)芽盒位置與鏡頭的位置相對固定,以便于觀察每粒小麥生長變化過程。放入種子立刻采集第1張圖像為初始圖像(記為第0天),每隔24 h采集1次,連續(xù)采集7 d,每盒共8張圖像,如圖1-b所示。100盒小麥種子共采集到800張圖像。
a,圖像采集裝置示意圖;1,采集箱;2,工業(yè)相機;3,條形光源;4,相機支架;5,發(fā)芽盒;6,載物臺;7,條形光源;8,小麥種子;9,傳輸圖像;10,計算機。b,采集圖像。a, Image acquisition device structure; 1, Collection box; 2, Industrial Camera; 3, Strip light; 4, Camera mounts; 5, Germination box; 6, Loading table; 7, Strip light; 8, Wheat seeds; 9, Transferred images; 10, Computer. b, Acquired images.圖1 圖像采集裝置示意圖與采集圖像Fig.1 Schematic diagram of image acquisition device and image acquisition
1.2.1 數(shù)據(jù)標注
建模前使用labelImg軟件對采集圖像中的小麥種子進行標注,如圖2所示,圖像標注使用矩形框,標注過程中盡量減少多余的背景進入矩形框,小麥種子位于矩形框正中間,矩形框的位置由其兩個對角的坐標確定。每幅圖像里根據(jù)小麥種子的位置標注20個不同的矩形框,將所有圖像標注完成后產生16 000個矩形框。本研究將種子類別分為2類,一類是沒有發(fā)芽的種子,標注為N;另一類是已經(jīng)發(fā)芽的種子,標注為Y。經(jīng)統(tǒng)計,此次試驗中標注的N有5 910粒,標注的Y有10 090粒。發(fā)芽判別標準采用GB/T3543.4—1995的規(guī)定:當小麥種子胚根與種子的長度相同,胚芽長為種子長度的一半時,則判定為種子發(fā)芽。種子類別標注工作是有經(jīng)驗的人通過肉眼判別種子胚根長度和胚芽長度對種子類別進行標注。種子類別標準如圖2所示。
用彩色加深胚根與胚芽是為了直觀地說明發(fā)芽判別標準,在試驗中并不對胚根長度和胚芽長度進行標注。The radicle and germ were depicted in color in order for the germination discrimination criteria to be visually illustrated. The radicle length and germ length were not labeled in the experiment.圖2 labelImg標注與發(fā)芽判定Fig.2 labelImg mark and germination determination
1.2.2 劃分數(shù)據(jù)集
數(shù)據(jù)集包括100盒小麥種子原始采集圖像和種子發(fā)芽過程連續(xù)7 d采集的圖像,共計800張,每張圖像根據(jù)發(fā)芽盒的編號和發(fā)芽天數(shù)命名。通過labelImg軟件對每張圖像中的種子進行標注,產生了16 000個種子標注框。數(shù)據(jù)集按照分層采樣進行劃分,劃分比例為訓練集∶驗證集∶測試集=7∶2∶1,分別為70盒、20盒、10盒,對應到采集的圖像數(shù)量分別為560張、160張、80張,對應的種子數(shù)量分別為11 200粒、3 200粒、1 600粒。
1.3.1 YOLOv5模型
YOLO算法是將目標檢測任務重新定義為一個單一的回歸預測問題,直接從圖像像素中獲取邊界框坐標和類別概率。其采用組合的卷積神經(jīng)網(wǎng)絡提取圖像多尺度的特征,然后經(jīng)過全連接網(wǎng)絡層進行特征融合,并將圖像特征傳遞到預測層,最后處理網(wǎng)絡預測結果并對圖像特征進行預測,生成目標邊界框和預測類別概率[24]。
YOLOv5的輸入端采用Mosaic數(shù)據(jù)增強、自適應錨框計算和自適應圖片縮放方式對輸入圖像進行處理。Backbone端包含F(xiàn)ocus結構和CSPNet。Focus結構包含4次切片操作和1次32個卷積核的卷積操作,將原始608×608×3的圖像變成304×304×32的特征圖。CSPNet仿照Densenet[25]密集跨層跳層連接的思想,進行局部跨層融合,利用不同層的特征信息來獲得更為豐富的特征圖。Neck端使用FPN加PAN結構,屬于網(wǎng)絡的融合部分,將特征混合組合,傳遞到Output,F(xiàn)PN結構自頂向下傳遞特征,可以改善底層特征的傳播,PAN結構自底向上傳遞特征,兩者結合操作,增強了網(wǎng)絡特征的融合能力。輸出端采用GIoU Loss[26]作為Bounding box的損失函數(shù),它能夠解決邊界框不重合的問題,通過非極大值抑制NMS來篩選目標框。YOLOv5檢驗結果包括標注框的中心坐標(x,y)、標注框的長度a、寬度b、置信度p、判別結果。網(wǎng)絡結構圖如圖3所示。
圖3 YOLOv5網(wǎng)絡結構圖Fig.3 YOLOv5 network model
YOLOv5的官方代碼中給出了4種不同的網(wǎng)絡模型,分別是YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,這4種網(wǎng)絡模型在大小和精度上依次遞增。YOLOv5s網(wǎng)絡是4種網(wǎng)絡模型中深度最小、特征圖的寬度最小的網(wǎng)絡,后面3種網(wǎng)絡的深度和寬度都是在此基礎上不斷增加。由于網(wǎng)絡深度和寬度不同,所以它們可應用于不同的場景。針對以上YOLOv5在目標檢測中的特征和優(yōu)勢,本研究提出基于YOLOv5對小麥種子發(fā)芽進行檢測判別,驗證利用YOLOv5對小麥種子發(fā)芽檢測判別的可行性。
1.3.2 DB-YOLOv5檢測方法
在研究過程中,保持相機鏡頭與種子的距離始終不變,在第4天之后種子的胚芽開始長出莖、葉(如圖1-b);在鏡頭的圖像采集視野中苗的莖、葉之間會產生相互遮擋,采集的圖像無法捕捉到種子導致YOLOv5網(wǎng)絡模型在測試集進行檢測時出現(xiàn)漏識別的問題(如圖4-7a橙色框標記種子)。在種子處于發(fā)芽判別臨界點之間時,YOLOv5網(wǎng)絡模型在檢測時會給出2種判別結果并注明其置信度,故而會將單粒種子進行重復識別(如圖4-7a藍色框標記種子)。針對以上兩種情況,本研究設計了一套基于YOLOv5的種子發(fā)芽檢測改進判別方法,借助種子在圖像中所處的位置和置信度,通過連續(xù)7 d圖像的判別結果,對相鄰2 d的識別結果綜合分析,降低種子漏識別率和重復判別率。判別過程如圖4所示,判別步驟如下:
1)以1盒種子的7 d發(fā)芽圖像為1組,使用YOLOv5對10組種子0~7 d的8張圖像進行檢測,并輸出0~7 d發(fā)芽數(shù)據(jù):標注框的坐標(x,y)、標注框的長度a、寬度b、置信度p、判斷類別。第0天的識別框個數(shù)r即為每張圖像中應當存在的種子數(shù),本研究受發(fā)芽盒的大小限制每盒擺放20粒種子,故獲取的r值為20。
2)按照順序對1~7 d檢測重復識別的結果進行剔除。計算單幅圖像全部標注框的相對位置距離,當2個識別框的位置距離L小于識別框平均寬度的1/3時,判別該2個識別框重疊,剔除置信度p較低的識別框結果。
(1)
式(1)中:L為2個識別框的位置距離;xi、yi表示第i個判別框的中心位置的橫、縱坐標;xj、yj表示第j個判別框的中心位置的橫、縱坐標;i和j不同時相等。
3)重復識別結果剔除完成后,從第1天開始按照1到7的順序檢測每張圖像是否為20個種子標注框,當?shù)趎張圖像標注框的總數(shù)低于20個,則判定第n天圖像出現(xiàn)漏識別。遍歷第n-1天圖像中20個識別框的位置與第n天全部識別框的最小距離Lk,當Lk大于識別框平均寬度的2/3時,則判定為第k個籽粒在第n張圖像上漏識別,將第n-1天的第k個識別框結果傳遞給第n天,完成漏識別種子的檢測。
(2)
式(2)中:Lk為第n-1天圖像中20個識別框的位置與第n天全部識別框的最小距離;xk、yk表示n-1天第k個識別框的中心位置的橫、縱坐標,k的范圍是1~20;xi、yi表示第n天中第i個識別框的中心坐標。
重復判別改進如圖4-7a和圖4-7b所示,圖4-7a中藍色框標記的種子為檢測到重復判別種子,將置信度較低的標注框剔除,得到圖4-7b,完成重復判別的改進。
漏識別改進如圖4-7a和4-7c所示,圖4-7a中橙色框標記的第7天漏識別的種子,將漏識別種子第6天的檢測結果傳遞至第7天。即圖4-6c中橙色框補充至圖4-7c,完成漏識別種子的改進。
圖4 種子重框與種子漏識別的改進判別Fig.4 Correction of duplicate seed markers and lack of seed detection
1.4.1 模型評價指標
YOLO中使用精確率P(precision)、召回率R(recall)、F1-score和mAP(mean average precision)作為評估指標對訓練后的模型進行評價,從而對模型的性能進行驗證和比較。其中,精確率P表示模型預測目標的精確程度,召回率R表示模型搜索目標的成功程度,F(xiàn)1-score是精確率和召回率的調和平均數(shù),認為精確率和召回率同等重要,最大為1,最小為0。mAP衡量模型對所有類別檢測能力的好壞。精確率P、召回率R、F1-score和mAP的定義如公式(3)~(6)所示。
(3)
(4)
(5)
(6)
公式中,TP、FP和FN表示真陽性、假陽性和假陰性樣本的數(shù)量,VF1-score、VmAP分別代表F1-score、mAP的值,C為類別的數(shù)量,N為設置閾值的數(shù)量,k為設置的閾值,P(k)和R(k)為k值對應的精確率和召回率。
本研究中,類別的數(shù)量C為發(fā)芽和不發(fā)芽2類。在識別發(fā)芽種子時,發(fā)芽種子為識別目標,TP表示正確識別為發(fā)芽種子的數(shù)量,F(xiàn)P表示錯誤地識別為發(fā)芽種子的數(shù)量,F(xiàn)N表示錯誤地識別為未發(fā)芽種子的數(shù)量,精確率即為在所有識別為發(fā)芽種子中實際發(fā)芽種子所占的比率,召回率為實際所有發(fā)芽種子中識別出來的發(fā)芽種子所占的比率。在識別未發(fā)芽種子時,未發(fā)芽種子為識別目標,TP表示正確識別為未發(fā)芽種子的數(shù)量,F(xiàn)P表示錯誤地識別為未發(fā)芽種子的數(shù)量,F(xiàn)N表示錯誤地識別為發(fā)芽種子的數(shù)量,精確率為在所有識別為未發(fā)芽種子中實際未發(fā)芽種子所占的比率,召回率為實際所有未發(fā)芽種子中識別出來未發(fā)芽種子所占的比率。
1.4.2 發(fā)芽檢測指標
發(fā)芽率是檢測種子發(fā)芽的重要指標,為了驗證本研究的發(fā)芽檢測結果,分別取人工檢測發(fā)芽率、YOLOv5檢測發(fā)芽率和DB-YOLOv5判別之后的發(fā)芽率進行對比。此外,將人工檢測、YOLOv5和DB-YOLOv5檢測結果的發(fā)芽勢、發(fā)芽指數(shù)(GI)和平均發(fā)芽天數(shù)(MGT)進行對比。發(fā)芽勢指第3天初次統(tǒng)計發(fā)芽率,發(fā)芽指數(shù)和平均發(fā)芽天數(shù)計算方法如公式(7)、(8)所示。
(7)
(8)
式(7)和(8)中:VGI為發(fā)芽指數(shù)的值;VMGT為平均發(fā)芽天數(shù)的值;Dt為發(fā)芽天數(shù);Gt為與Dt相對應的每天新增發(fā)芽種子數(shù);G為發(fā)芽率[27]。
2.1.1 基于YOLOv5x種子發(fā)芽檢測
為了得到較好的種子發(fā)芽檢測判別結果,選用網(wǎng)絡深度和寬度最大的YOLOv5x進行種子發(fā)芽檢測。YOLOv5x檢測種子發(fā)芽部分結果如圖5所示。
采用YOLOv5x網(wǎng)絡對數(shù)據(jù)集進行訓練和測試,結果顯示,YOLOv5x的P為92.21%,R為90.62%,mAP為87.48%,F(xiàn)1-score為91.41%。由于YOLOv5x網(wǎng)絡有著較大的深度和寬度,在訓練模型時YOLOv5x花費的時間為22.6 h。該研究的目的是使種子發(fā)芽檢測過程實現(xiàn)自動化,并盡可能減少人工勞動,雖然在數(shù)據(jù)標注和訓練過程中會花費一些人力和時間,但其綜合成本要遠遠小于人工手動檢測種子發(fā)芽。由各評估指標表明,YOLOv5x在檢測種子發(fā)芽中具有較高的準確性,較高的評估指標在測試集中也有較好的表現(xiàn),但是由于種子在發(fā)芽過程中存在一些客觀因素,降低了YOLOv5x種子發(fā)芽檢測的準確率。表1為YOLOv5x在測試結果中存在問題統(tǒng)計。
如表1和圖5-c、5-d所示,YOLOv5x在測試集中存在兩類問題影響檢測的準確性,一類是種子漏識別,另一類是單粒種子重框判別。漏識別問題主要出現(xiàn)在第5天、第6天和第7天,是由于在發(fā)芽試驗的后期莖葉已經(jīng)長高,各種苗的莖、葉之間互相造成遮擋,導致YOLOv5x模型對測試集進行檢測時無法識別種子與種苗特征,從而出現(xiàn)漏識別現(xiàn)象。單粒種子重復判別主要出現(xiàn)在第2天和第3天,多數(shù)種子在第2天和第3天時開始長出胚芽和根毛,此時種子處于發(fā)芽和未發(fā)芽判別條件臨界點之間,YOLOv5x模型在檢測時對較難區(qū)分的種子分別標出了不同的判別結果,并注明各自的類別和置信度。上述兩類問題為種子發(fā)芽過程中客觀存在,并非YOLOv5x網(wǎng)絡模型自身檢測性能不佳。
圖5 YOLOv5x種子發(fā)芽檢測結果Fig.5 YOLOv5x seed germination test results
表1 YOLOv5x測試結果的漏識別數(shù)和重復框判別數(shù)
2.1.2 基于DB-YOLOv5重復判別和漏識別檢測
YOLOv5x模型與人工檢測相比存在漏識別和重復識別問題,會對發(fā)芽率等檢測指標的計算造成影響。通過DB-YOLOv5對YOLOv5x的檢測結果進行改進判別。判別算法改進之前和改進之后的重復判別數(shù)和漏識別數(shù)如表2所示。YOLOv5x重復識別個數(shù)和漏識別數(shù)分別為7粒和18粒,經(jīng)DB-YOLOv5方法改進判別之后重復識別個數(shù)和漏識別數(shù)均為0粒。說明本研究設計的DB-YOLOv5方法可以有效解決YOLOv5存在的重復識別問題和漏識別問題,使所有種子都能參加到發(fā)芽率等各指標的統(tǒng)計當中,確保了結果的完整性和精確性。
采用YOLOv5x模型和DB-YOLOv5模型統(tǒng)計測試集中200粒種子每天的發(fā)芽率,并與人工檢測結果進行對比,結果如圖6所示。種子從第2天開始發(fā)芽,到第5天種子發(fā)芽率趨于穩(wěn)定。人工檢測、YOLOv5x和DB-YOLOv5模型檢測的發(fā)芽率在第2天分別為31.5%、28.5%、30%。出現(xiàn)誤差的原因是部分種子在發(fā)芽試驗第2天根長或苗長接近判別發(fā)芽條件臨界值,使用YOLOv5x檢測時出現(xiàn)重復識別,導致檢測發(fā)芽率偏低。在人工檢測時通過目測判定,未進行實際測量,存在一定的人為誤差,部分臨界發(fā)芽的種子DB-YOLOv5模型與人工判別結果不一致。第5天后隨著YOLOv5檢測中出現(xiàn)大量漏識別,YOLOv5x檢測發(fā)芽率開始低于DB-YOLOv5和人工檢測,在第7天發(fā)芽率降至91%。
結合檢測模型,統(tǒng)計測試集7 d發(fā)芽數(shù)據(jù),測量種子發(fā)芽率、發(fā)芽勢、發(fā)芽指數(shù)和平均發(fā)芽天數(shù)發(fā)芽指標,統(tǒng)計結果如表3所示。YOLOv5x檢測的發(fā)芽率、發(fā)芽勢、發(fā)芽指數(shù)和平均發(fā)芽天數(shù)與人工統(tǒng)計的誤差分別為6%、1%、4.85和0.35 d,DB-YOLOv5方法檢測種子發(fā)芽與人工檢測結果中發(fā)芽率相同,發(fā)芽勢、發(fā)芽指數(shù)和平均發(fā)芽天數(shù)誤差為0.5%、2.39和0.1 d。表明通過DB-YOLOv5方法改進判別之后,檢測到的發(fā)芽率、發(fā)芽勢、發(fā)芽指數(shù)和平均發(fā)芽天數(shù)準確性均得到提升,有效彌補了YOLOv5在檢測時存在的不足。
表2 YOLOv5x和DB-YOLOv5方法判別測試結果誤差對比
圖6 人工檢測、YOLOv5x和DB-YOLOv5種子發(fā)芽率檢測對比Fig.6 Comparison of seed germination rate by manual testing, YOLOv5x and DB-YOLOv5
本研究借助YOLOv5目標檢測算法對小麥種子進行了發(fā)芽檢測,在此基礎上設計了一套DB-YOLOv5算法對YOLOv5的檢測結果進行補充判別,實現(xiàn)了小麥種子的發(fā)芽檢測分析。通過種子發(fā)芽檢測試驗,得到3點結論:(1)借助YOLOv5對小麥種子進行發(fā)芽檢測研究,通過試驗得到了精確率、召回率等一些較高的評估指標值,并且通過統(tǒng)計測試集檢測數(shù)據(jù)得到了良好的檢測結果。表明YOLOv5算法可以對小麥發(fā)芽進行判別分析和定位識別。(2)YOLOv5算法在檢測發(fā)芽判別時無需對種子圖像進行特征提取和形態(tài)學處理,學習到的特征更為精確,通過訓練得到的模型檢測速度快、魯棒性好。(3)YOLOv5模型在檢測小麥發(fā)芽動態(tài)過程中會出現(xiàn)種子漏識別和重框判別的問題,對種子發(fā)芽檢測結果造成一定的影響。本研究開發(fā)的DB-YOLOv5判別算法,通過多天圖像組合分析有效解決了種子漏識別和重框判別的問題,為種子發(fā)芽自動化檢測提供了一種可行的方法。
表3 人工、YOLOv5x、DB-YOLOv5種子發(fā)芽檢測指標對比