国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

OpenCV與AI深度學(xué)習(xí) | 使用單相機(jī)對(duì)已知物體進(jìn)行3D位置估計(jì)

這篇具有很好參考價(jià)值的文章主要介紹了OpenCV與AI深度學(xué)習(xí) | 使用單相機(jī)對(duì)已知物體進(jìn)行3D位置估計(jì)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

本文來(lái)源公眾號(hào)“OpenCV與AI深度學(xué)習(xí)”,僅用于學(xué)術(shù)分享,侵權(quán)刪,干貨滿滿。

原文鏈接:使用單相機(jī)對(duì)已知物體進(jìn)行3D位置估計(jì)

0 導(dǎo)? 讀

????????本文主要介紹如何使用單個(gè)相機(jī)對(duì)已知物體進(jìn)行3D位置估計(jì),并給出實(shí)現(xiàn)步驟。??

1 前 言

????????在計(jì)算機(jī)視覺(jué)中,有很多方法可以找到物體的3D位置,例如使用立體攝像頭、激光雷達(dá)、雷達(dá)等。但有時(shí)僅用單個(gè)攝像頭就可以實(shí)現(xiàn)3D感知。使用單相機(jī)找到3D位置的一個(gè)條件是,需要知道圖片中需要估計(jì)位置的物體的大小。請(qǐng)記住,當(dāng)對(duì)象的方向發(fā)生變化時(shí),圖片中的對(duì)象可能會(huì)具有不同的大小。在本文中,為了避免這種需要我們了解對(duì)象方向的復(fù)雜性,我們將嘗試估計(jì)球的 3D 位置。因?yàn)橐粋€(gè)球,無(wú)論從任何方向看,都具有相同的大小。

下面是它的工作原理:

  • 我們計(jì)算Camera坐標(biāo)系中的3D世界與圖像中的2D像素坐標(biāo)之間的關(guān)系。此步驟稱為相機(jī)標(biāo)定,更具體地說(shuō)是內(nèi)參計(jì)算
  • 然后我們使用對(duì)象分割算法來(lái)找到感興趣的對(duì)象。
  • 接下來(lái)測(cè)量物體的大小。
  • 我們使用步驟 1 中獲得的內(nèi)部參數(shù),使用對(duì)象的大小和對(duì)象中心的像素位置來(lái)估計(jì)3D位置。

本文將涵蓋理解該算法所需的基本背景知識(shí)并解釋該算法。? ? ??

2 原理與步驟

2.1?相機(jī)坐標(biāo)系

????????相機(jī)坐標(biāo)系是一個(gè)3D笛卡爾坐標(biāo)系,原點(diǎn)位于相機(jī)的焦點(diǎn)處,Z軸是相機(jī)的光軸。這用于了解3D中對(duì)象相對(duì)于相機(jī)位置的位置。

OpenCV與AI深度學(xué)習(xí) | 使用單相機(jī)對(duì)已知物體進(jìn)行3D位置估計(jì),python拓展學(xué)習(xí),人工智能,opencv,深度學(xué)習(xí),數(shù)碼相機(jī),算法,3d,python

2.2?像素坐標(biāo)系

OpenCV與AI深度學(xué)習(xí) | 使用單相機(jī)對(duì)已知物體進(jìn)行3D位置估計(jì),python拓展學(xué)習(xí),人工智能,opencv,深度學(xué)習(xí),數(shù)碼相機(jī),算法,3d,python

像素坐標(biāo)就是圖像中每個(gè)像素從左上角開(kāi)始的位置。

2.3?相機(jī)標(biāo)定

????????相機(jī)標(biāo)定是理解相機(jī)的內(nèi)部參數(shù)和外部參數(shù)的過(guò)程。簡(jiǎn)單地說(shuō),外部參數(shù)告訴我們世界上給定的3D坐標(biāo)系與相機(jī)位置之間的關(guān)系,而內(nèi)部參數(shù)告訴我們物體的3D坐標(biāo)與相機(jī)捕獲的圖像的2D像素坐標(biāo)之間的關(guān)系。

????????我們將只關(guān)注相機(jī)的內(nèi)部參數(shù)。下面的方程將幫助您從數(shù)學(xué)上理解內(nèi)在參數(shù)。

