馬國強 田云臣 李曉嵐
(天津農(nóng)學院計算機與信息工程學院 天津 300384)
?
K-均值聚類算法在海水背景石斑魚彩色圖像分割中的應用
馬國強田云臣*李曉嵐
(天津農(nóng)學院計算機與信息工程學院天津 300384)
摘要魚類圖像分割是養(yǎng)殖魚類行為觀測和智能化自動投餌系統(tǒng)的關鍵先決步驟。針對海水背景圖像中魚體分割,提出一種在人工海水環(huán)境中獲取石斑魚彩色RGB圖像的軟硬件系統(tǒng),并將K-均值聚類算法應用于RGB格式圖像的分割實驗。觀察并分析了彩色圖像的三種單色(R、G或B)像素的直方圖特征。以RGB三色像素點和三種單色(R、G或B)像素點為聚類數(shù)據(jù)集,使用K-均值聚類算法進行圖像分割,聚類數(shù)設定為2,分別代表海水背景和魚體目標。通過對100幅圖像分割結果的觀察和統(tǒng)計,可以得出初步結果,即使用藍色(B)通道聚類分割的結果,最令人滿意。
關鍵詞圖像分割K-均值聚類海水養(yǎng)殖
0引言
如今,很多視頻監(jiān)控系統(tǒng)已經(jīng)廣泛應用于工業(yè)生產(chǎn)、智能交通和人的行為觀察等。同樣,魚類的行為監(jiān)控對于海洋公園和水產(chǎn)養(yǎng)殖的管理都十分重要[1]。視頻監(jiān)控系統(tǒng)的關鍵操作是基于目標對象的分割與跟蹤。
視頻監(jiān)控系統(tǒng)采集的圖像通常為真彩色RGB格式。彩色圖像分割在計算機視覺技術方面是一個相對較新的領域。關于彩色圖像分割的文獻,并不像關于灰度值圖像分割的那么廣泛[2]。國內(nèi)外的研究學者提出了很多關于彩色圖像的分割算法。Pinkiewicz等在利用計算機視覺技術對魚的游泳行為分析過程中,使用了正常閾值、自適應閾值、平均背景估計和使用Sobel算子的邊緣檢測共4種方法,對單一圖像和連續(xù)多幀圖像進行了分割[3]。Felzenszwalb等將一幅RGB格式的彩色圖像當成三幅單色的圖像,分別進行分割[4]。Vassilis等在對每一幅彩色圖像處理之前,將其分為R、G和B三個顏色分量。用戶可以選擇魚和背景對比度最高的分量進行分割。在實驗中,綠色分量具有最好的對比度,所以該分量被選擇做進一步的處理[5]。Chuang等提出了一種基于分水嶺算法的,從輸送帶實時視頻中的彩色圖像分割出魚體的新算法[6]。Zhang等首先使用自動色彩均衡ACE(Automatic Color Equalization)在HSV顏色空間對彩色圖像進行無監(jiān)督的增強處理,然后,結合ACE,并使用基于區(qū)域的分割算法。該方法可得到復雜背景圖像中任意區(qū)域的魚體作為感興趣的對象[7]。
聚類分割方法是一類很重要的圖像分割方法。聚類法實質上是一種無監(jiān)督的統(tǒng)計迭代方法,它的基本原理是提取各樣本(這里就是各像素點)的特征值,并根據(jù)這些特征迭代執(zhí)行圖像分類[8]。Yao等提出了一種對傳統(tǒng)的K-均值聚類分割算法改進后用于魚的圖像分割的新算法[9]。第一步,最佳聚類數(shù)目被確定為灰度直方圖的峰數(shù),類的中心值用OTSU法計算的閾值的均值進行過濾得到;第二步,利用數(shù)學形態(tài)學上的開閉操作,得到魚體的輪廓。Chuang等提出了一種利用直方圖反投影過程的新算法,核心思想是利用雙局部閾值來保證魚的形狀的可靠分割[10]。黃芬等使用K-均值聚類算法對歸一化的小麥冠層圖像進行基于H分量的彩色圖像分割,獲得目標圖像[11]。對光照均勻與不均勻圖像分別作不同處理,光照均勻圖像獲得兩個聚類,即初步目標圖像和背景圖像。光照不均勻圖像獲得三個聚類,將聚類中心接近的兩個聚類合并得到初步目標圖像,剩余一個聚類則為背景圖像。
本文首先對人工海水背景中的石斑魚RGB格式彩色圖像的不同顏色分量直方圖特性進行了分析。然后在此基礎上,對RGB向量值表示的像素點和用紅色(R)、綠色(G)和藍色(B)分量(通道)表示的單通道像素點,分別使用K-均值聚類算法進行分割實驗。最后,通過對100幅彩色圖像的分割結果的觀察和統(tǒng)計,發(fā)現(xiàn)使用藍色(B)分量聚類,能夠得到相對穩(wěn)定和滿意的分割效果。
1海水背景石斑魚彩色圖像的獲取
石斑魚屬于海水養(yǎng)殖魚類,工廠化養(yǎng)殖采用人工制造的低鹽度海水作為水質環(huán)境。一般情況下,這種人工海水與淡水相比透光性較差,在這種水質中拍攝的彩色圖像背景相對較暗。
1.1石斑魚飼喂實驗水箱及圖像獲取系統(tǒng)簡介
飼喂石斑魚的水箱系統(tǒng)是一個分三層的整體結構,從上到下依次為清水箱、養(yǎng)殖箱和過濾箱,由厚度為10 mm的高透明玻璃粘結而成。三個水箱同樣大小,均為長120 cm,寬80 cm,高60 cm,兩水箱間高度為40 cm。養(yǎng)殖用水使用人工海水,鹽度保持在28,保持各水箱的水深在50 cm左右。在養(yǎng)殖箱放養(yǎng)10條青石斑魚,平均體重80.5 g,平均體長19.5 cm。
1.2彩色圖像獲取系統(tǒng)簡介
彩色圖像獲取系統(tǒng)由硬件和軟件兩部分構成。
硬件部分包括USB接口的高清攝像頭、有源高速USB集線器和普通計算機。攝像頭型號為隨銳(SUIRUI)HD28A 高清廣角網(wǎng)絡攝像頭,USB集線器使用奧???ORICO) A3H10-BK型號全鋁高速USB 3.0 10口HUB 集線器(帶電源),計算機為聯(lián)想(Lenovo) 揚天S740-00 21.5英寸一體機,處理器型號為i5-4430S,內(nèi)存為8 GB,硬盤容量為1 TB,1 GB顯存的獨立顯卡,帶兩個USB 3.0的接口。高清攝像頭做防水處理,固定在一根直支架一頭,伸入水中,支架另一頭固定在養(yǎng)殖箱的上邊緣。
軟件部分主要Windows 7旗艦版操作系統(tǒng)和Matlab R2012a。用Matlab 語言開發(fā)了圖形界面的彩色圖像獲取程序,負責控制攝像頭進行單幅圖像的拍照、10張圖像連拍和圖像文件保存等操作。
1.3彩色圖像的基本特征
利用彩色圖像獲取系統(tǒng)的Matlab圖形界面程序,設置高清攝像頭的分辨率為1280×720像素,真彩RGB格式,每個通道都是256級。通過“單次拍攝”和“連續(xù)拍攝”按鈕,獲取并保存圖像文件。
使用Maltab自帶的histogram()函數(shù),分別畫出紅色、綠色和藍色(R、G和B)分量(通道)的直方圖。觀察發(fā)現(xiàn),只有藍色(B分量)的直方圖,具有明顯的“雙峰”特征。
一幅原始彩色RGB圖像(編號:A02)及其各分量(通道)圖以及對應的直方圖如圖1-圖7所示(因黑白印刷,色彩可能無法顯示)。
圖1 RGB原圖 圖2 紅色R分量(通道)圖像
圖3 綠色G分量(通道)圖像 圖4 藍色B 分量(通道)圖像
圖5 紅色R分量(通道)像素值直方圖 圖6 綠色G分量(通道)像素值直方圖
圖7 藍色B分量(通道)像素值直方圖
2K-均值聚類算法原理及圖像分割流程
聚類是一個將數(shù)據(jù)集中在某些方面相似的數(shù)據(jù)成員進行分類組織的過程,聚類技術經(jīng)常被稱為無監(jiān)督學習。1967 年MacQueen 首次提出了K-均值聚類算法(K-means算法)。由于K-均值聚類算法的簡潔和效率,使得它成為所有聚類算法中使用最廣泛的一種算法。
2.1K-均值聚類算法概述
K-均值聚類算法可以概括為:給定一個由n個樣本組成、需要分類數(shù)據(jù)集,每個樣本由r個特征值來描述,以及計劃的聚類數(shù)目k,k一般事先指定。以r個特征值為依據(jù)(輸入量),根據(jù)某個區(qū)分函數(shù)(一般為歐氏距離函數(shù))的值為目標函數(shù),反復把逐個樣本分入k個聚類中。最終將數(shù)據(jù)集中的所有樣本點分為k類,使得所有樣本點到其所屬類的中心的距離之和最小。
K-均值聚類算法的迭代過程是:第一步,先隨機選取k個樣本數(shù)據(jù)點作為初始的聚類中心,分別代表k個類的類中心。然后分別計算數(shù)據(jù)集中除選作初始聚類中心的其他所有樣本數(shù)據(jù)點與k個聚類中心點之間的距離,把每個樣本數(shù)據(jù)點分配給距離它最近的聚類中心所代表的類。第二步,根據(jù)第一步得到的每個類中樣本數(shù)據(jù)點的值,通過簡單平均的計算辦法,重新計算每個類的聚類中心點的值。第三步,重新計算數(shù)據(jù)集中所有樣本數(shù)據(jù)點到新的k個聚類中心點的距離,把每個樣本數(shù)據(jù)點分配給距離它最近的聚類中心所代表的類。重新計算聚類中心點的值和根據(jù)與聚類中心的距離重新分配所有樣本數(shù)據(jù)點到新的聚類中心所代表的類的過程將不斷重復,直到滿足以下某個終止條件:
(1) 沒有新的(或達到最小數(shù)目的)樣本數(shù)據(jù)點被重新分配給不同的聚類中心點所代表的類。
(2) 所有(或接近于k個)聚類中心點的值不再發(fā)生變化或變化量小于設定的閾值。
(3) 所有樣本數(shù)據(jù)點到其所屬類的中心點的距離之和已達最小(或變化達到某個最小值)。
K-均值聚類算法必須事先確定類的數(shù)目k。在實際應用過程中,k值往往很難事先確定,因此有一定的局限性。但是,在人工海水養(yǎng)殖環(huán)境中拍攝的魚類圖像中,只有海水背景和魚體目標。在這里k是確定的,即k=2。換句話說,這樣的圖像比較適合使用K-均值聚類算法進行分割。
2.2使用彩色圖像像素點的K-均值聚類公式
彩色圖像獲取系統(tǒng)得到的為1280×720像素的中等分辨率彩色圖像,保存格式為RGB真彩圖像文件。
每幅RGB格式的真彩圖像文件中,共包含1280×720=921 600個像素點,每個像素點由R、G、B三個值構成的一個向量表示,比如(255,255,255)。
在這里,用于聚類的數(shù)據(jù)是由921 600個數(shù)據(jù)點組成的數(shù)據(jù)集X={xi|xi∈R3,i=1,2,…,921 600},每個數(shù)據(jù)點xi是由3個表征其特征的R、G、B數(shù)據(jù)組成的向量。
K-均值聚類的目標是將n(此處n=921 600)個數(shù)據(jù)點劃分到k(此處k=2)類組成的數(shù)據(jù)集C={ck|k=1,2,…,k},其中ck類的類中心設為μk。一個被劃分到ck類的數(shù)據(jù)點xi到類中心μk的距離為:
(1)
所有被劃分到ck類的點xi到該類的類中心μk的歐氏距離之和為:
M(ck)=∑xi∈ckD(xi,μk)
(2)
用于聚類的數(shù)據(jù)集中所有數(shù)據(jù)點到其所屬類的歐氏距離總合,即將每個類中的數(shù)據(jù)點到其類中心的歐氏距離之和相加,為:
(3)
聚類目標就是使式(3)中的S(xi)的值最小。
K-均值聚類算法的步驟可描述為:
Step1聚類開始,隨機選定k(此處k=2)個數(shù)據(jù)點作為k個類的初始類中心點的值。設定初始S(xi)值為0,設定最大迭代次數(shù)h。
Step2依次計算數(shù)據(jù)集中各數(shù)據(jù)點到k個類中心的歐氏距離,并將其劃分到距離最近的一個類中,得到k個類的數(shù)據(jù)集。
Step3依次計算k個類中所有數(shù)據(jù)點的簡單算術平均值,作為該類的新的類中心。
Step4計算所有數(shù)據(jù)點到其所屬類的類中心的歐氏距離之和S(xi),判斷S(xi)的值是否未改變或者改變量在某最小值之內(nèi),或者迭代次數(shù)達到上限h,如果是,就轉到Step5,聚類結束;如果否,就轉到Step2,繼續(xù)迭代。
Step5迭代結束,算法終止。
2.3分割實驗流程
使用Matlab R2012a科學計算開發(fā)軟件作為實驗編程工具,利用其數(shù)據(jù)挖掘工具包自帶的kmeans()函數(shù)作K-均值聚類算法的實現(xiàn)工具。kmeans(X,k)函數(shù)有兩個輸入?yún)?shù),X和k,X是數(shù)據(jù)點構成的n×p的矩陣,矩陣的每一行代表一個數(shù)據(jù)點,其一列代表構成該數(shù)據(jù)點的某個特征值;kmeans()函數(shù)返回一個n行1列的向量,其中每一行的值表示該行號的數(shù)據(jù)點所屬的類號。
當使用像素點的RGB值聚類時,X是n×3的矩陣,其中n是一幅彩色圖像中的總像素點數(shù),這里n=921 600。每一行的3列值分別表示R、G和B分量的值。當只使用R、G或B一個分量的值聚類時,X是n×1的向量,表示R、G或B分量的值。這里,k=2。分割流程如圖8所示。
圖8 石斑魚圖像K-均值聚類算法分割流程圖
3圖像分割實驗與分析
本實驗采用了上述彩色圖像獲取系統(tǒng)拍攝的人工海水中養(yǎng)殖的石斑魚圖像,共100幅。使用Windows 7操作系統(tǒng)和Matlab R2012a,作為圖像分割實驗基本軟件環(huán)境。計算了使用同一圖像文件的4種數(shù)據(jù), K-均值聚類分割后得到的滿意結果數(shù)量。
3.1圖像分割結果
通過對100幅圖像,采用RGB向量數(shù)據(jù)和分別采用單獨的某個原色值(R、G或B)分割結果的觀察,發(fā)現(xiàn)使用藍色單色值分割效果總體令人滿意。此處,以兩幅圖的分割結果為例,如圖9所示。
圖9 RGB及其三分量的不同分割結果舉例圖
3.2聚類分割結果分析
我們仔細觀察和對比了像素值分布直方圖和圖像分割結果,發(fā)現(xiàn)只有三色中的藍色分量(B分量)的直方圖普遍具有“雙峰”特點?;谶@個分量的K-均值聚類算法分割結果,也最令人滿意。分析其原因,可能藍色是構成人工海水背景的主色調。
通過對100幅人工海水中石斑魚的RGB圖像文件進行分割實驗。以每個像素點的RGB向量值作為聚類分割的數(shù)據(jù)點,只有10個圖像文件得到了可用的分割結果;以每個像素點的紅色(R)分量值作為聚類分割的數(shù)據(jù)點,只有8個圖像文件得到了可用的分割結果;以每個像素點的綠色(G)分量值作為聚類分割的數(shù)據(jù)點,只有6個圖像文件得到了可用的分割結果;而以每個像素點的藍色(B)分量值作為聚類分割的數(shù)據(jù)點,有98個圖像文件得到了可用的分割結果,并且其余2個文件使用其他分量或RGB向量值,也同樣得不到滿意的分割結果。
采用RGB向量值或R、G、B分量得到的分割滿意結果文件數(shù)如圖10所示。
圖10 采用不同數(shù)據(jù)點矩陣得到的分割滿意圖像數(shù)比較
4結語
(1) 本文提出了一種構建人工海水中石斑魚彩色RGB圖像獲取系統(tǒng)的基本框架。
(2) 將K-均值聚類算法應用于石斑魚彩色圖像的分割,并對采用RGB向量值和R、G、B各分量值的分割結果進行了對比和分析。
(3) 分割結果表明,人工海水背景的石斑魚彩色圖像分割,僅使用藍色(B)分量,可得到滿意的分割結果。
參考文獻
[1] Jiahong Lee,Meiyi Wu,Zhicheng Guo.A tank fish recognition and tracking system using computer vision techniques[C]//Computer Science and Information Technology (ICCSIT2010),The 3rd IEEE International Conference on Computer Science and Information Technology,Chengdu,China,9-11 July,2010:528-532.
[2] ?zlem N Subakan,Baba C Vemuri.A Quaternion Framework for Color Image Smoothing and Segmentation[J].International Journal of Computer Vision,2011,91(3):233-250.
[3] Pinkiewicz T H,Purser G J,Williams R N.A computer vision system to analyse the swimming behaviour of farmed fish in commercial aquaculture facilities:A case study using cage-held Atlantic salmon[J].Aquacultural Engineering,2011,45(1):20-27.
[4] Felzenszwalb P F,Huttenlocher D P.Efficient graph based image segmentation[J].International Journal of Computer Vision,2004,59(2):167-181.
[5] Vassilis M Papadakis,Ioannis E Papadakis,Fani Lamprianidou,et al.A computer-vision system and methodology for the analysis of fish behavior[J].Aquacultural Engineering,January,2012,46(1):53-59.
[6] Mengche Chuang,Jenqneng Hwang,Craig S Rose.Aggregated segmentation of fish from conveyor belt videos[C]//ICASSP 2013 : The 38th IEEE International Conference on Acoustics, Speech, and Signal Processing, Vancouver, Canada, 26-30 May,2013:1807-1811.
[7] Peizhe Zhang,Canping Li.Region-based Color Image Segmentation of Fishes with Complex Background in Water[C]//2011 IEEE International Conference on Computer Science and Automation Engineering.2011,Shanghai,China,10-12 Jun,2011:596-600.
[8] 劉玉潔.改進的K均值聚類算法彩色圖像分割的研究[J].工業(yè)控制計算機,2012,25(4):76-77.
[9] Hong Yao,Qingling Duan,Daoliang Li,et al.An improved K-means clustering algorithm for fish image segmentation[J].Mathematical and Computer Modelling,2013,58(3-4):790-798.
[10] Mengche Chuang,Jenqneng Hwang,Kresimir Williams,et al.Richard Towler Automatic Fish Segmentation Via Double Local Thresholding for Trawl-based Underwater Camera Systems[C]//ICIP 2011:The 18th IEEE International Conference on Image Processing,Brussels,11-14 Sept,2011:3145-3148.
[11] 黃芬,于琪,姚霞,等.小麥冠層圖像H分量的K均值聚類分割[J].計算機工程與應用,2014,50(3):129-134.
APPLICATION OF K-MEANS CLUSTERING ALGORITHM IN COLOUR IMAGE SEGMENTATION OF GROUPER IN SEAWATER BACKGROUND
Ma GuoqiangTian Yunchen*Li Xiaolan
(SchoolofComputerandInformationEngineering,TianjinAgriculturalUniversity,Tianjin300384,China)
AbstractFish’s image segmentation is the key and prerequisite step of the behaviour observation and intelligent automatic feeding system for farmed fish. For fish segmentation of the image with seawater background, we proposed a hardware and software system in regard to acquiring colour RGB image of grouper farmed in artificial seawater environment, and applied k-means clustering algorithm in the experiment of RGB format images’ segmentation. We observed and analysed the histogram characters of three planes of monochromatic pixels (R, G or B) of colour image. Using three-colour pixel points (RGB) and three planes of monochromatic pixels (R, G or B) as the clustering data sets, we employed k-means clustering algorithm for image segmentation, the clustering number value was set to 2, representing the seawater background and fish object respectively. Through observation and statistics of 100 image segmentation results, it could draw a preliminary conclusion that the results of using blue (B) plane clustering segmentation satisfied the most.
KeywordsImage segmentationK-means clusteringMari culture
收稿日期:2014-10-29。天津市科技支撐計劃重點項目(14ZCZ DNC00009);公益性行業(yè)(農(nóng)業(yè))科研專項項目(201203017)。馬國強,講師,主研領域:圖像處理,模式識別。田云臣,教授。李曉嵐,講師。
中圖分類號TP391.41
文獻標識碼A
DOI:10.3969/j.issn.1000-386x.2016.05.048