龔珺函,皮 瑜,陳 黎,陳義明,朱幸輝,王冬武
(1.湖南農(nóng)業(yè)大學(xué)信息與智能科學(xué)技術(shù)學(xué)院,湖南 長沙 410128;2.湖南元想科技有限公司,湖南 長沙 410000;3.湖南省水產(chǎn)科學(xué)研究所,湖南 長沙 410153)
克氏原螯蝦,俗稱小龍蝦,其肉質(zhì)鮮美,營養(yǎng)豐富,是我國重要的養(yǎng)殖經(jīng)濟蝦類[1]??耸显r產(chǎn)業(yè)的發(fā)展對提高養(yǎng)殖戶收入、促進養(yǎng)殖技術(shù)升級、農(nóng)民脫貧致富等均具有重要的現(xiàn)實意義。由于受養(yǎng)殖技術(shù)、養(yǎng)殖理念和養(yǎng)殖規(guī)模等因素的影響,目前克氏原螯蝦產(chǎn)業(yè)存在種質(zhì)資源混亂、種苗供應(yīng)能力不足、種苗質(zhì)量不一等問題[2],嚴重影響該產(chǎn)業(yè)的可持續(xù)健康發(fā)展,也不利于養(yǎng)殖戶增產(chǎn)增收。為了更好地服務(wù)克氏原螯蝦產(chǎn)業(yè)發(fā)展,學(xué)者們將圖像技術(shù)引入克氏原螯蝦的生產(chǎn)和監(jiān)測過程中。例如:Sistler 等[3]用彩色圖像處理方法通過克氏原螯蝦脫殼前顏色的變化來預(yù)測脫殼時間;Tan 等[4]遠程操控水下潛水器獲取視頻序列,通過目標檢測與跟蹤進行水下克氏原螯蝦數(shù)量的統(tǒng)計;田燦等[5]采用地標點法和傳統(tǒng)形態(tài)測量法對我國5 個不同產(chǎn)地克氏原螯蝦群體間形態(tài)特征進行分析,結(jié)果顯示2 種方法均可將各群體進行了有效地區(qū)分,但基于圖像識別的地標點法更高效,有利于克氏原螯蝦生產(chǎn)和選育過程中群體的鑒別及外形特征的快速獲取。
隨著深度學(xué)習(xí)方法在計算機視覺領(lǐng)域的成功應(yīng)用,學(xué)者們將其優(yōu)異的性能逐步應(yīng)用到水產(chǎn)分析領(lǐng)域以實現(xiàn)智能化生產(chǎn),而對鰲蝦進行圖像語義分割處理和智能分析為克氏原螯蝦優(yōu)質(zhì)種質(zhì)篩選提供了新途徑。圖像語義分割在遵循人類視覺特點的基礎(chǔ)上,可以提供簡單且可靠的圖像特征信息[6-8]。在圖像分割領(lǐng)域中,將邊界與其他區(qū)域區(qū)分開是關(guān)鍵,目前的主流方法有面向?qū)ο蟮膱D像分割算法和基于深度學(xué)習(xí)的語義分割算法2 大類[9-10]。面向?qū)ο蟮膱D像分割算法是基于邊界區(qū)域與其他區(qū)域的顏色差異進行分割,多應(yīng)用在田間道路和地塊邊界檢測等方面?;谏疃葘W(xué)習(xí)的圖像語義分割算法則是通過深度卷積神經(jīng)網(wǎng)絡(luò)提取特征,對特征圖進行上采樣,輸出每個像素的類別來進行分割,多應(yīng)用于無人駕駛、自動摳圖和遙感圖像分割等方面。近年來,基于全卷積神經(jīng)網(wǎng)絡(luò)框架的U-Net 語義分割模型在生物醫(yī)學(xué)圖像分割上取得了較好的效果,在多個相關(guān)數(shù)據(jù)集上也具有實際的應(yīng)用價值。U-Net 模型由Ronneberger 等[11]提出,只需較少的訓(xùn)練數(shù)據(jù)就可以得到較為精確的端到端的圖像分割結(jié)果,當前廣泛地應(yīng)用于各種圖像分割任務(wù)之中。通常,典型的卷積神經(jīng)網(wǎng)絡(luò)輸出的是一個單一的類標簽,但在圖像分割中,需要輸出像素的定位,為每個像素分配類標簽。U-Net 模型使用簡潔的全卷積網(wǎng)絡(luò),使用上采樣替代池化操作,提高了輸出特征的分辨率;運用基于彈性變形的方法連續(xù)地對數(shù)據(jù)進行增強,實現(xiàn)像素的精準定位,并減少了對于訓(xùn)練數(shù)據(jù)的需求。
該研究在小樣本訓(xùn)練數(shù)據(jù)下,基于傳統(tǒng)深度學(xué)習(xí)語義分割方法,以U-Net 語義分割模型為基礎(chǔ),訓(xùn)練克氏原螯蝦樣本數(shù)據(jù),來獲取克氏原螯蝦精準分割圖。
數(shù)據(jù)采集地點位于湖南省長沙市開福區(qū)的水產(chǎn)科學(xué)研究所,采集日期為2022 年7—8 月。通過克氏原螯蝦活體檢測平臺操控拍攝硬件設(shè)備進行活體克氏原螯蝦圖片拍攝,硬件機箱內(nèi)安裝6 個??低晹z像頭,同一時間段拍攝6 個方位的克氏原螯蝦圖,攝像頭采集的圖像分辨率為2 560 像素×1 920像素,每只克氏原螯蝦采集速度大約為60 s。從采集數(shù)據(jù)中隨機選取約1 600 幅圖像進行克氏原螯蝦數(shù)據(jù)集制作,其中訓(xùn)練集圖片與驗證集圖片比例為8 ∶2,采用Labelme 工具進行數(shù)據(jù)標注處理。根據(jù)研究目標,該研究只對克氏原螯蝦軀干像素進行標注,然后讀取標簽文件中克氏原螯蝦軀干邊緣的坐標信息,得到每幅圖像對應(yīng)的掩碼區(qū)域灰度圖。由于克氏原螯蝦拍攝過程中,光照的反射以及克氏原螯蝦(活體)本身活動對底部的劃痕等均將影響拍攝圖片的清晰度,后期(8 月)對設(shè)備進行了調(diào)整,在底部添加燈光罩,加裝燈光線路,中和光照,并且為了防止訓(xùn)練過程中數(shù)據(jù)過擬合,訓(xùn)練數(shù)據(jù)集中包含2 種環(huán)境下共同采集的數(shù)據(jù),擴大樣本的數(shù)量。圖1 為數(shù)據(jù)集中2 種不同光照環(huán)境下的圖像標注圖與灰度圖生成效果。
圖1 設(shè)備整改前后采集的圖像數(shù)據(jù)比對
U-Net 是較早使用全卷積神經(jīng)網(wǎng)絡(luò)的語義分割網(wǎng)絡(luò),該網(wǎng)絡(luò)呈完全對稱分布,其中較淺的高分辨率特征圖解決像素的定位問題,較深的低分辨率特征圖解決像素的分類問題。網(wǎng)絡(luò)通過跳躍連接的方式將特征圖進行維度拼接,能夠保留更多的位置和特征信息,更適合處理像素級語義分割任務(wù)。U-Net能從更少的訓(xùn)練圖像中進行學(xué)習(xí),當它在少于40張圖的生物醫(yī)學(xué)數(shù)據(jù)集上訓(xùn)練時,IOU 值仍能達到92%,并且網(wǎng)絡(luò)權(quán)重參數(shù)總量較少,對較小的數(shù)據(jù)集具有良好的適應(yīng)性。
1.2.1 傳統(tǒng)的U-Net 分割網(wǎng)絡(luò) 傳統(tǒng)的U-Net 分割
網(wǎng)絡(luò)整體采用U 型編碼-解碼結(jié)構(gòu)。編碼部分由4 個下采樣模塊組成,每個模塊包含2 次卷積操作(kernel_size=3×3,stride=1,padding=0)和一次最大池化操作(kernel_size=2×2,stride=2),通過編碼階段來降低圖像尺寸,提取一些淺顯的特征,其中卷積采用valid(padding=0)的填充方式來保證結(jié)果都是基于沒有缺失上下文特征得到的,因此每次經(jīng)過卷積后,圖像的大小會減小。解碼部分由4 個上采樣模塊組成,每個上采樣模塊包含2 次卷積操作(kernel_size=3×3,stride=1,padding=0)和一個上采樣操作(反卷積過程)。編碼-解碼中間通過concat拼接的方式,將編碼階段獲得的feature map(特征圖)同解碼階段獲得的feature map 結(jié)合在一起,結(jié)合深層次和淺層次的特征,細化圖像,再根據(jù)得到的feature map 進行預(yù)測分割。由于編碼-解碼階段的feature map 大小是不同的,因此拼接時需要對編碼階段的feature map 進行切割。最后,通過1×1 的卷積做分類,分割出前景與背景。傳統(tǒng)U-Net 網(wǎng)絡(luò)整體框架[12]如圖2 所示。
圖2 傳統(tǒng)U-Net 網(wǎng)絡(luò)結(jié)構(gòu)
1.2.2 改進的U-Net 分割網(wǎng)絡(luò) 基于傳統(tǒng)的U-Net網(wǎng)絡(luò)模型,在其基礎(chǔ)上做出改進,采用padding 為1 的方式進行上下采樣中卷積操作以及利用雙線性插值方法代替上采樣中的反卷積操作,如圖3 所示。傳統(tǒng)的U-Net 網(wǎng)絡(luò)模型通常采用padding=0 的卷積核進行卷積操作,由輸入大小為572 像素×572 像素的圖片,得到輸出大小為388 像素×388 像素的圖片(如圖2 所示)。但由于試驗中缺少的像素點是通過邊緣鏡像方式得到,因此部分像素點是猜想的,必然會引起誤差。而在該文中采用padding=1的卷積層,根據(jù)特征矩陣大小計算公式W=(W-3 +2)/1 +1 可知,所輸出特征矩陣和輸入特征矩陣大小是相同的,且不用邊緣鏡像的方式就能得到缺少的像素點,最終輸入2 560 像素×1 920 像素的圖片,得到2 560 像素×1 920 像素的圖片(圖3)。
圖3 改進的U-Net 網(wǎng)絡(luò)結(jié)構(gòu)
在早期的語義分割任務(wù)中,網(wǎng)絡(luò)模型涉及到上采樣操作,最常見的方法是通過填充0 或者最近鄰插值的方式來完成上采樣,這種方法雖然簡單直接,卻無法實現(xiàn)圖像的還原,且整個過程不可學(xué)習(xí)。隨后在2015 年,Noh 等[12]提出了可學(xué)習(xí)的深度反卷積網(wǎng)絡(luò),不再通過填充0 或者最近鄰插值方法來完成上采樣,使得整個過程變成可學(xué)習(xí),在圖像語義分割網(wǎng)絡(luò)中實現(xiàn)了對上采樣過程的訓(xùn)練。但隨著語義分割任務(wù)的多樣性以及復(fù)雜性,在傳統(tǒng)的U-Net網(wǎng)絡(luò)模型上采樣過程中,使用反卷積方法進行反卷積的結(jié)果與編碼部分中對應(yīng)步驟的feature map(特征圖)concat 拼接(即將深層特征與淺層特征進行融合,使得信息變得更豐富)時,由于編碼部分中的feature map 尺寸偏大,需要將其修剪過后才能進行拼接(這里是將2 個特征圖的尺寸調(diào)整一致后按通道數(shù)進行拼接),導(dǎo)致上采樣過程變得復(fù)雜且繁瑣,此時,將雙線性插值算法引入上采樣就是一個不錯的選擇。
雙線性插值算法是一種比較好的圖像縮放算法,它充分的利用了源圖中虛擬點四周的4 個真實存在的像素值來共同決定目標圖中的一個像素值。如果采用雙線性插值進行上采樣的話(經(jīng)過雙線性插值自身不會改變通道數(shù)),上采樣后面跟著的2 個卷積的通道數(shù)(該研究中為RGB 圖,所以通道數(shù)為3)是不一樣的,比如通過第1 個卷積后通道數(shù)會減半,通過第2 個卷積后,通道數(shù)又會減半。這樣,經(jīng)過雙線性插值后得到的通道數(shù)和要進行concat 拼接的特征層的通道數(shù)就會保持一致。如圖4 所示,圖4a為傳統(tǒng)的U-Net 所采用的反卷積方法,圖4b 為該文采用的雙線性插值方法(x1 指的是需要上采樣的特征層,x2 指的是要concat 拼接的特征層)。
圖4 反卷積與雙線性插值上采樣
1.2.3 改進后U-Net 圖像分割可視化 對改進后的U-Net 模型進行訓(xùn)練,訓(xùn)練完成后,將測試集圖像輸入便可得到每個像素的回歸概率,分割結(jié)果如圖5 所示,從左至右依次為原圖、預(yù)測前景(class 1)可視化圖、預(yù)測背景(class 2)可視化圖。
圖5 圖像分割可視化結(jié)果
克氏原螯蝦分割主要通過 4 個考核指標進行評價:Dice、精確度(Precision)、訓(xùn)練參數(shù)(Parameter)和訓(xùn)練時長(Training Time)。
2.1.1 Dice 與Dice loss Dice 系 數(shù)(Dice coefficient)是一種集合相似度度量函數(shù),通常用于計算2 個樣本的相似度,取值的范圍為[0,1],常用于分割問題,分割效果最好時為1,最差時為0。
Dice 系數(shù)計算公式如下:
式中:|X∩Y|是X和Y之間的交集,|X|和|Y|分別表示X和Y的元素個數(shù),其中,分子的系數(shù)為2,是因為分母存在重復(fù)計算X和Y之間共同元素的原因。對于語義分割問題而言,X為GT 分割圖像(Ground Truth),Y為Pred 預(yù)測分割圖像,因此也可以理解為(2×預(yù)測正確的結(jié)果)/(真實結(jié)果+預(yù)測結(jié)果),具體如圖6 所示。
圖6 Dice 系數(shù)示意圖
Dice Loss 是在Dice 系數(shù)的基礎(chǔ)上進行計算的,用1 去減Dice 系數(shù),即Dice Loss = 1-Dice,因此從結(jié)果而言,Dice 系數(shù)越大,Dice Loss 越小,表明樣本集合越相似;相反Dice 系數(shù)越小,Dice Loss 越大,表明樣本集合越不相似[13-15]。
在計算Dice Loss 前,首先需要得到預(yù)測前景概率矩陣(X)和前景GT 標簽矩陣(Y),使用onehot 方法編碼對模型輸出預(yù)測結(jié)果圖進行處理,分別生成前景和背景的標簽,此時預(yù)測圖的維度由(N,H,W)變?yōu)椋∟,H,W,C),然后再使用permute 方法來調(diào)整維度,最終維度變?yōu)椋∟,C,H,W),其中N 代表分類類別數(shù)(該研究中圖片分割只包含前景與背景,是2 分類問題,因此N 為2),C 代表channel 通道數(shù)(例如黑白圖像的通道樹C 為1,RGB 彩色圖像的通道數(shù)C 為3,該研究為RGB 圖,C 為3),H 代表圖片的高度,W 代表圖片的寬度。該研究中,Dice loss 采用softmax 方法與one-hot 方法相結(jié)合計算得出。
2.1.2 精確度(Precision) 對于一個二分類任務(wù),混淆矩陣confusion matrix 由TP、FP、FN、TN 組成。TP 判定為正樣本的正樣本像素數(shù)量,F(xiàn)N 判定為負樣本的正樣本像素數(shù)量,F(xiàn)P 判定為正樣本的負樣本像素數(shù)量,TN 判定為負樣本的負樣本像素數(shù)量;如表1 所示。
表1 混淆矩陣
而精確度在混淆矩陣基礎(chǔ)上表示模型預(yù)測為正例的所有樣本中,預(yù)測正確(真實標簽為正)樣本的占比,精確度的計算見公式(2)。
在正式模型訓(xùn)練前,該研究采用不同模型結(jié)構(gòu)進行預(yù)試驗,對比分析其結(jié)果。首先從克原氏螯蝦數(shù)據(jù)集中選取280 張圖片(設(shè)備調(diào)整后的圖片),按照9 ∶1 的比例分為訓(xùn)練集與驗證集,利用CPU 設(shè)備,分別在改進的U-Net,UNet++,UNet+++以及AttU_Net 這4 種不同模型上進行訓(xùn)練,然后設(shè)置5個模型訓(xùn)練次數(shù)為10 個epoch,取其中Dice 值最高的epoch 來進行比較分析,訓(xùn)練結(jié)果如表2 所示。
表2 不同模型的測試性能指標
由表2 可知,改進后的U-Net 有80.5%的Dice值,預(yù)測精確度達到了99.9%,高于其他3 個模型的精確度。雖然AttU_Net 模型的Dice 值比改進的U-Net 模型高1.3 個百分點,但是其所需的訓(xùn)練參數(shù)和訓(xùn)練時間均遠遠超出改進的U-Net 模型,因此利用改進的U-Net 模型來實現(xiàn)克氏原螯蝦分割是4 種模型中的最優(yōu)選擇。
為更好地體現(xiàn)改進的U-Net 模型的分割效果,提取改進的U-Net 模型與AttU_Net 模型訓(xùn)練中Dice值最高的epoch 來進行克氏原螯蝦分割測試,結(jié)果如圖7 所示,顯而易見,改進的U-Net 模型分割結(jié)果較AttU_Net 模型更佳,進一步驗證了改進的U-Net模型效果最佳。
圖7 改進的U-Net 模型與AttU_Net 模型的分割測試結(jié)果
根據(jù)預(yù)試驗結(jié)果,進一步證明改進的U-Net 模型效果最佳,因此選擇改進的U-Net 模型進行正式訓(xùn)練。訓(xùn)練的硬件配置為AMD Ryzen 7 5800H CPU,Tesla K80 GPU。訓(xùn)練前,隨機選取1 276 幅圖像作為訓(xùn)練集,318 幅圖像作為驗證集,其余作為訓(xùn)練集。為了加快訓(xùn)練和預(yù)測速度,對原圖進行預(yù)處理時,圖像的縮放比例為0.5,圖像分辨率統(tǒng)一轉(zhuǎn)換為2 560 像素×1 920 像素。該試驗采取RMSprop 自適應(yīng)學(xué)習(xí)率優(yōu)化器來加速神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度,設(shè)置epoch總輪次為5,初始學(xué)習(xí)率為1e-5,weight_decay 為1e-8,momentum 為0.9,batch_size 為1??偣灿?xùn)練時長約為15 h,圖8 為模型訓(xùn)練到第5 個epoch 后得到的可視化validation Dice 曲線圖,其中最終的validation Dice 為0.944 5,validation loss(即:1-validation Dice)為0.055 5,train loss 為0.029 8。
圖8 改進的U-Net 模型訓(xùn)練的validation Dice 曲線變化
模型訓(xùn)練完后,為了更好的得到克氏原螯蝦的直觀分割圖,對原圖和預(yù)測的分割圖進行合成,最后得合成摳圖,如圖9 所示。這表明該研究提出的方法能夠有效識別與分割克氏原螯蝦,可為水產(chǎn)養(yǎng)殖智能化提供視覺支持。
圖9 模型分割圖與摳圖效果
以克氏原螯蝦為研究對象,采用圖像語義分割方法,根據(jù)采集設(shè)備內(nèi)部場景的實際情況,對鰲蝦圖像進行了語義分割及分析,基于深度學(xué)習(xí)語義分割網(wǎng)絡(luò)模型,在傳統(tǒng)的U-Net 基礎(chǔ)上進行改進,來訓(xùn)練克氏原螯蝦數(shù)據(jù)集,最終訓(xùn)練完成后得到了較好的結(jié)果。試驗最終驗證集的Dice 系數(shù)validation Dice 為0.944 5,validation loss 為0.055 5,train loss為0.029 8,在小樣本數(shù)據(jù)下獲得較好的分割效果,為實現(xiàn)克氏原螯蝦機器化優(yōu)質(zhì)選種打下了的基礎(chǔ),也為水產(chǎn)養(yǎng)殖智能化提供了視覺支持。