【摘? 要】為了增大我國對豬群飼養(yǎng)的規(guī)模,為了提高市場豬肉的質(zhì)量和產(chǎn)量,為了響應(yīng)國家對農(nóng)業(yè)發(fā)展的大力支持,為了滿足我國眾多人口對豬肉的需求,本文契合時機地順應(yīng)當(dāng)下機器視覺技術(shù)的蓬勃發(fā)展,將主要針對機器視覺圖像處理方面的技術(shù)展開研究,以求達到對群養(yǎng)豬圖像中的豬個體實現(xiàn)智能識別。首先,針對豬舍中惡劣的環(huán)境,為了減少陰影、光線不足的影響,取得較好的識別效果,本文選用豬舍正上方俯視拍攝群養(yǎng)豬視頻序列的方法。由于豬舍背景復(fù)雜,目標(biāo)提取難度大,所以在事先標(biāo)定的有效區(qū)域內(nèi)利用Visual Studio2015軟件結(jié)合Open CV中的Crab Cut交互式目標(biāo)提取的算法,對原始彩色圖像中的7頭豬進行初步目標(biāo)分割,并結(jié)合簡單的閾值分割、形態(tài)學(xué)處理和孔洞填充等操作,將目標(biāo)盡可能完整地從背景中提取出來。其次,對豬舍中的7頭豬個體分別建立樣本圖像庫,依次提取灰度直方圖、顏色矩、灰度共生矩陣、不變矩等多種特征。針對高維度的數(shù)據(jù)會增加算法復(fù)雜度,也可能會降低分類器識別率等問題。
【關(guān)鍵詞】? 群養(yǎng)豬;特征提取;圖像分割;Crab Cut,Open Cv;智能識別
1. 緒論
1.1研究目的及意義
本研究主要對基于VS2015結(jié)合OpenCv的CrabCut算法對群養(yǎng)豬的圖像分割進行重點研究,后續(xù)對數(shù)據(jù)優(yōu)化和分類識別等方面作了簡單介紹,簡潔描述了樣本庫中豬個體提取顏色、紋理和形狀等多種特征提取方法以及數(shù)據(jù)優(yōu)化,最后介紹利用混合函數(shù)SVM完成對群養(yǎng)豬的個體身份識別。
1.2課題主要研究工作
基于opencv的機器視覺系統(tǒng)用于群養(yǎng)豬身份的自動識別,首先俯拍群養(yǎng)豬視頻序列,在標(biāo)定的區(qū)域內(nèi)使用Grab Cut交互式目標(biāo)提取算法,對彩色圖像進行初步目標(biāo)分割,并結(jié)合閾值分割、形態(tài)學(xué)處理和孔洞填充等操作,將目標(biāo)提取出來。
2.群養(yǎng)豬視頻采集及目標(biāo)提取
基于在OpenCV中的“摳圖”(Crab Cut)算法對目標(biāo)提取上的輕量高效,本文主要采用VS配置OpenCV,并采用C++語言編寫程序,在VS環(huán)境中對OpenCV中的函數(shù)進行調(diào)用,從而實現(xiàn)交互式Crab Cut算法對圖像進行目標(biāo)分割。
2.1群養(yǎng)豬俯視視頻采集
采用俯拍方式拍攝群養(yǎng)豬的RGB圖像序列,在進行拍攝豬群時,應(yīng)在光照充足且均勻的環(huán)境下拍攝,避免陰影的影響造成拍攝模糊不清。在選擇視頻片段時,應(yīng)避免采用存在某些豬個體臥躺、攀爬、爭斗、重疊嚴重的情況,以免對后面的豬個體特征提取造成影響。本文選取了滿足實驗要求視頻序列作為樣本幀,圖像如圖(2-1)所示:
2.2群養(yǎng)豬個體目標(biāo)提取
隨著養(yǎng)豬業(yè)規(guī)模的不斷發(fā)展,對群養(yǎng)豬進行個體身份識別、健康狀況判斷、行為分析等研究具有重要的實用價值。但是目前群養(yǎng)豬的檢測技術(shù)依舊處于初級階段,外加豬舍環(huán)境復(fù)雜,外界的干擾因素較多,分割難度也隨之增大。
(1)傳統(tǒng)目標(biāo)分割算法。基于閾值的分割方法?;叶乳撝捣指罘ㄊ且环N最常用的并行區(qū)域技術(shù),它是圖像分割中應(yīng)用數(shù)量最多的一類。閾值分割方法實際上是輸入圖像f到輸出圖像g的如下變換:其中,T為閾值;對于物體的圖像元素,g(i,j)=1,對于背景的圖像元素,g(i,j)=0。
(2)交互式Grab Cut算法。交互式圖像分割(Crab Cut)算法只需用戶輸入一些簡單的標(biāo)記,就可以很好地解決自動分割的一些問題,使得目標(biāo)提取更加完整。使用VS結(jié)合OpenCV操作方法簡單,運行快速,輕量高效。
(3)豬目標(biāo)提取方法及結(jié)果。本在window10系統(tǒng)下,采用VS2015結(jié)合OpenCV3.2來實現(xiàn)Crab Cut算法對圖像進行的目標(biāo)分割。在此之前要先將OpenCV加入系統(tǒng)環(huán)境變量中,并將OpenCV目錄下build中的bin等文件地址添加到VS2015中等操作,完成OpenCV和VS2015的配置,并能夠?qū)崿F(xiàn)VS2015對OpenCV調(diào)用。在成功配置好OpenCV和VS2015后,需要編寫程序來實現(xiàn)圖像分割?;趯rabCut函數(shù)的認識,在調(diào)用Grab Cut函數(shù)前需要建立鼠標(biāo)回調(diào)函數(shù)-setMouseCallback并且還需建立-onMouse函數(shù)實現(xiàn)對矩形窗口區(qū)域進行處理。
在完成VS2015對豬群圖片的讀取后,在豬群中任選一頭豬鼠標(biāo)劃出一個矩形框來完全框起這頭豬。在框好之后,按“n”進行第一次迭代,在完成第一次迭代后,可繼續(xù)按“n”可進行第二次迭代,以此類推,可進行多次迭代直到符合我們的要求即可。(注意,此處的“n”只是程序定義的開始符,也可以修改程序換為其他的標(biāo)識符)。本文列舉第1、3次迭代的實驗結(jié)果如下:(下圖為第一次迭代,第三次迭代)
根據(jù)實驗結(jié)果,第三次迭代的效果產(chǎn)生了退化,所以不能采用第三次迭代的結(jié)果作為目標(biāo)提取的最終結(jié)果,只能采用第一次迭代或第二次迭代。從分割效果上看,第一次和第二次迭代的區(qū)別不大,為了節(jié)省時間,此處選取第一次迭代結(jié)果作為樣本。對豬群進行從左到右,從上到下進行1到7編號,重復(fù)上述操作得到的圖片經(jīng)過Crab Cut后的7個圖像。但是這些圖片還可能存在噪聲干擾、邊界不平滑或存在孔洞等問題,所以這些圖像需要經(jīng)過一些簡單的處理才能得到準確的目標(biāo)。
對于類似這類干擾、噪聲太多的目標(biāo)分割。一方面我們可以在原始3個圖像中尋找合適的位置、有利于Crab Cut算法分割的,對目標(biāo)進行分割。從而節(jié)約后續(xù)操作的時間,提高目標(biāo)提取的精確度。另一方面我們可以通過一些簡單的MATLAB處理,首先我們將Crab Cut處理過的7個圖像導(dǎo)入到MATLAB新建的可執(zhí)行文件所在的文件夾,為下面的圖像處理做準備。(1)將交互式提取的圖像轉(zhuǎn)化為灰度圖;(2)再將灰度圖轉(zhuǎn)化為合適的二值圖,得到二值圖圖像如圖下:
(3)最后,再利用imfill函數(shù)實現(xiàn)豬身目標(biāo)區(qū)域內(nèi)大孔洞的填充,用bwareaopen函數(shù)去除相對較大的干擾物,在處理完二值圖噪聲去除之后再將二值圖轉(zhuǎn)化為彩色圖像。
2.3樣本庫的建立
本文采用俯視攝像機俯拍群養(yǎng)豬的運動視頻,可以避免豬身陰影和相互緊貼、遮擋的影響,提高了特征提取的準確率。實驗中的豬舍中包含一個喂食槽以及7頭處于不同生長階段的,皮毛顏色略有差異的豬只。為便于實驗分析滿足實驗要求,選取的群養(yǎng)豬圖片不存在群養(yǎng)豬之間攀爬、打斗、或重疊遮擋等情況。圖(2.1)為某樣本幀,采用編號順序為:先從上到下,再從左到右依次進行編號,圖像背景為黑色,保存為相同的圖片格式(jpg),本文只列舉身份編號為2的圖像如下:
3.群養(yǎng)豬個體特征提取和特征數(shù)據(jù)的優(yōu)化
3.1圖像特征提取算法分類
圖像特征可以表示為圖像自身所具有、能用于區(qū)分自身的一些獨特屬性進行分類,具體的特征:紋理、顏色、輪廓等。
(1)顏色特征提取。顏色直方圖:顏色直方圖反映圖像中彩色的分布比例,適合于不需要考慮目標(biāo)空間位置的圖像,但是具有忽視顏色相似性和空間分布信息的缺點。
(2)紋理特征提取。圖像紋理就是由紋理基元按某種確定性的規(guī)律或者某種統(tǒng)計規(guī)律排列組成的,反映了圖像亮度的空間變化情況。
(3)形狀特征提取。圖像經(jīng)過邊緣提取和圖像分割,就會得到目標(biāo)的邊緣和區(qū)域,進而獲得目標(biāo)的形狀。形狀描述方法一般分為基于輪廓的和基于區(qū)域兩類:基于邊界的描述方法、基于區(qū)域的描述方法。
3.2豬個體特征提取方法
能否提取區(qū)分度大的特征是分類識別的關(guān)鍵,若特征選擇不當(dāng),則會造成分類器識別率降低,不能滿足要求。但若選擇恰當(dāng),則會大大加強分類識別的準確性。
(1)顏色特征提取。圖像基于RGB顏色空間,顏色特征對于豬個體是非常重要的一種特征,單靠顏色的不同,我們就可以把群養(yǎng)豬區(qū)分成不同的幾類。除了分析和提取彩色空間的顏色特征以外,灰度特征也是用于描述豬個體的重要特征.
(2)紋理特征提取。紋理能表現(xiàn)出豬背部圖像的粗糙或者細致程度,反應(yīng)其灰度等級的變化,體現(xiàn)豬個體自身的屬性?;叶裙采仃嚕ǎ槠渲袘?yīng)用最廣泛、鑒別性能較好的算法之一。
(3)形狀特征提取。由于實驗對象的特殊性,不同大小的豬可能具有相近的顏色和紋理,本文把顏色、紋理與形狀這幾類特征相融合,構(gòu)成特征矢量作為分類器識別的依據(jù)。首先將豬只彩色圖像轉(zhuǎn)換成二值圖,再提取豬個體簡單的、區(qū)分度大的邊界特征和區(qū)域特征。
(4)數(shù)據(jù)降維方法簡介。在信息化社會,大量數(shù)據(jù)都具有較高維數(shù),比如在機器視覺、數(shù)據(jù)檢索、身份識別等領(lǐng)域。降維算法多種多樣,通常按照數(shù)據(jù)特性間的差異,存在線性與非線性降維方法;按照監(jiān)督模式的差異,可以分為有監(jiān)督、無監(jiān)督和半監(jiān)督降維方法;按照不同數(shù)據(jù)結(jié)構(gòu),又可以分為基于全局結(jié)構(gòu)、基于局部鄰域結(jié)構(gòu)和基于稀疏結(jié)構(gòu)的降維方法。
4.基于混合核函數(shù)SVM的豬個體身份識別
4.1 SVM基本內(nèi)容
支持向量機(support vector machines, SVM)是一種二分類模型,它的基本模型是定義在特征空間上的間隔最大的線性分類器,間隔最大使它有別于感知機。
(1)傳統(tǒng)機器學(xué)習(xí)方法易產(chǎn)生過擬合問題,而利用現(xiàn)有樣本信息的最優(yōu)解且不考慮局部極值問題,專門針對了小樣本問題。(2)根據(jù)統(tǒng)計學(xué)涉及到的一些理論知識可知,一些符合條件的函數(shù)均能作為中使用的核函數(shù)。(3)因為核一種典型局部核,核則擁有優(yōu)良全局性,所以我們把核和核通過線性組合,可以得到混合核函數(shù)仍符合條件,且性能更好。
4.2圖像處理界面設(shè)計
通過MATLAB GUI制作用戶的圖像處理軟件界面,實現(xiàn)群養(yǎng)豬身份識別系統(tǒng)的可視化操作。在Grab Cut算法的提取后,處理后的終分割圖像如下:
5.總結(jié)與展望
5.1本文總結(jié)
本文的核心在于果斷地采用Visual Studio2015結(jié)合OpenCV的CrabCut簡單高效地對群養(yǎng)豬圖像進行目標(biāo)分割,簡單介紹了群養(yǎng)豬個體特征提取和對數(shù)據(jù)進行優(yōu)化,并利用混合函數(shù)SVM完成了對群養(yǎng)豬的個體身份識別。
5.2未來的展望
整體上打破了傳統(tǒng)上使用豬耳標(biāo)或在豬體表繪寫數(shù)字等其他識別方法,這些傳統(tǒng)的方法總會隨豬群的碰撞、生長以及泥濘的環(huán)境而無法識別,而基于機器視覺的圖像捕捉的技術(shù)不僅更加方便有效,還提高了識別的穩(wěn)定性,更加有利于飼養(yǎng)員的工作。此外,基于機器視覺的非接觸群養(yǎng)豬智能識別,在未來還可以察覺許多人肉眼無法察覺的許多癥狀。例如有些豬的呼吸或心跳頻率過高或過低,人是無法識別的,而這種癥狀極有可能是豬已經(jīng)感染病毒的前期癥狀,如果不及時進行隔離極有可能感染其他豬,從而及時避免引發(fā)更大的麻煩。所以本文的研究對未來的群養(yǎng)豬個體身份識別可能有一定的推動作用。在未來的圖像識別中還需要繼續(xù)研究數(shù)據(jù)優(yōu)化方面的技術(shù)和多元特征分析的技術(shù),爭取越來越高效地解決計算機在對群養(yǎng)豬個體身份識別中的時間過長和多角度全方位地有效識別等方面的問題。
參考文獻
[1]王蜀金,郭春華,編譯.全球豬肉市場縱覽:附加生產(chǎn)力刺激世界豬肉產(chǎn)量[J].豬業(yè)科學(xué),2014,12:24-25.
[2]王峰.種豬的飼養(yǎng)管理[J].農(nóng)業(yè)技術(shù)與裝備,2014,4:30-32.
[3]董晶,姜永增,郭艷宏.基于射頻技術(shù)的生豬養(yǎng)殖監(jiān)控系統(tǒng)的設(shè)計[J].黑龍江畜牧獸醫(yī),2014,4:83-85.
[4]沈明霞,劉龍申,閆麗.畜禽養(yǎng)殖個體信息監(jiān)測技術(shù)研究進展[J].農(nóng)業(yè)機械學(xué)報,2014,45(10):245-251.
[5]馬麗,紀濱,劉宏申等.單只豬輪廓圖的側(cè)視圖識別[J].農(nóng)業(yè)工程學(xué)報,2013,29(10):168-174.
[6]劉同海.基于雙目視覺的豬體體尺參數(shù)提取算法優(yōu)化及三維重構(gòu)[D].中國農(nóng)業(yè)大學(xué)博士學(xué)位論文,2014.
基金項目:本文系江蘇大學(xué)京江學(xué)院2019年度大學(xué)生實踐創(chuàng)新訓(xùn)練計劃項目,項目編號:201913986012Y。
作者簡介:李凱(1997.2),男,漢族,江蘇淮安人,江蘇大學(xué)京江學(xué)院本科在讀,研究方向為電氣工程及其自動化。