chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

雙目測距系列(二):魚眼鏡頭雙目標定及測距

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-08 22:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

轉載自:雙目測距系列(二)魚眼鏡頭雙目標定及測距
作者:ltshan139

前言

這幾天把基于opencv C++ api將魚眼鏡頭的雙目標定以及測距功能實現(xiàn)完畢,效果還可以,至少對齊得非常棒。 這里把其流程及其關鍵函數在這里總結一下。
對于雙目標定而言,opencv一共支持兩種模型:普通針孔相機模型和魚眼相機模型fisheye。后者是opencv3.0后才開始支持的。從使用角度講,它倆主要差別就在于畸變系數不一樣。
雙目測距流程一共分為四大步:標定,對齊,匹配以及測距。這點對于普通攝像頭模型和魚眼模型都適用。下面就基于魚眼攝像頭模型來講解各個步驟具體內容。

標定

標定Calibration包括單目標定和雙目標定,前者的輸出結果主要是內參(3x3矩陣,包括fx,fy以及cx和cy)和畸變系數(1x4矩陣 K1,K2,K3,K4);后者輸出的主要是是外參,即右攝像頭基于左攝像頭的姿態(tài),包括R和T兩個矩陣。
標定一個主要工作就是對著標定板拍圖,標定板最好遍布整個圖像區(qū)域,一般20~30張就足夠了。 opencv目前可以對三種pattern的標定板:棋盤格,圓以及非對稱圓來找角點,其API如下所示:

    case Settings::CHESSBOARD:
        found = findChessboardCorners( view, s.boardSize, pointBuf, chessBoardFlags);
        break;
    case Settings::CIRCLES_GRID:
        found = findCirclesGrid( view, s.boardSize, pointBuf );
        break;
    case Settings::ASYMMETRIC_CIRCLES_GRID:
        found = findCirclesGrid( view, s.boardSize, pointBuf, CALIB_CB_ASYMMETRIC_GRID );

角點正確找到后,就可以開始單目標定,其對應API為:

CV_EXPORTS_W double calibrate(InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints, const Size& image_size,
    InputOutputArray K, InputOutputArray D, OutputArrayOfArrays rvecs, OutputArrayOfArrays tvecs, int flags = 0,
        TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 100, DBL_EPSILON));

單目標定結束后,接下來就是雙目標定:

CV_EXPORTS_W double stereoCalibrate(InputArrayOfArrays objectPoints, InputArrayOfArrays imagePoints1, InputArrayOfArrays imagePoints2,
                              InputOutputArray K1, InputOutputArray D1, InputOutputArray K2, InputOutputArray D2, Size imageSize,
                              OutputArray R, OutputArray T, int flags = fisheye::CALIB_FIX_INTRINSIC,
                              TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 100, DBL_EPSILON));

這里需要注意的是,雙目標定可以基于前面單目標定出來的內參來直接算R和T,也可以將單目內參作為一個初始值來重新迭代計算出新的內參和R以及T。

對齊

攝像頭內參和外參都有了之后,就可以開始調用下面的API來分別獲得左、右攝像頭新的旋轉矩陣R和內參投影矩陣P。

CV_EXPORTS_W void stereoRectify(InputArray K1, InputArray D1, InputArray K2, InputArray D2, const Size &imageSize, InputArray R, InputArray tvec,
    OutputArray R1, OutputArray R2, OutputArray P1, OutputArray P2, OutputArray Q, int flags, const Size &newImageSize = Size(),
    double balance = 0.0, double fov_scale = 1.0);

緊接著是基于新的矩陣來生成左右攝像頭的映射表left_mapx, left_mapy, right_mapx以及right_mapy。

CV_EXPORTS_W void initUndistortRectifyMap(InputArray K, InputArray D, InputArray R, InputArray P,
    const cv::Size& size, int m1type, OutputArray map1, OutputArray map2);

有了映射表mapx和mapy,在后面測距的時候就可以調用remap()來對新的測試圖片進行校正。

匹配

匹配是相對最耗時的步驟,即使前面左右圖像對齊后,只需要在行上來匹配。常用的匹配算法有SGBM,BM等等。相對來講,SGBM兼顧了速度和準確度,因而用的比較多。

