姜瑞凱,哈清華
(中國(guó)科學(xué)院 長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林 長(zhǎng)春 130033)
雙目立體視覺(jué)[1]是機(jī)器視覺(jué)中的一個(gè)重要分支,從仿生學(xué)的角度來(lái)講,雙目視覺(jué)更符合人類(lèi)雙眼的構(gòu)造。它利用雙目產(chǎn)生視差的原理能夠提供景物的深度信息,而在單純使用單目視覺(jué)的情況下卻不能提供這個(gè)信息。因此在視覺(jué)測(cè)量應(yīng)用中,雙目視覺(jué)更具有優(yōu)勢(shì)。在計(jì)算出圖像中相應(yīng)的點(diǎn)的視差后,采用基于三角的測(cè)量方法可以獲得空間點(diǎn)的三維坐標(biāo)[2]。在機(jī)器人系統(tǒng)應(yīng)用中,雙目視覺(jué)可以測(cè)量出目標(biāo)的位置和姿態(tài)信息[3],以為機(jī)器人控制系統(tǒng)提供觀(guān)測(cè)量。在人工智能技術(shù)并不完善的今天,還有許多機(jī)器人控制系統(tǒng)仍然是人在回路的,操作員通過(guò)機(jī)器人傳回的圖像或其他觀(guān)測(cè)值,對(duì)機(jī)器人遠(yuǎn)程操作或發(fā)送指令。立體顯示技術(shù)可以給操作員更加逼真的距離感和身臨其境的感覺(jué)。近些年來(lái),立體顯示技術(shù)得到了迅速的發(fā)展和推廣,3D電視和3D電影已經(jīng)走進(jìn)了大眾的生活[4]。立體顯示技術(shù)的主要原理是采用的一定的方法,使人的左右眼分別看到具有視差的左右兩幅圖像。目前主流的立體顯示技術(shù)分為眼鏡式和裸眼式兩類(lèi)[5-8]。眼鏡式3D主要包括色差式,快門(mén)式和偏光式;裸眼式3D主要包括柱狀透鏡式,光屏障式和指向光源式。雖然裸眼式3D技術(shù)擺脫了眼鏡的束縛,但是在分辨率、可視角度和可視距離等方面還存在很多不足,與眼鏡式3D技術(shù)尚有一定的差距。因此本文采用的立體顯示方式主要是基于眼鏡式3D技術(shù)。另外,還有一種頭盔式的立體顯示技術(shù)[9],在頭盔上配有左右兩個(gè)顯示設(shè)備和光學(xué)系統(tǒng),使用者戴上頭盔后即可觀(guān)察到左右兩幅圖像,這種方式比較適合在機(jī)器人控制系統(tǒng)中操作員佩戴。本文利用雙目網(wǎng)絡(luò)攝像頭和立體顯示終端搭建了一套實(shí)時(shí)立體顯示系統(tǒng),使用非標(biāo)定校正算法對(duì)左右圖像校正,介紹了色差式和快門(mén)式3D顯示的圖像處理的實(shí)現(xiàn)方法,設(shè)計(jì)了一個(gè)時(shí)延較小的多線(xiàn)程立體顯示圖像處理軟件。
在立體顯示中,左右攝像機(jī)理想的成像平面應(yīng)該是共面和行對(duì)準(zhǔn)的,因?yàn)檫@樣更符合人眼的觀(guān)察習(xí)慣。但是,完美的對(duì)準(zhǔn)結(jié)構(gòu)在真實(shí)的立體視覺(jué)系統(tǒng)中是幾乎不存在的,尤其對(duì)于網(wǎng)絡(luò)攝像頭,左右圖像存在較大行錯(cuò)位和非共面的問(wèn)題。如果不對(duì)圖像進(jìn)行一定處理,而是通過(guò)立體顯示設(shè)備直接給人眼觀(guān)察,會(huì)造成觀(guān)察者有眩暈等不適的感覺(jué)。通過(guò)數(shù)學(xué)方法將左右攝像機(jī)的圖像平面重新投影,使它們落在同一個(gè)平面上,而且行對(duì)準(zhǔn)的過(guò)程稱(chēng)為立體校正。立體校正可分為兩類(lèi)[10]:一類(lèi)是標(biāo)定立體校正,先通過(guò)標(biāo)定的方法得到左右攝像機(jī)的內(nèi)外參數(shù),然后使用內(nèi)外參數(shù)進(jìn)行立體校正,這種方法有對(duì)圖像校正比較準(zhǔn)確和產(chǎn)生畸變較小的優(yōu)點(diǎn),但是,由于標(biāo)定需要標(biāo)定參考物和人工干預(yù),因此不太適合攝像機(jī)參數(shù)易發(fā)生變化(如根據(jù)場(chǎng)景調(diào)焦)的情況;另一類(lèi)是非標(biāo)定立體校正,這類(lèi)方法無(wú)需對(duì)攝像機(jī)標(biāo)定,利用場(chǎng)景中左右圖像的一些匹配點(diǎn),即可完成對(duì)圖像的校正,因此比較靈活。在非標(biāo)定立體校正中比較典型的是Hartley算法[11]。
Hartley算法的主旨是尋找使兩幅圖像對(duì)應(yīng)點(diǎn)總的視差最小化,并且將極點(diǎn)映射到無(wú)窮處的投影變換矩陣Hl和Hr,其中極點(diǎn)是指左右相機(jī)光心連線(xiàn)與左右圖像的交點(diǎn)。Hartley算法的基本步驟如下:
1.識(shí)別左右圖像中的匹配點(diǎn)ui?u′i,至少需要找出8對(duì)匹配點(diǎn),而且越多越好。
2.計(jì)算基礎(chǔ)矩陣F,基礎(chǔ)矩陣是秩為2的3×3矩陣,對(duì)于圖像中的匹配點(diǎn)ui?u′i,它們滿(mǎn)足:
如果給出至少8對(duì)匹配點(diǎn),可以求解由(1)式組成的線(xiàn)性方程組得到F。
3.計(jì)算左右極點(diǎn)在圖像中的坐標(biāo),設(shè)左右極點(diǎn)分別為el和er,則它們滿(mǎn)足:
根據(jù)(2)式可以求得左右極點(diǎn)的位置。
4.構(gòu)造投影變換矩陣Hr將右極點(diǎn)映射到水平方向的無(wú)窮遠(yuǎn)處。平移變換矩陣T將右圖像坐標(biāo)原點(diǎn)移到圖像中心,其形式如下:
(u0,v0)是右圖像中心像素坐標(biāo)。經(jīng)過(guò)平移變換后,右極點(diǎn)變換到位置Ter,假設(shè)此時(shí)右極點(diǎn)坐標(biāo)為(u,v,1)T,再經(jīng)過(guò)旋轉(zhuǎn)變換,使右極點(diǎn)變換到X軸上,旋轉(zhuǎn)變換矩陣R的形式為:
其中:θ=arctan(v/u),經(jīng)過(guò)旋轉(zhuǎn)變換后,右極點(diǎn)變換為RTer,已經(jīng)位于X軸上,假設(shè)此時(shí)右極點(diǎn)坐標(biāo)為(k,0,1)T,還需要一個(gè)變換將右極點(diǎn)移至水平無(wú)窮遠(yuǎn)處,即(1,0,0)T,這個(gè)變換的形式為:
經(jīng)過(guò)以上三個(gè)變換,右極點(diǎn)被映射到水平無(wú)窮遠(yuǎn)處,所以投影矩陣Hr為:
5.查找匹配的投影矩陣Hl,它將左極點(diǎn)映射到無(wú)窮遠(yuǎn),并保證兩幅圖像的行對(duì)準(zhǔn),同時(shí)使得左右匹配點(diǎn)總的視差最小,即平方和距離最小化:
由文獻(xiàn)[11]可知,滿(mǎn)足上述條件的Hl應(yīng)具有如下形式:
其中:M是一個(gè)非奇異矩陣,由基礎(chǔ)矩陣F因數(shù)分解得到:
A是一個(gè)仿射變換矩陣:
其中a,b,c使得下式最小化:
6.根據(jù)投影矩陣Hl和Hr,對(duì)左右圖像分別做投影變換,得到校正后的圖像。
本文中的立體顯示系統(tǒng)組成框圖如圖1所示,主要包括以下4個(gè)部分:
1.圖像獲取設(shè)備 選用的是2個(gè)同樣的ANC720P網(wǎng)絡(luò)高清攝像頭,輸出圖像分辨率為1280×720,幀頻為30幀/秒。
2.圖像處理器 選用的是DELL通用PC機(jī),搭載了酷睿i3-3240@3.40GHz處理器和4G DDR3內(nèi)存。操作系統(tǒng)為 Windows XP,開(kāi)發(fā)工具使用VC++6.0和OpenCV1.1。
3.立體顯示設(shè)備 對(duì)于色差式的立體顯示方式,使用普通顯示器即可。對(duì)于快門(mén)式或偏振式立體顯示方式,需要使用快門(mén)式或偏振式立體顯示器。本系統(tǒng)選用的是海信的一款3D電視作為立體顯示設(shè)備,它支持快門(mén)式立體顯示方式,也可以作為普通顯示器使用。
4.立體眼鏡 對(duì)于色差式的立體顯示,配合使用紅藍(lán)立體眼鏡。對(duì)于快門(mén)式立體顯示,系統(tǒng)使用的是海信3D電視配套的快門(mén)式立體眼鏡。
圖1 立體顯示系統(tǒng)框圖Fig.1 Flowchart block diagram of stereoscopic display system
本文中設(shè)計(jì)的立體顯示系統(tǒng)軟件部分需要完成的功能是:根據(jù)Hartley算法計(jì)算投影變換矩陣Hl和Hr;對(duì)實(shí)時(shí)采集的圖像進(jìn)行校正,使校正后左右圖像共面并且行對(duì)準(zhǔn),再將左右圖像的公共區(qū)域合成為立體圖像輸出顯示。首先按照Hartley算法的基本步驟計(jì)算投影變換矩陣Hl和Hr,如果攝像頭的參數(shù)和相對(duì)位置不發(fā)生變化,此過(guò)程只需要進(jìn)行一次;如果改變了攝像頭的參數(shù)和相對(duì)位置,則需要重新計(jì)算投影變換矩陣Hl和Hr。使用SURF特征點(diǎn)匹配可以完成在當(dāng)前的場(chǎng)景中尋找左右圖像的匹配點(diǎn),此過(guò)程自動(dòng)完成,不需要人工干預(yù)。在計(jì)算得到投影矩陣Hl和Hr后,對(duì)實(shí)時(shí)采集的圖像進(jìn)行校正。對(duì)于高分辨率的圖像,投影變換是一種較為耗時(shí)的處理,由于對(duì)左右圖像的校正可以同時(shí)進(jìn)行,因此系統(tǒng)采用多線(xiàn)程的方法對(duì)左右圖像并行處理,以減少總的處理時(shí)間。立體顯示系統(tǒng)軟件的處理流程如圖2所示。
圖2 立體顯示系統(tǒng)軟件流程圖Fig.2 Flow chart of stereoscopic display system software
3.2.1 讀取圖像與投影變換
讀取圖像完畢后,對(duì)圖像進(jìn)行投影變換,這里采用的是后向映射雙線(xiàn)性插值的方法計(jì)算變換后的每個(gè)像素點(diǎn)灰度值。
3.2.2 選取公共區(qū)域
因?yàn)樽髠?cè)圖像和右側(cè)圖像分別采用了不同變換矩陣,所以變換后的兩幅圖像的有效范圍不再重合。為了便于人眼觀(guān)察,對(duì)變換后的圖像進(jìn)行裁剪,只保留矩形公共部分,如圖3中所示,其中實(shí)線(xiàn)框代表左圖像有效區(qū)域,虛線(xiàn)框代表右圖像有效區(qū)域,矩形公共區(qū)域用灰色部分表示。計(jì)算公共區(qū)域的具體方法如下:設(shè)公共矩形區(qū)域的左上角頂點(diǎn)坐標(biāo)為(c,r),寬度為w,高度為h。將左右圖像有效區(qū)域共8個(gè)頂點(diǎn)橫坐標(biāo)升序排列,設(shè)xn(n=1,2,...,8)為排序后的橫坐標(biāo)序列,則r=x4,w=x5-x4;將左右圖像有效區(qū)域的頂點(diǎn)縱坐標(biāo)升序排列,設(shè)yn(n=1,2,...,8)為排序后的縱坐標(biāo)序列,則c=y(tǒng)4,h=y(tǒng)5-y4。
圖3 選取公共區(qū)域示意圖Fig.3 Schematic diagram of selecting common area
3.2.3 尺寸調(diào)整
為了與立體顯示的分辨率匹配,還需要對(duì)裁剪后的圖像做尺寸變換。尺寸變換仍然使用后向映射雙線(xiàn)性插值的方法計(jì)算變換后的每個(gè)像素點(diǎn)的灰度值。為了保持原始圖像的長(zhǎng)寬比,使用零填充的方法,達(dá)到與立體顯示分辨率匹配的目的,即在圖像上下或左右兩側(cè)填充一定數(shù)量的像素值為0的行或列。
3.2.4 立體圖像合成與送顯
待左右圖像校正完畢后,即可將左右圖像合成為立體圖像送出顯示。根據(jù)立體顯示方式的不同,合成立體圖像的方法有所不同。色差式立體顯示利用了紅、綠、藍(lán)為互斥顏色的特性,如果使用紅藍(lán)眼鏡(左紅右藍(lán))作為觀(guān)察設(shè)備,將左圖像放置在立體圖像的R通道,將右圖像放置在立體圖像的G和B通道,透過(guò)紅藍(lán)眼鏡,利用濾光原理,左眼只會(huì)看到左圖像,右眼只有看到右圖像,經(jīng)過(guò)大腦合成后產(chǎn)生立體效果。另外,色差式也可以用于觀(guān)察彩色的立體圖像,方法是將左圖像的R通道置于立體圖像的R通道,將右圖像的G、B通道分別置于立體圖像的G通道和B通道,再透過(guò)紅藍(lán)眼鏡可以觀(guān)察到彩色的立體圖像,但顏色失真會(huì)比較嚴(yán)重。對(duì)于快門(mén)式的立體圖像一般為左右格式,即將原始立體圖像一分為二,左側(cè)二分之一放置左圖像,右側(cè)二分之一放置右圖像??扉T(mén)式立體顯示器再將接收到原始立體圖像分為左右幅圖像,并以120Hz的頻率將左右圖像隔幀交替顯示??扉T(mén)式立體眼鏡與顯示器通過(guò)紅外線(xiàn)同步,在顯示左側(cè)圖像時(shí),關(guān)閉右側(cè)鏡片快門(mén),在顯示右側(cè)圖像時(shí),關(guān)閉左側(cè)鏡片快門(mén),利用人眼視覺(jué)殘留效應(yīng)原理,經(jīng)過(guò)大腦合成產(chǎn)生立體效果。
應(yīng)用上述方法,對(duì)本文設(shè)計(jì)的立體顯示系統(tǒng)進(jìn)行了實(shí)驗(yàn)驗(yàn)證。首先在當(dāng)前場(chǎng)景中尋找左右圖像匹配點(diǎn),圖4(a)是使用SURF算法自動(dòng)匹配特征點(diǎn)的結(jié)果。從圖中可以看出左右圖像的對(duì)應(yīng)點(diǎn)不在一條水平線(xiàn)上,說(shuō)明此時(shí)左右圖像沒(méi)有行對(duì)準(zhǔn)。在圖像中通過(guò)極點(diǎn)的直線(xiàn)稱(chēng)為極線(xiàn),圖4(b)所示的是對(duì)圖像校正前的極線(xiàn)位置情況,左右極線(xiàn)都有相交于一點(diǎn)的趨勢(shì),說(shuō)明此時(shí)極點(diǎn)并不在無(wú)窮遠(yuǎn)處。圖4(c)是利用Hartley算法對(duì)圖像進(jìn)行立體校正的結(jié)果,圖中的直線(xiàn)是校正后的極線(xiàn)位置情況,可以看出經(jīng)過(guò)立體校正后,左右圖像的對(duì)應(yīng)點(diǎn)在一條水平線(xiàn)上,說(shuō)明已經(jīng)行已經(jīng)對(duì)準(zhǔn),極線(xiàn)相互平行,說(shuō)明左右極點(diǎn)已經(jīng)在無(wú)窮遠(yuǎn)處。
圖4 立體校正實(shí)驗(yàn)結(jié)果Fig.4 Results of stereo rectification
將校正后圖像合成為立體圖像,圖5(a)為合成后色差式立體圖像,佩戴紅藍(lán)立體眼鏡可以觀(guān)察到立體效果。圖5(b)為合成后的左右格式立體圖像,需要將圖像送顯至立體顯示器,佩戴快門(mén)式立體眼鏡可以觀(guān)察到立體效果,圖5(c)為快門(mén)式立體圖像在3D電視上裸眼觀(guān)察的效果。
圖5 立體圖像合成效果Fig.5 Results of stereo rectification
在沒(méi)有使用多線(xiàn)程對(duì)左右圖像并行處理的情況下,測(cè)得系統(tǒng)輸出立體圖像的幀頻為21Hz;而在使用了對(duì)左右圖像并行處理的情況下,系統(tǒng)輸出立體圖像的幀頻提高到了30Hz。
由于立體顯示主要是用于人眼的觀(guān)看,因此本文采用了具有代表性的 MOS(Mean Opinion Score)方法對(duì)立體顯示系統(tǒng)的質(zhì)量進(jìn)行了主觀(guān)評(píng)價(jià)。挑選了20位觀(guān)察者對(duì)立體顯示效果進(jìn)行評(píng)分,滿(mǎn)分為10分,分?jǐn)?shù)越高代表顯示效果越好。表1是20位觀(guān)察者分別色差式和快門(mén)式立體顯示評(píng)分情況,其中色差式立體顯示平均得分為7.67分,快門(mén)式立體顯示平均得分9.08分。可以看出,由于色差式立體顯示技術(shù)本身的缺點(diǎn),所以立體顯示效果的得到分?jǐn)?shù)較低。快門(mén)式立體顯示的效果比較令人滿(mǎn)意。
表1 立體顯示評(píng)分結(jié)果Tab.1 Score of stereoscopic display system
本文基于非標(biāo)定立體校正Hartley算法,設(shè)計(jì)了一套實(shí)時(shí)立體顯示系統(tǒng),提供了色差式與快門(mén)式兩種立體顯示方式。實(shí)驗(yàn)結(jié)果表明,經(jīng)過(guò)校正后的左右圖像行已對(duì)準(zhǔn),經(jīng)過(guò)測(cè)試立體圖像輸出的頻率可以達(dá)到30Hz,與攝像頭采集圖像的頻率相符合,說(shuō)明系統(tǒng)能夠?qū)崟r(shí)處理并合成立體圖像。通過(guò)MOS方法對(duì)立體顯示效果的進(jìn)行了評(píng)價(jià),其中色差式立體顯示得到7.67分,快門(mén)式立體顯示得到9.08分,可以說(shuō)明本系統(tǒng)得到了較好的立體顯示效果。如果經(jīng)過(guò)系統(tǒng)移植,本系統(tǒng)還可以應(yīng)用于機(jī)器人遠(yuǎn)程操控立體顯示系統(tǒng)中,為操作員提供更真實(shí)、更準(zhǔn)確的場(chǎng)景信息。
[1]游素亞,徐光祐.立體視覺(jué)研究的現(xiàn)狀與發(fā)展 [J].中國(guó)圖形圖像學(xué)報(bào),1997,2(1):17-24.You S Y,Xu G Y.State of the art and Future the development of stereo vision[J].Journal of Image and Graphics,1997,2(1):17-24.(in Chinese)
[2]張廣軍.機(jī)器視覺(jué) [M].北京:科學(xué)出版社,2005.Zhang G J.Machine Vision [M].Beijing:Science Press,2005.(in Chinese)
[3]宋曉偉.雙目視覺(jué)位姿測(cè)量算法研究 [D].北京:中國(guó)地質(zhì)大學(xué),2011.Song X W.Binocular vision position and attitude measurement algorithm [D].Beijing:China University of Geosciences,2005.(in Chinese)
[4]張兆楊,安平,張之江,等.二維和三維視頻處理及立體顯示技術(shù) [M].北京:科學(xué)出版社,2010.Zhang Z Y,An P,Zhang Z J,et al.2 D and 3 D Video Processing and Stereoscopic Display Technologies [M].Beijing:Science Press,2010.(in Chinese)
[5]張興,鄭成武,李寧,等.液晶材料與3D顯示[J].液晶與顯示,2012,27(4):448-454.Zhang X,Zheng C W,Li N,et al.Liquid crystal materials and 3Ddisplay[J].Chinese Journal of Liquid Crystals and Displays,2012,27(4):448-454.(in Chinese)
[6]郭暢.一種新型偏光快門(mén)式3D顯示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D].青島:中國(guó)海洋大學(xué),2013.Guo C.The design and implementation of a new patterned retarder/shutter glasses 3DLCD [D].Qingdao:Ocean University of China,2013.(in Chinese)
[7]DodgsonN A.Autostereoscopic 3DDisplays[J].Computer,2005,38(8):31-36.
[8]帖志成,梁發(fā)云,黃偉莉,等.嵌入式設(shè)備立體圖像顯示技術(shù)研究[J].液晶與顯示,2013,28(1):71-75.Tie Z C,Liang F Y,Huang W L,et al.Stereoscopic display based on embedded system [J].Chinese Journal of Liquid Crystals and Displays,2013,28(1):71-75.(in Chinese)
[9]丁劍飛,劉永進(jìn).三維立體顯示技術(shù)綜述 [J].系統(tǒng)仿真學(xué)報(bào),2008,20(suppl):132-135.Ding J F,Liu Y J.A Survey on three-dimension display technologies[J].Journal of System Simulation Journal,2008,20(suppl):132-135.(in Chinese)
[10]Bradski G,Kaehler A.Learning OpenCV [M].O'Reilly Media,2008.
[11]Hartley R.Theory and practice of projective rectification[J].International Journal of Computer Vision,1999,35(2):115-127.