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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度學(xué)習(xí)在3D計(jì)算機(jī)視覺當(dāng)中的應(yīng)用

新機(jī)器視覺 ? 來(lái)源:博客園 ? 作者:Mike ? 2020-08-28 10:56 ? 次閱讀

一.導(dǎo)論

目前深度學(xué)習(xí)已經(jīng)在2D計(jì)算機(jī)視覺領(lǐng)域取得了非凡的成果,比如使用一張圖像進(jìn)行目標(biāo)檢測(cè),語(yǔ)義分割,對(duì)視頻當(dāng)中的物體進(jìn)行目標(biāo)跟蹤等任務(wù)都有非常不錯(cuò)的效果。傳統(tǒng)的3D計(jì)算機(jī)視覺則是基于純立體幾何來(lái)實(shí)現(xiàn)的,而目前我們使用深度學(xué)習(xí)在3D計(jì)算機(jī)視覺當(dāng)中也可以得到一些不錯(cuò)的效果,目前甚至有超越傳統(tǒng)依靠立體幾何識(shí)別準(zhǔn)確率的趨勢(shì)。因此咱們現(xiàn)在來(lái)介紹一下深度學(xué)習(xí)在3D計(jì)算機(jī)視覺當(dāng)中的應(yīng)用吧!本博文參考了前幾天斯坦福大學(xué)最新出的CS231n課程(2020/8/11新出),新課增加了3D計(jì)算機(jī)視覺和視頻/動(dòng)作分類的lecture,同時(shí)豐富了生成對(duì)抗網(wǎng)絡(luò)(GAN)的內(nèi)容,但暫時(shí)國(guó)內(nèi)還無(wú)人翻譯,因此小編將其翻譯整理成博文的形式供大家參考,如有錯(cuò)誤之處,請(qǐng)大家見諒,同時(shí)歡迎大家討論。

二.3D計(jì)算機(jī)視覺訓(xùn)練集以及表示方法

在3D計(jì)算機(jī)視覺當(dāng)中,我們可以采用于訓(xùn)練的模型共有以上幾種,分別是:

1.Depth Map(深度圖)

2.Voxel Grid(翻譯過來(lái)很奇怪,因此就保留原英語(yǔ))

3.Implicit Surface(隱表面)

4.PointCloud(三維點(diǎn)云)

5.Mesh

那么什么是Depth Map(深度圖)呢?咱們來(lái)看看

三.Depth Map(深度圖)

深度圖的圖像如下所示:

在左上角有一張關(guān)于斯坦福大學(xué)寢室的圖片,我們可以將其轉(zhuǎn)化為右上角的深度圖,其中深度圖當(dāng)中不同的顏色表示了不同物體距離攝像頭的距離,距離攝像頭的距離越大,則顯示出來(lái)的顏色則越紅。我們假設(shè)有一個(gè)神經(jīng)網(wǎng)絡(luò),我們只需要輸入一張圖片,就可以得到圖片當(dāng)中的所有位置距離攝像頭的距離,這樣是不是很酷呢?那么我們?nèi)绾问褂蒙窠?jīng)網(wǎng)絡(luò)對(duì)一系列的圖片訓(xùn)練成為深度圖的形式呢?一些研究人員便立馬想到可以使用全卷積神經(jīng)網(wǎng)絡(luò)(Fully convolutional Network)來(lái)實(shí)現(xiàn)這個(gè)過程,全卷積神經(jīng)網(wǎng)絡(luò)(Fully convolutional Network)是我們之前在2D計(jì)算機(jī)視覺當(dāng)中所采用的用于圖像分割的神經(jīng)網(wǎng)絡(luò),之前圖像分割得到的是每一個(gè)像素點(diǎn)顯示的是屬于某一個(gè)物體類別的概率值,而現(xiàn)在我們把同樣的神經(jīng)網(wǎng)絡(luò)用于深度圖當(dāng)中就可以得到圖像當(dāng)中某一個(gè)像素距離攝像頭的遠(yuǎn)近大小。這樣就可以完美得到咱們的深度圖訓(xùn)練模型了,我們甚至可以把這個(gè)全卷積神經(jīng)網(wǎng)絡(luò)替換成U-net以期在一些特定數(shù)據(jù)集上得到更好的效果。模型如下所示:

這個(gè)模型首先也是輸出一個(gè)3通道的彩色圖片,經(jīng)過一個(gè)全卷積神經(jīng)網(wǎng)絡(luò)(FCN)然后對(duì)深度圖進(jìn)行估計(jì),輸出的深度圖僅僅具有兩個(gè)維度,因?yàn)榈谌齻€(gè)維度為1,意味著我們輸出的深度圖實(shí)際上是黑白的,用黑色或者白色的深度來(lái)表示距離攝像頭的距離,圖像當(dāng)中使用了彩色僅僅是因?yàn)榭雌饋?lái)更加方便。同時(shí)這里的loss使用了L2距離進(jìn)行損失函數(shù)的編寫。

但是!?。。〖?xì)心的同學(xué)肯定會(huì)發(fā)現(xiàn)其中有一定的問題,那就是同一個(gè)物體,擁有不同的大小,他們?nèi)绻麅H僅通過一張圖片來(lái)判定他們離攝像頭的距離是不一定準(zhǔn)確的。因?yàn)閳D片當(dāng)中并沒有包含物體有關(guān)深度的信息。

比如我們有兩只形狀完全相同的鳥,但是其中一只鳥是另一只鳥大小的2倍,我們把小鳥放到離攝像頭更近的位置,將大鳥放到離攝像頭更遠(yuǎn)的位置,那么僅僅通過一張圖片我們就會(huì)認(rèn)為這兩只鳥離我們的攝像頭距離是一樣大的!如下圖所示:

那么這樣我們又該如何解決呢?聰明的研究人員設(shè)計(jì)了一個(gè)具有尺寸不變特征的的loss function來(lái)解決了這個(gè)問題,這個(gè)loss function的寫法如下:

至于這個(gè)公式為什么會(huì)讓圖片的深度信息得以保留,這里不再贅述,感興趣的同學(xué)可以翻看一下提出這個(gè)loss的論文,在2016年的世界頂級(jí)人工智能會(huì)議論文NIPS上發(fā)表,于紐約大學(xué)(New York University)提出,論文的鏈接如下:https://papers.nips.cc/paper/5539-depth-map-prediction-from-a-single-image-using-a-multi-scale-deep-network.pdf

同時(shí)呢,在深度圖當(dāng)中還有一種圖叫做垂直表面法向量圖,它的圖像如下所示:

最后輸出圖像當(dāng)中的不同顏色代表了這個(gè)物體的表面所朝空間當(dāng)中的方向,比如綠色代表這個(gè)物體的表面是朝向右邊的,而紅色則代表這個(gè)物體的表面是朝向左邊的。我們也可以使用全卷積神經(jīng)網(wǎng)絡(luò)(Fully convolutional Network)對(duì)這種輸出的圖像進(jìn)行處理,其中的結(jié)構(gòu)如下所示:

最后的Loss采用了(x*y)/(|x|*|y||)的方法,因?yàn)槲覀兯A(yù)測(cè)的圖像具備圖像的方向和深度的信息,而圖像的方向和大小正好可以由向量表示,豈不美哉?每一個(gè)訓(xùn)練集當(dāng)中的圖片的其中一個(gè)像素點(diǎn)都可以由一個(gè)向量來(lái)表示,同時(shí)具備深度(長(zhǎng)度)和方向的信息。而原圖當(dāng)中某個(gè)像素點(diǎn)的大小可以表示為向量x,通過神經(jīng)網(wǎng)絡(luò)推測(cè)之后的同一個(gè)像素點(diǎn)則可以表示為向量y,因此我們可以使用公式(x*y)/(|x|*|y||)來(lái)衡量這兩個(gè)向量之間的差距,其中(x*y)中的乘法使用了點(diǎn)乘,因此上下相除可得cos(theta)也就是圖片當(dāng)中某個(gè)像素點(diǎn)所具備的loss的大小,將整個(gè)圖片當(dāng)中所有像素點(diǎn)的大小加起來(lái)則可以得到整個(gè)圖像當(dāng)中l(wèi)oss的大小了。

