計算機視覺標定技術
計算機視覺標定技術詳解
一、引言
1.1 什么是標定技術?
在計算機視覺和機器人技術中,標定是指通過已知信息來確定相機、傳感器或系統參數的過程。就像我們使用前需要校準尺子的刻度一樣,視覺系統也需要"校準"才能準確理解三維世界。
1.2 四種標定技術概覽
本文將按照復雜程度遞增的順序介紹四種核心標定技術:
- 2D平面標定 - 處理平面到平面的變換(最簡單)
- 9點標定 - 工業中實用的2D坐標系映射技術
- 2D-3D標定(相機標定) - 建立二維圖像到三維世界的映射
- 手眼標定 - 連接機器人與視覺系統的橋梁(最復雜)
1.3 標定技術的關系圖譜
學習路徑(按復雜度遞增):
2D平面標定(最簡單)→ 9點標定 → 2D-3D標定 → 手眼標定(最復雜)
↓ ↓ ↓ ↓
單應性矩陣 工業坐標轉換 相機內參矩陣 3D-3D變換
↓ ↓ ↓ ↓
圖像校正 坐標映射 相機模型 機器人視覺
二、基礎概念
2.1 坐標系基礎
在計算機視覺中,我們經常涉及以下坐標系:
世界坐標系(World Coordinates)
- 三維空間中的絕對坐標系
- 通常用 \((X, Y, Z)\) 表示
- 作為所有其他坐標系的參考基準
相機坐標系(Camera Coordinates)
- 以相機光心為原點的坐標系
- Z軸指向相機前方,X軸向右,Y軸向下
- 用 \((X_c, Y_c, Z_c)\) 表示
圖像坐標系(Image Coordinates)
- 二維圖像平面上的像素坐標
- 用 \((u, v)\) 表示,單位為像素
- 原點通常在圖像左上角
2.2 齊次坐標
齊次坐標是計算機圖形學和視覺中的重要概念:
定義:將n維坐標擴展為n+1維坐標
- 2D點 \((x, y)\) → 齊次坐標 \((x, y, 1)\)
- 3D點 \((x, y, z)\) → 齊次坐標 \((x, y, z, 1)\)
優勢:
- 可以統一表示平移、旋轉、縮放等變換
- 無窮遠點的表示(最后一個分量為0)
- 矩陣運算的便利性
2.3 變換類型
仿射變換(6個自由度)
特點:保持平行線平行,適用于無透視變形的場景
透視變換(8個自由度)
特點:可以處理透視變形,更真實的投影
三、基礎概念數據案例
3.1 2D-2D變換案例
仿射變換示例
假設我們有一個簡單的平移+縮放變換:
變換矩陣:
應用變換:
- 原始點:\((10, 20)\) → 齊次坐標 \((10, 20, 1)\)
- 變換過程:\[\begin{bmatrix} 2.0 & 0.0 & 50.0 \\ 0.0 & 1.5 & 30.0 \\ 0.0 & 0.0 & 1.0 \end{bmatrix} \begin{bmatrix} 10 \\ 20 \\ 1 \end{bmatrix} = \begin{bmatrix} 2.0×10 + 50.0 \\ 1.5×20 + 30.0 \\ 1 \end{bmatrix} = \begin{bmatrix} 70 \\ 60 \\ 1 \end{bmatrix} \]
- 變換結果:\((70, 60)\)
物理意義:原圖像中的點(10,20)經過2倍X方向縮放、1.5倍Y方向縮放,然后平移(50,30)后,到達新位置(70,60)。
透視變換示例
考慮一個更復雜的透視變換:
變換矩陣:
應用變換:
- 原始點:\((100, 50)\) → 齊次坐標 \((100, 50, 1)\)
- 變換過程:\[\begin{bmatrix} 1.2 & 0.1 & 10.0 \\ 0.05 & 1.1 & 5.0 \\ 0.001 & 0.002 & 1.0 \end{bmatrix} \begin{bmatrix} 100 \\ 50 \\ 1 \end{bmatrix} = \begin{bmatrix} 1.2×100 + 0.1×50 + 10.0 \\ 0.05×100 + 1.1×50 + 5.0 \\ 0.001×100 + 0.002×50 + 1.0 \end{bmatrix} = \begin{bmatrix} 135 \\ 65 \\ 1.1 \end{bmatrix} \]
- 歸一化(除以最后一個分量):\(\left(\frac{135}{1.1}, \frac{65}{1.1}\right) = (122.7, 59.1)\)
物理意義:透視變換不僅包含平移、縮放、旋轉,還會產生透視效果,遠處物體顯得更小。
3.2 2D-3D投影案例
簡單相機投影模型
假設相機內參矩陣為:
相機位姿(外參):
- 旋轉矩陣:\(\mathbf{R} = \mathbf{I}\)(無旋轉)
- 平移向量:\(\mathbf{t} = [0, 0, 1000]^T\)(相機距離物體1000mm)
投影一個3D點:
- 3D世界點:\(\mathbf{P}_w = (100, 50, 0)^T\)(物體在世界坐標系中的位置)
- 轉換到相機坐標系:\(\mathbf{P}_c = \mathbf{R} \cdot \mathbf{P}_w + \mathbf{t} = (100, 50, 1000)^T\)
- 投影到圖像平面:\[\begin{bmatrix} u \\ v \\ 1 \end{bmatrix} \sim \mathbf{K} \begin{bmatrix} 100 \\ 50 \\ 1000 \end{bmatrix} = \begin{bmatrix} 1000×100 + 320 \\ 1000×50 + 240 \\ 1000 \end{bmatrix} = \begin{bmatrix} 100320 \\ 50240 \\ 1000 \end{bmatrix} \]
- 歸一化:\((u, v) = \left(\frac{100320}{1000}, \frac{50240}{1000}\right) = (100.32, 50.24)\)
物理意義:空間中距離相機1000mm的物體點(100,50,0)在圖像上投影到像素位置(100.32, 50.24)。
3.3 坐標系變換的鏈式法則
在實際應用中,經常需要多個變換的組合。假設:
-
世界坐標系 → 相機坐標系:
- 旋轉:繞Z軸旋轉30度
- 平移:\((200, 150, 500)\)
-
相機坐標系 → 圖像坐標系:
- 使用上述內參矩陣 \(\mathbf{K}\)
完整變換過程:
- 3D點:\(\mathbf{P}_w = (100, 0, 0)^T\)
- 旋轉矩陣(繞Z軸30度):\[\mathbf{R} = \begin{bmatrix} \cos30° & -\sin30° & 0 \\ \sin30° & \cos30° & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} 0.866 & -0.5 & 0 \\ 0.5 & 0.866 & 0 \\ 0 & 0 & 1 \end{bmatrix} \]
- 相機坐標系:\(\mathbf{P}_c = \mathbf{R} \cdot \mathbf{P}_w + \mathbf{t} = (0.866×100 + 200, 0.5×100 + 150, 500) = (286.6, 200, 500)\)
- 圖像坐標:\((u, v) = \left(\frac{1000×286.6 + 320}{500}, \frac{1000×200 + 240}{500}\right) = (574.8, 400.5)\)
3.4 誤差分析案例
在實際標定中,由于測量噪聲等因素,變換結果不會完全精確??紤]一個簡單例子:
理想變換:平移 \((50, 30)\)
測量點對:
- 原始點:\((10, 20)\)
- 測量結果:\((60.1, 50.2)\)(存在噪聲)
計算誤差:
- 理論結果:\((60, 50)\)
- 實際誤差:\(\sqrt{(60.1-60)^2 + (50.2-50)^2} = \sqrt{0.01 + 0.04} = 0.224\)
這個誤差值就是重投影誤差的概念,在標定中我們通過最小化所有點的總誤差來獲得最優解。
3.5 學習要點總結
通過這些數據案例,我們可以理解:
- 齊次坐標的重要性:能夠統一表示各種變換
- 矩陣運算的鏈式性質:復雜變換可以分解為簡單變換的乘積
- 歸一化操作:透視變換后需要除以最后一個分量
- 誤差概念:實際測量與理論計算之間存在差異,標定的目標就是最小化這種差異
這些基礎概念將幫助我們更好地理解后續的各種標定技術。
四、2D平面標定與單應性矩陣
4.1 核心概念
2D平面標定處理的是平面到平面的變換問題。想象一張傾斜拍攝的文檔照片,我們想要將其校正為正視圖,這就是典型的2D平面標定應用。
4.2 單應性矩陣(Homography Matrix)
定義:單應性矩陣 \(\mathbf{H}\) 是一個3×3矩陣,描述兩個平面之間的透視變換關系。
數學表達式:
其中:
- \(\mathbf{X} = (X, Y, 1)^T\) 是世界平面上的齊次坐標
- \(\mathbf{x} = (u, v, 1)^T\) 是圖像平面上的齊次坐標
- "\(\sim\)" 表示比例相等(齊次坐標的性質)
展開形式:
非齊次坐標形式:
4.3 求解方法
求解條件
- 至少需要4對不共線的對應點
- 每對點提供2個獨立方程
- 單應性矩陣有8個自由度(尺度無關)
DLT算法步驟
-
構建線性方程組:
對于每對對應點 \((X_i, Y_i) \leftrightarrow (u_i, v_i)\):\[\begin{bmatrix} -X_i & -Y_i & -1 & 0 & 0 & 0 & u_iX_i & u_iY_i & u_i \\ 0 & 0 & 0 & -X_i & -Y_i & -1 & v_iX_i & v_iY_i & v_i \end{bmatrix} \mathbf{h} = 0 \] -
奇異值分解(SVD)求解最小二乘解
-
歸一化:將解向量歸一化,使得 \(||\mathbf{h}|| = 1\)
4.4 物理意義與分解
單應性矩陣可以分解為相機內參和外參:
其中:
- \(\mathbf{K} = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix}\) 是相機內參矩陣
- \(\mathbf{r}_1, \mathbf{r}_2\) 是旋轉矩陣的前兩列
- \(\mathbf{t}\) 是平移向量
4.5 實際應用案例
場景:文檔掃描校正
輸入數據:
世界坐標系(A4紙角點,單位:毫米):
(0, 0), (210, 0), (210, 297), (0, 297)
圖像坐標系(像素坐標):
(120, 150), (380, 160), (390, 520), (110, 510)
求解過程詳解
第一步:構建線性方程組
對于第一對對應點 (0, 0) ? (120, 150):
-u?X? = -120×0 = 0 -v?X? = -150×0 = 0 u? = 120
-u?Y? = -120×0 = 0 -v?Y? = -150×0 = 0 v? = 150
-X? = -0 -Y? = -0 1 = 1
u?X? = 120×0 = 0 v?X? = 150×0 = 0 u? = 120
u?Y? = 120×0 = 0 v?Y? = 150×0 = 0 v? = 150
第二步:構建完整系數矩陣
對于4個點,構建8×9的系數矩陣:
第三步:SVD分解求解
對矩陣 \(\mathbf{A}\) 進行奇異值分解:\(\mathbf{A} = \mathbf{U} \mathbf{\Sigma} \mathbf{V}^T\)
最小二乘解對應于 \(\mathbf{V}\) 的最后一列(最小奇異值對應的右奇異向量)。
第四步:獲得單應性矩陣
通過SVD求解得到的向量(歸一化后):
第五步:構建單應性矩陣
驗證求解結果
測試點:世界坐標 (105, 148.5)(A4紙中心)
使用單應性矩陣變換:
u = (0.85×105 + (-0.02)×148.5 + 120.5) / (0.0001×105 + 0.0002×148.5 + 1.0)
= (89.25 - 2.97 + 120.5) / (0.0105 + 0.0297 + 1.0)
= 206.78 / 1.0402 = 198.79
v = (0.03×105 + 1.20×148.5 + 148.2) / (0.0001×105 + 0.0002×148.5 + 1.0)
= (3.15 + 178.2 + 148.2) / 1.0402
= 329.55 / 1.0402 = 316.78
重投影誤差檢查:
- 理論圖像坐標:(198.79, 316.78)
- 實際檢測坐標:(約200, 約320)
- 誤差:\(\sqrt{(200-198.79)^2 + (320-316.78)^2} = \sqrt{1.46 + 10.37} = 3.44\)像素
應用:圖像校正
使用逆矩陣校正:
- 計算 \(\mathbf{H}^{-1}\)
- 對于輸出圖像的每個像素 \((u', v')\),計算:\[(X, Y, 1)^T = \mathbf{H}^{-1} \cdot (u', v', 1)^T \]
- 從輸入圖像的 \((X, Y)\) 位置復制像素值
校正效果:
- 校正前:A4紙在圖像中呈現梯形(近大遠小的透視效果)
- 校正后:A4紙呈現標準矩形,邊框平行,便于后續處理
學習過渡:理解了2D平面標定的基本原理后,接下來學習9點標定。9點標定本質上是2D平面標定在工業自動化中的實用化版本,它通過使用更多點來提高精度,特別適合實際生產環境中的應用。
五、9點標定技術
5.1 核心概念
9點標定是工業自動化中實用的2D坐標系映射技術。與2D平面標定一樣,它處理的是平面到平面的變換,但更注重實用性、精度和操作便利性。
5.2 為什么選擇9個點?
理論最小需求
- 仿射變換:至少3個不共線點(6個自由度)
- 透視變換:至少4個不共線點(8個自由度)
實際選擇9個點的原因
- 精度提升:更多點提供冗余信息,通過最小二乘法降低誤差
- 噪聲抵抗:單個點的檢測誤差對整體結果影響減小
- 全局覆蓋:3×3網格分布覆蓋整個工作區域
- 工業標準:便于操作和標準化
5.3 數學模型
透視變換模型
展開形式
線性化處理
交叉相乘得到線性方程:
5.4 求解過程
數據采集
物理坐標系(3×3網格,單位:毫米):
(0,0), (50,0), (100,0)
(0,50), (50,50), (100,50)
(0,100), (50,100), (100,100)
圖像坐標系(對應像素坐標):
(120, 130), (280, 125), (450, 135)
(115, 290), (275, 285), (440, 295)
(110, 460), (265, 455), (425, 470)
構建方程組
對于9個點,共18個方程:
其中:
- \(\mathbf{A}\) 是 18×9 的系數矩陣
- \(\mathbf{h}\) 是包含9個單應性矩陣元素的向量
最小二乘求解
使用SVD分解求解:
5.5 精度評估
重投影誤差
工業標準
- 高精度應用:≤ 0.5像素
- 一般應用:≤ 1.0像素
- 粗略應用:≤ 2.0像素
5.6 典型應用場景
機器人抓取系統
場景:傳送帶上的零件抓取
輸入:相機檢測到目標在圖像坐標 (350, 200)
變換:通過9點標定矩陣轉換
輸出:機器人坐標系下的物理坐標 (175mm, 100mm)
視覺檢測系統
場景:PCB板缺陷檢測
輸入:缺陷在圖像中的像素位置
轉換:映射到PCB板的物理坐標
輸出:缺陷距離板邊緣的具體距離(如:距左邊緣15.2mm,距上邊緣32.5mm)
學習過渡:掌握了2D平面標定和9點標定后,我們現在要挑戰更復雜的問題:3D-2D標定,也就是相機標定。這里我們將處理真正的三維世界到二維圖像的映射,需要理解相機的內部工作原理。
六、3D-2D標定(相機標定)
6.1 核心概念
相機標定是建立三維世界坐標到二維圖像坐標映射關系的過程。它是計算機視覺中最基礎的標定技術,決定了相機能否準確"看"到三維世界。
6.2 相機成像模型
針孔相機模型
-
世界坐標系 → 相機坐標系:
\[\mathbf{X}_c = \mathbf{R} \cdot \mathbf{X}_w + \mathbf{t} \] -
相機坐標系 → 圖像坐標系:
\[\mathbf{x} = \mathbf{K} \cdot \mathbf{X}_c \]
完整投影方程
6.3 相機內參矩陣
內參矩陣K包含相機的內部幾何參數:
參數說明:
- \(f_x, f_y\):焦距(像素單位)
- \(c_x, c_y\):主點坐標(圖像中心)
- \(s\):扭曲系數(現代相機中通常為0)
6.4 畸變模型
徑向畸變
切向畸變
其中 \(r^2 = x^2 + y^2\)
6.5 OpenCV相機標定流程
輸入數據
- 3D世界點:標定板上特征點的真實坐標
- 2D圖像點:對應特征點在圖像中的像素坐標
- 多視圖:通常需要10-20張不同角度的標定板圖像
標定過程
- 特征點檢測:使用
cv::findChessboardCorners等算法 - 初始參數估計:DLT算法初步求解
- 非線性優化:最小化重投影誤差
- 精度評估:計算重投影誤差
重投影誤差最小化
6.6 實際應用案例
標定板規格:
- 棋盤格:8×6個角點
- 方格尺寸:30mm × 30mm
- 拍攝圖像:15張不同角度
標定結果示例:
// 相機內參矩陣
K = [1562.3, 0.0, 640.5]
[ 0.0, 1560.1, 512.3]
[ 0.0, 0.0, 1.0]
// 畸變系數
dist = [-0.12, 0.08, 0.001, -0.002, 0.0]
// 平均重投影誤差
reprojection_error = 0.25 pixels
應用效果:
- 標定前:物體邊緣存在明顯畸變
- 標定后:圖像得到有效校正,物體邊緣恢復直線
學習過渡:完成了相機標定后,我們面臨最復雜的挑戰:手眼標定。在實際的機器人視覺系統中,相機看到的坐標需要轉換為機器人能夠理解和執行的坐標。這涉及多個坐標系之間的復雜變換,是前面所有知識的綜合應用。
七、手眼標定技術
7.1 核心概念
手眼標定是解決機器人坐標系與相機坐標系之間3D變換關系的技術。它是連接機器人"執行"與視覺"感知"的橋梁,也是四種標定技術中最為復雜的一種。
與前三種標定技術不同,手眼標定需要同時處理:
- 3D空間中的機器人運動
- 相機視角下的位姿測量
- 兩個坐標系之間的變換關系
7.2 兩種安裝模式
Eye-in-Hand(相機在手上)
配置:相機固定在機器人末端執行器上
求解目標:機器人末端坐標系到相機坐標系的變換 \(\mathbf{X}_{E \to C}\)
數學關系:
物理意義:
- 機器人末端從位置1移動到位置2
- 相機觀察到同一目標在相機坐標系中的變化
- 通過這兩個變換求解固定的手眼變換 \(\mathbf{X}\)
Eye-to-Hand(相機在環境中)
配置:相機固定在環境中,觀察機器人運動
求解目標:機器人基坐標系到相機坐標系的變換 \(\mathbf{X}_{B \to C}\)
數學關系:
7.3 數學推導
旋轉與平移分離
手眼標定方程可以分解為旋轉和平移兩部分:
旋轉方程:
平移方程:
求解算法
- Tsai-Lenz算法:經典求解方法
- Park-Martin算法:基于李群理論
- 現代優化方法:Bundle Adjustment等
7.4 數據采集要求
運動多樣性
- 至少需要3個非冗余的機器人位姿
- 運動應包含旋轉和平移
- 避免純旋轉或純平移運動
數據類型
-
機器人位姿數據:
- 機器人末端在基坐標系下的位姿
- 來源:機器人控制器
- 格式:旋轉矩陣 + 平移向量
-
相機測量數據:
- 標定板在相機坐標系下的位姿
- 來源:PnP算法求解
- 格式:旋轉矩陣 + 平移向量
7.5 實際應用案例
應用場景:視覺引導抓取
系統配置:
- 機器人:6軸工業機械臂
- 相機:Eye-in-Hand配置,安裝在末端
- 標定板:固定在工作臺上的8×8棋盤格
標定過程:
- 機器人移動到5個不同位姿
- 每個位姿拍攝標定板圖像
- 使用PnP求解標定板位姿
- 求解手眼變換矩陣
標定結果:
X = [ 0.999 -0.012 0.041 15.23]
[ 0.015 0.998 -0.062 8.91]
[-0.039 0.064 0.997 120.45]
[ 0.000 0.000 0.000 1.000]
應用效果:
- 目標在相機坐標系:(200, 150, 300)mm
- 轉換到機器人基坐標系:(215.23, 158.91, 420.45)mm
- 抓取精度:±1.5mm
輸入:缺陷在圖像中的像素位置
轉換:映射到PCB板的物理坐標
輸出:缺陷距離板邊緣的具體距離(如:距左邊緣15.2mm,距上邊緣32.5mm)
六、手眼標定技術
6.1 核心概念
手眼標定是解決機器人坐標系與相機坐標系之間3D變換關系的技術。它是連接機器人"執行"與視覺"感知"的橋梁。
6.2 兩種安裝模式
Eye-in-Hand(相機在手上)
配置:相機固定在機器人末端執行器上
求解目標:機器人末端坐標系到相機坐標系的變換 \(\mathbf{X}_{E \to C}\)
數學關系:
物理意義:
- 機器人末端從位置1移動到位置2
- 相機觀察到同一目標在相機坐標系中的變化
- 通過這兩個變換求解固定的手眼變換 \(\mathbf{X}\)
Eye-to-Hand(相機在環境中)
配置:相機固定在環境中,觀察機器人運動
求解目標:機器人基坐標系到相機坐標系的變換 \(\mathbf{X}_{B \to C}\)
數學關系:
6.3 數學推導
旋轉與平移分離
手眼標定方程可以分解為旋轉和平移兩部分:
旋轉方程:
平移方程:
求解算法
- Tsai-Lenz算法:經典求解方法
- Park-Martin算法:基于李群理論
- 現代優化方法:Bundle Adjustment等
6.4 數據采集要求
運動多樣性
- 至少需要3個非冗余的機器人位姿
- 運動應包含旋轉和平移
- 避免純旋轉或純平移運動
數據類型
-
機器人位姿數據:
- 機器人末端在基坐標系下的位姿
- 來源:機器人控制器
- 格式:旋轉矩陣 + 平移向量
-
相機測量數據:
- 標定板在相機坐標系下的位姿
- 來源:PnP算法求解
- 格式:旋轉矩陣 + 平移向量
6.5 實際應用案例
應用場景:視覺引導抓取
系統配置:
- 機器人:6軸工業機械臂
- 相機:Eye-in-Hand配置,安裝在末端
- 標定板:固定在工作臺上的8×8棋盤格
標定過程:
- 機器人移動到5個不同位姿
- 每個位姿拍攝標定板圖像
- 使用PnP求解標定板位姿
- 求解手眼變換矩陣
標定結果:
應用效果:
- 目標在相機坐標系:(200, 150, 300)mm
- 轉換到機器人基坐標系:(215.23, 158.91, 420.45)mm
- 抓取精度:±1.5mm
七、四種標定技術對比分析
7.1 綜合對比表格
| 特性維度 | 2D平面標定 | 9點標定 | 2D-3D標定 | 手眼標定 |
|---|---|---|---|---|
| 變換維度 | 2D→2D | 2D→2D | 2D→3D | 3D→3D |
| 核心輸出 | 單應性矩陣H | 變換矩陣H | 相機內參K,畸變系數 | 手眼變換矩陣X |
| 最小點數 | 4對 | 4對(實用9對) | 6-8個點,多視圖 | 3個以上位姿 |
| 輸入數據 | 2D世界點+2D圖像點 | 2D基準點+2D圖像點 | 3D世界點+2D圖像點 | 機器人位姿+相機位姿 |
| 求解復雜度 | 中等 | 低 | 高 | 高 |
| 應用場景 | 圖像校正、平面測量 | 工業坐標轉換 | 相機建模、3D重建 | 機器人視覺引導 |
| 精度要求 | 1-2像素 | 0.5-1像素 | 0.5-1像素 | 1-2mm |
7.2 共同點分析
- 坐標變換本質:所有技術都涉及不同坐標系之間的變換關系
- 對應點需求:都需要已知對應關系的點對作為輸入
- 優化求解:都使用最小二乘法或類似優化算法
- 精度評估:都通過重投影誤差或類似指標評估精度
7.3 核心區別
維度復雜度遞增
2D平面標定(最簡單)→ 9點標定 → 2D-3D標定 → 手眼標定(最復雜)
應用場景差異
- 學術研究:2D-3D標定(相機標定)是基礎
- 工業應用:9點標定最實用,手眼標定針對機器人
技術依賴關系
手眼標定通常需要:
1. 預先完成相機標定(2D-3D標定)
2. 獲得準確的相機位姿測量
八、實際應用案例
8.1 完整的工業視覺系統
系統背景:電子產品裝配線的自動檢測系統
系統組成
- 傳送帶系統
- 工業相機(固定安裝)
- 6軸機器人(帶末端夾具)
- 視覺處理系統
標定流程
第一步:相機內參標定(2D-3D標定)
目的:獲得相機的成像參數
方法:使用棋盤格標定板,多角度拍攝
工具:OpenCV calibrateCamera函數
結果:內參矩陣K,畸變系數
第二步:工作平面標定(9點標定)
目的:建立圖像坐標與傳送帶物理坐標的映射
方法:在傳送帶上放置9個標記點
輸入:標記點物理坐標 + 圖像坐標
輸出:2D變換矩陣
第三步:手眼標定
目的:建立機器人基坐標系與相機坐標系的變換
方法:Eye-to-Hand配置,機器人末端移動標定板
輸入:機器人位姿 + 相機測量的標定板位姿
輸出:手眼變換矩陣X
應用流程
1. 產品檢測
輸入:產品圖像
處理:使用相機內參校正畸變
檢測:識別缺陷位置(像素坐標)
轉換:通過9點標定矩陣映射到傳送帶坐標
輸出:缺陷在傳送帶上的物理位置
2. 缺陷處理
輸入:缺陷物理位置
規劃:機器人抓取路徑
執行:手眼變換確保機器人準確到達目標位置
驗證:二次拍照確認缺陷已處理

浙公網安備 33010602011771號