Ptr sgbm = StereoSGBM::create(0, 16, 3);
sgbm->setPreFilterCap(63);
sgbm->setBlockSize(pParas->sgbmWindowSize);
int channel_cnt = left_rectify_img.channels();
sgbm->setP1(8 * channel_cnt * pParas->sgbmWindowSize * pParas->sgbmWindowSize);
sgbm->setP2(32 * channel_cnt * pParas->sgbmWindowSize * pParas->sgbmWindowSize);
sgbm->setMinDisparity(0);
sgbm->setNumDisparities(pParas->NumDisparities);
sgbm->setUniquenessRatio(pParas->UniquenessRatio);
sgbm->setSpeckleWindowSize(101);
sgbm->setSpeckleRange(10);
sgbm->setDisp12MaxDiff(-1);
sgbm->setMode(StereoSGBM::MODE_SGBM);

opencv已經將匹配算法 封裝的很好了,唯一需要注意的就是參數值得調節(jié)會帶來不一樣得匹配效果。常見的需要調節(jié)的參數有:

    paras.sgbmWindowSize = 7;
    paras.NumDisparities = 16 * 20;
    paras.UniquenessRatio = 12;

測距

匹配完成就能得到視差圖disparity map。 有了視差圖,每個點的Z方向上深度值獲取就變得簡單了。通過下面公式:
Z = B * fx / d
B是兩個攝像頭之間的距離,其值等于外參平移矩陣X方向上的絕對值,即abs(T.at(0,0))。
fx則為左攝像頭內參矩陣的第一個值m_fisheye_intrinsicsL.val[0]
d則為每個像素在左右攝像頭像素坐標系上X方向的差,由前面匹配步驟所得。



推薦閱讀



