消息!如何通過立體視覺構建小巧輕便的深度感知系統
有多種 3D 傳感器方案來實現深度感知系統,包括立體視覺相機、激光雷達和TOF(飛行時間)相機。每個選擇都有其優缺點,其中,嵌入式深度感知立體系統成本低,堅固耐用,適合戶外使用,并且能夠提供高分辨率的彩色點云。
目前市場上有各種現成的立體感知系統。有時系統工程師需求根據精度、基線(兩個相機間距)、視野和分辨率等因素,構建定制系統來滿足特定的應用需求。
在本文中,我們首先介紹了立體視覺系統的主要部分,并提供了有關使用硬件組成和開源軟件制作定制立體相機的說明。由于此設置專注于嵌入式系統,因此它將實時計算任何場景的深度圖,而無需電腦主機。在另一篇文章中,我們將討論如何在空間較少的情況下構建定制立體視覺系統,以便與電腦主機一起使用。
【資料圖】
立體視覺概述立體視覺是通過從兩個視角比較場景中的信息,從數字圖像中提取 3D 信息。物體在兩個圖像平面中的相對位置可提供關于物體距離相機的深度的信息。
立體視覺系統概述如圖 1 所示,包括以下關鍵步驟:
校準:相機校準包括內部校準和外部校準。內部校準確定圖像中心、焦距和失真參數,而外部校準確定相機的 3D 位置。這在許多計算機視覺應用中是至關重要的一步,尤其是在需要有關場景的計量信息(例如深度)時。我們將在下文第 5 節詳細討論校準步驟。
糾正:立體糾正是指將圖像平面重新投影到與相機中心之間的線平行的公共平面上的過程。糾正后,對應點位于同一行,大大降低了匹配的成本和模糊度。此步驟在提供的代碼中完成,用于構建您自己的系統。
立體匹配:這是指在左右圖像之間匹配像素的過程,從而產生視差圖像。提供的代碼中將使用半全局匹配 (SGM) 算法來構建您自己的系統。
三角測量:三角測量是指在給定 3D 空間中的點投影到兩個圖像上的情況下確定該點的過程。視差圖像將轉換為 3D 點云。
圖 1:立體視覺系統概述
設計示例我們來看一個立體聲系統設計示例。以下是移動機器人在具有快速移動物體的動態環境中的應用要求。有關場景大小為 2 m,相機到場景的距離為 3 m,在 3 m 處所需的精度為 1 cm。
有關立體精度的更多詳細信息,請參閱本文。深度誤差由下式給出:ΔZ=Z2/Bf * Δd,這取決于以下因素:
Z 是范圍
B 是基線
f 是以像素為單位的焦距,與相機視野和圖像分辨率有關
有多種設計選項可以滿足這些要求。根據上述場景大小和距離要求,我們可以確定特定傳感器的鏡頭焦距。結合基線,我們可以使用上述公式計算 3 m 處的預期深度誤差,以驗證其是否滿足精度要求。
圖 2 顯示了兩個選項,使用基線較長的低分辨率相機或基線較短的高分辨率相機。第一個選項是較大的相機,但計算需求較低,而第二個選項是更緊湊的相機,但計算需求較高。對于此應用,我們選擇了第二個選項,因為緊湊的尺寸更適合移動機器人,我們可以使用適用于 TX2 的 Quartet 嵌入式解決方案,該解決方案具有強大的板載 GPU 來滿足處理需求。
圖 2:示例應用的立體聲系統設計選項
硬件要求在本例中,我們使用 IMX273 Sony Pregius 全局快門傳感器將兩臺?Blackfly S 板級?160 萬像素相機安裝在 12 cm 基線處的 3D 印刷桿上。這兩臺相機都有類似的?6 mm S 接口鏡頭。相機使用兩條 FPC 電纜連接到“適用于 TX2 的 Quartet 嵌入式解決方案”定制載板。為了同步左右相機以同時捕捉圖像,制作了一條連接兩個相機的同步電纜。圖 3 顯示了我們定制的嵌入式立體聲系統的前后視圖。
圖 3:定制嵌入式立體聲系統的前后視圖
下表列出了所有硬件組件:
部件 | 說明 | 數量 | 鏈接方式 |
ACC-01-6005 | 帶 8GB TX2 模塊的 Quartet 載板 | 1 | https://www.flir.com/products/quartet-embedded-solution-for-tx2/ |
BFS-U3-16S2C-BD2 | 160 萬像素,226 FPS,Sony IMX273,彩色 | 2 | https://www.flir.com/products/blackfly-s-board-level |
ACC-01-5009 | 用于 BFS 彩色板級相機的 S 接口和紅外濾光片 | 2 | https://www.flir.com/products/s_mount-front |
BW3M60B-1000 | 6 mm S 接口鏡頭 | http://www.boowon.co.kr/site/down.asp?fileName=BW3M60B-1000.pdf | |
ACC-01-2401 | 用于板級 Blackfly S 的 15 cm FPC 線纜 | 2 | https://www.flir.com/products/15-cm-fpc-cable-for-board-level-blackfly-s/ |
XHG302 | NVIDIA? Jetson? TX2/TX2 4GB/TX2i 主動式散熱器 | 1 | https://connecttech.com/product/nvidia-jetson-tx2-tx1-active-heat-sink/ |
同步電纜(自制) | 1 | https://www.flir.com/support-center/iis/machine-vision/application-note/configuring-synchronized-capture-with-multiple-cameras/ | |
安裝桿(自制) | 1 |
應調整兩個鏡頭,以將相機聚焦在您的應用所需的距離范圍內。擰緊每個鏡頭上的螺釘(圖 4 中以紅色圈出)以保持對焦。
圖 4:顯示鏡頭螺釘的立體聲系統側視圖
軟件要求a. SpinnakerTeledyne FLIR?Spinnaker SDK?已預裝在適用于 TX2 的 Quartet 嵌入式解決方案中。Spinnaker 需要與相機進行通信。
b. 支持 CUDA 的 OpenCV 4.5.2SGM(我們正在使用的立體匹配算法)需要 OpenCV 4.5.1 或更高版本。下載包含本文代碼的 zip 文件,并將其解壓縮到 StereoDepth 文件夾。安裝 OpenCV 的腳本是 OpenCVInstaller.sh。在終端中鍵入以下命令:
cd ~/StereoDepth
chmod +x OpenCVInstaller.sh
./OpenCVInstaller.sh
安裝程序將要求您輸入管理員密碼。安裝程序將開始安裝 OpenCV 4.5.2。下載和構建 OpenCV 可能需要幾個小時。
校準抓取和校準立體圖像的代碼可在 “Calibration” 文件夾中找到。使用 SpinView GUI 識別左右相機的序列號。在我們的設置中,右相機是主相機,左相機是從相機。將主從相機序列號復制到文件 grabStereoImages.cpp 第 60 和 61 行。在終端中使用以下命令構建可執行文件:
cd ~/StereoDepth/Calibration
mkdir build
mkdir -p images/{left, right}
cd build
cmake ..
make
從此鏈接打印出棋盤狀圖案,并將其貼在平面上用作校準目標。為了在校準時獲得最佳效果,在 SpinView 中將 Exposure Auto 設置為 Off 并調整曝光,使棋盤狀圖案清晰且白色方塊不會過度曝光,如圖 5 所示。收集校準圖像后,增益和曝光可在 SpinView 中設置為自動。
圖 5:SpinView GUI 設置
要開始收集圖像,請鍵入
./grabStereoImages
代碼應以大約 1 幀/秒的速度開始收集圖像。左側圖像存儲在 images/left 文件夾中,右側圖像存儲在 images/right 文件夾中。移動目標,使其出現在圖像的每個角落。您可以旋轉目標,從近處和遠處拍攝圖像。默認情況下,該程序捕獲 100 個圖像對,但可以使用命令行參數進行更改:
./grabStereoImages 20
這將僅收集 20 對圖像。請注意,這將覆蓋之前寫入文件夾中的所有圖像。部分示例校準圖像如圖 6 所示。
圖 6:示例校準圖像
收集圖像后,通過鍵入以下內容運行校準 Python 代碼:
cd ~/StereoDepth/Calibration
python cameraCalibration.py
這將生成 2 個名為 “intrinsics.yml” 和 “extrinsics.yml” 的文件,其中包含立體聲系統的內部和外部參數。該代碼默認采用 30mm 棋盤方格,但可以根據需要進行編輯。在校準結束時,它會顯示 RMS 誤差,表明校準的好壞。良好校準的典型 RMS 誤差應低于 0.5 像素。
實時深度圖實時計算視差的代碼位于 “Depth” 文件夾中。將相機序列號復制到文件 live_disparity.cpp 第 230 和 231 行。在終端中使用以下命令構建可執行文件:
cd ~/StereoDepth/Depth
mkdir build
cd build
cmake ..
make
將校準步驟中獲得的 “intrinsics.yml” 和 “extrinsics.yml” 文件復制到此文件夾。要運行實時深度圖演示,請鍵入
./live_disparity
它將顯示左相機圖像(原始未糾正圖像)和深度圖(我們的最終輸出)。部分示例輸出如圖 7 所示。與相機的距離根據深度圖右側的圖例進行顏色編碼。深度圖中的黑色區域意味著在該區域中沒有發現視差數據。得益于 NVIDIA Jetson TX2 GPU,它在 1440 × 1080 的分辨率下可運行高達 5 幀/秒,在 720 × 540 的分辨率下可運行高達 13 幀/秒。
要查看特定點的深度,請在深度圖中單擊該點,深度將會顯示出來,如圖 7 中最后一個示例所示。
圖 7:對左相機圖像和相應的深度圖進行采樣。底部深度圖還會顯示特定點的深度。
摘要使用立體視覺來形成深度信息感知的優勢眾多,包括在戶外工作良好,能夠提供高分辨率的深度圖,可通過低成本的現成組件制作。當您需要開發一個定制化的嵌入式立體感知系統,根據此處提供的說明進行操作,也將是一個相對簡單的任務。
您可能也感興趣:
為您推薦
寵物險熱度不斷攀升 仍存在著理賠流程復雜等痛點
銀保監會就保險銷售行為管理辦法征求意見 對行為規則作出規定
上海:做好基層快遞網點優先參加工傷保險工作 促進行業健康發展
排行
最近更新
- 消息!如何通過立體視覺構建小巧輕便的深度感知系統
- 全球快消息!2022 EdgeX中國挑戰賽正式開幕,英特爾攜行業伙...
- 頭條焦點:亞馬遜云科技成為德勤威奇托智慧工廠的云服務商,...
- 世界熱議:Diodes 公司的高精度雙向電流顯示器能以較低的 Bo...
- 新消息丨Jio與Subex合作增強其5G產品線
- 每日視點!丹陽農商銀行:助種養業立體化發展
- 環球新資訊:“新農具”田上飛
- 天天實時:用什么茶浸蜂蜜最好
- 焦點快播:看世界:?美國銀行被罰3750萬美元
- 快消息!茶葉炒蜂蜜治什么
- 【快播報】南京試點推行醫療意外保險
- 環球時訊:四川首筆農發基礎設施基金落地
- 熱點在線丨中藥泡蜂蜜有什么功效
- 全球觀天下!煮銀耳湯冰糖可以放進去一起煮嗎?
- 環球實時:2022.08.04.消息淘金
- 環球焦點!茶葉煲蜂蜜有什么功效
- 海爾助力中國搶占生物科技制高點 細胞產業引領創新風尚
- 環球微動態丨河南新增本土確診病例2例 本土無癥狀感染者41例
- 每日快訊!單季度營收下滑83%,好未來探索轉型路 校招瞄準直播+出海
- 世界看熱訊:高增長下貴州茅臺的攻與守 多項舉措瞄準年輕化
- 天天快看:河北新增無癥狀感染者1例 系在集中隔離點篩查發現
- 焦點訊息:預防腦梗塞的發生,不能只靠補葉酸,還要注意這2種...
- 天天快看點丨數百萬散戶被“割”,虛擬貨幣龐氏騙局再現
- 【天天報資訊】減倉蘋果、拼多多,年內四次抄底騰訊,“中國...
- 全球即時:2022年8月3日云南省新冠肺炎疫情情況
- 世界熱議:奧普家居:截至2022年7月累計耗資5307.37萬元回購600萬股
- 全球視訊!約10%的癌癥與遺傳有關!有家族史的人要注意這8種癌
- 世界速訊:2022年8月3日0時至24時遼寧新型冠狀病毒肺炎疫情情況
- 當前焦點!如何知道自己的脊柱是不是彎了呢?彎了的脊柱還有救...
- 環球消息!檸檬水不能白天喝?會變黑?
今日要聞
- 新消息丨Jio與Subex合作增強其5G產品線
- 消息!如何通過立體視覺構建小巧輕便的深度感知系統
- 海爾助力中國搶占生物科技制高點 細胞產業引領創新風尚
- 世界熱議:Diodes 公司的高精度雙向電流顯示器能以較低的 BoM 成本達到精確測量的結果
- ATM機使用率逐漸降低 銀行網點智能化、數字化轉型已成趨勢
- 頭條焦點:亞馬遜云科技成為德勤威奇托智慧工廠的云服務商,兌現"工業4.0"承諾
- 天天快看點丨數百萬散戶被“割”,虛擬貨幣龐氏騙局再現
- 鄉村民宿發展迎利好消息 將助推“精品民宿”“微民宿”等業態發展
- 全球快消息!2022 EdgeX中國挑戰賽正式開幕,英特爾攜行業伙伴助力智能邊緣創新落地
- 世界熱議:奧普家居:截至2022年7月累計耗資5307.37萬元回購600萬股