關(guān)輝 許璐蕾
摘 要:近年來(lái),基于無(wú)線傳感網(wǎng)的水產(chǎn)養(yǎng)殖監(jiān)控系統(tǒng)發(fā)展迅速,這些系統(tǒng)雖然可實(shí)現(xiàn)魚(yú)塘水質(zhì)的實(shí)時(shí)監(jiān)測(cè)與調(diào)控,但無(wú)法對(duì)魚(yú)群的健康與異常狀況進(jìn)行實(shí)時(shí)監(jiān)測(cè)、識(shí)別及預(yù)警?;诖耍闹刑岢龌跈C(jī)器視覺(jué)的智能魚(yú)群健康狀況監(jiān)測(cè)系統(tǒng)方案,介紹了系統(tǒng)的硬件與軟件設(shè)計(jì)思想。系統(tǒng)利用運(yùn)動(dòng)目標(biāo)跟蹤算法對(duì)魚(yú)群游動(dòng)的軌跡進(jìn)行連續(xù)跟蹤,通過(guò)數(shù)據(jù)分析計(jì)算出魚(yú)群的流動(dòng)速度、加速度及深度等運(yùn)動(dòng)參數(shù),根據(jù)魚(yú)群運(yùn)動(dòng)參數(shù)的變化分析判斷出魚(yú)群生長(zhǎng)環(huán)境的改變與健康狀況,從而實(shí)現(xiàn)水產(chǎn)養(yǎng)殖全過(guò)程的實(shí)時(shí)化與智能化。
關(guān)鍵詞:機(jī)器視覺(jué);魚(yú)群;健康監(jiān)測(cè);運(yùn)動(dòng)目標(biāo)跟蹤;實(shí)時(shí)化;智能化
中圖分類(lèi)號(hào):TP391文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2019)10-00-02
0 引 言
隨著人們生活水平的提高,水產(chǎn)品需求量逐年遞增。在漁業(yè)發(fā)展過(guò)程中,傳統(tǒng)的水產(chǎn)養(yǎng)殖多為粗放型生產(chǎn)模式,以人工觀察為主,養(yǎng)殖戶憑經(jīng)驗(yàn)管理魚(yú)塘,耗費(fèi)了大量的時(shí)間、精力[1]。人工觀察加經(jīng)驗(yàn)判斷不利于精確、穩(wěn)定、連續(xù)記錄,而且主觀性較強(qiáng),存在誤判的可能,無(wú)法對(duì)水質(zhì)變化做出及時(shí)有效的響應(yīng)與決策,無(wú)法實(shí)時(shí)獲取水下魚(yú)群的健康狀況,容易導(dǎo)致由于調(diào)控不及時(shí)帶來(lái)的巨大財(cái)產(chǎn)損失。國(guó)家科技方面的中長(zhǎng)期規(guī)劃中已經(jīng)明確將“畜水產(chǎn)健康養(yǎng)殖”納入優(yōu)先發(fā)展方向,水產(chǎn)養(yǎng)殖的自動(dòng)化與智能化是其必然的發(fā)展趨勢(shì)。
隨著計(jì)算機(jī)網(wǎng)絡(luò)與物聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,物聯(lián)網(wǎng)技術(shù)被越來(lái)越多地應(yīng)用于水產(chǎn)養(yǎng)殖領(lǐng)域。目前基于無(wú)線傳感網(wǎng)的水產(chǎn)養(yǎng)殖監(jiān)控系統(tǒng)是研究與應(yīng)用的熱點(diǎn),這些系統(tǒng)雖然在智能化水質(zhì)監(jiān)測(cè)與調(diào)控中都取得了一定的成果,但缺少對(duì)魚(yú)群實(shí)時(shí)生長(zhǎng)狀況監(jiān)控及魚(yú)群健康狀況、異常情況的智能化識(shí)別,無(wú)法完全實(shí)現(xiàn)水產(chǎn)養(yǎng)殖的實(shí)時(shí)化與自動(dòng)化[2]。
本文提出一種基于機(jī)器視覺(jué)的智能魚(yú)群健康狀況監(jiān)測(cè)系統(tǒng),在利用無(wú)線傳感網(wǎng)對(duì)魚(yú)塘水質(zhì)情況進(jìn)行實(shí)時(shí)監(jiān)測(cè)的基礎(chǔ)上,增加了通過(guò)攝像頭自動(dòng)監(jiān)測(cè)養(yǎng)殖魚(yú)類(lèi),并采用運(yùn)動(dòng)目標(biāo)跟蹤算法跟蹤魚(yú)塘中的魚(yú)群,獲取魚(yú)群游動(dòng)的平均速度、加速度及深度。當(dāng)監(jiān)測(cè)到魚(yú)群運(yùn)動(dòng)的平均速度(加速度)或游動(dòng)深度超出正常范圍時(shí),說(shuō)明魚(yú)群健康狀況出現(xiàn)了異常,自動(dòng)通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)向監(jiān)控中心與用戶終端發(fā)出報(bào)警信號(hào)。
1 機(jī)器視覺(jué)系統(tǒng)設(shè)計(jì)
機(jī)器視覺(jué)又稱(chēng)計(jì)算機(jī)視覺(jué),是人工智能快速發(fā)展的一個(gè)分支。簡(jiǎn)單來(lái)說(shuō),就是利用機(jī)器(攝像機(jī)、計(jì)算機(jī)等)代替人眼對(duì)目標(biāo)進(jìn)行識(shí)別、跟蹤及測(cè)量,從圖像中提取信息,并加以理解與處理,從而幫助人們進(jìn)行判斷決策與控制[3]。
典型的機(jī)器視覺(jué)系統(tǒng)通常包括圖像捕獲、光源、圖像數(shù)字化模塊、數(shù)字圖像處理模塊、智能判斷決策模塊及機(jī)械控制執(zhí)行模塊等。
本文系統(tǒng)主要由攝像機(jī)、無(wú)線數(shù)據(jù)傳輸系統(tǒng)、圖像采集處理系統(tǒng)、服務(wù)器、用戶終端等構(gòu)成。系統(tǒng)整體結(jié)構(gòu)如圖1所示。
1.1 攝像機(jī)
攝像機(jī)主要負(fù)責(zé)采集魚(yú)塘中魚(yú)群的運(yùn)動(dòng)圖像。由于水產(chǎn)養(yǎng)殖監(jiān)測(cè)對(duì)距離有一定的要求,因此采用無(wú)線網(wǎng)絡(luò)攝像機(jī)實(shí)現(xiàn)視頻的采集與無(wú)線傳輸。
1.2 無(wú)線數(shù)據(jù)傳輸系統(tǒng)
無(wú)線數(shù)據(jù)傳輸系統(tǒng)主要實(shí)現(xiàn)魚(yú)群運(yùn)動(dòng)視頻的傳輸。通過(guò)無(wú)線路由器連接至安裝有圖像采集卡的服務(wù)器,利用無(wú)線局域網(wǎng)(WLAN)進(jìn)行數(shù)據(jù)傳輸。
1.3 圖像采集處理系統(tǒng)
圖像采集處理系統(tǒng)主要負(fù)責(zé)對(duì)魚(yú)群運(yùn)動(dòng)圖像進(jìn)行采集、加工、處理、特征提取、圖像識(shí)別與理解等。圖像經(jīng)過(guò)處理后,既改善了視覺(jué)效果,又便于后續(xù)計(jì)算機(jī)對(duì)圖像進(jìn)行分析、判斷與決策。硬件部分:在計(jì)算機(jī)上安裝圖像采集卡;圖像加工處理則主要依靠軟件。
1.4 服務(wù)器
利用圖像識(shí)別等技術(shù)對(duì)魚(yú)群進(jìn)行檢測(cè)、跟蹤、分割、識(shí)別,并對(duì)魚(yú)群的游動(dòng)速度(加速度)、活動(dòng)范圍等運(yùn)動(dòng)參數(shù)進(jìn)行分析,判別魚(yú)群健康狀態(tài),在終端上顯示這些數(shù)據(jù)并存入數(shù)據(jù)庫(kù),還可對(duì)異常狀況進(jìn)行告警。
1.5 用戶終端
通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)對(duì)服務(wù)器上存儲(chǔ)的魚(yú)群健康狀況數(shù)據(jù)進(jìn)行遠(yuǎn)程讀取,用戶可在任何時(shí)間、任何地點(diǎn)查看魚(yú)群健康數(shù)據(jù)。
2 軟件系統(tǒng)設(shè)計(jì)
智能魚(yú)群健康狀況監(jiān)測(cè)系統(tǒng)的軟件部分主要包括視頻控制、視頻處理與數(shù)據(jù)分析三部分。
(1)視頻控制部分負(fù)責(zé)實(shí)時(shí)采集魚(yú)塘視頻圖像,攝像頭旋轉(zhuǎn)、變焦,視頻文件播放控制,抓圖錄像等。
(2)視頻處理部分負(fù)責(zé)對(duì)視頻圖像進(jìn)行預(yù)處理,去除噪點(diǎn),及魚(yú)群的檢測(cè)識(shí)別、運(yùn)動(dòng)跟蹤等。
(3)數(shù)據(jù)分析部分負(fù)責(zé)對(duì)魚(yú)群的游動(dòng)速度、加速度、深度進(jìn)行分析,記錄相關(guān)參數(shù),從而判斷魚(yú)群健康狀況并做出預(yù)警。
同時(shí),還可將相關(guān)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)以便用戶使用各種終端進(jìn)行查詢。魚(yú)群健康狀況監(jiān)測(cè)分析流程如圖2所示。
2.1 魚(yú)群運(yùn)動(dòng)跟蹤
要獲取水產(chǎn)養(yǎng)殖系統(tǒng)中魚(yú)群運(yùn)動(dòng)的相關(guān)參數(shù),必須首先對(duì)攝像機(jī)拍攝的魚(yú)群進(jìn)行自動(dòng)化檢測(cè)、識(shí)別,利用運(yùn)動(dòng)目標(biāo)跟蹤算法對(duì)魚(yú)群游動(dòng)的軌跡進(jìn)行連續(xù)跟蹤,通過(guò)對(duì)一系列連續(xù)圖像進(jìn)行分析研究,計(jì)算出魚(yú)群在連續(xù)多幀圖像中的位移,并根據(jù)魚(yú)塘大小、攝像機(jī)位置、焦距等信息進(jìn)一步獲取魚(yú)群游動(dòng)的速度、加速度、深度等運(yùn)動(dòng)參數(shù)。
運(yùn)動(dòng)目標(biāo)跟蹤技術(shù)是機(jī)器視覺(jué)領(lǐng)域中廣泛應(yīng)用的關(guān)鍵技術(shù),在人機(jī)交互、物體識(shí)別、視頻監(jiān)控等方面作用顯著。MeanShift算法因其無(wú)需參數(shù)、計(jì)算量小,對(duì)目標(biāo)變形、旋轉(zhuǎn)變化適應(yīng)性強(qiáng)等特點(diǎn)得到廣泛研究與應(yīng)用[4],而CAMShift算法則在其基礎(chǔ)上增加了自適應(yīng)大小功能[5]。這些傳統(tǒng)的目標(biāo)跟蹤算法在提取目標(biāo)顏色特征時(shí)容易受到背景的影響。例如,當(dāng)目標(biāo)中包含背景顏色信息時(shí),傳統(tǒng)方法會(huì)將屬于背景的像素誤判為目標(biāo)像素,從而引起跟蹤誤差,并且隨著誤差的積累加深,最終可能導(dǎo)致跟蹤失敗。
由于魚(yú)群在水中不停地游動(dòng),它們與攝像頭之間的距離和角度也不斷發(fā)生著變化,從而有可能出現(xiàn)重疊與遮擋。使用傳統(tǒng)的CAMShift算法可能導(dǎo)致目標(biāo)誤判、跟蹤失效,因此,本文系統(tǒng)采用文獻(xiàn)[6]中提出的將非線性核密度估計(jì)和CAMShift相結(jié)合的抗遮擋目標(biāo)跟蹤算法。首先選取非線性核密度估計(jì)方法對(duì)感興趣的魚(yú)群目標(biāo)進(jìn)行檢測(cè),然后采用CAMShift算法對(duì)檢測(cè)到的目標(biāo)進(jìn)行跟蹤,并結(jié)合非線性核密度估計(jì)的檢測(cè)結(jié)果進(jìn)行自適應(yīng)更新,從而實(shí)現(xiàn)魚(yú)群目標(biāo)的自動(dòng)跟蹤與自動(dòng)去除背景顏色。當(dāng)魚(yú)群目標(biāo)發(fā)生部分或全部遮擋時(shí),通過(guò)發(fā)生遮擋前一幀跟蹤到的目標(biāo)大小和位置預(yù)測(cè)下一幀的跟蹤框,從而較好地解決光照變化、陰影及遮擋對(duì)魚(yú)群運(yùn)動(dòng)跟蹤造成的影響。
2.2 魚(yú)群健康狀況監(jiān)測(cè)分析
當(dāng)魚(yú)群受到應(yīng)激(如外來(lái)群種入侵、缺氧、饑餓、生病等)時(shí),其游動(dòng)速度與加速度都會(huì)發(fā)生較大突變。例如,缺氧情況下魚(yú)群游速會(huì)降低,游動(dòng)位置會(huì)上移,需要經(jīng)常浮頭來(lái)呼吸氧氣;外來(lái)群種入侵時(shí)魚(yú)群游速會(huì)加快,活躍程度顯著上升。因此,通過(guò)監(jiān)測(cè)魚(yú)群游動(dòng)速度(加速度)與深度的變化,就可分析判斷出魚(yú)類(lèi)生長(zhǎng)環(huán)境的改變與健康狀況。
魚(yú)群游動(dòng)的速度(加速度)與深度等參數(shù)的變化可實(shí)時(shí)反映出魚(yú)群的健康狀況。本文系統(tǒng)周期性地獲取魚(yú)群游動(dòng)的速度、加速度與深度等參數(shù)數(shù)據(jù)并存儲(chǔ)至數(shù)據(jù)庫(kù)。在系統(tǒng)中設(shè)定速度、加速度與深度的閾值,當(dāng)魚(yú)群游動(dòng)的速度、加速度超過(guò)閾值時(shí)可判定為魚(yú)群受到外來(lái)刺激;當(dāng)魚(yú)群的游動(dòng)深度低于閾值時(shí),則可判定為缺氧;一旦魚(yú)群的游動(dòng)參數(shù)出現(xiàn)異常,系統(tǒng)將通過(guò)聲、光等形式發(fā)出報(bào)警信號(hào)。用戶可通過(guò)智能手機(jī)、平板、電腦等終端隨時(shí)隨地讀取參數(shù)并獲取報(bào)警信息,并且判定魚(yú)類(lèi)健康狀況時(shí)還可通過(guò)機(jī)器學(xué)習(xí)系統(tǒng)根據(jù)歷史特征數(shù)據(jù)對(duì)判定方法進(jìn)行進(jìn)一步優(yōu)化,從而保證判定結(jié)果的準(zhǔn)確性與穩(wěn)定性。
3 結(jié) 語(yǔ)
本文設(shè)計(jì)的基于機(jī)器視覺(jué)的智能魚(yú)群健康狀況監(jiān)測(cè)系統(tǒng)可對(duì)魚(yú)群由于外部或內(nèi)部因素產(chǎn)生的異常行為進(jìn)行長(zhǎng)期、穩(wěn)定、有效的監(jiān)控與報(bào)警,從而起到實(shí)時(shí)監(jiān)測(cè)魚(yú)類(lèi)健康狀況的作用,有效避免人工觀察帶來(lái)的一系列弊端,為真正實(shí)現(xiàn)水產(chǎn)養(yǎng)殖全過(guò)程的實(shí)時(shí)化與智能化進(jìn)行了一些有益探索。
參 考 文 獻(xiàn)
[1]唐啟升,丁曉明,劉世祿,等.我國(guó)水產(chǎn)養(yǎng)殖業(yè)綠色、可持續(xù)發(fā)展戰(zhàn)略與任務(wù)[J].中國(guó)漁業(yè)經(jīng)濟(jì),2014,32(1):6-14.
[2]邢俊,李慶武,何飛佳,等.基于智能視覺(jué)物聯(lián)網(wǎng)的水產(chǎn)養(yǎng)殖監(jiān)測(cè)系統(tǒng)[J].應(yīng)用科技,2017,44(5):46-51.
[3]百度百科.機(jī)器視覺(jué)[EB/OL].https://baike.baidu.com/item/機(jī)器視覺(jué)/7414484?fr=aladdin.
[4]吳慧敏,鄭曉勢(shì).改進(jìn)的高效CAMShift跟蹤算法[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(27):178-180.
[5] YANG C J,RAMANI D,DAVIS L.Efficient MeanShift tracking via a new similarity measure [C]// IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2005:176-183.
[6]劉超,惠晶.基于改進(jìn)CAMShift的運(yùn)動(dòng)目標(biāo)跟蹤算法[J].計(jì)算機(jī)工程與應(yīng)用,2014,50(11):149-153.
[7]徐龍香,李康,徐婷婷.基于深度特征的稀疏表示目標(biāo)跟蹤算法[J].物聯(lián)網(wǎng)技術(shù),2018,8(9):39-41.
[8]肖江,陳想,丁亮.一種改進(jìn)的MeanShift運(yùn)動(dòng)目標(biāo)跟蹤算法[J].信息技術(shù),2017(1):127-130.
[9]郭金朋,戰(zhàn)蔭偉,李雪武. 基于SURF和Camshift的運(yùn)動(dòng)目標(biāo)跟蹤[J].計(jì)算機(jī)工程與設(shè)計(jì),2017,38(8):2190-2193.
[10]袁永明,施珮.基于圖像處理的魚(yú)群運(yùn)動(dòng)監(jiān)測(cè)方法研究[J].南方水產(chǎn)科學(xué),2018(5):109-114.