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