本發(fā)明涉及一種高精度3d視覺(jué)測(cè)量方法,屬于機(jī)器視覺(jué)、三維重建與高精密自動(dòng)化測(cè)量?jī)x器領(lǐng)域。
背景技術(shù):
:在制造業(yè)中,用來(lái)生產(chǎn)工件的機(jī)器本身不可避免的存在著一定的制造精度誤差。因此,凡是被其生產(chǎn)出的工件必然會(huì)存在一定的公差。對(duì)于那些加工精度要求很高的工件來(lái)說(shuō),我們必須準(zhǔn)確的測(cè)量其工差范圍。視覺(jué)測(cè)量在工業(yè)零件的尺寸測(cè)量方面也體現(xiàn)出了其獨(dú)特的優(yōu)勢(shì),可實(shí)現(xiàn)非接觸檢測(cè)測(cè)量,且長(zhǎng)時(shí)間穩(wěn)定工作。利用視覺(jué)測(cè)量,可以節(jié)省大量勞動(dòng)力資源,為公司帶來(lái)可觀(guān)的效益,其應(yīng)用前景非??捎^(guān)。視覺(jué)測(cè)量系統(tǒng)具有測(cè)量功能,能夠自動(dòng)測(cè)量產(chǎn)品的外觀(guān)尺寸,比如能夠自動(dòng)測(cè)量產(chǎn)品的外形輪廓、孔徑、面積等參數(shù)的尺寸。目前在機(jī)器視覺(jué)領(lǐng)域主流的檢測(cè)手段主要是依賴(lài)2d相機(jī)的視覺(jué)測(cè)量技術(shù)。這種方法只能測(cè)量屬于2d的目標(biāo)物的對(duì)應(yīng)尺寸,當(dāng)需要測(cè)量高度、深度、厚度、平面度、體積、磨損度時(shí),該測(cè)量方法則無(wú)法達(dá)到要求。在工業(yè)上,用于高精度零件尺寸測(cè)量的儀器是三維坐標(biāo)測(cè)量?jī)x,其精度一般都在微米級(jí)別,但是三坐標(biāo)測(cè)量?jī)x測(cè)量效率低下,遠(yuǎn)不能滿(mǎn)足工業(yè)制造的實(shí)際效率需求。近年來(lái),隨著“工業(yè)4.0”的提出,與智能工廠(chǎng)緊密相關(guān)的視覺(jué)測(cè)量技術(shù)得到了高度重視和發(fā)展。因此,研發(fā)快速高效的高精度3d視覺(jué)測(cè)量技術(shù),已成為實(shí)現(xiàn)“工業(yè)4.0”的急切需求。技術(shù)實(shí)現(xiàn)要素:本發(fā)明是為了克服現(xiàn)有技術(shù)的上述不足,提出了一種高精度3d視覺(jué)測(cè)量方法,該方法克服了傳統(tǒng)2d視覺(jué)測(cè)量無(wú)法測(cè)量不在同一個(gè)平面目標(biāo)之間的相應(yīng)參數(shù)的問(wèn)題,同時(shí)也克服了傳統(tǒng)的三維坐標(biāo)測(cè)量?jī)x測(cè)量效率低下的問(wèn)題,直接通過(guò)多對(duì)雙目相機(jī)對(duì)測(cè)量目標(biāo)進(jìn)行3d測(cè)量,并且精度已經(jīng)達(dá)到10um以下。本發(fā)明通過(guò)這樣的技術(shù)方案實(shí)現(xiàn):一種高精度3d視覺(jué)測(cè)量方法,其特征在于,通過(guò)安置在待測(cè)目標(biāo)的左側(cè)、右側(cè)、上方三對(duì)雙目相機(jī)分別重建待測(cè)目標(biāo)的三維坐標(biāo)。實(shí)現(xiàn)所述方法包括如下步驟:步驟1,高精度相機(jī)內(nèi)參數(shù)標(biāo)定,確定所有相機(jī)的內(nèi)參數(shù)。首先利用張正友標(biāo)定法計(jì)算相機(jī)的內(nèi)參數(shù),再根據(jù)協(xié)方差定律刪除方差大于規(guī)定閾值的像素點(diǎn)。之后,用剩下的方差小于規(guī)定閾值的像素點(diǎn)再一次進(jìn)行相機(jī)標(biāo)定。步驟2,立體相機(jī)標(biāo)定,確定立體相機(jī)的外參數(shù)。確定相機(jī)的外參數(shù)需要用到步驟1中標(biāo)定的內(nèi)參數(shù)的結(jié)果,為了消除誤差的傳播效應(yīng),在這一步需要對(duì)所有的計(jì)算結(jié)果進(jìn)行捆綁集調(diào)整優(yōu)化計(jì)算。步驟3,不同相機(jī)坐標(biāo)系的轉(zhuǎn)換,將不同相機(jī)坐標(biāo)系統(tǒng)一轉(zhuǎn)化到同一個(gè)相機(jī)坐標(biāo)系下,采用四元素法進(jìn)行六參數(shù)坐標(biāo)系的轉(zhuǎn)換。步驟4,提取每一個(gè)相機(jī)視野中的目標(biāo)物的邊緣位置(以橢圓目標(biāo)為例)。首先用canny邊緣檢測(cè)提取整幅圖像指定區(qū)域的邊緣位置,再用邊緣跟蹤算法計(jì)算每一個(gè)邊緣像素點(diǎn)的數(shù)目,刪除像素點(diǎn)小于固定閾值的邊緣。步驟5,對(duì)步驟4中橢圓邊緣進(jìn)行擬合,計(jì)算擬合橢圓的長(zhǎng)短軸和面積,刪除不滿(mǎn)足條件的橢圓邊緣,并提取橢圓中心。步驟6,分別根據(jù)步驟5中左右兩個(gè)橢圓中心的像素坐標(biāo),用步驟1和步驟2得到的相機(jī)參數(shù)首先用線(xiàn)性三角化方法分別重建左側(cè)、右側(cè)、上方橢圓中心的三維坐標(biāo),在根據(jù)線(xiàn)性三角化結(jié)果對(duì)重建的三維點(diǎn)進(jìn)行非線(xiàn)性?xún)?yōu)化,得到精度更高的三維坐標(biāo)點(diǎn)。步驟7,根據(jù)步驟3中得到坐標(biāo)系轉(zhuǎn)換參數(shù)將所有三維點(diǎn)轉(zhuǎn)化到同一個(gè)坐標(biāo)系下,即可得到高精度的三維坐標(biāo)點(diǎn)。本發(fā)明與現(xiàn)有技術(shù)相比有以下優(yōu)點(diǎn):1.本發(fā)明能夠直接對(duì)待測(cè)目標(biāo)進(jìn)行三維測(cè)量,得到待測(cè)目標(biāo)的三維坐標(biāo)。2.相機(jī)標(biāo)定精度高,現(xiàn)有常用的張正友標(biāo)定法的標(biāo)定精度大約為0.4像素,本發(fā)明的相機(jī)標(biāo)定精度約為0.1像素。3.本發(fā)明的橢圓邊緣提取精度控制在0.2像素以?xún)?nèi)。4.本發(fā)明最終的三維重建精度在0.3像素以?xún)?nèi)。附圖說(shuō)明圖1為本發(fā)明方法相機(jī)安置位置示意圖。圖2為本發(fā)明方法待測(cè)對(duì)象的實(shí)物圖。圖3為本發(fā)明方法算法流程圖。圖4為本發(fā)明方法與張正友標(biāo)定算法重投影誤差的對(duì)比圖。圖5為重建出的棋盤(pán)格空間位置圖。圖6為目標(biāo)邊緣提取結(jié)果。圖7為邊緣擬合及其局部圖像。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明做進(jìn)一步說(shuō)明。如圖1所示,為測(cè)量過(guò)程相機(jī)安置方案,其中左側(cè)安置兩個(gè)相機(jī),右側(cè)安置兩個(gè)相機(jī),上方安裝兩個(gè)相機(jī)。圖2為本發(fā)明的測(cè)量對(duì)象的實(shí)物圖。本發(fā)明的流程圖如圖3所示。本實(shí)施例中,用一個(gè)人工制作的標(biāo)定塊作為測(cè)量目標(biāo),測(cè)量左側(cè)和右側(cè)對(duì)應(yīng)圓心所連直線(xiàn)的距離,該標(biāo)定塊經(jīng)過(guò)三維坐標(biāo)測(cè)量?jī)x獲取圓心的三維坐標(biāo),精度為1um。在相機(jī)標(biāo)定過(guò)程中,我們采用的標(biāo)定物為精度為10um的玻璃平面棋盤(pán)格標(biāo)定板。下面結(jié)合附圖,對(duì)發(fā)明的技術(shù)方案的具體過(guò)程加以說(shuō)明。因本發(fā)明左側(cè)、右側(cè)、上方的相機(jī)計(jì)算過(guò)程完全相同,故以左側(cè)兩個(gè)相機(jī)的計(jì)算過(guò)程為例敘述。(1)對(duì)左側(cè)每一個(gè)相機(jī)進(jìn)行高精度內(nèi)參數(shù)標(biāo)定,確定左側(cè)相機(jī)的內(nèi)參數(shù)矩陣(4個(gè)參數(shù)分別為fx、fy、cx、cy)。該步驟首先利用張正友標(biāo)定法計(jì)算相機(jī)的內(nèi)參數(shù)矩陣,我們得到兩個(gè)相機(jī)的5個(gè)內(nèi)參數(shù)分別為[10912.910908.12069.91018.5]、[10765.410767.62030.31066.4],再根據(jù)協(xié)方差定律刪除方差大于規(guī)定閾值的像素點(diǎn)。之后,用剩下的方差小于規(guī)定閾值的像素點(diǎn)再一次進(jìn)行相機(jī)標(biāo)定,得到的兩個(gè)相機(jī)的內(nèi)參數(shù)分別為[10916.410915.42030.01100.8]、[10893.710889.92083.51104.1]。圖4是經(jīng)過(guò)上述步驟得到的內(nèi)參數(shù)矩陣重建出來(lái)的三維點(diǎn)的重投影誤差分布,可以看到誤差大致分布在0.1像素以?xún)?nèi)。(2)立體相機(jī)標(biāo)定,確定左側(cè)兩個(gè)相機(jī)的外參數(shù)。確定相機(jī)的外參數(shù)需要用到(1)中標(biāo)定的內(nèi)參數(shù)的結(jié)果,為了消除誤差的傳播效應(yīng),在這一步需要對(duì)所有的計(jì)算結(jié)果進(jìn)行捆綁集調(diào)整(或者光束法平差)優(yōu)化計(jì)算步驟,得到外參數(shù)為t=[-168.039,-1.172,41.871]。圖5為根據(jù)立體標(biāo)定重建出三維空間中棋盤(pán)格的位置圖像。(3)提取每一個(gè)相機(jī)視野中的目標(biāo)物的邊緣位置(以橢圓目標(biāo)為例)。首先用canny邊緣檢測(cè)提取整幅圖像指定區(qū)域的邊緣位置,再用邊緣跟蹤算法計(jì)算每一個(gè)邊緣像素點(diǎn)的數(shù)目,刪除像素點(diǎn)小于固定閾值的邊緣。在本實(shí)施例中,我們選擇刪除邊緣點(diǎn)數(shù)目小于500的邊緣。邊緣位置提取效果如圖6所示。(5)對(duì)(4)中橢圓邊緣進(jìn)行擬合,計(jì)算擬合橢圓的長(zhǎng)短軸和面積,刪除不滿(mǎn)足條件的橢圓邊緣,并提取橢圓中心。在本實(shí)施例中,我們采用的用直接方法求解橢圓方程的五個(gè)參數(shù),根據(jù)得到的橢圓參數(shù)即可求得橢圓的長(zhǎng)短軸和對(duì)應(yīng)的面積,以此作為是否保留該橢圓邊緣的依據(jù)。最終的橢圓邊緣提取結(jié)果及其局部放大圖如圖7所示。(6)分別根據(jù)(5)中左右兩個(gè)橢圓中心的像素坐標(biāo),用(1)(2)得到的相機(jī)參數(shù)首先用線(xiàn)性三角化方法重建橢圓中心的三維坐標(biāo),此時(shí)因?yàn)橄到y(tǒng)誤差以及隨機(jī)誤差的存在,得到的橢圓中心的坐標(biāo)精度并不高。我們?cè)俑鶕?jù)線(xiàn)性三角化結(jié)果對(duì)重建的三維點(diǎn)進(jìn)行非線(xiàn)性?xún)?yōu)化,以此得到精度更高的三維坐標(biāo)點(diǎn)。(7)在結(jié)合上述步驟,分別對(duì)右側(cè)和上方相機(jī)進(jìn)行(1)-(6)步驟計(jì)算,并根據(jù)四元素法將所有三維點(diǎn)轉(zhuǎn)化到同一個(gè)坐標(biāo)系下,即可得到要測(cè)量對(duì)應(yīng)三維坐標(biāo)的距離。以三維坐標(biāo)測(cè)量?jī)x得到的三維點(diǎn)坐標(biāo)為標(biāo)準(zhǔn)值,最終本發(fā)明得到的左側(cè)立體相機(jī)測(cè)量出的三維點(diǎn)坐標(biāo)與之對(duì)比結(jié)果誤差分析如下表1,右側(cè)立體相機(jī)測(cè)量出的三維點(diǎn)坐標(biāo)與之對(duì)比結(jié)果誤差分析如下表2,上方立體相機(jī)測(cè)量出的三維點(diǎn)坐標(biāo)與之對(duì)比結(jié)果誤差分析如下表3。表1目標(biāo)目標(biāo)1目標(biāo)2目標(biāo)3目標(biāo)4目標(biāo)5誤差(um)-1.73.61.99.3-5.4表2目標(biāo)目標(biāo)1目標(biāo)2目標(biāo)3目標(biāo)4目標(biāo)5誤差(um)2.73.55.56.12.2表3目標(biāo)目標(biāo)1目標(biāo)2目標(biāo)3目標(biāo)4目標(biāo)5誤差(um)3.1-3.5-1.38.5-5.2以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步說(shuō)明,所用理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)12