Census Transform
1、立體匹配演算法主要可分為兩大類:基於區域性約束和基於全域性約束的立體匹配演算法.
(一)基於全域性約束的立體匹配演算法:在本質上屬於優化演算法,它是將立體匹配問題轉化為尋找全域性能量函式的最優化問題,其代表演算法主要有圖割演算法、置信度傳播演算法和協同優化演算法等.全域性演算法能夠獲得較低的總誤匹配率,但演算法複雜度較高,很難滿足實時的需求,不利於在實際工程中使用.
(二)基於區域性約束的立體匹配演算法:主要是利用匹配點周圍的區域性資訊進行計算,由於其涉及到的資訊量較少,匹配時間較短,因此受到了廣泛關注,其代表演算法主要有 SAD、SSD、NCC等。
2、本文采用區域性約束的立體匹配演算法
(1)Census 變換
Census 變換在實際場景中,造成亮度差異的原因有很多,如由於左右攝像機不同的視角接受到的光強不一致,攝像機增益、電平可能存在差異,以及影像採集不同通道的噪聲不同等,cencus方法保留了視窗中畫素的位置特徵,並且對亮度偏差較為魯棒,簡單講就是能夠減少光照差異引起的誤匹配。
實現原理:在檢視中選取任一點,以該點為中心劃出一個例如3 × 3 的矩形,矩形中除中心點之外的每一點都與中心點進行比較,灰度值小於中心點即記為1,灰度大於中心點的則記為0,以所得長度為 8 的只有 0 和 1 的序列作為該中心點的 census 序列,即中心畫素的灰度值被census 序列替換。經過census變換後的影像使用漢明距離計算相似度,所謂影像匹配就是在視差圖中找出與參考畫素點相似度最高的點,而漢明距正是視差影像素與參考畫素相似度的度量。具體而言,對於欲求取視差的左右檢視,要比較兩個檢視中兩點的相似度,可將此兩點的census值逐位進行異或運算,然後計算結果為1 的個數,記為此兩點之間的漢明值,漢明值是兩點間相似度的一種體現,漢明值愈小,兩點相似度愈大實現演算法時先異或再統計1的個數即可,漢明距越小即相似度越高。(儘管census變換提高了匹配魯棒性,但其包含的影像資訊有限,原始灰度資訊己經完全被拋棄了,因此不能將變換結果用於單畫素或較小視窗的匹配,仍需要使用與其他區域匹配方法中類似的匹配視窗)變換過程如圖 1 所示。
127 126 130 1 1 0
126 128 129 ---> 1 * 0 ---> cencus序列 {11010101}
127 131 111 1 0 1
---> 異或 {01110010} --->漢明距為4
110 126 101 1 0 1
146 120 127 ---> 0 * 0 ---> cencus序列 {10100111}
112 101 111 1 1 1
圖 1
相關文章
- canvas transform()CanvasORM
- transform Vs UdfORM
- UnFlow:Unsupervised Learning of Opitical Flow with a Biderectional Census Loss 閱讀筆記IDE筆記
- Android Transform + ASM 初探AndroidORMASM
- CSS transform-originCSSORM
- 深入理解TransformORM
- CSS transform 屬性CSSORM
- 4、Flutter Widget - Transform;FlutterORM
- Games101-2 transformGAMORM
- Laravel Transform 轉換器LaravelORM
- OpenCV-Python -- Fourier TransformOpenCVPythonORM
- canvas transform引數解析CanvasORM
- 什麼是Transform轉換ORM
- css使用transform垂直對齊CSSORM
- Css3中的TransformCSSS3ORM
- animation、transition、transform的區別ORM
- CSS3 transform-styleCSSS3ORM
- transition、transform、animate的區別?ORM
- [elixir! #0083] Stream.transform 的用法ORM
- css3 transform與animation妙用CSSS3ORM
- 照片牆(transform/transition/z-index)ORMIndex
- css 3D transform變換CSS3DORM
- CSS動畫:animation、transition、transform、translateCSS動畫ORM
- CSS3 之 transform & transition & animationCSSS3ORM
- SVG transform變換深入理解SVGORM
- css3有趣的transform形變CSSS3ORM
- [20200620]IMPDP TRANSFORM引數再探究.txtORM
- 藍芽的基本widgets教程-Transform篇藍芽ORM
- Flutter基礎-016-Transform變換FlutterORM
- css3 | 淺談transform變換CSSS3ORM
- Android OpenGL ES 系列連載:(07)Transform FeedbackAndroidORM
- 使用transform製作書本翻頁效果ORM
- 移動端上上(transform-translateZ註冊)ORM
- What is OPAQUE_TRANSFORM Hint and how to Control it [ID 780503.1]OpaqueORM
- 【css基礎】如何理解transform的matrix()用法CSSORM
- CSS transform 2D變換詳解CSSORM
- CSS text-transform字元大小寫轉換CSSORM字元
- transform改變定位元素的包含塊ORM