四.Voxel Grid網(wǎng)格表示法

如上圖所示,我們可以將一張二維的圖片轉(zhuǎn)為一張三維的Voxel grid圖,什么是Voxel grid圖呢?Voxel grid圖就是在一個(gè)三維的,大小為V*V*V的空間立體當(dāng)中,由一系列1*1*1正方體網(wǎng)格堆砌出來(lái)的三維立體圖形,Voxel grid圖當(dāng)中的每一個(gè)網(wǎng)格只具有兩個(gè)值,1或者0,1表示這個(gè)地方有正方體,0表示這個(gè)地方?jīng)]有正方體。一個(gè)Mesh圖當(dāng)中只保留物體的形狀和大小信息,而不保留物體的顏色以及紋理的信息。

我們先來(lái)看一個(gè)有趣的問題,用什么方法可以對(duì)三維Voxel grid圖進(jìn)行分類呢?我們暫時(shí)不考慮將二維圖像恢復(fù)到三維Voxel grid圖的情況的話,常見的手段是使用立體3D卷積,如下圖所示:

3D立體卷積和我們的2D卷積有一點(diǎn)不同之處,那就是卷積核的神奇之處是它竟然是一個(gè)正立方體!而不是一個(gè)二維的平面!在上圖當(dāng)中,我們的輸入是一個(gè)四通道的1*30*30*30的Voxel grid圖,輸入的圖像可能是一個(gè)椅子,也可能是一個(gè)床。我們通過三維卷積,不斷地進(jìn)行卷積以及池化的操作,接著使用全連接神經(jīng)網(wǎng)絡(luò)將其展開,最后使用softmax函數(shù)將其繼續(xù)擰分類。我們使用3D卷積能夠?qū)αⅢw圖像的特征進(jìn)行更為有效的檢測(cè),因?yàn)橐粋€(gè)立體的圖像不僅僅有長(zhǎng)和寬上面的信息,還有其有關(guān)深度的相關(guān)信息,因此需要采用3D卷積。3D卷積的動(dòng)態(tài)圖如下所示,這個(gè)例題動(dòng)態(tài)圖當(dāng)中卷積核的大小為3*3*3:

再回到我們剛才的問題,如何將一個(gè)二維的圖像轉(zhuǎn)化為Voxel grid圖呢,我們可以采用的卷積神經(jīng)網(wǎng)絡(luò)如下所示:

首先我們將二維的圖像首先送入到一個(gè)2D卷積神經(jīng)網(wǎng)絡(luò)當(dāng)中,用于提取這個(gè)二維圖像的特征,然后通過全連接神經(jīng)網(wǎng)絡(luò)或者Flatten層將其展平一個(gè)一維的向量,這樣就可以更加方便地轉(zhuǎn)化reshape為四通道進(jìn)行三維卷積的形式,前面我們已經(jīng)說過三維卷積能夠更好地抽象地還原和提取到圖像在三維空間上的個(gè)特征,因此我們對(duì)剛才二維圖像抽象出來(lái)的特征通過三維卷積進(jìn)行還原,這是一個(gè)通過三維卷積進(jìn)行上采樣的過程。最后輸出的結(jié)果就可以得到我們的Voxels grid圖啦!

但是使用三維卷積常常就會(huì)用更為昂貴的代價(jià)來(lái)?yè)Q取更為準(zhǔn)確的結(jié)果,因?yàn)槿S卷積使用的參數(shù)過多,如下圖所示:

我們僅僅儲(chǔ)存1024^3個(gè)Voxels grid網(wǎng)格就需要電腦4GB的顯存,實(shí)在是太大了!好多電腦的顯存還沒有這么大呢!因此有些研究人員則直接使用二維卷積對(duì)圖像進(jìn)行三維的還原,當(dāng)然效果肯定沒這么好啦,如下圖所示:

這個(gè)思想就很和我們的自編碼器(Auto-Encoders)很像了。

