郭 俊,鄭 堤,2,陳俊華, 劉年福
(1.寧波大學(xué) 機(jī)械工程與力學(xué)學(xué)院,浙江 寧波 315211;2.浙江大學(xué) 寧波理工學(xué)院 機(jī)電與能源工程學(xué)院,浙江 寧波 315100;3.浙江大學(xué) 機(jī)械工程學(xué)院,浙江 杭州 310058)
隨著養(yǎng)殖生產(chǎn)規(guī)模的不斷擴(kuò)大,魚群在設(shè)施養(yǎng)殖中的精確計(jì)數(shù)為魚苗銷售運(yùn)輸、養(yǎng)殖密度控制等環(huán)節(jié)的有效管理提供了基礎(chǔ)。傳統(tǒng)的人工魚群計(jì)數(shù)方法有分布取樣統(tǒng)計(jì)平均法和稱重法,前者費(fèi)時(shí)費(fèi)力,且亦受到人為主觀因素的影響[1,2],后者會(huì)對(duì)幼苗產(chǎn)生應(yīng)激和物理傷害,測(cè)量過的幼苗需較長(zhǎng)時(shí)間才能恢復(fù)正常的攝食生長(zhǎng)[3]。
隨著計(jì)算機(jī)視覺和圖像處理技術(shù)的迅速發(fā)展,依靠傳感器技術(shù)科學(xué)的指導(dǎo)養(yǎng)殖生產(chǎn)勢(shì)在必行[4],基于圖像處理技術(shù)魚群計(jì)數(shù)方法得到了廣泛的關(guān)注,具有操作簡(jiǎn)便、效率高、準(zhǔn)確度高、對(duì)魚體基本無傷害等特點(diǎn)[5],在農(nóng)業(yè)的生產(chǎn)中有著廣泛的應(yīng)用和廣闊的發(fā)展前景。目前,已有研究人員利用端點(diǎn)細(xì)化算法[6]、神經(jīng)網(wǎng)絡(luò)[7,8]、四鄰域標(biāo)記[9]、灰度圖像分析[10]、曲線演化法[11]等方法對(duì)生物幼苗進(jìn)行計(jì)數(shù),但主要針對(duì)單幀圖像且對(duì)于因魚苗黏連導(dǎo)致的計(jì)數(shù)誤差較大并未有很好的解決方法。
本文提出了一種基于視覺跟蹤和回歸分析的魚苗計(jì)數(shù)方法,對(duì)無黏連的正常圖像和有黏連的異常圖像分別進(jìn)行分析處理和回歸建模,較好地解決了圖像黏連導(dǎo)致的計(jì)數(shù)誤差較大的問題,為精確、高效的設(shè)施養(yǎng)殖管理奠定基礎(chǔ)。
魚苗計(jì)數(shù)系統(tǒng)由養(yǎng)殖水箱、計(jì)數(shù)水箱、出魚水箱和圖像采集與處理子系統(tǒng)等部分組成,如圖1所示。養(yǎng)殖水箱中養(yǎng)殖待計(jì)數(shù)的魚苗;計(jì)數(shù)水箱用于暫存按批次從養(yǎng)殖水箱放下來的魚苗,并供攝像機(jī)攝取每批次魚苗的圖像信息;出魚水箱用于收集經(jīng)過計(jì)數(shù)的魚苗供銷售、檢驗(yàn)分析或其他研究與管理使用;電荷耦合器件(charge coupled device,CCD)攝像機(jī)進(jìn)行圖像采集,處理子系統(tǒng)可按一定時(shí)間間隔動(dòng)態(tài)跟蹤拍攝多幅計(jì)數(shù)水箱中的魚苗圖像,并以計(jì)算機(jī)為平臺(tái),采用NI公司開發(fā)的NI Vision Assistant視覺模塊對(duì)采集的魚群圖像進(jìn)行相關(guān)處理,利用MATLAB軟件求出相關(guān)參數(shù),得出相關(guān)算法模型。魚苗計(jì)數(shù)系統(tǒng)的工作原理:控制球閥(球閥內(nèi)部安裝電磁閥,防止球閥關(guān)閉時(shí)誤傷正在通過的魚),讓魚苗從養(yǎng)殖水箱通過管道進(jìn)入計(jì)數(shù)水箱;由圖像采集與處理子系統(tǒng)采集計(jì)數(shù)水箱中的魚群圖像并進(jìn)行分析處理與計(jì)數(shù);將計(jì)數(shù)水箱中的魚群通過球閥和管道放入出魚水箱。上述過程持續(xù)進(jìn)行,直至出魚水箱中魚的總數(shù)達(dá)到預(yù)定值。
圖1 計(jì)算機(jī)視覺魚苗自動(dòng)計(jì)數(shù)系統(tǒng)
對(duì)采集自計(jì)數(shù)水箱中的一張魚苗圖像如圖2(a)所示,進(jìn)行濾波、二值化等預(yù)處理,其結(jié)果如圖2(b)所示。
圖2 圖像預(yù)處理
對(duì)預(yù)處理后的魚苗圖像中每個(gè)圖像塊分別進(jìn)行標(biāo)記,如圖3(a)所示,未黏連的每尾魚單獨(dú)標(biāo)記,稱其為正常圖像,在圖中有4個(gè)圖像塊為正常圖像;如圖3(b)中的標(biāo)簽7和8所示,兩尾或多尾魚因重疊而黏連在一起的圖像整塊標(biāo)記,稱其為異常圖像,圖中有兩個(gè)圖像塊為異常圖像。
圖3 圖像誤判標(biāo)記
分析正常圖像,選取面積最小的正常圖像的值記為c1,選取面積最大的5個(gè)正常圖像求平均值記為c2。對(duì)正常圖像的面積在區(qū)間[c1,c2]上進(jìn)行歸一化處理,得
(1)
式中Fa為正常圖像測(cè)得的面積;Sa為歸一化處理后該正常圖像的面積。
由于魚群在水箱中自由游動(dòng),其拍攝的圖像具有多樣性,如圖4(a)中標(biāo)簽1與圖4(b)中標(biāo)簽7的圖像塊,其面積相差不大且均超過正常圖像的面積,在劃分圖像時(shí)可能會(huì)同時(shí)被誤判為異常圖像。因此,需要對(duì)異常圖像進(jìn)行視覺跟蹤分析,便于區(qū)分黏連的圖像。
圖4 異常圖像誤判分析
在跟蹤分析異常面積的過程中,若由于圖像面積太大而被判定為異常圖像,可考慮在0~t時(shí)刻內(nèi)觀察圖像是否變化進(jìn)行分析;若由于黏連而被判定為異常圖像,在0~t時(shí)刻內(nèi)跟蹤異常圖像,若圖像塊的面積Fa變化幅度較大(超過1/3Fa)或者分為多個(gè)獨(dú)立的圖像塊,則判定為黏連導(dǎo)致的異常圖像。在魚苗的計(jì)數(shù)時(shí),不同范圍的圖像面積對(duì)應(yīng)的計(jì)算方法有所不同。
(2)
為了計(jì)算圖像中每個(gè)圖像塊對(duì)應(yīng)的魚苗的數(shù)目,將定義為正常圖像或異常圖像的面積的歸一化值作為自變量,定義的正常圖像或異常圖像轉(zhuǎn)化為量值0或1作為修正變量,每個(gè)圖像塊對(duì)應(yīng)不同的魚數(shù)目作為因變量,構(gòu)建數(shù)學(xué)模型[12~15],反映圖像塊面積與魚苗數(shù)目之間存在相關(guān)關(guān)系。
根據(jù)式(1)和式(2),對(duì)于圖像塊設(shè)自變量x1,x2,x3,系數(shù)θ0,θ1,θ2,θ3,因變量n建立數(shù)目計(jì)算的估計(jì)函數(shù)模型
n=θ0+θ1x1+θ2x2+θ3x3
(3)
式中x1此圖像塊的面積歸一值;x2,x3分別為正常圖像和異常圖像的量值,取值0或1。
若在一組圖像中有n個(gè)圖像塊,為了便于得出相關(guān)系數(shù),則式(3)改寫成矩陣形式為
h(x)=XθT
(4)
利用梯度下降法進(jìn)行迭代直到收斂得到最佳系數(shù),其迭代公式為[16]
(5)
式中θj為初始系數(shù)值,根據(jù)初始系數(shù)進(jìn)行系數(shù)迭代,迭代曲線逐漸趨于平穩(wěn),直至收斂,輸出θ值;hθ(x(i))為圖像中的第i個(gè)圖像塊計(jì)算對(duì)應(yīng)的數(shù)目;ni為第i個(gè)圖像塊對(duì)應(yīng)的實(shí)際魚的數(shù)目;n為一組圖像中參與計(jì)算的圖像塊的數(shù)目;α為學(xué)習(xí)速率,文中選取1×10-3。
每塊圖像的面積大小決定了所對(duì)應(yīng)魚的計(jì)算數(shù)目。在圖像分析中可知,正常圖像(即c1 (6) 式中n1為正常圖像的個(gè)數(shù);x1為正常圖像的面積歸一化值(即為Sa),由于是正常圖像則取x2=1,x3=0。 對(duì)于異常圖像,為了判定面積相差較大導(dǎo)致的異常圖像和黏連導(dǎo)致的異常圖像,需要在0~t時(shí)刻對(duì)異常圖像跟蹤分析,若為面積較大導(dǎo)致的異常圖像,結(jié)合式(1)和式(3),其對(duì)應(yīng)的魚的數(shù)目計(jì)算如公式(7)中N21;若為黏連導(dǎo)致的異常圖像,則結(jié)合式(2)和式(3),其對(duì)應(yīng)的魚的數(shù)目計(jì)算如式(7)中N22 (7) 式中n21,n22分別為為由于面積尺寸較大導(dǎo)致的異常面積的數(shù)目和由于黏連導(dǎo)致的異常面積的數(shù)目。N21中參與計(jì)算的x1由于是誤判為異常面積,所以,在計(jì)算時(shí)需要在正常圖像面積范圍內(nèi)取值,在計(jì)算中x1取值為原始面積(c1+c2)/2經(jīng)過歸一化的值,其中x2=1,x3=0;N22中參與計(jì)算的x1根據(jù)實(shí)際面積的歸一化值代入計(jì)算,x2=0,x3=1。 對(duì)一組圖像中不同的圖像塊分別計(jì)算魚的數(shù)目,累加求和得出圖像中魚苗的數(shù)目 N=N1+N21+N22 (8) 為了確保魚苗數(shù)目估計(jì)函數(shù)中相關(guān)系數(shù)的精度,需要拍攝多組圖像作為訓(xùn)練組,并擬合出最佳系數(shù)。在魚苗計(jì)數(shù)實(shí)驗(yàn)系統(tǒng)中進(jìn)行樣本采集,養(yǎng)殖魚苗種類為鯽魚,水箱直徑100 cm,水深50 cm。計(jì)數(shù)水箱中首先放入25尾魚,并拍攝魚群游動(dòng)過程中動(dòng)態(tài)圖像作為訓(xùn)練組。拍攝第一張圖像且通過軟件處理得到面積參數(shù),選取正常圖像中的圖像面積范圍(c1,c2)為(1 000,2 000),若在(2 000,+∞)范圍內(nèi)則為異常圖像。為了便于精確圖像劃分和分類,分組拍攝圖像,每組2張,時(shí)間間隔為2 s,第一張圖像作為初始圖像識(shí)別正常圖像和異常圖像,第二張圖像作為對(duì)比圖像分析識(shí)別導(dǎo)致異常圖像的原因并計(jì)算一組系數(shù)。同理,在2 s后進(jìn)行第二組拍攝,共計(jì)拍攝100張圖像50對(duì)圖像組進(jìn)行分析。根據(jù)訓(xùn)練組得出圖像劃分情況如表1所示。 表1 圖像劃分 個(gè) 根據(jù)魚苗的游動(dòng)特性2 s內(nèi)能夠明顯判斷出導(dǎo)致異常圖像的原因。由表1可知,開始時(shí)的第一組圖像中識(shí)別的正常圖像的數(shù)目有13個(gè),異常圖像的數(shù)目有6個(gè),經(jīng)過2 s拍攝的圖像中識(shí)別的由于面積較大導(dǎo)致的異常圖像的數(shù)目有1個(gè),由于黏連導(dǎo)致的異常圖像的數(shù)目有5個(gè)。根據(jù)圖像面積的不同,對(duì)圖像進(jìn)行劃分的方法解決了圖像黏連的問題。 在訓(xùn)練組的圖像劃分的基礎(chǔ)上根據(jù)式(1)~式(3),通過梯度下降法迭代求解每組的相關(guān)系數(shù),然后回歸擬合得出最佳系數(shù)[17],確定估計(jì)函數(shù)n為 n=0.598 7+0.352 8x1+1.266 5x1+0.332 2x2 (9) 為了驗(yàn)證此估計(jì)函數(shù)的準(zhǔn)確性和適用性,在實(shí)驗(yàn)中控制球閥1,拍攝在一定的時(shí)間內(nèi)進(jìn)入計(jì)數(shù)水箱中的魚苗并進(jìn)行數(shù)目計(jì)算。根據(jù)每次進(jìn)入計(jì)數(shù)水箱中魚群的數(shù)目不同,魚苗的數(shù)目統(tǒng)計(jì)如表2所示。 表2 魚苗的數(shù)目計(jì)算結(jié)果 尾 由表2可知,此算法計(jì)算魚苗的數(shù)目接近真實(shí)值,最大誤差約為4.18 %,且每次計(jì)數(shù)只需要4 s,即可完成。實(shí)驗(yàn)表明:基于圖像面積分析的方法計(jì)算魚群的數(shù)目精度較高且時(shí)間較短。 范嵩等人[5]提出了基于端點(diǎn)的細(xì)化算法,通過連通域中的端點(diǎn)數(shù)目確定魚群中魚的尾數(shù),2個(gè)端點(diǎn)判斷為1尾魚,3個(gè)端點(diǎn)判斷為3尾魚,n個(gè)端點(diǎn)則根據(jù)n/2+1公式計(jì)算,計(jì)算數(shù)目誤差較大,計(jì)數(shù)的魚苗的數(shù)目較少且平均誤差達(dá)到7.13 %;黃玲等人[6]用連通域中像素點(diǎn)分析法進(jìn)行魚群計(jì)數(shù),對(duì)16~19尾魚數(shù)目統(tǒng)計(jì),當(dāng)連通域內(nèi)魚數(shù)較多且圖像黏連情況較嚴(yán)重時(shí),多尾魚的像素點(diǎn)重疊在一起,計(jì)數(shù)誤差達(dá)到11.76 %。王文靜等人利用圖像閾值分割法通過單一目標(biāo)面積和平均面積的關(guān)系確定目標(biāo)數(shù)量,對(duì)不重疊區(qū)域計(jì)算幼苗的數(shù)量,黏連的幼苗利用標(biāo)記的方法區(qū)分,然后估算出黏連的魚苗數(shù)目,并未具體分析黏連的數(shù)目,導(dǎo)致最終累加求出魚苗的的總數(shù)誤差較大,雖然統(tǒng)計(jì)的數(shù)目較大,但是精度較低,誤差達(dá)到11.5 %。魚苗的購(gòu)銷過程中對(duì)魚苗的計(jì)算時(shí)間和數(shù)目精度要求比較高,本文主要設(shè)計(jì)了一種對(duì)于一批或多批魚苗連續(xù)實(shí)時(shí)的在線計(jì)數(shù)系統(tǒng),計(jì)算數(shù)目適當(dāng)且精確度較高,解決了人工計(jì)數(shù)的繁瑣和精度誤差較大的問題,并為魚苗銷售運(yùn)輸、養(yǎng)殖密度控制方面提供實(shí)用的理論基礎(chǔ)。 算法的計(jì)算精度和可行性已通過驗(yàn)證,為了進(jìn)一步提高精度可以通過以下方面進(jìn)行改進(jìn):1)在實(shí)驗(yàn)中最佳的效果是控制球閥的開啟時(shí)間,根據(jù)管道直徑的尺寸和水流速度估算在一定的時(shí)間內(nèi)進(jìn)入計(jì)數(shù)水箱中魚群的數(shù)目,水箱中水的高度不應(yīng)超過3倍魚體的尺寸高度,防止魚被完全遮擋;2)魚的圖像劃分尺寸選擇不合理會(huì)影響計(jì)算精度,在選取魚的正常圖像面積范圍時(shí)要根據(jù)多數(shù)合理的形狀統(tǒng)計(jì)后進(jìn)行選??;3)在實(shí)驗(yàn)數(shù)據(jù)采集時(shí),多數(shù)的魚苗盡量分散,可以將圓形水箱設(shè)計(jì)為扁型的水箱。 采用計(jì)算機(jī)視覺技術(shù)實(shí)時(shí)跟蹤分析魚苗規(guī)律完成計(jì)數(shù)并解決魚苗計(jì)數(shù)過程中黏連問題?;趫D像面積的不同建立圖像特征值與魚苗數(shù)量之間的相關(guān)關(guān)系模型,根據(jù)圖像塊面積大小不同劃分圖像,對(duì)其中異常圖像的跟蹤分析識(shí)別出黏連的圖像并獲得魚苗數(shù)目計(jì)算的算法,在相同樣實(shí)驗(yàn)情況下,對(duì)不同數(shù)目的魚群進(jìn)行驗(yàn)證,此研究方法計(jì)算得出的魚群的數(shù)目精度較高,且用時(shí)短,同其他計(jì)數(shù)算法相比較,計(jì)算精度較高。算法可為魚苗的飼養(yǎng)、運(yùn)輸和銷售過程中對(duì)一定數(shù)量或批量的魚苗精確計(jì)數(shù)提供理論參考。對(duì)于非設(shè)施養(yǎng)殖的復(fù)雜的環(huán)境中魚苗的批量計(jì)數(shù)算法有待進(jìn)一步的探討與研究。 [1] 王文靜.基于計(jì)算機(jī)視覺魚苗自動(dòng)計(jì)數(shù)系統(tǒng)研究 [J].漁業(yè)現(xiàn)代化,2016,43(3):34-38. [2] 徐斐力,馬應(yīng)森,黃應(yīng)生.分布取樣式魚(蝦)苗計(jì)數(shù)器:中國(guó),CN88202836.7[P].1989—12—13. [3] 盧建琦.稱量式魚(蝦)計(jì)數(shù)方法及其設(shè)備:中國(guó),CN88100193.7[P].1989—08—09. [4] 石 堯,李 暉,楊永欽,等.海洋牧場(chǎng)多參數(shù)智能監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].傳感器與微系統(tǒng),2017,36(9):70-72. [5] Chatain B,Debas L,Bourdillon A.A photographic larval fish counting technique:Comparison with other methods,statistical appraisal of the procedure and practicaluse[J].Aquaculture,1996,141:83-96. [6] 范 嵩,劉 嬌,楊 軼.圖像識(shí)別技術(shù)在魚苗計(jì)數(shù)方面的研究與實(shí)現(xiàn)[J].水產(chǎn)科學(xué),2008,27(4):210-212. [7] Fan L Z,Liu Y.Automate fry counting using computer vision and multi-class least squares support vector machine[J].Aquaculture,2013,380-383:91-98. [8] Newbury P F,Culverhouse P F,Pilgrim D A.Automatic fish population counting by artificial neural network[J].Aquaculture,1995,133(1):45-55. [9] 劉世晶,陳 軍,劉興國(guó),等.基于圖像處理技術(shù)的小球藻熒光圖像自動(dòng)計(jì)數(shù)方法研究[J].漁業(yè)現(xiàn)代化,2012,39(5):16-19. [10] Foster M,Petrell R,Ito M R,et al.Detection and counting of uneaten food pellets in a sea cage using image analysis[J].Aquacultural Engineering,1995,4(3):251-269. [11] 王 碩,范良忠,劉 鷹.基于計(jì)算機(jī)視覺的大菱鲆魚苗計(jì)數(shù)方法研究[J].漁業(yè)現(xiàn)代化,2015,42(1):16-19. [12] 汪奇生,楊德宏,楊騰飛.線性回歸總體最小二乘平差模型及解算[J].大地測(cè)量與地球動(dòng)力學(xué),2015,35(1):126-128. [13] 王惠文,孟 潔.多元線性回歸的預(yù)測(cè)建模方法[J].北京航空航天大學(xué)大學(xué)學(xué)報(bào),2007,33(4):500-504. [14] 陳永勝,宋立新.多元線性回歸建模以及SPSS軟件求解[J].通化師范學(xué)院學(xué)報(bào),2007,28(12):8-9,12. [15] 劉 嚴(yán).多元線性回歸的數(shù)學(xué)模型[J].沈陽工程學(xué)院學(xué)報(bào):自然科學(xué)版,2005(Z1):128-129. [16] 郭躍東,宋旭東.梯度下降法的分析和改進(jìn)[J].科學(xué)展望,2016,26(15):115-117. [17] 鞠升輝,李楊民.基于運(yùn)動(dòng)分析的運(yùn)動(dòng)目標(biāo)實(shí)時(shí)跟蹤系統(tǒng)[J].傳感器與微系統(tǒng),2016,35(7):58-61.3 驗(yàn)證與分析
4 討 論
4.1 計(jì)數(shù)方法比較
4.2 尚需改善的部分
5 結(jié)束語