來源:科技日報

隨着各類直播、短視頻和社交媒體的興起,我們彷彿生在一個“人均美女帥哥”的社會,事實真是如此嗎?

拜各類技術和軟件的發展所賜,當我們出現在鏡頭面前時,計算機算法就已經自動將採集到的人像進行了美顏處理。因此,鏡頭裏的人總是那麼“不真實”。

那麼,這些軟件背後需要用到什麼程序算法?計算機是如何識別人的面部和身體,並對這些部位進行美化的呢?

其實,美顏和繪畫有很多相似性,繪畫首先是畫線稿,確定人體基礎結構,然後在線稿之上進行上色,逐步豐富細節,最後完成一幅作品。

我們拍攝的原始人體圖像也是“畫線稿”,手機收集原始數據,將圖像上傳到後臺進行定位和識別。這一步的目的是確定人體的特徵位置。

接下來開始“上色”,用算法和技術對五官或身體部位進行分析、處理、美化,最後得到美顏後的圖像。

只不過完成一幅繪畫作品需要較長的時間,而美顏卻是瞬時的、即刻的,這背後需要有強大的計算機技術作爲支撐。

人臉關鍵點定位技術識別五官

如今的美顏相機,已經可以給眼睛畫眼影、給嘴脣塗口紅。那麼,這些功能是怎麼精準識別圖像中人臉的特定部位的呢?

這其中利用的是人臉關鍵點檢測技術,即通過尋找臉部特徵點來確定五官的精準位置。一般來說,定位的關鍵點數量越多,最終的美顏效果越好。

目前主流的人臉關鍵點檢測方法有兩種:基於特徵的人臉檢測和基於圖像的人臉檢測。目前使用最多的是基於特徵的人臉檢測方法。

原始人臉數據被上傳至後臺後,人臉檢測技術會對原始的圖像幀進行識別。眼睛、眉毛、T型區(即眼睛+鼻子構成的區域)、嘴、下巴會被依次識別,識別的數據被放入人臉信息結構體中,之後再被應用到具體的美顏算法中,對特定部位進行美化。

圖像平滑技術幫你磨皮

女生在化妝時會先塗一層粉底液,主要作用是美白和減少皮膚瑕疵。這其實就相當於美顏功能中的美白和磨皮。

好的磨皮效果應該是怎樣的?首先最重要的是讓皮膚變光滑,同時還要儘量保留更多細節(如皮膚肌理),讓五官輪廓清晰可見,這樣的圖片看起來更真實、更有質感。

磨皮利用的是圖像平滑技術,因爲在拍攝圖像時會受到噪聲干擾,使圖像質量降低,因此要對噪聲進行過濾。過濾後的圖像將變得平滑,多餘無用的信息會被剔除掉。

過濾圖像噪聲的工具是濾波器,一般常用的濾波器有中值濾波、邊緣保持濾波、雙邊濾波(又稱高斯雙邊濾波)等。中值濾波和邊緣保持濾波的缺點是不能很好地保留圖像的邊緣信息;而雙邊濾波可以保留大量人臉細節且確保邊界處不會被模糊掉,因此其應用最爲普遍。

色彩模式切換美白皮膚

我們人眼的“像素”很高,能看見世界的色彩斑斕,那沒有“眼睛”的計算機怎麼識別顏色呢?

圖像中的色彩一般用RGB模式表示,R、G、B分別代表紅、綠、藍,具體數值從0—255變化。R、G、B的數值越趨於0,圖像越黑;相反,越接近255就越白。此外,還有HSV模式(H、S、V分別代表色彩、飽和度、明度),這兩種色彩模式可以通過算法實現轉換。

很多美白技術會將RGB模式轉化爲HSV模式後再進行調整:先用算法對皮膚像素的顏色數據進行大量統計,得到膚色像素的取值範圍,然後再調節像素的各項數值大小,讓圖像中的皮膚變白、變亮。

模板與原圖合成“定製”妝容

美顏相機裏還能“定製”妝容,包括口紅、腮紅、眼妝等。這是因爲相機軟件裏植入了預先設計的、不同風格的妝容模板,當人臉出現後,首先會基於人臉關鍵點檢測技術,識別出特定部位,然後妝容模板會投射到人臉特定區域,最後妝容和原始圖像進行高效合成,給圖像裏的人“化妝”。

以畫眉爲例,許多軟件都提供了多套眉毛的圖片模板,先檢測出原始圖像眉毛的關鍵點位置,眉毛的第一個關鍵點會作爲貼合的起始位置;算法還會對眉毛模板的大小和範圍作出調整,使模板和人的原始眉毛能更好地貼合;最後在原圖上進行融合,得到自然、逼真的畫眉效果。

這樣一看,美顏果然是個“技術活”。

(據數字北京科學中心公衆號)  

相關文章