基于機器視覺的智能魚群健康狀況監(jiān)測系統(tǒng)
0 引 言
隨著人們生活水平的提高,水產(chǎn)品需求量逐年遞增。在漁業(yè)發(fā)展過程中,傳統(tǒng)的水產(chǎn)養(yǎng)殖多為粗放型生產(chǎn)模式,以人工觀察為主,養(yǎng)殖戶憑經(jīng)驗管理魚塘,耗費了大量的時間、精力 [1]。人工觀察加經(jīng)驗判斷不利于精確、穩(wěn)定、連續(xù)記錄,而且主觀性較強,存在誤判的可能,無法對水質(zhì)變化做出及時有效的響應(yīng)與決策,無法實時獲取水下魚群的健康狀況,容易導(dǎo)致由于調(diào)控不及時帶來的巨大財產(chǎn)損失。國家科技方面的中長期規(guī)劃中已經(jīng)明確將“畜水產(chǎn)健康養(yǎng)殖”納入優(yōu)先發(fā)展方向,水產(chǎn)養(yǎng)殖的自動化與智能化是其必然的發(fā)展趨勢。
隨著計算機網(wǎng)絡(luò)與物聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,物聯(lián)網(wǎng)技術(shù)被越來越多地應(yīng)用于水產(chǎn)養(yǎng)殖領(lǐng)域。目前基于無線傳感網(wǎng)的水產(chǎn)養(yǎng)殖監(jiān)控系統(tǒng)是研究與應(yīng)用的熱點,這些系統(tǒng)雖然在智能化水質(zhì)監(jiān)測與調(diào)控中都取得了一定的成果,但缺少對魚群實時生長狀況監(jiān)控及魚群健康狀況、異常情況的智能化識別,無法完全實現(xiàn)水產(chǎn)養(yǎng)殖的實時化與自動化 [2]。
本文提出一種基于機器視覺的智能魚群健康狀況監(jiān)測系統(tǒng),在利用無線傳感網(wǎng)對魚塘水質(zhì)情況進行實時監(jiān)測的基礎(chǔ)上,增加了通過攝像頭自動監(jiān)測養(yǎng)殖魚類,并采用運動目標跟蹤算法跟蹤魚塘中的魚群,獲取魚群游動的平均速度、加速度及深度。當監(jiān)測到魚群運動的平均速度(加速度)或游動深度超出正常范圍時,說明魚群健康狀況出現(xiàn)了異常,自動通過計算機網(wǎng)絡(luò)向監(jiān)控中心與用戶終端發(fā)出報警信號。
1 機器視覺系統(tǒng)設(shè)計
機器視覺又稱計算機視覺,是人工智能快速發(fā)展的一個分支。簡單來說,就是利用機器(攝像機、計算機等)代替人眼對目標進行識別、跟蹤及測量,從圖像中提取信息,并加以理解與處理,從而幫助人們進行判斷決策與控制 [3]。
典型的機器視覺系統(tǒng)通常包括圖像捕獲、光源、圖像數(shù)字化模塊、數(shù)字圖像處理模塊、智能判斷決策模塊及機械控制執(zhí)行模塊等。
本文系統(tǒng)主要由攝像機、無線數(shù)據(jù)傳輸系統(tǒng)、圖像采集處理系統(tǒng)、服務(wù)器、用戶終端等構(gòu)成。系統(tǒng)整體結(jié)構(gòu)如圖 1所示。

1.1 攝像機
攝像機主要負責采集魚塘中魚群的運動圖像。由于水產(chǎn)養(yǎng)殖監(jiān)測對距離有一定的要求,因此采用無線網(wǎng)絡(luò)攝像機實現(xiàn)視頻的采集與無線傳輸。
1.2 無線數(shù)據(jù)傳輸系統(tǒng)
無線數(shù)據(jù)傳輸系統(tǒng)主要實現(xiàn)魚群運動視頻的傳輸。通過無線路由器連接至安裝有圖像采集卡的服務(wù)器,利用無線局域網(wǎng)(WLAN)進行數(shù)據(jù)傳輸。
1.3 圖像采集處理系統(tǒng)
圖像采集處理系統(tǒng)主要負責對魚群運動圖像進行采集、加工、處理、特征提取、圖像識別與理解等。圖像經(jīng)過處理后,既改善了視覺效果,又便于后續(xù)計算機對圖像進行分析、判斷與決策。硬件部分 :在計算機上安裝圖像采集卡 ;圖像加工處理則主要依靠軟件。
1.4 服務(wù)器
利用圖像識別等技術(shù)對魚群進行檢測、跟蹤、分割、識別,并對魚群的游動速度(加速度)、活動范圍等運動參數(shù)進行分析,判別魚群健康狀態(tài),在終端上顯示這些數(shù)據(jù)并存入數(shù)據(jù)庫,還可對異常狀況進行告警。
1.5 用戶終端
通過互聯(lián)網(wǎng)實現(xiàn)對服務(wù)器上存儲的魚群健康狀況數(shù)據(jù)進行遠程讀取,用戶可在任何時間、任何地點查看魚群健康數(shù)據(jù)。
2 軟件系統(tǒng)設(shè)計
智能魚群健康狀況監(jiān)測系統(tǒng)的軟件部分主要包括視頻控制、視頻處理與數(shù)據(jù)分析三部分。
(1)視頻控制部分負責實時采集魚塘視頻圖像,攝像頭旋轉(zhuǎn)、變焦,視頻文件播放控制,抓圖錄像等。
(2)視頻處理部分負責對視頻圖像進行預(yù)處理,去除噪點,及魚群的檢測識別、運動跟蹤等。
(3)數(shù)據(jù)分析部分負責對魚群的游動速度、加速度、深度進行分析,記錄相關(guān)參數(shù),從而判斷魚群健康狀況并做出預(yù)警。
同時,還可將相關(guān)數(shù)據(jù)存儲到數(shù)據(jù)庫以便用戶使用各種終端進行查詢。魚群健康狀況監(jiān)測分析流程如圖 2 所示。

