matlab雙目相機標定校正_基于雙目視覺的無人機避障算法(一)

講述在10月到12月所做的所有工作

對于一個無人機自主避障來說,存在著以下流程:

  1. 感知:障礙物檢測、行人檢測、目標檢測

  2. SLAM:為無人機提供位置估計,構建稀疏環境地圖

  3. 路徑規劃:規劃一條從當前位置到目標位置的移動軌跡

  4. 控制:控制無人機速度,加速度,追隨規劃出來的軌跡

我先做出了障礙物檢測部分:

Opencv/MATLAB做雙目測距(相機標定+立體匹配+測距)

雙目測距實際操作分4個步驟:相機標定——雙目校正——雙目匹配——計算深度信息。

01

相機標定+雙目校正

首先是對攝像頭做標定


Q1:為什么要做相機標定?

標定的目的是為了消除畸變以及得到內外參數矩陣,內參數矩陣可以理解為焦距相關,它是一個從平面到像素的轉換,焦距不變它就不變,所以確定以后就可以重復使用,而外參數矩陣反映的是攝像機坐標系與世界坐標系的轉換,至于畸變參數,一般也包含在內參數矩陣中。從作用上來看,內參數矩陣是為了得到鏡頭的信息,并消除畸變,使得到的圖像更為準確,外參數矩陣是為了得到相機相對于世界坐標的聯系,是為了最終的測距。

無論是在圖像測量或者機器視覺應用中,相機參數的標定都是非常關鍵的環節,其標定結果的精度及算法的穩定性直接影響相機工作產生結果的準確性。因此,做好相機標定是做好后續工作的前提,提高標定精度是科研工作的重點所在。

https://blog.csdn.net/baidu_38172402/article/details/81949447

CSDN

https://www.zhihu.com/question/29448299/answer/102658379

知乎 陳明猷 ?

先完成單目標定,再完成雙目標定。選擇標定方法的時候,選用張正友標定法,因為MATLAB用的也是張正友標定法做的,誤差最小。

雙目標定,必須是拿自己打印的棋盤格擺拍的,且記下棋盤距離自己的距離,以衡量你標定和匹配的誤差是否在合適的范圍之內。

先固定好左右相機,拿棋盤標定圖擺拍并保存,左右相機各15張(我做的時候在30張圖中選用15張圖進行opencv標定的時候誤差最小,但是在MATLAB中就不用考慮這個問題)

------相機標定的代碼網上很多,一步一步來即可---------

簡單來說就是:OpenCV使用黑白棋盤格來標定攝像機,調用findChessboardCorners()獲得棋盤格角點的像素坐標,再調用cornerSubpix獲得棋盤格角點的亞像素坐標。調用drawChessboardCorners()函數繪制出檢測到的棋盤角點,然后使用stereoCalibrate()函數完成雙目標定。

標定之后進行校正:在OpenCV中可通過stereoRectify()函數完成校正功能,攝像機矩陣,畸變向量,左右旋轉矩陣R和平移向量T。輸出參數為左右投影矩陣P,以及重投影矩陣Q。可調用函數InitUndistortRectifyMap()生成圖像校正所需的映射矩陣。

標定結束后最終得到的yml文件,就是雙目標定的參數矩陣,之后使用它就可以得到校正后的圖像啦。MATLAB里面有雙目標定工具箱很方便,且誤差很小。


Q2:你得到的參數和誤差有什么合格判據嗎?誤差在哪個區間內能用?你怎么確定你得到的參數能用?你有跟別人做的對比過嗎?

單目標定的誤差?看平均重投影誤差,越小越好。

雙目標定看對極線誤差,越小越好,這個關系著后面立體匹配的效果。

在工業生產中,對于雙目相機標定, 需要一個穩定可靠的方法確定標定的質量,以幫助判斷標定結果,確定是否需要重新標定。現有雙目標定的精確度評價研究較少,而且具有明顯的局限性,無法應用于工業環境。現有一種方法可以確定標定質量的方法,可在最新資源中查看。


02

雙目匹配

原理:

