0
本文作者: AI研習(xí)社-譯站 | 2018-08-15 17:11 |
雷鋒網(wǎng)按:本文為AI研習(xí)社編譯的技術(shù)博客,原標(biāo)題 Road scene understanding using Deep Learning,作者為 Bogdan Djukic。
翻譯 | 王祎 校對 | 陶玉龍 整理 |余杭
將語義分割的最終輸出應(yīng)用到道路識別場景中
場景理解
語義分割是深度學(xué)習(xí)的方法之一,通過語義分割,我們可以對圖片中的每一個像素賦予含義,即將像素劃分到一個預(yù)先設(shè)定的類中。從上邊的 GIF 圖可以看出,我們在語義切分的過程中將像素分為兩類(分別是道路和非道路),其中我們將識別為道路的部分標(biāo)上了顏色。
通過語義分割的方法,我們可以根據(jù)特定的需求來將場景進(jìn)行切分。通過這一點,汽車可以識別出當(dāng)前場景下哪一塊是可行駛區(qū)域,這一點對無人駕駛汽車來說尤為重要。
工作原理
語義分割的方法之一就是使用全卷積網(wǎng)絡(luò)(FCN),一篇來自于伯克利大學(xué)的論文很好地闡釋了其原理和架構(gòu)。我們接下來的實現(xiàn)就會基于這篇論文來展開。
傳統(tǒng)的卷積網(wǎng)絡(luò)是由卷積層和幾個全連接層組合而成的。這類架構(gòu)對于分類問題來說很有用(諸如:這是一條路嗎?),但是對于需要在圖片中定位道路這種問題(諸如:路在哪里?),我們就需要一個新的網(wǎng)絡(luò)來維護(hù)這些特殊信息。這就是 FCN 產(chǎn)生的由來,也向人們傳達(dá)了語義分割最先進(jìn)的成果。
如何構(gòu)建FCN
要構(gòu)建 FCN,有以下三個要點:
將全連接層都替換為1x1卷積層
通過顛倒卷積層的順序引入上采樣
添加跳躍連接
接下來讓我們詳細(xì)地看看應(yīng)該如何實現(xiàn)上述步驟。
我們的FCN架構(gòu)包含兩個部分:編碼器和解碼器
FCN 架構(gòu)
對于編碼器的構(gòu)建,我們利用已在 ImageNet 數(shù)據(jù)集上預(yù)訓(xùn)練的 VGG16 模型進(jìn)行編碼,我們將 VGG16 模型上的全連接層全部用卷積來替代。編碼器將圖片中的特征抽取出來,并且把它應(yīng)用在解碼器中。
構(gòu)建完編碼器后,下一步就是構(gòu)建解碼器,解碼器是通過轉(zhuǎn)置卷積層,對編碼器末層進(jìn)行上采樣來實現(xiàn)的。卷積轉(zhuǎn)置本質(zhì)上來說就是反向卷積
FCN架構(gòu)是由預(yù)訓(xùn)練模型、全連接層替換和卷積轉(zhuǎn)置構(gòu)成的架構(gòu)
在最后,我們會在某些特定的層之間添加跳躍層,其中這些特定層需要能夠允許網(wǎng)絡(luò)使用不同的像素大小。跳躍層在降低信息流失的同時也保證了網(wǎng)絡(luò)可以很好地縱觀整個圖片。由于傳統(tǒng)的卷積網(wǎng)絡(luò)往往會聚焦于圖片中的某一部分,因此添加跳躍層能夠很好地提升切分效果。
FCN 中的跳躍連接
......
想要繼續(xù)閱讀,請移步至我們的AI研習(xí)社社區(qū):https://club.leiphone.com/page/TextTranslation/773
更多精彩內(nèi)容盡在 AI 研習(xí)社。
不同領(lǐng)域包括計算機(jī)視覺,語音語義,區(qū)塊鏈,自動駕駛,數(shù)據(jù)挖掘,智能控制,編程語言等每日更新。
雷鋒網(wǎng)雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。