如何妙筆勾檀妝:像素級語義理解

編者按:在徐凝的《宮中曲》中有這樣一句詩,「一日新妝拋舊樣」,描繪了中唐時期宮中女人換妝的場景,而另一句詩「檀妝唯約數條霞」,講的則是複雜的檀妝其實只需寥寥數筆來勾勒。

而在計算機視覺世界中,像素級語義理解技術,則賦予了機器對人臉進行換妝的能力,其通過細粒度分割的方式,將面部的不同區域在像素級剝離開來,從而將換妝的過程簡化為寥寥數筆。

今天,來自中科院信息工程研究所的劉偲副研究員 ,將為大家講述如何利用像素級語義分割技術,在計算機視覺領域用寥寥數筆來為圖像換妝。

文末,大講堂特別提供文中提到所有文章的下載鏈接。

本次報告的主題為「圖像的像素級語義理解」,本文將從語義分割演算法出發,著重介紹其在場景解析、人臉解析、以及人體解析中的應用情況。文中所有應用成果均來自於中科院信息工程研究所網路空間技術實驗室,liusi-group.com/

物體分類作為計算機視覺一大重要研究方向,其目的是對圖片整體進行分類,如上左圖所示,物體分類判斷圖中含有桌子、人、燈。而當我們進一步想對圖片的局部進行分類時,便需要進行物體檢測,如上中圖所示,用方框畫出物體的位置並判斷框中物體是桌子、人或是燈。當我們想更進一步,對圖片中的每個像素進行分類時,我們便進入了一個更加細緻的領域,那就是像素級的語義分割,如上右圖,每個像素都標上了對應的類別。可以看出,從物體分類到物體檢測再到語義分割,任務的粒度越來越細。今天我所要介紹的主要內容便是三者中最為細緻的語義分割。

圖像的像素級語義理解應用場景非常廣泛,在自動駕駛、醫療影像處理、視頻監控以及增強現實(AR)中都有很大的使用空間。例如在自動駕駛中可以通過對獲取到的圖像進行分割,以輔助車輛更好地對前方場景進行分析和判斷;在醫療影像處理中,可以通過對圖像進行解析,準確地發現並定位患者體內的病變組織,從而為治療提供更多的可靠信息。

圖像語義分割相關研究概述

首先回顧一下一些經典的圖像分割數據集及演算法。

早期語義分割數據集,通常包含圖片數量、物體類別較少,例如2005年由微軟提出的MSRC包含23類物體,591張圖片。2008年的LabelMe則含有183類物體,3萬多張圖片。2009年第一個道路語義分割的數據集CamVid發布。2011年的SIFTFLOW類別數為33類,含有2688張圖片。2012年的PASCAL VOC含有21類物體以及2913張圖片,該數據集後來成為了語義分割任務中一個重要的benchmark dataset。後來2014年在PASCAL VOC的基礎上,PASCAL CONTEXT將物體類別以及圖片數量都進行了大幅地擴充。

2013年針對人臉分割的Helen分割數據集發布,同年發布的還有香港中文大學的人體分割數據集PPSS。隨後,2014年發布的PASCAL PART將PASCAL VOC中物體的部位進行細分,提供了更加細緻的分割標註。同年微軟提出了COCO數據集,豐富的圖片和類別使其成為了又一重要的benchmark dataset。隨後,針對道路圖片的Cityscape以及含有深度信息的SUN RGB-D數據集也被發布了出來。

2016年的DAVIS數據集將instance級的分割與視頻相結合,提出了視頻中的物體分割這一更加具有挑戰的任務,類似的還有2017年發布的GyGO數據集。2017年中山大學、商湯科技集團等發布了一個更加完善的人體分割資料庫LIP(Look into Person),同年發布的ADE20K則將物體類別推向了極致,數據集中標註了將近2700類的物體。近期由FAIR發布的Panoptic Segmentation則整合了已有的多個數據集並提出了一個新的分割任務。

現在我們來介紹一下語義分割演算法的前世今生。早期的演算法中有參數型方法的代表Texton Boost,也有Label Transfer等非參的方法。2012年發表於TPAMI的Learning Hierarchical Features for Scene Labeling則是第一篇將深度學習應用於語義分割的演算法。

2015年由Long等人提出的Fully Convolutional Networks for Semantic Segmentation(FCN)不僅獲得了當年CVPR的best paper候選,還引領了之後語義分割演算法使用全卷積網路的方向。之後的Segnet提出了復用encoding特徵的辦法,帶有洞的卷積(Dilated Convolution)擴大了網路的視野域,極大地提升了分割的精度,成為了語義分割網路的「標配」。 2015年梁小丹博士和我本人合作發表於TPAMI的Deep Human Parsing with Active Template Regression首次將語義分割應用於人像解析。我們的另一篇工作Matching-CNN meets KNN: Quasi-parametric human parsing則將KNN的方法與CNN進行結合,提升了網路對人體進行解析的能力。

之後Deeplab演算法結合了dilated convolution以及fully connected crfs,提升了分割性能。RefineNet則提出了一種將高層語義特徵以及底層特徵進行融合的結構,極大地改進了性能。隨後商湯科技公司提出的PSPNet引入了Pyramid Pooling Module,在獲得了多個尺度特徵的基礎上,通過結合這些特徵得到更好的分割結果。曠視科技提出的Large Kernel Matters則使用了較大的卷積以及一個Boundary Refinement模塊來提升網路的整體性能。

之後FAIR的Mask RCNN提出RoI Align層,在faster-rcnn的基礎上實現了instance級的語義分割。隨後Deeplab的改進版MaskLab提出一種新的方向特徵,改進了instance級分割效果。

回顧完語義分割的數據集以及常見演算法。下面我們將介紹我們組在這方面的工作。

我將從場景解析、人臉解析以及人體解析三個方面來分別作介紹。

場景解析

首先,我們先介紹北交的劉婷,趙耀,韋世奎,UIUC魏雲超和我合作的解析方面的工作。

壁紙作為家中裝飾的一個非常重要的部分,常常決定了整個房間的氣氛。於是很多人在裝修時一定會想看一下自己的房間適合換上什麼樣的壁紙。因此,我們提出了一個可以對牆壁壁紙進行解析以及更換的模型。

具體來說,在給定輸入的圖片之後,我們先用一個基於VGG16的Deeplab-LargeFOV模型提取特徵。此外,我們加入了兩個1x1的卷積對con4和conv5的特徵進行提取以得到圖像的邊緣信息,之後再將邊緣信息與語義分割的結果進行融合,得到最終的分割結果。根據分割的結果,我們就可以對壁紙進行顏色和紋理的更換。該工作發表於2017年的ACM Multimedia會議。下圖是一些結果展示。

人臉解析

介紹完場景解析的工作後,我們將介紹人臉解析方面的工作。

首先我們定義一下這裡所說的人臉解析問題。如上圖所示,對於給定的一張人臉圖片,我們希望得到不同語義部位的分割結果,換句話說就是將圖像中的每個像素標註為對應的類別。

上圖是我們課題組在CVPR2017所發表的一份工作。通過加入一個可學習的放縮層,可以讓網路自動地去調節視野域以得到最好的分割結果。為此我們設計了兩個不同版本的網路,其中單支路版本使用一個resize factor對特徵進行變換,並使用變換後的特徵進行前向計算,得到最終分割結果。而多支路的版本則可以根據需要設置多個支路並讓每個支路學習到不同的resize factor,最終將這些特徵進行合併、並進行前向計算,得到分割結果。

上圖是我們的方法與其他人臉解析演算法的定量及定性結果比對。可以看出我們的演算法顯著提升了解析的效果。仔細看圖中右方的結果圖,可以看出在嘴唇、眉毛、眼睛等部位的結果上,我們的方法結果更好。

基於人臉解析,我們開展了多項工作。主要有智能美妝、妝容遷移、人臉老化三個工作。

首先是智能美妝部分。電商的發展以及美妝業的巨大市場催生了對智能美妝產品的需求。

根據人臉解析的結果,我們可以將指定的美妝產品應用於圖片,最終得到美妝的結果。具體來說,在得到人臉解析結果後我們將選擇的化妝產品應用於相應的區域。有了這一系統,我們可以在不用手動化妝、卸妝的情況下嘗試不同的妝容效果。

一些女生看到明星的照片時,常常會想看自己化上同樣的妝是什麼樣子。為此我們設計了一個基於深度學習的妝容遷移演算法。

如上面兩圖所示。我們通過人臉解析演算法得到妝容的關鍵區域,然後使用風格遷移的演算法將不同區域的妝容轉移至對應的區域。根據不同的參考妝容可以獲得不同的遷移結果。通過控制遷移時的參數,我們還可以控制妝容的濃淡。相應工作發表於IJCAI 2016。

人臉解析的第三個應用是人臉老化。人臉老化對於跨年齡驗證、走失人口尋找都有重要意義,而且具有一定的娛樂價值。在我們的工作中,先通過人臉解析提取人臉的主要部分,然後使用圖片以及對應的年齡信息訓練一個生成對抗網路(GAN)。在訓練好模型後,將一個人的照片以及想轉換到的年齡信息輸入進這個模型,就可以得到相應年齡段的照片。該論文發表於ACM MM 2017。

上圖右方兩行圖片中,有一行是我們的網路生成的結果,有一行是真實的圖片。各位猜一猜哪一行是真實的,哪一行是生成的。

正確答案是:第一行是生成的圖片,第二行是真實的圖片。不知道各位猜對了沒有~

上圖是兩個不同人物的生成結果。我們生成了這兩個人在0-10歲、19歲-29歲、40-49歲、及60歲以後四個年齡段的結果。可以從下面的動圖裡看到整個變化過程。

人體解析

最後介紹一下人體解析的相關工作。

與人臉解析部分相同,我們首先定義一下人體解析問題。對於一個給定的人物圖片,人體解析的主要任務是將圖片中人體的不同部位進行分類,最後獲得像素級的分類結果。如上圖所示。

那麼研究人體解析有什麼樣的重要性呢?舉兩個經典案例,在周克華搶劫案以及長春盜車殺嬰案件中,雖然案發城市已經有完備的監控設備,但由於缺乏相應的分析能力,導致視頻的篩選和分析仍需人力來進行,被人們形容為「有眼無珠」。如果能減少相應的人力消耗並提高分析速度,將會給社會帶來很大的積極影響。

如上圖所示。設計好的分割模型可以準確地將人體圖像進行分割,同時屬性預測模型可以對人像進行準確的預測。這樣一來,當我們拿到一個描述,例如圖中「棕色上衣、黑色緊身褲,拿著白色行李箱的女性」時,計算機便可以快速地在海量監控數據中自動地找到匹配的圖片或視頻。

上圖是我們CVPR2017的一個工作的網路結構框圖。該工作充分利用了多幀的信息,得到了很好的人體分割結果。下面我們將介紹網路的各個部分以及相應的功能。

首先我們使用一個基於FCN(全卷積網路)的分割網路對視頻中的不同幀進行分割。

然後我們使用分割時所使用的特徵進行光流的估計,得到幀與幀之間的光流信息。

最後我們根據光流信息對不同幀的結果進行融合。最終得到目標幀的分割結果。下圖是我們分割演算法以及屬性預測演算法的動態演示圖。

總結與展望

最後,我總結一下今天的分享並做一些展望。

今天我首先分享了我們在場景解析方面的工作,主要是壁紙虛擬更換以及圖片去霧霾工作(由於篇幅未展開)。

然後介紹了我們小組在人臉解析方面的工作,包括妝容遷移、人臉老化、智能美妝。

最後我介紹了我們在人體解析方面的工作,主要是視頻監控中的人體解析任務。

當然,圖像的像素級語義理解還有很多的研究方向,例如圖像去噪、圖像修復、自動上色、超解析度、去模糊等等。

對於未來的發展,我們認為主要有三個趨勢。

  • 首先是模型的小型化,未來深度學習的模型將逐漸從計算、儲存能力豐富的GPU集群走向CPU平台或是嵌入式設備中,這對模型的大小以及計算複雜度都將有更嚴格的限制。
  • 第二個趨勢就是數據標註的低成本化,未來將會有更多的弱監督、半監督演算法湧現,加上遷移學習的發展,我們對於數據的人工標註將會越來越少。相應的成本也將越來越低。
  • 最後是信息源的多模態化,現在的圖像解析工作大多基於普通的RGB三通道圖片。但隨著信息源的增多,我們可以獲得深度信息、雷達探測信息等更多的數據。通過這些數據的整合,我們將進一步提升解析演算法的性能。

以上就是我今天的分享,大家如果感興趣可以關注我們的主頁 liusi-group.com/

文中劉老師提到的文章下載鏈接為:

pan.baidu.com/s/1pMuaqH

主編:袁基睿 編輯:楊茹茵

該文章屬於「深度學習大講堂」原創,如需要轉載,請聯繫 ruyin712。

作者簡介:

劉偲, 現為中科院信息工程研究所網路空間技術實驗室副研究員。本科畢業於北京理工大學校級實驗班,博士畢業於中科院自動化所,曾於新加坡國立大學任研究助理及博士後。其研究領域是計算機視覺和多媒體分析,具體包括圖像的語義分割,實例分割,圖像標註,圖像編輯等。2017-2019年中科協青年人才托舉工程入選者,微軟亞洲研究院鑄星計劃研究員,CCF-騰訊犀牛鳥科研基金獲得者。個人主頁:liusi-group.com


推薦閱讀:

TAG:美妝 | 深度學習DeepLearning | 圖像分割 |