全球計算機視覺三大頂會之一 CVPR 2019 (IEEE Conference on Computer Visionand Pattern Recognition)將於 6 月 16-20在美國洛杉磯如期而至。屆時,曠視首席科學家、研究院院長孫劍博士將帶領團隊遠赴盛會,助力計算機視覺技術的交流與落地。在此之前,曠視每週會推出一篇 CVPR’19 接收論文解讀文章。本文是第 4 篇解讀,曠視研究院提出一種實時語意分割技術——DFANet,不僅減小了 7 倍計算量,突破實時計算邊界,而且無需雙攝也可實現手機影象的高畫質虛化。
論文名稱:DFANet: Deep Feature Aggregation for Real-Time Semantic Segmentation
論文連結:https://share.weiyun.com/5NgHbWH
-
導語
-
簡介
-
方法
-
高層語意特徵的充分利用
-
聚合讓輕量級編碼器受益
-
-
實驗
-
7 倍輕量依然準確
-
-
結論
-
參考文獻
-
往期解讀
導語
很多手機沒有雙攝像頭,也能實現美輪美煥的背景虛化效果,究其原因,是語意分割技術在發揮作用。目前,已有過億使用者使用搭載有曠視所提供的深度演演算法的個人終端產品,而曠視研究院語意分割技術的最新成果——DFANet,已為全球計算機視覺頂會 CVPR 2019 所收錄。本文的解讀將提前公開產品背後的“秘密”。
簡介
影象的語意分割需要對標簽做逐畫素的預測,例如判斷一個畫素屬於前景/背景,又或是道路/車輛/行人等。隨著移動網際網路、物聯網、5G 等技術的到來和普及,在計算力受限的裝置上進行高解析度的語意分割就成為了一個迫切需求。
然而,當面對高解析度輸入時,深度摺積網路經受著巨大挑戰:網路容量(運算量)和速度之間很難有一個 tradeoff。例如,對於移動端處理器,實際可用的計算能力可能只有數十 GFLOPs,而一但要求跟上影片計算的速度(如 30fps),每一幀分配的計算量就更少得可憐。在如此少計算量的限制下,神經網路的精度的“漲點”之路可謂舉步維艱。
有沒有什麼方法可以在高輸入解析度、小計算量的情況下依然獲得很高的分割精度呢?這正是曠視研究院最新力作 DFANet 的標的所在。
相同精度下,DFANet 可相較先前方法減少 7 倍的計算量,在 1024 畫素寬度的高畫質影象上,最小僅需要 2.1GMAdds 的計算量,開啟了在主流移動端處理器上做高畫質影片級應用的可能性。
▲ 基於DFANet技術的實時人像虛化效果
方法
實時語意分割技術 DFANet 是如何實現的呢?可以說是兩個優點的整合:1)透過深度多層聚合(Deep Feature Aggregation)結構充分利用網路的高層特徵資訊,2)透過 DFA 輕量級特徵聚合結構讓輕量級編碼器大受裨益。
高層特徵的充分利用
▲ 圖1:主流分割網路結構對比
神經網路的摺積操作在各個層級抽取出大量特徵,充分用好這些來之不易的特徵向量是設計輕量級神經網格的圭臬,而不同的部位之間特徵共享是一個重要的手段。DFANet 對主流分割網路做出了這樣一個觀察:網路中往往存在不同輸入解析度的進行特徵提取的並行的“塔”(如圖 1(a)所示);而這些“塔”之間可以共享特徵。
DFANet 的核心結構是如圖 1(d)所示的深度多層聚合,其特點是每一個層提取的特徵會復用於下一級“塔”,同時,前一級“塔”的輸出特徵在上取樣之後送到後一級“塔”。之前的分割網路結構要麼塔之間沒有連線,從而在這裡失去了重用特徵的機會;要麼乾脆沒有多個塔,導致解碼器承受過多壓力。而把一級的輸出送回下一級的設計使得每一級都能站在上一級結果的肩膀上,從而加速了網路的訓練。
綜合以上優勢,DFANet 的特徵提取方式可在小計算量的前提下最充分地促進不同層次特徵之間的互動與聚合,從而提升準確率。
▲ 圖2:深度多層聚合網路示意圖
圖 2 以 1024×1024 的輸入解析度為例展示了 DFANet 的全部結構,它由最多三級特徵提取塔所構成。各個層級的特徵最後彙總到一個解碼器(decoder)輸出逐畫素的結果。實際使用時可按需求定製輸入解析度與塔的級數,從而靈活調節計算量與效果。
聚合讓輕量級編碼器受益
為了適應實時的要求,網路結構中的編碼器(encoder)使用了一個修改後的 Xception 結構。
通常,使用 Xception 等“輕量級”編碼器會導致精度極大下降(如上表所示,把 ResNet-50 換成 Xception 最多可以導致 9% 的 mIou 下降)。緩解該問題有個方法,即透過增加多層次特徵聚合來減輕編碼器容量減小所帶來的衝擊。
不過,一般的特徵聚合方法,如 ASPP,會顯著增加運算量。上表中所舉的例子,ASPP 模組甚至能佔到 70%~80% 左右的總運算量。這在實時應用中無疑成為了最大的瓶頸。
而在 DFANet 中,聚合不再是運算量的“無底洞”。如表中數字所示,DFANet 的輕量級聚合結構在不顯著增加運算的前提下,可以達到類似 ASPP 等的聚合效果。
例如在同樣 1.6GMAdds 的對比中,使用了 DFA 結構後,可以把原來 Xception 結構的效能從 59.2%提升到 71.9%,遠遠超出 ASPP 之後的效果,且計算量更小。這充分說明瞭 DFA 結構是一個能力出色的輕量級特徵聚合結構。
DFA 結構與輕量級編碼器相輔相成,共同實現了演演算法總運算量的降低。可以說,輕量級的聚合結構是通向實時計算的關鍵元件。
實驗
7 倍輕量依然準確
為公平驗證 DFANet 的效果,曠視研究院在學術界最常用的分割測試集 Cityscapes 上做了測試。這個資料集是各種最新分割演演算法的集大成者,尤其是實時分割結果;在其中,輸入圖片被要求分割為道路、車輛等不同區域,而預測區域與實際區域之間的“平均相交比例”(mIou)被作為評測不同演演算法的指標。
▲ 圖3 : DFANet與其他方法效能對比
由上圖可知,相比於先前的 BiSeNet 和 ICNet 等,在相近精度的條件下 DFANet 可以極大地減少運算量。而和 ENet 等小計算量方法相比,DFANet 的精度有巨大提升。
具體而言,在使用邊長 1024 的高畫質測試集上,DFANet可以只使用 3.4GMAdds 的運算量在 Cityscapes testset上達到 71.3% 的 mIou 水平。與它運算量接近的 ENet 只有 57% 的 mIou,而當 mIou 類似時,例如 BiSeNet,之前方法的運算達到 10GMAdds 以上,無法完全滿足終端裝置實時計算的要求。
可以說,在計算量受限的前提下,DFANet 是第一個能在高解析度圖片上達到準確度媲美主流“大模型”的輕量化網路。
▲ 表5:分割測試集Cityscapes testset上的速度分析
對於影象結果的主觀評估也驗證了 DFANet 結構的有效性。如下圖所示,隨著特徵提取塔數的加多,分割結果中錯誤的細節越來越少,直到逼近真實答案。這說明隨著越來越多的特徵被聚合,原來“看不明白”的地方可以被更正確的理解與預測。
▲ 圖4:DFANet在Cityscapes驗證集上的結果
結論
AI 落地之路行之不易,除了完備的訓練系統與工程化之外,更需要在演算法理論上進行突破創新。對於無數需要智慧化進行賦能的終端裝置,以 DFANet 為代表的新一代模型演演算法將找到廣闊的應用,曠視正以非凡科技,朝著驅動百億智慧裝置的願景大步前進。
傳送門
歡迎各位同學加入曠視研究院 AI 攝影組(LLCV),簡歷可投遞給LLCV組負責人範浩強。
郵箱:fhq@megvii.com
參考文獻
[1] B. H. Zhao, X. Qi, X. Shen, J. Shi, and J. Jia. Icnet for real-time semantic segmentation on high-resolution images.ArXiv preprint arXiv:1704.08545, 2017
[2] H. Zhao, J. Shi, X. Qi, X. Wang, andJ. Jia. Pyramid scene parsing network. In IEEE Conf. on Computer Vision and pattern Recognition (CVPR), pages 2881–2890, 2017.
[3] L.-C. Chen, Y. Zhu, G. Papandreou, F.Schroff, and H. Adam. Encoder-decoder with atrous separable convolution for semantic image segmentation. arXiv preprint arXiv:1802.02611, 2018.
[4] H. Li, P. Xiong, J. An, and L. Wang.Pyramid attention network for semantic segmentation. arXiv preprintarXiv:1805.10180, 2018
[5] C. Yu, J. Wang, C. Peng, C. Gao, G.Yu, and N. Sang. Bisenet: Bilateral segmentation network for real-time semantic segmentation. arXiv preprint arXiv:1808.00897, 2018.
[6] F. Chollet. Xception: Deep learning with depthwise separable convolutions. arXiv preprint, pages 1610–02357, 2017.
[7] A. Paszke, A. Chaurasia, S. Kim, andE. Culurciello. Enet: A deep neural network architecture for real-time semantic segmentation. arXiv preprint arXiv:1606.02147, 2016.