機器視覺標定講解

B站 ?:道傳科技上位機 ? 觀看教

一、什么是相機標定

相機標定(Camera Calibration)是指通過實驗或算法手段確定相機的內部參數(如焦距、主點坐標、畸變系數)和外部參數(如旋轉矩陣、平移向量)的過程。這些參數共同描述了相機的成像模型,使得三維空間中的物體能夠被準確投影到二維圖像平面上。

二、標定的核心意義

1.幾何映射關系的建立:標定解決了“像素如何對應物理尺寸”的問題,例如在工業檢測中,標定后的系統可通過圖像直接計算工件的實際尺寸。

2.畸變校正:真實鏡頭存在徑向畸變(桶形、枕形)和切向畸變(梯形),標定可消除圖像變形,提升測量精度。

3.多傳感器協同:在雙目視覺或激光雷達-相機融合系統中,標定確定不同傳感器間的坐標系轉換關系,確保數據一致性。

三、坐標系和相機成像以及參數

.四種坐標系

1.世界坐標系(World Coordinate System):描述物體在真實空間中的絕對位置。

2.相機坐標系(Camera Coordinate System):以相機光心為原點,光軸為Z軸。

3.圖像坐標系(Image Coordinate System):以光軸與成像平面的交點為原點,單位為毫米。

4.像素坐標系(Pixel Coordinate System):以圖像左上角為原點,單位為像素。

二、內參和外參矩陣

除了世界坐標系, 后面三個坐標系只跟相機本身有關。 相機內參表達的就是這三個坐標之間的轉換關系, 而相機外參表達的是相機與世界坐標系之間的轉換關系。成像的過程實質上是幾個坐標系的轉換。首先空間中的一點由世界坐標系轉換到相機坐標系 ,然后再將其投影到物理成像平面 ( 成像平面坐標系 ) ,最后再將成像平面上的數據轉換像素坐標系 。

從世界坐標到像素坐標總共有3步轉換, 前面2個合在一起就是相機內參, 最后一個是相機外參。如下左圖所示

三、畸形模型

四、內參標定方法

棋盤格標定法(張正友標定法):使用已知尺寸的棋盤格標定板,通過多角度拍攝圖像,提取角點并求解單應性矩陣,結合最小二乘法優化內外參數。此方法精度高、操作簡便,是工業界主流。步驟:拍攝多幅棋盤格圖像(通常需15-20張)。檢測角點并亞像素優化。利用線性最小二乘解算初始參數。通過Levenberg-Marquardt算法非線性優化,最小化重投影誤差。如下左圖

圓形標定板:利用圓形標記點,適用于高精度場景(如醫療影像),但對離焦敏感。如下右圖

五、外參的標定方法

外參標定的核心是:已知多個點分別在相機坐標系下的坐標和在世界坐標系下的坐標, 求它們之間的映射關系。
常用求解PnP 的方法,即已知多個點, 在像素坐標系的二維坐標, 和在世界坐標系的三維坐標,并且已知內參, 求解旋轉平移矩陣。

六、雙目標定的標定方法

雙目標定的主要目的是確定兩個攝像頭之間的相對位置關系,以便通過視差計算物體的三維信息?。雙目視覺系統通過兩個攝像頭獲取圖像,利用視差原理來計算物體的深度信息。為了實現這一目的,需要對兩個攝像頭進行精確的標定,以確定它們之間的位置關系和參數?
可以看到,為了將兩個圖像調整到同一平面且中心水平對齊(外極線校準),我們需要知道兩個攝像頭的相對位置關系,具體來講就是:旋轉矩陣R和平移矩陣T,然后對應將圖像做旋轉和平移即可。獲取立體校正的參數就是立體標定要做的工作,實際上只是對每個鏡頭進行前面單目標定,用單目標定的參數計算得到立體校正的參數。

雙目視覺技術在機器人導航、三維重建、測量和增強現實等領域有廣泛應用。通過精確的雙目標定,可以提高系統的準確性和可靠性,確保機器人或設備能夠準確地感知和理解周圍環境,從而執行復雜的任務?

七、其他標定方法

一、 自標定方法

基于場景約束:利用自然場景中的平行線、消失點等幾何特征推導參數,適用于無法放置標定物的場合(如戶外SLAM)。

基于深度學習:使用神經網絡直接從圖像回歸參數,無需顯式建模,但需大量標注數據。

二、 零失真相機標定

通過LCD顯示屏生成相移光柵,建立像素級映射關系,適用于廣角鏡頭和復雜畸變矯正,精度可達亞像素級。

八、一些關鍵的算子和流程

準備階段:

1 首先要獲取相機的初始內參(焦距,畸變系數,單個像素的寬,單個像素高,圖像 坐標的中心值橫坐標,圖像坐標中心值的縱坐標,圖像寬度,圖像高度)

?2 根據標定板的大小利用 gen_caltab 算子,生成描述文件。(保存到指定位置)

