李奇敏, 李揚宇
(重慶大學(xué) 機械工程學(xué)院,重慶 400000)
計算與測試
基于改進SIFT算法的雙目視覺距離測量*
李奇敏, 李揚宇
(重慶大學(xué)機械工程學(xué)院,重慶400000)
針對視覺傳感器距離測量中所使用的圖像特征匹配算法精度不高、計算量大、實時性差等問題,提出了一種改進尺度不變特征變換(SIFT)圖像特征匹配算法,并應(yīng)用于雙目測距系統(tǒng)當(dāng)中。改進SIFT算法基于簡化尺度構(gòu)造空間,以曼哈頓距離作為最鄰近特征點查詢中的相似性度量,提高了算法效率。初次匹配之后與隨機采樣一致算法(RANSAC)結(jié)合,剔除誤匹配點;基于精度較高的二次匹配點,提取匹配點像素信息進行距離計算,通過測距試驗驗證算法的可行性。實驗結(jié)果表明:提出的方法獲取目標(biāo)距離達到較高精度,滿足觀測設(shè)備要求。
雙目立體視覺; 攝像機標(biāo)定; 特征匹配; 測距
相比于超聲、激光、紅外等主動法測距傳感器,視覺傳感器具有信息豐富、探測范圍廣等諸多優(yōu)點,在移動機器人導(dǎo)航特別是障礙物檢測中的應(yīng)用越來越廣泛[1~3]。視覺探測是指通過幾個位于物體不同方位的視覺傳感器對物體成像,通過視差恢復(fù)深度信息的過程[4]。其中雙目立體視覺技術(shù)通過左、右攝像機提供的圖像信息能夠比較準(zhǔn)確地恢復(fù)視場的三維信息,測量方式也更方便、靈活。核心問題是快速準(zhǔn)確的成像匹配,指將同一目標(biāo)在不同時間、不同分辨率、不同光照、不同位姿情況下所獲取的圖像相對應(yīng)[5]。
圖像匹配問題在很大程度上制約著視覺傳感器在機器人領(lǐng)域的應(yīng)用。不同的匹配方法需要不同的關(guān)鍵特征描述子。在眾多的關(guān)鍵特征描述子中,尺度不變特征變換(scale invariant feature transform,SIFT)算子[6]、加速穩(wěn)健特征(speeded up robust features,SURF算子[7]與定向FAST和旋轉(zhuǎn)BRIEF(oriented FAST and rotated BRIEF,ORB)[8]算子應(yīng)用較為廣泛,具有較好的魯棒性。SIFT算子具有相對較高的準(zhǔn)確性,良好的尺度、旋轉(zhuǎn)、光照等不變特性[9],魯棒性較高,但是計算復(fù)雜,實時性相對較差,直接應(yīng)用于距離測量效果不佳。
針對移動機器人距離信息獲取實時性與準(zhǔn)確性的要求,本文基于原始SIFT算法提出了一種改進的SIFT算法,避免了大量的非測距目標(biāo)特征點與無效計算。將改進的SIFT特征匹配算法與雙目視覺模型相結(jié)合,完成目標(biāo)測距。通過試驗驗證,改進的算法實時性與準(zhǔn)確性均有相應(yīng)提高,測距精度滿足移動機器人觀測系統(tǒng)要求。
1.1 攝像機成像模型
攝像機成像模型通常涉及到圖像坐標(biāo)系、攝像機坐標(biāo)系與世界坐標(biāo)系。根據(jù)坐標(biāo)旋轉(zhuǎn)平移關(guān)系,針孔線性成像原理與圖像物理坐標(biāo)與像素坐標(biāo)變換關(guān)系,推導(dǎo)可得
(1)
式中M1為攝像機內(nèi)參數(shù)矩陣;fx,fy分別為u軸和v軸的有效焦距;u0,v0為圖像像素平面光學(xué)中心;M2為外參數(shù)矩陣;R和t為旋轉(zhuǎn)矩陣和平移向量。
1.2 攝像機標(biāo)定實驗流程
攝像機標(biāo)定實驗基于Matlab R2014,采用Bouguet標(biāo)定工具箱進行。搭建平行雙目視覺系統(tǒng),基線長度為180 mm,分別對左、右攝像頭進行單目標(biāo)定實驗。標(biāo)定流程如下:1)圖像采集與圖像讀取;2)手動提取角點;3)單目標(biāo)定,通過角點參數(shù),利用標(biāo)定函數(shù)迭代獲取內(nèi)外參數(shù);4)雙目標(biāo)定,利用2臺攝像機標(biāo)定的.mat文件,導(dǎo)入雙目標(biāo)定程序,完成標(biāo)定。
1.3 攝像機標(biāo)定實驗結(jié)果
1.3.1 單目攝像機標(biāo)定結(jié)果
根據(jù)標(biāo)定函數(shù)迭代結(jié)果,可獲得攝像機內(nèi)外參數(shù)的矩陣形式。經(jīng)過立體校正后左、右攝像機內(nèi)參數(shù)矩陣形式為
1.3.2 雙目立體標(biāo)定結(jié)果
對雙目立體視覺系統(tǒng)中的兩部攝像機分別完成標(biāo)定后,利用不同模板圖片所對應(yīng)的外參數(shù)矩陣計算兩個攝像機之間的關(guān)系,完成雙目立體標(biāo)定,獲得右攝像機相對于左攝像機的旋轉(zhuǎn)和平移關(guān)系,立體標(biāo)定結(jié)果:旋轉(zhuǎn)向量為[-0.037 65 0.248 57 0.017 04],平移向量為[-182.960 72 -4.608 52 2.902 60]。
對旋轉(zhuǎn)向量進行羅德里格斯變換(cvRodrigues2函數(shù)),即可獲得兩部攝像機之間的旋轉(zhuǎn)矩陣
平移向量
T=[-182.960 72 -4.608 52 2.902 60]
通過標(biāo)定的結(jié)果可以看出,旋轉(zhuǎn)矩陣R近似于單位矩陣,基本無旋轉(zhuǎn),符合所建立的平行雙目立體視覺模型。從平移向量的X分量可以看出,標(biāo)定得到兩攝像機相距為182.960 72 mm,標(biāo)定結(jié)果與實際距離180 mm較為接近。標(biāo)定實驗給出了攝像機的內(nèi)、外參數(shù)以及三個坐標(biāo)系之間的關(guān)系,為后續(xù)匹配與測距工作打下基礎(chǔ)。
2.1 原始SIFT算法理論基礎(chǔ)
SIFT特征匹配算法[6],即尺度不變性特征匹配算法主要分為特征向量生成與特征向量匹配2個過程。
2.1.1 SIFT特征向量的生成
SIFT特征向量的生成包括以下4個步驟:檢測尺度空間極值點、精確定位極值點、指定特征點方向參數(shù)和計算生成特征向量[10]。
尺度空間極值檢測的主要過程為:在尺度空間內(nèi),利用唯一的線性核—高斯核函數(shù)建立高斯金字塔。在高斯差分(difference of Gaussian,DOG)金字塔內(nèi)進行極值檢測,最終,可以初步確定特征點的位置及所在尺度。
由于DOG極值檢測對噪聲和邊緣較敏感,因此,空間中檢測到局部極值點還要經(jīng)過進一步的檢驗才能確定為特征點。精確定位極值點的作用是剔除對比度較低的極值點和不穩(wěn)定的邊緣響應(yīng)點,獲得精確圖像局部特征點。
算法建議對每個特征點使用4×4共16個種子點描述,對于一個特征點即可產(chǎn)生128個數(shù)據(jù),最終形成128維的SIFT特征向量[11]。
2.1.2 SIFT特征向量的匹配
(2)
式中n為特征向量的維數(shù)。
由最近鄰特征點距離和次近鄰特征點距離的比值確定匹配點,如果比值小于設(shè)定閾值則被認為是一對匹配點;否則,剔除該對匹配點。
2.2 改進的SIFT特征匹配算法
1)匹配預(yù)處理
圖像采集完畢后,對圖像進行一系列的預(yù)處理操作,降低圖像噪聲,提高圖像質(zhì)量。通過分析常用的圖像平滑方法與相關(guān)圖像處理試驗對比,采用中值濾波與高斯濾波相結(jié)合的預(yù)處理方法,首先通過中值濾波消除隨機噪聲,再采用高斯濾波消除高斯噪聲。
2)簡化尺度構(gòu)造空間
對傳統(tǒng)SIFT算法的尺度空間構(gòu)造進行了簡化,在尺度空間構(gòu)造時減少高斯金字塔的組數(shù)和每組的層數(shù),減少特征點數(shù)目,提高算法的實時性。
3)最鄰近特征點查詢
采用基于改進的KD-tree最近鄰搜索算法—BBF最近鄰搜索算法,完成特征點搜索。
算法基于所檢測的特征點數(shù)據(jù)集合,構(gòu)建KD-tree結(jié)構(gòu)。根據(jù)最鄰近思想,從根部沿著樹節(jié)點搜索目標(biāo)點的最近鄰特征點。本文以曼哈頓距離作為特征點的相似性度量。二維向量間的曼哈頓距離定義為
d=|x1-x2|+|y1-y2|
(3)
根據(jù)定義可知,對于128維描述特征向量,曼哈頓距離相對于歐式距離計算量大幅減少。分別找到特征點P曼哈頓距離最近和次近的兩個相鄰特征點Q1和Q2,然后計算(P,Q1)和(P,Q2)兩組特征描述算子之間距離比值d。如果比值d小于給定的閾值t,則認為匹配成功,接受匹配點對(P,Q1)。跟據(jù)后續(xù)試驗驗證,在閾值t為0.5~0.7時效果較好。
4)隨機采樣一致算法[13]去除誤匹配點對
根據(jù)該算法思想,認為正確的匹配點對像素坐標(biāo)滿足對極幾何約束關(guān)系,可采用基礎(chǔ)矩陣作為參數(shù)模型。根據(jù)基礎(chǔ)矩陣自由度數(shù)目,隨機抽取7組匹配點對作為初始點集。
根據(jù)7組匹配點對計算初始基礎(chǔ)矩陣M,作為特征點數(shù)據(jù)描述模型。將全體匹配點對代入模型計算,若該匹配點對滿足誤差度量函數(shù)設(shè)定閾值t,則該點為模型內(nèi)點。通過獲得的所有內(nèi)點構(gòu)成樣本模型一致集,并以集合計算更新基礎(chǔ)矩陣參數(shù)模型。若當(dāng)前模型內(nèi)點比率p小于設(shè)定比率閾值,則重復(fù)上述過程繼續(xù)迭代,直到p大于設(shè)定閾值。返回最優(yōu)基礎(chǔ)矩陣作為描述數(shù)據(jù)集合的模型,并將滿足該最優(yōu)模型的所有內(nèi)點對作為二次匹配點對。
2.3 改進算法特征點提取試驗
本文以VS2012為仿真環(huán)境,基于開源OpenCV庫,對改進的SIFT算法編程仿真,進行了SIFT特征點匹配試驗。
2.3.1 特征點簡化試驗
改進SIFT算法,特征點由1 426個減少至27個,時間減少了3.7 s,匹配準(zhǔn)確率也得到了極大提高。算法對比結(jié)果如表1。算法匹配圖像對比如圖1。
2.3.2 誤匹配點優(yōu)化試驗
將SIFT算法與隨機采樣一致(random sample consensus,RANSAC)算法集合,初次匹配后進行二次匹配。
表1 2種方法對于圖像的匹配數(shù)據(jù)
圖1 SIFT算法匹配
通過近景與遠景匹配試驗,驗證了算法的準(zhǔn)確性。近景匹配圖像如圖2,遠景匹配圖像如圖3。試驗匹配數(shù)據(jù)如表2所示。
圖2 SIFT算法近景匹配
從試驗結(jié)果可以看出:改進的SIFT算法對于近景和遠景圖像的誤匹配點剔除均有良好的效果,保證了特征點的準(zhǔn)確性。同時在實時性上相對于原始算法也有一定的提高。
圖3 SIFT算法遠景匹配
使用方法圖像環(huán)境匹配點對匹配正確率/%匹配時間/s未引入RANSAC近景3195.52.3匹配算法遠景1883.32.1結(jié)合RANSAC近景29100.0 1.9匹配算法遠景1593.31.7
為驗證改進算法的可行性,本文基于搭建的雙目視覺系統(tǒng)進行了目標(biāo)測距試驗。
試驗在距離雙目攝像機不同距離處放置目標(biāo)物,利用改進算法求出其距離,通過與真實距離對比分析其精度。目標(biāo)物為平面書籍與圓形水杯,分別模擬平面障礙物與曲面障礙物。實際距離為目標(biāo)物上最近點至基線中心點距離,由實際測量獲取。對于平面障礙物,本文按照相似性度量最小匹配距離與次小匹配距離的比值進行置信度排序,定義目標(biāo)距離為置信度較高的3個匹配點距離平均值。對于曲面障礙物,定義位于目標(biāo)上所有匹配點當(dāng)中的最短距離作為目標(biāo)距離。
基線中點與目標(biāo)物距離分別取500~700 mm等5組不同值,以50 mm為梯度間隔。測量數(shù)據(jù)如表3和表4。
表3 改進SIFT算法距離測量數(shù)據(jù)(平面目標(biāo)物)
表4 改進SIFT算法距離測量數(shù)據(jù)(曲面目標(biāo)物)
針對不同形狀的目標(biāo)物,不同的測量距離定義能夠提高測量精度,但依然存在測量誤差。經(jīng)分析,測量誤差主要有以下3點原因:
1)攝像機位置設(shè)置偏差。由于攝像機未完全按照所構(gòu)建數(shù)學(xué)模型放置,高度方向存在細微偏差,造成結(jié)果不準(zhǔn)確;
2)圖像采集的質(zhì)量不高,對結(jié)果造成影響;
3)攝像機標(biāo)定的誤差對深度信息的求取產(chǎn)生影響。
根據(jù)上述數(shù)據(jù),測量算法最大誤差百分比為2.24 %,滿足觀測設(shè)備的精度要求。但由于攝像機焦距固定,系統(tǒng)僅在某一距離范圍內(nèi)保持較高的測量精度。
提出了一種改進的SIFT算法。算法采取簡化尺度空間構(gòu)造方法,并引入曼哈頓距離作為最近鄰搜索算法相似性度量。初次匹配之后與RANSAC算法結(jié)合,剔除誤匹配點。試驗結(jié)果表明:改進的SIFT算法具有較高的匹配實時性與準(zhǔn)確性,方法獲取目標(biāo)距離可達到較高精度。
[1] 陳奕君.基于多傳感器信息融合的機器人避障研究[D].大慶:東北石油大學(xué),2014.
[2] 張 天,楊晨曦,朱 穎,等.多傳感器信息融合在四足機器人避障中的應(yīng)用[J].傳感器與微系統(tǒng),2015,34(5):150-153.
[3] 祝 琨,楊唐文,阮秋琦,等.基于雙目視覺的運動物體實時跟蹤與測距[J].機器人,2009,31(4):327-334.
[4] 王 宇,劉泓濱,李華文.機器視覺的災(zāi)后救援機器人越障系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2016,35(4):24.
[5] 汪 松.基于SIFT算法的圖像匹配方法研究[D].西安:西安電子科技大學(xué),2013.
[6] Lowe D G.Distinctive image features from scale-invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[7] Bay H,Ess A,Tuytelaars T,et al.Speeded-up robust features(SURF)[J].Comput VisImage Underst,2008,110:346-359.
[8] Rublee E,Rabaud V,Konolige K,et al.ORB:An efficient alternative to SIFT or SURF[C]∥Proc of the IEEE Int’l Conf on Computer Vision(ICCV),2011:13.
[9] Endres F,Hess J,Sturm J,et al.3D mapping with an RGB-D camera[J].IEEE Transactions on Robotics,2014,30(1):177-187.
[10] 陳愛鸞.基于SIFT算子的雙目視覺三維測量技術(shù)研究[D].廣州:廣東工業(yè)大學(xué),2015.
[11] 王程冬,程筱勝,崔海華,等.SIFT算法在點云配準(zhǔn)中的應(yīng)用[J].傳感器與微系統(tǒng),2012,31(2):149-152.
[12] 孟 浩,程 康.基于SIFT特征點的雙目視覺定位[J].哈爾濱工程大學(xué)學(xué)報,2009(6):649-652.
[13] Li B,Ming D,Yan W,et al.Image matching based on two-column histogram hashing and improved RANSAC[J].IEEE Geosciences and Remote Sensing Letters,2014,11(8):1433-1437.
BinocularstereodistancemeasurementbasedonimprovedSIFTalgorithm*
LI Qi-min, LI Yang-yu
(CollegeofMechanicalEngineering,ChongqingUniversity,Chongqing400000,China)
Aiming at problems such as low precision,large amount of calculation and poor real-time performance of image feature matching algorithm that used in distance measurement by visual sensor,an improved scale invariant feature transform(SIFT) image feature matching algorithm is proposed and applied to the binocular distance measurement system.In order to improve the efficiency of the algorithm,the improved SIFT algorithm is based on the simplified scale structure space,which takes Manhattan distance as the similarity measurement in the nearest neighbor query.To eliminate mismatching points,the random sample consensus(RANSAC) algorithm is used after first match.Based on the second match points with high precision,the pixel information of match points is extracted to calculate distance,and the feasibility of the algorithm is verified by distance measure experiment.Experimental results show that the distance of target with high precision meets the requirements of observation equipment based on the proposed method.
binocular stereo vision; camera calibration; feature matching; distance measurement
10.13873/J.1000—9787(2017)11—0119—04
TP 391
A
1000—9787(2017)11—0119—04
2016—11—28
國家自然科學(xué)基金資助項目(61473051)
李奇敏(1976-),男,博士,副教授,碩士生導(dǎo)師,主要從事機器人技術(shù)、計算機圖形學(xué)研究工作。
李揚宇(1992-),男,壯族,碩士研究生,主要研究領(lǐng)域為計算機視覺、圖像處理。