P 圖果然是萬能的!但它背後究竟是啥原理?

2020-12-16 IT之家

作者|常松,清華大學材料學院博士

在廣大俊男美女們對於顏值的不懈追求中,技術宅們不斷地完善著p圖技術。只需要下載個小小的APP,就可以分分鐘搞定雙眼皮、美瞳眼、瓜子臉等等,只有想不到,沒有做不到。相比於日本化妝術、韓國整形術、泰國變性術而言,中國的p圖術最為物美價廉,難怪居於「東亞四大邪術」之首了。

那麼,中國如此強大的p圖技術,背後是啥原理?今天就來聊一聊圖片美化背後的技術。

(一)P圖究竟怎麼P?

P圖的「p」來自於Photoshop,一款由Adobe開發的圖像處理軟體,它由一個叫做Display的程序經過不斷修改而來。

時至今日,軟體儘管更新不斷,功能更為強大,但是,圖片編輯處理背後最基本的方式方法和當年都是類似的,只是隨著計算機硬體的提高,支持的圖片處理更加複雜而已。

(約翰·沃諾克John Warnock和查克·吉斯克Chuck Geschke)

1、顏色模型:從不友好的紅綠藍到友好的色相飽和度

對於計算機而言,使用最為廣泛的就是面向硬體的顏色模型——RGB(紅綠藍)模型。

計算機顯示和識別的所有顏色都由R\G\B的數值來表示,各種強度的RGB光混合在一起就會產生出各種各樣的色彩。當然這是一種對於人十分不友好的模型,因為人眼根本無法從杏黃色中分離出紅綠藍的比例。

(HSL與HSV模型中的顏色)

於是,對人很友好的HSL顏色模型就產生了,這是一種基於色相(H)、飽和度(S)、明度(L)三個顏色通道的變化以及它們相互之間的疊加而產生各式各樣顏色的模型。在p圖中,要調整圖片的亮度,只對其L(亮度)部分調整,就可達到圖像亮度的線性調整。

(高斯模糊)

2、濾鏡:通過色彩系統識別與運算實現

而在PS中,各種濾鏡都有著自己基於色彩系統的識別與運算方法。比如,Convolution Matrix(卷積矩陣)是得到圖像處理的一個初級效果非常有效並快捷的工具,圖像的「高斯模糊」濾鏡,則是通過在處理圖像時採用統一的卷積矩陣進行的。而由於採用統一的卷積矩陣,「高斯模糊」往往在p圖時會造成一些細節,如眉毛、頭髮等細部也模糊。「表面模糊」能更好地解決這個問題,因為它在圖像處理時,是每一個像素點都有自己的卷積矩陣,而且還有對應R、G、B的分量,計算起來更為複雜。

而這些都是圖像處理的原理和模型,那麼如何實現,就靠廣大辛勤耕耘的碼農了。

(二)P圖術如何化腐朽為神奇?

P圖確實具有化腐朽為神奇的功能,配合著各種色彩調整、濾鏡調色、高光覆蓋、局部處理、自由變換等,能夠自由地修改圖片。然而,這麼複雜繁瑣的操作,並不是吃瓜群眾能夠掌握的。那麼,如何能夠讓高大上的PS技術走入尋常百姓家呢?

在行動裝置普及,特別是手機智能翻倍的今天,各種APP層出不窮,它們還往往可以通過調用系統API(應用程式接口)訪問相機,從中採集畫面進行美圖處理,而這些其實就是一個集成的、程式化的、模板式的系列圖像處理程序。

在這裡舉一個簡單的美圖功能——磨皮遮瑕祛痘。

(磨皮前後效果)

在APP的UI界面菜單中看似簡單的一鍵操作,其實在APP背後是一個複雜的程序。

對於臉部的斑、痘之類的缺陷,在拍攝出來的照片中,其實就是相對比臉部周圍皮膚的顏色和灰度的變化。而如果一張照片的局部相鄰的區域灰度相差比較大的時候,就會被認定是一個「噪點」。因此,祛痘祛斑的過程實際上就是圖片處理的「降噪」。這是最常見的圖片處理方式,其中包含了各種算法。

