原創 王司圖 果殼
最近,抖音推出了一款動漫特效濾鏡「變身漫畫」,能夠讓用戶在直播中,把自己的現實形象瞬間轉變為二次元「畫風」。對於動漫二次元愛好者來說,「打破次元壁,變身紙片人」這種自娛自樂方式可謂久玩不膩,在此之前,各種美顏修圖和視頻直播類app也都紛紛開發了類似功能,但沒有一個能夠讓用戶擁有「二次元分身」。那麼,這種能夠「動起來」的二次元濾鏡,背後隱藏什麼黑科技呢?
著名電競選手PDD秒變二次元美少年,觀眾紛紛表示:「裂開了」
神奇的風格遷移
從計算機視覺製作的角度講,把一張圖片與另一張的視覺要素相混合,稱為風格遷移(style transfer)。
把日本著名浮世繪作品《神奈川沖浪裏》遷移到一匹駿馬皮膚表面的效果 | www.theverge.com
一張照片的風格遷移,可以由人工操作,利用視覺編輯軟體完成。當然,像抖音這樣在全球擁有上億用戶的短視頻社交平臺,同時要應對如此多用戶的視覺濾鏡呈現,就需要人工智慧算法加持,尤其是「卷積神經網絡」(Convolutional Neural Network, CNN)。
今天, 「深度學習」之所以是個熱門概念,都可以追溯到卷積神經網絡在2012年的橫空出世。不要被這個高大上的名詞嚇到,它的原理其實也不複雜,用小學數學就可以解釋:在AI眼裡,任何圖片都是像素構成的矩陣(左),卷積核(kernal)是另一個小矩陣(中),它們疊加在一起,對應位置的數值相乘再求和,得到「特徵映射」(右)。
卷積核一般都不大,有的5x5,有的3x3,好比工兵的地雷探測器,去探測圖片裡存在的模式。信息逐級加工,最終得到一個分類識別的結果。
今天的AI,要想識別視覺形象,必須首先教它「學會」特徵提取 | www.cnblogs.com
提醒大家,千萬不要以為現在人工智慧就是科幻電影裡的超級電腦,全知全能。其實它現在的「認知能力」非常弱,幾乎只等於0到4歲的兒童。如上圖所示,科學家們如果想要人工智慧識別一些基礎物體,比如人臉、汽車、動物,和椅子,那麼首先就要把這些物體的特徵「提取」出來,也就是上圖第二行圖中那些五官、車輪、象鼻、椅背什麼的,交給人工智慧去「記憶」。然而可憐的人工智慧「智商捉急」,只能再把這些特徵進一步簡化為第三行圖中的簡單形狀符號,加以「死記硬背」 。而人工智慧領域的科學家,就必須像耐心的父母教育小朋友那樣,不斷調整,優化這些最基礎的形狀符號,把它們變成機器能夠理解的「卷積核參數」。
卷積核裡的數字決定了它能探測到什麼樣的特徵,或者是輪廓,或者是形狀,也可能是紋理,而「風格」就是各式特徵的組合。這些負責判斷不同圖形特徵的卷積核分層排列在一起,就成了卷積神經網絡。
ImageNet成立後,每年還會組織一次全球視覺識別挑戰賽(ILSVRC),鼓勵全球科研團隊拿出自己的 AI圖像識別算法進行PK | www.medium.com
小朋友識別物體,最好的辦法就是與周邊環境多接觸,或者看繪本畫冊。對於AI這個小朋友來說,它看的繪本,是ImageNet:一個具有1000類、數千萬張圖片的超大型數據集。卷積神經網絡就像一個笨笨的小朋友,成天在ImageNet裡面玩著「看圖識物」的訓練遊戲,久而久之,它逐漸具備了相當的特徵提取能力。
要讓人工智慧實現對大批量的實時圖像進行批量風格遷移,就好比讓這個笨笨的小朋友先瀏覽一大堆物品的形狀和顏色,然後再訓練他提取不同的特徵,最後形成圖像。好比說,如果要讓孩子畫一張「紫色大象「的圖片,父母就必須給孩子出示兩張照片,一張是非洲草原能上的大象,一張是紫色色卡。
那麼,AI這位小朋友就開始了作畫(計算),首先把這兩張照片傳送到同一個神經網絡,加以合成,要求這張新畫作上圖像的外形儘量與大象接近,顏色儘量靠近紫色,那麼AI經過反覆的內容與風格特徵提取,最終可能會達到一個滿意的效果
讓AI自己學會作畫
那麼AI有沒有可能像部分聰明的小朋友那樣,不用科學家(父母)的指導,而開始自學呢? 科學家們想出來一個點子:對抗網絡(Generative Adversarial Network),由兩套獨立的人工智慧網絡構成,分別是生成網絡(G)與判別網絡(D)。生成網絡就是那個畫畫的笨孩子,判別網絡就像是個嚴格的美術老師,負責給孩子的作品打分。
對抗網絡圖像識別與鑑定流程圖 | https://www.kdnuggets.com
判別網絡的任務很簡單,就是區分真假。何為真?自然拍攝的圖片就是真,而人工合成的圖片稱為「假」。生成網絡G會產生一批假數據,對判別網絡進行訓練,剛開始的假數據很粗糙,肯定通不過,所以判別網絡只需要很初步的識別能力就可以鑑定,這是一個「菜雞互啄」的階段。
D有了進步,G也要迎頭趕上,再對生成網絡進行訓練,目標是生成更加擬真的數據,騙過當前的判別網絡。這些新的數據又用來訓練判別網絡,自己生產,自己消化,如此循環,左右互搏。
在這個不斷博弈的過程中,兩個網絡的能力都得到了提升。如同武俠小說裡的「梯雲縱」,左腳踩右腳,右腳踩左腳,武功高強的大俠就能飛簷走壁。訓練完成之後,判別網絡作為「工具人」就可以暫時領便當休息了,留下生成網絡(G),用以產生圖像。
現在,AI這個畫畫的小朋友能夠不用指導,自己根據圖像進行臨摹了,然後還自學了填色(風格遷移)。不過這個時候,嚴格的美術老師判別網絡D又要登場了。這次不僅要鑑別圖像是否為真,還要看在填色(風格遷移)的過程中,有沒有出現其他偏差。
如圖所示,大部分現實物體中,能夠形成對應關係的並不多,所以需要兩個生成網絡各司其職,相互檢驗制約 | https://mc.ai
當然,現實生活中能夠形成嚴格對應關係的物體並不多。為了確保精度,AI工程師會同時引入兩套生成網絡。比如我們要把一匹馬的照片變成斑馬,但很明顯,現實中你可以找到兩隻除了顏色外,一模一樣的鞋子,但不可能存在兩匹體型和五官特徵完全相似的馬與斑馬,所以就需要兩個生成網絡各司其職。生成網絡A完成從馬到斑馬的轉換,另一個生成網絡B負責從斑馬轉換到馬。這樣在優化過程中,雙方能夠互相檢驗與制約,這就是近年來應用場景不斷增多的深度學習算法CycleGAN。
有了CycleGAN算法,我們就像有了仙女棒,隨意變老變小變漂亮 | https://mc.ai
這套算法,就是隱藏在現在市場上大多數美圖軟體濾鏡後的幕後功臣,什麼「LOMO風格」,「甜美日系」,「黑白簡筆」,「美白磨皮」,都可以讓用戶輕鬆一鍵搞定,完成瞬間「變身」。
美圖秀秀的各種濾鏡,相信大家已經用得駕輕就熟 | www.show.meitu.com
Landmark Assisted CycleGAN生成的卡通形象,最左為真人形象,最右為最終輸出結果 | www.medium.com
不過,要把自己的視覺形象在抖音裡轉化為相似的二次元紙片人,還有最後一個門檻,因為次元壁並不是那麼好打破的,真實人臉和卡通人臉之間的結構差別太大,很難捕捉面部基本特徵。所以,專家們設計出了一個優秀的助手Landmark Assisted CycleGAN,來幫助AI,讓這個笨笨的小朋友能根據真實用戶人臉「畫」出相應的卡通形象。簡單來說,它的訓練機制就是,每當CycleGAN提供一張人臉圖像,它就先對臉部關鍵點進行標記,然後再根據這些標記點生成最初的卡通形象,並把這些標記輸入判別網絡。然後,啟動兩個CycleGAN中兩個圖像生成網絡,讓卡通形象和人臉形象之間不斷地相互進行識別,反映到屏幕上,就是你看到了一個和自己酷似,惟妙惟肖的二次元紙片人。
更重要的是,這些二次元形象,還必須跟隨著視頻中的真人形象「動起來」,這就涉及到巨量的運算。成千上萬的用戶同時使用濾鏡,就會形成海量的運算數據,如果單純依靠雲端計算,分析這些視頻數據,再想辦法為每個用戶量身定製,畫出二次元形象,那麼很可能造成卡頓,進而會影響用戶的體驗感。為了避免卡頓,這些經過訓練之後的面部識別模型,會隨著軟體更新,「下發」到每個用戶的手機上,把每個抖音用戶手機裡的CPU和GPU運算力也「動員」起來,進行實時的推理(inference)計算。根據抖音技術團隊透露,「變身漫畫」濾鏡啟用了字節跳動自研的推理引擎ByteNN,高效利用了移動端的計算能力,使AI算法快速落地到每一臺用戶的行動裝置。這就好比一個工廠自身生產能力不足,把一部分加工程序,連同加工設備,外包給千千萬萬個工廠外的家庭小作坊一樣。
日本Botsnew VR公司推出的一款以龍珠為主題的VR眼鏡,利用AI圖像識別推理機制,自己在遊戲中能夠變身龍珠風格的動漫角色,身邊的NPC角色能夠和自己同步行動,比如發出著名的龜派氣功波 |http://www.poppur.com
能夠自行根據模板進行創造的AI圖像生成技術,未來可能為我們開闢許多不可思議的電子互動娛樂場景與模式。想想看,戴上擁有這項功能的VR/AR設備隨手一揮,畫廊中莫奈的名畫變成了搖曳生姿的實景AR景觀,動動手指,屏幕上的電影或二次元動漫角色就打破次元壁來到你身邊——自己和兒時的偶像,「龍珠」中的小悟空並肩戰鬥,在VR場景中一起發出龜派氣功波,有多麼熱血!
一個如夢似幻,打破了次元壁的世界,你期待嗎?
作者:王司圖
原標題:《大熱的抖音「變身漫畫」濾鏡,背後用了什麼黑科技?》
閱讀原文