專利名稱:基于計算機(jī)視覺的魚苗自動計數(shù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是一種基于計算初j見覺的魚苗自動計數(shù)系
統(tǒng),屬生活需要之農(nóng)業(yè)中魚類養(yǎng)殖技術(shù)領(lǐng)域。
背景技術(shù):
為解決人類對水產(chǎn)食品需求的不斷增長和漁業(yè)資源的嚴(yán) 重衰退的矛盾,水產(chǎn)養(yǎng)殖業(yè)逐漸成為人類獲得水產(chǎn)品的主要手段。在水產(chǎn)養(yǎng) 殖中,魚苗的精確計數(shù)是科學(xué)投斜、養(yǎng)殖密度控制、魚苗的存活率評估和魚 苗購銷等養(yǎng)殖規(guī)范化管理的保障勤出,是實施水產(chǎn)養(yǎng)殖自動化的根本保證。
以往尚無專門的魚苗的計數(shù)方式,而是采用傳統(tǒng)的肉眼計數(shù)、人工計算 方式進(jìn)行。通常是先將全部魚苗收集,集中分配到收集桶中,再取其中一收 集桶來做計數(shù),計算出此收集桶中魚苗的數(shù)目后,再乘以收集桶的個數(shù),估 算出全部有多少魚苗。此種傳統(tǒng)方法對于體積非常小、生命力低的幼苗有以
下幾大缺點
1、 每個收集桶中魚苗數(shù)目大約有一萬至兩萬只不等,計數(shù)準(zhǔn)確率低、計 數(shù)時間非常久;
2、 肉眼會因為時間一久而產(chǎn)生疲勞的現(xiàn)象,使計數(shù)的準(zhǔn)確率進(jìn)一步降低;
3、 離水操作,魚苗存活率低;
傳統(tǒng)的人工計數(shù)方式還有碗計數(shù)、比例法等,但這些計數(shù)方法同樣存在 人為因素影響大、費(fèi)時費(fèi)力和誤差不定的缺點。因此,按傳統(tǒng)的計數(shù)方法, 魚苗精確計數(shù)非常困難。
為克服上述問題,有臺灣中山大學(xué)碩士論文《簡易魚苗自動點算系統(tǒng)設(shè) 計》介紹了一種通過圖像處理對水箱內(nèi)魚苗進(jìn)行計數(shù)的系統(tǒng),包括一套數(shù)據(jù) 采集裝置和一個計算方法,其中數(shù)據(jù)采集裝置包括一方形白色可透光塑料水 箱, 一數(shù)字?jǐn)z像機(jī),用浮子安裝在水箱水體上,鏡頭垂直指向水體, 一計算 機(jī)和連接攝像機(jī)與計算機(jī)的數(shù)據(jù)連接裝置;而計算方法是一套采集數(shù)據(jù)和數(shù) 據(jù)處理的程序。其中數(shù)據(jù)處理方法是一種利用計算機(jī)圖像處理方法來進(jìn)行魚 苗計數(shù)的方法,采用彩色攝像頭將水箱中的魚苗圖像為基礎(chǔ),利用開發(fā)的軟 件程序提取圖片中色彩強(qiáng)度(即每個像素點上紅、綠、藍(lán)三原色色階的平均 值)作為分析指標(biāo),計算每條魚所占的平均強(qiáng)度,進(jìn)而獲得整個圖像中魚苗
4的數(shù)量。該系統(tǒng)實現(xiàn)了魚苗的自動化計數(shù),克服了傳統(tǒng)的魚苗計數(shù)方法所導(dǎo) 致的各種缺陷,但是,由于該系統(tǒng)采用單一攝^f象頭垂直拍攝,不同深度上的 魚苗在成像時有不同程度的失真,這就影響了該方法的實用性和實際計數(shù)的
準(zhǔn)確性,該文顯示其誤差為15%左右。另外,該系統(tǒng)采用的是色彩強(qiáng)度指標(biāo)
作為計算指標(biāo),每個像素點上都要計算三種原色的色階值,當(dāng)拍攝到的圖片 像素較多時,處理的數(shù)據(jù)量會極劇增加,會顯著影響系統(tǒng)的運(yùn)算速度
發(fā)明內(nèi)容
針對上述缺陷,本發(fā)明所要解決的技術(shù)問題就是要提出 一種更精確、更簡便的基于計算機(jī)視覺的魚苗自動計數(shù)系統(tǒng),以達(dá)到水產(chǎn)養(yǎng) 殖中的魚苗計數(shù)中自動、無干擾、高精、高效、低成本的效果,促進(jìn)水產(chǎn)養(yǎng) 殖自動化水平的發(fā)展。
本發(fā)明提供的基于計算機(jī)視覺的魚苗自動計數(shù)系統(tǒng),包括一套數(shù)據(jù)采集 裝置和一個計數(shù)方法,所說數(shù)據(jù)采集裝置是由一放置魚苗的水箱、 一魚苗圖 像數(shù)字拍攝系統(tǒng)、 一計算機(jī)和連接計算機(jī)與數(shù)字拍攝系統(tǒng)的信號連接裝置構(gòu) 成,所說計算方法是存儲于計算機(jī)寄存器中的通過魚苗圖像分析對魚苗計數(shù) 的計算機(jī)程序,
其中
魚苗圖像數(shù)字拍攝系統(tǒng)有兩個數(shù)字?jǐn)z像頭以正交的相互位置安裝在水箱 上,使數(shù)字?jǐn)z像頭獲得的魚苗圖像有魚苗在水箱中的平面和立面兩個分布圖
像,數(shù)字?jǐn)z像頭的拍攝范圍以攝像機(jī)鏡頭的大小和焦距確定; 魚苗計數(shù)的計算機(jī)程序的工作過程是
1. 分別從兩只攝像頭各獲得無魚苗的背景照片K張,每只攝像頭數(shù)據(jù)記 為I0k, k=l、 2、 3、…、K;
2. 將獲得的各背景照片轉(zhuǎn)換為灰度矩陣,記為G汰,并對所得背景照片 各象素點的灰度進(jìn)行平均化得Gom ,
1 K
3. 提示可向水箱倒入已知數(shù)量的魚苗;
4. 分別從兩只攝像頭各獲得M組已知魚苗數(shù)量的魚苗照片,每組拍攝L 張,每只攝像頭數(shù)據(jù)記為Iij, i=l、 2、 3、…、M, j=l、 2、 3、…、L;
5. 對各照片作如步驟2所說的轉(zhuǎn)換并對每組魚苗照片各象素點進(jìn)行灰度平均化,得到M組灰度矩陣Gim, i=l、 2、 3、、 M;
6. 分別按兩個攝像機(jī)將各組魚苗照片灰度與背景照片的灰度做差,即 AGi=Gim-G0m, i=l、 2、 3、…、M;
以上步驟1至步驟6均分別按通過兩只攝像頭所得到的圖像執(zhí)行;
7. 用數(shù)據(jù)擬合的方法找出魚苗數(shù)量與照片灰度變化的關(guān)系Ns-f"AGi);
8. 用關(guān)系式Ns=f,(AGi)計算得到經(jīng)兩個攝像頭拍攝的各組圖像的處理結(jié) 果平面上的魚苗數(shù)N^ 、立面上的魚苗數(shù)Ns2,并以各組這兩個魚苗數(shù)與各 組實際沖殳入的魚苗數(shù)以數(shù)據(jù)擬合方法得到測定范圍內(nèi)的魚苗數(shù)N, N= axNslxNs21/2+b,其中a和b是擬合系數(shù);
9. 存儲關(guān)系式并提示標(biāo)準(zhǔn)測定完成,可以倒入待計數(shù)魚苗進(jìn)行計數(shù)操作;
10. 分別從兩只攝像頭各獲得未知魚苗數(shù)量的魚苗照片J張,每只攝像頭 數(shù)據(jù)計為1/ ,經(jīng)同步驟2轉(zhuǎn)換并作灰度平均處理后得灰度矩陣G',經(jīng)同步 驟6與背景照片作灰度差得AG',用步驟7所得關(guān)系式Ns:"(AGi)代入,得 到魚苗數(shù)計算式N' -f"AG'),并計算得到在平面上的魚苗數(shù)N,'和在立面 上的魚苗數(shù)N/ ;
11. 用步驟8得到的關(guān)系式N二 axNslxNs21/2+b,以在平面上的魚苗數(shù)N! '和在立面上的魚苗數(shù)N/代入,計算得到照片拍攝范圍內(nèi)的魚苗數(shù)量Np, Np,N/ xN2' 1/2+b;
12. 以焦距和鏡頭大小計算拍攝照片的面積,并計算出實際拍攝區(qū)域的 體積(水平照片面積x立面照片直徑)Vp,由此處理得到單位體積內(nèi)的魚苗數(shù) 量NPP=NP/VP;
13. 提示輸入實測計算得到水箱內(nèi)魚苗水體的實際體積V;
14. 才艮據(jù)實際體積計算水箱內(nèi)魚苗實際的數(shù)量N=NppxV;
15. 輸出計算結(jié)果。
本發(fā)明提供的基于計算機(jī)視覺的魚苗自動計數(shù)系統(tǒng),利用兩個數(shù)字?jǐn)z像 機(jī)分別從正交的兩個方向?qū)κ⒎庞恤~苗的水箱進(jìn)行圖片拍攝,可獲取水箱中 魚苗的立面和平面圖^f象構(gòu)成魚苗立體分布的信息,彌補(bǔ)了單一平面分布信息 的不足。另外,在圖像處理時,直接采用了灰度色階作為評價指標(biāo),每個像 素點上,只要提取一個色階數(shù)據(jù),與色彩強(qiáng)度作為指標(biāo)的處理方法相比,所處理的數(shù)據(jù)量大大減少,也相應(yīng)提高了計數(shù)效率。本發(fā)明與現(xiàn)有技術(shù)相比,
魚苗自動計數(shù)準(zhǔn)確率更高,誤差僅為5%以下,計數(shù)速度更快。
附圖為本發(fā)明所用裝置構(gòu)成圖,圖中1-數(shù)字?jǐn)z像頭外殼,
2-數(shù)字?jǐn)z像頭,3-數(shù)字?jǐn)z像頭固定裝置,4-水箱,5-數(shù)字?jǐn)z像頭固定裝置,6-數(shù)字?jǐn)z像頭外殼,7-數(shù)字?jǐn)z像頭,8-圖像顯示器,9-計算機(jī),10-圖像采集卡。
具體實施例方式
如附圖所示, 一種基于計算機(jī)視覺的魚苗自動計數(shù)系統(tǒng),有兩個數(shù)字?jǐn)z 像系統(tǒng),包括數(shù)字?jǐn)z像頭外殼l、數(shù)字?jǐn)z像頭2、數(shù)字?jǐn)z像頭固定裝置3組成 的數(shù)字?jǐn)z像系統(tǒng)A,數(shù)字?jǐn)z像頭固定裝置5、數(shù)字?jǐn)z像頭外殼6、數(shù)字?jǐn)z像頭 7組成的數(shù)字?jǐn)z像系統(tǒng)B。有一臺計算機(jī)9,攝像機(jī)的數(shù)據(jù)線經(jīng)圖像采集卡10 插在計算機(jī)的數(shù)據(jù)接口上,計算機(jī)還有圖像顯示器8。有水箱4,水箱是長方 體形狀的透明塑料箱,水箱4內(nèi)有水。所述圖像拍攝系統(tǒng)A以所述數(shù)字?jǐn)z像 頭2固定在所述數(shù)字?jǐn)z像頭外殼1內(nèi)并通過所述數(shù)字?jǐn)z像頭固定裝置3固定 于水箱側(cè)面,從水平方向指向水體。所述圖像拍攝系統(tǒng)B以數(shù)字圖像攝像頭 6固定在所述數(shù)字?jǐn)z像頭外殼5內(nèi)并通過所述數(shù)字?jǐn)z像頭固定裝置7浮于水 面,從垂直方向指向水體。
先拍攝無魚水體的背景圖片并經(jīng)計算機(jī)處理得到背景數(shù)據(jù),再在水箱中 放入已知數(shù)的魚苗,兩個數(shù)字圖像攝像頭所拍攝的圖像數(shù)據(jù)通過圖像采集卡 10采集進(jìn)入計算機(jī)9,顯示于圖像顯示器8,計算機(jī)對圖像通過所述魚苗圖像 分析軟件進(jìn)行分析計算,得出所測魚苗數(shù)與圖像數(shù)據(jù)間的關(guān)系,并對此關(guān)系 進(jìn)行儲存。然后在所述水箱4內(nèi)裝入所需計數(shù)的魚苗,所述圖像拍攝系統(tǒng)A、 B對其進(jìn)行圖像數(shù)據(jù)拍攝,通過所述的圖像采集卡10采集進(jìn)入所述計算機(jī)9, 顯示于圖像顯示器8,再通過所述魚苗圖像分析軟件對獲取的數(shù)據(jù)進(jìn)行分析計 算,以所儲存的關(guān)系式計算得出水箱內(nèi)的魚苗尾數(shù)。
具體的魚苗計數(shù)的計算機(jī)程序的工作過程是
1. 在水箱中注入水并裝妥數(shù)字?jǐn)z像系統(tǒng)和計算機(jī)系統(tǒng),啟動計算機(jī)和攝 像機(jī);
2. 啟動程序,計算機(jī)從兩只攝像頭各截取背景照片30幅,共60幅,記 為I艦,d=l、 2, k=l、 2、 3、…、30;
73. 計算機(jī)將獲得的各背景照片轉(zhuǎn)換為灰度矩陣,記為GdQk,并用公式
&。 =丄|]&。4, d=l,2,對所得背景照片各象素點的灰度進(jìn)行平均化,存儲 30
結(jié)果;
4. 計算機(jī)提示可向水箱倒入已知數(shù)量的魚苗;
5. 向水箱中逐次放入IO、 20、 30、 40、 50條魚苗,魚苗為大小是2士0.5 厘米的銀飄魚魚苗;
6. 計算機(jī)逐次向計算機(jī)輸入繼續(xù)命令,計算機(jī)從兩只攝像頭依次截取不 同數(shù)量魚苗的照片5組,每組兩方向各拍攝30張,記為Idij, d=l、 2分別表 示上方和側(cè)面兩只揭/f象才幾,i=l、 2、 3、…、5, j=l、 2、 3、…、30;
7. 計算機(jī)對各照片作如步驟2所說的轉(zhuǎn)換并對每組魚苗照片各象素點進(jìn) 行灰度平均化,得到5組灰度矩陣Gdim, d=l、 2, i=l、 2、 3、…、5;
8. 計算機(jī)將每組魚苗照片的灰度與背景照片的灰度做差,即 AGd產(chǎn)Gta-Gdto, d=l、 2, i=l、 2、 3、…、5,再用數(shù)據(jù)擬合的方法找出魚苗數(shù) 量與照片灰度變化的關(guān)系Ns-(l/400) xAGdi (即1條魚造成的灰度差值為400, 兩條為800, IO條引起的灰度差值為4000),并寄存結(jié)果;
9. 用Ns-(l/400) xAGdi代入各組的兩個攝像頭圖像的灰度差,獲得平面 上的魚苗數(shù)N^ 、立面上的魚苗數(shù)Nis2, i=l、 2、 3、…、5,以數(shù)據(jù)擬合的方 法獲得所測魚苗數(shù)(N)與兩個方向圖像處理得到的魚苗數(shù)之間的關(guān)系 N=axNslxNs21/2+b=0.82xNslxNs21/2+2.4,并儲存結(jié)果;
10. 計算機(jī)提示標(biāo)準(zhǔn)測定完成,可以進(jìn)行計數(shù)操作;
11. 向水箱放入待計數(shù)魚苗,并向計算機(jī)輸入繼續(xù)命令;
12. 計算機(jī)從兩只攝像頭各截取未知魚苗數(shù)量的魚苗照片30張,共60 張,計為W , d=l、 2, j=l、 2、 3、…、30,經(jīng)同步驟2轉(zhuǎn)換并作灰度平均 處理后得灰度矩陣G',經(jīng)同步驟6與背景照片作灰度差得AG',用Ns =(1/400) xAGdi關(guān)系代入,計算得到魚苗數(shù)N' =(1/400) AG',其中,在上方 拍攝到的照片平均灰度差值為12000,計算結(jié)果平面數(shù)量為NZ =30條,在側(cè) 面拍攝到的照片平均灰度差值為12800,計算結(jié)果立面數(shù)量為N2' =24條;
13. 計算機(jī)用在平面的魚苗數(shù)和在立面的魚苗數(shù)N2'代入關(guān)系式N= 0.82xNslxNs21/2+2.4,計算得到本次測定兩個攝像頭照片拍攝范圍內(nèi)的魚苗 數(shù)量Np =0.82x30x241/2+2.4=122.91條,并寄存結(jié)果;
13. 計算機(jī)以焦距和鏡頭大小計算拍攝照片的面積,并計算出實際拍攝 區(qū)域的體積(約為水平照片面積x立面照片直徑)Vp=5425cm3,用關(guān)系式 Npj^Np/Vp處理得到單位體積內(nèi)的魚苗數(shù)量Npp=0.022656條/cm3并寄存結(jié)果;
11. 計算機(jī)提示輸入實測計算得到水箱內(nèi)魚苗水體的實際體積;
12. 向計算機(jī)輸入根據(jù)實際測量計算得到的水箱內(nèi)水體體積V為64000
cm3;
13 .計算機(jī)根據(jù)實際體積計算水箱內(nèi)魚苗的實際數(shù)量 N=NppxV=0.022656x64000=1450條;
14. 計算機(jī)輸出計算結(jié)果。
15. 重復(fù)10至14步,進(jìn)行其他組未知數(shù)量的同種同樣大小的魚苗數(shù)量。 本例中實際在水箱中投放的魚苗約為1500條,上述計數(shù)結(jié)果為1450條,
則本發(fā)明系統(tǒng)誤差僅為3.3°/o。
權(quán)利要求
1、一種基于計算機(jī)視覺的魚苗自動計數(shù)系統(tǒng),包括一套數(shù)據(jù)采集裝置和一個計數(shù)方法,所說數(shù)據(jù)采集裝置是由一放置魚苗的水箱、一魚苗圖像數(shù)字拍攝系統(tǒng)、一計算機(jī)和連接計算機(jī)與數(shù)字拍攝系統(tǒng)的信號連接裝置構(gòu)成,所說計算方法是存儲于計算機(jī)寄存器中的通過魚苗圖像分析對魚苗計數(shù)的計算機(jī)程序,其特征是魚苗圖像數(shù)字拍攝系統(tǒng)有兩個數(shù)字?jǐn)z像頭以正交的相互位置安裝在水箱上,使數(shù)字?jǐn)z像頭獲得的魚苗圖像有魚苗在水箱中的平面和立面兩個分布圖像,數(shù)字?jǐn)z像頭的拍攝范圍以攝像機(jī)鏡頭的大小和焦距確定;魚苗計數(shù)的計算機(jī)程序的工作過程是1)分別從兩只攝像頭各獲得無魚苗的背景照片K張,每只攝像頭數(shù)據(jù)記為I0k,k=1、2、3、…、K;2)將獲得的各背景照片轉(zhuǎn)換為灰度矩陣,記為G0k,并對所得背景照片各象素點的灰度進(jìn)行平均化得G0m,3)提示可向水箱倒入已知數(shù)量的魚苗;4)分別從兩只攝像頭各獲得M組已知魚苗數(shù)量的魚苗照片,每組拍攝L張,每只攝像頭數(shù)據(jù)記為Iij,i=1、2、3、…、M,j=1、2、3、…、L;5)對各照片作如步驟2所說的轉(zhuǎn)換并對每組魚苗照片各象素點進(jìn)行灰度平均化,得到M組灰度矩陣Gim,i=1、2、3、…、M;6)分別按兩個攝像機(jī)將各組魚苗照片灰度與背景照片的灰度做差,即ΔGi=Gim-G0m,i=1、2、3、…、M;以上步驟1至步驟6均分別按通過兩只攝像頭所得到的圖像執(zhí)行;7)用數(shù)據(jù)擬合的方法找出魚苗數(shù)量與照片灰度變化的關(guān)系Ns=f1(ΔGi);8)用關(guān)系式Ns=f1(ΔGi)計算得到經(jīng)兩個攝像頭拍攝的各組圖像的處理結(jié)果平面上的魚苗數(shù)Ns1、立面上的魚苗數(shù)Ns2,并以各組這兩個魚苗數(shù)與各組實際投入的魚苗數(shù)以數(shù)據(jù)擬合方法得到測定范圍內(nèi)的魚苗數(shù)N,N=a×Ns1×Ns21/2+b,其中a和b是擬合系數(shù);9)存儲關(guān)系式并提示標(biāo)準(zhǔn)測定完成,可以倒入待計數(shù)魚苗進(jìn)行計數(shù)操作;10)分別從兩只攝像頭各獲得未知魚苗數(shù)量的魚苗照片J張,每只攝像頭數(shù)據(jù)計為Ij′,經(jīng)同步驟2轉(zhuǎn)換并作灰度平均處理后得灰度矩陣G′,經(jīng)同步驟6與背景照片作灰度差得ΔG′,用步驟7所得關(guān)系式Ns=f1(ΔGi)代入,得到魚苗數(shù)計算式N′=f1(ΔG′),并計算得到在平面上的魚苗數(shù)N1′和在立面上的魚苗數(shù)N2′;11)用步驟8得到的關(guān)系式N=a×Ns1×Ns21/2+b,以在平面上的魚苗數(shù)N1′和在立面上的魚苗數(shù)N2′代入,計算得到照片拍攝范圍內(nèi)的魚苗數(shù)量Np,Np=a×N1′×N2′1/2+b;12)以焦距和鏡頭大小計算拍攝照片的面積,并計算出實際拍攝區(qū)域的體積(水平照片面積×立面照片直徑)Vp,由此處理得到單位體積內(nèi)的魚苗數(shù)量Npp=Np/Vp;13)提示輸入實測計算得到水箱內(nèi)魚苗水體的實際體積V;14)根據(jù)實際體積計算水箱內(nèi)魚苗實際的數(shù)量N=Npp×V;15)輸出計算結(jié)果。
全文摘要
本發(fā)明提供的基于計算機(jī)視覺的魚苗自動計數(shù)系統(tǒng),包括一套數(shù)據(jù)采集裝置和一個計數(shù)方法,所說數(shù)據(jù)采集裝置是由一放置魚苗的水箱[4]、兩個數(shù)字?jǐn)z像頭[2、7]以正交的相互位置安裝在水箱上構(gòu)成的魚苗圖像數(shù)字拍攝系統(tǒng)、一計算機(jī)[9]和連接計算機(jī)與數(shù)字拍攝系統(tǒng)的信號連接裝置[10]構(gòu)成,所說計算方法是存儲于計算機(jī)寄存器中的計算機(jī)程序,其分析過程是用無魚苗的背景照片的灰度數(shù)據(jù)、已知魚苗數(shù)量的魚苗照片的灰度數(shù)據(jù)獲得魚苗照片灰度數(shù)據(jù)與魚苗數(shù)量之間的關(guān)系式,最后通過這個關(guān)系式獲得待計數(shù)魚苗的數(shù)量。本發(fā)明與現(xiàn)有技術(shù)相比,用兩個攝像頭正交采集圖像數(shù)據(jù),使魚苗自動計數(shù)誤差為5%以下,而僅處理圖像灰度數(shù)據(jù),使計數(shù)速度更快。
文檔編號A01K61/00GK101430775SQ20081016217
公開日2009年5月13日 申請日期2008年11月17日 優(yōu)先權(quán)日2008年11月17日
發(fā)明者呂冰海, 朱從容 申請人:浙江海洋學(xué)院