比如濾波算法,就是用周邊的點的灰度平均值來代替原值,這樣各點的灰度相差就不會太大,而噪點就不會那麼明顯,而對於人臉來說就是皮膚看上去更加的光滑,一些斑、痘都消失了。在很多APP處理時拖動進度條的操作,其實就是在為降噪過程設定閾值。

(圖像的降噪對比)

但是,如果僅僅是在後臺對於噪點判定並且調用一定算法降噪,那麼原圖中的一些細節部分,比如眉毛、頭髮等也會丟失,看上去就「很假」。為了避免這種情況,在處理之後,圖片要和原圖進行融合,這就類似於PS中的圖層疊加。在一鍵P圖時,往往要調整兩張圖片的混合權重,使得處理之後的圖片更加自然。

(三)P圖術如何實現「換臉」?

當然,對於永遠自認為先天不足的朋友來說,僅僅皮膚光滑、白皙還遠遠不夠,最好還能身材苗條、面容姣好。OK,也沒問題。人臉識別技術,解決各種疑難雜症。

在這個看臉的時代,「刷臉」已經成為了一項很普通的功能,既然計算機可以識別人臉、捕捉人臉,那麼是否可以換臉?答案當然是肯定的。

儘管各家的算法與代碼都存在差別,也代表著各種APP的核心技術,但是對於「換臉」這種技術活,從原理上說無外乎就是那麼幾步——人臉檢測、關鍵點定位、區域提取、色彩調和、邊緣融合。

第一步:對照片上所有人臉進行捕捉

人臉檢測是一個很初級的活,就是對於一張照片上有多少人臉進行捕捉,如今已經克服了人臉角度、表情變化、光照強度等等問題帶來的麻煩。人臉檢測的根據是關鍵點定位,也就是要找到哪裡是鼻子,哪裡是眼睛,而這個過程往往是通過神經網絡技術進行機器學習的方法實現。

(人臉識別與關鍵點示意圖)

第二步:找到人臉輪廓進行「瘦臉」

進行了關鍵點定位之後,「瘦臉」的操作也就有了基礎,找到了人臉的輪廓後,再通過一定的計算和圖形變換,就可以改變臉型。眼睛、眉毛、嘴都是同樣的道理。

(人臉識別的關鍵點採集)

第三步:區域提取抽離五官

要想進行「換臉」,還得進行到下一步,經過平面變換之後,臉部就相當於一個繪畫,可以進行自由變換來改變形狀尺寸。至於此後的區域提取,就是抽離出臉部具體的五官,以便後續進行圖像融合。而為了保證能夠與即將植入的畫面協調,就要在色彩上對於臉部進行色彩調和以保證顏色協調一致,不至於產生違和感。

第四步:圖形融合調整「臉型」

最後要做的就是將五官植入準備好的模板照片。此時,經過色彩調整後的五官已經和模板圖片一致,而具體位置則靠關鍵點來定位,保證位置準確。

五官植入模板照片時,會遇到「臉型」的問題,因為雖然人體五官的位置基本相同,但臉型卻差別很大,這時候就要進行「圖形融合」。圖形融合技術有各種算法,比如基於泊松方程的圖片處理、利用高斯金字塔與拉普拉斯金字塔的圖片融合等等。這屬於超綱題,就不講了。總之,效果大概是醬嬸的:

(基於泊松方程的圖片處理應用實例)

(四)P圖術如何實現動態圖像的實時美化?

隨著網絡直播的興起,APP美顏技術不再局限於靜態的照片美容,而是要對主播的動態圖像進行實時美化:在各種直播平臺上,主播的小眼睛要變成大眼睛雙眼皮,大餅臉要變成瓜子臉,遊泳圈要變成蛇精腰……

這些對於中國強大的「攻城獅」而言,都不是事。

(深度學習神經網絡示意圖)

相比於圖片美化,美女主播的動態美顏顯然要更加複雜,但是技術流程卻是相似的。

第一步:通過深度學習識別人臉

