李林波 陳從平 吳 喆 吳 杞 石小濤
(1.三峽大學(xué) 三峽庫(kù)區(qū)生態(tài)環(huán)境教育部工程研究中心,湖北 宜昌 443002; 2. 三峽大學(xué) 機(jī)械與動(dòng)力學(xué)院, 湖北 宜昌 443002)
魚類游動(dòng)軌跡是魚類行為研究的主要內(nèi)容之一,有助于了解魚類游動(dòng)行為和能力.視頻跟蹤技術(shù)是目前用于魚類游動(dòng)軌跡提取的主要技術(shù)手段之一,主要包括單目鏡像、雙目以及多目視覺技術(shù)[1-3].Laurel和Brown等人提出的單目結(jié)合陰影獲取了魚的稀疏三維信息[4],以及徐盼麟[5]和毛家發(fā)[6]分別提出的運(yùn)用單目攝像機(jī)結(jié)合一塊防水鏡面模擬出虛擬攝像機(jī)或虛擬魚,然后運(yùn)用不同算法計(jì)算得到了魚的三維坐標(biāo)和游動(dòng)軌跡,但由于單目鏡像方法需要利用平面鏡輔助成像,因而只適用于實(shí)驗(yàn)室環(huán)境.而多目視覺[7](三個(gè)及以上攝像機(jī))需要利用多個(gè)攝像機(jī)從不同角度對(duì)魚進(jìn)行跟蹤,理論上精度更高,但需建立魚形狀的三維幾何約束,加上魚游動(dòng)時(shí)高頻變形,計(jì)算量大,實(shí)時(shí)性差,誤差較大.張春森[8]提出一種由雙攝像機(jī)、云臺(tái)、影像傳輸、系統(tǒng)控制等部分組成的雙目視覺系統(tǒng),實(shí)現(xiàn)了對(duì)水上環(huán)境中的剛性物體的定位跟蹤,而祝琨等人[9]提出了一種雙目機(jī)器人系統(tǒng),可實(shí)現(xiàn)地面上的運(yùn)動(dòng)目標(biāo)檢測(cè)跟蹤與三維測(cè)距.這兩種視覺系統(tǒng)雖然實(shí)現(xiàn)地面環(huán)境下的運(yùn)動(dòng)物體空間定位與三維跟蹤,但都沒有運(yùn)用于水下環(huán)境下魚類等柔性物體的三維運(yùn)動(dòng)跟蹤.
因此,本文提出一種采用雙目視覺實(shí)現(xiàn)魚類三維軌跡跟蹤的方法,在對(duì)雙攝像機(jī)進(jìn)行標(biāo)定的基礎(chǔ)上,通過混合高斯背景建模(GMM)對(duì)魚目標(biāo)進(jìn)行捕捉,然后分別提取魚在兩個(gè)攝像機(jī)中的形心坐標(biāo)并將形心點(diǎn)進(jìn)行匹配,利用三角測(cè)量方法[10]重建出三維軌跡點(diǎn)序列,從而完成運(yùn)動(dòng)物體的三維軌跡跟蹤.試驗(yàn)結(jié)果表明,該算法計(jì)算量小,可用于實(shí)時(shí)的三維軌跡跟蹤監(jiān)測(cè).
本文提出的基于雙目視覺魚類游動(dòng)軌跡跟蹤方法核心思想是通過兩個(gè)攝像機(jī)同步拍攝同一目標(biāo)魚的游動(dòng)視頻圖像來重建出其3D形心點(diǎn),并以形心運(yùn)動(dòng)來表征魚的三維軌跡.整個(gè)流程包括攝像機(jī)標(biāo)定、魚運(yùn)動(dòng)檢測(cè)、兩攝像機(jī)各自對(duì)魚2D跟蹤、3D形心融合等步驟,具體流程如圖1所示.
圖1 魚類運(yùn)動(dòng)三維軌跡跟蹤算法流程圖
攝像機(jī)標(biāo)定分為單目標(biāo)定和立體標(biāo)定兩步,其中單目標(biāo)定的目的是對(duì)攝像機(jī)自身內(nèi)參進(jìn)行計(jì)算與矯正,立體標(biāo)定的目的是要獲取兩臺(tái)攝像機(jī)的相對(duì)空間幾何關(guān)系.基于張正友[11]求解焦距和偏移的算法模型:
其中,Zc是攝像機(jī)坐標(biāo)系中三維點(diǎn)坐標(biāo)Z方向分量,(u,v)是圖像坐標(biāo)系中的點(diǎn)坐標(biāo),(Xw,Yw,Zw)是世界坐標(biāo)系中的三維點(diǎn)坐標(biāo),dx、dy分別是每個(gè)像素在圖像平面內(nèi)x和y方向的物理尺寸,(u0,v0)是主點(diǎn)坐標(biāo),f為焦距,Rcw、t分別為攝像機(jī)坐標(biāo)系與世界坐標(biāo)系之間的旋轉(zhuǎn)矩陣和平移向量.K為攝像機(jī)內(nèi)部參數(shù)矩陣,如焦距、主點(diǎn)等;M1為外部參數(shù)矩陣,包括反映攝像機(jī)坐標(biāo)系與世界坐標(biāo)系相對(duì)關(guān)系的旋轉(zhuǎn)矩陣和平移向量.在標(biāo)定過程中,(Xw,Yw,Zw)、(u,v)、dx、dy、Zc為已知參數(shù),可求出主點(diǎn)(u0,v0)、焦距f、旋轉(zhuǎn)矩陣Rcw和平移向量t.在標(biāo)定基礎(chǔ)上,對(duì)攝像機(jī)進(jìn)行畸變矯正,據(jù)Brown[10]畸變矯正模型有:
ui=ax[xi+xi(k1r2+k2r4)+
vi=ay[yi+yi(k1r2+k2r4)+
為確定兩個(gè)攝像機(jī)坐標(biāo)系之間的關(guān)系,假定已知世界坐標(biāo)系中任意三維點(diǎn)P的坐標(biāo),且其在左右兩攝像機(jī)坐標(biāo)系中的坐標(biāo)分別為Pl=RlP+Tl和Pr=RrP+Tr,然后通過Pl=RT(Pr-T)將Pl和Pr關(guān)聯(lián),可推導(dǎo)出R=Rr(Rl)T和T=Tr-RTl,其中R和T分別是所求兩個(gè)攝像機(jī)之間的旋轉(zhuǎn)矩陣和平移向量.
運(yùn)動(dòng)目標(biāo)檢測(cè)方法主要有光流法、幀差法與背景差法等,本文采用背景差法中的混合高斯背景模型算法[12-13]對(duì)水下環(huán)境進(jìn)行背景建模,實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)(魚)進(jìn)行目標(biāo)鎖定,并進(jìn)一步抽取魚輪廓,計(jì)算出其形心作為該幀魚的二維坐標(biāo).設(shè)某時(shí)刻從左攝像機(jī)中提取的魚的二維形心坐標(biāo)為Hl、右攝像機(jī)提取的二維形心坐標(biāo)為Hr,后通過三角測(cè)量算法對(duì)Hl和Hr進(jìn)行融合,可獲得該時(shí)刻目標(biāo)魚的三維形心坐標(biāo),重復(fù)上述步驟,即可獲得魚的三維形心坐標(biāo)序列,將該序列基于時(shí)序進(jìn)行連接即為魚的三維空間游動(dòng)軌跡.
三角測(cè)量[10]是根據(jù)相似三角形原理所建立的雙目成像數(shù)學(xué)模型,模擬人眼對(duì)物體深度信息進(jìn)行感知,其原理如圖2所示.
圖2 立體成像模型
其中,點(diǎn)Q為世界坐標(biāo)系中魚的三維形心(本文中的待求坐標(biāo)),其在左、右攝像機(jī)的成像平面上的對(duì)應(yīng)形心點(diǎn)分別為ql和qr,相應(yīng)的橫坐標(biāo)分別為xl和xr;f為攝像機(jī)焦距,Ol、Or分別為左、右攝像機(jī)的投影中心,L為Ol、Or之間的距離;視差為d=xl-xr,則有:
(3)
由式(3)可以獲得魚形心的深度信息Z,進(jìn)而可計(jì)算X、Y兩個(gè)方向的信息,即可獲得Q點(diǎn)三維坐標(biāo),之后按時(shí)間基于視頻序列對(duì)雙目視場(chǎng)內(nèi)游動(dòng)的魚進(jìn)行三維空間定位與軌跡跟蹤.
首先對(duì)兩個(gè)型號(hào)為JHSM500f的工業(yè)攝像機(jī)進(jìn)行標(biāo)定.標(biāo)定過程及結(jié)果如圖3所示,所獲得的兩個(gè)攝像機(jī)參數(shù)見表1.
圖3 標(biāo)定過程及結(jié)果
參數(shù)左攝像機(jī)右攝像機(jī)焦距/pixel(954,954)(954,954)主點(diǎn)/pixel(332,233)(333,230)畸變系數(shù)(-0.0338,-1.5914,0,0,0)(-0.1052,-0.3950,0,0,0)
旋轉(zhuǎn)矩陣、平移向量為(單位:mm):
(4)
為了對(duì)攝像機(jī)標(biāo)定效果進(jìn)行評(píng)價(jià),定義誤差為:
(6)
其中,ε為誤差,N為實(shí)際值,N′為計(jì)算值.?dāng)z像機(jī)的焦距轉(zhuǎn)換公式如下:
(7)
擬利用兩個(gè)已標(biāo)定的攝像機(jī)對(duì)魚缸里的魚進(jìn)行拍攝、跟蹤,魚缸尺寸為450 mm×270 mm×300 mm,水深為260 mm.兩攝像機(jī)相距92 mm并使光軸平行放置,確保兩攝像機(jī)視場(chǎng)未超出魚缸邊界.魚缸背面和側(cè)面貼有透光膜紙以降低鏡面反射,用散射光進(jìn)行打光使攝像機(jī)的視場(chǎng)亮度均勻.視頻采集無(wú)魚時(shí)左、右攝像機(jī)背景與預(yù)處理效果如圖4所示.
圖4 左、右攝像機(jī)背景圖
在圖4中,圖4(a)、(e)分別為左、右攝像機(jī)拍攝視頻圖像在無(wú)魚情況下的靜態(tài)背景原始圖;圖4(b)、(f)為混合高斯背景建模后的效果圖,圖中存在較多的干擾噪聲;圖4(c)、(g)為濾波去噪后的效果圖;圖4(d)、(h)為二值化圖.
為驗(yàn)證本文方法的準(zhǔn)確性,在正式對(duì)魚進(jìn)行跟蹤之前,利用易于測(cè)量真實(shí)形心的物體做準(zhǔn)確性驗(yàn)證.需要說明的是,理論上試驗(yàn)應(yīng)該以魚作為目標(biāo)進(jìn)行驗(yàn)證,然而,由于魚(無(wú)論真實(shí)的魚或者模型魚)的形態(tài)為非規(guī)則體,導(dǎo)致其所處位置的真實(shí)形心坐標(biāo)難以通過工具準(zhǔn)確測(cè)量.為提高可操作性并降低操作誤差,本文通過在魚缸中設(shè)置形狀規(guī)則的物體進(jìn)行試驗(yàn),實(shí)際采用了一塊形狀規(guī)則、尺寸已知(35 mm×30 mm×25 mm)的金屬塊,在魚缸中10個(gè)不同位置擺放并利用本文方法進(jìn)行計(jì)算,形心測(cè)量及計(jì)算的數(shù)據(jù)結(jié)果見表2,可以發(fā)現(xiàn),在X、Y、Z方向上計(jì)算值相對(duì)于實(shí)際測(cè)量值最大不超過4 mm,且該誤差遠(yuǎn)小于試塊各向尺寸的一半.以上說明了利用本文方法來測(cè)量形心坐標(biāo)具有較高的精度(尤其相對(duì)于本文應(yīng)用領(lǐng)域而言),但本文方法的優(yōu)勢(shì)是能降低計(jì)算量以提高測(cè)量速度,盡量滿足實(shí)時(shí)性要求.
表2 實(shí)測(cè)值與計(jì)算值的校核 (單位:mm)
選取一條長(zhǎng)為50 mm的金魚為目標(biāo)魚進(jìn)行視頻拍攝、跟蹤,左、右攝像機(jī)所拍攝的視頻(某幀)及處理效果如圖5所示.其中,圖5(a)、(e)分別為魚游動(dòng)情況下左、右攝像機(jī)拍攝視頻中的某一幀原始圖像;圖5(b)、(f)為混合高斯背景建模后的效果圖,圖中存在干擾噪聲和魚缸底面對(duì)魚的反射背影;圖5(c)、(g)為濾波去噪后的結(jié)果;圖5(d)、(h)為圖像二值化圖結(jié)果.
圖5 左、右攝像機(jī)魚檢測(cè)及圖像處理效果
在獲取魚的二維輪廓并計(jì)算出左、右圖像中的形心點(diǎn)并進(jìn)行一一匹配對(duì)應(yīng)之后,再利用三角測(cè)量算法對(duì)魚進(jìn)行形心定位與跟蹤,所計(jì)算的魚的三維形心坐標(biāo)點(diǎn)見表3.
表3 魚的三維形心坐標(biāo) (單位:mm)
試驗(yàn)所得魚的三維形心坐標(biāo)點(diǎn)都是基于以左攝像機(jī)光心為原點(diǎn)的空間坐標(biāo)系輸出的,并實(shí)時(shí)記錄、繪制成三維軌跡如圖6所示,該過程實(shí)際為魚從魚缸左側(cè)游進(jìn)視場(chǎng),后從左側(cè)游出,實(shí)現(xiàn)了魚游動(dòng)軌跡的跟蹤.
圖6 魚游動(dòng)三維軌跡
本文研究了一種基于雙目視覺的魚類運(yùn)動(dòng)三維軌跡跟蹤算法.該算法將運(yùn)用于運(yùn)動(dòng)目標(biāo)檢測(cè)的混合高斯背景模型與空間測(cè)量定位的三角測(cè)量算法相結(jié)合中,實(shí)時(shí)求解魚的三維形心坐標(biāo),并以此作為魚所處空間位置的度量,通過跟蹤魚的形心坐標(biāo)序列來實(shí)現(xiàn)了魚的跟蹤,可為研究魚類游動(dòng)行為提供參考.
[1] Pereira P, Rui F O. A Simple Method Using a Single Video Camera to Determine the Three-dimensional Position of a fish [J].Behavior Research Methods Instruments & Computers, 1994, 26(4):443-446.
[2] Noss C, Lorke A, Niehaus E. Three-dimensional Tracking of Multiple Aquatic Organisms with a Two Camera System [J].Limnology & Oceanography Methods, 2013, 11(3):139-150.
[3] Sun N, Rui N, He B, et al. Consistent Fish Tracking Via Multiple Underwater Cameras[C]. Oceans. IEEE, 2014:1-5.
[4] Laurel B J, Laurel C J, Brown J A, et al. A New Technique to Gather 3-D Spatial Information Using a Single Camera [J].Journal of Fish Biology, 2005, 66(2):429-441.
[5] 徐盼麟, 韓 軍, 童劍鋒. 基于單攝像機(jī)視頻的魚類三維自動(dòng)跟蹤方法初探[J].水產(chǎn)學(xué)報(bào), 2012, 36(4):623-628.
[6] Mao J F, Xiao G, Sheng W G, et al. A 3D Occlusion Tracking Model of the Underwater Fish Targets[C]. IEEE International Conference on Electro/information Technology. IEEE, 2015:82-86.
[7] 鄭貴林, 唐貝貝. 基于多魚眼攝像頭的立體視覺定位系統(tǒng)[J].計(jì)算機(jī)仿真, 2016, 33(7):256-260.
[8] 張春森. 雙目序列影像3維運(yùn)動(dòng)物體定位跟蹤[J].測(cè)繪學(xué)報(bào), 2006, 35(4):347-352.
[9] 祝 琨, 楊唐文, 阮秋琦,等. 基于雙目視覺的運(yùn)動(dòng)物體實(shí)時(shí)跟蹤與測(cè)距[J].機(jī)器人, 2009, 31(4):327-334.
[10] GaryBradski, AdrianKaehler. 學(xué)習(xí)OpenCV:中文版[M].北京:清華大學(xué)出版社, 2009.
[11] Zhang Z. A Flexible New Technique for Camera Calibration [J].IEEE Transactions on Pattern Analysis & Machine Intelligence, 2000, 22(11):1330-1334.
[12] Kaewtrakulpong P, Bowden R. An Improved Adaptive Background Mixture Model for Real-time Tracking with Shadow Detection [J]. 2002(September):135-144.
[13] Zivkovic Z. Improved Adaptive Gaussian Mixture Model for Background Subtraction[C]. International Conference on Pattern Recognition. IEEE Computer Society, 2004:28-31.