干貨 | 抖音漫畫效果解密
點擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)
本文轉(zhuǎn)自:AI算法與圖像處理
要說最近抖音最火的效果是什么,無疑就是上周推出的漫畫效果,這里本人來對該效果進(jìn)行一些技術(shù)分析。
首先,我們先看一下效果展示:
Fig.1 實時版本

Fig.2 圖片版本

這個效果可謂非常驚艷,真切的將真人照片轉(zhuǎn)換為了漫畫風(fēng)格,而且支持多人處理,也是因此,一時間刷遍了抖音和朋友圈,周末兩天的使用量達(dá)到了20億次以上。
對于抖音的漫畫效果,包括兩個版本,一個是實時處理版本,也就是抖音上線的第一個版本,如圖Fig.1所示,可以實時展示漫畫效果;另一個是后來的圖片版本,如圖Fig.2所示,這個版本更加精細(xì);該功能目前同步上線字節(jié)跳動旗下的一些app,比如:抖音/剪映/FaceU等。
下面,我們針對這個動漫效果來做一些技術(shù)分析,幫助大家了解一下背后的技術(shù)秘密。
本人以實時版本為例,經(jīng)過分析和測試,對該效果做了如下幾點總結(jié):
1,實時版本中,漫畫并非全圖處理,而是基于人臉矩形框區(qū)域進(jìn)行動漫處理;
2,人臉之外的背景區(qū)域非漫畫效果,而是做了一些類似漫畫的濾鏡處理;
3,整體漫畫分辨率不高;
4,不同的人臉,漫畫人臉風(fēng)格始終保持一致;
本人多年來一直從事人像特效相關(guān)工作,這里,我們先了解一下漫畫風(fēng)格的特點,這里總結(jié)如下:
1,線條化,漫畫風(fēng)格的邊緣比較突出,主要表現(xiàn)為線條感強(qiáng)烈;
2,顏色單一,一種漫畫風(fēng)格往往使用的顏色數(shù)比較少,不會像真實照片中那樣包含那么多顏色數(shù),往往只有幾種顏色搭配,比如新海誠效果,如圖Fig.3所示;
Fig.3 新海誠漫畫風(fēng)格舉例

3,人臉五官簡單、夸張,這一點可以參考大多數(shù)漫畫的五官分類,抖音漫畫的五官繪制模型如下圖Fig.4所示;
Fig.4 抖音漫畫五官模型

與正常的真人照片相比,鼻子,嘴巴和眉毛基本都以線條來表達(dá),簡單清晰,而眼睛則表現(xiàn)為夸張的大眼睛,也比較符合漫畫的審美;
有了上述的知識前綴,我們就可以對漫畫風(fēng)格有所理解了。本人先做了一個簡單的測試,用美女景甜的圖做了漫畫效果如下Fig.5:
Fig.5 抖音實時漫畫效果舉例

通過這個效果我們可以發(fā)現(xiàn)對于景甜的人臉五官,漫畫效果非常好,但是右圖卻隱約看到了一個人臉框區(qū)域,在這個區(qū)域之外的漫畫風(fēng)格好像與人臉框內(nèi)不太一樣,仔細(xì)觀察,確實如此,這也和前面本人的總結(jié)相一致了,也就是說,漫畫風(fēng)格只處理了人臉框區(qū)域。
為什么這么做?本人認(rèn)為有以下幾點:
①人像照片包括半身照和全身照以及多人情況,分類復(fù)雜,場景也復(fù)雜,直接全圖處理技術(shù)上要更難一點;
②實時版本追求用戶的實時處理,對時間消耗要求較高,如果全圖處理,很有可能無法達(dá)到實時要求;
對于人臉框之外的區(qū)域,本人也做了分析,發(fā)現(xiàn),這些區(qū)域是做了一些顏色濾鏡和 包邊特效之類,整體的色調(diào)與動漫色調(diào)保持一致;
綜合以上幾點,本人對實時版本的動漫效果算法流程做了如下設(shè)計:
1,假設(shè)用戶圖為S,效果圖為D,將S進(jìn)行人臉檢測,得到人臉區(qū)域圖像A,A一般為正方形;
人臉檢測技術(shù)目前已經(jīng)較為成熟,開源算法也較多,大家可以自行了解;
2,使用深度學(xué)習(xí)技術(shù)來生成漫畫效果,這一步個人猜測,抖音大概率應(yīng)該是使用的GAN網(wǎng)絡(luò),通過圖像直接生成效果,即輸入圖像A,輸出人臉漫畫效果圖B;
目前可以實現(xiàn)漫畫效果的可行性網(wǎng)絡(luò),本人推薦:Pix2Pix,CycleGan,CartoonGan等,
3,構(gòu)建一張與A大小相同的正方形蒙版圖C,這個蒙版為黑白色,白色表示前景,黑色表示背景,如下圖Fig.6中的蒙版所示;
4,對圖S進(jìn)行濾鏡調(diào)色和保邊算法處理,得到圖M,使得M的色調(diào)與B一致;
5,將M和B按照蒙版C進(jìn)行Alpha混合,C圖像素灰度值表示為alpha值,得到最終效果圖D,公式如下:
D = B * alpha + (1 - alpha) * M
6,將D填充到S即可。
整個流程如圖Fig.6所示。
Fig.6 抖音漫畫剖析圖

上述步驟就是本人對抖音實時版漫畫效果算法的推演解析,當(dāng)然,只是個人意見。上述的難點在于第2步驟中,如何生成漫畫效果,這個步驟中,如果選用Pix2Pix網(wǎng)絡(luò),那么需要成對的樣本,也就是一張原圖對應(yīng)一張漫畫效果圖,這樣的樣本非常稀缺,也非常難以制作,因此,本人覺得抖音應(yīng)該沒有使用這個方法。而CycleGan不需要成對的樣本來訓(xùn)練,因此個人覺得,CycleGan是個不錯的選擇!
本文主要針對當(dāng)前最新技術(shù)進(jìn)行了一些細(xì)節(jié)分析,由于沒有實現(xiàn),因此,代碼無從參考,不過,無論是Pix2Pix還是CycleGan,代碼在github上都有開源,這個不是什么難事,總之,這個效果,關(guān)鍵問題就是樣本和優(yōu)化。
這里我們給出一些相關(guān)代碼鏈接:
Pix2Pix:https://github.com/williamFalcon/pix2pix-kerasCycleGan:https://github.com/simontomaskarlsson/CycleGAN-
Kerashttps://github.com/d1ggs/cycleGAN-kerasCartoonGan:https://github.com/penny4860/Keras-CartoonGan
原文鏈接:
https://trent.blog.csdn.net/article/details/106958365最后,本人使用Pix2Pix做了一些其他風(fēng)格的漫畫特效,如下圖所示:


作者圖書
https://u.jd.com/4bDoGL交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~