首先要做的依舊是「人臉識別」。APP只有先識別到人臉,才能夠進行美顏,這已經是十分成熟的技術了。在動態美顏中,人臉識別的核心技術是「深度學習」,具體地就是在後臺構建一個神經網絡,然後利用海量的圖片數據進行學習訓練,最終生成一種能夠自適應各種圖片的算法。利用這種算法,就可以對任何一幀動態畫面進行人臉識別。

第二步:實時捕捉畫面快速換膚

緊接著,對於實時捕捉的畫面,程序會抓取原圖,分析與美顏標準的差異,然後進行大量學習訓練之後,得到由主播膚色到「標準美膚」的計算方法,之後將原圖按照特定算法快速完成膚色轉換,達到「美白」效果。由於這種計算要求極高的反應速度,所以程序算法中採用的人工神經網絡結構往往並不複雜。

(某款美顏攝像頭使用前後美白與磨皮效果對比)

瓜子臉、大眼睛等也都是類似的原理。在直播時,從相機採集的每一幀畫面,都會在人臉識別之後,通過關鍵點位置採集到五官的信息,然後按照「標準臉型」的尺寸,對畫面進行處理,然後將處理之後的畫面再做畫面輸出,這樣美顏之後的效果才逼真。

如今各種手機終端和軟體在性能上都不斷提高,卷積神經網絡的引入使得深度學習更加靈活、快速、風格化。但是,深度學習技術也造成了一個問題——網紅臉。雖然神經網絡構建的框架和算法各不相同,但是在進行學習訓練時為了優化算法往往靠一個樣本數據空間進行訓練。動態美顏就是在程序開發時提供一個「標準臉型」、「標準膚色」,這樣主播們在進行美顏時,就會抓取臉部數據與當下最流行的臉型、膚色進行比較,然後經過程序計算處理,整容成最受網友喜歡的臉型和膚色。

所以,很多時候並不是在直播平臺上就有這麼多俊男靚女,而是強大的美顏APP使得主播們都「整」成了一個模子的俊男靚女。

結語:真相之後

人類鬼畜的技術,已經讓我們可以從各種層面上改變「天生」的容顏,而圖像處理技術的進步,使得我們在網絡上同樣能夠以最美的容顏面對世界。

不過,當我們隨心所欲地改變自己的顏值時,也記得愛護一下身邊蓬頭垢面、睡眼惺忪的碼農,正是他們的智慧與汗水讓這個世界變得更(bu)加(ren)美(zhi)好(shi)。

