劉震 汪家悅 陳麗娟
摘 要:對單幅未標定圖像進行三維重建,滅點的精度十分重要,針對此難點,首先采取canny算子和Hough變換提取出圖像中的長直線,分析直線特征,對不同方向的直線進行聚類,再根據(jù)各方向的直線滿足線性分布關系,利用改進的穩(wěn)健回歸算法獲取直線參數(shù)的線性模型,剔除誤差直線。再利用最小二乘法解算滅點。得到精確滅點后,利用滅點的性質(zhì)對攝像機的內(nèi)外參數(shù)進行標定,然后交互獲得最少的圖像二維點,通過標定矩陣和物體本身的幾何性質(zhì)計算相應的三維坐標,最后進行目標物體的三維重建。此方法有效剔除了無效直線的干擾,提高了滅點精度,最后恢復的三維物體重建誤差3%以內(nèi),符合三維重建精度要求。
關鍵詞:單幅圖像 三維重建 滅點 直線特征 相機參數(shù)
中圖分類號:TP391.9 文獻標識碼:A 文章編號:1674-098X(2018)02(a)-0136-03
三維重建是指根據(jù)單幅圖像或者多幅的圖像重建三維信息的過程?;趩畏鶊D像的三維重建避免了基于多幅圖像重建的特征匹配的問題,是個熱點。
近年來,大批學者進行單幅圖像的三維重建的研究。Antonio CRIMINSI [1]等人通過單張影像上的幾何信息(尤其是滅點)進行測量。NIAN [2]等提出了一種利用建筑物對稱性的相機標定方法,但僅適用于對稱物體。TARDIC [3]到則采用 J-linkage算法生成M(M>3)類候選滅點的最小采樣集,實現(xiàn)建筑物的三維重建,但必須給定攝像機的內(nèi)參數(shù)信息。Xu 等[4]提出的一種帶有統(tǒng)計特性的一致性度量方法,綜合考慮了直線端點誤差、直線的長度及位置的影響,提高了滅點的檢測精度。
本文在上述研究的基礎上進行研究,由于各方向的直線滿足線性分布關系,利用改進的穩(wěn)健回歸算法建立直線參數(shù)的線性模型,充分利用了直線信息,剔除無效直線,提高了檢測滅點的精度。并利用滅點的性質(zhì)對攝像機的內(nèi)外參數(shù)進行標定,然后交互獲得最少的二維點,通過標定矩陣和物體本身的幾何性質(zhì)得到重建物體所需的幾何參數(shù)。最后進行目標物體的三維重建。
1 滅點檢測算法
滅點是空間平行直線在圖像上的投影線段的交點。獲取單幅圖像上的滅點有自動法和手動法,自動法人機交互少,故采用自動法。分為如下幾步:(1)圖像邊緣檢測;(2)Hough變換求解直線;(3)直線聚類;(4)根據(jù)直線特征建模去除無效直線;(5)求取滅點。
1.1 圖像邊緣檢測
步驟(1)常見的邊緣檢測算子有Roberts Cross算子,Prewitt算子,Sobel算子,log算子,Canny算子,通過對比得出canny算子具有良好的信噪比和檢測精度,可以提取較好和較多的圖片細節(jié),故選用canny算子進行圖像邊緣檢測。
1.2 直線的獲取與聚類
步驟(2)可以提取圖像中的直線信息并將取轉化到參數(shù)空間。坐標軸空間一條直線對應(ρ,)參數(shù)空間一個點(ρ0,);
需要重構的三維物體在圖像空間中會形成水平方向,垂直方向與縱深方向的直線,步驟(3)根據(jù)直線的角度方向將提取的直線束分為三類,具體做法如下。
1.3 根據(jù)直線特征剔除無效直線
根據(jù)文獻[5]可知,滅點的直線束在(ρ,)參數(shù)空間滿足線性分布關系,對于有錯誤樣本點的數(shù)據(jù)集合,為了最大化的接近真實目標,采用改進的穩(wěn)健回歸算法作為參數(shù)線性模型的估計算法;
假設圖像某一方向有n條直線束,分別記為L。那么,這n條直線束對應的參數(shù)應該滿足的一般線性表達式如式(1):
(1)
其中:為n條直線束中第條直線的參數(shù);為直線參數(shù)的線性模型參數(shù);為隨機誤差;為了抑制誤差點的影響,給每條直線分配一個,每個的取值與其對應直線的重要性有關,直線的重要性與該直線的傾斜角與其余傾斜角的距離和成反比,采用改進的穩(wěn)健回歸算法的線性擬合目標函數(shù)如式(2):
= (2)
其這樣中向量,使目標函數(shù)達到最小值時的值即為穩(wěn)健回歸算法所求線性模型的參數(shù)值。一般認為,遠離目標函數(shù)的樣本點既是外點,通過設立閾值去除誤差樣本點,參數(shù)空間中對應的點為圖形空間中的相應直線,通過此方法剔除了無效直線。
1.4 滅點求取
根據(jù)文獻[6]利用最小距離法求解滅點的坐標。設滅點直線束對應的滅點為,將和都表示為齊次坐標的形式,則有式(3):
(3)
式子中,,對應的直線方程為。
將利用最小距離法求解最佳滅點的問題轉化為線性代數(shù)的問題,根據(jù)拉格朗日不定乘子法,滅點為對稱矩陣最小特征值的特征向量。
2 相機內(nèi)外參數(shù)的標定
攝像機的內(nèi)參數(shù)由焦距,主點坐標組成。外參數(shù)由旋轉矩陣R和平移矩陣T構成,借助王建的攝像機標定方法[7]容易得到我們要求的內(nèi)外參數(shù)。
3 物體的三維重建
對于空間中的一個長方體來說,手動獲得四個頂點的圖像坐標,通過固定其某頂點的深度坐標Z,通過圖像點與空間的轉換公式就可以算出其他三點的深度值,從而計算出AB和AC的長度。同理通過,能求出BF的長度,確定重建長方體的長寬高。
4 實驗結果
根據(jù)改進后的穩(wěn)健回歸算法得到參數(shù)線性模型,利用得到的線性模型剔除有誤差的樣本點得到的有效直線結果如圖所示。
通過之前的介紹,假設圖3中D點對應的深度值為時,手動獲取圖像中的部分二維點,計算出長方體的邊長見表2。
根據(jù)求得的物體的長寬高,用OpenGL實現(xiàn)三維重建,實驗結果見圖3所示。
5 結語
本文介紹了利用規(guī)則幾何體本身性質(zhì)實現(xiàn)三維重建的方法,首先用canny算子和Hough變換檢測出直線,根據(jù)直線信息對直線進行聚類,采用改進的穩(wěn)健回歸算法作為參數(shù)線性模型的估計算法來剔除無效直線,此方法有效地剔除了圖像中無效直線的干擾,從而得出精確的滅點,根據(jù)滅點的屬性得到相機的內(nèi)外參數(shù),根據(jù)長方體的幾何性質(zhì)實現(xiàn)三維重建。此方法有效的提高了模型的精度,模型整體精度在3%以內(nèi),符合三維重建精度要求??稍囉糜谝?guī)則的多邊體的三維重建,也可用于規(guī)則建筑物的三維重建。
該方法也存在一些缺陷,此方法僅實現(xiàn)規(guī)則物體的重建,接下來會研究不同形狀的幾何體的單幅圖像三維重建。在滅點檢查算法中滅點精度非常重要,接下來還會再研究如何提高滅點精度。
參考文獻
[1] CRIMINISI A, REID I, ZISSERMAN A. Single view metrology [J]. International Journal of Computer Vision, 2000, 40(2): 123-148.
[2] NIAN Juan, PING Tan, Loong-Fah Cheong. Symmetric architecture modeling with a single image[J].SIGGRAPH Asia 2009papers, 2009,59(3):207-232.
[3] Tardif J P. Non-iterative approach for fast and accurate vanishing point detection [J]. IEEE International Conference on Computer Vision,2009,30(2):1250-1257.
[4] Xu Y L, Oh S, HOOGS A. A minimum error vanishing point detection approach for uncalibrated monocular images of man-made environments [C]//Computer Vision and Pattern Recognition, 2013. CVPR 2013. IEEE
[5] 張桂梅,儲珺,王麗.利用直線參數(shù)信息的建筑物滅點檢測方法[J].計算機應用,2013,33(2):515-538.
[6] CIPOLLA R, Robertson D. 3D models of architectural scenes from uncalibrated images and vanishing points[C]. Proceedings of the IEEE International Conference on Image Analysis and Processing, 1999:824-829.
[7] 王建,曾廣宇.基于單幅圖像的攝像機標定[J].微計算機信息,2010,26(7):214-216.