OpenCV與AI深度學(xué)習(xí) | 使用單相機(jī)對(duì)已知物體進(jìn)行3D位置估計(jì),python拓展學(xué)習(xí),人工智能,opencv,深度學(xué)習(xí),數(shù)碼相機(jī),算法,3d,python

??? X、Y、Z 值是現(xiàn)實(shí)世界中一點(diǎn)的笛卡爾坐標(biāo),相機(jī)位于原點(diǎn),Z 軸與相機(jī)光軸共線。

2.4?對(duì)焦參數(shù)

????????fx 和 fy 是 x 軸和 y 軸上的焦點(diǎn)(以像素為單位)。在針孔相機(jī)模型中,焦點(diǎn)以距離為單位,并且 x 軸和 y 軸上的焦點(diǎn)相同。但在數(shù)碼相機(jī)中,由于相機(jī)傳感器的尺寸和鏡頭引起的畸變等因素,x 軸和 y 軸的焦點(diǎn)并不總是相同。

????這是一個(gè)理解“像素焦點(diǎn)”概念的方程式,??fx = F * W/w,其中參數(shù)解釋如下:

  • fx 是 x 軸的焦點(diǎn)(以像素為單位)
  • F 是相機(jī)的焦點(diǎn),單位為毫米
  • W 是相機(jī)傳感器的寬度,單位為毫米
  • w 是圖像的寬度(以像素為單位)

內(nèi)參矩陣通過(guò)使用像素值的焦點(diǎn),將現(xiàn)實(shí)世界從距離(毫米)測(cè)量單位映射到圖像中的像素單位。

OpenCV與AI深度學(xué)習(xí) | 使用單相機(jī)對(duì)已知物體進(jìn)行3D位置估計(jì),python拓展學(xué)習(xí),人工智能,opencv,深度學(xué)習(xí),數(shù)碼相機(jī),算法,3d,python

2.5?主點(diǎn)參數(shù)

????????主點(diǎn)表示兩個(gè)坐標(biāo)系(像素坐標(biāo)和相機(jī)坐標(biāo)系)之間的像素偏移。

????????相機(jī)坐標(biāo)系的原點(diǎn)通常位于圖像的中心,而像素坐標(biāo)系的原點(diǎn)通常位于圖像的左上角。因此,cx 的值通常是圖像寬度的一半,cy 的值通常是圖像高度的一半。

2.6?如何得到內(nèi)參矩陣

????????OpenCV提供了進(jìn)行相機(jī)標(biāo)定的工具和步驟。您可以從下面鏈接學(xué)習(xí)如何校準(zhǔn)相機(jī)并獲取內(nèi)部參數(shù)。

OpenCV: Camera CalibrationOpenCV與AI深度學(xué)習(xí) | 使用單相機(jī)對(duì)已知物體進(jìn)行3D位置估計(jì),python拓展學(xué)習(xí),人工智能,opencv,深度學(xué)習(xí),數(shù)碼相機(jī),算法,3d,python

2.7 對(duì)象分割

????????我們需要進(jìn)行對(duì)象分割而不僅僅是對(duì)象檢測(cè),因?yàn)槲覀儾粌H需要知道圖像中對(duì)象的位置,還需要知道圖像中對(duì)象的寬度,以便我們可以將其與對(duì)象的真實(shí)寬度進(jìn)行比較。

????????使用 Masked R-CNN 等神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)象分割有多種方法?;蛘邔?duì)于類似的情況,例如檢測(cè)彩色球,我們可以對(duì)圖像進(jìn)行顏色分割,然后進(jìn)行形狀分析。

2.8 尺寸估計(jì)

? ??一旦我們從對(duì)象分割中知道了屬于該對(duì)象的像素,我們就可以計(jì)算圖像中屬于該對(duì)象的像素的數(shù)量。這將為我們提供圖像中物體的大小。

2.9 計(jì)算3D位置

現(xiàn)在我們以查找圖像中已知大小的彩球的 3D 位置為例。我們假設(shè)球的直徑為 8 厘米。

????Z = (fx * 0.08) / (d_pix)

????X = ((x-cx)*Z)/fx

????Y= ((y-cy)*Z)/fy

  • d_pix - 直徑(以像素?cái)?shù)為單位)
  • x,y - 圖像中球的中心
  • 物體在相機(jī)坐標(biāo)系中的X,Y,Z -3D位置
  • cx,cy - 要點(diǎn)。