五.采用隱函數(shù)

我們還可以采用物體在三維空間當(dāng)中的函數(shù)圖像來(lái)表示一個(gè)立體物體,我們?cè)儆蒙窠?jīng)網(wǎng)絡(luò)來(lái)重新擬合出這個(gè)函數(shù)就好啦,個(gè)人覺得在這種方法不太合理,如下所示:

六.采用3D點(diǎn)云

采用3D點(diǎn)云應(yīng)該是目前比較靠譜的方案,

在3D點(diǎn)云當(dāng)中每一個(gè)點(diǎn),都有三個(gè)參數(shù),分別是每個(gè)點(diǎn)在x,y,z軸上的位置,對(duì)3D點(diǎn)云進(jìn)行分類的話和對(duì)Mesh分類的方法差不多,也是經(jīng)過一定的神經(jīng)網(wǎng)絡(luò)再經(jīng)過softmax函數(shù)就可以得到最后的分類了!如下圖所示:

這就是今天小編給大家分享的全部?jī)?nèi)容啦!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)視覺
    +關(guān)注

    關(guān)注

    8

    文章

    1689

    瀏覽量

    45875
  • 3D視覺
    +關(guān)注

    關(guān)注

    4

    文章

    425

    瀏覽量

    27457
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5437

    瀏覽量

    120794

