導語:
????????隨著機器視覺應用的日益廣泛,大幅面 多相機 視覺系統的需求越來越多,主要應用方向為大幅面高精度的定位與測量和場景拼接等。
????????多相機視覺系統的難點在于多相機坐標系的統一. 可以分為兩類,一是相機視野間無重疊部分,二是相機視野間有重疊部分。
????????相機間無重疊部分的情況主要用于大幅面多相機高精度的定位和測量,相機間有重疊部分的情況主要用于場景的拼接等。
一. 相機間無重疊部分,介紹兩種典型方法。
????1.?使用大標定板統一坐標
方案簡介:? ? ? ? ? ?此方法采用一塊大標定板來統一各個相機的坐標,每個大標定板中有若干小標定板,各個小標定板間的位置關系都是已知的,各個相機都能拍攝到一個小標定板。通過各個小標定板可以標定每個相機的內部參數和外部參數,每個相機的坐標都可以轉換到各個小標定板的坐標系上,從而統一各個相機的坐標。? 系統結構: |
常用的標定板形式:
上圖所示為單個標定板圖像,大標定板由若干單個標定板組成,標定板的大小和數量根據實際測量情況而定。
多個標定板組合示意圖:
? |
案例分析: |
? ?(1)?檢測目標分析? ? ?測量產品需要若干個測量指標。如下圖所示。 |
?(2)圖像獲取? ? ? ?采用4只相機來完成所有項目的測量,分別拍到的照片如下圖所示。 |
?(3)檢測流程 ? ? ?先分別利用每張圖的兩條垂直邊計算出它們的交點,那么得到的4個交點就可以算出L1和L2的值,如下圖所示(以右下角相機為例)。 |
注意事項:? ????????此種方法需要將多只相機的坐標統一到一個坐標系中,并且單一相機還要做自己的校準,保證精度。?根據檢測要求,設置取多少個點作為參考,但是這影響測試的時間,需酌情考慮。? 應用領域:? ????????手機和平板電腦面板尺寸的檢測。 ????2.?使用相對運動統一坐標 ?????????方案簡介:?????????此方法采用相機和被測物之間的相對運動來統一相機的坐標,相機和被測物只要一方運動即可,記錄各個位置的坐標,然后通過數學運算來統一坐標。通常情況下是相機位置固定,被測物通過機械手等運動裝置進行移動,然后把相機坐標系統一到機械手等運動裝置的原點。?總體結構: |
方法介紹:? ?????????通過相機拍攝的圖像對Mark點進行定位,從而計算出被測物相對于標準位置的偏差,包含角度偏差和位移偏差,最終確定機械裝置需要旋轉的角度和平移的距離。選用手機觸摸屏和手機外殼的定位系統來介紹算法原理。? ????????手機觸摸屏和手機外殼的定位系統,使用多支相機代替一支相機的方法進行定位,使手機觸摸屏和手機外殼精確組裝。相機分為兩組,每組兩支相機,一組拍攝手機外殼(組1),一組拍攝觸摸屏(組2),兩組相機標定方法相同,下面只介紹拍攝手機外殼的兩支相機的標定。相機固定,機械手吸住手機外殼移動,兩支相機分別拍攝手機外殼的兩個定位孔,使用模板匹配的方法對兩個定位孔進行識別,如下圖所示: |
(1) 通過機械手的移動獲取標定所用坐標?(三點線性標定法)
組1相機1:?
把Mark點移動到相機視野中,定相機的初始位置,得到初始Mark點的中心坐標Point11(cRow11, cColumn11),機械手沿X方向移動一定距離(5mm)后得到Mark點的中心坐標Point12 (cRow12, cColumn12),機械手沿Y方向移動一定距離(6mm)后得到Mark點的中心坐標Point13(cRow13, cColumn13),同時可以得到在上述三個位置機械手的空間坐標Robot11(X1[0],Y1[0])、?Robot12(X1[1],Y1[1])?、Robot13(X1[2],Y1[2])。?
組1相機2:?
同上,把相同Mark點移動到相機視野中,通過相同的操作得到坐標:Point21 (cRow21, cColumn21)、Point22 (cRow22, cColumn22)、Point23 (cRow23, cColumn23)、Robot21 (X2[0],Y2[0])、?Robot22(X2[1],Y2[1])、Robot23(X2[2],Y2[2])。?
(2)?圖像距離和實際距離之間轉換比例關系的確定:?
通過數學運算可計算得到比例關系。?
(3)??旋轉中心的確定?
依據三個點就可以確定一個圓的原理,讓機械手在初始位置旋轉三次,得到Robot31,Robot32和Robot33三個相對于機械手坐標系的坐標點,三個點的坐標就可以求出旋轉圓心的坐標。
(4)?標準線斜率求取:?
需要在兩個相機的視野中各選取一點作為標準線的起始點和終點,然后求取此標準線在機械手坐標系中的斜率。調整機械手到合適位置,確定此處為標準位置,此時組1的兩支相機分別拍攝初始位置的兩個不同的Mark點的圖像。通過模板匹配方法找到兩個相機初始位置視野中兩個Mark點的中心坐標Point10(Row10,Column10)和Point20(Row20,Column20),Point10和Point20確定為標準線的起始點和終點。求取Point10在機械手中的坐標如下圖所示,下圖中XOY是機械手坐標系,X1O1Y1是組1相機1的圖像坐標。
通過點到直線的距離運算可以得到d14,d15和d16的實際長度,由于在移動過程中使用的是同一個mark點,d1,d2,d3在相機1和相機2的視野中的值是一樣的。從而可以得到Point10在機械手坐標系中的實際坐標為:? ?Point10X=X1[1]+d16+d2,Point10Y=Y1[1]+(d1-d15)。? ? ? ? ?同樣可以得到Point20在機械手坐標系中的實際坐標:? ?Point20X=X2[1]+d26+d2,Point20Y=Y2[1]+(d1-d25)。 求取該標準線斜率;? ?K ?= (Point20Y-Point10Y) / (Ponit20X-Point20X)? ? ? ?= (Y2[1]-Y1[1]-d25+d15) / (X2[1]-X1[1]+d26-d16)? 之后在每次定位時需要和此標準線的斜率進行比較,從而得到和標準線的夾角,最后進行旋轉校正。? 注意:由于Point10和Point20會落在不同的位置,在計算Point10和Point20的實際坐標時上述公式會有所變化,但原理相同。? |
定位校準?
????????以后在每次進行檢測時,得到的結果都和標準線進行比較,可以得到和標準線的夾角和相對于標準位置的位置偏差,根據得到的角度和位置偏差進行校正。在校正過程中需要先旋轉后平移,做一個閉環反饋系統實時校正。
應用領域:?
手機或平板電腦觸摸屏和外殼的裝配定位。
============================
二. 相機間有重疊部分,介紹兩種典型方法。
1. 標定方法拼接圖像?
方案簡介:?
????????對于有些大幅面物體 ,可以通過拍攝多幅圖像,每幅圖像覆蓋物體的不同的部分。如果攝像機經過標定并且它們與一個共有的世界坐標系之間的相對關系已知,就可以通過不同的圖像進行精確測量。?甚至可以將多幅圖像拼接為一副覆蓋整個物體的大圖,這個可以通過將每幅圖像都校正到同一個測量平面上實現。在結果圖像上,可以直接在世界坐標系中進行測量。?圖像拼接示意圖:
安裝:?
????????兩個攝像機或多個攝像機必須安裝在一個穩定的平臺上,并且每幅圖像覆蓋整個場景的一部分。攝像機的方位可以隨意,也就是說不需要它們看起來平行或垂直于物體表面。調整攝像機焦距、燈光以及交迭區域,使用一個大的可以覆蓋整個視野的參照物。為了保證可以將多幅圖像拼接為一副大圖,它們之間必須存在一個小的交迭區域。交迭區域可以很小,因為這個交迭區域只是為了保證在拼接的結果圖像中沒有縫隙,下圖為交疊區域示意圖。
標定:?
????????圖像的標定可以分為兩個步驟。?
????????確定每個攝像機的內參??梢苑謩e對每個攝像機進行標定求取攝像機的內參。?
????????確定所有攝像機的外參。因為最后要將所有的圖像轉換到某一個世界坐標系中,所以需要使用一個大的標定物,這個標定物可以出現在所有的圖像中,它可以由多個標定板組合而成,標定板的數量和使用攝像機的數量一致。下圖為兩個相機分別拍攝到的標定圖像。?
??
????????注意:為了確定攝像機的外參,每個攝像機只需要拍攝一副標定圖像就已經足夠。標定物在多個攝像機分別進行拍攝標定圖像的過程中不可以移動。理想情況下,這些標定圖像應該同時獲取。
將單個圖像拼接為一個大圖:?
????????首先,每幅圖像都必須進行校正,將這些圖像轉換到一個共有的坐標系中,它們之間就會正確匹配。在得到所有進行校正圖像需要的映射圖后,使用兩個攝像機拍攝的每個圖像對都可以進行校正并且高效的拼接。拼接的結果圖由兩幅校正后的圖像組成,每個校正后的圖像占圖像的一個部分,下圖為校正后的圖像和拼接結果。
應用領域:?
液晶面板表面質量的檢測?
2. 非標定方法拼接圖像
簡介:?
? ? ? ?此種方法和前三種方法相比精度較低,適用于不需要實現高精度拼接的應用場合。這種拼接方法的優點是不需要進行攝像機標定,并且每幅單獨的圖像可以自動進行排列。?
拍攝單幅圖像規則:?
在拍攝每幅圖像時需要遵循下面這些規則:?
????????(1) 相鄰的圖像之間必須有交迭?
????????(2) 圖像之間的交迭區域必須有比較明顯的特征,這樣就可以保證比較精確的自動匹配過程。如果在某些交迭區域內的特征不明顯那么可以通過定義合適的圖像對來克服。如果整個物體的特征都不是特別明顯,那么交迭區域就應該更大一些。?
????????(3) 交迭的圖像的縮放比例必須大約相等。一般情況下,縮放比例的不同不能超過?5-10%?
????????(4) 這些圖像的亮度應該相似,至少在交迭區域部分的亮度相似。否則,如果亮度區別非常明顯的話,圖像之間的接縫在結果圖像中就非常明顯,如下圖所示。
定義交疊圖像對:?
? ? ? ?需要定義一些交迭圖像對,通過匹配確定這些圖像對之間的轉換關系。匹配的過程只會應用在這些交迭圖像對上。
如果需要拼接的圖像比較多,或者交迭圖像每行圖像比較多,此時合理徹底地安排圖像對的配置十分重要。否則就可能有些圖像不能實現精確匹配。這主要是因為噪聲造成點坐標的一些誤差導致不能準確計算圖像之間的轉換關系,這些誤差會由一個圖像傳到下一幅圖像上。?
提取圖像中的特征點:
????? ?提取出的特征點的數量影響運行時間以及匹配的結果。特征點的數量越多,匹配的過程就越慢。但是太少的特征點將增大產生錯誤結果的可能性。?
在交迭的區域中匹配特征點并且確定圖像之間轉換關系:?
????????在進行圖像拼接過程中最重要的任務就是圖像對之間的匹配過程。匹配的圖像對可以有任意的平移和旋轉,唯一的要求就是圖像應該有大約相同的縮放比例。如果圖像之間平移和旋轉的信息可用,它就可以用來限定尋找區域,這樣就可以加速匹配過程并且使算法更加健壯。匹配特征點過程如下圖所示。
生成拼接圖像?
? ? ? ? 知道了圖像對之間的轉換關系,就可以調用函數進行圖像拼接,下圖為拼接好的圖像。
注意:?
? ? ? ?需要注意球面拼接的情況,上述方法只適用于攝像機繞光心旋轉或縮放。如果攝像機的移動包含平移或不是嚴格繞光心的旋轉,使用這種方法得到的拼接結果將不準確也就不能夠用在精確測量的場合。?
應用領域:?
(1)?街景的拼接。?
(2) 電子地圖的制作。?
(3) 醫學影像的拼接。
編輯:黃飛
評論
查看更多