楊浩康 牛馨樂 何航



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