2.1 魚群運動跟蹤
要獲取水產(chǎn)養(yǎng)殖系統(tǒng)中魚群運動的相關(guān)參數(shù),必須首先對攝像機拍攝的魚群進行自動化檢測、識別,利用運動目標跟蹤算法對魚群游動的軌跡進行連續(xù)跟蹤,通過對一系列連續(xù)圖像進行分析研究,計算出魚群在連續(xù)多幀圖像中的位移,并根據(jù)魚塘大小、攝像機位置、焦距等信息進一步獲取魚群游動的速度、加速度、深度等運動參數(shù)。
運動目標跟蹤技術(shù)是機器視覺領(lǐng)域中廣泛應(yīng)用的關(guān)鍵技術(shù),在人機交互、物體識別、視頻監(jiān)控等方面作用顯著。MeanShift 算法因其無需參數(shù)、計算量小,對目標變形、旋轉(zhuǎn)變化適應(yīng)性強等特點得到廣泛研究與應(yīng)用 [4],而 CAMShift算法則在其基礎(chǔ)上增加了自適應(yīng)大小功能 [5]。這些傳統(tǒng)的目標跟蹤算法在提取目標顏色特征時容易受到背景的影響。例 如,當目標中包含背景顏色信息時,傳統(tǒng)方法會將屬于背景的像素誤判為目標像素,從而引起跟蹤誤差,并且隨著誤差的積累加深,最終可能導(dǎo)致跟蹤失敗。
由于魚群在水中不停地游動,它們與攝像頭之間的距離和角度也不斷發(fā)生著變化,從而有可能出現(xiàn)重疊與遮擋。使用傳統(tǒng)的 CAMShift 算法可能導(dǎo)致目標誤判、跟蹤失效,因 此,本文系統(tǒng)采用文獻 [6] 中提出的將非線性核密度估計和CAMShift 相結(jié)合的抗遮擋目標跟蹤算法。首先選取非線性核密度估計方法對感興趣的魚群目標進行檢測,然后采用CAMShift 算法對檢測到的目標進行跟蹤,并結(jié)合非線性核密度估計的檢測結(jié)果進行自適應(yīng)更新,從而實現(xiàn)魚群目標的自動跟蹤與自動去除背景顏色。當魚群目標發(fā)生部分或全部遮擋時,通過發(fā)生遮擋前一幀跟蹤到的目標大小和位置預(yù)測下一幀的跟蹤框,從而較好地解決光照變化、陰影及遮擋對魚群運動跟蹤造成的影響。
2.2 魚群健康狀況監(jiān)測分析
當魚群受到應(yīng)激(如外來群種入侵、缺氧、饑餓、生病等) 時,其游動速度與加速度都會發(fā)生較大突變。例如,缺氧情況下魚群游速會降低,游動位置會上移,需要經(jīng)常浮頭來呼吸氧氣 ;外來群種入侵時魚群游速會加快,活躍程度顯著上升。因此,通過監(jiān)測魚群游動速度(加速度)與深度的變化,就可分析判斷出魚類生長環(huán)境的改變與健康狀況。
魚群游動的速度(加速度)與深度等參數(shù)的變化可實時反映出魚群的健康狀況。本文系統(tǒng)周期性地獲取魚群游動的速度、加速度與深度等參數(shù)數(shù)據(jù)并存儲至數(shù)據(jù)庫。在系統(tǒng)中設(shè)定速度、加速度與深度的閾值,當魚群游動的速度、加速度超過閾值時可判定為魚群受到外來刺激 ;當魚群的游動深度低于閾值時,則可判定為缺氧 ;一旦魚群的游動參數(shù)出現(xiàn)異常,系統(tǒng)將通過聲、光等形式發(fā)出報警信號。用戶可通智能手機、平板、電腦等終端隨時隨地讀取參數(shù)并獲取報警信息,并且判定魚類健康狀況時還可通過機器學(xué)習(xí)系統(tǒng)根據(jù)歷史特征數(shù)據(jù)對判定方法進行進一步優(yōu)化,從而保證判定結(jié)果的準確性與穩(wěn)定性。
3 結(jié) 語
本文設(shè)計的基于機器視覺的智能魚群健康狀況監(jiān)測系統(tǒng)可對魚群由于外部或內(nèi)部因素產(chǎn)生的異常行為進行長期、穩(wěn) 定、有效的監(jiān)控與報警,從而起到實時監(jiān)測魚類健康狀況的作用,有效避免人工觀察帶來的一系列弊端,為真正實現(xiàn)水產(chǎn)養(yǎng)殖全過程的實時化與智能化進行了一些有益探索。