這種尋找 3D 位置的方法可能并不總是可行,但當(dāng)滿足條件時(shí),它可以為您節(jié)省很多成本。

THE END!

文章結(jié)束,感謝閱讀。您的點(diǎn)贊,收藏,評(píng)論是我繼續(xù)更新的動(dòng)力。大家有推薦的公眾號(hào)可以評(píng)論區(qū)留言,共同學(xué)習(xí),一起進(jìn)步。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-840094.html

到了這里,關(guān)于OpenCV與AI深度學(xué)習(xí) | 使用單相機(jī)對(duì)已知物體進(jìn)行3D位置估計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【OpenCV實(shí)現(xiàn)圖像:使用OpenCV進(jìn)行物體輪廓排序】

    【OpenCV實(shí)現(xiàn)圖像:使用OpenCV進(jìn)行物體輪廓排序】

    在圖像處理中,經(jīng)常需要進(jìn)行與物體輪廓相關(guān)的操作,比如計(jì)算目標(biāo)輪廓的周長(zhǎng)、面積等。為了獲取目標(biāo)輪廓的信息,通常使用OpenCV的findContours函數(shù)。然而,一旦獲得輪廓信息后,可能會(huì)發(fā)現(xiàn)輪廓的順序是無(wú)序的,如下圖左側(cè)所示: 在這個(gè)圖中,每個(gè)輪廓都被找到,但它們的

    2024年02月03日
    瀏覽(26)
  • OpenCV for Unity使用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像識(shí)別對(duì)象檢測(cè)

    OpenCV for Unity使用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像識(shí)別對(duì)象檢測(cè)

    本文使用的是OpenCV for Unity 2.4.5 1.打開(kāi)AssetsOpenCVForUnityStreamingAssetsdnnsetup_dnn_module.pdf 2.按照提示下載person.jpg、yolov4-tiny.cfg、yolov4-tiny.weights、coco.names ?3.打開(kāi)場(chǎng)景AssetsOpenCVForUnityExamplesMainModulesdnnYoloObjectDetectionExampleYoloObjectDetectionWebCamTextureExample.unity 4.?配置Dnn參數(shù) ?5.運(yùn)行

    2024年02月12日
    瀏覽(93)
  • OpenCV實(shí)例(九)基于深度學(xué)習(xí)的運(yùn)動(dòng)目標(biāo)檢測(cè)(三)YOLOv3識(shí)別物體

    OpenCV實(shí)例(九)基于深度學(xué)習(xí)的運(yùn)動(dòng)目標(biāo)檢測(cè)(三)YOLOv3識(shí)別物體

    目標(biāo)檢測(cè),粗略地說(shuō)就是輸入圖片/視頻,經(jīng)過(guò)處理后得到目標(biāo)的位置信息(比如左上角和右下角的坐標(biāo))、目標(biāo)的預(yù)測(cè)類別、目標(biāo)的預(yù)測(cè)置信度。前面我們闡述了不少理論知識(shí),現(xiàn)在需要?jiǎng)邮謱?shí)戰(zhàn)了。對(duì)于初學(xué)者來(lái)說(shuō),自己實(shí)現(xiàn)YOLO算法不太現(xiàn)實(shí),幸運(yùn)的是OpenCV的DNN(Deep Neur

    2024年02月12日
    瀏覽(33)
  • 使用 OpenCV 進(jìn)行相機(jī)校準(zhǔn)

    使用 OpenCV 進(jìn)行相機(jī)校準(zhǔn)

    相機(jī)已經(jīng)存在了很長(zhǎng)時(shí)間。然而,隨著 20 世紀(jì)后期廉價(jià)針 孔 相機(jī)的推出,它們?cè)谖覀兊娜粘I钪凶兊盟究找?jiàn)慣。不幸的是,這種廉價(jià)是有代價(jià)的:嚴(yán)重的失真。幸運(yùn)的是,這些是常數(shù),通過(guò)校準(zhǔn)和一些重新映射,我們可以糾正這一點(diǎn)。此外,通過(guò)校準(zhǔn),您還可以確定相機(jī)

    2024年04月12日
    瀏覽(32)
  • AI:162-如何使用Python進(jìn)行圖像識(shí)別與處理深度學(xué)習(xí)與卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用

    AI:162-如何使用Python進(jìn)行圖像識(shí)別與處理深度學(xué)習(xí)與卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用

    本文收錄于專欄:精通AI實(shí)戰(zhàn)千例專欄合集 從基礎(chǔ)到實(shí)踐,深入學(xué)習(xí)。無(wú)論你是初學(xué)者還是經(jīng)驗(yàn)豐富的老手,對(duì)于本專欄案例和項(xiàng)目實(shí)踐都有參考學(xué)習(xí)意義。 每一個(gè)案例都附帶關(guān)鍵代碼,詳細(xì)講解供大家學(xué)習(xí),希望可以幫到大家。正在不斷更新中~ 在當(dāng)今數(shù)字化時(shí)代,圖像處

    2024年04月26日
    瀏覽(292)
  • OpenCV實(shí)現(xiàn)單目相機(jī)檢測(cè)物體尺寸

    OpenCV實(shí)現(xiàn)單目相機(jī)檢測(cè)物體尺寸

    目錄 步驟: Canny邊緣檢測(cè)算法介紹: 多邊形逼近 代碼實(shí)現(xiàn): 效果展示: 導(dǎo)入必要的庫(kù): cv2 用于圖像處理, numpy 用于數(shù)組操作。 定義了一個(gè)函數(shù) preprocess ,用于對(duì)圖像進(jìn)行預(yù)處理。首先將圖像轉(zhuǎn)換為灰度圖,然后進(jìn)行高斯模糊來(lái)平滑圖像。接著使用腐蝕操作進(jìn)一步去除噪

    2024年02月07日
    瀏覽(19)
  • 【ONNX】使用 C++ 調(diào)用 ONNX 格式的 PyTorch 深度學(xué)習(xí)模型進(jìn)行預(yù)測(cè)(Windows, C++, PyTorch, ONNX, Visual Studio, OpenCV)

    【ONNX】使用 C++ 調(diào)用 ONNX 格式的 PyTorch 深度學(xué)習(xí)模型進(jìn)行預(yù)測(cè)(Windows, C++, PyTorch, ONNX, Visual Studio, OpenCV)

    要使用 ONNX 模型進(jìn)行預(yù)測(cè),就需要使用 onnx runtime 首先到 ONNX 官網(wǎng)查詢所需的版本 這里使用的 Windows,同時(shí)裝了 CUDA 下面的鏈接可以進(jìn)入到安裝網(wǎng)址 https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu 安裝命令為: 首先打開(kāi) Visual Studio 2019 新建一個(gè)用于測(cè)試的項(xiàng)目 右鍵點(diǎn)擊項(xiàng)目,可

    2024年02月09日
    瀏覽(21)
  • 樹(shù)莓派項(xiàng)目:使用 OpenCV 樹(shù)莓派相機(jī)進(jìn)行面部和眼睛檢測(cè)

    樹(shù)莓派項(xiàng)目:使用 OpenCV 樹(shù)莓派相機(jī)進(jìn)行面部和眼睛檢測(cè)

    該項(xiàng)目涵蓋了在Raspberry Pi 4上安裝OpenCV 的人臉和眼睛檢測(cè)系統(tǒng)。 數(shù)字圖像處理和計(jì)算機(jī)視覺(jué)是科技領(lǐng)域相互交織的領(lǐng)域。圖像處理的核心就是細(xì)化和調(diào)整圖像。結(jié)果通常是另一個(gè)增強(qiáng)的圖像。相比之下,計(jì)算機(jī)視覺(jué)更進(jìn)一步——它不僅僅處理圖像;它還處理圖像。它解釋它。

    2024年02月04日
    瀏覽(22)
  • 13、ffmpeg使用nvidia顯卡對(duì)OAK深度相機(jī)進(jìn)行解碼和編碼

    基本思想:簡(jiǎn)單使用nvidia的硬件解碼進(jìn)行oak相機(jī)的編碼和解碼學(xué)習(xí) 一、在本機(jī)rtx3060配置好顯卡驅(qū)動(dòng)和cuda之后進(jìn)行下面操作50、ubuntu18.0420.04+CUDA11.1+cudnn11.3+TensorRT7.2/8.6+Deepsteam5.1+vulkan環(huán)境搭建和YOLO5部署_ubuntu18.04安裝vulkan_sxj731533730的博客-CSDN博客 二、配置環(huán)境和編譯庫(kù)

    2024年02月16日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包