張印輝 楊宏寬 朱守業(yè) 何自芬
(昆明理工大學(xué)機(jī)電工程學(xué)院,昆明 650500)
蠶繭是蠶桑生產(chǎn)最主要的產(chǎn)物,其通過商品市場流通成為絲綢工業(yè)的原料[1]。蠶繭主要分為“上車?yán)O”和“下繭”兩類,其中“上車?yán)O”指能夠上繅絲機(jī)繅正品生絲的繭,“下繭”指有嚴(yán)重疵點(diǎn)、不能或很難繅正品生絲的繭[2]。將原料繭加工成絞裝生絲需經(jīng)過混繭、剝繭、選繭、煮繭、繅絲、復(fù)搖、整理等工藝流程[3-4]。在進(jìn)行繅絲工藝前需要選繭,將下繭剔除,以保證繭絲的品質(zhì),提升絲制品的經(jīng)濟(jì)效益。選繭時(shí)以人工選繭為主,勞動(dòng)強(qiáng)度大,容易產(chǎn)生誤判,漏選率高,選繭效率低下[5]。
近年來,隨著科學(xué)技術(shù)的發(fā)展,圖像處理技術(shù)逐步被應(yīng)用到蠶繭檢測研究中。國內(nèi)外利用數(shù)字圖像處理技術(shù)對(duì)蠶繭檢測開展了一定的研究工作[6-8],具有重要的參考價(jià)值。但是沒有針對(duì)選繭時(shí)多類下繭檢測的研究,且方法復(fù)雜,實(shí)施難度比較大,難以應(yīng)用到工業(yè)生產(chǎn)上。
隨著深度學(xué)習(xí)的目標(biāo)檢測模型越來越成熟,通過深度學(xué)習(xí)解決目標(biāo)分類檢測問題的效果越來越好,應(yīng)用領(lǐng)域也越來越廣。目標(biāo)檢測模型大致分為2類,即Two-stage和One-stage檢測模型。Two-stage模型有R-CNN[9]、Fast R-CNN[10]、Faster R-CNN[11]。One-stage模型有SSD[12]、YOLO系列[13-16]。Two-stage模型結(jié)構(gòu)復(fù)雜,計(jì)算參數(shù)較多,實(shí)時(shí)檢測性能較差;One-stage模型具有較好的檢測速度,更適合應(yīng)用在工業(yè)上進(jìn)行實(shí)時(shí)檢測。
基于以上分析,本文采用線陣掃描相機(jī)為圖像傳感器,以成像的景深計(jì)算為基礎(chǔ)來選擇合適的拍攝距離,通過成像時(shí)采樣頻率的計(jì)算進(jìn)一步配置圖像采集系統(tǒng)的參數(shù),從而搭建圖像采集系統(tǒng)。以黃斑繭、癟繭、薄皮繭、特小繭為檢測對(duì)象,采集線陣圖像后合成面陣圖像構(gòu)建下繭檢測數(shù)據(jù)集。并以YOLO v4目標(biāo)檢測模型為基礎(chǔ)模型,通過候選框參數(shù)預(yù)置提升模型的精度;采用模型深度調(diào)控的方法來壓縮模型,降低模型權(quán)重所占儲(chǔ)存空間,提升模型速度;設(shè)計(jì)輕量級(jí)卷積模塊構(gòu)建模型的特征提取網(wǎng)絡(luò),進(jìn)一步提升模型的檢測速度。
考慮到下繭檢測的工業(yè)應(yīng)用背景,本文的圖像采集系統(tǒng)搭建在暗室中,選擇傳送帶背景下使用線陣掃描相機(jī)拍攝的方式獲取圖像,建立下繭檢測數(shù)據(jù)集。圖像采集系統(tǒng)主要分為線陣掃描相機(jī)、鏡頭、光源、傳送帶、計(jì)算機(jī)等部分,處理過程如圖1所示。
圖1 圖像采集系統(tǒng)處理過程Fig.1 Construction process of image acquisition system
圖像采集系統(tǒng)拍攝視野與拍攝距離密切相關(guān),合理的物距設(shè)置是獲取清晰圖像的關(guān)鍵。如圖2所示,根據(jù)成像的三角形相似原理,CCD邊長s和視野寬度S以及焦距f和物距D之間呈三角形相似關(guān)系[17],則有關(guān)系式
圖2 圖像采集系統(tǒng)成像原理圖Fig.2 Imaging schematic of image acquisition system
(1)
可得拍攝時(shí)的物距D計(jì)算式為
(2)
在理想狀態(tài)下,光線穿過圖像采集系統(tǒng)鏡頭后會(huì)聚集在焦點(diǎn)上,但實(shí)際應(yīng)用上,由于光的波動(dòng)性,成像時(shí)在焦點(diǎn)的前后光線會(huì)聚集和擴(kuò)散,導(dǎo)致物體的影像變得模糊,形成擴(kuò)大的彌散圓[18]。成像時(shí)只有光線聚集在2個(gè)彌散圓之間才能得到清晰的圖像??紤]到傳送帶會(huì)有輕微振動(dòng),故使傳送帶設(shè)置在成像的景深范圍內(nèi)尤為重要。如圖2所示,將成像端的2個(gè)彌散圓位置對(duì)應(yīng)到實(shí)物端可得到景深遠(yuǎn)界和景深近界,兩者之間的距離即為景深ΔL,其計(jì)算公式[17]為
(3)
式中F——鏡頭光圈值
d——彌散圓直徑L——拍攝距離
經(jīng)過綜合考慮成本及成像質(zhì)量后,采用三線高速彩色線陣掃描相機(jī),型號(hào)為PC-30-04K80-00-R,CCD邊長s(像素)為4 096像素,像元尺寸b×b為10 μm×10 μm,則CCD邊長s為40.96 mm;高精度檢測用鏡頭,型號(hào)為PENTAX-YF3528L,焦距f為35 mm,光圈值F為2.6 mm;傳送帶寬度為600 mm,即視野寬度S為600 mm。根據(jù)圖1所示步驟搭建圖像采集系統(tǒng),相應(yīng)計(jì)算如下:
(1)由式(2)計(jì)算圖像采集系統(tǒng)的拍攝物距D為
(2)在機(jī)器視覺檢測系統(tǒng)中,彌散圓直徑d小于0.035 mm則認(rèn)為所成圖像為清晰圖像[17],由式(3)計(jì)算圖像采集系統(tǒng)的拍攝景深ΔL為
搭建圖像采集系統(tǒng)時(shí),因拍攝景深ΔL為44.64 mm,比較大,對(duì)物距D進(jìn)行圓整,取為500 mm,即可保證傳送帶表面處于清晰成像的景深范圍內(nèi)。
(3)采集圖像時(shí)使用的相機(jī)為線陣掃描相機(jī),取像時(shí)為符合YOLO v4目標(biāo)檢測模型輸入圖像高寬比為1∶1的要求,需將相機(jī)取像的高度像素設(shè)置為4 096像素,即4 096幀。
(4)
化簡得
(5)
取像時(shí)采樣頻率q為
經(jīng)過以上計(jì)算分析,圖像采集系統(tǒng)物距D設(shè)為500 mm,寬高像素均設(shè)為4 096幀,采樣頻率q設(shè)為1 024 Hz,即可保證得到清晰的圖像,圖像采集系統(tǒng)實(shí)物如圖3所示。
圖3 圖像采集系統(tǒng)Fig.3 Image acquisition system1.線陣掃描相機(jī) 2.計(jì)算機(jī) 3.光源 4.傳送帶
圖像采集時(shí)以黃斑繭、癟繭、薄皮繭、特小繭4類下繭為檢測對(duì)象,采用不同數(shù)量分布、不同數(shù)量類別的方式拍攝,以保證得到的圖像符合選繭時(shí)的實(shí)際情況。共采集圖像556幅,采用OpenCV計(jì)算機(jī)視覺庫將圖像處理成416像素×416像素后,使用LabelImg標(biāo)注工具對(duì)訓(xùn)練集和測試集中的圖像進(jìn)行標(biāo)注。標(biāo)注好的數(shù)據(jù)集中包含黃斑繭320個(gè)、癟繭258個(gè)、薄皮繭276個(gè)、特小繭248個(gè),并通過對(duì)角線鏡像的方式將數(shù)據(jù)集中的圖像和標(biāo)簽擴(kuò)充1倍,得到圖像1 112幅,黃斑繭640個(gè)、癟繭516個(gè)、薄皮繭552個(gè)、特小繭496個(gè),按照比例3∶1隨機(jī)將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,即834幅用于訓(xùn)練,278幅用于測試。
YOLO v4目標(biāo)檢測模型是YOLO v3目標(biāo)檢測模型的改進(jìn)版,相較于YOLO v3目標(biāo)檢測模型,其使用CSPDarknet53作為特征提取網(wǎng)絡(luò),引入mosaic數(shù)據(jù)增強(qiáng)對(duì)數(shù)據(jù)進(jìn)行處理,使用路徑聚合網(wǎng)絡(luò)(Path aggregation network,PANet)進(jìn)行多尺度特征融合,并使用多種訓(xùn)練技巧,對(duì)損失函數(shù)與激活函數(shù)進(jìn)行優(yōu)化,這些方式使得YOLO v4的檢測速度更快,實(shí)現(xiàn)速度和精度的最佳平衡[19-21]。YOLO v4主要由CSP(Center and scale prediction)殘差模塊、CBM(Convolution,batch normalization and mish)模塊、CBL(Convolution,batch normalization and Leaky-ReLU)模塊、SPP(Spatial pyramid pooling)模塊組成。
YOLO v4模型經(jīng)過特征提取網(wǎng)絡(luò)提取特征,多尺度特征融合后輸出3個(gè)尺度的特征圖,且每個(gè)尺度都有相同數(shù)量的候選框?qū)δ繕?biāo)進(jìn)行預(yù)測。原YOLO v4基礎(chǔ)模型的9個(gè)候選框是對(duì)VOC數(shù)據(jù)集聚類得到,具體尺寸(像素)為:(12,16)、(19,36)、(40,28)、(36,75)、(76,55)、(72,146)、(142,110)、(192,243)、(459,401)。可以看出因該數(shù)據(jù)集中目標(biāo)之間差距較大,導(dǎo)致得到的候選框尺寸差距比較大。本文的檢測對(duì)象為蠶繭,目標(biāo)較小,使用原YOLO v4基礎(chǔ)模型的候選框會(huì)影響模型的性能,因此需采用K-means算法對(duì)下繭檢測數(shù)據(jù)集進(jìn)行聚類分析,得到適用于下繭檢測的候選框參數(shù)。分別選擇候選框數(shù)量為3、6、9、12的聚類中心進(jìn)行聚類分析,對(duì)靠近聚類中心的候選框參數(shù)進(jìn)行歸類,與聚類中心距離越小則表明與聚類中心相似性越高,可歸為一類。通過迭代的方法逐次更新聚類中心的候選框參數(shù)值,直到得到最好的聚類結(jié)果。采用K-means算法聚類分析得到的候選框參數(shù)如表1所示。
表1 不同候選框參數(shù)Tab.1 Different anchor parameters
2.3.1模型稀疏化原理
在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,后面的神經(jīng)網(wǎng)絡(luò)層經(jīng)過反向傳播改變前層的網(wǎng)絡(luò)權(quán)值,過程中容易產(chǎn)生梯度爆炸或梯度消失問題。為解決這個(gè)問題,批量正則化(Batch normalization,BN)層[22]被用于卷積層和線性層之后對(duì)特征圖進(jìn)行歸一化處理,YOLO v4模型中BN層處理流程為:
(1)計(jì)算BN層前卷積層的卷積結(jié)果xconv。
(6)
式中xm——卷積層第m個(gè)通道輸出結(jié)果
wm——卷積層第m個(gè)輸出通道的權(quán)值
(2)計(jì)算BN層輸出結(jié)果xout。
(7)
式中γ——BN層的gamma系數(shù)
β——BN層的beta項(xiàng)
μ——xm均值σ2——xm方差
γ和β均為需要神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的參數(shù)。
將式(6)代入式(7)即得到BN層的計(jì)算公式
(8)
BN層中γ和β是神經(jīng)網(wǎng)絡(luò)模型通道層面的參數(shù),每個(gè)通道上的特征圖是由該卷積層的卷積核計(jì)算得到,特征圖與卷積核一一對(duì)應(yīng),互不干擾,故可以用γ來衡量當(dāng)前通道的重要程度,模型稀疏化就是對(duì)γ參數(shù)進(jìn)行L1正則化的稀疏方法,引入L1正則化后得到模型的稀疏化訓(xùn)練損失函數(shù)Lxishu[23]為
(9)
φ(x,W)——模型輸入x在經(jīng)過卷積神經(jīng)網(wǎng)絡(luò)權(quán)值W計(jì)算后的預(yù)測結(jié)果
y——模型輸出的真實(shí)值
λ——稀疏化(正則化)因子,λ決定進(jìn)行稀疏化的強(qiáng)弱程度
2.3.2模型深度調(diào)控
卷積神經(jīng)網(wǎng)絡(luò)模型的部署要求模型有較好的推理性能,模型所需算力越小、準(zhǔn)確度越高,在工程上的實(shí)際應(yīng)用意義就越大。結(jié)合本文下繭檢測的工業(yè)應(yīng)用背景,需對(duì)模型進(jìn)行壓縮以提高模型的推理速度。模型壓縮是一個(gè)取其精華棄其糟粕的過程,伴隨著壓縮量的增加,模型的精度會(huì)下降,必要時(shí)需對(duì)壓縮后的模型進(jìn)行微調(diào)使其恢復(fù)一定的精度,本文采用模型深度調(diào)控方法對(duì)模型進(jìn)行壓縮。
模型推理時(shí),是由淺層到深層逐層進(jìn)行計(jì)算的,深度方向上的計(jì)算嚴(yán)重影響模型的性能。原YOLO v4基礎(chǔ)模型的特征提取網(wǎng)絡(luò)CSPDarknet53主要由CSP殘差模塊組成,且分為5組特征圖尺寸相同的CSP殘差模塊,其中5組CSP殘差模塊的級(jí)聯(lián)次數(shù)分別為1、2、8、8、4,共23個(gè)CSP殘差模塊,根據(jù)其在模型中的位置從前往后序列號(hào)分別定為1、2、…、22、23。每組CSP殘差模塊在進(jìn)行目標(biāo)預(yù)測時(shí),可能有一個(gè)或者多個(gè)CSP殘差模塊對(duì)最終特征圖的預(yù)測貢獻(xiàn)程度比較小。故將其中貢獻(xiàn)度較小的一個(gè)或多個(gè)CSP殘差模塊調(diào)控刪除并不影響模型在維度上的推理。
綜上所述,以稀疏化訓(xùn)練后CSP殘差模塊中第1個(gè)卷積層的γ參數(shù)的均值為該殘差模塊重要程度的判別指標(biāo),依據(jù)γ參數(shù)的均值將CSP殘差模塊進(jìn)行排序。圖4為模型深度調(diào)控順序示意圖,圖中從上到下的CSP殘差模塊對(duì)最終特征圖的預(yù)測貢獻(xiàn)程度逐漸增大,即調(diào)控刪除CSP殘差模塊時(shí)按圖中序列號(hào)從上往下選擇。
圖4 模型深度調(diào)控順序示意圖Fig.4 Schematic of model depth manipulation sequence
模型深度調(diào)控時(shí),通過設(shè)定調(diào)控刪除CSP殘差模塊的個(gè)數(shù)進(jìn)行深度調(diào)控,調(diào)控刪除1個(gè)CSP殘差模塊對(duì)應(yīng)調(diào)控刪除模型的3個(gè)層。模型深度調(diào)控時(shí)太多的CSP殘差模塊被調(diào)控刪除會(huì)導(dǎo)致模型精度的過多丟失,故實(shí)驗(yàn)時(shí)設(shè)定調(diào)控刪除的CSP殘差模塊的個(gè)數(shù)分別為3、6、9、12、15,表2為調(diào)控刪除CSP殘差模塊數(shù)量與對(duì)應(yīng)調(diào)控刪除層的層序列號(hào)的關(guān)系表。
表2 調(diào)控刪除CSP殘差模塊數(shù)量與對(duì)應(yīng)調(diào)控刪除層Tab.2 Controlled and deleted number of CSP residual modules and corresponding controlled and deleted layers
為使模型具有較少的推理計(jì)算量,加快模型的運(yùn)行速度,近年來越來越多的輕量級(jí)網(wǎng)絡(luò)架構(gòu)相繼被運(yùn)用在目標(biāo)檢測模型中,如:分組卷積[24]、深度可分離卷積[25]、通道混洗[26]和Ghost卷積模塊[27]等。其中,Ghost卷積模塊的思想是:卷積神經(jīng)網(wǎng)絡(luò)由大量的卷積層組成,而卷積計(jì)算的過程當(dāng)中會(huì)存在大量的冗余特征圖,但生成大量冗余特征圖的計(jì)算開銷都是沒有必要的,于是從特征圖冗余的角度出發(fā),提出針對(duì)部分冗余特征圖可采用更為廉價(jià)的操作來生成,其主要的貢獻(xiàn)是采用計(jì)算量更少、更加簡單的Ghost卷積模塊代替部分標(biāo)準(zhǔn)卷積生成特征圖,從而減少卷積神經(jīng)網(wǎng)絡(luò)模型的計(jì)算量。
結(jié)合下繭檢測的實(shí)時(shí)性與準(zhǔn)確性要求,為進(jìn)一步提高模型的推理速度,選擇Ghost卷積模塊構(gòu)建的輕量級(jí)卷積模塊替換模型深度調(diào)控后的特征提取網(wǎng)絡(luò)中剩余的CSP殘差模塊,以減少特征提取時(shí)的計(jì)算量。標(biāo)準(zhǔn)卷積和Ghost卷積產(chǎn)生特征圖的過程如圖5所示。
圖5 不同卷積產(chǎn)生特征圖的方式Fig.5 Ways of generating feature map by different convolutions
參照GhostNet[25]中的G-bneck模塊,根據(jù)卷積核的移動(dòng)步長(Stride)不同,本文設(shè)計(jì)2種輕量級(jí)卷積模塊,輕量級(jí)卷積模塊1(Stride為1)和輕量級(jí)卷積模塊2(Stride為2)。輕量級(jí)卷積模塊1用于增加特征圖的通道數(shù),結(jié)構(gòu)上與ResNet[28]的基本殘差塊類似,由2個(gè)堆疊的Ghost卷積模塊組成,使用跳躍連接輸入和輸出。輕量級(jí)卷積模塊2用于減少通道數(shù),在2個(gè)堆疊的Ghost卷積模塊中間使用深度可分離卷積,同樣使用跳躍連接輸入和輸出,具體結(jié)構(gòu)如圖6所示。
圖6 輕量級(jí)卷積模塊結(jié)構(gòu)Fig.6 Lightweight convolution module structure
在2.3.2節(jié)對(duì)模型進(jìn)行深度調(diào)控后,模型還剩8個(gè)CSP殘差模塊,故交替使用4次輕量級(jí)卷積模塊1和輕量級(jí)卷積模塊2重新構(gòu)建模型的特征提取網(wǎng)絡(luò),并以第2次、第3次和第4次使用輕量級(jí)卷積模塊2后的輸出為PANet多尺度特征融合網(wǎng)絡(luò)的輸入,使用輕量級(jí)卷積模塊重新構(gòu)建的輕量級(jí)特征提取網(wǎng)絡(luò)與原YOLO v4基礎(chǔ)模型使用的CSPDarknet53特征提取網(wǎng)絡(luò)結(jié)構(gòu)(×1、×2、×4和×8分別代表1個(gè)、2個(gè)、4個(gè)和8個(gè)相同的級(jí)聯(lián)結(jié)構(gòu))對(duì)比如圖7所示。
圖7 CSPDarknet53和新構(gòu)建的輕量級(jí)特征提取網(wǎng)絡(luò)結(jié)構(gòu)Fig.7 CSPDarknet53 and new lightweight feature extraction network architecture
使用輕量級(jí)特征提取網(wǎng)絡(luò)后的輕型調(diào)控網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示,改進(jìn)后的模型采用新構(gòu)建的輕量級(jí)特征提取網(wǎng)絡(luò)提取特征,使用PANet多尺度特征融合網(wǎng)絡(luò)將3個(gè)不同尺度特征層的特征圖融合,使輸出的特征圖具有充分的上下文特征,最后3個(gè)尺度輸出的特征圖用非極大值抑制的方法輸出檢測結(jié)果。因該模型的檢測對(duì)象是下繭,故記為ICNet(Inferior cocoons net)。
圖8 ICNet模型結(jié)構(gòu)Fig.8 ICNet model structure
本文實(shí)驗(yàn)平臺(tái)為Ubuntu 16.04操作系統(tǒng),內(nèi)存8 GB,CPU為Intel(R)Core(TM)i5-10400F,GPU為NVIDIA GTX1660 SUPER的臺(tái)式計(jì)算機(jī)。深度學(xué)習(xí)框架為Pytorch 1.5,采用CUDA 9.2和cuDNN 7.4.5加速工具包加速模型訓(xùn)練。
實(shí)驗(yàn)基于Pytorch深度學(xué)習(xí)框架,使用YOLO v4為基礎(chǔ)模型,訓(xùn)練時(shí)共迭代500輪(epoch),即將訓(xùn)練集中的所有樣本訓(xùn)練500次。批尺寸選擇時(shí)越大越好,受限于實(shí)驗(yàn)平臺(tái)的計(jì)算能力,本文實(shí)驗(yàn)選擇為2。訓(xùn)練時(shí)每隔100個(gè)epoch輸出一個(gè)模型權(quán)重,共得到5個(gè)權(quán)重,然后計(jì)算每個(gè)模型權(quán)重的平均檢測精度,以平均檢測精度最高的為最佳模型權(quán)重。為保證本文相應(yīng)改進(jìn)的有效性,超參數(shù)選擇時(shí)除改進(jìn)調(diào)整的參數(shù)外其他超參數(shù)使用原YOLO v4基礎(chǔ)模型的超參數(shù)。
本文目的在于實(shí)時(shí)并準(zhǔn)確檢測出測試集中的目標(biāo),且避免誤檢。采用模型權(quán)重所占儲(chǔ)存空間、平均檢測速度和平均精度均值(Mean average precision,mAP)作為評(píng)價(jià)值指標(biāo),通過多指標(biāo)綜合評(píng)價(jià)模型性能。其中,mAP可以通過準(zhǔn)確率(P)、召回率(R)計(jì)算得出。
為選擇適用于下繭檢測數(shù)據(jù)集的候選框參數(shù),提高模型的魯棒性,分別采取2.2節(jié)得到的候選框參數(shù)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。從表3中可以看出,重新預(yù)置候選框參數(shù)后對(duì)于模型權(quán)重所占儲(chǔ)存空間沒有影響,所有的模型權(quán)重所占儲(chǔ)存空間都為245.00 MB。其中,當(dāng)候選框數(shù)量為3時(shí),相對(duì)于其他數(shù)量的候選框平均檢測速度最快,達(dá)到30.95幀/s,mAP最高,達(dá)到96.08%。結(jié)果表明,當(dāng)候選框數(shù)量為3時(shí),對(duì)于下繭檢測數(shù)據(jù)集來說檢測效果比較好。通過實(shí)驗(yàn)選擇候選框數(shù)量為3,候選框尺寸分別為(20,22)、(31,25)、(24,32),每個(gè)尺度上分配1個(gè)候選框?qū)δ繕?biāo)進(jìn)行預(yù)測,后續(xù)實(shí)驗(yàn)在本節(jié)實(shí)驗(yàn)的基礎(chǔ)上開展。
表3 不同數(shù)量候選框?qū)嶒?yàn)結(jié)果Tab.3 Experimental results of different numbers of anchor
對(duì)3.3節(jié)中經(jīng)過候選框參數(shù)預(yù)置后的模型進(jìn)行稀疏化訓(xùn)練后采用模型深度調(diào)控的方法對(duì)模型進(jìn)行深度方向的壓縮,調(diào)控刪除CSP殘差模塊后模型精度下降較多,故需對(duì)模型進(jìn)行微調(diào),且微調(diào)時(shí)采用100個(gè)epoch即可。實(shí)驗(yàn)結(jié)果如表4所示,增加調(diào)控刪除CSP殘差模塊數(shù)量能保證對(duì)模型的推理速度有一個(gè)較好的提升,模型的權(quán)重所占儲(chǔ)存空間也不斷減小,雖然微調(diào)后模型的mAP較候選框參數(shù)預(yù)置后的模型有輕微損失,但不影響模型整體性能,其mAP均在95.00%左右,有較好的準(zhǔn)確率。當(dāng)調(diào)控刪除CSP殘差模塊數(shù)量為15時(shí),模型權(quán)重所占儲(chǔ)存空間降至最小,為182.00 MB,平均檢測速度達(dá)到最高,為35.68幀/s,微調(diào)后模型的mAP達(dá)到94.53%,說明當(dāng)調(diào)控刪除CSP殘差模塊數(shù)量為15時(shí)模型的檢測性能較好,故通過實(shí)驗(yàn)選擇調(diào)控刪除CSP殘差模塊數(shù)量為15(模塊序列號(hào)為:4、6、9、12、13、14、15、16、17、18、19、20、21、22、23),剩余CSP殘差模塊數(shù)量為8(模塊序列號(hào)為:1、2、3、5、7、8、10、11),后續(xù)實(shí)驗(yàn)在本節(jié)的基礎(chǔ)上開展。
表4 模型深度調(diào)控實(shí)驗(yàn)結(jié)果Tab.4 Experimental results of model depth manipulation
在3.4節(jié)模型深度調(diào)控的基礎(chǔ)上采用計(jì)算量較小的Ghost卷積模塊設(shè)計(jì)的輕量級(jí)卷積模塊替換剩余的8個(gè)CSP殘差模塊,得到ICNet下繭實(shí)時(shí)檢測模型。經(jīng)過重新訓(xùn)練后ICNet下繭實(shí)時(shí)檢測模型模型權(quán)重所占儲(chǔ)存空間為145.00 MB,平均檢測速度為49.37幀/s,mAP為95.55%。較3.4節(jié)進(jìn)行模型深度調(diào)控后的模型來說,ICNet下繭實(shí)時(shí)檢測模型的mAP提升1.02個(gè)百分點(diǎn),達(dá)到95.55%;模型權(quán)重所占儲(chǔ)存空間減小25.52%,降為145.00 MB;平均檢測速度提升38.37%,達(dá)到49.37幀/s。說明ICNet下繭實(shí)時(shí)檢測模型具有較好的整體性能,滿足下繭實(shí)時(shí)檢測的實(shí)際應(yīng)用需求。
為驗(yàn)證本文設(shè)計(jì)的ICNet下繭實(shí)時(shí)檢測模型對(duì)下繭檢測的優(yōu)越性,將ICNet模型與YOLO v3、YOLO v4及SSD模型做性能對(duì)比實(shí)驗(yàn)。為保證結(jié)果的有效性,實(shí)驗(yàn)均在3.1節(jié)介紹的實(shí)驗(yàn)平臺(tái)上開展,使用的訓(xùn)練集和測試集均為本文采集的下繭檢測數(shù)據(jù)集,實(shí)驗(yàn)結(jié)果如表5所示。從表5可以看出,與其他3種模型相比本文設(shè)計(jì)的ICNet下繭實(shí)時(shí)檢測模型的mAP最高,達(dá)到95.55%;平均檢測速度也為最高,達(dá)到49.37幀/s;模型權(quán)重所占儲(chǔ)存空間為145.00 MB,小于YOLO v3和YOLO v4,僅高于SSD模型。ICNet下繭實(shí)時(shí)檢測模型對(duì)不同類別下繭檢測的mAP如圖9所示,可以看出,ICNet下繭實(shí)時(shí)檢測模型對(duì)黃斑繭、癟繭、薄皮繭、特小繭檢測的mAP都為最高,分別為98.40%、93.00%、93.30%、97.50%,表明ICNet下繭實(shí)時(shí)檢測模型對(duì)于下繭檢測有較好的準(zhǔn)確性。綜上所述,綜合考慮模型權(quán)重所占儲(chǔ)存空間、平均檢測速度和mAP,本文設(shè)計(jì)的ICNet下繭實(shí)時(shí)檢測模型對(duì)下繭檢測效果更好,具有最好的整體魯棒性。
表5 不同模型性能對(duì)比實(shí)驗(yàn)結(jié)果Tab.5 Experimental results of performance comparison of different models
圖9 不同檢測模型對(duì)下繭檢測的mAPFig.9 mAP of different detection models for inferior cocoons detection
為充分說明ICNet下繭實(shí)時(shí)檢測模型對(duì)下繭檢測的效果,將YOLO v4基礎(chǔ)模型與ICNet下繭實(shí)時(shí)檢測模型在測試集中對(duì)下繭檢測情況進(jìn)行統(tǒng)計(jì),結(jié)果如表6所示,可以看出ICNet下繭實(shí)時(shí)檢測模型相對(duì)于YOLO v4基礎(chǔ)模型,對(duì)4類下繭整體的錯(cuò)檢率減小5.30個(gè)百分點(diǎn),漏檢率減小1.25個(gè)百分點(diǎn)。
表6 ICNet下繭實(shí)時(shí)檢測模型檢測結(jié)果Tab.6 Detection results of ICNet inferior cocoons real time detection model
為表明模型對(duì)不同蠶繭數(shù)量分布的檢測效果,將測試集中黃斑繭為檢測對(duì)象、不同蠶繭數(shù)量分布的檢測結(jié)果進(jìn)行可視化,如圖10所示,圖中從左到右蠶繭數(shù)量分布依次遞增,符合選繭時(shí)蠶繭數(shù)量分布不均勻的實(shí)際情況,從結(jié)果中可以看出在不同蠶繭數(shù)量分布的情況下ICNet下繭實(shí)時(shí)檢測模型都能將黃斑繭檢測出來,說明模型對(duì)于不同蠶繭數(shù)量分布具有一定的抗干擾能力。
圖10 不同蠶繭數(shù)量分布檢測效果Fig.10 Detection effects of different cocoons number distribution
ICNet下繭實(shí)時(shí)檢測模型對(duì)單類別與多類別下繭檢測效果可視化如圖11所示,圖11a分別為模型對(duì)單類別的黃斑繭、癟繭、薄皮繭、特小繭的檢測效果,圖11b為模型對(duì)多類別下繭共同分布的檢測效果,從圖中可以看出,在不同的場景下ICNet下繭實(shí)時(shí)檢測模型都能將下繭檢測出來,表明模型有較好的泛化能力,能完成不同場景下下繭的檢測任務(wù)。
圖11 ICNet下繭實(shí)時(shí)檢測模型檢測效果Fig.11 Detection effects of ICNet inferior cocoons detection model
(1)以線陣掃描相機(jī)為圖像傳感器,根據(jù)成像的景深選擇合適的拍攝距離和通過采樣頻率的計(jì)算合理配置圖像采集系統(tǒng)參數(shù),從而搭建出適用于下繭檢測的圖像采集系統(tǒng)。采集圖像時(shí)用計(jì)算機(jī)將線陣掃描相機(jī)獲取的線陣圖像合成面陣圖像構(gòu)建下繭檢測數(shù)據(jù)集。
(2)以YOLO v4目標(biāo)檢測模型為基礎(chǔ)模型,采集得到下繭檢測數(shù)據(jù)集為實(shí)驗(yàn)數(shù)據(jù),設(shè)計(jì)出基于輕型調(diào)控網(wǎng)絡(luò)的ICNet下繭實(shí)時(shí)檢測模型。該模型對(duì)下繭檢測數(shù)據(jù)集進(jìn)行K-means算法聚類分析預(yù)置候選框參數(shù)提升模型精度;采用模型深度調(diào)控的方法對(duì)模型進(jìn)行壓縮,減小模型權(quán)重所占儲(chǔ)存空間,提升模型速度;使用設(shè)計(jì)的輕量級(jí)卷積模塊替換模型深度調(diào)控后剩余的CSP殘差模塊,進(jìn)一步提升模型速度。
(3)對(duì)比YOLO v3、YOLO v4及SSD模型,ICNet下繭實(shí)時(shí)檢測模型具有較好的整體魯棒性。較YOLO v4基礎(chǔ)模型,mAP提升1.87個(gè)百分點(diǎn),達(dá)到95.55%,模型權(quán)重所占儲(chǔ)存空間壓縮40.82%,降為145.00 MB,平均檢測速度提升91.65%,達(dá)到49.37幀/s。
(4)ICNet下繭實(shí)時(shí)檢測模型能在保證模型權(quán)重較小的前提下,對(duì)不同場景中下繭的檢測都有較高的檢測速度和精度,適合在嵌入式開發(fā)設(shè)備中部署,滿足選繭時(shí)下繭檢測的實(shí)時(shí)性和準(zhǔn)確性的實(shí)際生產(chǎn)需求。