張婧婧, 李勇偉
(新疆農(nóng)業(yè)大學(xué),新疆烏魯木齊 830052)
新疆維吾爾自治區(qū)是我國(guó)傳統(tǒng)的養(yǎng)馬大區(qū),馬的品種資源豐富,據(jù)國(guó)家品種資源調(diào)查顯示,目前全疆共有哈薩克馬、巴里坤馬、焉耆馬、柯爾克孜馬等4個(gè)地方品種,有伊犁馬、伊吾馬2個(gè)培育品種,為全國(guó)各省(市、自治區(qū))馬品種資源之首。馬品種登記是由專門的登記機(jī)構(gòu)依據(jù)系譜、體尺外貌、生產(chǎn)性能等資料來劃分馬的品種,而體尺測(cè)量技術(shù)是鑒定新疆馬品種、推進(jìn)馬良種化進(jìn)程中不可或缺的技術(shù)。
目前,機(jī)器視覺的動(dòng)物體尺測(cè)量在國(guó)內(nèi)已經(jīng)取得一定進(jìn)展,如利用背景減法和去除噪聲算法得到豬體體尺測(cè)點(diǎn)[1];利用背景差分法提取羊體輪廓[2-3];運(yùn)用自動(dòng)閾值分割與形態(tài)學(xué)處理進(jìn)行輪廓分割[4];采用Kinect傳感器搭建的羊體尺測(cè)量系統(tǒng),利用彩色、深度圖像的多元信息提取羊的體尺[5-6];基于機(jī)器視覺技術(shù)測(cè)量魚體側(cè)面積,并將面積與質(zhì)量進(jìn)行數(shù)據(jù)擬合建立模型,評(píng)價(jià)魚的質(zhì)量等[7]。相比國(guó)內(nèi)研究現(xiàn)狀,國(guó)外對(duì)動(dòng)物體尺進(jìn)行測(cè)度的設(shè)備專利較多。測(cè)度動(dòng)物體型,建立結(jié)構(gòu)化專用裝置,其優(yōu)勢(shì)在于方便圖像采集和標(biāo)定,實(shí)現(xiàn)對(duì)感興趣參照點(diǎn)進(jìn)行線性測(cè)量[8-9],但不足之處在于建立結(jié)構(gòu)化裝置成本較高,還必須誘導(dǎo)動(dòng)物到指定位置。
目前,采用的自動(dòng)化指標(biāo)獲取方法主要基于二維圖像和結(jié)構(gòu)化設(shè)施限制動(dòng)物的位姿來實(shí)現(xiàn)獲取,對(duì)動(dòng)物的位姿或環(huán)境光照和背景要求較嚴(yán)格,在實(shí)際生產(chǎn)中難以得到滿足,且2D機(jī)器視覺技術(shù)本身不能獲取和動(dòng)物身體曲面形狀相關(guān)的指標(biāo)[10]。
本研究借鑒動(dòng)物體尺的研究成果,依據(jù)新疆馬業(yè)協(xié)會(huì)發(fā)布的地方標(biāo)準(zhǔn),利用3D繪圖技術(shù),模擬多元線性回歸算法,建立了新疆馬體尺基礎(chǔ)指標(biāo)的采集模型,旨在完成基于機(jī)器視覺的馬體尺測(cè)量系統(tǒng)的初步設(shè)計(jì)。
根據(jù)新疆馬業(yè)協(xié)會(huì)發(fā)布的地方標(biāo)準(zhǔn),測(cè)量馬體尺的基本數(shù)據(jù),包括體高、體長(zhǎng)、胸圍、管圍,其測(cè)量標(biāo)準(zhǔn)為體高:從鬐甲頂點(diǎn)到地面的垂直距離;體長(zhǎng):從肩端到臀端的直線距離;胸圍:在肩腳骨后緣垂直繞胸一周的長(zhǎng)度;管圍:左前管部上1/3處的下端最細(xì)處,水平繞其一周的長(zhǎng)度。
本設(shè)計(jì)中,首先應(yīng)用CINEMA 4D軟件設(shè)計(jì)馬體的骨骼,據(jù)此建立如圖1所示的馬體3D模型。在3D圖像中,馬的體高、體長(zhǎng)、胸圍、管圍指標(biāo)均屬于體尺測(cè)量的基礎(chǔ)數(shù)據(jù),如圖1中A—A線、B—B線、C—C線、D—D線所示?;跈C(jī)器視覺,馬體各項(xiàng)指標(biāo)的測(cè)量值必須與圖像像素點(diǎn)的坐標(biāo)距離相關(guān),才具備可測(cè)性,而馬的體高、體長(zhǎng)測(cè)量方式符合這一標(biāo)準(zhǔn)。相反,馬體的胸圍、管圍則缺乏坐標(biāo)的測(cè)量依據(jù),因此文中定義了相關(guān)指標(biāo):胸徑、管徑如圖1中E—E線、F—F線所示(實(shí)際坐標(biāo)分別與C、D點(diǎn)重合),旨在利用可測(cè)的體高、體長(zhǎng)、胸徑、管徑構(gòu)成馬體胸圍、管圍預(yù)測(cè)模型的重要參數(shù)。
測(cè)量系統(tǒng)中,馬體胸圍、管圍的預(yù)測(cè)建立在多元線性回歸模型的基礎(chǔ)之上。依據(jù)多元線性回歸理論,因變量與自變量的相關(guān)程度越高,回歸方程越顯著,即獲取與胸圍、管圍相關(guān)程度較高的馬體尺指標(biāo),擬合多元線性回歸方程,在方程成立的條件下,預(yù)測(cè)胸圍、管圍,即可完成馬體尺的有效測(cè)量。為此,以20匹焉耆馬的體尺數(shù)據(jù)為依據(jù),在Matlab仿真軟件中首先獲取馬體尺各項(xiàng)指標(biāo)間線性相關(guān)程度的數(shù)據(jù)。
根據(jù)相關(guān)系數(shù)的標(biāo)準(zhǔn)定義[11]:
r=E{(x-E{x})×(y-E{y})}/(sqrt({(x-E{x})2)×sqrt({(y-E{y})2))。
(1)
式中:E{}為期望值;|r|=1表明兩者相關(guān),|r|=0表明兩者不相關(guān)。
調(diào)用Matlab軟件中的corrcoef()函數(shù),得到馬體的體高、體長(zhǎng)、胸圍、管圍、胸徑、管徑間線性關(guān)系的數(shù)據(jù),如表1所示。
由表1可知,焉耆馬的體高、體長(zhǎng)、胸圍、管圍、胸徑、管徑指標(biāo)之間滿足兩兩線性相關(guān)條件,具有不同程度的相關(guān)性。利用體高、體長(zhǎng)、胸徑、管徑的優(yōu)化組合構(gòu)成方程的自變量,通過回歸方程的檢驗(yàn)參數(shù)評(píng)估方程的顯著性,即可搭建胸圍、管圍的預(yù)測(cè)模型。
表1 馬體尺指標(biāo)間相關(guān)系數(shù)
在基于CINEMA 4D軟件設(shè)計(jì)的馬體骨骼中,為精準(zhǔn)獲取像素點(diǎn)的坐標(biāo)距離,先進(jìn)行3D圖像的輪廓提取。仿真中,采用Sobel算子的邊緣檢測(cè)算法[12]提取馬體輪廓。首先將馬體圖像變?yōu)榛叶葓D,然后分別利用Sobel垂直方向模板和水平方向模板對(duì)轉(zhuǎn)化的灰度圖像做卷積,求得垂直方向和水平方向梯度,將2個(gè)梯度相加即可求得整個(gè)圖像的梯度,即為圖像的輪廓(圖2)。
由圖2可知,3D馬體圖像的邊緣清晰,圖像中動(dòng)物體色與選取的背景色差雖不明顯,但輪廓提取依然較準(zhǔn)確。鑒于圖像邊緣檢測(cè)的多樣化,還同時(shí)嘗試該圖像的一維Canny算子、Robinson算子以及二維Laplace算子[13]的邊緣檢測(cè)。較其他算法,Sobel算法邊緣檢測(cè)的運(yùn)算速度快,對(duì)3D骨骼刻畫地較為精準(zhǔn),具有測(cè)量?jī)?yōu)勢(shì)。
基于上述體尺測(cè)量的設(shè)計(jì)方案,首先建立胸圍的預(yù)測(cè)模型。由表1可知,與胸圍相關(guān)性較高的指標(biāo)依次為胸徑、體高、管徑;設(shè)計(jì)中以20匹焉耆馬的胸徑、體高、管徑為自變量x1、x2、x3,以胸圍為因變量y,建立多元線性回歸方程,如公式(2)所示。
y=-129.357 3+0.019 5x1+2.151 0x2-0.780 9x3。
(2)
公式(2)r2=0.998 6;F=694.097 5;P=9.259 6×10-5。由P值可知,公式(2)的回歸模型成立。
同樣地,與管圍相關(guān)性較高的指標(biāo)依次為管徑、體高、胸圍;以20匹焉耆馬的管徑、體高、胸圍為自變量x1、x2、x3,以管圍為因變量y,建立多元線性回歸方程,如公式(3)所示。
y=5.916 3+1.658 6x1+0.035 0x2-0.1x3。
(3)
公式(3)r2=0.998 8;F=820.348 6;P=7.209 4×10-5。由P值可知,公式(3)的回歸模型成立。模型的仿真中,調(diào)用Matlab的線性擬合函數(shù)regress()方法[14]建立回歸方程,為了提高預(yù)測(cè)的準(zhǔn)確度,還針對(duì)數(shù)據(jù)進(jìn)行rcoplot()殘差分析,剔除異常點(diǎn),并利用判定系數(shù)測(cè)定方程的擬合程度是否符合建模的條件。
鑒于系統(tǒng)交互式設(shè)計(jì)的需要,利用Matlab GUI工具完成系統(tǒng)可視化界面的設(shè)計(jì)。在GUI工具中,選擇的控件包括axes、pushbutton、edit、uitable、text等,其具體功能如表2所示。
表2 交互式界面中控件的主要功能
在機(jī)器視覺的動(dòng)物體測(cè)系統(tǒng)中,由于動(dòng)物體態(tài)各異,不可避免地為體尺測(cè)量帶來很大難度。針對(duì)馬體站姿不標(biāo)準(zhǔn)的2類情況,本設(shè)計(jì)提出了相應(yīng)的修正方法,旨在加強(qiáng)體測(cè)系統(tǒng)的測(cè)量能力。應(yīng)用CINEMA 4D軟件設(shè)計(jì)馬體骨骼,繪制了同一匹馬行走和傾斜站立的姿態(tài),據(jù)此模擬2種姿態(tài)下馬體尺數(shù)據(jù)的變化規(guī)律。
在馬體站姿不標(biāo)準(zhǔn)的情況下,須要引入馬體尺的另一指標(biāo)——體質(zhì)量,以便替換因?yàn)檎咀瞬粶?zhǔn)而無法準(zhǔn)確獲取的其他參數(shù),重構(gòu)預(yù)測(cè)模型。根據(jù)建立線性回歸方程的需要,以焉耆馬為例,首先獲取體質(zhì)量與馬體其他指標(biāo)間相關(guān)程度的數(shù)據(jù)(表3)。
表3 馬體質(zhì)量與其他指標(biāo)相關(guān)程度
馬體在行走狀態(tài)下,其體高減小、體長(zhǎng)不變、胸徑不變、管徑不變,如圖3所示。首先須要修正體高,即建立體高的預(yù)測(cè)模型。在馬體尺指標(biāo)相關(guān)系數(shù)列表中,體高與體長(zhǎng)、胸徑、管徑的相關(guān)程度高,即以焉耆馬的體長(zhǎng)、胸徑、管徑為自變量x1、x2、x3,以體高為因變量y,建立多元線性回歸方程,如公式(4)所示。
y=0.705 6+0.959 8x1-0.489 5x2+3.386 8x3。
(4)
公式(4)r2=0.998 3;F=583.600 0;P=1.200 0×10-4。由P值可知,公式(4)的回歸模型成立。
類似地,行走姿態(tài)下,剔除體高指標(biāo),以馬的體質(zhì)量、胸徑、管徑為自變量x1、x2、x3,以胸圍為因變量y,建立多元線性回歸方程,如公式(5)所示。
y=14.283 6+0.154 8x1+2.256 9x2-3.737 1x3。
(5)
公式(5)r2=0.999 0;F=954.500 0;P=5.746 0×10-5。由P值可知,公式(5)的回歸模型成立。
同樣地,由于體長(zhǎng)與管圍的相關(guān)性較低,以馬的體質(zhì)量、胸徑、管徑為自變量x1、x2、x3,以管圍為因變量y,建立多元線性回歸方程,如公式(6)所示。
y=7.228 9+0.014 9x1-0.037 8x2+0.984 9x3。
(6)
公式(6)r2=0.991 9;F=122.670 0;P=1.200 0×10-3。由P值可知,公式(6)的回歸模型成立。
綜上所述,體測(cè)系統(tǒng)基本實(shí)現(xiàn)了行走姿態(tài)下馬體尺各項(xiàng)指標(biāo)的測(cè)量及數(shù)據(jù)修正。
馬體相對(duì)相機(jī)平面傾斜時(shí),呈現(xiàn)出體質(zhì)量不變、體高不變、體長(zhǎng)變小、胸徑不變、管徑變小等體尺變化規(guī)律,如圖4所示。剔除體長(zhǎng)、管徑指標(biāo),體尺預(yù)測(cè)模型的有效參數(shù)僅有體質(zhì)量、體高、胸徑3項(xiàng)指標(biāo),據(jù)此預(yù)測(cè)了馬體站姿傾斜時(shí)體尺數(shù)據(jù)模型。
以馬的體質(zhì)量、體高、胸徑為自變量x1、x2、x3,以體長(zhǎng)為因變量y,建立多元線性回歸方程,如公式(7)所示。
y=4.794 0-0.060 7x1+1.246 2x2-0.232 7x3。
(7)
公式(7)r2=0.999 8;F=5 474.500 0;P=4.190 0×10-6。由P值可知,公式(7)的回歸模型成立。
同樣地,以體質(zhì)量、體高、胸徑為自變量x1、x2、x3,以胸圍為因變量y,建立多元線性回歸方程,如公式(8)所示。
y=-112.923 8+0.009 8x1+1.825 8x2+0.366 2x3。
(8)
公式(8)r2=0.995 0;F=199.650 0;P=5.964 0×10-6。由P值可知,公式(8)的回歸模型成立。
再以體質(zhì)量、體高、胸徑為自變量x1、x2、x3,以管圍為因變量y,建立多元線性回歸方程,如公式(9)所示。
y=7.119 5+0.028 7x1-0.020 4x2+0.069 1x3。
(9)
公式(9)r2=0.999 8;F=4 182.450 0;P=6.273 6×10-6。由P值可知,公式(9)的回歸模型成立。
綜上,本設(shè)計(jì)完成了站姿傾斜時(shí)馬體尺各項(xiàng)指標(biāo)的測(cè)量及數(shù)據(jù)修正。然而由于馬的姿態(tài)變化不定,當(dāng)馬體傾斜且行走時(shí),呈現(xiàn)體質(zhì)量不變、體高變小、體長(zhǎng)變小、胸徑不變、管徑變小等規(guī)律,如圖5所示,在剔除變化的指標(biāo)后,其體尺預(yù)測(cè)模型的自變量不足,體測(cè)誤差難以控制在有效范圍內(nèi),因此不再對(duì)該模型進(jìn)行體尺分析。
基于Matlab開發(fā)平臺(tái),測(cè)量馬體尺須要依次完成的輪廓提取、坐標(biāo)定位、距離測(cè)量、數(shù)據(jù)修正、回歸分析、預(yù)測(cè)值顯示、數(shù)據(jù)保存等步驟,其具體流程如圖6所示。
以馬體3D圖像的體尺數(shù)據(jù)為依據(jù),在可視化界面中進(jìn)行系統(tǒng)的初步測(cè)試。由圖7可知,受面板尺寸的限制,測(cè)量中獲取體長(zhǎng)、體高與胸徑、管徑數(shù)據(jù)分別置于2副圖像輪廓中操作,降低了坐標(biāo)定位過程中重復(fù)操作的可能性;系統(tǒng)仿真中用紅色文本顯示馬體坐標(biāo),并將有效坐標(biāo)用虛線連接,直觀呈現(xiàn)體高、體長(zhǎng)、胸徑、管徑的測(cè)量數(shù)據(jù),并將所有測(cè)量結(jié)果顯示于edit文本框中。
在馬體站姿不標(biāo)準(zhǔn)的情況下,還設(shè)計(jì)了數(shù)據(jù)修正按鍵,用于啟動(dòng)重構(gòu)的預(yù)測(cè)模型,修正體尺數(shù)據(jù)預(yù)測(cè)結(jié)果,降低模型測(cè)量的2次誤差。
基于Matlab開發(fā)平臺(tái),依據(jù)線性相關(guān)及線性回歸理論,本系統(tǒng)初步完成了馬體的體長(zhǎng)、體高、胸圍、管圍的測(cè)量。為了加強(qiáng)預(yù)測(cè)模型的準(zhǔn)確性,定義了與圖像中像素點(diǎn)距離成比例的胸徑、管徑指標(biāo),且引入了體質(zhì)量指標(biāo),使得線性回歸方程的擬合程度增強(qiáng),回歸特性顯著。對(duì)于站姿不標(biāo)準(zhǔn)造成的測(cè)量誤差,討論了2種特定姿態(tài)下的修正方法,初步降低因站姿不標(biāo)準(zhǔn)造成的測(cè)量誤差,具備借鑒意義。
仿真的不足之處主要在于線性相關(guān)分析和線性回歸方程均取決于少量馬體尺的樣本數(shù)據(jù),據(jù)此構(gòu)建的模型,其測(cè)量誤差無法定量估算。