相關焦點

  • P圖大神究竟有多麼「過分」?P圖一時爽,一直P圖一直爽!
    現在無論是自拍還是藝術照,都會PS一下吧,比如瘦臉美顏等等,然而這些還不算什麼,那麼我們來看看那些P圖大神們是怎麼PS的吧,P圖大神究竟有多麼「過分」?P圖一時爽,一直P圖一直爽!1.這個女孩的臉部上的皮膚看起來有點鬆弛,因為有點小胖的緣故看起來就沒有那麼好看。
  • 從GAN到WGAN:生成對抗網絡背後的數學原理(一)
    本文解釋了生成對抗網絡(GAN)背後的數學原理及其難以訓練的原因,並指出Wasserstein GAN是通過測量兩個概率分部之間的平滑度來改進GAN
  • 易烊千璽P粉絲醜照:看看被他挑中的17人都被P成啥樣了!多圖福利
    上次我們說到易烊千璽在節目中要求P圖大師把自己的粉絲 p一下,主持人:「P好看還是?」可是大佬畢竟是大佬:「你們儘管懟回來,我認慫算我輸」昨天文章裡忘記放圖了,下面請屏住呼吸,跟小編一起來看看千璽寶寶的腦洞究竟能開到多大!這些照片大家一定要收藏起來,留著以後哪天用來懟回去,粉絲:「來啊互相傷害啊!就是這麼硬氣!」
  • p圖大神有多「狠」?圖一到圖四小姐姐看見想打人,圖五卻要謝謝P圖...
    小姐姐想讓P圖大神P的前凸後翹,只是大神你這......,確實是前凸後翹了,不過這樣的照片讓小姐姐看到了,你確定你會沒事嗎?這個小姐姐就是在夏天的時候,去了海邊玩,再加上朋友抓拍的這樣的一張照片,讓會p圖師看上,於是就有了後面的這一張照片,這就是傳說中的「無影腳」嗎?小姐姐希望大神可以p的更霸氣一些,p圖大神硬生生的給她的食物P成了尿素,這次果然是霸氣的不得了了,一般人可真是做不到。
  • 你認為果然只是一個詞?但其實它是一隻獸!一隻果然的尋根之旅
    大家好,我是一隻獸,叫「果然」。看到這麼個名字,一定有人啞然失笑,或者是嘲罵我出洋相,這明明是個詞語,你跟這裡湊什麼熱鬧?把這個詞叫成你的名字?然而事實上,這確實是我的名字。但是,我為什麼叫這個名字卻永遠是個謎,不僅如此,就連我的樣子和我究竟是個啥也是個謎。
  • 七龍珠:萬能膠囊是什麼原理,放到現在是什麼概念
    該產品讓布爾瑪家族財源滾滾,放到現在我覺得可以稱霸世界也不為過,布爾瑪通過它尋找龍珠,變出各種各樣的現代化工具。這種發明可以說是比較天馬行空了,是人類進步發展的方向,雖然萬能膠囊技術存在重大局限,比如一種膠囊只能變一樣固定的東西,而不是想變什麼就變什麼,但是比較現在的科技還是有了巨大的飛躍,不知道何時能追趕上,在動漫中萬能膠囊沒有交代其原理,我們可以大膽的猜測一下:就拿摩託車膠囊的原理來舉例
  • 4K到底咋算的,720P,1080P又是啥意思?
    前天跟一個做拼接屏顯示的聊天,說起了解析度的問題,旁邊一個做攝像機朋友就說了,現在各種電視上、安防企業廣告宣傳的動不動就是4K,高清啥的。弄的客戶就知道跟風,說什麼拼接屏、監視器必須用4k的,我就想想,真用上了4k的拼接屏監視器,你的200萬攝像機能看出好效果?
  • 人這一輩子,究竟圖個啥?
    也有的人說,忙忙碌碌,迷茫的得過且過,不知道這一生,究竟圖些什麼?人是複雜的,多情的,有思想的,來到這個世界,看清這個世界,或多或少的都有些想法。或是熱愛這個世界的多姿多彩,或是感嘆這個世界的無情殘酷,又或是看透這個世界的明與暗。
  • 比特幣背後的原理
    導語:比特幣背後的原理,數學是如何應用在虛擬貨幣的設計上的?本文來自3Blue1Brown《想知道比特幣(和其他加密貨幣)的原理嗎?》視頻: https://space.bilibili.com/88461692本文根據視頻內容整理文字版,視頻如下。「擁有」一枚比特幣究竟意味著什麼?
  • 45元的小米米家萬能遙控器與99元的小白萬能遙控器究竟有啥差別?
    今天就來看看同為上海創米設計生產的小白萬能遙控器聲控版和米家萬能遙控器到底有什麼不一樣,為什麼價格差那麼多?外觀對比1、首先我們看看米家萬能遙控器與創米小白萬能遙控器在外包裝上的差異。大家可以看到兩者的包裝大小、布局基本一樣。
  • LS7266R1在電子式萬能材料試驗機中的應用
    特別重要的是它有方向標誌功能,測量2路(X、Y)編碼器的大小相等,但有2種方向情況,當2路(X、Y)編碼器的符號標誌S相同時,表示位移為正方向;當符號標誌S相反時,表示位移為反方向。利用該功能可以通過光電軸角編碼器轉換,對電子式萬能材料試驗機中的材料拉伸、壓縮的位移值實行加或減位移值的方向判斷。
  • C語言陷阱與技巧31節,都說void*指針是「萬能指針」,它萬能在哪
    因為 void 類型是一個特殊的類型,常被稱作「空類型」,C語言中沒有 void 類型的變量,所以在遇到 void 指針時,編譯器根本不知道如何解釋接下來的內存,甚至編譯器都不知道接下來多少內存屬於它。
  • 圖啥呢?男子花2萬8買了本假證,一上路就被抓現行!
    現場查獲民警立即通過後臺系統查詢到該車駕駛人吳某的相關信息果然不出所料準駕不符戳圖查看究竟是怎麼想的?或是聽說某某朋友可以全程包辦但你是否知道這些小廣告及謠言背後可能涉嫌違法犯罪準駕車型及代號戳圖查看
  • 網紅P圖後差別有多大?200斤變90不是夢,最後一位網友求P圖教程
    在美圖秀秀,美拍手機的盛行下,不少女生自拍後,都免不了要P圖,不過,以前自拍是360°環拍100張,最後選擇最好看的幾張po在網上。現在可好了,都是拍照10分鐘修圖2小時。這樣就不免冒出照騙了接下來,小編收集了,一些PS大神的神作,圖片預警,建議流量黨WiFi下觀看是不是很震驚,不過,這些都是PS大神的作品,普通人是不會這麼幹的,當然,在日常生活中,一些網紅就另當別論了接下來,這位可是被網友追著問P圖教程的
  • 南京機場勸返成都旅客圖片是假的 惡意P圖者究竟什麼心態?
    南京機場勸返成都旅客圖片是假的 惡意P圖者究竟什麼心態?時間:2020-12-12 22:54   來源:今日頭條   責任編輯:沫朵 川北在線核心提示:原標題:南京機場勸返成都旅客圖片是假的 惡意P圖者究竟什麼心態?
  • P圖大神實在惹不起,圖4小哥堪比長頸鹿,圖5太「噁心」忍不了
    P圖大神實在惹不起,圖4小哥堪比長頸鹿,圖5太「噁心」忍不了1、我不想擁有摩託車,因為太丟人了。能不能幫忙P成汽車,能打開窗戶的那種更好的,麻煩了。大神一看就是故意的,直接都點燃了,啥也沒有了,還霸氣個啥啊,以後還敢招惹嗎?
  • 6款超級少女心的p圖軟體推薦
    在之前的p圖軟體推薦文章,小編給大家推薦了許多具有個性化功能的p圖軟體,比如:美食p圖軟體、濾鏡比較多的p圖軟體,今天的p圖軟體推薦文章,小編就6款超級少女心的p圖軟體推薦,希望大家會喜歡!;  數不清的貼紙和完整模板;  讓你一瞬間就可以p出美圖;  分享朋友圈空間毫無壓力;  在閃閃的星光下變身甜美小仙女!
  • 筆記(乾貨):dropout原理總結
    圖1為:稠密網絡2012年,Dropout的想法被首次提出,它的出現徹底改變了深度學習進度,之後深度學習方向(反饋模型)開始展現優勢,傳統的機器學習慢慢的消聲。嗯,這就是為什麼還需要Dropout了,它面對L1,L2問題時,避開了共同適應問題,提出了自適應,因而我們可以搭建更深的神經網絡。額,如果你只需了解Dropout的故事,看到這裡就可以了,如果你想更深入了解一下Dropout,以及背後的數學原理,那麼請耐心的繼續往下閱讀吧。
  • 百度遷徙圖背後的技術原理是什麼
    最近一朋友問我百度遷徙圖到底是怎麼弄出來的?而在這過程中發現我原來也有我好多不明白的地方,這也激發了我這個技術宅的興趣,我到處找資料研究終於知道了基本的整個原理,後來想想肯定也有很多朋友不知道這背後的原理,那就分享出來做個科普吧。
  • 31歲張含韻「生圖」又上熱搜,逆齡 or P 圖?
    我一下子還看懵了,啥…"路透"?還是"生圖"?我還以為生孩子的圖片...  「生圖」就是「沒有修過(p 過)的原始照片」,而與之對應的就是「熟圖」。  根據照片修整的程度,網友們還創造出「熟度」的概念,比如1分熟,就是稍微 P 了一下,跟原始圖片沒啥區別;而最高的10分熟,就是 P 得連親媽都不認識了。