線掃相機精度高、速度快、抗干擾能力強,適用於連續性產品的在線檢測。針對產品的測量,要獲得產品邊界的精確坐標,需對檢測目標進行圖像坐標系u-v到世界坐標系x-y-z的轉化,如下圖所示:
圖 1 相機成像分布示意圖
目前相機的標定主要有Tsai標定法和張氏標定法,這兩種方法需要拍攝若干角度的標定板圖像,然后按照轉換矩陣求相機的內參和外參。而線掃相機成像時需要拍攝物有相對運動,高精度的標定板很難保證運動速度與采集速度的統一,標定板圖像采集很困難,且大多數的工業檢測項目,需要到現場再安裝相機,且檢測面並不一定是一個平面,根本無法在現場進行標定。
目前對線掃相機的標定,主要有構建標定面法和虛擬靶標方法,均需要通過兩個維度的空間坐標來確定標定參數。其實,根據實際項目的檢測需求和線掃相機的特點,我們更關心的是一個維度(X方向)的尺寸,不需要對空間點進行求取,基於此可以大大簡化標定方法。
本文主要分以下幾個部分來闡述:1、需要准備的工具; 2、標定流程及測試數據;3、代碼實現
1、 需要准備的工具
標定之前,我們需要准備:菲林片和自己開發的標定軟件。其中菲林片就是我們自己定制的標定工具,如下圖所示:黑白相間且等距(10mm,工藝誤差在0.04mm以內)
這種設計,也是多次改進后的版本,可能有些人會比較疑惑為什么黑白條紋不是完全平行的,而是上下跳躍的。這么設計主要是為了便於現場調整相機的水平度,如下圖所示:只有相機的采集點調整在紅色線的位置時,才能夠完整的拍出黑白相間的條紋,否則會有采集不到的條紋。
調整好后采集效果如下圖所示:
2、 標定流程及測試數據
測試數據如下:
1)標尺的各個單位對應的像素數(10mm)
2)中間數據的線性擬合
3)所有數據的非線性擬合
4)實際產品測試
|
產品類型1 |
產品類型2 |
||||||
位置 |
左 |
中 |
右 |
方差 |
左 |
中 |
右 |
方差 |
寬度(pixel) |
2229.81 |
2235.4 |
2231.13 |
|
94.4181 |
96.9068 |
97.0978 |
|
平均分辨率 |
0.07462 |
0.07462 |
0.07462 |
|
0.07462 |
0.07462 |
0.07462 |
|
標定前(mm) |
166.396 |
166.812 |
166.494 |
0.2175 |
7.046 |
7.231 |
7.246 |
0.1114 |
標定后(mm) |
166.274 |
166.29 |
166.529 |
0.0289 |
7.077 |
7.206 |
7.25 |
0.0367 |
3、 代碼實現
整體原理比較簡單,核心算法就是最小二乘法的實現,halcon版本代碼如下: