說(shuō)起自動(dòng)駕駛技術(shù)的最強(qiáng)王者,語(yǔ)義分割技術(shù)挺直了腰板!
原創(chuàng)【51CTO.com原創(chuàng)稿件】
看了就懂!
什么是語(yǔ)義分割技術(shù)?
近年來(lái),隨著深度學(xué)習(xí)技術(shù)的快速發(fā)展,計(jì)算機(jī)視覺(jué)領(lǐng)域中的許多使用傳統(tǒng)方法難以解決的任務(wù)都取得了巨大的突破。特別是在圖像語(yǔ)義分割領(lǐng)域,深度學(xué)習(xí)技術(shù)的作用表現(xiàn)尤為突出。圖像語(yǔ)義分割作為計(jì)算機(jī)視覺(jué)中一項(xiàng)基礎(chǔ)且具有挑戰(zhàn)性的任務(wù),其目標(biāo)是將對(duì)應(yīng)的語(yǔ)義標(biāo)簽分配給圖像中的每個(gè)像素,其結(jié)果是將給定圖像劃分為若干視覺(jué)上有意義或感興趣的區(qū)域,以利于后續(xù)的圖像分析和視覺(jué)理解。
下圖是在 Cityscapes 數(shù)據(jù)集上的圖像原圖和其對(duì)應(yīng)的 ground truth??梢钥吹?,圖像分割任務(wù)要求對(duì)原圖的每一個(gè)像素進(jìn)行逐像素預(yù)測(cè)其類(lèi)別。由于需要逐像素預(yù)測(cè)該物體所屬類(lèi)別,這對(duì)深度學(xué)習(xí)模型提出了巨大的挑戰(zhàn),比如部分目標(biāo)尺寸較小、難以識(shí)別,部分目標(biāo)大部分被遮擋,導(dǎo)致其辨識(shí)度降低等。
盡管存在著上述各種各樣的困難,語(yǔ)義分割技術(shù)仍因其巨大的不可替代的價(jià)值,成為自動(dòng)駕駛技術(shù)棧中不可或缺的一部分。自動(dòng)駕駛技術(shù)中的許多地方都需要使用到語(yǔ)義分割技術(shù)。比如車(chē)道線識(shí)別中,毫末智行的感知算法工程師們就使用了語(yǔ)義分割技術(shù)來(lái)識(shí)別車(chē)道線的位置和輪廓。如下圖所示,使用語(yǔ)義分割得到的車(chē)道線,相較于其他方法,有更加清晰的邊緣,準(zhǔn)確率和召回率也高很多。
車(chē)道線語(yǔ)義分割的結(jié)果展示
左邊是分割后的結(jié)果,右邊是原圖
紅色的區(qū)域就是分割算法分割出來(lái)的車(chē)道線的位置
三類(lèi)“流量小生”
常見(jiàn)的語(yǔ)義分割網(wǎng)絡(luò)
從 FCN 算法、UNet 算法,到適用于自動(dòng)駕駛?cè)蝿?wù)的 STDC 算法,接下來(lái)為大家詳細(xì)的介紹分割技術(shù)中最熱門(mén)的的三類(lèi)“流量”擔(dān)當(dāng)。
2.1 FCN 算法
(Fully Convolutional Networks for Semantic Segmentation)
2012年,AlexNet 以超越第二名(特征點(diǎn)匹配法+SVM)10個(gè)點(diǎn)的精度宣告深度學(xué)習(xí)時(shí)代的來(lái)臨。隨后人們開(kāi)始嘗試使用類(lèi)似 AlexNet 的方法進(jìn)行圖像語(yǔ)義分割,但是由于 AlexNet 是對(duì)圖像整體進(jìn)行分類(lèi)的,無(wú)法做到像素級(jí)的分類(lèi)。而究竟怎么做到對(duì)圖像中的每一個(gè)像素都進(jìn)行分類(lèi)預(yù)測(cè),在那個(gè)時(shí)候仍然是一個(gè)世界難題。在當(dāng)時(shí),無(wú)數(shù)的科研人員嘗試將圖片分為若干個(gè) Patch 后送入網(wǎng)絡(luò)中學(xué)習(xí),希望網(wǎng)絡(luò)能夠?qū)?Patch 進(jìn)行分類(lèi),但最終效果都不理想。直到2015年,Jonathan Long 發(fā)表了《Fully Convolutional Networks for Semantic Segmentation》。至此,圖像語(yǔ)義分割的天空迎來(lái)了第一縷陽(yáng)光。
FCN 算法的主要流程如下圖所示,主要原理是讓圖片經(jīng)過(guò)不同的卷積層和池化層,從而提取到圖片的特征。每一層卷積就像一個(gè)放大鏡一樣去遍歷圖片的每一個(gè)像素,每遍歷一個(gè)位置,放大鏡就會(huì)輸出對(duì)應(yīng)位置的物體類(lèi)別。舉個(gè)簡(jiǎn)單的例子,用一個(gè)3x3的卷積核和圖片做卷積,就可以簡(jiǎn)單的理解為用一個(gè)放大鏡去遍歷圖片的每一個(gè)位置,放大鏡每次看一個(gè)位置后,就輸出對(duì)應(yīng)位置的類(lèi)別。
FCN 算法是圖像分割技術(shù)中里程碑式的一站,但是正如其他行業(yè)的里程碑一樣,F(xiàn)CN 只是起點(diǎn)。其仍然有一定的缺點(diǎn)。具體包括以下兩點(diǎn):
- FCN 算法的結(jié)果仍然不夠精細(xì);
- FCN 只是逐像素預(yù)測(cè),而沒(méi)有考慮像素間的關(guān)系。
2.2 UNet 算法
(UNet++: A Nested U-Net Architecture for Medical Image Segmentation)
2015 年,在 FCN 的基礎(chǔ)之上,Olaf Ronneberge 等人提出了一種被稱為 U-Net 的 U 型網(wǎng)絡(luò)架構(gòu),該算法在醫(yī)學(xué)圖像分割、遙感分割等分割任務(wù)中獲得了廣泛應(yīng)用。該網(wǎng)絡(luò)的特征在于,編碼器由一系列的卷積和最大匯合層構(gòu)成,解碼端由鏡像對(duì)稱的卷積層和轉(zhuǎn)置卷積序列組成。由于分割網(wǎng)絡(luò)結(jié)構(gòu)中不同的卷積層對(duì)特征的抽象層次不同,為了產(chǎn)生高質(zhì)量的分割結(jié)果,因此 U-Net 結(jié)構(gòu)使用跳層連接將編碼端的特征圖鏡像堆疊到解碼端對(duì)應(yīng)層級(jí),如圖所示。
U-Net 的結(jié)構(gòu)特點(diǎn)為:編碼器能夠提取深層的圖像語(yǔ)義信息,解碼器通過(guò)跳層連接機(jī)制來(lái)連接位置信息豐富的淺層特征圖和語(yǔ)義特征信息豐富的深層特征圖,然后進(jìn)行逐層上采樣。這種逐層上采樣和特征融合的方式有利于將深層的語(yǔ)義信息往淺層傳遞,同時(shí)跳層連接促進(jìn)了網(wǎng)絡(luò)收斂。
U-Net 算法是語(yǔ)義分割技術(shù)中的第二個(gè)里程碑式的算法。后續(xù)的許多算法都是基于 U-Net 算法進(jìn)行改進(jìn)。其優(yōu)點(diǎn)是精度很高,但是其速度較慢,難以滿足自動(dòng)駕駛的要求。
2.3 適用于自動(dòng)駕駛?cè)蝿?wù)的 STDC 算法
(Rethinking BiSeNet For Real-time Semantic Segmentation)
U-Net 算法雖然具有精度高的特點(diǎn),但是其速度并不能滿足自動(dòng)駕駛的要求。為了解決速度不夠的問(wèn)題,STDC 算法應(yīng)運(yùn)而生。
STDC 算法的基本原理如下圖所示。
STDC 算法采用了類(lèi)似 FCN 算法的結(jié)構(gòu),其去掉了 U-Net 算法復(fù)雜的 decoder 結(jié)構(gòu)。但同時(shí)在網(wǎng)絡(luò)下采樣的過(guò)程中,利用 ARM 模塊不斷的去融合來(lái)自不同層的特征圖的信息,因此也避免了 FCN 算法只考慮單個(gè)像素關(guān)系的缺點(diǎn)。可以說(shuō),STDC 算法很好的做到了速度與精度的平衡,其可以滿足自動(dòng)駕駛系統(tǒng)實(shí)時(shí)性的要求。
更接地氣?
語(yǔ)義分割的未來(lái)
雖然語(yǔ)義分割技術(shù)已經(jīng)取得了許多的進(jìn)展,但其距離實(shí)用仍然或多或少存在一定的差距。我們認(rèn)為,語(yǔ)義分割技術(shù)在未來(lái)的發(fā)展趨勢(shì)主要包括以下幾點(diǎn):
- 更加清晰的邊緣分割結(jié)果。目前各大主流語(yǔ)義分割技術(shù)對(duì)邊緣的分割都存在分割不夠清晰的問(wèn)題,這對(duì)實(shí)際應(yīng)用會(huì)造成很大影響。
- 與頻率域相結(jié)合。一個(gè)更加魯棒的表示會(huì)極大提高模型的表現(xiàn),多項(xiàng)研究發(fā)現(xiàn),把圖像從空間域轉(zhuǎn)換到頻率域的表達(dá)會(huì)提高分割模型的表現(xiàn)同時(shí)降低模型的復(fù)雜度。
- 使用 Transformer。Transformer 技術(shù)最近在計(jì)算機(jī)視覺(jué)的各項(xiàng)任務(wù)中一枝獨(dú)秀,在分割領(lǐng)域中更是如此。這主要得益于 transformer 的 self-attention 模塊可以兼顧全局感受野和局部感受野的信息,這對(duì)于分割任務(wù)而言是及其重要的??梢灶A(yù)見(jiàn),Transformer 模型將帶領(lǐng)語(yǔ)義分割領(lǐng)域邁上新的臺(tái)階。
本期的干貨分享就到這里啦。關(guān)于語(yǔ)義分割技術(shù)對(duì)自動(dòng)駕駛技術(shù),大家都“拿捏”了嗎?下期我們會(huì)繼續(xù)為大家?guī)?lái)更厲害的自動(dòng)駕駛知識(shí),卷起來(lái)!
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】







