通過對兩幅圖像視差的計算,直接對前方景物(圖像所拍攝到的范圍)進行距離測量,而無需判斷前方出現的是什么類型的障礙物。所以對于任何類型的障礙物,都能根據距離信息的變化,進行必要的預警或制動。雙目攝像頭的原理與人眼相似。人眼能夠感知物體的遠近,是由于兩只眼睛對同一個物體呈現的圖像存在差異,也稱“視差”。物體距離越遠,視差越小;反之,視差越大。視差的大小對應著物體與眼睛之間距離的遠近,這也是3D電影能夠使人有立體層次感知的原因。

229f4e13408b8bbff6baedc68a7efa53.png

雙目匹配被普遍認為是立體視覺中最困難也是最關鍵的問題。得到視差數據,通過上述原理中的公式就可以很容易的計算出深度信息

OpenCV中提供了兩種立體匹配算法SGBM算法和BM快匹配算法,其中SGBM算法準確性較高,但是運算速度慢。BM算法準確性稍差但運算速度快,可滿足實時應用需求。BM算法在OpenCV中通過函數StereoBM()實現。

接下來就是用基于深度學習的立體匹配算法,讓精度更高,潛力更高的GA-Net

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

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

相關文章

計算機無法播放,如果無法播放計算機mp4文件怎么辦?

FireStar365接受1. 下載并安裝最新版本的視頻播放器(例如: Storm Video).2. 在硬盤中找到MP4視頻文件.3. 右鍵單擊該文件,然后選擇打開方法“ Storm Video”.4. 可以雙擊打開頁面.zxc942128835將mp4鏈接到計算機,打開磁盤,單擊菜單欄上的工具…

thrift介紹及應用(二)—簡單應用

原文:http://blog.csdn.net/guxch/article/details/12162131 ----------------------------------------------------------------------------------- 【接上文“thrift介紹及應用(一)—介紹”】 六、一個最簡單的實例 Thrift文件&#xf…

打游戲的教育意義

夜色已深,一個男孩子還在打游戲。門忽然開了,媽媽走了進來,她把一碗陽春面擺在桌子上。說:"歇息一會兒,趁熱把這碗面吃了吧。"孩子嗯了一聲,眼睛沒有離開屏幕。媽媽生怕打攪孩子,悄悄…

python快速編程入門課本第六章_python編程快速上手第六章實踐項目參考code

代碼如下: 題目的意思是通過一個函數將列表的列表顯示在組織良好的表格中,每列右對齊 tableData [[apples, oranges, cherries, banana], [Alice, Bob, Carol, David], [dogs, cats, moose, goose]]apples Alice dogs oranges Bob cats cherries Carol …

計算機硬件配置組件,配置vcenter server的硬件(默認指windows版本的)

