楊浩康 牛馨樂 何航
關(guān)鍵詞:對蝦養(yǎng)殖;YOLOv5;生長率
1 研究背景
一直以來,我國在水產(chǎn)養(yǎng)殖行業(yè)的產(chǎn)出量有增無減,隨著互聯(lián)網(wǎng)、人工智能技術(shù)的發(fā)展,我國新一代信息產(chǎn)業(yè)與水產(chǎn)養(yǎng)殖業(yè)深度融合技術(shù)在全世界有著舉足輕重的地位[1]。目前,我國的南美白對蝦養(yǎng)殖應用科技成果,可以實現(xiàn)高密度短周期的養(yǎng)殖模式,這大大帶動了工廠化對蝦養(yǎng)殖廠以及鄉(xiāng)村農(nóng)業(yè)的經(jīng)濟發(fā)展,推動鄉(xiāng)村振興的進一步發(fā)展,帶動農(nóng)村就業(yè)[2]。但是,該領(lǐng)域也存在著很多痛點問題,諸如:養(yǎng)殖人員依靠經(jīng)驗估計對蝦生長基本情況存在誤差、養(yǎng)殖經(jīng)驗不足導致養(yǎng)殖利潤低、養(yǎng)殖過程中不能合理調(diào)配投料、換水的量和頻率。這會在一定程度上導致行業(yè)產(chǎn)量低、對蝦品質(zhì)差等結(jié)果,影響總體發(fā)展。
以上的行業(yè)痛點抑制了我國互聯(lián)網(wǎng)技術(shù)與農(nóng)業(yè)領(lǐng)域的深度融合,調(diào)查痛點并研究一套智能方法來緩解這種矛盾,使水產(chǎn)養(yǎng)殖業(yè)從傳統(tǒng)“經(jīng)驗型”向“精準型”工廠化養(yǎng)殖升級轉(zhuǎn)變,是當下我們要完成的任務。
首先,對于傳統(tǒng)對蝦養(yǎng)殖行業(yè)中養(yǎng)殖人員只能在養(yǎng)殖池放置小型料臺來獲取對蝦生長狀況和了解對蝦飼料投喂情況,不能實時、快速地了解并且掌握對蝦的實時生長狀況這一痛點,其次,傳統(tǒng)水產(chǎn)養(yǎng)殖行業(yè)中養(yǎng)殖人員投料、增氧、換水的頻率和數(shù)量都依賴于養(yǎng)殖員的個人經(jīng)驗,使得養(yǎng)殖過程可能受到個人經(jīng)驗導致會導致對蝦養(yǎng)殖效率低下,死亡率高等現(xiàn)象。
本次應用實踐采用??低曀聰z像頭,使養(yǎng)殖人員足不出戶就可以掌握對蝦的生長狀況,并且可以在非接觸的情況下得到對蝦的尺寸和生長率,在降低養(yǎng)殖人員工作量的情況下輔助工作人員調(diào)整養(yǎng)殖方案,合理的控制投料、增氧、換水的頻率和數(shù)量。
2 設計思路
本文方法通過水下雙目攝像頭對蝦體進行圖像采集, 采集到的視頻圖像實時傳送到PC 端, 配合YOLOv5 深度學習算法進行圖像識別,精準識別蝦體,切片后對蝦體進行圖像分割等圖像處理步驟后進行蝦體體長及生長率的計算。根據(jù)蝦體生長、平均生長率情況進一步制定并且調(diào)整養(yǎng)殖方案,來提高對蝦的養(yǎng)殖效率并且降低死亡率,達到智能、精準、高效的對蝦養(yǎng)殖目標。
本次方法實踐包括四大步驟,分別是數(shù)據(jù)集的獲取與制作、YOLOv5 深度學習模型訓練、水下蝦體尺寸測量、平均生長率計算,其中運用雙目視覺算法求得蝦體尺寸方法包括視差圖分析、OPENCV 圖像處理得到分割圖像,最小矩形法尋優(yōu)尺寸測量點。本次實踐運用計算機視覺、大數(shù)據(jù)、人工智能等技術(shù),輔以資深養(yǎng)殖人員的多年養(yǎng)殖經(jīng)驗,在一定程度上實現(xiàn)蝦類養(yǎng)殖的定量化、客觀化,將是養(yǎng)殖領(lǐng)域發(fā)展的大趨勢。
2.1 數(shù)據(jù)集準備
2.1.1 雙目攝像頭校準
由于水下折射成像會導致測量誤差,因此在水下攝像機投放之前,首先使用相機對棋盤格點進行角點提取,進而調(diào)焦獲取相機的參數(shù),矯正相機畸變的問題,然后拍攝圖像[3]。
2.1.2 圖像數(shù)據(jù)集準備
通過在養(yǎng)殖場投放水下雙目攝像頭捕獲不同生長時期水下蝦體圖像,由于實驗室搭建1.5×2×1 米的水箱拍攝的水下蝦體圖像數(shù)據(jù)規(guī)模較小不足以支持精確的神經(jīng)網(wǎng)絡的訓練,為保證模型的精準性和應用的廣泛性,通過網(wǎng)絡搜集到的南美白對蝦圖像、公共數(shù)據(jù)集PASCAL VOC、COCO、Image Net 等以及利用實驗室實地拍攝養(yǎng)殖的對蝦圖片,建立了一個包含21509 張水下對蝦圖片數(shù)據(jù)庫。
由于南美白對蝦白天一般靜伏池底,晚上則活動頻繁,因此本項目實際采集時主要在22:00-6:00 的時間段,每隔20 s 采集一次,每次采集2 張,最后經(jīng)人工篩選剩余大概500 張作為該天的數(shù)據(jù)采集,對這些圖片使用幾何變換、添加噪聲、顏色抖動等手段進行數(shù)據(jù)增強,最終建立起適合訓練的、含有較少噪點的南美白對蝦實地數(shù)據(jù)庫。
將數(shù)據(jù)增強后的圖像使用LabelImage 對蝦體進行手動框選標注,數(shù)據(jù)集采用YOLO 格式。其中,每張圖片中有幾個目標框代表該張圖像上標注了多少只對蝦,未標注的部分是背景。
為了使得模型能過得到清晰的特征,從而學習到正確的知識,這里通過人工篩選的方式,剔除包含以下特征的圖片:(1)水中雜質(zhì)的遮擋;(2)圖像過于模糊;(3)蝦體形態(tài)過于彎曲(由于彎曲度造成計算長度誤差);
2.2 基于YOLOv5的蝦體檢測
YOLOv5 的深度學習模型,借鑒CSPNet 網(wǎng)絡結(jié)構(gòu),為了防止模型因訓練不足導致欠擬合和訓練次數(shù)過多導致過擬合,本文采用自己采集的數(shù)據(jù)集進行訓練,這將大大提高模型的準確率。把數(shù)據(jù)集的對蝦圖片以8:2 的比例劃分訓練集和驗證集。其中,對蝦識別模型的權(quán)重參數(shù)從訓練集中得出,驗證集的結(jié)果用來對識別模型進行驗證并評估模型精度,最后通過微調(diào)參數(shù)的方法完善模型結(jié)果,提高模型的精度和穩(wěn)定性。
網(wǎng)絡模型訓練階段,Batch size 設置為64[4],權(quán)重的衰減系數(shù)為0.001,有利于防止過擬合,迭代次數(shù)Epoch 設置為為300 次,初始學習率設置為0.001,當Epoch 等于100 和150 的時候,把學習率設置為0.0001和0.00001。在Epoch 為200 的時候,模型精度較高,達到收斂。
平均精度均值是所有類別的平均精度求和除以數(shù)據(jù)集中所有類的平均精度的平均值,當Epoch 等于30 的時候,mAP 近似為1。召回率,是模型把正確的類別預測為正值的概率。由公式知,代表模型把正確的類別預測為正值的數(shù)量,F(xiàn)N 代表模型把正確的類別預測為負值的數(shù)量[5]。在模型迭代到20 次時,已經(jīng)達到0.9 以上,可見模型的精度較高。
2.3 基于雙目視覺的對蝦尺寸計算
對YOLOv5 檢測完的每一只蝦體圖像進行切片操作后,基于最小矩形法尋找最佳尺寸測量點,之后通過水下坐標點的二、三維轉(zhuǎn)換關(guān)系獲取最佳測量點的三維坐標,進而根據(jù)算法實現(xiàn)對蝦長度的無接觸測量。
2.3.1 求取視差圖
根據(jù)查閱文獻得到立體匹配求取視差圖像方法,公式如下:
2.3.2 蝦體區(qū)域分割
運用圖像分割技術(shù)把蝦體圖像與背景分割開來,定位蝦體的位置進而計算蝦體體長數(shù)據(jù)?;贠STU 最大類間差方法(大津法)這一目標分割算法把對蝦蝦體和背景分割成黑色和白色,α = 0 代表屬于背景,α =1 代表屬于前景。
2.3.3 基于最小矩形法尋找蝦體尺寸最佳測量點
首先把目標分割后的彩色圖像二值化[6],蝦體為白色,背景為黑色。然后基于最小矩形法在目標分割后的圖像里尋找最優(yōu)測量點,最后,在外接矩形中找到面積最小的矩形,通過測量矩形的長度得到對蝦的長度。如圖所示,矩形為蝦體目標的最小外接矩形示例。
得到面積最小的矩形之后,本文近似地以最小包圍面積的矩形的長邊為參照,獲得一條長邊的兩個端點M、N,這兩個端點就是水下蝦體自然情況下的體長。上圖是蝦體最小外接矩形與最佳尺寸測量點示意圖。最后根據(jù)雙目視覺算法,把確定的二維像素點的坐標通過坐標系變換轉(zhuǎn)換為空間三維坐標,進而依據(jù)公式獲取到最佳測量點的空間三維坐標M(XM,YM,ZM)、N(XN,YN,ZN),最后根據(jù)歐式距離等式可以計算得到水下蝦體體長實際尺寸S。
將當前階段拍攝到的所有蝦體體長取平均后,得到當前階段蝦池平均體長,將該數(shù)值與正常養(yǎng)殖情況下該階段蝦體體長進行數(shù)值擬合,分析當前養(yǎng)殖效果是否達到對蝦正常生長狀態(tài)[7]。
2.4 生長率計算
將同時期所拍攝的大量蝦體體長取平均后(每3 天為一周期),根據(jù)這一數(shù)據(jù)與上一測量周期所得數(shù)據(jù)求取這段時間內(nèi)的蝦體生長率,依據(jù)下述公式計算某一生長周期的生長率:生長率=(某一周期蝦體長度- 前一周期蝦體長度)/前一周期蝦體長度在正常養(yǎng)殖情況下采用捕撈測量法取該周期內(nèi)平均值后計算蝦體生長率曲線函數(shù):
根據(jù)正常情況下的生長率函數(shù)圖像與實際計算所得的生長率函數(shù)圖像進行擬合對比,當偏差大于5% 時即認為當前養(yǎng)殖模式下導致蝦體生長偏慢,結(jié)合水質(zhì)參數(shù)和飼喂情況分析影響蝦體生長的因素。同時,將所得參數(shù)進行可視化后在界面進行顯示。
對蝦瞬時生長率以幼體期最高,隨個體長大而快速下降,但在近成體后下降又趨平緩,幼體的瞬時生長率隨溫度升高而提高,近成體后不同溫度下的瞬時生長率差異已不明顯。在同一溫度下,不同期采獲的瞬時生長率變化不大,近成體后尤是如此。
因此,本系統(tǒng)主要在蝦體的幼體期將生長率作為養(yǎng)殖狀況參照指標。
3 結(jié)論
目前,尚未有學者通過機器視覺方法對蝦體生長及生長率情況進行研究,而本文設計的系統(tǒng),首先基于YOLOv5 深度學習模型對圖像進行蝦體識別框選,然后通過雙目攝像頭完成雙目圖像的立體匹配,把二維坐標點轉(zhuǎn)換為三維坐標點計算蝦體真實長度及其平均生長率。
由于對蝦在不同的生長周期里表現(xiàn)出來的生長率是不同的,比如幼時1 個月的生長率平均增長速度要比第2 個月平均增長速度快2% 左右,故本文以養(yǎng)殖池里的對蝦平均生長率作為參考數(shù)據(jù),結(jié)合養(yǎng)殖人員累計的多年經(jīng)驗,判斷一個對蝦養(yǎng)殖池內(nèi)在某一個時間周期里對蝦的生長狀況是否正常,如果情況良好,則按照原來的養(yǎng)殖方案飼養(yǎng);如果生長率偏低,養(yǎng)殖人員應該盡快調(diào)整養(yǎng)殖方案,加大換氧量等等措施來調(diào)整對蝦的生長狀態(tài)。
針對目前蝦類養(yǎng)殖場仍存在死亡率高、智慧化水平低、依賴人為經(jīng)驗養(yǎng)殖等問題,本文提出的方法能有效降低對蝦死亡率、減輕養(yǎng)殖人員機械化的體力勞動、降低養(yǎng)殖能耗,保障水產(chǎn)養(yǎng)殖系統(tǒng)的穩(wěn)定運行,本產(chǎn)品適用于水產(chǎn)養(yǎng)殖領(lǐng)域中的智慧化升級改造和鄉(xiāng)村漁業(yè)振興,具有一定的實用價值和社會效益。