本發明涉及基于實心圓標定板的立體視覺系統標定平臺及標定方法。
背景技術:
在立體視覺理論體系中,像機內外參數求解(攝像機標定)和左右圖像立體匹配是兩大核心問題,從某種意義上講,像機標定技術和立體匹配算法的發展決定了立體視覺方法的發展。像機畸變系數的求解會影響無論單像機還是雙像機在應變場測量方面的結果。
經典的兩步法標定技術采用三維標定塊進行攝像機標定,該方法精度高但標定塊制作復雜,考慮的畸變模型簡單粗略,使用較少。目前,常用的標定工具為平面標定板與標定尺。其中,經典的張正友棋盤格標定算法通過提取Harris角點尋找世界坐標與圖像坐標之間的關系,算法的復雜度降低,并且標定板制作容易,得到了廣泛的應用。在國內,西安交通大學,南京航空航天大學等在標定算法方面做了大量研究,將帶有編碼的實心圓圓心作為靶點進行標定,使用的靶標為標定板、高精度標定十字架、漸變標定板等。此外,也有學者使用高精度標尺作為標定工具。然而,這些靶標的圓心需要通過查找編碼表進行排序,不易編程實現;而高精度標尺和標定十字架雖方便用于大視場標定,但造價較高,不適用于普通測量試驗。此外,傳統邊緣檢測方法有Roberts算子、Laplace算子、Prewitt算子和Canny算子等,這些方法只能定位到像素級,不能滿足精確定位要求。
技術實現要素:
本發明的目的是為了解決現有各種標定方法的優化變量數目過多,計算繁復的問題,而提出一種基于實心圓標定板的立體視覺系統的標定系統及方法。
一種基于實心圓標定板的立體視覺系統標定平臺包括:
用于輸入待標定圖片張數以及標定板上相鄰實心圓的圓心距參數的參數輸入模塊;
用于對參數輸入模塊中的待標定圖片進行預處理的圖像預處理模塊;
用于對圖像預處理模塊處理后的圖片進行左圖像標定、右圖像標定和立體標定的系統標定模塊;
用于對系統標定模塊標定后的圖片進行標定結果輸出的參數輸出模塊。
一種基于實心圓標定板的立體視覺系統標定方法,具體過程為:
步驟一:對左右相機采集的圖像進行處理,得到圓形標識點中心的圖像坐標;
步驟二:根據圓形標識點中心的圖像坐標進行圓心排序;
步驟三:對步驟二排序后的圖像進行立體視覺系統標定,得到左右攝像機外參數的優化解;
步驟四、根據左右攝像機外參數的優化解求解平移向量和旋轉矩陣。
一種基于實心圓標定板的立體視覺系統包括兩臺CCD相機、實心圓標定板、射燈、光學鏡頭、相機支架、射燈支架、多通道圖像采集卡和計算機;
所述實心圓標定板為白色底面上均勻分布49個黑色圓形斑點;
光學鏡頭與CCD相機相連,CCD相機安裝在相機支架上;射燈安裝在射燈支架上;
其中,安裝的CCD相機型號性能相同,且CCD相機都具有較高圖像分辨率;光學鏡頭尺寸與CCD相機尺寸匹配,接口類型匹配;光學鏡頭像素為百萬像素級光學鏡頭;相機支架用于固定相機;
所述較高圖像分辨率為百萬像素以上;
每臺CCD相機通過導線連接到多通道圖像采集卡上,多通道圖像采集卡安裝在計算機上,將計算機接通電源;將射燈接通電源,射燈作為補償光源;
所述多通道圖像采集卡采用模擬采集卡或數字采集卡,接口類型為IEEE1394、千兆網卡或USB接口。
本發明的有益效果為:
首先利用Canny-Zernike組合算法對靶標圓心進行識別并提出基于三角形標記的圓心排序方法。接著基于線性針孔模型獲得立體視覺系統的內外參數,然后分別對左右攝像機內外參數進行優化,優化變量數目減半,獲得外參數近似解。最后以實心圓靶標對角線上兩實心圓的距離作為約束條件,對攝像機外參數進行優化,獲得外參數最優解。本標定方法具有較高的精度,可以實現自動化標定,具有工程應用性。
附圖說明
圖1為基于實心圓標定板的立體視覺系統標定軟件界面示意圖,A為圖4f表示的識別實心圓標定板上的所有點示意圖;
圖2為立體視覺三維測量模型示意圖;
圖3為圓形標識識別算法流程圖;
圖4a為實心圓標定板示意圖;
圖4b為實心圓標定板的二值化圖像示意圖;
圖4c為識別實心圓標定板上的3點示意圖;
圖4d為識別實心圓標定板上的4點示意圖;
圖4e為重排實心圓標定板上的角點示意圖;
圖4f為識別實心圓標定板上的所有點示意圖,為圖1、圖7、圖8、圖9、圖10、圖11、圖12中A的放大圖;
圖5為實施例提出的基于實心圓標定板的立體視覺系統標定軟件的初始界面示意圖;
圖6為實施例提出的圖片預處理界面示意圖;
圖7為實施例提出的左相機標定界面示意圖,A為圖4f表示的識別實心圓標定板上的所有點示意圖;
圖8為實施例提出的左相機標定結果示意圖,A為圖4f表示的識別實心圓標定板上的所有點示意圖;
圖9為實施例提出的右相機標定界面示意圖,A為圖4f表示的識別實心圓標定板上的所有點示意圖;
圖10為實施例提出的右相機標定結果示意圖,A為圖4f表示的識別實心圓標定板上的所有點示意圖;
圖11為實施例提出的立體標定界面示意圖,A為圖4f表示的識別實心圓標定板上的所有點示意圖;
圖12為實施例提出的立體標定結果示意圖,A為圖4f表示的識別實心圓標定板上的所有點示意圖。
具體實施方式
具體實施方式一:本實施方式的一種基于實心圓標定板的立體視覺系統標定平臺包括:
用于輸入待標定圖片張數以及標定板上相鄰實心圓的圓心距參數的輸入模塊(Parameter input);
用于對參數輸入模塊中的待標定圖片進行預處理的圖像預處理模塊(Pretreatment);
用于對圖像預處理模塊處理后的圖片進行左圖像標定、右圖像標定和立體標定的系統標定模塊(Calibration);
用于對系統標定模塊標定后的圖片進行標定結果輸出的參數輸出模塊(Calib result)。
具體實施方式二:本實施方式與具體實施方式一不同的是:所述圖像預處理模塊(Pretreatment)包括:
用于考慮光照的影響,對不符合要求的圖片進行剔除的的Light子模塊.
用于對標定圖片進行圖像預處理的預處理First_elim子模塊。
其它步驟及參數與具體實施方式一相同。
具體實施方式三:本實施方式與具體實施方式一或二不同的是:所述系統標定模塊Calibration包括:
用于顯示待標定的標定板圖片的標定顯示Calib window子模塊;
用于對左相機進行標定的左相機標定Left_calib子模塊;
用于對右相機進行標定的右相機標定Right_calib子模塊;
用于進行立體標定的立體標定Stereo_calib子模塊;
用于標定完成后退出界面并保存標定結果的輸出Exit子模塊。
其它步驟及參數與具體實施方式一或二相同。
具體實施方式四:本實施方式與具體實施方式一至三之一不同的是:所述參數輸出模塊Calib result包括:
用于顯示左相機標定結果的左參數Left_parameter子模塊;
用于顯示右相機標定結果的右參數Right_parameter子模塊;
用于顯示立體標定結果的立體參數Stereo_parameter子模塊。
其它步驟及參數與具體實施方式一至三之一相同。
具體實施方式五:結合圖1、2、3、4a、4b、4c、4d、4e、4f說明本實施方式,本實施方式的一種基于實心圓標定板的立體視覺系統標定方法,具體過程為:
根據針孔透視模型,空間點P在攝像機成像平面上的投影表示為
其中[u,v,1]T為點P在圖像坐標系下投影點的無畸變圖像的齊次坐標,[xw,yw,zw]T是點P在世界坐標下的坐標;[xc,yc,zc]T是點P在攝像機坐標下的坐標;R和T分別為世界坐標系到攝像機坐標系的旋轉矩陣和平移向量,A為攝像機的內參數矩陣;
由于攝像機鏡頭存有畸變,實際成像點與理想成像點之間有一定偏差。考慮徑向畸變及切向畸變,本發明選擇4參數畸變模型,畸變模型表示為
其中(Xu,Yu)為無畸變情況下的像點歸一化坐標,(Xd,Yd)為有畸變情況下的像點歸一化坐標;k1,k2為徑向畸變,p1,p2為切向畸變;式(1)中的攝像機的內參數矩陣A及k1,k2,p1,p2統稱為攝像機的內部參數;
一般情況下,立體視覺測量系統對兩攝像機的位置不做任何要求。如圖2所示,P為空間中某一測點;設左攝像機坐標系位于世界坐標系o-xwywzw的原點處且無旋轉,圖像坐標系為Ol-XlYl;右攝像機坐標系為or-yrxrzr,圖像坐標系為Or-XrYr;假定圖像中對應點匹配關系已知,則根據兩攝像機幾何約束求得空間點P在世界坐標系下的三維坐標,如式(3)所示;
式中fl,fr分別為左右像機有效焦距;r1,...,r9,tx,ty,tz為兩攝像機相互位置關系的外參數;
一種基于實心圓標定板的立體視覺系統實現的,所述基于實心圓標定板的立體視覺系統包括兩臺CCD相機、實心圓標定板、射燈、鏡頭、相機支架、射燈支架、多通道圖像采集卡和計算機。
步驟一:對左右相機采集的圖像進行處理,得到圓形標識點中心的圖像坐標;
步驟二:根據圓形標識點中心的圖像坐標進行圓心排序;
步驟三:對步驟二排序后的圖像進行立體視覺系統標定,得到左右攝像機外參數的優化解;
步驟四、根據左右攝像機外參數的優化解求解平移向量和旋轉矩陣。
具體實施方式六:本實施方式與具體實施方式五不同的是:所述步驟一中對左右相機采集的圖像進行處理,得到圓形標識點中心的圖像坐標;具體過程為:
選用實心圓標定板進行標定的過程中,因不能保證標定板與兩像機光軸絕對垂直,故圖像識別過程中看到的圓為橢圓。本發明通過提取實心圓標定板上圓形標識點的圓心坐標來實現圓形標識的定位,涉及圓形標識點的邊緣檢測、特征識別及中心擬合算法等,具體工作流程如圖3所示。
步驟一一、對左右相機采集的圖像進行濾波去噪及二值化處理,得到實心圓標定板上各個圓形標識點目標參數,圓形標識點目標參數包括形狀參數、偏心率、球狀度、圓形度及邊緣長度等,以便進行實心圓靶標的邊緣檢測;
步驟一二、根據實心圓標定板上各個圓形標識點目標參數,利用Canny算法進行初步的邊緣點粗定位,得到單一的邊緣,為下一步精確定位提供了方便;使用Zernike矩算法對單一的邊緣進行亞像素定位,以提高定位精度,兩者的結合充分發揮了二者優點,可快速精確地得到實心圓標定板上圓形標識點的邊緣;為了滿足測量系統高精度實時檢測要求,本發明提出一種Canny-Zernike組合算法進行邊緣檢測。
步驟一三、由于透視投影變換所固有的特性,根據步驟一二得到的實心圓標定板上各個圓形標識點的邊緣在相機成像平面上呈現的往往是一個橢圓,利用最小二乘法擬合橢圓方程,設定各個邊緣點到擬合橢圓距離的閥值,通過迭代提高擬合橢圓中心的精度,每次剔除5%的邊緣點,直到距離標準差小于閥值位置,這樣可以有效控制橢圓的擬合精度。通過對試驗中圓形標識中心坐標的定位發現,采用以上算法可以實現0.02pixel的精度,實現亞像素定位,得到實心圓標定板上各個(49個)圓形標識點中心的圖像坐標。
其它步驟及參數與具體實施方式五相同。
具體實施方式七:本實施方式與具體實施方式五或六不同的是:所述步驟二中根據圓形標識點中心的圖像坐標進行圓心排序;具體過程為:
步驟二一、識別距離最遠的兩點坐標:
經過橢圓圓心識別,得到的實心圓靶標的圓心坐標是隨機排序的;而要實現各圓心世界坐標與圖像坐標的一一對應,需要對這些圓心坐標進行重排序。為此,本發明提出基于三角形標記的圓心排序方法。如圖4a所示,實心圓標定板的一角為等邊直角三角形,根據該三角形可確定1號實心圓的位置,由此實現標定板上所有實心圓的排序。該標定板含有49個實心圓,所以靶點即為實心圓圓心。實心圓標定板上的圓心坐標排序可通過如下過程實現:
對實心圓標定板上49個坐標點的任意兩點求距離,距離最遠的兩點位于對角線上,令其編號為1、2;這是由于標定板上靶點幾乎在同一平面上。
步驟二二、通過搜索剩余坐標點圓心坐標使得與點1、2所形成的角度達到最小,利用余弦絕對值最小的方式得到第3個點;如圖4c所示。
步驟二三、由搜索到的1、2、3三個點發現,1及3形成一條直線,而剩余的46個點同樣與2點形成直線,存在一個點與2點形成的直線平行1、3點形成的直線,且與2點的距離最遠,這時找到的點編號為4;見圖4d。
步驟二四、從圖4a看出,該實心圓標定板左上角有一個等邊直角三角形,將最靠近該等邊直角三角形部位的圓心作為坐標原點建立坐標系,需要對步驟二一、步驟二二、步驟二三識別到的四個角點重新排序;
排序方法是讓編號為1、2、3、4的4個點向外搜索,首先進入到黑色區域的點重新編號為1點,編號為1的點位于實心圓標定板的左上角,即最靠近等邊三角形的圓心;
對另外三個點與點1求距離,將距離最遠的點定義為點4,剩余兩個點與點1形成兩條相交的直線,交點為點1;對這兩直線做叉積運算,若叉積大于零,為正方向,從而得到點2、3的位置;見圖4e;若叉積小于零時,點2,3位置互換;
步驟二五、對49個圓心進行排序,首先對所有點與1、2點形成的直線求距離,可以定出7列,在對這些點與1、3形成的直線求距離,對每一列進行再次排序,通過這兩個步驟,最終完成了49個點的排序;如圖4f所示。
其它步驟及參數與具體實施方式五或六相同。
具體實施方式八:本實施方式與具體實施方式五至七之一不同的是:所述步驟三中對步驟二排序后的圖像進行立體視覺系統標定,得到左右攝像機外參數的優化解;具體過程為:
本發明對經典兩步標定算法進行改進,提出一種基于實心圓標定板的立體視覺系統標定方法,具體標定過程如下:
步驟三一、與傳統兩步法的第一步相同,皆是以不考慮像機畸變的線性針孔模型為計算模型,分別對左右標定板的靶點進行像點重建,通過極大似然估計方法求解映射矩陣,結合旋轉矩陣的正交特性求解左右像機線性參數;
步驟三二、以左右像機線性參數為初值,考慮攝像機的畸變,減半優化變量數目,分別對左右像機進行Levenberg-Marquardt(LM)優化,求解左右攝像機外參數近似解;具體過程為:
基于畸變模型的攝像機內外參數求解,對左右攝像機進行Levenberg-Marquardt(LM)優化,優化目標函數見式(4)
式中,上標j表示第j個實心圓,上標i表示第i幅標定圖片;AL為線性針孔模型下的左像機內參數矩陣,為左相機的徑向畸變,為左相機的切向畸變,AR為線性針孔模型下的右像機內參數矩陣,為右相機的徑向畸變,為右相機的切向畸變,為左相機第i幅圖片上第j個實心圓經式(1)與(2)計算得到的圖像坐標,為右相機第i幅圖片上第j個實心圓經式(1)與(2)計算得到的圖像坐標,為真實圖像坐標,i、j取值為正整數,Rr2l為表征左右像機相對位置的旋轉矩陣,Tr2l為表征左右像機相對位置的平移向量,為左靶標平面和左像機坐標系間的旋轉矩陣,為左靶標平面和左像機坐標系間的平移向量,n、取值范圍為正整數,n為左或右標定圖片幅數,為左圖片實心圓個數,為右圖片實心圓個數;
由式(4)可知,該目標函數優化變量共14個,即AL、AR、Rr2l、Tr2l為優化變量數目,式(4)中優化參數過多,在初值選擇不合適的情況下可能導致結果不收斂。為避免結果不收斂,本發明減少優化變量數目,利用式(5)的目標函數分別對左右攝像機進行Levenberg-Marquardt(LM)優化;相比(4)式,(5)式優化變量數目從14個降為7個;
式中,m為標定板上實心圓的個數,n為標定圖片張數;為第i幅圖片上第j個實心圓經式(1)與(2)計算得到的圖像坐標,Xij為第i幅圖片上第j個實心圓的真實圖像坐標,A為線性針孔模型下的單像機內參數矩陣,k1、k2為徑向畸變,p1、p2為切向畸變,R為旋轉矩陣,T為平移向量;R、T為外參數;
A、k1、k2、p1、p2、R、T為優化變量數目;
將式(5)計算結果帶入式(6)
Rr2l=Rr(Rl)-1,Tr2l=Tr-Rr(Rl)-1Tl (6)
得到不同姿態下左右攝像機外參數Rr2l,Tr2l;
理論上所有姿態下Rr2l,Tr2l應該相等。但由于噪聲的存在,且沒有經過傳統二步法的全局優化處理,會導致不同標定姿態下兩像機外部參數的差異。因此對所有姿態得到的左右攝像機外參數Rr2l,Tr2l取平均,得到左右攝像機外參數Rr2l,Tr2l的近似值;
步驟三三、以步驟三二得到的不同標定姿態下左右攝像機外參數近似解的均值為初值,以實心圓標定板的對角線長度為約束條件對左右攝像機進行LM全局優化,獲得左右攝像機外參數的優化解;具體過程為:
根據步驟三三以實心圓標定板的對角線長度為約束條件對左右攝像機進行LM全局優化,通過該長度縮放修正步驟三二得到的左右攝像機外參數Rr2l,Tr2l的近似值,步驟三優化變量僅包含外參數Rr2l,Tr2l,算法復雜度大幅降低,且獲得Rr2l,Tr2l的優化解。
其它步驟及參數與具體實施方式五至七之一相同。
具體實施方式九:本實施方式與具體實施方式五至八之一不同的是:所述步驟四中根據左右攝像機外參數的優化解求解平移向量和旋轉矩陣;具體過程為:
根據步驟三三中左右攝像機外參數的優化解求解平移向量和旋轉矩陣;具體過程為:
設經過畸變校正獲得的左右圖像理想圖像坐標為(Xl,Yl),(Xr,Yr),則根據式(3)的第三個公式有
(frtx-Xrtz)(r4Xl+r5Yl+flr6)-(frty-Yrtz)(r1Xl+r2Yl+flr3)=(Yrtx-Xrty)(r7Xl+r8Yl+flr9) (7)
式中,fr為右像機有效焦距,fl為左像機有效焦距,r1,...,r9,tx,ty,tz為表征兩像機相互位置關系的外參數;
由于tx≠0,上式兩邊同時除tx,且令α=1/tx,則T'=αT,T'=(1,t'y,t'z)T,式(7)得到含有11個未知數的方程,11個未知數為t'y、t'z、r1、r2、r3、r4、r5、r6、r7、r8、r9,該方程可表示為f(x)=0,其中x=(t'y,t'z,r1,r2,r3,r4,r5,r6,r7,r8,r9);
式中,α為比例系數,T'為參數歸一化向量,t'y=ty/tx,tz′=tz/tx;
此外,旋轉矩陣R具有正交性,因此作為f(x)=0的罰函數,形式如下:
這樣,可得到式(9)所示的49個點的無約束最優目標函數;
其中,M1,M2,...,M6六個系數為罰因子,fi(x)為第i個圓心對應的非線性函數,由公式(7)做公式變形得到,n取值為1≤n≤49;
為了保證正交性,6個罰因子都取較大的值為105,當罰因子大于105時,得到的49個點的無約束最優目標函數不變;通過LM優化方法求得x值,再利用式(3)求解得到帶有比例系數的zi',需要通過確定比例系數α值來求解平移向量和旋轉矩陣真實值,下面介紹α的求解方法;
設圖4f所示實心圓標定板編號1、49兩圓圓心形成的對角線長度為L,已知圓心距,通過幾何計算得到L值;圓1、49對應的左圖像坐標分別為(Xl1,Yl1)、(Xl49,Yl49);通過式(3)有以下等式成立:
式中,z1為實心圓標定板編號1,z49為實心圓標定板編號49,Xl1為實心圓標定板編號1對應的左圖像橫坐標,Xl49為實心圓標定板編號49對應的左圖像橫坐標,Yl1為實心圓標定板編號1對應的左圖像縱坐標,Yl49為實心圓標定板編號1對應的左圖像縱坐標;
又由于z'1=αz1,z'49=αz49,則式(10)變為
由式(11)可求得
事實上α的符號由坐標選取法決定,本發明中取負號,至此,得到平移向量T*和旋轉矩陣R*可以求得,而T*可能仍含有比例因子,需要進一步進行縮放;通過式(3)再一次重建圓1,49形成的對角線長度,設此時重建的長度為L*,因此,最終得到的平移向量為T=LT*/L*,旋轉矩陣R=R*。
其它步驟及參數與具體實施方式五至八之一相同。
具體實施方式十:本實施方式的一種基于實心圓標定板的立體視覺系統包括:
(1)基于實心圓標定板的立體視覺系統包括兩臺CCD相機、實心圓標定板、射燈、鏡頭、相機支架、射燈支架、多通道圖像采集卡和計算機;所述實心圓標定板為白色底面上均勻分布49個黑色圓形斑點;標定板本身須有較大剛度,不會輕易發生變形;
(2)將光學鏡頭與CCD傳感器相連,并將CCD相機安裝在相機支架上;將射燈安裝在射燈支架上;
其中,安裝的CCD相機型號性能相同,并且CCD相機都具有較高圖像分辨率;光學鏡頭尺寸與CCD傳感器尺寸匹配,接口類型匹配;光學鏡頭根據物距和靶標成像的大小來選擇鏡頭焦距;光學鏡頭像素為百萬像素級光學鏡頭;相機支架用于固定相機;較高圖像分辨率為百萬像素以上;
(3)每臺CCD相機通過導線連接到多通道圖像采集卡上,多通道圖像采集卡安裝在計算機上,將計算機接通電源;將射燈接通電源,射燈作為補償光源,根據拍攝照片時的光照需要來選擇射燈是否打開;
(4)打開CCD相機,調整CCD相機的角度和焦距,使標定板位于視場中央且圖像清晰,然后將CCD相機固定;打開射燈,并調整射燈的角度來對準靶標;調整完成后,將射燈固定;打開電腦,安裝CCD相機驅動程序,確保CCD相機正常工作;
(5)打開計算機,運行計算機中的基于實心圓標定板的立體視覺系統標定軟件進行圖片標定;
所述步驟(5)中多通道圖像采集卡采用模擬采集卡或數字采集卡,接口類型為IEEE1394、千兆網卡或USB接口。
其它步驟及參數與具體實施方式六相同。
采用以下實施例驗證本發明的有益效果:
實施例一:
本實施例一種基于實心圓標定板的立體視覺系統的標定系統及方法具體是按照以下步驟制備的:
步驟一:運行計算機中的基于實心圓標定板的立體視覺系統標定軟件得到標定初始界面,如圖5所示;
步驟二:將待標定圖片存放到當前目錄下;
步驟三:選擇光照條件“dark”,在“Parameter_input”中輸入相應的參數,點擊“First_elilm”進行圖片預處理,如圖6所示;
步驟四:選擇要進行標定的圖片張數,對“Parameter_input”中參數進行修改,點擊“Left_calib”,進行左相機標定,如圖7所示。得到左相機標定結果如圖8所示;
步驟九:點擊“Right_calib”,得到右相機標定界面如圖9所示。得到右相機標定結果如圖10所示;
步驟十:點擊“Stereo_calib”,選擇標定板序號“1”,得到圖11。
至此,如圖12所示,整個標定過程完畢,相應的數據保存在當前路徑下。
本實施例為立體視覺標定提供一種優化變量數目少,計算簡單、快速和精度高的標定軟件和方法。
本發明還可有其它多種實施例,在不背離本發明精神及其實質的情況下,本領域技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發明所附的權利要求的保護范圍。