一般來說vcenter的硬件需求與它管理的主機和VM有直接關系1. vcenter server的最低硬件配置Two 64-bit CPUs or a single dual-core 64-bit CPU.2 GHz processor or faster.4 GB of RAM or more.4 GB of free disk space.A network adapter (Gigabit Ethernet strongly recommen…

標準評分卡分數計算原理_評分卡的形式、刻度及應用場景

 看到有伙伴提問:①我們的評分卡做好后,后續的使用策略是什么呀,都有哪些方向? ②評分卡分數切割點如何定,制定的業務邏輯是什么?其實,這個問題不好回答,也好回答。一方…

hexeditor 復制二進制值_MySQL復制全解析 Part 6 MySQL GTID 生命周期

實驗環境此次實驗的環境如下MySQL 5.7.25Redhat 6.10操作系統賬號:mysql數據庫復制賬號:repl復制格式:基于行的復制通過前面的介紹我們知道MySQL的復制有兩種方法基于二進制日志文件位置基于GTID上一節的內容為GTID的格式和存儲,這節根據官方文檔我們說GTID的生命周…

Thrift介紹與應用(三)—hbase的thrift接口

原文:http://blog.csdn.net/guxch/article/details/12163047 ----------------------------------------------------------------------------------- 一、概述 Hbase是目前比較火的列存儲數據庫,由于Hbase是用Java寫的,因此它原生地提供了…

Linux/Unix 新手和專家教程

你正在找一些高質量的Linux 和 UNIX 的教程嗎?如果是,這篇文章會告訴你到哪去找到這些教程。這里我們將給出超過30個相當的不錯的 Linux 和 UNIX 在線的教程。 需要大家注意的是,他們都是英文的,也許有一些也經被翻譯到了中文社區…

自動ip的計算機共享打印,局域網內自動獲取ip地址怎么設置打印機共享文件夾...

在局域網環境中,為了盡可能地節省辦公成本,很多用戶都會選擇在局域網中架設、部署共享打印機,以便在單位的任何角落處都能方便、自如地進行打印操作。下面是學習啦小編為大家整理的關于局域網內自動獲取ip地址怎么設置打印機共享文件夾,一起來看看吧!局域網內自動獲…

高級數據分析1代碼_用Python進行數據分析,讓你一看就會

本書詳細介紹利用Python進行操作、處理、清洗和規整數據等方面的具體細節和基本要點。雖然本書的標題是“數據分析”,重點卻是Python編程、庫,以及用于數據分析的工具。第1章 準備工作第2章 Python語法基礎,IPython和Jupyter Notebooks第3章 …

工期日歷天計算器_天津實地告訴你:房建項目是怎樣保節點,搶工期的?

工程概況天津實地薔薇花園住宅地塊項目共計由24棟單體住宅、2棟配建及地下人防車庫組成,其中12層小高層4棟、13層小高層1棟、19棟7層洋房。總建建筑面積為139348.62㎡,地上99348㎡,地下40000㎡,人防面積為14236㎡。工期目標項目施…

thrift介紹及應用(四)—hadoop的thrift接口

原文:http://blog.csdn.net/guxch/article/details/12163519 ----------------------------------------------------------------------------------- 一、概述 hadoop是目前使用比較多的分布式文件系統,由于hadoop是用Java寫的,對非Java程…

遲到的年度總結,我們應該收放自如

現在已經2018年3月了,這篇2017的年度總結顯得晚了一點,但意義非凡,讓我有了更多的反省和思考,我相信大家讀完一定會有收獲。好了,廢話不多說進入主題。別用學習來逃避成長這話說的簡直是屁話,不是學習才會成…

測試fps游戲反應速度軟件,FPS反應速度提速

靜謐無聲,生死一瞬,說的就是FPS游戲,沒有哪一個種類的游戲可以比擬我們FPS玩家對于反應速度的追求,更快更準哪怕提速只是1毫秒,無數高手之所以為高手就是因為他們可以打出我們看起來不可能完成的擊殺,特別是…

html5中單選框被選中把值傳給后臺_HTML5的表單設計

使用過Delphi的程序員,對Form這個詞應該比較熟悉。在Delphi中,Form被翻譯為“界面、窗口”,作用是:為用戶提供界面,供用戶輸入信息,向用戶展示處理結果。HTML5中也有Form,功能與Delphi中的Form差…

python科赫曲線繪制正方形_Python數據處理從零開始----第四章(可視化)(14)使用seaborn繪制熱圖...

目錄 Python數據處理從零開始----第四章(可視化)①③多變量繪圖 Python數據處理從零開始----第四章(可視化)(14)使用seaborn繪制熱圖 seaborn.heatmapHeat maps顯示數字表格數據,其中單元格根據…

Hive的系統架構

一、架構圖 二、各組件 用戶接口:包括 CLI(控制臺命令),JDBC/ODBC,WebUI。 CLI,即Shell命令行 JDBC/ODBC 是 Hive 的Java,與使用傳統數據庫JDBC的方式類似 WebGUI是通過瀏覽器訪問 Hive --…

8266獲取網絡時間

8266獲取網絡時間 今天第一次用阿里的博客寫點東西感受一下....sntp.sync("ntp1.aliyun.com",function()print("sync succeeded")end,function(index)print("failed : "..index)end)用的SNTP 然后打印時間 time rtctime.epoch2cal(rtctime.get(…

重慶高考計算機分數線,重慶高考歷年分數線

2019年一、普通文理類(一) 文史類本科第一批 545分本科第二批 458分高職專科批 180分(二) 理工類本科第一批 525分本科第二批 435分高職專科批 180分二、藝術類(一)本科批1.美術類 336分2.音樂類(1)音樂學 359分(2)音樂表演(聲樂、鋼琴、器樂) 275分3.編導類 430分4.影視類(1)表…