iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0
AI/ ML & Data

AI 到底是怎麼換臉的?系列 第 18

2024 Day 17:三維計算機視覺與深度學習

  • 分享至 

  • xImage
  •  

本系列文章部分內容由AI生成,最終皆有經過人工確認及潤稿。

隨著計算機視覺技術的不斷發展,我們對於世界的感知已經從二維平面拓展到了三維空間。 三維計算機視覺(3D Computer Vision) 致力於讓機器理解和重建現實世界的三維結構,這在自動駕駛、機器人導航、虛擬現實(VR)和增強現實(AR)等領域具有重要的應用價值。今天,我們將深入探討三維計算機視覺的核心概念和技術,以及深度學習在其中的應用。


今日學習目標

  • 理解三維計算機視覺的基本概念和挑戰
  • 學習深度估計、立體視覺和結構重建等核心技術
  • 掌握深度學習在三維數據處理中的應用
  • 了解三維計算機視覺的應用和未來發展方向

三維計算機視覺概述

為什麼需要三維視覺

  • 深度信息:二維圖像缺乏深度信息,無法準確描述物體的三維形狀和位置。
  • 真實感和交互性:在 AR/VR 中,需要構建逼真的三維環境,提供沉浸式體驗。
  • 導航和規劃:自動駕駛和機器人需要理解三維環境,以進行路徑規劃和避障。

三維計算機視覺的挑戰

  • 深度感知困難:從二維圖像推斷深度信息具有不確定性。
  • 計算複雜度高:三維數據處理和建模需要大量的計算資源。
  • 資料稀疏性:點雲和深度圖等三維數據通常較為稀疏,不易處理。

深度估計與立體視覺

深度估計概述

深度估計(Depth Estimation) 是從圖像中推斷場景中每個像素的深度信息,即與攝像機的距離。

單目深度估計

  • 定義:使用單張圖像進行深度估計。
  • 挑戰:缺乏視差信息,需要依賴場景的先驗知識。
  • 深度學習方法:使用 CNN 或深度神經網絡,學習圖像與深度之間的映射。
  1. Monodepth
    • 主要思想:利用深度學習進行無監督的單目深度估計。
    • 方法:使用左、右圖像進行視差計算,構建損失函數。

立體視覺

  • 定義:使用兩張或多張具有視差的圖像,計算場景的深度信息。
  • 原理:通過匹配左、右圖像中的像素點,計算視差,進而推導深度。
  1. 視差計算
    • 視差(Disparity):同一場景點在左右圖像中的位置差異。
    • 深度計算公式:https://ithelp.ithome.com.tw/upload/images/20241001/20169508GvYqLNeR4M.png
  • 𝑍:深度
  • 𝑓:相機焦距
  • 𝐵:兩相機間的基線距離
  • 𝑑:視差
  1. 立體匹配算法
  • 傳統方法:
    • SAD(Sum of Absolute Differences)
    • SSD(Sum of Squared Differences)
    • Belief Propagation
  • 深度學習方法:
    • GC-Net:使用三維卷積神經網絡進行立體匹配。
    • PSMNet:引入空間金字塔池化,捕捉多尺度特徵。

結構從運動(SfM)與三維重建

結構從運動(Structure from Motion, SfM)

  • 定義:從多張二維圖像中恢復場景的三維結構和相機運動參數。
  • 步驟:
    • 特徵提取與匹配:使用 SIFT、ORB 等算法提取並匹配關鍵點。
    • 相機姿態估計:使用本質矩陣、單應矩陣計算相機的旋轉和平移。
    • 三維點雲重建:通過三角測量計算三維點的位置。
  • 優化(Bundle Adjustment):最小化重投影誤差,優化相機參數和三維點位置。

多視圖立體(Multi-View Stereo, MVS)

  • 定義:從多張圖像中密集地重建場景的三維模型。
  • 方法:
    • 點雲密集化:增加三維點的密度。
    • 表面重建:將點雲轉換為網格模型,生成連續的三維表面。

深度學習在三維數據處理中的應用

點雲處理

  1. 點雲的特點
  • 無序性:點之間沒有固定的順序。
  • 不規則性:點之間的距離不固定。
  1. PointNet
  • 提出者:Qi 等人在 2017 年提出。
  • 主要思想:直接對原始點雲進行學習,使用對稱函數(如 Max Pooling)處理無序性。
  • 網絡結構:
    • 輸入層:接受𝑁個三維點座標。
    • 特徵提取:使用多層感知機(MLP)提取每個點的特徵。
    • 全局特徵:通過 Max Pooling 獲取全局特徵向量。
    • 分類/分割:使用全連接層進行分類,或對每個點進行標記。
  1. PointNet++
  • 改進點:考慮點之間的局部結構,使用分層的特徵學習。
  • 方法:將點雲劃分為子集,對每個子集進行特徵提取。

三維卷積神經網絡(3D-CNN)

  • 應用:處理體素化的三維數據,如醫學影像、3D 模型。
  • 挑戰:計算量大,需要處理高維度的數據。

深度學習在三維重建中的應用

  • 單目三維重建:使用深度學習從單張圖像中重建三維模型。
  • Learning-based SfM:將深度學習引入 SfM 流程,提升重建精度。

應用案例

自動駕駛中的三維感知

  • 激光雷達與攝像頭融合:結合點雲和圖像信息,實現環境感知。
  • 障礙物檢測與避障:利用三維信息準確識別並定位障礙物。

虛擬現實(VR)與增強現實(AR)

  • 場景重建:構建虛擬環境,提高沉浸感。
  • 物體跟蹤與定位:在現實環境中疊加虛擬物體,需要精確的三維定位。

機器人導航與 SLAM

  • 同時定位與地圖構建(SLAM):機器人在未知環境中定位自身並構建地圖。
  • 應用:無人機、自主機器人、掃地機器人。

未來發展與挑戰

資料融合

  • 多模態融合:結合圖像、點雲、深度圖等多種數據,提高感知能力。
  • 時空信息融合:利用視頻序列中的時間信息,提升三維重建的效果。

高效計算

  • 模型壓縮與加速:針對三維數據處理的高計算需求,研究高效的模型和算法。
  • 硬件支持:開發專用的計算硬件,如 GPU、FPGA、ASIC。

應用拓展

  • 醫學影像分析:提升三維醫學圖像的分析與診斷能力。
  • 文化遺產保護:利用三維重建技術,數字化保存歷史建築和文物。

本日總結

今天我們深入學習了三維計算機視覺的核心概念和技術。從深度估計、立體視覺到結構從運動(SfM)和三維重建,我們了解了如何從二維圖像中恢復世界的三維結構。我們還探討了深度學習在三維數據處理中的應用,如 PointNet 等模型。三維計算機視覺在自動駕駛、機器人、AR/VR 等領域具有廣泛的應用前景,未來的發展將更加令人期待。
那我們就明天見了~掰掰~~


上一篇
2024 Day 16:實例分割技術與應用
下一篇
2024 Day 18:視頻分析與動作識別
系列文
AI 到底是怎麼換臉的?31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言