更多海思AI芯片方案學習筆記歡迎關注海思AI芯片方案學習。

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • AI
    AI
    +關注

    關注

    91

    文章

    41115

    瀏覽量

    302607
  • 深度學習
    +關注

    關注

    73

    文章

    5608

    瀏覽量

    124635
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    一文帶你了解雙目深度相機

    在如今的智能化時代,不管是工業(yè)車間里的機器人、家里的掃地機器人,還是AR眼鏡、自動駕駛汽車,都需要一雙能“看懂”三維世界的“眼睛”——雙目深度相機就是這樣一款設備。可能有人會問,這東西到底是啥?其實
    的頭像 發(fā)表于 04-14 14:30 ?199次閱讀
    一文帶你了解<b class='flag-5'>雙目</b>深度相機

    零碳園區(qū)光伏配套:西格防逆流系統(tǒng),助力園區(qū)實現(xiàn) “能源自給 + 零逆流” 雙目標

    西格防逆流系統(tǒng):壹.叁.柒-伍.零.零.肆-陸.貳.零.零,以“定制化調控、全鏈路協(xié)同、高效節(jié)能”為核心,精準打通園區(qū)光伏應用的堵點,助力園區(qū)高效實現(xiàn)“能源自給 + 零逆流”雙目標,為零碳園區(qū)建設注入強勁動力。
    的頭像 發(fā)表于 04-03 10:46 ?724次閱讀
    零碳園區(qū)光伏配套:西格防逆流系統(tǒng),助力園區(qū)實現(xiàn) “能源自給 + 零逆流” <b class='flag-5'>雙目標</b>

    RTK-SCAM-60 雙目立體視覺相機|精準深度感知 全場景智能視覺

    RTK-SCAM-60雙目相機是一款專為三維空間感知與距離測量打造的高精度雙目立體視覺相機,整機采用5V低壓供電模式,無需外接獨立電源,真正實現(xiàn)即插即用,全方位簡化部署與使用流程。設備搭載兩組經精密
    的頭像 發(fā)表于 03-27 14:28 ?175次閱讀
    RTK-SCAM-60 <b class='flag-5'>雙目</b>立體視覺相機|精準深度感知 全場景智能視覺

    ESP32驅動TFmini-S紅外激光測距ToF模塊進行測距

    本文介紹了TFmini-S紅外激光測距ToF模塊的基本特性,然后用ESP32開發(fā)板驅動TFmini-S模塊進行測距,并在串口助手上顯示出測距數據。
    的頭像 發(fā)表于 03-06 14:43 ?351次閱讀
    ESP32驅動TFmini-S紅外激光<b class='flag-5'>測距</b>ToF模塊進行<b class='flag-5'>測距</b>

    雙目立體視覺相機產品介紹

    本產品是一款主打高精度感知、采用5V穩(wěn)定供電的雙目立體視覺相機,核心由兩個經過精密同步調試與專業(yè)校準的獨立相機模塊組成,固定基線嚴格設定為60mm,專為各類場景下的三維空間感知與精準距離測量需求量
    的頭像 發(fā)表于 02-28 15:08 ?269次閱讀
    <b class='flag-5'>雙目</b>立體視覺相機產品介紹

    無人機激光測距傳感器使用指南

    無人機激光測距傳感器(核心基于 ToF 或脈沖激光測距原理)是無人機實現(xiàn)定高飛行、避障導航、精準測繪、目標定位的關鍵部件,其使用需圍繞 “選型適配→安裝調試→功能配置→數據處理→場景優(yōu)化” 五大核心
    的頭像 發(fā)表于 01-09 13:41 ?1327次閱讀
    無人機激光<b class='flag-5'>測距</b>傳感器使用指南

    雙目視覺是如何實現(xiàn)深度估計的?

    [首發(fā)于智駕最前沿微信公眾號]自動駕駛的純視覺方案中,單目攝像頭因無法直接感知深度,在環(huán)境理解上存在根本局限,雙目視覺技術在此需求下應運而生。它通過模擬人眼,利用雙攝像頭的視差來推算距離,將維圖像
    的頭像 發(fā)表于 12-31 09:45 ?682次閱讀
    <b class='flag-5'>雙目</b>視覺是如何實現(xiàn)深度估計的?

    自動駕駛既然有雙目攝像頭了,為什么還要三目攝像頭?

    [首發(fā)于智駕最前沿微信公眾號]在自動駕駛領域,純視覺方案一直受到不少人的認可。雙目攝像頭由于模擬了人眼的工作方式,能夠通過視差計算還原三維信息,在距離判斷和空間感知上具有天然優(yōu)勢,因此被廣泛應用于純
    的頭像 發(fā)表于 12-09 08:59 ?1269次閱讀
    自動駕駛既然有<b class='flag-5'>雙目</b>攝像頭了,為什么還要三目攝像頭?

    有沒有推薦的激光測距傳感器

    有推介的國內稍微頭部一點的激光測距傳感器品牌推介嘛,需要點對面測距
    發(fā)表于 11-13 11:54

    車載雙目攝像頭如何“看見”世界?

    [首發(fā)于智駕最前沿微信公眾號]想要讓車輛知道前方有什么、距離多遠、是否可以靠近,首先要做的是讓其“看”清楚環(huán)境。在眾多車載感知硬件中,與人類看到世界最類似的一個感知硬件便是車載雙目攝像頭了。 圖片
    的頭像 發(fā)表于 11-13 09:17 ?1677次閱讀
    車載<b class='flag-5'>雙目</b>攝像頭如何“看見”世界?

    IMU+多相機高速聯(lián)合自動標定方案

    目、雙目、眼、長焦、TOF任意混搭,模組更換后自動識別。 標定結果可一鍵推送至MES/ERP,JSON/YAML/TXT格式全開放,后續(xù)OTA升級直接調用。 無需獨立氣源或冷卻水;年維護費僅為進口設備的1/10。
    發(fā)表于 10-23 14:04

    光子精密雙目3D線激光輪廓測量儀,擺脫視覺盲區(qū),1臺更比2臺強!

    光子精密雙目3D線激光輪廓測量儀(GL-8160D),在GL-8000系列的基礎上創(chuàng)新升級。GL-8160D采用全新雙目單線設計,突破傳統(tǒng)3D視覺檢測限制,而且不受外部拼接標定誤差影響
    的頭像 發(fā)表于 07-16 17:21 ?1555次閱讀
    光子精密<b class='flag-5'>雙目</b>3D線激光輪廓測量儀,擺脫視覺盲區(qū),1臺更比2臺強!

    雙目視覺在智能駕駛領域的應用

    圍繞“雙目智駕應用”,我們將推出系列文章深入解析雙目視覺如何跨越技術鴻溝,在中國智駕的沃土上生根發(fā)芽,探索其賦能未來出行的無限可能。
    的頭像 發(fā)表于 07-09 16:21 ?1476次閱讀

    Nordic測距介紹

    藍牙是目前使用最為廣泛的有源物聯(lián)網連接技術。 藍牙測距有著廣泛的目標市場和應用: 家庭:物品查找、寵物追蹤 商業(yè):資產跟蹤,庫存管理 汽車:無鑰匙進入,遠程遙控 目前的藍牙定位主要使用的技術
    發(fā)表于 05-28 16:49

    UWB 定位測距

    開發(fā)板概述 核心芯片 :基于Decawave的DW3000芯片,主控為nrf52832,集成板載天線和電源管理模塊。 定位性能 :支持單向測距(SWR)、雙向測距(TWR)、TDOA定位方案
    發(fā)表于 05-12 09:36