根据大小分割大文本_基于深度学习的图像分割在高德地图的实践
一、前言
圖像分割(Image Segmentation)是計(jì)算機(jī)視覺(jué)領(lǐng)域中的一項(xiàng)重要基礎(chǔ)技術(shù),是圖像理解中的重要一環(huán)。圖像分割是將數(shù)字圖像細(xì)分為多個(gè)圖像子區(qū)域的過(guò)程,通過(guò)簡(jiǎn)化或改變圖像的表示形式,讓圖像能夠更加容易被理解。更簡(jiǎn)單地說(shuō),圖像分割就是為數(shù)字圖像中的每一個(gè)像素附加標(biāo)簽,使得具有相同標(biāo)簽的像素具有某種共同的視覺(jué)特性。
圖像分割技術(shù)自 60 年代數(shù)字圖像處理誕生開(kāi)始便有了研究,隨著近年來(lái)深度學(xué)習(xí)研究的逐步深入,圖像分割技術(shù)也隨之有了巨大的發(fā)展。早期的圖像分割算法不能很好地分割一些具有抽象語(yǔ)義的目標(biāo),比如文字、動(dòng)物、行人、車輛。這是因?yàn)樵缙诘膱D像分割算法基于簡(jiǎn)單的像素值或一些低層的特征,如邊緣、紋理等,人工設(shè)計(jì)的一些描述很難準(zhǔn)確描述這些語(yǔ)義,這一經(jīng)典問(wèn)題被稱之為“語(yǔ)義鴻溝”。
得益于深度學(xué)習(xí)能夠“自動(dòng)學(xué)習(xí)特征”的這一特點(diǎn),第三代圖像分割很好地避免了人工設(shè)計(jì)特征帶來(lái)的“語(yǔ)義鴻溝”,從最初只能基于像素值以及低層特征進(jìn)行分割,到現(xiàn)在能夠完成一些根據(jù)高層語(yǔ)義的分割需求。
(圖像分割的發(fā)展歷史)
高德地圖擁有圖像/視頻大數(shù)據(jù),在眾多業(yè)務(wù)場(chǎng)景上都需要理解圖像中的內(nèi)容。例如,在數(shù)據(jù)的自動(dòng)化生產(chǎn)中,通常需要尋找文字、路面、房屋、橋梁、指示牌、路面標(biāo)線等目標(biāo)。這些數(shù)據(jù)里有些是通過(guò)采集車輛或衛(wèi)星拍攝,也有些數(shù)據(jù)則是通過(guò)用戶手機(jī)拍攝,如下圖所示:
面對(duì)這些場(chǎng)景語(yǔ)義復(fù)雜、內(nèi)容差異巨大的圖像,高德是如何通過(guò)圖像分割對(duì)其進(jìn)行理解的?本文介紹了圖像分割在高德地圖從解決一些小問(wèn)題的“手段”,逐步成長(zhǎng)為高度自動(dòng)化數(shù)據(jù)生產(chǎn)線的強(qiáng)大技術(shù)助力。
二、探索期:一些早期的嘗試
在街邊的數(shù)據(jù)采集中,我們需要自動(dòng)化生產(chǎn)出采集到的小區(qū)、店鋪等 POI (Point of Interest)數(shù)據(jù)。我們通過(guò) OCR 算法識(shí)別其中文字,但苦惱于無(wú)法確定采集圖像中到底有幾個(gè) POI。例如,下圖中“領(lǐng)秀麗人”與“燕子童裝”兩家店鋪,人眼可以很容易區(qū)分,但是對(duì)于機(jī)器則不然。一些簡(jiǎn)單的策略,比如背景顏色,容易帶來(lái)很多的錯(cuò)誤。
例如,遇到兩個(gè)樣式十分相近的掛牌的時(shí)候,我們利用無(wú)監(jiān)督的 gPb-owt-ucm 算法 [1] 在檢測(cè)多級(jí)輪廓的基礎(chǔ)上結(jié)合改進(jìn)的分水嶺算法將圖像切分為多個(gè)區(qū)域,并利用 Cascade Boosting 的文字檢測(cè)結(jié)果將圖中帶有文字的區(qū)域進(jìn)行了分割。
三、成長(zhǎng)期:自然場(chǎng)景下的語(yǔ)義分割
于 2014 年底問(wèn)世的全卷積神經(jīng)網(wǎng)絡(luò) [2](FCNs, Fully Convolutional Networks)無(wú)疑是繼 2012 年問(wèn)鼎 ImageNet 大賽以來(lái)深度學(xué)習(xí)發(fā)展的又一里程碑。FCNs 提供了第一個(gè)端到端式的深度學(xué)習(xí)圖像分割解決方案。FCNs 在 CNN 的基礎(chǔ)上可以從任意尺寸的輸入進(jìn)行逐像素的分類。我們也在第一時(shí)間將其落地到高德自身的應(yīng)用場(chǎng)景中,例如文字區(qū)域的分割。自然場(chǎng)景下的文字由于其背景、光照復(fù)雜,文字朝向、字體多樣,使得人工構(gòu)建特征十分困難。
很快地,我們發(fā)現(xiàn) FCNs 還并不能很好地滿足我們的需求。雖然 FCNs 在解決語(yǔ)義鴻溝問(wèn)題上提供了解決方案,但在一般情況下只能給出一個(gè)“粗糙”的區(qū)域分割結(jié)果,不能實(shí)現(xiàn)很好的“實(shí)例分割”,對(duì)于目標(biāo)虛警、目標(biāo)粘連、目標(biāo)多尺度、邊緣精度等問(wèn)題上也沒(méi)有很好地解決。一個(gè)典型的例子就是在分割文字區(qū)域時(shí),“挨得近”的文字區(qū)域特別容易粘在一起,導(dǎo)致在計(jì)算圖像中的文本行數(shù)時(shí)造成計(jì)數(shù)錯(cuò)誤。
因此,我們提出了一個(gè)多任務(wù)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)自己的實(shí)例分割框架。針對(duì)目標(biāo)粘連的問(wèn)題,我們?cè)谠季W(wǎng)絡(luò)中追加了一個(gè)分割任務(wù),其目標(biāo)是分割出每個(gè)文本行的“中軸線”,然后通過(guò)中軸線區(qū)域來(lái)拆分粘連的文本行區(qū)域。拆分的方法則是一個(gè)類似于 Dijkstra 的算法求解每個(gè)文本區(qū)域像素到區(qū)域內(nèi)中軸線的距離,并以最短距離的中軸線作為像素歸屬。
另外一個(gè)比較困擾的問(wèn)題是 FCNs 結(jié)果中的虛警,即非文字區(qū)域被分割為文字區(qū)域。雖然相較于一些傳統(tǒng)方法,FCNs 結(jié)果中的虛警已經(jīng)少了很多,但為了達(dá)到更好的分割正確率,我們?cè)谠芯W(wǎng)絡(luò)基礎(chǔ)上增加了一個(gè)并行的 R-CNN 子網(wǎng)絡(luò)進(jìn)行文字的檢測(cè),并利用這些檢測(cè)結(jié)果抑制虛警的產(chǎn)生(False Alarms Suppression)。
為了通過(guò)端到端的學(xué)習(xí)使得網(wǎng)絡(luò)達(dá)到更好的效果,我們?cè)O(shè)計(jì)了一個(gè)一致性損失函數(shù)(Consistency Loss Function),來(lái)保證網(wǎng)絡(luò)主干下分割子網(wǎng)絡(luò)和檢測(cè)子網(wǎng)絡(luò)能夠相互指導(dǎo)、調(diào)優(yōu)。從優(yōu)化后分割網(wǎng)絡(luò)輸出的能量圖可以看到,虛警的概率明顯降低了。若想要了解詳細(xì)細(xì)節(jié),可以參考我們 17 年公布在 arxiv 上的文章[3]。
四、成熟期:分割的精細(xì)化與實(shí)例化
得益于 Mask R-CNN 框架 [4] 的提出,實(shí)例化的圖像分割變得更加容易。以之前提到的商戶掛牌的分割為例,掛牌區(qū)域的分割也十分容易出現(xiàn)粘連,且掛牌樣式多樣,不存在文本行這樣明顯的“中軸線”。目標(biāo)檢測(cè)方法可以對(duì)提取掛牌的外包矩形。但問(wèn)題在于,自然場(chǎng)景下掛牌的拍攝往往存在非垂直視角,因此在圖像上并不是一個(gè)矩形,通常的檢測(cè)算法則會(huì)帶來(lái)不準(zhǔn)確的邊緣估計(jì)。Mask R-CNN 通過(guò)良好地整合檢測(cè)與分割兩個(gè)分支,實(shí)現(xiàn)了通用的實(shí)例化圖像分割框架。其中目標(biāo)檢測(cè)分支通過(guò) RPN 提取目標(biāo)區(qū)域,并對(duì)其進(jìn)行分類實(shí)現(xiàn)目標(biāo)的實(shí)例化;然后在這些目標(biāo)區(qū)域中進(jìn)行分割,從而提取出精準(zhǔn)的邊緣。
一些更加復(fù)雜的場(chǎng)景理解需求,也對(duì)圖像分割分割精細(xì)程度提出了更高的要求。這主要體現(xiàn)在兩個(gè)方面:(1)邊緣的準(zhǔn)確度(2)不同尺度目標(biāo)的召回能力。
在高精地圖的數(shù)據(jù)數(shù)據(jù)生產(chǎn)需要分割出圖像中的路面,然而高精地圖對(duì)于精度的要求在厘米級(jí),換算到圖像上誤差僅在 1~2 個(gè)像素點(diǎn)。觀察原始分割的結(jié)果不難發(fā)現(xiàn),分割的不準(zhǔn)確位置一般都是出現(xiàn)在區(qū)域邊緣上,區(qū)域內(nèi)部是比較容易學(xué)習(xí)的。
因此,我們?cè)O(shè)計(jì)了一個(gè)特殊的損失函數(shù),人為地增大真值邊緣區(qū)域產(chǎn)生的懲罰性誤差,從而加強(qiáng)對(duì)邊緣的學(xué)習(xí)效果,如圖所示,左側(cè)為可行駛路面區(qū)域分割,右側(cè)是路面及地面標(biāo)線分割。
道路場(chǎng)景下需要理解的目標(biāo)種類繁多,一方面其本身有大有小,另一方面由于拍攝的景深變化,呈現(xiàn)在圖像上的尺度也大小各異。特別的是,有些特殊目標(biāo),例如燈桿、車道線等目標(biāo)是“細(xì)長(zhǎng)”的,在圖像上具有較大長(zhǎng)度,但寬度很小。這些目標(biāo)的特性都使得精細(xì)的圖像分割變得困難。
首先,由于受到網(wǎng)絡(luò)感受野的限制,過(guò)大和過(guò)小的目標(biāo)都不容易準(zhǔn)確分割,比如道路場(chǎng)景下的路面與燈桿,衛(wèi)星影像中的道路與建筑群。針對(duì)該問(wèn)題,目前的 PSPNet [5], DeepLab [6], FPN [7] 等網(wǎng)絡(luò)結(jié)構(gòu)都能在不同程度上解決。
其次,由于目標(biāo)尺度不同,導(dǎo)致分割網(wǎng)絡(luò)樣本數(shù)量的比例極不均衡(每一個(gè)像素可以認(rèn)為是一個(gè)樣本),我們將原先用于目標(biāo)檢測(cè)任務(wù)的 Focal Loss [8] 遷移到圖像分割網(wǎng)絡(luò)中來(lái)。Focal Loss 的特點(diǎn)在于可以讓誤差集中在訓(xùn)練的不好的數(shù)據(jù)上。這一特性使得難以學(xué)習(xí)的小尺度目標(biāo)能夠被更加準(zhǔn)確地分割出來(lái)。
五、未來(lái)的展望
圖像分割技術(shù)目前朝著越來(lái)越精確的方向上發(fā)展,例如 Mask Scoring R-CNN [9]、Hybrid Task Cascade [10] 的提出,在 Mask R-CNN 的基礎(chǔ)上持續(xù)優(yōu)化了其分割的精確程度。然而站在應(yīng)用角度,基于深度學(xué)習(xí)的圖像分割相較于當(dāng)量的分類任務(wù)則顯得“笨重”。
出于圖像分割任務(wù)對(duì)精度的要求,輸入圖像不會(huì)像分類任務(wù)一樣被壓縮至一個(gè)很小的尺寸,帶來(lái)的則是計(jì)算量的指數(shù)級(jí)增加,使得圖像分割任務(wù)的實(shí)時(shí)性較難保證。針對(duì)這個(gè)問(wèn)題,ICNet, Mobile 等網(wǎng)絡(luò)結(jié)構(gòu)通過(guò)快速下采樣減少了卷積初期的計(jì)算量,但也帶來(lái)了效果上的折損。基于知識(shí)蒸餾(Knowledge Distillation)的訓(xùn)練方法,則像個(gè)更好的優(yōu)化方案,通過(guò)大網(wǎng)絡(luò)指導(dǎo)小網(wǎng)絡(luò)學(xué)習(xí),使得小網(wǎng)絡(luò)的訓(xùn)練效果優(yōu)于單獨(dú)訓(xùn)練。知識(shí)蒸餾在訓(xùn)練過(guò)程中規(guī)避了網(wǎng)絡(luò)剪枝所需要的經(jīng)驗(yàn)與技巧,直接使用較低開(kāi)銷的小網(wǎng)絡(luò)完成原先只能大網(wǎng)絡(luò)實(shí)現(xiàn)的復(fù)雜任務(wù)。
對(duì)于高德地圖來(lái)說(shuō),圖像分割已經(jīng)是一個(gè)不可或缺的基礎(chǔ)技術(shù),并在各個(gè)數(shù)據(jù)自動(dòng)化生產(chǎn)線中得到了廣泛應(yīng)用,助力高德地圖的高度自動(dòng)化數(shù)據(jù)生產(chǎn)。未來(lái),我們也將持續(xù)在地圖應(yīng)用場(chǎng)景下打造更加精準(zhǔn)、輕量的圖像分割技術(shù)方案。
六、參考文獻(xiàn)
[1] Arbelaez, Pablo, et al. "Contour detection and hierarchical image segmentation." IEEE transactions on pattern analysis and machine intelligence 33.5 (2010): 898-916.
[2] Long, Jonathan, Evan Shelhamer, and Trevor Darrell. "Fully convolutional networks for semantic segmentation." Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.
[3] Jiang, Fan, Zhihui Hao, and Xinran Liu. "Deep scene text detection with connected component proposals." arXiv preprint arXiv:1708.05133 (2017).
[4] He, Kaiming, et al. "Mask r-cnn." Proceedings of the IEEE international conference on computer vision. 2017.
[5] Zhao, Hengshuang, et al. "Pyramid scene parsing network." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.
[6] Chen, Liang-Chieh, et al. "Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs." IEEE transactions on pattern analysis and machine intelligence 40.4 (2017): 834-848.
[7] Lin, Tsung-Yi, et al. "Feature pyramid networks for object detection." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.
[8] Lin, Tsung-Yi, et al. "Focal loss for dense object detection." Proceedings of the IEEE international conference on computer vision. 2017.
[9] Huang, Zhaojin, et al. "Mask scoring r-cnn." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.
[10] Chen, Kai, et al. "Hybrid task cascade for instance segmentation." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.
?
相關(guān)文章是什么能讓 APP 快速精準(zhǔn)定位到我們的位置?“哪吒頭”—玩轉(zhuǎn)小潮流
總結(jié)
以上是生活随笔為你收集整理的根据大小分割大文本_基于深度学习的图像分割在高德地图的实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python 播放声音_如何用Pytho
- 下一篇: 第一周:深度学习引言(Introduct