涂雪瀅,錢 程,劉世晶,2,劉 晃,2,李國(guó)棟,2
(1 中國(guó)水產(chǎn)科學(xué)研究院漁業(yè)機(jī)械儀器研究所,上海 200092;2 農(nóng)業(yè)農(nóng)村部漁業(yè)裝備與工程技術(shù)重點(diǎn)實(shí)驗(yàn)室,上海 200092)
大菱鲆(Psettamaxima),又名多寶魚,是原產(chǎn)于歐洲的一種優(yōu)良海水養(yǎng)殖魚類,于20世紀(jì)90年代初引入中國(guó),經(jīng)過(guò)養(yǎng)殖魚苗技術(shù)的突破性發(fā)展,大菱鲆已成為中國(guó)北方山東半島、河北和遼東半島等沿海地區(qū)的重要水產(chǎn)養(yǎng)殖品種之一[1-2]。目前,大部分水產(chǎn)育苗場(chǎng)采用稱重的方式對(duì)魚苗進(jìn)行粗略計(jì)數(shù),該方式誤差率較大,存在20%~30%的誤差,而人工分選計(jì)數(shù)的方式十分耗費(fèi)時(shí)間與人力,大菱鲆育苗場(chǎng)的熟練工平均每人每小時(shí)只能計(jì)數(shù)3 300多條魚苗,且該方法人為因素影響較大,效率極低[3]。因此,針對(duì)魚類育苗的產(chǎn)業(yè)發(fā)展需求,應(yīng)加強(qiáng)關(guān)鍵技術(shù)攻關(guān),攻克苗種識(shí)別、魚苗計(jì)數(shù)和孵化率計(jì)算技術(shù)難點(diǎn),研發(fā)魚苗識(shí)別與計(jì)數(shù)技術(shù)。
隨著水產(chǎn)養(yǎng)殖向機(jī)械化、自動(dòng)化和智能化的方向不斷發(fā)展進(jìn)步,魚苗計(jì)數(shù)的手段不再局限于傳統(tǒng)的人工計(jì)數(shù)方式[4]。目前國(guó)內(nèi)自動(dòng)化魚苗計(jì)數(shù)手段主要分為兩大類,一類是基于機(jī)械結(jié)構(gòu)和電子元器件輔助的魚苗分級(jí)計(jì)數(shù)裝置,楊雨辰[5]設(shè)計(jì)了一種基于點(diǎn)鈔機(jī)結(jié)構(gòu)原理和光線計(jì)數(shù)器的魚苗精確檢測(cè)計(jì)數(shù)與分級(jí)裝置;吳叢迪等[6]設(shè)計(jì)了一種基于分流、傳送、打包裝置和紅外計(jì)數(shù)器的全自動(dòng)點(diǎn)苗分裝器。此類方法需要魚苗的種類規(guī)格與機(jī)械結(jié)構(gòu)有較高的匹配度,且由于存在聚集魚苗分離、魚苗長(zhǎng)距離滑動(dòng)等采樣過(guò)程,容易對(duì)魚苗造成一定損傷;此外,電子技術(shù)原理需要計(jì)數(shù)對(duì)象滿足光線反射特性,而剛孵化大菱鲆魚苗由于其個(gè)體微小、身體透光性強(qiáng)等特點(diǎn),導(dǎo)致上述技術(shù)不能滿足微小魚苗自動(dòng)無(wú)損技術(shù)要求。另一類是基于計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)技術(shù)的魚苗識(shí)別計(jì)數(shù)系統(tǒng),該系統(tǒng)主要利用相機(jī)等視覺采樣裝置,通過(guò)目標(biāo)識(shí)別以及數(shù)量統(tǒng)計(jì)模型實(shí)現(xiàn)苗種計(jì)數(shù)。例如,朱從容[7]利用相機(jī)從上方采集背景已知魚苗全景圖像,通過(guò)背景差分實(shí)現(xiàn)魚苗的像素點(diǎn)提取,并構(gòu)建魚苗像素點(diǎn)與魚苗數(shù)量之間的線性關(guān)系,得到魚苗數(shù)量,適用于魚苗圖像紋理清晰、前景和背景差異較大的工作場(chǎng)景;王文靜等[8]通過(guò)結(jié)合水流流速和拍攝速度,采集魚道出口處的魚苗圖像,通過(guò)閾值法計(jì)算樣本中魚苗數(shù)量,取得了較好的計(jì)數(shù)精度。該方法對(duì)魚苗聚集度、個(gè)體大小和身體透光性具有較高要求,無(wú)法滿足微小目標(biāo)計(jì)數(shù)需要;王碩等[9]對(duì)魚苗輪廓進(jìn)行曲線演化,通過(guò)統(tǒng)計(jì)最大輪廓曲線數(shù)來(lái)計(jì)算魚苗數(shù)量,適用于較大個(gè)體大菱鲆苗種。由于剛孵化大菱鲆魚苗個(gè)體微小、透光性強(qiáng)且孵化池背景成像受外部影響較大,基于背景去除或輪廓提取的方法很難直接應(yīng)用到變工況場(chǎng)景,因此傳統(tǒng)的適用于魚體個(gè)體和背景差異較大以及魚體輪廓較易獲取的計(jì)數(shù)方法不能滿足剛孵化大菱鲆魚苗計(jì)數(shù)需要。
本研究提出了一種基于深度殘差網(wǎng)絡(luò)(Deep Residual Network,ResNet)[10]的大菱鲆魚苗識(shí)別計(jì)數(shù)方法。首先,針對(duì)微小目標(biāo)成像特征不明顯的問(wèn)題,設(shè)計(jì)了一套由相機(jī)、光源、承裝容器等組成魚苗采樣裝置,通過(guò)調(diào)整相機(jī)和光源位置,實(shí)現(xiàn)魚苗圖像的有效獲取。為了提升算法識(shí)別精度,降低背景干擾,采用背景差分、高斯濾波、全局灰度線性變換以及形態(tài)學(xué)處理等方法實(shí)現(xiàn)魚苗前景分割和初步定位,并利用最小外接矩規(guī)則化初步定位信息形成待識(shí)別目標(biāo),然后利用ResNet34模型作為識(shí)別模型實(shí)現(xiàn)大菱鲆苗種識(shí)別和目標(biāo)區(qū)域數(shù)量統(tǒng)計(jì),并統(tǒng)計(jì)所有待識(shí)別目標(biāo)識(shí)別結(jié)果實(shí)現(xiàn)大菱鲆苗種計(jì)數(shù)。最后,通過(guò)不同方法比較分析驗(yàn)證本方法的有效性。
設(shè)計(jì)了如圖1所示的試驗(yàn)裝置。
圖1 試驗(yàn)裝置
該裝置由不銹鋼黑箱、置物抽屜、可調(diào)節(jié)光源和工業(yè)相機(jī)等組成。裝置以鋁合金型材為骨架,在骨架外固定黑色不銹鋼板,組成密閉黑箱,其尺寸為(400×400×400) mm,置物抽屜安裝在黑箱底部,便于更換樣本,工業(yè)相機(jī)型號(hào)為大恒ME2P-2621-4GC-P,鏡頭焦距為8 mm。相機(jī)固定在頂部居中位置,保證承裝容器中魚苗有效成像。光源采用2個(gè)條形光源,固定在黑箱頂部。針對(duì)微小透光魚苗清晰成像的拍攝需求,設(shè)計(jì)采用光照強(qiáng)度可調(diào)光源,用以配合不同光照強(qiáng)度的拍攝需求。此外,為了滿足算法運(yùn)算要求,本研究中模型是基于Python3.8、Pytorch框架開發(fā),軟件運(yùn)行在Windows11操作系統(tǒng)上,硬件包括:中央處理器為Intel(R) Xeon(R) W-2245 CPU @ 3.90 GHz,運(yùn)行內(nèi)存為64 G,圖形處理器為NVIDIA GeForce RTX2080 SUPER。
由于大菱鲆魚卵孵化周期短,魚苗孵化后短期內(nèi)就具備自由游動(dòng)能力,因此為了有效獲取剛孵化的大菱鲆魚苗,減少大面積采樣對(duì)孵化池內(nèi)魚苗的影響,根據(jù)大菱鲆魚苗孵化規(guī)律,將采樣時(shí)間設(shè)定為魚卵開始孵化后的第72小時(shí),并將采樣魚苗暫養(yǎng)在養(yǎng)殖箱內(nèi)。采樣時(shí),選用200 mm×200 mm×60 mm的亞克力盒作為拍攝容器,從養(yǎng)殖箱內(nèi)隨機(jī)選取部分幼苗倒入容器中,置于拍攝箱底部。為增強(qiáng)魚苗與背景的反差,亞克力容器底部采用白色底板為采樣背景,通過(guò)調(diào)節(jié)采樣高度和相機(jī)焦距,得到清晰的幼苗樣本圖像。
魚苗計(jì)數(shù)方法整體框架如圖2所示,分為3個(gè)部分:圖像預(yù)處理、樣本庫(kù)構(gòu)建和目標(biāo)識(shí)別計(jì)數(shù)。
圖2 大菱鲆苗種計(jì)數(shù)技術(shù)路線圖
圖3 圖像預(yù)處理
圖像預(yù)處理部分主要用于降低背景噪聲對(duì)識(shí)別精度的影響,因此根據(jù)采樣裝置成像特點(diǎn),選用背景差分、圖像增強(qiáng)和幾何變換的手段抑制背景無(wú)用的信息,增強(qiáng)前景圖像特征[11]。樣本庫(kù)構(gòu)建部分,為了進(jìn)一步提升方法的實(shí)用性,有效統(tǒng)一樣本空間和待識(shí)別目標(biāo)空間,利用經(jīng)過(guò)圖像預(yù)處理的前景信息,通過(guò)對(duì)目標(biāo)輪廓做最小外接矩形,實(shí)現(xiàn)目標(biāo)的提取,以此構(gòu)建待識(shí)別目標(biāo)樣本集,并根據(jù)提取出的目標(biāo)圖像大菱鲆苗種構(gòu)建分類標(biāo)簽,按照8∶2的比例將其劃分為訓(xùn)練集和驗(yàn)證集;目標(biāo)識(shí)別計(jì)數(shù)階段,首先是利用ResNet34模型實(shí)現(xiàn)不同數(shù)量目標(biāo)樣本的識(shí)別,然后根據(jù)識(shí)別樣本數(shù)量統(tǒng)計(jì)整張圖像大菱鲆魚苗總數(shù),實(shí)現(xiàn)苗種計(jì)數(shù)。
通過(guò)試驗(yàn)裝置采樣得到的圖像包含過(guò)多背景信息,不利于后續(xù)魚苗目標(biāo)的識(shí)別,因此需要對(duì)原始圖像中冗余的信息進(jìn)行預(yù)處理。共采用4步圖像預(yù)處理方法獲得魚苗清晰前景圖像。首先,對(duì)容器的4個(gè)角點(diǎn)進(jìn)行定位,采用透視變換法[12]得到目標(biāo)區(qū)域的圖像,然后使用背景差分法[13]得到背景信息相對(duì)較少的魚苗圖像,采用高斯濾波[14]對(duì)圖像進(jìn)行平滑處理并利用全局灰度線性變換方法[15]對(duì)圖像進(jìn)行灰度拉伸。最后,利用膨脹腐蝕等形態(tài)學(xué)處理去除圖像中的噪點(diǎn)、毛刺和微小雜物,填補(bǔ)目標(biāo)的空洞和斷點(diǎn)[16-17],去除圖像中多余的雜質(zhì)點(diǎn)。采樣原圖及預(yù)處理后圖像如3所示。
1.5.1 目標(biāo)提取
經(jīng)過(guò)形態(tài)學(xué)處理的魚苗圖像為二值圖像,已經(jīng)能夠很好地區(qū)分出目標(biāo)與背景,采用邊界跟蹤算法[18]來(lái)提取目標(biāo)的輪廓(圖4a)。對(duì)于魚苗不重疊,且背景無(wú)雜質(zhì)的圖像,直接通過(guò)計(jì)算輪廓的數(shù)量即可得到魚苗的數(shù)量。但當(dāng)背景較為復(fù)雜時(shí),輪廓圈出的可能不僅有魚苗,還有其他干擾目標(biāo)。此種情況可以選擇先提取出輪廓圈出的所有目標(biāo),再對(duì)每一個(gè)目標(biāo)進(jìn)行識(shí)別判斷,判斷其是否為魚苗,從而計(jì)算魚苗的數(shù)量。因此可以通過(guò)對(duì)輪廓做外接矩形的方法,提取出待識(shí)別目標(biāo)(圖4b)。當(dāng)魚苗相鄰較近時(shí),普通外接矩形容易將其他目標(biāo)也圈進(jìn)矩形中,且魚苗斜向時(shí),其外接矩形圈出的背景面積較大。因此,在外接矩形的基礎(chǔ)上,選擇輪廓最小外接矩形對(duì)輪廓進(jìn)行目標(biāo)提取(圖4c)。
圖4 目標(biāo)提取
圖4d為對(duì)原圖中魚苗目標(biāo)的輪廓做最小外接矩形,可以看出效果相對(duì)普通外接矩形要好。但最小外接矩形的四條邊并不是平行和垂直正常畫面,要提取出每一個(gè)目標(biāo),需對(duì)最小外接矩形提取出的部分做透視變換[19],得到每個(gè)目標(biāo)的圖像。
由表1可以看出,提取出的圖像包含4種類型,其中,0個(gè)目標(biāo)圖像不包含魚苗,1個(gè)目標(biāo)圖像、2個(gè)目標(biāo)圖像和3個(gè)目標(biāo)圖像中分別包含1條、2條、3條魚苗。將提取出的圖像做分類標(biāo)簽,形成大菱鲆魚苗樣本集。
表1 目標(biāo)提取后的圖像
表2 樣本數(shù)量分布
1.5.2 樣本分配
樣本數(shù)量分布如圖2所示。
大菱鲆魚苗樣本集中,包含76張0個(gè)目標(biāo)圖像,2 466張1個(gè)目標(biāo)圖像,160張2個(gè)目標(biāo)圖像和12張3個(gè)目標(biāo)圖像,共計(jì)2 714張樣本圖像。將樣本集按約3∶1的比例劃分為訓(xùn)練集和驗(yàn)證集,構(gòu)成目標(biāo)樣本庫(kù)。
1.6.1 ResNet網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)層的深度和數(shù)量增加,引入的激活函數(shù)數(shù)量增加,有利于提高網(wǎng)絡(luò)的非線性變換能力,更好地進(jìn)行數(shù)據(jù)特征的提取和變換。然而,當(dāng)其達(dá)到一定水平時(shí),網(wǎng)絡(luò)幾乎完全失去了線性轉(zhuǎn)換的能力[20]。ResNet在傳統(tǒng)的深度學(xué)習(xí)基礎(chǔ)上引入了殘差模塊,通過(guò)多個(gè)網(wǎng)絡(luò)的輸入輸出,對(duì)一個(gè)單元模塊進(jìn)行跳躍拼接,在特征提取的同時(shí)疊加上一步的信息,該方法很大程度上緩解了因網(wǎng)絡(luò)深度的增加而出現(xiàn)的梯度消失、網(wǎng)格退化等問(wèn)題[21]。
ResNet網(wǎng)絡(luò)結(jié)構(gòu)因其模型不易退化、特征信息損耗度小等優(yōu)點(diǎn)[20],在圖像識(shí)別領(lǐng)域有較為優(yōu)秀的識(shí)別速度和精度,其在魚類識(shí)別方面也有較多應(yīng)用和較好的識(shí)別效果,經(jīng)過(guò)對(duì)比分析,本研究選用ResNet34模型對(duì)魚苗圖像進(jìn)行識(shí)別研究。
Input為輸入圖像,輸入尺寸設(shè)置為224×224×3像素;Conv1為預(yù)處理卷積層,包含一個(gè)7×7的卷積層,批標(biāo)準(zhǔn)化處理層、激活層和最大池化層;Conv2_x、Conv3_x、Conv4_x、Conv5_x代表殘差結(jié)構(gòu),每個(gè)殘差結(jié)構(gòu)分別包含3、4、6、3個(gè)參數(shù)不同的殘差單元;殘差層的輸出結(jié)果經(jīng)過(guò)AvgPool平均池化層后進(jìn)入FC全連接層進(jìn)行分類;由Softmax分類器輸出對(duì)應(yīng)的概率值,從而得到識(shí)別結(jié)果。ResNet34網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 ResNet34網(wǎng)絡(luò)結(jié)構(gòu)
參數(shù)的選擇對(duì)模型訓(xùn)練時(shí)的收斂效果、速度、識(shí)別精度非常重要。綜合考慮試驗(yàn)環(huán)境系統(tǒng)配置、樣本數(shù)量和模型訓(xùn)練效果,將批尺寸[22]的大小設(shè)為8,迭代次數(shù)為30次,選取Kaiming正態(tài)分布作為模型初始化權(quán)重方式[23],ReLU作為模型的激活函數(shù)[24],交叉熵?fù)p失函數(shù)作為模型的損失函數(shù)[25],初始學(xué)習(xí)率設(shè)為0.001,并采用Adam優(yōu)化算法優(yōu)化學(xué)習(xí)率[26],同時(shí)添加Dropout避免模型訓(xùn)練時(shí)出現(xiàn)過(guò)擬合風(fēng)險(xiǎn)[27]。
大菱鲆目標(biāo)樣本庫(kù)中,訓(xùn)練集包含2 036張樣本圖像,驗(yàn)證集包含678張樣本圖像。利用ResNet34對(duì)訓(xùn)練集和驗(yàn)證集進(jìn)行訓(xùn)練,得到訓(xùn)練模型,其訓(xùn)練效果如圖6所示。
圖6 準(zhǔn)確率與損失值曲線
訓(xùn)練時(shí),每批次訓(xùn)練的圖像數(shù)量為8張,一共迭代30次,可以看出,訓(xùn)練集和驗(yàn)證集分別在第11輪和第17輪迭代后趨于收斂,訓(xùn)練集經(jīng)過(guò)30次迭代后,損失值穩(wěn)定在0.1左右。完成訓(xùn)練后,保留準(zhǔn)確率最高的一次ResNet34訓(xùn)練模型,構(gòu)建大菱鲆魚苗識(shí)別計(jì)數(shù)系統(tǒng),實(shí)現(xiàn)對(duì)測(cè)試樣本的識(shí)別與計(jì)數(shù)。
識(shí)別結(jié)果用混淆矩陣[28]的方式可視化展示,結(jié)果如表3所示。表3中,橫向表示目標(biāo)樣本圖像中含有魚苗的真實(shí)數(shù)量,縱向表示目標(biāo)樣本圖像中含有魚苗的預(yù)測(cè)數(shù)量,矩陣中的數(shù)值xij表示將類別i預(yù)測(cè)為類別j的數(shù)量,其中,對(duì)角線上的數(shù)值越大,代表識(shí)別的準(zhǔn)確率越高。由表3可以看出,對(duì)角線上的數(shù)值遠(yuǎn)高于其他位置的數(shù)值,這表明ResNet34對(duì)目標(biāo)樣本圖像有較高的識(shí)別準(zhǔn)確率。
表3 混淆矩陣
為了驗(yàn)證方法的有效性,選取目前常見的SVM[29]、AlexNet[30]、ResNet18[31]和ResNet50[32]等方法與本研究方法進(jìn)行比較分析,結(jié)果如表4所示。
表4 不同算法的識(shí)別準(zhǔn)確率對(duì)比
由表4可知,5種方法識(shí)別精度都高于85%,證明本研究樣本數(shù)據(jù)庫(kù)構(gòu)建的有效性;相比于深度學(xué)習(xí)方法,SVM方法識(shí)別精度較低,識(shí)別精度僅為85.8%,ResNet18、ResNet34和ResNet50等方法識(shí)別精度接近,其中ResNet34識(shí)別精度最高,達(dá)到94.44%。由此可見,ResNet34更加適用于本研究構(gòu)造的大菱鲆魚苗樣本圖像的識(shí)別檢測(cè)。
為了估算大菱鲆魚苗識(shí)別計(jì)數(shù)系統(tǒng)的計(jì)數(shù)準(zhǔn)確率,用亞克力盒從養(yǎng)殖箱內(nèi)隨機(jī)選取部分大菱鲆魚苗進(jìn)行采樣,將該圖像傳入系統(tǒng)進(jìn)行識(shí)別計(jì)數(shù),共采樣50次,得到每次的識(shí)別準(zhǔn)確率和計(jì)數(shù)準(zhǔn)確率,統(tǒng)計(jì)結(jié)果如圖7所示。
圖7 魚苗識(shí)別與計(jì)數(shù)準(zhǔn)確率
由圖7可知,系統(tǒng)在魚苗識(shí)別方面,識(shí)別的準(zhǔn)確率最低為90.07%,最高為98.11%,平均識(shí)別準(zhǔn)確率為94.27%,在 50 次識(shí)別檢測(cè)中有26次的識(shí)別準(zhǔn)確率在平均線以上。在魚苗計(jì)數(shù)方面,計(jì)數(shù)的準(zhǔn)確率最低為92.78%,最高為100%,平均計(jì)數(shù)準(zhǔn)確率為96.28%,在 50次計(jì)數(shù)檢測(cè)中有27次的計(jì)數(shù)準(zhǔn)確率在平均線以上。相較ResNet34模型對(duì)魚苗樣本圖像識(shí)別的準(zhǔn)確率94.44%,魚苗計(jì)數(shù)準(zhǔn)確率較高,這主要是由于模型會(huì)將0個(gè)目標(biāo)圖像識(shí)別為1或2個(gè)目標(biāo)圖像,將1個(gè)目標(biāo)圖像識(shí)別為2個(gè)目標(biāo)圖像,使得檢測(cè)出的魚苗數(shù)量增加,又將2個(gè)目標(biāo)圖像識(shí)別為0或1個(gè)目標(biāo)圖像,將1個(gè)目標(biāo)圖像識(shí)別為0個(gè)目標(biāo)圖像,導(dǎo)致檢測(cè)出的魚苗數(shù)量減少,雙方平衡下,導(dǎo)致最終檢測(cè)出的魚苗個(gè)數(shù)與實(shí)際魚苗個(gè)數(shù)相差不大。
設(shè)計(jì)了一套針對(duì)微小魚苗計(jì)數(shù)專用圖像采樣裝置,搭建了基于圖像預(yù)處理的魚類苗種數(shù)據(jù)集,為后續(xù)苗種識(shí)別和數(shù)量統(tǒng)計(jì)提供數(shù)據(jù)支撐。通過(guò)圖像預(yù)處理手段,將全局隨機(jī)檢索問(wèn)題簡(jiǎn)化為特定目標(biāo)識(shí)別問(wèn)題,有效降低了后續(xù)識(shí)別計(jì)數(shù)算法應(yīng)用復(fù)雜度。結(jié)果證明ResNet34識(shí)別模型在不同數(shù)量大菱鲆魚苗圖像識(shí)別的有效性,并通過(guò)識(shí)別每個(gè)初步定位目標(biāo)大菱鲆魚苗數(shù)量實(shí)現(xiàn)整張圖像大菱鲆魚苗的全局計(jì)數(shù),大菱鲆魚苗的平均識(shí)別和計(jì)數(shù)精度分別達(dá)到94.27%和96.28%,為大菱鲆養(yǎng)殖魚苗孵化率的精準(zhǔn)計(jì)算提供堅(jiān)實(shí)的技術(shù)支撐。本方法雖然實(shí)現(xiàn)了特定場(chǎng)景苗種計(jì)數(shù),但不可避免地帶來(lái)了魚苗損傷問(wèn)題,下一步將根據(jù)本研究結(jié)果,嘗試引入相關(guān)環(huán)境補(bǔ)償算法,實(shí)現(xiàn)原始工況場(chǎng)景魚苗精準(zhǔn)計(jì)數(shù)。
□