?3 拍攝 14—20 組標定板圖像(eye_in_hand),并準確記錄每組圖像在拍攝時 TOOL_IN_BASE 位姿(此位姿從機器人中讀取)。 備注:在獲取標定圖像時,標定板不動,機器人末端的擺動要盡可能的全面,繞各 個軸的旋轉角要盡量的大。標定板要出現在相機視野的各個角落。理論上圖像越多, 角度越全面,標定精度越高。

標定階段:

?1 讀取相機初始內參,設置描述文件路徑

?2 創建標定數據模型 create_calib_data

3 設置相機的參數類型 set_calib_data_cam_parm

4 設置標定板的數據類型(此處用到了描述文件)

?5 設置標定模式 set_calib_data(我使用的是非線性的方法)

?6 循環讀取圖像將標定板的位姿信息和機器人末端在基坐標系位姿(TOOL_IN_BASE) 保存到標定數據模型中。

?7 進行手眼標定 calibrate_hand_eye 備注:手眼標定最終獲得的是相機與機器人末端的位姿關系(Camera_In_Tool)。在循 環輸入 TOOL_IN_BASE 時其輸入格式一定要是 YZX 的(至少我試過 XYZYZY 是不行的), 到此標定就結束了。 如果是使用該標定結果的話,要先選擇參考的平面進行一步標定獲得參考的 obj_in_cam, 然后再計算抓取物體點與 obj_in_cam 的關系。所用到的方程如下:

B站? :道傳科技上位機? ?觀看教程視頻

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/83494.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/83494.shtml
英文地址,請注明出處:http://en.pswp.cn/web/83494.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

文件的秒傳、分片上傳以及斷點續傳 || Redis緩存減輕數據庫讀寫壓力

實現文件的秒傳、分片上傳以及斷點續傳的功能。使用 Redis 緩存上傳的文件分片信息減輕數據庫讀寫壓力,同時防止有人惡意攻擊服務器導致服務器磁盤爆滿無法提供服務。 🔍 詳解: 1. 實現文件的秒傳、分片上傳以及斷點續傳功能 秒傳&#xff0…

安全大模型智驅網絡和數據安全效能躍遷

從2023年ChatGPT開始,網絡安全行業就一直嘗試和AI大模型來結合,解決網絡安全的痛點,例如告警多,專家少,新的APT攻擊層出不窮,已有的基于規則的防護手段失靈,如何使用大模型的泛化能力來提升對未…

Android S - 恢復部分應用安裝

使用展銳提供的代碼編譯出來的固件&#xff0c;不包含DeskClock等應用。 之前也遇到過這個情況&#xff0c;只是時間太久忘記了&#xff0c;在這里再次記錄&#xff01; frameworks/native/data/etc/android.app.remove.xml<?xml version"1.0" encoding"ut…

android 之 CALL

一、組件職責與定位 組件所在進程核心職責關鍵特性CallsManagerTelecom系統進程通話狀態機核心&#xff1a;管理所有Call對象的生命周期&#xff08;創建、狀態更新、銷毀&#xff09;。監聽Call狀態變化并通知所有觀察者&#xff08;如InCallController&#xff09;。通過mLi…

Swift 6 學習筆記(二)The Basics

這篇筆記也是同步 Swift 6 官方教程中的第二篇 《The Basics》&#xff0c;這篇博客中的大部分內容在第一篇中已經涉及&#xff0c;這篇可以被認為是基礎類型的的補充篇&#xff0c;多了很多說明信息。 官方教學文檔 《The Basics》&#xff1a; Swift 提供了許多基本數據類型…

【PHP】BC Math 函數參考表

BC Math 函數參考表: 函數名描述語法bcadd兩個任意精度數字的加法bcadd($num1, $num2, [scale])bcsub兩個任意精度數字的減法bcsub($num1, $num2, [scale])bcmul兩個任意精度數字乘法bcmul($num1, $num2, [scale])bcdiv兩個任意精度數字除法bcdiv($num1, $num2, [scale])bcmod…

C# TAP異步編程(Task/async/await)總結

C#中有個很好用的東西&#xff0c;TAP異步編程&#xff08;Task-based Asynchronous Pattern&#xff09;&#xff0c;是目前C#推薦的異步編程模型。它基于 System.Threading.Tasks.Task 和 async/await 關鍵字&#xff0c;旨在簡化異步代碼的編寫、調試和維護。TAP 是現代 .NE…

達夢數據庫(DM)用戶名大小寫處理規則

達夢數據庫(DM)用戶名大小寫處理規則 達夢數據庫對用戶名的處理與PostgreSQL和Oracle有所不同&#xff0c;以下是相關說明&#xff1a; 一、基本規則 默認情況下&#xff1a;達夢數據庫區分用戶名大小寫 創建的用戶名會保留原始大小寫格式連接時必須使用相同的大小寫形式 …

黑馬點評面試話術

