◎張琰張博漢傅彥寧沈安南黃宇奇
基于LabVIEW與MATLAB的雛雞早期雌雄鑒別
◎張琰1張博漢1傅彥寧1沈安南2黃宇奇1
雛雞的早起雌雄鑒別在養雞生產中具有極其重要的意義。當下雛雞雌雄識別主要通過人工施以翻肛鑒別法完成,既將雛雞肛門完全暴露在空氣中,人工查看肛門處是否存在一生殖突起。然而雛雞養殖量大,大量而重復的工作對鑒別員提出了極高的要求。一直以來,雛雞雌雄鑒別完全依賴于人工鑒別,也沒有可用于建設自動化鑒別系統的理論依據,基于此,本文采用LabVIEW與Mat lab相結合的方法提取雛雞生殖突起特征,通過對原始圖像進行預處理,灰度化處理,二值化處理,增強處理,提取輪廓特征,從而判別雛雞是否存在生殖突起。
隨著圖像處理分析技術的發展,圖像處理已廣泛應用于工業、醫學、軍事等各個領域,如醫學影像與顯微圖像處理、工業檢測與過程控制和產品無損探傷。這些基于圖像識別技術的處理、檢測系統,既大大的提高了自動化程度,也節約了寶貴的時間。雛雞的早期雌雄鑒別在養雞生產中極其重要,既方便飼養管理,進行早期的選種選育,也能提高母雛成活率,節省飼料,禽舍,勞動力和飼養成本。以往文獻提到的眾多方法中,使用較廣泛的是翻肛鑒別法。一直以來,雛雞雌雄的的早期鑒別主要依賴于人工鑒別,到目前尚無人做出將鑒別過程自動化或半自動化的工作,基于此,本文提出一種基于LabVIEW與Mat lab的雛雞雌雄機器識別方法。
時間要求:雛雞破殼后4~12小時內,生殖突起形態差別最明顯,易于區分。在這段時間中,雛雞容易抓握,且腹部充實,容易將肛門翻出。
鑒別依據:

圖一為公雛母雛生殖器官差異。公雛肛門處可見生殖突起,并且生殖突起充實,有光澤,輪廓鮮明。母雛肛門處一般無生殖突起,或有殘留生殖突起,但是多呈萎縮狀,不飽滿,無彈性無光澤。
識別處理流程如下:

獲取圖像。在LabVIEW中完成以下程序,用以完成調用攝像頭獲取圖像,一種調用攝像頭拍照的程序源碼如下圖二:

右圖三為一普通USB攝像頭,免驅動,帶可調焦鏡頭,有支撐鏡頭的底座,方便。另外,也可以使用微距鏡頭,或利用3D打印機針對不同的環境和需求打印不同的鏡頭支架。

圖像預處理。在獲取圖像時,圖像常被環境中的噪聲(如椒鹽噪聲,脈沖噪聲,高斯噪聲)所污染。在對圖像進行后續的處理前,必須對圖像進行預處理,即除去圖像中的隨機噪聲。中值濾波算法可以有效去除噪聲的同時保持圖像的邊緣細節,是圖像處理中常用的濾波方法。然而常規的中值濾波算法主要依賴于快速排序算法,運算時間復雜度高,運算速度慢。均值加速的快速中值濾波算法突破了對所有元素進行快速排序的限制,只在于快速找到濾波子窗的像素中間值,有效降低了中值濾波算法的時間復雜度,將計算效率和運算速度提高到傳統濾波算法的兩倍以上。
灰度化處理。彩色圖像中每個像素的顏色由R,G,B三個分量決定,每個分量有255個中值可選,這樣一個像素點的變化范圍很大。而灰度圖像是R,G,B三個分量相同的一種特殊的彩色圖像,像素點變化范圍共255種。而灰度圖像與彩色圖像一樣仍然反映了整幅圖像的整體和局部的色度和亮度等級分布和特征,是一種簡化了的彩色圖像。
圖像的灰度化處理可由以下兩種方法實現:
第一種方法是求出每個像素點的R,G,B三個分量的平均值,然后將此平均值賦予這個像素的三個分量:R1=G1=B1=(R1+G1+B1)/3
第二種方法是根據YUV顏色空間,Y分量代表亮度,其值大小反映亮度等級,根據RGB和YUV顏色空間的變化關系可建立亮度Y與R,G,B三個顏色分量的對應,以此亮度值表示圖像的灰度值。R1=G1=B1 =0.2989R+0.5870G+0.1140B
本文采用第二種方法,通過調用Mat lab函數rgb2ga()完成對圖像的灰度化處理。
處理結果如下:

二值化處理。二值圖像中,每一點的像素只有兩種可能的取值狀態(0和1),占用空間少,可以將圖像中的輪廓很清晰的表示出來,從而更容易識別圖像的結構特征。Matlab中,二值圖像中的數據類型為logical型,0代表黑色,1代表白色。所以二值圖像實際上是一幅黑白圖像。為了將灰度圖轉化為二值圖像,常用“閥值法”。在給定了閥值后,小于閥值的像素點取0,其它的全部取1。調用im2bw()函數即可完成二值化處理。

處理結果如下:
圖像增強處理。圖像增強處理即圖像銳化處理,目的在于突出圖像中的細節(圖像的邊緣及灰度跳變部分),便于后續處理。為了實現在圖像銳化,可采用它的反運算“微分”。以求出信號的變化率,加強高頻分量,從而達到使圖像輪廓趨于清晰的作用。這里采用以下梯度算法:
對圖像函數),(yxf,它在點),(yx處的梯度可定義為另一個矢量:

在點(x,y)處梯度矢量的方向是f(x,y)在這一點的變化率最大的方向。梯度幅度用G[f(x,y)] 表示,其表達式如下:

對于數字圖像而言,梯度幅度可以差分運算替代微分運算的方式簡化:

以上梯度法是水平垂直差分法,另一種是交叉差分計算法,公式如下:

以上兩種方法在圖像最后一行或最后一列的像素的梯度無法標得,可以前一行和前一列的梯度值近似表示。由此可知,在圖像中灰度變化較大的邊沿區域起梯度大,在灰度變化平緩的區域起梯度小,而在灰度均勻的區域去梯度值為零。
求出圖像梯度變化后,圖像的灰度表示為:

其中:T為閥值,此法將背景和邊緣用二值圖像表示。

邊緣提取。圖像經上述處理后,輪廓已經被清晰的顯示出來。這時圖像可以用一個二維數組表示,便可用如下算法進行邊界坐標提取:

識別。在本文開頭關于識別原理中提到:公雛和母雛生殖突起差異明顯,且母雛可能有呈萎縮狀的生殖突起。為了使計算機可識別公雛與母雛之間的差別,本文提出以下方法:
根據輪廓面積及輪廓坐標方差兩條標準進行區分。當輪廓包圍的面積大于經驗值0ε且輪廓坐標方差D小于0μ(需經統計分析確定)時,即可認為識別對象為公雛。
輪廓坐標方差D計算公式:

由于尚無前人工作可供參考,本文提出的基于LabVIEW和Matlab的別雛雞雌雄的方法的精度有待提高。值得注意的是,在雛雞識別過程中必須在外力作用下將雛雞肛門完全暴露在取像鏡頭取景范圍內,且施力者只能是人,這其中需要掌握一定的技巧,力道適中,避免對雛雞的傷害。因此,關于準確的自動化的鑒別雛雞雌雄的方法還需進一步探討。
(作者單位:1.長江大學地球物理與石油資源學院;2.長江大學地球科學學院)
大學生創新創業項目,項目編號:2015308。