范曉飛 王林柏 劉景艷 周玉宏 張 君 索雪松
(河北農(nóng)業(yè)大學(xué)機電工程學(xué)院, 保定 071001)
玉米是世界上重要的糧食作物,廣泛種植于世界各地,其產(chǎn)量和貿(mào)易量在近幾年不斷攀升[1],流通過程中,外觀品質(zhì)是影響玉米種子價格的重要因素之一[2]。玉米種子在儲存和運輸過程中很容易受到破損和發(fā)霉問題的影響,而表型缺陷是種子品質(zhì)評價的重要指標(biāo)。當(dāng)前種子品質(zhì)檢測以人工為主,效率低且具有主觀性,因此將較為先進的目標(biāo)檢測技術(shù)應(yīng)用到種子篩選當(dāng)中具有重要意義。
許多學(xué)者對種子品質(zhì)檢測開展了相關(guān)研究,將機器學(xué)習(xí)[3]技術(shù)應(yīng)用到種子品質(zhì)檢測當(dāng)中并且取得了一定的研究成果。劉雙喜等[4]使用了一種基于最遠(yuǎn)優(yōu)先遍歷的DBSCAN玉米種子純度識別的機器學(xué)習(xí)算法,該方法對玉米種子純度識別正確率達93.3%。閆小梅等[5]提出一種以玉米種子冠部與側(cè)面顏色作為特征向量進行純度識別的方法,其玉米種子純度的準(zhǔn)確率為96.32%,但需要對種子的冠部和側(cè)部進行圖像獲取,過程較繁瑣。王玉亮等[6]提出了一種基于多對象有效特征提取和主成分分析優(yōu)化神經(jīng)網(wǎng)絡(luò)的玉米種子品種識別方法,通過提取形態(tài)特征和顏色特征來進行品種識別,種子平均識別率為98.47%。
隨著深度學(xué)習(xí)的發(fā)展,研究者將卷積神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于農(nóng)作物種子質(zhì)量檢測當(dāng)中,取得較好效果[7-9]。近年來興起的目標(biāo)檢測技術(shù)被廣泛應(yīng)用于農(nóng)業(yè)當(dāng)中,為玉米種子品質(zhì)檢測提供了參考[10-13]。
在典型的深度學(xué)習(xí)目標(biāo)檢測算法中,一類是基于區(qū)域候選的目標(biāo)檢測,代表性算法有R-CNN[14]、Fast R-CNN[15]、Faster R-CNN[16]等,另一類是基于回歸的目標(biāo)檢測,利用端到端的思想,將圖像歸一化后直接輸入一個卷積神經(jīng)網(wǎng)絡(luò)中,回歸預(yù)測出目標(biāo)物體的類別和位置信息。代表性算法有YOLO(You only look once)[17]系列、SSD(Single shot multibox detector)[18]系列等。其中區(qū)域候選的目標(biāo)檢測雖然在準(zhǔn)確率上存在一定的優(yōu)勢,但是速度較慢,而YOLO系列算法有著高準(zhǔn)確率和高檢測速度的優(yōu)點,適合于種子品質(zhì)的檢測。
在圖像采集方面,傳統(tǒng)的RGB圖像通常在可見光范圍內(nèi)進行獲取,其波段為400~650 nm,多光譜相機采集的圖像是由多個單通道的灰度圖像組成,其波段擴展到可見光范圍之外,每幅灰度圖像都具備自身的光譜響應(yīng)特性[19]。而某些物質(zhì)的特性區(qū)別會在特定的波段內(nèi)顯現(xiàn)出來,其波段較寬的多光譜相機可以提取出更具有代表性的特征信息,因此本文用多光譜相機采集的四通道(RGB+NIR)圖像建立玉米種子質(zhì)量圖像數(shù)據(jù)庫,用于玉米種子外觀品質(zhì)檢測,同時對YOLO v4結(jié)構(gòu)進行改進。
以不同外觀品質(zhì)的玉米種子作為研究對象,選取的玉米品種為鄭單985、科育186、濟玉517。采用丹麥JAI公司的4通道多光譜面陣相機(AD-130GE型)進行圖像數(shù)據(jù)采集,相機采用棱鏡分光技術(shù)結(jié)合雙CCD采集圖像,可以同時獲取可見光圖像和近紅外圖像(圖1),其中可見光區(qū)域的波段為400~650 nm,近紅外區(qū)域的波段為760~1 000 nm,中心波長中R通道為610 nm、G通道為550 nm、B通道為450 nm、NIR通道為790 nm。采用KOWA公司生產(chǎn)的LM25NC3型鏡頭,焦距為25 mm,該鏡頭擁有極高的色彩還原性、低失真性。圖像分辨率為1 296像素×964像素,每個顏色通道的像素深度為8位,并采用白色LED環(huán)形光源、近紅外光源和增強圖像對比度的白色背光源。相機高度固定為35 cm,為了避免外界光源的影響,圖像采集在封閉暗箱中進行。圖像采集平臺如圖2所示。
圖1 棱鏡分光技術(shù)示意圖Fig.1 Prism spectroscopic technology
圖2 圖像采集平臺Fig.2 Image acquisition platform1.支架 2.相機 3.環(huán)形白光源 4.環(huán)形近紅外光源 5.白色背光源
本文采集原始玉米種子數(shù)據(jù)200組,每組圖像中包含RGB圖像和NIR圖像,如圖3所示。將色澤鮮亮、飽滿的籽粒作為良好籽粒,將帶有破損、蟲蝕、發(fā)霉的籽粒作為帶有缺陷籽粒,經(jīng)統(tǒng)計外觀良好的籽粒有1 130粒,外觀帶有缺陷的籽粒有1 056粒。由于NIR圖像在波段760~1 000 nm的近紅外光譜范圍內(nèi)采集,因此NIR圖像包含人眼視覺之外的圖像信息,本試驗通過增加近紅外波段下的圖像,為模型提供更多的特征信息。
圖3 原始圖像Fig.3 Original images
本文對RGB、NIR圖像使用相同的數(shù)據(jù)增強方式(亮度調(diào)整、旋轉(zhuǎn)、加入高斯噪聲等操作)來增加圖像數(shù)量,提升訓(xùn)練后模型的性能,最終獲取650組圖像,其中外觀良好的籽粒有5 082粒,外觀帶有缺陷的籽粒有4 613粒。訓(xùn)練模型采用PASCAL VOC數(shù)據(jù)集格式,用LabelImg標(biāo)注工具對每幅圖像的每個玉米種子進行手工標(biāo)注矩形框,將外觀良好的玉米種子標(biāo)簽設(shè)為good,外觀帶有缺陷的玉米種子標(biāo)簽設(shè)為bad,選取其中10組圖像作為驗證集,其中外觀良好的種子有110粒,外觀帶有缺陷的種子有100粒,用于模型最終的性能評估,將剩余的640組圖像按照比例4∶1劃分為訓(xùn)練集和驗證集,用于模型訓(xùn)練。
BOCHKOVSKIY等在YOLO v3的基礎(chǔ)上,提出了YOLO v4模型,整個網(wǎng)絡(luò)結(jié)構(gòu)分為主干特征提取網(wǎng)絡(luò)CSPDarkNet53[20],在DarkNet53的基礎(chǔ)上進一步增加了底層信息的融合,增強信息的提取能力;加強特征提取網(wǎng)絡(luò)FPN(Feature pyramid networks)+PAN(Path aggregation network)[21-22]和空間金字塔池化(Spatial pyramid pooling)[23];最后為預(yù)測網(wǎng)絡(luò),利用獲得的特征進行預(yù)測。其中空間金字塔池化位于主干網(wǎng)絡(luò)和頸部網(wǎng)絡(luò)的結(jié)合處,如圖4所示,其將輸入特征圖分別通過最大池化的方式變?yōu)椴煌叽绲奶卣鲌D,然后將不同尺寸(5×15、9×9、13×13)的特征圖與原特征圖進行連接操作,作為新的特征圖,采用這種方式能夠更好地增加卷積核的感受野。在YOLO v4的頸部網(wǎng)絡(luò)部分使用特征金字塔網(wǎng)絡(luò)(FPN)和路徑聚合網(wǎng)絡(luò)(PAN),如圖5所示,F(xiàn)PN將高層的特征圖通過上采樣的操作與底層的特征圖進行連接,增加了特征圖的信息量,PAN通過下采樣連接底層特征和高層特征,縮短了各層之間的融合路徑,提升了網(wǎng)絡(luò)特征的提取能力。
圖4 SPP網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 SPP network structure diagram
圖5 FPN和PAN網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.5 FPN and PAN network structure diagram
為了使模型達到更好的性能,通常將模型網(wǎng)絡(luò)設(shè)計得更深更復(fù)雜,這樣會導(dǎo)致模型參數(shù)量和計算量的增加,從而對硬件的要求會有所提高。而MobileNet V1[24]作為具有代表性的小模型,其使用深度可分離卷積(圖6)構(gòu)建的輕量級模型可以達到較好的檢測效果。深度可分離卷積包含逐深度卷積(Depthwise convolution)和逐點卷積(Pointwise convolution)兩個過程。逐深度卷積將每一個通道與對應(yīng)的每一個卷積核進行卷積操作,逐點卷積采用1×1×M的卷積核,M為輸入特征圖的通道數(shù)。通過1×1卷積操作,實現(xiàn)特征圖在深度上的加權(quán)融合。利用3×3的深度可分離卷積與傳統(tǒng)的卷積方法相比,模型參數(shù)量降低到原來的1/10,同時引入寬度因子α在每層對網(wǎng)絡(luò)的輸入輸出通道數(shù)進行縮減,引入分辨率因子β用于控制輸入和內(nèi)部層表示,即用分辨率因子控制輸入的分辨率。MobileNet V1通過深度可分離卷積結(jié)構(gòu)實現(xiàn)了在性能沒有明顯損失的前提下使模型參數(shù)量和計算量降低。
圖6 深度可分離卷積結(jié)構(gòu)圖Fig.6 Depth-wise separable convolution structure diagram
將多光譜相機采集的4通道圖像作為輸入,將其尺寸設(shè)為416×416。在YOLO v4中運用CSPDarkNet53作為主干特征提取網(wǎng)絡(luò),整個網(wǎng)絡(luò)包含72個卷積層,雖然原始的YOLO v4模型性能優(yōu)異,考慮到使用過深的網(wǎng)絡(luò)會增加模型的參數(shù)量和檢測時間,同時本文中目標(biāo)的背景為白色背光板,并不需要深層的神經(jīng)網(wǎng)絡(luò),因此將MobileNet V1模型作為主干特征提取網(wǎng)絡(luò),從而減少YOLO v4網(wǎng)絡(luò)的參數(shù)量,提升計算效率。改進后的YOLO v4-MobileNet V1模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖7所示。選擇MobileNet V1模型的P5、P11、P13作為3個不同的特征層,輸出尺寸為52×52、26×26、13×13。在主干特征提取網(wǎng)絡(luò)的尾端P13處保留了原來的SPP結(jié)構(gòu),同時為了更好地提取每一個特征層的全局信息,在P5、P11處分別增加了相應(yīng)的SPP2、SPP1(圖8),將每個特征層進行最大池化,并與原來特征層進行融合,從而提升了不同尺寸特征層的全局信息。然后將3個特征層輸入FPN和PAN網(wǎng)絡(luò)中,實現(xiàn)高層特征信息與低層特征信息的融合,進而輸入到預(yù)測網(wǎng)絡(luò)中進行預(yù)測。
圖7 YOLO v4-MobileNet V1結(jié)構(gòu)圖Fig.7 YOLO v4-MobileNet V1 structure diagram
圖8 SPP1和SPP2網(wǎng)絡(luò)結(jié)構(gòu)Fig.8 SPP1 and SPP2 network diagram
YOLO v4-MobileNet V1模型的損失函數(shù)部分與YOLO v4模型相同,由分類損失函數(shù)、回歸損失函數(shù)和置信度損失函數(shù)3部分組成。在回歸損失函數(shù)中,傳統(tǒng)方法使用非極大值抑制(Non-maximum suppression,NMS)算法將預(yù)測框按置信度排序,將得分最高的框與剩余的框作交并比(Intersection over union,IoU)計算,從而找到最合適的預(yù)測框。YOLO v4模型使用損失函數(shù)完全交并比(Complete intersection over union,CIoU)[25]代替?zhèn)鹘y(tǒng)方法來優(yōu)化回歸損失,CIoU將目標(biāo)與預(yù)測框之間的距離、重疊率、尺寸以及懲罰項都考慮進去,使得目標(biāo)框回歸變得更加穩(wěn)定。
采用精確率(Precision)、召回率(Recall)、F1值、平均精度(AP)和平均精度均值(mAP)作為評價指標(biāo)。
試驗條件為Windows 10、64 位操作系統(tǒng),Cuda 版本為 10.0,采用基于Python編程語言的Tensorflow與Keras 深度學(xué)習(xí)框架。計算機配置為GeForce GTX 2070顯卡,8 GB顯存,Intel(R)Core(TM)i5-9400F處理器,主頻2.90 GHz。
模型輸入圖像尺寸為416×416×4,在訓(xùn)練過程中使用隨機旋轉(zhuǎn)、隨機縮放、隨機拉伸、隨機色域變換的數(shù)據(jù)增強方法,由于輸入圖像為四通道圖像,其色域變換中首先將三通道圖像進行變換,然后再加上NIR圖像,從而實現(xiàn)四通道的色域變換。試驗采用遷移學(xué)習(xí)的方式進行訓(xùn)練,將模型的主干特征提取網(wǎng)絡(luò)使用VOC數(shù)據(jù)集的預(yù)訓(xùn)練權(quán)重進行初始化參數(shù)設(shè)置,模型共訓(xùn)練150個迭代周期(Epoch),使用Adam作為優(yōu)化算法。前50次將學(xué)習(xí)率設(shè)為1×10-3,批量大小設(shè)為16,將主干特征提取網(wǎng)絡(luò)進行凍結(jié)訓(xùn)練,從而加快收斂速度,避免預(yù)訓(xùn)練權(quán)值被破壞,后100次將學(xué)習(xí)率設(shè)為1×10-4,批量大小設(shè)為8,對主干特征提取網(wǎng)絡(luò)進行解凍,以更小的初始學(xué)習(xí)率對整個模型進一步訓(xùn)練,從而加快整個網(wǎng)絡(luò)的訓(xùn)練時間。其訓(xùn)練損失值曲線如圖9所示。
圖9 損失值變化曲線Fig.9 Change curve of loss value
為了選出整體訓(xùn)練性能足夠高的模型,本文以mAP最高的權(quán)值文件作為最終模型,模型進行了150次迭代,每3次迭代輸出1個模型,得到50個模型,在這50個模型中找出1個mAP最高的模型(圖10)。當(dāng)mAP趨于穩(wěn)定狀態(tài)時,最大值為98.02%,此時的模型即為本文選用的模型。
圖10 mAP隨迭代周期的變化曲線Fig.10 mAP value change curve with epoch
首先對RGB三通道玉米種子圖像進行試驗,將MobileNet V1、MobileNet V2[26]以及MobileNet V3[27]的主干網(wǎng)絡(luò)用于YOLO v4網(wǎng)絡(luò)的特征提取,同時對比以CSPDarkNet53作為主干網(wǎng)絡(luò)的YOLO v4模型。將訓(xùn)練完成后的模型對玉米種子圖像的驗證集進行驗證,其結(jié)果如表1所示。YOLO v4-MobileNet V1模型mAP最高,為96.33%,性能優(yōu)于YOLO v4-MobileNet V2和YOLO v4-MobileNet V3模型,相較于YOLO v4-CSPDarkNet53模型平均F1值降低0.25個百分點,但mAP提高12.70個百分點,因此本文選取MobileNet V1替換CSPDarkNet53作為YOLO v4的主干網(wǎng)絡(luò)。然后本文在四通道(RGB+NIR)的玉米種子圖像下進行試驗,其結(jié)果如表2所示,從表中可以看出4種模型的平均F1值相較于RGB圖像都有所增加。試驗說明四通道(RGB+NIR)玉米種子圖像經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)處理可以提取出優(yōu)于RGB圖像的特征信息,因為RGB圖像是在波段400~650 nm的可見光區(qū)域獲取,而NIR圖像是在波段760~1 000 nm的近紅外區(qū)域獲取,然而不同質(zhì)量的玉米種子會存在不同特性的物質(zhì),其在特定的光譜范圍下的表現(xiàn)會有所不同,四通道圖像中每幅灰度圖像都具備自身的光譜響應(yīng)特性。因此多光譜圖像為模型提供更具有代表性的特征信息,從而達到提升模型性能的目的。
表1 RGB圖像下模型的檢測結(jié)果Tab.1 Detection results of model under RGB image
表2 RGB+NIR圖像下模型的檢測結(jié)果Tab.2 Detection results of model under RGB+NIR image
為了驗證改進YOLO v4-MobileNet V1模型的性能,對改進型YOLO v4-MobileNet V1結(jié)構(gòu)中的SPP1、SPP2進行了改變,將SPP1、SPP2分別改為圖11所示結(jié)構(gòu),由于原始網(wǎng)絡(luò)的SPP中最大池化層為13×13,與最后一個特征層相同,因此將其他SPP結(jié)構(gòu)的最大池化層尺寸設(shè)為與提取特征圖的尺寸相同,其他2個的最大池化層按相同比例減少,將此模型命名為YOLO v4-MobileNet V1-3SPP。將訓(xùn)練后改進YOLO v4-MobileNet V1模型、YOLO v4-MobileNet V1-3SPP模型、YOLO v4-MobileNet V1模型在相同驗證集下進行驗證試驗,其結(jié)果如表3所示, YOLO v4-MobileNet V1-3SPP模型的平均F1值和mAP均高于YOLO v4-MobileNet V1模型,而改進YOLO v4-MobileNet V1模型的平均F1值高于YOLO v4-MobileNet V1-3SPP模型1.13個百分點,高于YOLO v4-MobileNet V1模型1.99個百分點,其mAP高于YOLO v4-MobileNet V1-3SPP模型1.16個百分點,高于YOLO v4-MobileNet V1模型1.50個百分點。試驗說明增加過多最大池化層的模型效果并沒有優(yōu)于只有特征圖尺寸相同的最大池化層模型,因此增加SPP結(jié)構(gòu)可以使其通過最大池化層提取全局信息來增加特征圖的感受野,從而分離出最顯著的上下文特征,提升模型的特征提取能力。
圖11 SPP網(wǎng)絡(luò)結(jié)構(gòu)Fig.11 SPP network structure
表3 不同SPP結(jié)構(gòu)下模型的檢測結(jié)果Tab.3 Test results of models with different SPP structures
為了證明改進YOLO v4-MobileNet V1模型的性能,本文使用四通道(RGB+NIR)驗證集圖像對原始YOLO v4模型、YOLO v4-MobileNet V1模型、YOLO v4-MobileNet V1-3SPP模型、改進YOLO v4-MobileNet V1模型進行了驗證,對比分析了每種模型對玉米種子圖像的檢測結(jié)果、模型的準(zhǔn)確性、總參數(shù)量和檢測單幅圖像的耗時。在檢測結(jié)果中選取較稀疏排列的玉米種子和較密集排列的玉米種子(圖12),從圖中可以看出,改進YOLO v4-MobileNet V1模型可以準(zhǔn)確地定位每粒種子圖像各1幅,并且可以準(zhǔn)確地識別出單粒玉米種子品質(zhì)的好壞,并在不同種子密度條件下,模型都能達到較好的識別效果,圖像中種子稀疏與密集的擺放形式并不影響模型的性能。而YOLO v4-MobileNet V1-3SPP模型在較密集排列的玉米種子圖像中有3個籽粒沒有檢測出,說明SPP結(jié)構(gòu)中較多的最大池化層并沒有達到較好的效果。模型的性能如表4所示,其中改進YOLO v4-MobileNet V1模型的平均F1值和mAP最高,說明模型的準(zhǔn)確性最高,性能最強。由于MobileNet V1輕量級網(wǎng)絡(luò)代替了原始模型中的CSPDarkNet53網(wǎng)絡(luò),因此模型的總參數(shù)量變?yōu)樵瓉淼?0%,在模型檢測單幅圖像的時間上,由于網(wǎng)絡(luò)層數(shù)的減少,時間縮短了約0.5 s。最終改進YOLO v4-MobileNet V1在檢測10組RGB+NIR圖像中共消耗18.5 s,平均每檢測1粒玉米種子耗時0.088 s,達到實時檢測效果。
圖12 不同模型的玉米種子檢測結(jié)果Fig.12 Test results of corn seeds by different models
表4 模型的性能對比Tab.4 Performance comparison of models
(1)對比三通道(RGB)圖像和四通道(RGB+NIR)圖像的模型訓(xùn)練結(jié)果表明,四通道圖像的平均F1值和mAP較高,近紅外圖像包含可見光之外的特征信息,而不同品質(zhì)的種子特性會在不同的光譜波段范圍內(nèi)顯現(xiàn)出來,其四通道圖像所包含的信息量高于三通道圖像,因此將四通道圖像作為輸入。
(2)為了使模型的計算量和參數(shù)量減少,將YOLO v4主干網(wǎng)絡(luò)(CSPDarkNet53)替換為輕量級的MobileNet V1,同時對比了其他MobileNet模型,結(jié)果表明,MobileNet V1的性能最優(yōu),同時模型的總參數(shù)量變?yōu)樵寄P偷?0%,本研究在確保精度的前提下,大幅度減少了模型的總參數(shù)量。
(3)改進YOLO v4-MobileNet V1目標(biāo)檢測模型中由于增加了2個SPP結(jié)構(gòu),融合了特征圖的全局特征,更好地增加了卷積核的感受野,并提取出上下位的重要信息,因此模型的平均F1值和mAP分別達到93.09%和98.02%,平均每檢測1幅圖像耗時1.85 s,平均每檢測1粒玉米種子耗時0.088 s。