石洪康 李林波 祝明輝 陳義安 馬 勇* 張劍飛
(1.四川省農(nóng)業(yè)科學(xué)院蠶業(yè)研究所,四川 南充 637000;2.四川省農(nóng)業(yè)科學(xué)院特種經(jīng)濟(jì)動植物研究所,四川 南充 637000))
栽桑養(yǎng)蠶在我國具有悠久的歷史,奠定了舉世矚目的絲綢之路。養(yǎng)殖過程中,受病害、營蠶工具、氣候環(huán)境等因素的影響,家蠶結(jié)繭的質(zhì)量會有所不同。常見的蠶繭種類包括上車?yán)O、黃斑繭、柴印繭和畸形繭等??壗z前需要對蠶繭進(jìn)行分選,篩除劣質(zhì)繭,確??壗z的效率和生絲的質(zhì)量?,F(xiàn)有的蠶繭分選方法主要依賴于手工操作,效率較低,不利于蠶桑絲綢業(yè)的轉(zhuǎn)型發(fā)展。
近年來,研究人員將深度學(xué)習(xí)技術(shù)廣泛地應(yīng)用在蠶桑絲綢領(lǐng)域,取得了許多顯著的成果。石洪康等提出了基于卷積神經(jīng)網(wǎng)絡(luò)的家蠶品種[1-2]、常見病害[3-4]、生長階段[5]的識別方法,為智能化養(yǎng)殖裝備研發(fā)奠定基礎(chǔ)。吳建梅等[6]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的家蠶農(nóng)藥中毒識別模型。Guo 等[7]提出基于圖像修復(fù)技術(shù)的蠶蛹雌雄識別方法。于業(yè)達(dá)等[8]提出基于卷積神經(jīng)網(wǎng)絡(luò)的蠶蛹性別鑒定方法。張印輝等[9]提出基于目標(biāo)檢測的下車?yán)O檢測模型及系統(tǒng)。何銳敏等[10]研究了人工飼料養(yǎng)殖環(huán)境下的家蠶計數(shù)方法。任浩等[11]開發(fā)了基于深度學(xué)習(xí)的桑葉枝干檢測系統(tǒng)。本文聚焦于蠶繭的智能分選工作,根據(jù)不同蠶繭種類在視覺上的顯著區(qū)別,以常見的上車?yán)O、黃斑繭、畸形繭和柴印繭為識別對象,結(jié)合深度學(xué)習(xí)在視覺領(lǐng)域展現(xiàn)的優(yōu)異性能,提出基于深度學(xué)習(xí)的蠶繭種類識別方法,可為研發(fā)智能化的蠶繭分選裝備提供參考。
數(shù)據(jù)集對于深度學(xué)習(xí)模型的訓(xùn)練十分關(guān)鍵,為使訓(xùn)練的模型具有較強(qiáng)的識別能力,本文在實際環(huán)境下采集蠶繭圖像并制作出數(shù)據(jù)集。采集時間為2023 年9 月25 日,地點位于四川省南充市嘉陵區(qū)的養(yǎng)殖基地。采集圖像時,將蠶繭平鋪在傳送帶上,攝像頭固定在傳送帶上方,豎直向下進(jìn)行拍攝。采集的原始圖像如圖1 所示,每張圖像中的蠶繭數(shù)量約為10~20 粒,并同時包含多種類別的蠶繭。共采集圖像2000 張,約包含3.2 萬粒蠶繭。
圖1 采集的原始圖像(部分)
訓(xùn)練深度學(xué)習(xí)模型需預(yù)先對圖像進(jìn)行標(biāo)注,使用標(biāo)注工具LabelImg 在圖像中標(biāo)注出每粒蠶繭的類別,標(biāo)注界面如圖2 所示。使用每粒蠶繭在圖像中的外接矩形表示其位置,該位置信息可用于后續(xù)智能分選設(shè)備的目標(biāo)定位。標(biāo)注的蠶繭種類包括上車?yán)O、畸形繭、黃斑繭和柴印繭。標(biāo)注完成后,采用隨機(jī)挑選圖像的方式,數(shù)量按照6:2:2 的比例,將全部圖像劃分為訓(xùn)練集、驗證集和測試集。
圖2 數(shù)據(jù)標(biāo)注界面
常見的深度學(xué)習(xí)模型包括圖像分類、語義分割和目標(biāo)檢測等。為便于后續(xù)研發(fā)蠶繭智能分選設(shè)備時,提供不同種類蠶繭的位置和類別信息,本研究采用目標(biāo)檢測模型開展蠶繭種類分選。目標(biāo)檢測是圖像分類的延伸,不僅可以預(yù)測出每個對象在圖中的位置,還可以識別出每個對象的類別。在自動駕駛、智能導(dǎo)航和工業(yè)檢測等領(lǐng)域廣泛應(yīng)用。按照檢測流程,目標(biāo)檢測網(wǎng)絡(luò)可以分為單步檢測和雙步檢測。以往通常認(rèn)為單步檢測的效率更高,而雙步檢測在精度上的優(yōu)勢更加明顯。但隨著研究人員不斷地努力,單步檢測網(wǎng)絡(luò)的檢測精度已能夠和雙步網(wǎng)絡(luò)相媲美??紤]到在實際環(huán)境下,蠶繭分選的工作量較大,分選效率十分關(guān)鍵,因此,本文采用單步檢測模型開展蠶繭分選研究。
選擇的具體模型是YOLO 系列網(wǎng)絡(luò)[12],是單步檢測原理中的代表性方法。它將目標(biāo)檢測任務(wù)轉(zhuǎn)換成回歸預(yù)測,依賴純卷積運(yùn)算完成圖像特征提取,具備端到端的識別能力,并能夠同時兼顧精度和效率,自發(fā)布起就廣泛受到研究人員的青睞。本研究采用YOLO v5 訓(xùn)練識別模型,其結(jié)構(gòu)如圖3 所示,結(jié)構(gòu)上主要包括CSPNet 主干網(wǎng)絡(luò),PANet 特征融合網(wǎng)絡(luò),以及3 個維度的檢測頭(YOLO head)。
圖3 YOLO v5 的網(wǎng)絡(luò)結(jié)構(gòu)圖
圖3 中,“Focus” 代表對圖像進(jìn)行間隔像素取樣,“CBL”代表依次進(jìn)行卷積、歸一化和激活,“CSP”代表特征提取塊。“SPP”代表SPP 模塊,“Ups” 代表上采樣,“Concat” 代表特征拼接,“Conv”代表1×1 的卷積運(yùn)算,“NMS”代表非極大值抑制?!?40×640×3”等代表圖像或特征圖的維度。
YOLO v5 的運(yùn)算流程是:對于尺寸為640×640 像素的輸入圖像,在主干網(wǎng)絡(luò)中,先使用Focus 運(yùn)算間隔取樣以豐富圖像語義信息,并使用順序堆疊的“CBL”和“CSP”提取圖像特征,其中“CBL”還起到下采樣的作用。在主干網(wǎng)絡(luò)最后一次“CBL”和“CSP”模塊之間嵌入了“SPP”模塊,主要用于增加網(wǎng)絡(luò)的感受野。經(jīng)過主干網(wǎng)絡(luò)的計算后,會得到維度分別為80×80、40×40 和20×20的3 個有效特征層,并將其作為特征融合網(wǎng)絡(luò)“PANet”的輸入,在融合網(wǎng)絡(luò)中進(jìn)行一系列的上采樣和下采樣運(yùn)算實現(xiàn)不同分辨率特征圖的融合,以此增強(qiáng)網(wǎng)絡(luò)的表達(dá)能力。經(jīng)過“PANet”運(yùn)算后的特征,在“YOLO head”中分別使用1 次1×1的卷積運(yùn)算后可輸出網(wǎng)絡(luò)的識別結(jié)果。對預(yù)測結(jié)構(gòu)進(jìn)行置信度篩選和“NMS”非極大值抑制后可得到最終的預(yù)測結(jié)果。
試驗的硬件設(shè)備為DELL Precision 5820 工作站,處理器為酷睿i7-9800X,顯卡是RTX 2080Ti,具有11G 顯存,運(yùn)算平臺為CUDA-10.0。操作系統(tǒng)為Windows10 64 位專業(yè)版。編程語言為Python3.7,程序開發(fā)環(huán)境為VS Code,深度學(xué)習(xí)框架為Pytorch。網(wǎng)絡(luò)訓(xùn)練的超參數(shù)包括:最小批量化為8,迭代次數(shù)為300 次,邊界框回歸損失函數(shù)為GIoU,優(yōu)化器為Adam,初始學(xué)習(xí)率為0.001,并使用余弦下降動態(tài)調(diào)整學(xué)習(xí)率。使用訓(xùn)練集和驗證集訓(xùn)練模型,訓(xùn)練完成后,使用在驗證集上達(dá)到最佳效果的權(quán)重進(jìn)行測試。使用Recall、Precision、F1-score、AP 和mAP 作為評價指標(biāo),其計算公式分別為:
其中,TP (True Positives) 代表蠶繭被檢測為正樣本,且檢測結(jié)果正確,F(xiàn)P (False Positives)蠶繭被檢測為正樣本,但其實際為負(fù)樣本,即背景。FN (False Negatives) 代表檢測結(jié)果為負(fù)樣本(背景),但其實際為正樣本(蠶繭)。AP 是Precision 和Recall 圍成的區(qū)域面積,mAP 是AP的平均值。
為查看模型的收斂效果,將訓(xùn)練時每次迭代的損失值和每10 次迭代的mAP 值記錄,結(jié)果如圖4 所示。從中可得,在訓(xùn)練剛開始時,網(wǎng)絡(luò)在訓(xùn)練集上的損失值較大,在驗證集上的識別精度較低。隨著訓(xùn)練不斷地深入,網(wǎng)絡(luò)逐漸趨于穩(wěn)定,且在150 次迭代后,損失值和mAP 值趨向于平穩(wěn),表明模型達(dá)到穩(wěn)定狀態(tài)。
圖4 訓(xùn)練過程中每次迭代的損失值和每十次迭代的mAP 值
表1 是訓(xùn)練模型在測試集上的識別結(jié)果,從中可得,黃斑繭和上車?yán)O的識別結(jié)果較佳,Recall達(dá)到87.77% 和82.77%,Precision 為81.25% 和79.30% ,F(xiàn)1 -score 為0.84 和0.81,AP 達(dá) 到89.61%和86.84%。而畸形繭和柴印繭的識別結(jié)果較低,其Recall 值較低,表明大量的背景被識別成該兩類蠶繭,Precision 值較低,表明這兩類蠶繭被遺漏或被識別成其他類別。這兩個值較低也造成了其F1-score 和AP 值偏低。
Table 2 Comparison results with YOLO v5 networks
造成識別結(jié)果差異較大的原因可能在于:首先,上車?yán)O和黃斑繭的視覺特征較為明顯,而畸形繭和柴印繭的特征可能僅在蠶繭的局部位置,提供的有用信息較為微觀,在同等條件下模型無法學(xué)習(xí)到足夠的特征。其次,在本研究構(gòu)建的數(shù)據(jù)集時,柴印繭和畸形繭的樣本數(shù)量較少,這也與實際情況相符,類別數(shù)量失衡導(dǎo)致模型無法形成較強(qiáng)的鑒別能力。因此,在后續(xù)的研究中,應(yīng)當(dāng)著重關(guān)注畸形繭、柴印繭、薄皮繭等依賴局部特征判別的種類,以及當(dāng)數(shù)據(jù)集中樣本數(shù)量差距較大時的識別問題。
圖5 列舉了4 張識別效果示意圖,從中可以看出,訓(xùn)練的YOLO v5 模型能夠?qū)πQ繭實現(xiàn)準(zhǔn)確定位,提供的位置信息可為智能化的分選裝備提供參考。同時,識別模型還需要進(jìn)一步提升分類的準(zhǔn)確度,以便能更好地應(yīng)用于實際場景。
圖5 識別效果示意
本研究提出一種基于深度學(xué)習(xí)的蠶繭種類識別方法,在實際環(huán)境下采集蠶繭圖像,并對圖像進(jìn)行標(biāo)注,類別包括上車?yán)O、黃斑繭、畸形繭和柴印繭。采用單步檢測原理中的代表算法YOLO v5 開展了識別試驗,結(jié)果表明:深度學(xué)習(xí)技術(shù)可以準(zhǔn)確對蠶繭圖像進(jìn)行定位,上車?yán)O和黃斑繭的識別精度較高,畸形繭和柴印繭的識別精度較低。
結(jié)合試驗結(jié)果,在后續(xù)的工作中計劃著重于聚焦畸形繭和柴印繭的識別研究,進(jìn)一步采用局部和細(xì)粒度特征開展識別,并增加數(shù)據(jù)集中蠶繭的種類,將薄皮繭、死蛹繭等納入識別范圍。同時,考慮類別不均衡條件下的蠶繭類別的識別問題,以及蠶繭背部特征不可見的問題。以便于訓(xùn)練出適應(yīng)能力強(qiáng)的識別模型,推進(jìn)智能化蠶繭分選裝備的研發(fā)工作。