立體匹配研究背景及意義
計算機視覺是一門研究使用計算機來模擬人的視覺系統的學科。“一圖勝千言”,人類對於影象中的資訊感知效率遠超文字等其他媒介,人類獲取的資訊總量中更是有高達80%依靠視覺系統[1]。相對於人類高效的影象資訊提取能力,計算機在影象資訊的理解上仍然效率低下。
計算機視覺作為一門交叉學科,綜合了生物學,心理學,數學,電腦科學等學科,從20世紀60年代至今其在科學研究領域中的大量成果已經應用於工程領域,並影響了我們每個人生活的方方面面。
雙目立體視覺是計算機視覺領域的重要分支,它通過模擬人的視覺系統來處理現實世界。以機器人,無人汽車導航為例,由於雙目立體匹配在非接觸測量中的優秀效能,視覺測量在探月工程,火星探測工程中起到了重要作用[2],如圖所示的我國嫦娥探月工程的巡航車就配備了立體視覺導航系統,來進行行進間的運動控制和路徑規劃[3]。
1.1 研究背景與意義
立體匹配是一種從平面圖像中恢復深度資訊的技術。由於雙目立體匹配系統通過模擬人眼視覺感知原理,僅需要兩臺數字攝像機安裝在同一水平線上,經過立體矯正就可以投入使用。具有實現簡單,成本低廉,並且可以在非接觸條件下測量距離等優點。在機器人制導系統中可以用於導航判斷、目標拾取,在工業自動化控制系統中可用於零部件安裝、質量檢測,環境檢測,在安防監控系統中可用於人流檢測,危害報警。
近年來,隨著社會的科技進步,立體匹配技術的發展日新月異,隨著匹配演算法精度與速度的提高,其應用場景進一步擴大。在此背景下,研究立體匹配變的意義非凡。
立體匹配作為三維重建、立體導航、非接觸測距等技術的關鍵步驟通過匹配兩幅或者多幅影象來獲取深度資訊。並且廣泛應用於,工業生產自動化、流水線控制、無人駕駛汽車(測距,導航)、安防監控、遙感影象分析、機器人智慧控制等方面。雖然立體匹配應用廣泛但是還有很多尚未解決的難題因此該技術成為了近年來計算機視覺領域廣泛關注的難點和熱點。
立體匹配作為一種工程化問題,在實施過程中有多種因素影響其精度與速度,並沒有一種複雜演算法可以完整的處理立體匹配的整個流程,本文所述演算法主要針對立體匹配中影象畫素匹配並計算視差這一核心步驟。
通常根據立體匹配演算法所採用的約束,可以將其分為兩大類演算法[5]:
第一類為基於區域約束的區域性匹配演算法。如採用匹配窗的代價聚合演算法(平方差演算法SSD,絕對差演算法SAD,歸一化演算法NCC等);採用特徵點的匹配演算法;採用相位匹配的的匹配演算法。這些演算法的優點是運算速度快,能夠快速恢復出紋理豐富區域的視差。缺點是在低紋理區域會造成誤匹配[6],得到的視差圖不致密,需要在後期通過插值演算法來進行修正。
第二類為基於全域性約束的優化演算法,如圖割演算法(Graph Cuts, GC),人工智慧演算法(神經網路,遺傳演算法),置信傳播演算法(Belief
Propagation, BP),動態規劃演算法(Dynamic Programming, DP)。這些演算法雖然運算時間較長並且會產生一些誤匹配,但是基本上能夠獲得所有的視差資訊從而生成稠密的視差圖。
1.2 國內外研究現狀
國外在計算機立體視覺上的研究開展較早,Roy[7]最早將圖割演算法應用於立體匹配,並通過實驗表明,圖割演算法能有效克服其他全域性優化演算法的缺點(如動態規劃演算法等生成視差圖產生的橫向條紋瑕疵),避免了視差在臨近極線處不連續的問題。但該演算法生成的視差圖輪廓邊緣模糊,視差層的區分度低。Geiger等[8],針對高解析度影象立體匹配運算時間長的問題,創造性的提出了使用強約束點(紋理或特徵資訊較為豐富)作為支撐點,在強約束點之間通過三角剖分對視差圖進行插值計算,結合OpenMP技術在通用CPU上實現了平行計算,操作簡單易於搭建環境,在通用微型計算機上實現了實時立體匹配,但是匹配效果和基於全域性優化的匹配演算法有一定差距。
國內對於立體視覺的研究起步較晚,早期主要採用基於特徵點匹配的方法,隨著技術的進步,後序對立體匹配的改進工作主要集中在對全域性優化演算法效能和準確度的提升上。其中大部分方法採用對待匹配影象進行影象分割後,再結合能量最優化的方法進行立體匹配。如尹等[9]採用均值平移演算法將參考影象根據顏色資訊快速聚類;之後計算初始視差圖;將分割結果作為能量視差函式的一個參考項;最後採用圖割演算法求取使全域性能量最小的視差最優分配。此種基於影象分割的立體匹配方法的理論基礎認為,分割區域塊內的視差變化是平滑的。因此與其他基於影象分割的立體匹配演算法相比,此類演算法[9]可有效地處理大塊低紋理區域,匹配精度高,更有利於估計視差圖的邊界。並且上述演算法通過分割減少了匹配基元,使得運算速度更快,能夠很好的解決的邊界模糊和低紋理區域的誤匹配問題。
立體匹配技術的應用十分廣泛,王等[6]改進了勇氣號機遇號火星車複雜的定位技術,在嫦娥3號月面巡航器的視覺導航系統中,將SIFT(scale-invariant feature transform) 匹配、相關係數匹配、最小二乘匹配和光束法平差等多項技術融合, 實現了相鄰站間月面巡視器的導航定位. 實驗表明視覺定位相對精度優於4%。
朱[8]針對工件的自動定位、識別與抓取等問題,使用立體視覺的方法進行工件識別的定位;對影象就行SIFT特徵提取,並採用模板匹配方法實現工件的識別。用形態學方法獲得工件特徵點的二維資訊,結合雙目立體視覺標定技術得到工件的三維座標,為機器人抓取工件提供資訊。
顧等[9]為實現統計實時人流,提出一種基於立體視覺的人頭檢測演算法。該方法對雙目相機採集的影象通過運動目標檢測分離出運動人員所在區域,利用視差的連續性只對強紋理點進行絕對誤差累積(SAD)匹配,其餘點只進視差驗證,因此能夠得到稠密的視差圖,再由三角投影關係計算出深度圖。由於雙目立體成像得到的深度圖中人員與場景的深度分佈不同,採用深度分層的方法將存在人頭資訊的深度層提取出來,並通過幾何形態來確定人頭,該演算法可以很好地適應複雜場景下的人頭檢測,精度高、速度快。
Yang等[11],提出了採用全域性最小生成樹的代價聚合方案,畫素間的相似性作為邊的權值,通過無向連通圖構建最小生成樹,使得區域性畫素點獲取了全域性的資訊。解決了低紋理區域的誤匹配問題。(實際為對區域性窗匹配演算法的改進。),針對採集的待匹配影象可能帶有噪聲或者複雜紋理的問題,該團隊進行了系統化流程的設計改進[14]。
顧等[11]為實現統計實時人流,提出一種基於立體視覺的人頭檢測演算法。該方法對雙目相機採集的影象通過運動目標檢測分離出運動人員所在區域,利用視差的連續性只對強紋理點進行絕對誤差累積(SAD)匹配,其餘點只進行視差驗證,因此能夠得到稠密的視差圖,再由三角投影關係計算出深度圖。由於雙目立體成像得到的深度圖中人員與場景的深度分佈不同,採用深度分層的方法將存在人頭資訊的深度層提取出來,並通過幾何形態來確定人的頭部,該演算法可以很好地適應複雜場景下的人頭檢測,並且由於採用了基於區域性優化的匹配演算法結合插值計算等手段所以其在精度、速度上都有很好的實時特性。
Yang等[12],提出了基於最小生成樹的代價聚合方案,採用畫素間的相似性作為邊的權值,通過無向連通圖構建最小生成樹,使得區域性畫素點獲取了全域性的資訊。解決了低紋理區域的誤匹配問題。針對採集的待匹配影象可能帶有噪聲或者複雜紋理的問題,Yang等在上述演算法的基礎上進行了系統化的流程設計與改進[13],利用左右交叉檢驗精確更新代價聚合中穩定和不穩定的點的代價,提升了演算法精度。
立體匹配演算法的改進,近年來主要圍繞如何快速獲取稠密視差圖以及將匹配演算法並行化,Yang等[12][13],利用保邊濾波器的性質並加以改進,融合平行計算技術,分別用導向濾波器和雙邊濾波器,針對區域性匹配演算法和全域性匹配演算法提出了工程化系統化的立體匹配並行流程方法。
參考文獻
[1]馬頌德,張正友. 計算機視覺—計算理論與演算法基礎[M].北京:科學出版社,1997.
[2]邸凱昌. 勇氣號和機遇號火星車定位方法評述[J]. 航天器工程, 2009, 18(5):1-5.
[3]吳偉仁, 王大軼, 邢琰,等. 月球車巡視探測的雙目視覺里程演算法與實驗研究[J]. 中國科學:資訊科學, 2011(12):1415-1422.
[4]王保豐, 周建亮, 唐歌實,等. 嫦娥三號巡視器視覺定位方法[J]. 中國科學:資訊科學, 2014, 04期(04):452-460.
[5]白明, 莊嚴, 王偉. 雙目立體匹配演算法的研究與進展[J]. 控制與決策, 2008, 23(7):721-729. DOI:doi:10.3321/j.issn:1001-0920.2008.07.001.
[6]張令濤, 曲道奎, 徐方. 一種基於圖割的改進立體匹配演算法[J]. 機器人, 2010, 32(1):104-108.
[7]Roy S, Cox I J. A maximum-flow formulation of the n-camera stereo correspondence problem[A]// IEEE International Conference on Computer Vision[A], 1998 January 4-7, Bombay India:492-499.
[8]Geiger A, Roser M, Urtasun R. Efficient large-scale stereo matching[M]//Computer Vision–ACCV 2010. Springer Berlin Heidelberg, 2011: 25-38.
[9]尹傳歷, 劉冬梅, 宋建中. 改進的基於影象分割的立體匹配演算法[J]. 計算機輔助設計與圖形學學報, 2008, 20(6):808-812.
[10]朱代先. 基於雙目視覺的工件定位與抓取研究[J]. 計算機測量與控制, 2015, 19(1):92-94.
[11]顧騁, 錢惟賢, 陳錢,等. 基於雙目立體視覺的快速人頭檢測方法[J]. 中國鐳射, 2014, 01期(01):150-155.
[12]Yang Q. A non-local cost aggregation method for stereo matching[C]// Proceedings / CVPR, IEEE Computer Society Conference on Computer Vision and Pattern Recognition. IEEE Computer Society Conference on Computer Vision and Pattern Recognition. 2012:1402-1409.
[13]Yang Q. Stereo Matching Using Tree Filtering[J]. Pattern Analysis & Machine Intelligence IEEE Transactions on, 2015, 37(4):834-846.
[14]Yang Q. Hardware-efficient bilateral filtering for stereo matching[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2014, 36(5): 1026-1032.
[15]Yang Q, Li D, Wang L, et al. Full-Image Guided Filtering for Fast Stereo Matching[J]. IEEE Signal Processing Letters, 2013, 20(3):237-240.
[16]Yang Q, Ji P, Li D, et al. Fast stereo matching using adaptive guided filtering[J]. Image and Vision Computing, 2014, 32(3): 202-211.