多功昊,王紫聰,張 航
(天津農(nóng)學(xué)院計算機與信息工程學(xué)院,天津 300384)
隨著計算機視覺和圖像處理技術(shù)的發(fā)展和進步,計算機視覺在水產(chǎn)養(yǎng)殖中得到了廣泛的應(yīng)用,提高了水產(chǎn)養(yǎng)殖和管理的自動化水平。利用計算機視覺技術(shù)可以對魚苗進行行為檢測、應(yīng)季狀態(tài)的評估、魚苗的計數(shù)和分類、判讀魚苗的狀態(tài)等。并且基于計算機視覺的魚苗計數(shù)方法又具有精確度高、效率高等優(yōu)勢,從而使之成為一種研究技術(shù)的重要方法。此外,利用計算機視覺計數(shù)的魚苗計數(shù)方法的研究對提升現(xiàn)代化水產(chǎn)養(yǎng)殖過程中的信息化、自動化水平具有非常重要的實用價值和意義。
計算機視覺作為一種圖像收集、圖像處理和圖像分割的綜合技術(shù),其中圖像分割作為圖像處理中的核心,影響著整個系統(tǒng)的精確度。作為一種數(shù)字圖像處理技術(shù),圖像分割的依據(jù)可以是灰色、紋理或者顏色等,將圖像分割成具有不同特征的區(qū)域,然后利用特征提取算法對不同特征區(qū)域進行特征的提取,從而得到圖像的分類信息。圖像分割依據(jù)不同區(qū)域的差異和每個區(qū)域的不一致性等將圖像分割成為互不相交的部分,從而得到圖像的分類。其數(shù)學(xué)定義如下所示。
假設(shè)用R表示圖像區(qū)域,圖像分割實質(zhì)上就是將R根據(jù)不同的特征分割成為非空聯(lián)通子區(qū)域R1,R2,……,R3,并且滿足以下條件:
由條件(1)可知圖像分割的子集要包括圖像的每一個像素,從而保證圖像原始數(shù)據(jù)不缺失;由(2)可知根據(jù)不同特征劃分的各個子區(qū)域相互之間不重疊;由(3)可知圖像分割的各個子集特征明顯;由(4)可知不同子集之間的特征值要盡可能的大,以便于對于特征的分類。
根據(jù)圖像的數(shù)據(jù)信息,選擇合適的閾值是閾值分割的核心,閾值的優(yōu)劣影響著計算的結(jié)果和后續(xù)的圖像分類的精確度問題,其常用的方法是首先得到各個灰度級的概率分布,然后選擇一個或多個閾值,進而得到弧度的數(shù)據(jù)分類。常見的閾值分割方法有p-分數(shù)法、最頻值法、Otsu方法、最小誤差法和矩量保持法等方法。
圖像的邊緣檢測利用數(shù)據(jù)上的灰度值不連續(xù)來表示,主要是通過圖像信息的原始數(shù)據(jù),利用一階和二階的導(dǎo)數(shù)表來檢測圖像的邊緣,其中前者用于檢測邊緣的像素,后者則檢驗像素具有共同的圖像特征。
聚類分析也被稱作群分析,從而可以把圖像同一特征值劃分為一類,以利用遺傳聚類算法可以找到圖像的分割方法。
主要是利用模糊集的圖像分割方法,以解決圖像分割過程中由于圖像信息的不準(zhǔn)確和不完整等原因造成的模型性問題。從而將圖像的性質(zhì)、特征和關(guān)系映射到模糊理論的空間,通過模糊集和系統(tǒng)的理論實現(xiàn)圖像的分割。
閾值分割主要是利用圖像信息中的目標(biāo)物體和背景在灰度上的差異,然后選擇合適的閾值從而判斷圖像中的每一個像素點的特征是否符合要求,以確定圖像中的像素屬于目標(biāo)區(qū)域還是背景區(qū)域,最后產(chǎn)生二值的圖像。常用的閾值分割方法有直方圖閾值法、迭代閾值法和Otsu算法,特點如表1所示。
表1 不同閾值分割方法特點Tab.1 Characteristics of different threshold segmentation methods
由表1可知,不同的閾值分割方法的特點是不同的,在應(yīng)用是應(yīng)該根據(jù)具體環(huán)境選擇合適的方法。對于魚苗的計數(shù)來說,利用上述的閾值分割方法,運行處理不同的效果,如圖1所示。
由圖1可知,如果使用直方圖的方法,則魚苗分割比較清晰,但卻不適用于多谷峰的圖像,而迭代和Otsu方法在本實驗中實現(xiàn)了背景和目標(biāo)的分類,其耗費的時間分別為3.482 s和2.311 s,因此本實驗采用Oust算法來分割圖像。
Ostu算法即最大類間方差法,主要是根據(jù)圖像的灰度特征將圖像分為目標(biāo)和背景兩個區(qū)域,如果圖像中的背景和目標(biāo)之間的類間方差越大,則兩者之間的差別越大,越易于區(qū)分。假設(shè)圖像f有L個灰度級,其范圍為[0,L-1],灰度的級別i的像素總個數(shù)為Ni,因此總的像素個數(shù)為:
圖像的灰度級為i的概率為:
選擇閾值T從而將圖像分為目標(biāo)區(qū)域和背景區(qū)域,其中C0表示目前區(qū)域像素點,C1表示背景區(qū)域的像素點,C0、C1區(qū)域的表達式如下所示:
假設(shè)μ0、μ1分別表示目標(biāo)區(qū)域和背景區(qū)域的灰度值,μ表示整個圖像的灰度值,則:
則類間方差的計算可由以下公式得出,
通過以上公式從而計算得出Otsu算法的最佳閾值。
本文中主要采用連通區(qū)域標(biāo)記方法進行魚苗的計數(shù),其實現(xiàn)步驟如下:首先對二值的圖像進行掃描,并記錄每行連通區(qū)域的行號和起始點;然后對連通區(qū)域進行逐步的標(biāo)記并判斷與上一行的連通區(qū)域是否相同,如果相同則將重合其他的標(biāo)號賦值給改區(qū)域,否則賦予該連通區(qū)域新的標(biāo)號;對第一次掃描后的相同區(qū)域進行最小值的標(biāo)記,即將所有等價對標(biāo)號中的最小值賦值給所有的聯(lián)通區(qū)域。其計數(shù)的流程如圖2所示。
本試驗中采用的硬件設(shè)備是Intel I5 7400,8Gb內(nèi)存,編程工具是MATLAB,實驗中采用的是普通魚苗,如圖3所示。本文首先選取了稀疏魚苗和密集魚苗進程處理后的圖像,其中a和c為稀疏魚苗與密集魚苗分割處理后的結(jié)果圖像,b和d為稀疏魚苗和密集魚苗經(jīng)過處理后的對比,如圖4所示。
通過采用連通區(qū)域標(biāo)記法計數(shù),得出的結(jié)果與人工計數(shù)相比,如表2所示。
表2 魚苗計數(shù)對比Tab.2 Comparison of fish fry counts
由表2可知,在魚苗稀疏時準(zhǔn)確率很高,魚苗計數(shù)的準(zhǔn)確率也達到了91%,因此采用該方法對魚苗進行計數(shù)是可行的。
因此,基于上述的試驗的驗證,在不同的光照環(huán)境下,利用Ostu閾值分割方法對魚苗的圖像進行多次分割,其結(jié)果表現(xiàn)如圖5所示。
不同環(huán)境下對魚苗進行計數(shù)的結(jié)果如下表3所示。
表3 不同環(huán)境下的魚苗計數(shù)結(jié)果Tab.3 Number of fish fry in different environments