如何成為一個 IT 界的女裝大佬?
本文來自作者於航 在 GitChat 上分享「如何利用“女裝術”突破基於二維影象的人臉識別」,「閱讀原文」更多內容
「文末高能」
編輯 | 晴子
首先宣告,這並不是一篇認真嚴肅地討論某種 IT 技術的文章,但這並不代表本文所描述的內容和觀點沒有任何技術含量。
其次,本人在撰寫這篇文章時已經徵得女朋友的同意,本人也無任何精神類疾病史,所以請諸位放心閱讀。
傳統的人臉識別技術主要包括“基於幾何特徵的方法”、“基於模板的方法”和“基於模型的方法”,“基於幾何特徵的方法”是通過將面部幾個重要器官的特徵點位置作為分類特徵進而推匯出一組特徵向量。
向量中包含如距離和角度等資訊,每一幅人臉畫面之間通過各自的特徵向量來計算對應的相似度進而進行人臉識別和判斷,但由於特徵點的數量過少,並且特徵點的敏感性不高,因此該方法的準確率並不高。
“基於模板的方法”作為“幾何特徵方法”的改進,加入了一個“損失函式”(Cost Function),通過調節和優化該損失函式,使該函式最小化時對應模型的準確率最高,但這種方式的計算量過大並且需要大量的預處理和精細的引數選擇,神經網路便是“基於模板的方法”中的一種。
“基於模型的方法”中效果較好的彈性圖匹配技術是通過幾何特徵和對灰度分佈資訊進行小波紋理分析相結合的識別演算法,但該演算法的時間複雜度較高,速度較慢,實現複雜。
如果將這些種方法根據計算成本、準確率等方面綜合對比下來,基於“神經網路”的人臉檢測方案會更具有優勢。但這些技術僅僅基於二維圖片資訊所給出的特徵而作出的人臉判斷結果,其魯棒性是否可靠呢?
原始
在化妝之前,我們先用未經加工的原始圖片來進行人臉檢測,記錄一下化妝前的效果。
這裡我直接選用了頭像的照片,人臉檢測平臺選用了 Face++。可以看到檢測結果中的性別正確,但是年齡推斷的準確率並不高,臉部的各個特徵點定位準確。
化妝
化妝這部分我主要以簡單介紹自己常用的基礎護膚和彩妝流程為主,具體的化妝教程和產品大家還是通過相關視訊來學習和選購比較詳細清楚,畢竟很多需要注意的細節是很難用幾張圖片來描述清楚的。
妝前護膚
一個精緻的妝容最重要的就是底妝,底妝的好壞直接決定了彩妝最後的效果。而底妝之前的妝前護膚過程也直接決定了底妝的好壞。一個簡單通用的妝前護膚流程如果用 Flowchart 來描述的話是這樣的:
其中虛線框代表可選過程。第一步通常都是用清水潔膚,也就是俗稱的洗臉。在潔膚的過程中是否需要使用洗面奶要看個人,由於洗面奶具有較強的潔面去油功效,因此大部分都含有表面活化劑,不建議一天使用超過兩次。
一般我們都是在睡前使用洗面奶來進行徹底的潔膚,如果是隔天早上需要化妝,則第二天早上的潔膚過程便不建議再使用洗面奶了。
當然這個具體還是要因人而異,如果你的面板出油情況特別嚴重影響了上妝的過程,那可能還是需要一次徹底清潔的過程。
在潔膚之後是可選的敷面膜過程,這個過程並不是必要的。但如果你是很嚴重的幹皮,可以考慮加入一個補水面膜的過程。
後續的水、精華和乳液則是常用的套路,也是日常護膚中需要的步驟。我自己使用的是 Innisfree 的綠茶水加乳液和紅石榴的精華,當然你也可以選擇一些男士專用的產品,但基本上都差不多。
這裡大致說下精華、水和乳液的基本作用。這裡的水一般指化妝水或者爽膚水,主要是用來為肌膚迅速補充水分同時恢復面板的酸鹼平衡。乳液的主要作用是用來保溼和補充營養。
精華一般含有高濃度的護膚成分,主要用於除皺、保溼、美白和抗衰老等作用,在一定程度上可以修正肌膚的問題。
彩妝
彩妝是一個很大的話題,每一個部位的彩妝畫法都有很大的學問。首先還是通過一個 Flowchart 來概括下我自己化妝時彩妝部分的大致流程:
基本流程如上圖所示:
-
修容(遮黑眼圈、胡青)。首先鬍子作為男人的第二性特徵當然要作為處理的重點,首先要剃乾淨,對於一些胡青很重,粉底難以遮擋的童鞋來說可以嘗試用遮瑕液和遮瑕膏進行遮蓋,然後再用遮蓋力較高的粉底處理即可。
同樣的,對於經常熬夜的人來說,黑眼圈也是必須要用遮瑕膏/液處理掉的。遮瑕膏的色號需要比自己的臉部膚色深一個色號。
-
粉底/氣墊CC。下一步是上粉底的過程,這裡可以選擇粉底液或者CC氣墊,具體使用哪種可以看心情,個人感覺沒有明顯的區別。
上粉底液時可以選擇使用手指、氣墊或者美妝蛋等工具。手指比較服帖但容易塗不均勻,美妝蛋比較吃粉會使粉底液的遮瑕能力大打折扣,所以氣墊是一個很好的選擇。選擇粉底時建議選一個比自己臉部膚色白一個色號的。
-
散粉定妝。到這裡我們的底妝就基本完成了,用散粉定一下妝可以使妝容更自然、更持久。為後面上彩妝打好基礎。
-
修容(陰影、高光、鼻影)。首先我們要對面部的整體輪廓進行調整,包括面部的高光和陰影,以及鼻影。
面部的高光和陰影可以使面部的輪廓更加突出,讓五官更加立體。同時修飾臉型,讓臉部看起來更小、更精緻。
-
眼妝(眉毛、眼影、眼線、假睫毛、臥蠶)。眼妝可以說是整個彩妝階段最重要的部分,一個炯炯有神的大眼睛可以掩蓋面部的一切問題,因此怎樣化妝能夠讓自己的眼睛顯得更大更有神是這個步驟最需要解決的問題。
首先是眉毛部分,其實眉毛和眼妝應該是獨立開來的,這裡為了簡化流程所以放到了一起。
眉頭的位置和自己的虹膜內側邊緣應該在一條垂直線上,眉尾的位置是由眼角到鼻頭的直線和眉毛所在直線一起決定的,兩條直線所在的交點即為眉尾的位置。
接下來畫眼線,眼線分為內眼線和外眼線,內眼線是指眼睫毛下部內側的眼線,同理外眼線是指眼睫毛根部到眼皮方向的外側眼線。
接下來是假睫毛,在黏假睫毛之前需要先把假睫毛專用的膠水塗抹在假睫毛的根部,然後用手指將假睫毛適當彎曲成與自己眼睫毛同樣的弧度,接下來再用夾子夾住假睫毛並粘在自己外眼線貼近睫毛根部的地方即可。
臥蠶位於眼睛的下眼皮,我們一般先用陰影勾勒出臥蠶的邊緣,然後再用高光填充臥蠶的區域即可。
-
腮紅。建議使用上色力度不強的腮紅來進行少量多次的上色。上腮紅的位置一般是在眼睛下方一直到顴骨的位置。一般是以水平的方向從鼻樑兩側向顴骨方向上色。
-
口紅(潤脣膏、口紅/脣釉)。在塗口紅之前需要先塗一層潤脣膏,因為化妝品裡多少都會含鉛,口紅也不例外。
在擦口紅之前擦潤脣膏,可以有效的防止口紅中的色素滲入脣部紋路,從而減少了鉛與面板直接接觸的機會。除此之外,潤脣膏也可以有效的防止嘴脣由於乾燥而引起的脫皮問題。
-
散粉定妝。在所有的彩妝流程結束之後,我們最後再用一層散粉來定妝,保證妝容的永續性同時讓妝容更加自然和服貼。
服飾
關於服裝的選擇,這裡主要強調一下,男性相對於女性,其體型的特點是上肢寬壯,下肢細長,腰跨比基本一致。因此建議選擇一些寬鬆的上衣,比如衛衣,可以很好的隱藏過寬的肩膀和強健的肌肉線條。
下身的基本建議就是裙子了,不管是長裙短裙還是蘇格蘭裙,只要你喜歡就可以。鑑於男性的平均身高一般比女性要高,因此鞋子的話建議無跟或者1-2釐米跟的單鞋即可。
可佩戴的飾品有很多種類,手鍊、手環、腳鏈等常見飾品。指甲油可以選擇水性型的,這樣可以在不需要的時候直接撕扯掉。
噴撒適量的香水可以在一定程度上增加自己的魅力,建議選擇如淡香水等味道不太重的香水。耳墜可以選擇帶有耳夾並且可以調節鬆緊的型別。
還有一些紋身貼紙可以根據自己的喜好來使用。頭飾儘量選擇較為簡單的夾子或者頭繩。假髮建議選擇自然黑的梨花中長髮,過長的頭髮並不好打理,很容易打結與掉髮。
過短的假髮達不到遮住肩部的效果。除非你的膚色本來就特別白,否則請儘量不要嘗試黃色的假髮。
中長長度的頭髮同時也可以很容易的打造出各種各樣的髮型,比如“半丸子頭”等可愛的造型。
拍照
網上有多到看不完的各種各樣的拍照技巧,但其實需要注意的點有幾個,只要掌握好這幾個自拍技巧(只是自拍),基本上大部分情況都可以駕馭:
-
記得收緊下巴。記得在每次自拍甚至外拍的時候都要提醒自己一定要收緊下巴。收緊下巴可以讓自己的臉更好的對準鏡頭,同時可以讓下巴邊緣與脖子有更加明顯的分界線,不會產生臉部很大的錯覺。
-
斜向下45度拍攝。這是一個常用的技巧,相信很多人都聽說過。同時再配合第一條收緊下巴的技巧會產生更好的效果。
這個角度的照片會給人一種臉小的錯覺,同時眼睛距離鏡頭較近,相對臉部會被放大。臉小眼睛大,這不就是我們想要的效果嗎?
-
不要刻意笑。刻意笑和發自內心的笑在表情的細節上有很大不同,自然的笑會同時帶動臉部的幾百塊肌肉一起發生變化,而刻意的笑可能只是嘴部周圍的部分肌肉發生了變化,這種肌肉的變化體現在照片上並不會給人帶來美感。因此不要刻意的笑,微笑也不要過於刻意和誇張,自然的表情最為重要。
出門
這一部分並不包含在人臉識別的實驗之內,當然如果你想著女裝出門的話可以參考這部分給出的建議:
-
夏天出門。夏天出門首先要注意防晒,除了塗抹防晒霜外還可以選擇帶一把防晒傘。喉結可以選擇佩戴一些 Chocker 來遮擋。
由於夏天較熱很容易出汗花妝,因此可以選擇佩戴一副墨鏡出門,在某種程度上可以幫你遮擋花掉的妝容。
-
冬天出門。冬天出門也要根據天氣注意防晒。相較於夏天而言,由於冬天穿著的衣服較多,因此如喉結等部位可以通過圍巾來遮擋,這樣不僅可以遮擋喉結同時還起到了保暖的作用。
另一方面怕花妝的朋友可以選擇隨身攜帶一次性口罩,必要的時候會幫助你度過難關。
要注意的是,女裝出門不宜時間過長,由於男性的鬍子生長速度較快,因此對於一些鬍子生長速度較快的人,經過6-10小時後,遮瑕基本已經無法遮擋鬍子的顏色。
檢測
經過了前面的化妝和拍照階段,接下來便到了檢驗成果的時候。
將如下所示已經拍攝好的兩張經過輕度美顏處理的照片分別經過同樣的 Face++ 人臉識別平臺進行處理。
最後得到的結果如下所示:
可見,Face++ 對兩張圖片的人臉識別結果中的性別判斷並不準確。這同時也顯示了二維/影象人臉識別的一些侷限性,在缺少了面部各個部位高度這一特徵後,單純的二維圖片可以對其上的畫素排列進行任意的改變,並且這種改變的成本並不高。
Face++ 的整個人臉識別流程可以歸結為:人臉檢測 -> 人臉定位 -> 人臉幾何校正 -> 人臉光學矯正 -> 特徵向量提取 -> 人臉識別。
當一張人臉圖片輸入人臉檢測系統後,首先需要通過人臉檢測先找到並確認出人臉的位置,然後在這個基礎上定位人臉關鍵點的位置(如眼睛中心或嘴角等)。
這些關鍵點的位置可以用來進行人臉的幾何校正,即把人臉通過縮放、旋轉、拉伸等影象變化變到一個比較標準的大小位置。這樣待識別的人臉區域會更加規整,以便於後續進行匹配。
接下來帶有標準點的人臉影象會通過一些濾波的方法,去除一些對光照更加敏感的面部特徵。在經過這些預處理過程之後,我們就可以通過諸如 Gabor 等邊緣檢測演算法從人臉區域提取各種特徵。
這些特徵數值最後會被拼接成一個特徵向量,這個特徵向量會經過最後的人臉識別系統進行特徵比對,最後得出識別結果。
收尾
我們並不清楚 Face++ 對於人臉性別的判斷是基於哪些特徵進行的,但無論如何,基於二維影象的人臉識別判斷很難達到99%的準確率,並且其魯棒性也無法達到一個很高的要求,因此也無法用於需要較高準確率的安全驗證領域。
相對基於簡單二維影象的人臉識別技術,增加了基於紅外高度測量技術的三維人臉識別技術未來將會有更廣闊的應用場景。
彩蛋
讓真正的前端牛人帶你採坑
公眾號內回覆「大漠窮秋」
快速上手 Angular
「閱讀原文」瞭解更多知識