原文標(biāo)題:一文入門當(dāng)今最火的3D視覺

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    機(jī)器視覺計(jì)算機(jī)視覺有什么區(qū)別

    機(jī)器視覺計(jì)算機(jī)視覺是兩個(gè)密切相關(guān)但又有所區(qū)別的概念。 一、定義 機(jī)器視覺 機(jī)器視覺,又稱為計(jì)算機(jī)
    的頭像 發(fā)表于 07-16 10:23 ?368次閱讀

    計(jì)算機(jī)視覺的五大技術(shù)

    計(jì)算機(jī)視覺作為深度學(xué)習(xí)領(lǐng)域最熱門的研究方向之一,其技術(shù)涵蓋了多個(gè)方面,為人工智能的發(fā)展開拓了廣闊的道路。以下是對(duì)計(jì)算機(jī)
    的頭像 發(fā)表于 07-10 18:26 ?1034次閱讀

    計(jì)算機(jī)視覺與人工智能的關(guān)系是什么

    引言 計(jì)算機(jī)視覺是一門研究如何使計(jì)算機(jī)能夠理解和解釋視覺信息的學(xué)科。它涉及到圖像處理、模式識(shí)別、機(jī)器學(xué)習(xí)等多個(gè)領(lǐng)域的知識(shí)。人工智能則是研究如
    的頭像 發(fā)表于 07-09 09:25 ?417次閱讀

    計(jì)算機(jī)視覺與智能感知是干嘛的

    引言 計(jì)算機(jī)視覺(Computer Vision)是一門研究如何使計(jì)算機(jī)能夠理解和解釋視覺信息的學(xué)科。它涉及到圖像處理、模式識(shí)別、機(jī)器學(xué)習(xí)
    的頭像 發(fā)表于 07-09 09:23 ?547次閱讀

    計(jì)算機(jī)視覺和機(jī)器視覺區(qū)別在哪

    計(jì)算機(jī)視覺和機(jī)器視覺是兩個(gè)密切相關(guān)但又有明顯區(qū)別的領(lǐng)域。 一、定義 計(jì)算機(jī)視覺 計(jì)算機(jī)
    的頭像 發(fā)表于 07-09 09:22 ?343次閱讀

    計(jì)算機(jī)視覺人工智能領(lǐng)域有哪些主要應(yīng)用?

    與分類是計(jì)算機(jī)視覺的基礎(chǔ)應(yīng)用之一。通過訓(xùn)練機(jī)器學(xué)習(xí)模型,計(jì)算機(jī)可以識(shí)別和分類各種圖像,如動(dòng)物、植物、物體等。這種技術(shù)許多領(lǐng)域都有應(yīng)用,如搜
    的頭像 發(fā)表于 07-09 09:14 ?881次閱讀

    計(jì)算機(jī)視覺屬于人工智能嗎

    屬于,計(jì)算機(jī)視覺是人工智能領(lǐng)域的一個(gè)重要分支。 引言 計(jì)算機(jī)視覺是一門研究如何使計(jì)算機(jī)具有視覺
    的頭像 發(fā)表于 07-09 09:11 ?896次閱讀

    深度學(xué)習(xí)計(jì)算機(jī)視覺領(lǐng)域的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,深度學(xué)習(xí)作為其中的核心技術(shù)之一,已經(jīng)計(jì)算機(jī)視覺領(lǐng)域取得了顯著的成果。計(jì)算機(jī)
    的頭像 發(fā)表于 07-01 11:38 ?537次閱讀

    計(jì)算機(jī)視覺的主要研究方向

    計(jì)算機(jī)視覺(Computer Vision, CV)作為人工智能領(lǐng)域的一個(gè)重要分支,致力于使計(jì)算機(jī)能夠像人眼一樣理解和解釋圖像和視頻中的信息。隨著深度
    的頭像 發(fā)表于 06-06 17:17 ?660次閱讀

    計(jì)算機(jī)視覺的十大算法

    隨著科技的不斷發(fā)展,計(jì)算機(jī)視覺領(lǐng)域也取得了長(zhǎng)足的進(jìn)步。本文將介紹計(jì)算機(jī)視覺領(lǐng)域的十大算法,包括它們的基本原理、應(yīng)用場(chǎng)景和優(yōu)缺點(diǎn)。這些算法
    的頭像 發(fā)表于 02-19 13:26 ?1131次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>的十大算法

    一文了解3D視覺和2D視覺的區(qū)別

    ,3D視覺與2D視覺最明顯的區(qū)別在于立體感。2D視覺只有兩個(gè)維度,即寬度和高度;而
    的頭像 發(fā)表于 12-25 11:15 ?2603次閱讀

    計(jì)算機(jī)視覺中的立體視覺深度感知Python示例實(shí)現(xiàn)

    人工智能和圖像處理的迷人世界中,這些概念在使機(jī)器能夠像我們的眼睛一樣感知我們周圍的三維世界中起著關(guān)鍵作用。和我們一起探索立體視覺深度感知背后的技術(shù),揭示計(jì)算機(jī)如何從二維圖像中獲得
    的頭像 發(fā)表于 11-21 10:50 ?542次閱讀

    什么是計(jì)算機(jī)視覺計(jì)算機(jī)視覺的三種方法

    計(jì)算機(jī)視覺是指通過為計(jì)算機(jī)賦予人類視覺這一技術(shù)目標(biāo),從而賦能裝配線檢查到駕駛輔助和機(jī)器人等應(yīng)用。計(jì)算機(jī)缺乏像人類一樣憑直覺產(chǎn)生
    的頭像 發(fā)表于 11-16 16:38 ?4299次閱讀
    什么是<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>?<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>的三種方法

    基于深度學(xué)習(xí)3D點(diǎn)云實(shí)例分割方法

    3D實(shí)例分割(3DIS)是3D領(lǐng)域深度學(xué)習(xí)的核心問題。給定由點(diǎn)云表示的 3D 場(chǎng)景,我們尋求為每
    發(fā)表于 11-13 10:34 ?1933次閱讀
    基于<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>的<b class='flag-5'>3D</b>點(diǎn)云實(shí)例分割方法

    用于計(jì)算機(jī)視覺的經(jīng)典機(jī)器學(xué)習(xí)應(yīng)用分析

    深度學(xué)習(xí)是指在大部分未處理或“原始”數(shù)據(jù)上運(yùn)行的非常大的神經(jīng)網(wǎng)絡(luò)模型。深度學(xué)習(xí)通過將特征提取操作拉入模型本身,對(duì)計(jì)算機(jī)
    發(fā)表于 11-07 10:11 ?374次閱讀
    用于<b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>視覺</b>的經(jīng)典機(jī)器<b class='flag-5'>學(xué)習(xí)</b>應(yīng)用分析