摘要:隨著智能手機的廣泛應用,手機照片的人像摳圖、人臉美顏、人物特效等應用均依賴照片分割技術。應用基于人工智能的深度學習技術,可以對手機照片進行快速、精確分割。由于智能手機算力 有限,文章設計了一種輕量級的深度學習模型,將手機照片進行區(qū)域劃分,并標注區(qū)域屬性,提取區(qū)域輪廓,可實現(xiàn)快速的人體分割、物體分割、場景分割等功能。同時,在智能手機平臺進行照片分割實驗,實驗結果驗證了該方法可行。
關鍵詞:深度學習;分割技術;卷積網(wǎng)絡;智能手機
中圖法分類號:TP391? 文獻標識碼:A
Mobile phone photo segmentation based on deep learning
SUN Yu
(Qualcomm Enterprise Management (Shanghai) Co.? Ltd.? Shanghai 200000? China)
Abstract: With the widespread use of smartphones, applications such as portrait matting, face beautification, and character special effects of mobile phone photos all rely on photo segmentation technology. The application of deep learning technology based on artificial intelligence can quickly and accurately segment mobile phone photos. Due to the limited computing power of smartphones, this paper designs a lightweight deep learning model that divides mobile phone photos into regions, annotates regional attributes,and extracts regional contours,which can achieve fast human body segmentation, object segmentation, scene segmentation and other functions. At the same time,the photo segmentation experiment is carried out on the smartphone platform, and the experimental results verify the feasibility of the method.
Key words: deep learning, image segmentation
1引言
智能手機因具備強勁的運算處理能力,其在日常生活中的應用逐漸廣泛。近年來,隨著智能手機的圖像處理引擎(GPU)日益強大,深度學習技術逐漸應用于智能手機平臺,進而使手機照片的人像摳圖、人臉美顏、特效疊加、虛擬背景等功能成為標配。以上應用均依賴圖像分割技術的照片區(qū)域劃分功能,包括人體輪廓、場景邊界、及物體邊沿等。然而,目前針對手機照片的圖像分割技術普遍存在人體邊沿輪廓粗糙等問題,分割精度有待高,導致應用效果大打折扣,降低了用戶體驗。國內(nèi)已有不少圖像分割的相關研究,但多數(shù)限于AI開放平臺和深度學習主機。相較之下,智能手機的算力有限,相關圖像分割方法很難移植到智能手機平臺,難以實現(xiàn)實時、快速分割圖像的目標。在智能手機應用中,運算速度和運算精度始終是一對矛盾。
本文致力于突破智能手機運算速度和運算精度的瓶頸,設計了一種高效、輕量級的深度學習網(wǎng)絡,建立了基于手機照片進行圖像分割的模型,可以將手機照片進行快速、精確分割,有利于提高手機照片的應用效率,增強了用戶體驗。實驗結果表明,本文設計的手機照片分割方法,在保持較高的分割精度前提下,極大提高了其在智能手機上的運算速度。
2圖像分割算法
2.1深度學習框架
深度學習最早由Hinton等人于2006年提出,是基于機器學習和神經(jīng)網(wǎng)絡發(fā)展而來,擁有更深層的特征學習和任務感知結構。深度學習通過學習樣本數(shù)據(jù)的內(nèi)在規(guī)律和表示層次,并提取數(shù)據(jù)的不同維度的特征,從而使模型的感知能力逼近人工感知的精度,讓模型能夠像人一樣具有分析和學習能力。常見的深度學習模塊可分為卷積神經(jīng)網(wǎng)絡(CNN)、循環(huán)神經(jīng)網(wǎng)絡(RNN)、注意力機制(Attention),以及Google團隊在2017年提出的Transformer模塊等。
卷積神經(jīng)網(wǎng)絡(CNN)由普通神經(jīng)網(wǎng)絡進化而來,包含一個由卷積層、子采樣層(池化層)和全連接層構成的特征抽取器[1]。其中,卷積層通過不同權值的卷積核,提取由不同通道排列而成的神經(jīng)元,從而生成具備強大表達能力的特征圖。同時,通過池化層降低特征的維度,使特征具備更高級的表達能力。此外,全連接層將特征轉化為任務輸出,包括分類任務(圖像分類)和回歸任務(圖像分割)。得益于其強大的特征表達能力和任務學習能力,CNN廣泛應用于各種場景。本文將CNN應用于圖像分割任務,并為智能手機設計了一套精確、快速的圖像分割算法。
2.2圖像分割算法
在深度學習技術中,圖像分割算法的目的是清晰、精確地切割出物體的輪廓。目前,經(jīng)典的圖像分割深度神經(jīng)網(wǎng)絡結構UNet等已經(jīng)取得了不錯的分割效果。而Mask-RCNN則能夠在一個模型中同時實現(xiàn)分割和物體分類,進一步提升了分割效果[2]。然而,目前還有幾個問題對圖像分割領域造成困擾:(1)輪廓精度有待提高,包括邊緣缺失及邊緣泄露至背景等問題;(2)部分應用(如人物摳圖)要求圖像分割算法能夠精確勾勒出人物的毛發(fā)輪廓;(3)運算速度瓶頸,包括在開放AI平臺(如Pytorch)的深度學習主機(搭載先進的Nvidia2080TiGPU)上,也很難做到快速、實時分割;(3)運行速度慢的問題在智能手機上尤其明顯。目前,國內(nèi)已有不少團隊致力于突破“精度-速度”這一對矛盾的瓶頸,但效果有限。本文將經(jīng)典的UNet網(wǎng)絡進行了輕量化設計,并應用于智能手機的照片分割中,在保持高精確度的同時,大幅度提高了運行速度。
3手機照片分割算法
3.1算法流程
手機照片的分割算法為UNet,輸入的手機照片經(jīng)過UNet網(wǎng)絡進行特征提取和分割輪廓計算,最終輸出分割后的圖片[3]。UNet擁有一個對稱的結構,左半邊是編碼器,右半邊是解碼器。圖像先經(jīng)過編碼處理,再經(jīng)過解碼處理,最終實現(xiàn)圖像分割。它們的作用如下:編碼器—使模型理解圖像的內(nèi)容,但是丟棄了圖像的位置信息;解碼器—使模型結合編碼器對圖像內(nèi)容進行理解,恢復圖像的位置信息,同時保留了圖像內(nèi)容信息。
圖片經(jīng)過編解碼器之后,得到包含圖像位置和內(nèi)容信息的特征圖,再經(jīng)過回歸網(wǎng)絡,輸出圖片分割結果。分割后的圖像將人像和背景清晰地分離開,并且精確勾勒出了人像輪廓[4]。
除了編解碼器之外,UNet還具備以下幾方面特性:(1)通過卷積和下采樣池化層,提取不同分辨率的特征圖,從而保留不同圖像尺寸下的特征,如小尺寸特征圖可保留人體在圖中的位置信息,排除其他細節(jié)的干擾。而大尺寸特征圖可保留人體輪廓的細節(jié),如毛發(fā)和五官等;(2)編解碼器之間拷貝多個不同尺寸的特征圖,從而共享各自模塊的優(yōu)勢;(3)通過1×1的卷積核,實現(xiàn)更深度的卷積操作。
3.2UNet網(wǎng)絡的優(yōu)化和加速
目前,UNet結構存在如下問題:采用3×3卷積模塊,雖然特征提取精度較高,但計算速度緩慢,這是圖像分割存在速度瓶頸的主要因素[5]。本文將UNet中所有的3×3卷積模塊(ConvNode)替換成了一種深度可分離卷積模塊(Separable-ConvNode),在保留圖像分割精度的基礎上,極大提高了UNet的運算速度。因此,本文將UNet升級為全新的Separable-UNet。卷積模塊的替換方式如圖1所示。
經(jīng)過替換,可比較卷積的參數(shù)量以及計算速度的提升:(1)3×3卷積核的參數(shù)量為3×3×c1×c2,其中c1和c2為卷積模塊的輸入和輸出通道數(shù);(2)本文設計的3×3可分離卷積模塊參數(shù)量為3×3×c1+1×1×c1×c2。例如,在c1=128,c2=256的情況下,一個3×3卷積模塊的參數(shù)量為294192,而本文設計的一個3×3可分離卷積核的參數(shù)量為1152+32768=33920,參數(shù)量降低為之前的11.54%。通過實驗證明,圖像分割運算可以獲得3倍的加速效果。
4實驗
4.1實驗環(huán)境搭建
本文的實驗在兩種環(huán)境下完成:(1)算法訓練平臺為深度學習主機—GPU為Nvidia2080Ti(12GB顯存),CPU為Inteli7-12700;(2)算法測試平臺為智能手機—小米12Pro。圖片分割的訓練集采用了通用的COCO數(shù)據(jù)集。該數(shù)據(jù)集包含大量圖片分割訓練樣本,包括人臉、人體、動物、日用品、交通工具等輪廓標注,訓練成的模型具有優(yōu)良的分割精度和泛化性。分割精度的衡量指標為交并比(IOU),計算方式如圖2所示。
IOU可理解為算法分割出的輪廓和理想(人工標注)的輪廓之間的偏差,該算法的IOU值越大,表明偏差越小,分割精度越高。
4.2實驗對比
圖像分割網(wǎng)絡的訓練采用COCO數(shù)據(jù)集,分別訓練了傳統(tǒng)的UNet和本文設計的Separable-UNet,并對兩者的精度和運行速度進行了全面比較,從而展示了Separable-UNet的高精度和分割速度大幅度提升。比較圖集為COCO測試集,包含分割輪廓的人工標注。如表1和表2所示,IOU和分割速度兩個指標均為所有圖片上取的平均值。從表1可見,本文方法和傳統(tǒng)UNet相比,保留了較好的分割精度,兩者精度幾乎一致。從表2可見,本文方法實現(xiàn)了3倍的速度提升,在智能手機上,實現(xiàn)了每張圖68.1毫秒的分割速度。實驗結果驗證了本文的結論,即Separable-UNet在保留高精度的前提下,在分割運算速度上大幅提升,為手機照片的分割提供了高速解決方案。
4結論
本文在經(jīng)典圖片分割網(wǎng)絡UNet上進行改進,設計了全新的Separable-UNet網(wǎng)絡。在保留較高精度的基礎上,將UNet的分割速度提升了3倍,在智能手機平臺上的分割速度達到了每張圖68毫秒,大幅度提升了運算速度,提高了用戶體驗和手機運行的流暢度,并且使圖像分割技術更有效地應用于智能手機上層,包括人像摳圖、人臉美顏、特效疊加、虛擬背景等,促使智能手機更廣泛地應用于生活中的各種場景。接下來,我們的目標是進一步改進Separable-UNet網(wǎng)絡,將分割技術從手機照片擴展到手機視頻,服務于網(wǎng)絡直播、短視頻創(chuàng)作等更廣闊的應用場景。
參考文獻:
[1]劉穎,劉紅燕,范九倫,等.基于深度學習的小目標檢測研究與應用綜述[J].電子學報,2020,48(3):590-601.
[2]馬原東,羅子江,倪照風,等.改進SSD算法的多目標檢測[J].計算機工程與應用,2020,56(23):23-30.
[3]張新明,祝曉斌,蔡強,等.圖像語義分割深度學習模型綜述[J].高技術通訊,2017(9):808-815.
[4]杜星悅,董洪偉,楊振.基于深度網(wǎng)絡的人臉區(qū)域分割方法[J].計算機工程與應用,2019,55(8):171-174.
[5]韓貴金,朱虹.一種基于圖結構模型的人體姿態(tài)估計算法[J].計算機工程與應用,2013,49(14):30-33.
作者簡介:
孫煜(1983—),博士,工程師,研究方向:人工智能。