文章目錄 1.項目介紹2. 分布式登錄功能2.1 講講登錄的整個流程2.2 集群模式session下存儲用戶信息會有啥問題&#xff1f;2.3 為什么采用redis存儲用戶信息和驗證碼2.4 redis的存儲格式怎么樣的&#xff1f;2.5 為什么采用Hash結構存儲用戶信息2.6 為什么采用雙攔截器&#xff…

MTK APEX測光系統中各變量具體的計算方式探究

目錄 一、APEX測光系統介紹 二、MTK測光系統實例介紹 三、關于測光系統的一些疑問 一、APEX測光系統介紹 詳細內容可以參考; AE(自動曝光)系統簡介

K8S的基本概念

Kubernetes是一個開源的容器編排部署管理平臺,用于管理云平臺中多個主機上的容器化應用。Kubernetes的目標是讓部署容器化的應用簡單并且高效,Kubernetes提供了應用部署、規劃、更新、維護的一種機制。 對應用開發者而言,可以把Kubernetes看成一個集群操作系統。Kubernetes…

NLP學習路線圖(三十四): 命名實體識別(NER)

一、命名實體識別(NER)是什么? 命名實體識別(Named Entity Recognition, NER)是自然語言處理中的一項關鍵序列標注任務。其核心目標是從非結構化的文本中自動識別出特定類別的名詞性短語,并將其歸類到預定義的類別中。 核心目標:找到文本中提到的命名實體,并分類。 典…

大三自學筆記:探索Hyperlane框架的心路歷程

## Day 1&#xff1a;初識 Hyperlane 在 GitHub 上發現了 Hyperlane 這個 Rust HTTP 框架&#xff0c;立刻被它的性能數據吸引。官方文檔寫著&#xff1a; > "hyperlane 是一個高性能且輕量級的 Rust HTTP 框架&#xff0c;設計目標是簡化現代 Web 服務的開發&#xff…

Java大廠面試真題:謝飛機的技術挑戰

Java大廠面試真題&#xff1a;謝飛機的技術挑戰 場景一&#xff1a;電商場景 面試官&#xff1a;在電商項目中&#xff0c;我們通常需要處理大量的并發請求。請談談你對JVM調優的理解。 謝飛機&#xff1a;嗯&#xff0c;JVM調優主要是為了提高程序的性能和穩定性。比如&…

【Docker管理工具】安裝容器管理工具Oxker

【Docker管理工具】安裝Oxker容器管理工具 一、Oxker介紹1.1 Oxker簡介1.2 Oxker功能1.3 Docker介紹 二、本地環境介紹2.1 本地環境規劃2.2 本次實踐介紹 三、本地環境檢查3.1 檢查Docker服務狀態3.2 檢查Docker版本3.3 檢查docker compose 版本 四、下載Oxker鏡像五、安裝Oxke…

產品成本分析怎么做?從0到1搭建全生命周期分析框架!

目錄 一、為什么要做產品全生命周期成本分析&#xff1f; 1.資源再分配 2.動態成本校準 3.戰略決策支持 二、產品成本分析思路 1.建立全生命周期成本追蹤 2.聯動分析關鍵指標 3.定位問題產品線 4.資源效率四象限分配 三、產品成本分析指標 1.分投入成本&#xff1a;…

機器學習與深度學習20-數學優化

目錄 前文回顧1.梯度下降的基本原理2.什么是損失函數&#xff1f;3.隨機梯度下降和小批量梯度下降4.什么是學習率5.優化算法中的收斂性6.常用的數學優化算法 前文回顧 上一篇文章鏈接&#xff1a;地址 1.梯度下降的基本原理 梯度下降&#xff08;Gradient Descent&#xff0…

Photoshop 2025 性能配置全攻略:硬件選購與軟件優化指南

一、硬件配置核心建議 根據Adobe官方要求及實測反饋&#xff0c;Photoshop 2025對硬件的需求側重CPU、內存和存儲&#xff0c;顯卡需求相對寬松&#xff0c;但特定功能&#xff08;如AI濾鏡、3D渲染&#xff09;需關注顯卡性能。 硬件類別最低配置推薦配置&#xff08;流暢運…

華為云Flexus+DeepSeek征文 | 華為云ModelArts Studio快速上手:DeepSeek-R1-0528商用服務的開通與使用

華為云FlexusDeepSeek征文 | 華為云ModelArts Studio快速上手&#xff1a;DeepSeek-R1-0528商用服務的開通與使用 引言一、ModelArts Studio平臺介紹華為云ModelArts Studio簡介ModelArts Studio主要特點 二、開通DeepSeek-R1-0528商用服務訪問ModelArts Studio控制臺DeepSeek-…

day53 神經網絡調參指南

目錄 一、引言 二、權重初始化&#xff1a;為何如此重要&#xff1f; &#xff08;一&#xff09;隨機種子&#xff1a;確保實驗的可重復性 &#xff08;二&#xff09;權重初始化的重要性 1. 神經網絡的對稱性問題 2. 避免梯度消失和梯度爆炸 &#xff08;三&#xff0…