陳義松,岳 帥,石 悅,劉同海(天津農(nóng)學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,天津 300384)
?
動(dòng)物二維圖像3D重構(gòu)及其特征識(shí)別系統(tǒng)研發(fā)
陳義松,岳帥,石悅,劉同海
(天津農(nóng)學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,天津300384)
摘要:為解決動(dòng)物二維圖像3D重構(gòu)及其特征識(shí)別問題,實(shí)現(xiàn)動(dòng)物無接觸、無應(yīng)激提取其特征參數(shù),利用立體視覺原理,以動(dòng)物為研究對(duì)象,使用雙目攝像機(jī)采集的圖像,基于被動(dòng)線索的方法,采用計(jì)算機(jī)視覺庫(kù)OpenCV函數(shù)庫(kù),開發(fā)了3D重構(gòu)系統(tǒng),實(shí)現(xiàn)雙目標(biāo)定、特征識(shí)別、雙目立體匹配、三維模型重建和提取特征等功能。通過實(shí)驗(yàn)驗(yàn)證,建立的動(dòng)物三維模型,可有效識(shí)別動(dòng)物體尺等特征信息,其提取結(jié)果相對(duì)誤差為1.5%。本研究可應(yīng)用于動(dòng)物無應(yīng)激量算體尺,為開展福利養(yǎng)殖提供了一種方法。
關(guān)鍵詞:OpenCV;雙目視覺;立體匹配;特征識(shí)別
自然界中的物體是多維的,人體通過眼睛獲取物體的三維信息。然而,一個(gè)攝像系統(tǒng)只能記錄下來物體圖像的二維信息,致使大量信息丟失。計(jì)算機(jī)視覺是一門專門研究如何讓機(jī)器模仿人類眼睛“看”物體的科學(xué),更形象的說,就是指用雙目攝像機(jī)代替人的眼睛,對(duì)目標(biāo)物體進(jìn)行身份識(shí)別、運(yùn)動(dòng)跟蹤和數(shù)據(jù)測(cè)量,并做數(shù)字化處理,通過計(jì)算機(jī)處理不僅適合人眼直接觀察而且成為能夠傳送給儀器檢測(cè)的數(shù)字化信息。計(jì)算機(jī)視覺不僅包括圖像處理、模式識(shí)別等功能,還包括空間形狀的數(shù)字化描述、構(gòu)建幾何模型以及特征識(shí)別等功能[1]。實(shí)現(xiàn)利用機(jī)器做到圖像識(shí)別是計(jì)算機(jī)視覺的終極目標(biāo)。隨著計(jì)算機(jī)視覺的發(fā)展和技術(shù)的進(jìn)步,讓冰冷的機(jī)器具有人類一樣的視覺功能,是機(jī)器智能化的一個(gè)進(jìn)步。從實(shí)用性的角度來看,雙目立體視覺(Binocular)是最經(jīng)濟(jì)和科學(xué)的方法。
OpenCV是由一系列 C 函數(shù)和少量 C++ 類接口所組成的開源計(jì)算機(jī)視覺庫(kù),它擁有計(jì)算機(jī)視覺相關(guān)的諸多通用性算法[4],而且具有效率高、程序執(zhí)行速度快、可跨平臺(tái)移植性等優(yōu)點(diǎn)[2],是從事計(jì)算機(jī)視覺研究的一個(gè)方便的工具。
動(dòng)物體尺測(cè)量是畜牧養(yǎng)殖育種過程中所要做的一項(xiàng)重要工作,一般是由工作人員直接人工測(cè)量,工作強(qiáng)度非常大,且測(cè)量人員需要直接接觸動(dòng)物,對(duì)其應(yīng)激大,動(dòng)物甚至?xí)?duì)工作人員進(jìn)行攻擊,存在一定的安全隱患[5]。通過雙目視覺技術(shù),可以用攝像機(jī)獲取圖像數(shù)據(jù),對(duì)動(dòng)物個(gè)體進(jìn)行無接觸測(cè)量,達(dá)到減少應(yīng)激、提高效率、降低工作人員危險(xiǎn)的目的。
雙目視覺的基本原理[6]:就是通過兩臺(tái)平行放置的攝像機(jī),模仿人的眼睛觀察目標(biāo)物體,來獲取同一目標(biāo)物體的左右兩幅圖像,通過對(duì)兩幅圖像進(jìn)行數(shù)據(jù)分析,計(jì)算左右圖像視差獲取目標(biāo)物的三維數(shù)據(jù),并基于三維坐標(biāo)信息,獲取目標(biāo)物體的尺寸數(shù)據(jù)。具體方法是利用兩個(gè)規(guī)格相同的攝像機(jī)平行放置,同時(shí)采集同一動(dòng)物的兩幅圖像,以某一個(gè)攝像機(jī)焦點(diǎn)為坐標(biāo)原點(diǎn)建立空間坐標(biāo)系,確定空間點(diǎn)的準(zhǔn)確位置坐標(biāo),兩個(gè)攝像機(jī)進(jìn)行矯正坐標(biāo)數(shù)據(jù),使得兩副圖像盡可能的一致,以達(dá)到設(shè)定的精度。利用矯正之后的坐標(biāo)數(shù)據(jù)計(jì)算出同一空間點(diǎn)分別在兩幅圖像中的坐標(biāo),計(jì)算出空間點(diǎn)的深度數(shù)據(jù)。其原理示意圖如圖1所示。
圖1 雙目立體視覺原理圖
本研究在雙目立體視覺理論下,開發(fā)了動(dòng)物二維圖像3D重構(gòu)及其特征識(shí)別系統(tǒng),實(shí)現(xiàn)了圖像獲取、攝像機(jī)標(biāo)定和雙目矯正、立體匹配、視差圖和三維重構(gòu)及動(dòng)物特征提取等功能。其系統(tǒng)硬件平臺(tái)如圖2所示。
圖2 硬件平臺(tái)
3.1雙目攝像機(jī)獲取圖像
圖像的獲取是雙目立體視覺的基礎(chǔ),圖像獲取的方式是利用兩個(gè)平行的攝像機(jī)同時(shí)抓取目標(biāo)物體的兩幅畫面。圖像采集的質(zhì)量不僅取決于攝像機(jī)自身內(nèi)部參數(shù),還與動(dòng)物所處的光環(huán)境、動(dòng)物的特征等因素有關(guān)。本研究利用兩個(gè)USB攝像機(jī)平行同步抓取畫面。抓取效果如圖3所示。
圖3 雙目攝像頭同時(shí)采集圖像效果
3.2動(dòng)物雙目圖像校正
雙目圖像校正可分為兩個(gè)過程,攝像機(jī)標(biāo)定[7]和圖像校正。攝像機(jī)標(biāo)定是為了建立動(dòng)物空間坐標(biāo)系,通過相機(jī)標(biāo)定來確定坐標(biāo)系中動(dòng)物特征點(diǎn)的坐標(biāo)值。其操作是首先需要直接估計(jì)出攝像機(jī)的內(nèi)部參數(shù),例如焦距、光軸方位、相機(jī)位置等,然后通過諸如最小二乘法擬合等具體算法處理,準(zhǔn)確地構(gòu)建一個(gè)空間坐標(biāo)系。計(jì)算出空間點(diǎn)的精確坐標(biāo),進(jìn)而能夠計(jì)算出目標(biāo)物體的準(zhǔn)確位置,用于解決三維重構(gòu)過程中的立體匹配問題。
雙目圖像校正是根據(jù)標(biāo)定獲得的單目相機(jī)內(nèi)參數(shù)據(jù)和另一個(gè)攝像機(jī)相對(duì)位置關(guān)系(例如旋轉(zhuǎn)矩陣和平移向量等),分別對(duì)左右兩個(gè)視圖進(jìn)行消除畸變和行對(duì)準(zhǔn)操作。使得左右兩個(gè)視圖的成像原點(diǎn)坐標(biāo)盡量一致;兩攝像機(jī)光軸盡量平行;左右成像平面盡可能共面;對(duì)極線行盡可能對(duì)齊等。如果校正以后左右視圖的邊角區(qū)域是不規(guī)則的,將會(huì)對(duì)后續(xù)的雙目匹配和求取視差的結(jié)果產(chǎn)生不利影響。因?yàn)檫@些邊角區(qū)域的數(shù)值也參與到匹配操作過程中。校正效果如圖4所示:
圖4 雙目圖像校正效果
3.3動(dòng)物圖像立體匹配
動(dòng)物三維測(cè)量的關(guān)鍵就是利用建立的空間坐標(biāo)系獲取動(dòng)物表面點(diǎn)的準(zhǔn)確坐標(biāo),其前提需要進(jìn)行立體匹配。立體匹配的過程:需要知道匹配點(diǎn)分別在左右兩副圖像上的像素坐標(biāo),在左右圖像中尋找盡可能多的匹配點(diǎn)的坐標(biāo)[8]。匹配特征點(diǎn)的選取對(duì)重建動(dòng)物三維的效果來說影響很大。動(dòng)物,尤其是活體,由于形狀不規(guī)則,特征點(diǎn)的提取是其三維重構(gòu)的關(guān)鍵。
3.4動(dòng)物三維重構(gòu)
立體匹配的工作完成以后,就很容易得到矢量化的視差數(shù)據(jù)了。只需在目標(biāo)范圍之內(nèi)選取疊加匹配代價(jià)最優(yōu)點(diǎn)作為相互矯正的匹配點(diǎn)。例如,直接對(duì)原始匹配代價(jià)的點(diǎn)進(jìn)行處理的全局算法會(huì)先給出一個(gè)能量評(píng)價(jià)的具體函數(shù),然后會(huì)通過優(yōu)化算法來分析,計(jì)算出其能量的最小值,這樣就能計(jì)算出目標(biāo)范圍內(nèi)每個(gè)點(diǎn)的視差值。視差效果如圖5所示:
圖5 彩色視差圖
在獲取到視差數(shù)據(jù)后,是不能直接看出三維效果的,我們?cè)倮?OpenCV 的 Bouquet 校正方法獲得Q 矩陣就能得到目標(biāo)物體的三維點(diǎn)云坐標(biāo)數(shù)據(jù),然后利用reProjectImageTo3D 重繪三維坐標(biāo)數(shù)據(jù)來展現(xiàn)三維重構(gòu)效果。
雙目測(cè)量是利用了視差與目標(biāo)點(diǎn)到成像平面的距離Z存在著反比例的關(guān)系:Z=fT/d。為了精確地求出某個(gè)點(diǎn)在三維坐標(biāo)系里的距離Z,需要獲得的參數(shù)有攝像機(jī)的焦距f、目標(biāo)點(diǎn)的視差d、攝像機(jī)的中心距Tx。如果知道左右圖像平面的坐標(biāo)系與三維坐標(biāo)系中原點(diǎn)的偏移量cx和cy,就可以計(jì)算出目標(biāo)點(diǎn)的橫坐標(biāo)和縱坐標(biāo)。f、Tx、cx和cy四個(gè)參數(shù)的值可以通過立體標(biāo)定來獲得初始值,通過雙目校正等優(yōu)化操作,使得兩個(gè)攝像機(jī)在數(shù)學(xué)概念上完全平行放置,并且cx,cy和f的兩個(gè)值完全相同。所以立體匹配所需要做的工作,就是計(jì)算出的視差值d。從而計(jì)算出一個(gè)目標(biāo)點(diǎn)準(zhǔn)確的三維坐標(biāo)所[9]。
圖6 雙目測(cè)量原理圖
通過建立的動(dòng)物三維模型,以及雙目測(cè)距原理可以測(cè)出任意兩點(diǎn)之間的實(shí)際距離。然后利用動(dòng)物的體尺間存在的相關(guān)關(guān)系,通過雙目視覺三維測(cè)量所獲取的動(dòng)物的體寬、體長(zhǎng)等值,基于所建立的估算模型,還可估測(cè)動(dòng)物的體重[10-11]??梢?,通過動(dòng)物三維重構(gòu),可無接觸獲取到動(dòng)物的體寬、體長(zhǎng)、體重等數(shù)據(jù),便于指導(dǎo)動(dòng)物育種及養(yǎng)殖等工作。
利用OpenCV的雙目測(cè)距算法,經(jīng)驗(yàn)證,在2 m的距離之內(nèi),測(cè)得的動(dòng)物體的體長(zhǎng)、體寬誤差都是小于 1.5%,可見該系統(tǒng)可以達(dá)到一定精度。5結(jié)論與討論
本研究在雙目立體視覺模型[12]的基礎(chǔ)上,開發(fā)了動(dòng)物二維圖像3D重構(gòu)及其特征識(shí)別系統(tǒng),實(shí)現(xiàn)了圖像獲取、攝像機(jī)標(biāo)定和雙目矯正、雙目立體匹配、三維重構(gòu)及動(dòng)物特征提取等功能。
在使用OpenCV相關(guān)算法的基礎(chǔ)上,通過實(shí)測(cè)數(shù)據(jù)及估算數(shù)據(jù),對(duì)其算法進(jìn)行了驗(yàn)證和分析,并對(duì)算法進(jìn)行了完善。通過測(cè)試發(fā)現(xiàn):在攝像機(jī)距離動(dòng)物2 m之內(nèi),其體尺的估算誤差小于 1.5%,其體尺提取精度較高。
但由于環(huán)境光照影響以及標(biāo)定誤差等影響,導(dǎo)致動(dòng)物左右圖像采集紋理不清晰,及在距離相機(jī)大于2 m的動(dòng)物三維重構(gòu)及體尺提取精度較差,今后將對(duì)其算法繼續(xù)進(jìn)行完善。
參 考 文 獻(xiàn)
[1] VE RNON D. Machine vision-automated visual inspection and robot vision[M] . Englewood Cliffs, NJ:Prentice Hall, 1991:2.
[2]史進(jìn),李健.一種基于OpenCV的三維重建實(shí)現(xiàn)方案[J].計(jì)算機(jī)與信息技術(shù),2008(4):47-49.
[3]陳付幸.基于非定標(biāo)圖像序列的三維重建關(guān)鍵技術(shù)研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2006.
[4] Open source computer vision library reference manual(2001) INTEL CORPORATION[EB/OL].[2015-11-15]. http://www.doc88.com/p-2701612807693.html.
[5]劉同海,滕光輝,付為森,等. 基于機(jī)器視覺的豬體體尺測(cè)點(diǎn)提取算法與應(yīng)用[J]. 農(nóng)業(yè)工程學(xué)報(bào),2013,29(2):161-168.
[6] YU X, HAY T S, LEONG H W.3D reconstruction and enrichment of broadcast soccer video. [EB/OL].[2015-11-15]. http://www.doc88.com/p-0384369494102.html.
[7]劉俞平,馮成良,王紹慧.定向戰(zhàn)斗部研究現(xiàn)狀與發(fā)展趨勢(shì)[J].飛航導(dǎo)彈,2010(10):88-93.
[8]PARDO X M,RADEVA P.Discriminant snakes for 3D reconstruction in medical images[J].Pattern Recognition,2002,(3):336-339.
[9] KAEHLER A ,BRADSKI G R. Learning OpenCV[M]. 于仕琪,劉瑞禎,譯.北京:清華大學(xué)出版社,2008.
通訊作者簡(jiǎn)介:劉同海(1977-),副教授,碩士生導(dǎo)師,主要從事農(nóng)業(yè)物聯(lián)網(wǎng)及計(jì)算機(jī)視覺研究,E-mail:tonghai_1227@126.com
作者簡(jiǎn)介:主要陳義松(1991-),男,主要從事物聯(lián)網(wǎng)工程及圖像處理研究,E-mail:cysleroy@outlook.com
基金項(xiàng)目:國(guó)家級(jí)大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目(201410061077)
收稿日期:2016-01-17
文章編號(hào):1002-0659(2016)01-0007-03
中圖分類號(hào):S818.9
文獻(xiàn)標(biāo)識(shí)碼:A