王丙正 韓蔚琪 劉世豪
【摘? ?要】隨著科技的快速發展,人們開始追求自拍美。然而單純手機影像硬件帶來的提升,會過分突出臉部細節的不足。故本文提出基于人臉關鍵點檢測與引導濾波技術的人臉圖像美顏算法。該算法首先對圖片中的人臉進行檢測,定位關鍵臉部器官的位置,再根據引導濾波器,濾除臉部存在的皮膚缺陷,完成對人臉圖像的美顏效果。經過實驗結果得出結論,該算法能夠較好的濾除臉部噪點,對臉部的關鍵五官有很好的保邊效果,總體上能得到一張真實性強、磨皮效果好的結果圖。
【關鍵詞】人臉圖像美顏;人臉關鍵點檢測;保邊濾波;引導濾波
引言
隨著社會的發展和科技的進步,越來越多的人開始追求時尚和美麗。手機拍照硬件的快速提升更是加速了這一過程。隨著硬件的飛速發展,人們臉上的缺陷也毫無保留地暴露出來,嚴重影響了圖像的美觀。故針對此情況,提出人像美顏算法,使其在后期能通過圖像修正等手段對圖片進行美化。圖像濾波技術是人臉美顏的關鍵技術之一,在盡可能保留圖像細節的同時,能夠很好地抑制目標圖像的噪聲。對于數字圖像而言,噪聲表現為像素值大小的極值。正是噪聲的存在,極大地降低了圖像的質量。一般來說,要構造一個良好的噪聲抑制濾波器,需要考慮其對人像圖片的瑕疵噪點產生的過濾效果,同時也要考慮其是否能有效的保留圖像中的邊緣信息,不損失圖像的細節。引導濾波算法就是實現上述效果的典型算法之一,它在實現對人臉圖片美化的同時,保留了圖像臉部輪廓及面部器官的細節,在一定程度上降低了人臉圖像的美顏痕跡,給人以更加真實的自然美的感覺,在人臉美顏方面有著廣泛的應用。
1.人臉關鍵點檢測
對于人像美顏算法而言,實際主要的美化工作更集中在對人臉面部的美化上。所以要對面部進行美化,首先需要對圖片進行人臉面部檢測,定位到圖片中人臉所在的位置。人臉本身具有一定的特殊屬性,如人臉形狀大體上是一個橢圓形,在色彩上皮膚與其它非皮膚區域有很大的區別,在數字化圖像里表現為像素點值的跳變;除此之外,人臉的中心區域也是由眉毛、眼睛、鼻子、嘴巴等具有特點的器官構成,這些特殊的屬性成為了人臉圖像的特征區域。基于這些特征區域以及面部輪廓的關鍵點,我們可以準確地獲取臉部以及臉部各個器官的位置信息,進而能夠對圖片進行濾波美化處理。
利用Python語言進行人臉關鍵點的檢測,圖(a)是輸入參數圖片,即原圖,圖(b)是原圖的86個面部關鍵點檢測結果。從(b)可以看到,圖像中人臉輪廓以及人臉主要特征器官被關鍵點標識出。
2.濾波算法
2.1 高斯濾波
高斯濾波器是一種適用于消除高斯噪聲的線性平滑濾波器。經過高斯濾波處理后的圖像,該圖像里面每個像素點的值都是經過該像素點與其鄰域內的其它像素點經過加權平均后得到。其公式如下:
在公式(1)中,是濾波權重,是歸一化常量,和是圖像像素索引。從公式中可以看出,像素點的過濾值由該點與其鄰域像素點通過加權平均后得到,且該像素點鄰域內的其它像素點的權值大小與其距離成單調關系。對的數值進行改變,相當于改變了該點鄰域內的其它像素點對當前像素點的權重影響程度。如增大的數值就是提高該點鄰域的遠處像素點對該像素點的權重,造成的濾波效果也會更加明顯。
但在實際使用中發現,對圖像進行高斯濾波過濾,人臉面部的一些細節無法被保留,面部輪廓和五官同樣進行了模糊,沒有達到理想效果。因此基本的高斯濾波無法滿足需求,需要在其基礎上考慮其它影響權值的因素。
2.2 保邊濾波
人臉圖像一般都存在噪聲,而噪聲和邊緣在局部方差方面表現相似,所以對于圖像中存在的噪聲和邊緣,一些濾波算法并不能區分。故而在很多情況下,濾波后圖像的邊緣會變得模糊,存在邊緣模糊且殘余噪聲較大等缺點。如上面提到的高斯濾波算法就存在這樣的問題。這時候就需要對算法進行更新。保邊濾波器是指在濾波過程中能夠有效的保留圖像中的邊緣信息的一類濾波器,能夠很好地解決壓噪和保邊之間的矛盾。引導濾波器屬于保邊濾波器的一種,與大多數邊緣保持濾波算法相比,它最大的優點是窗口的大小不影響算法的復雜度,在對大型圖像進行濾波處理時效率有明顯的提升。
2.3 引導濾波
引導濾波是保邊濾波器的一種,它需要引導圖像作為輸入,對待濾波圖像進行濾波處理,屬于一種圖像濾波技術。相比于雙邊濾波算法(另一種保邊濾波算法),引導濾波算法降低了濾波器的算法復雜度,在時間效率上有明顯提升。
引導濾波器是一種線性濾波器,如公式(2)所示。當對圖像中第個像素點進行處理時,引導圖像會對該點鄰域內點的權重造成影響,得到一個受該引導圖像影響的濾波輸出:
在公式(2)中,是經過濾波處理后的輸出圖像,是濾波窗口,為輸入的引導圖像,是受輸入的引導圖像影響的權值,是輸入的待濾波圖像。和都是該算法的輸入。
假設在濾波窗口上,輸出圖像和引導圖像存在局部線性關系,即表示為公式(3)。對于原圖可以這樣認為,原人臉圖像是輸出圖像疊加了噪聲影響的圖像,用數學符號表示就是,即原人臉圖像減去噪聲就為我們的輸出圖像。所以我們要優化這個公式,使其滿足噪聲最小。可以將其轉化為求最優化問題,得到濾波窗口內的損失函數為:
根據推導結果看出,當在圖像的邊緣區域時,在該區域像素點值的波動很大,方差會遠遠大于,根據上式,得到,根據公式(3),得到,表明在該區域保持邊緣不變;當在圖像的平滑區域時,在該區域內像素點值的波動很小,方差無限接近于,遠小于,根據上式得到的結果,得到,根據公式(3),得到,表明在該區域對圖像產生了濾波操作。所以,引導濾波在對人臉圖像美顏的處理方面,可以很好的濾除人臉圖像表面皮膚的噪點,對人臉五官和邊緣輪廓有很好的保留效果。
3.實驗結果及分析
通過Python語言編寫代碼,先經過人臉關鍵點檢測定位,再分別用高斯濾波算法與引導濾波算法實現人臉美顏效果。
下圖中,圖(a)是輸入圖片,即原圖;圖(b)是經過高斯濾波算法處理后的人像圖片;圖(c)是經過引導濾波算法處理后的人像圖片。
經過對比可以發現,經過高斯濾波處理的人像圖片,瑕疵去除效果一般,而且其面部輪廓與五官也都進行了模糊處理,導致五官顯示不清晰。經過引導濾波處理的人像圖片,其臉部瑕疵基本被濾除,噪聲減弱效果好,且面部輪廓與五官變得非常清晰,五官與皮膚之間的過度更加平滑,圖像整體更加真實,美顏效果明顯優于高斯濾波。
4 .結語
本文基于人臉關鍵點檢測技術與引導濾波算法的原理,對人臉圖像美顏進行了概述和探討。人臉關鍵點檢測技術可以快速的找到圖片中人臉面部輪廓以及臉部各個器官的位置。基于這些輪廓及關鍵點,對圖像面部進行美化處理。普通的濾波算法雖然可以有效的濾除圖片面部的瑕疵噪點,但對人臉圖像邊緣化的特征也進行了過分的過濾。于是本文提出了保邊濾波算法中的引導濾波算法,讓引導圖像與輸入圖像一致,使該算法成為一個保邊算法。利用Python語言,實現本文提到的人臉關鍵點檢測以及引導濾波算法,完成美顏效果。根據實驗所得圖像進行對比,發現該算法不僅有效的去除了人臉皮膚面部的瑕疵噪點,而且對耳眼口鼻等器官以及面部輪廓邊緣有很好的保留效果。
參考文獻
[1]張明麗. 人臉關鍵點檢測算法研究[D].北方工業大學,2018.
[2]石胡森. 基于深度學習的人臉關鍵點檢測方法研究[D].中國科學技術大學,2020.
[3]石野,王曉凱,劉慧鋒.基于局部濾波模板的雙邊濾波算法研究[J].測試技術學報,2021,35(01):49-53.
[4]張楊洋.濾波算法在數字圖像降噪中的應用[J].自動化應用,2020(12):49-51.
[5]張娜,劉娜,杜清漪.基于高斯同態濾波和引導濾波對圖像增強的研究[J].電腦知識與技術,2020,16(03):190-191.
作者簡介: 王丙正 (2000.6-),男,漢族,河南信陽, 本科,天津科技大學,研究方向:軟件工程。
韓蔚琪(1999.12-),女,漢族,甘肅蘭州,本科,天津科技大學,研究方向:軟件工程。
劉世豪(2000.3-),男,漢族,河南開封,本科,天津科技大學,研究方向: 軟件工程。
天津科技大學? ? 天津? ? ?300450