寧雨敏 桂子航 曹益暉 鄧明華*
(湖北師范大學 湖北·黃石 435000)
隨著生活水平的不斷提高,人們的審美水平也在不斷提升。發型作為能夠瞬間提升自身氣質和魅力的利器,受到越來越多的消費者的重視。但是由于每個人的臉型,五官和發質都存在差異,且發型的種類眾多難以挑選等客觀原因的存在。通常會導致最終設計的發型成品不能滿足消費者的需求。
雖然目前市場上存在一定數量的線上虛擬發型設計軟件,其能為用戶提供有限的虛擬發型模型,并可以實時更改所選發型的顏色。但由于普遍采用2D技術建立發型模型,用戶將不能立體的觀察App提供的虛擬發型特效。App中的發型設計只考慮發型的形狀,而沒有考慮到用戶面部特征如臉型、額寬、顴骨高度等,使虛擬發型特效達不到真實的效果,因此需要改進現有的及技術,增加虛擬發型的逼真度。而此款線上虛擬發型App不僅能給用戶更多的發型選擇,還提供更加逼真的線上虛擬體驗,讓用戶輕松擁有適合自己的發型,在一定程度上減少了消費者的發型設計成本。
為了使產品更好的服務于用戶,團隊在進行線上虛擬發型App功能設計前期進行了大量的問卷調查和分析工作。所設計的問卷包括三大模塊分別為“市場需求分析”,“虛擬發型App使用現狀”,“虛擬發型App應用前景”。隨機抽取100名18歲至35歲的消費者參加此次問卷調查,反饋問卷經嚴格篩選,保留100份有效問卷,有效率達100%。
在抽樣檢測的反饋數據中,對其中的三個模塊進行了具體的分析,如表1數據顯示,在“市場需求分析”這一模塊的分析中,可以了解到消費者普遍存在發型設計的煩惱。而消費者解決此類煩惱的方法大多數更傾向于到實體店進行發型設計,也有少數消費者并不進行發型設計,而是直接進行剪發操作。采用咨詢線上發型設計師進行發型設計的人比例更是占極少數。在“相關App的使用現狀”模塊中,消費者使用相關發型設計App的比例并不高,作為一種新興的發型設計模式,許多消費者并未涉足于此是可以理解的,這就需要相關的產品增加一定的宣傳力度,提高產品的實用性,讓用戶切身體會到科技為發型設計提供的便利,以此來進行產品推廣。“虛擬發型App應用前景”的調查則說明了用戶對線上發型App性能優化后使用情況的樂觀態度,可能會使用的人數占了半數以上,體現了用戶的存在廣泛的使用意愿。

表1:虛擬發型設計App前期調研
線上虛擬發型App基于大數據技術、3D建模技術和AR技術,將建立的海量數據圖庫收集到的有關發型和臉型模塊作為基礎,利用人像采集技術和Adaboost算法分析發型數據庫人臉面部特征,并以此為依據為不同用戶篩選合適的發型源。通過對發型固有屬性的研究以及加強3D模型渲染技術算法的使用,可以呈現給用戶更加貼合與完美的發型效果。

圖1:線上虛擬發型App系統結構
建立網絡發型數據庫,首先需要建立相關發型列表。如根據發型的長度大致分為短發、中長發和長發等,在此基礎上可進一步細分為短卷發、短直發、長卷發、長直發。以發型名稱為依據開展收集發型圖片工作。由于發型數據庫的圖片總數過多,人工手動收集圖片的效率過低,需要我們采用自動化測試方法進行圖片的收集。找到相關的發型圖片網站利用Selenium來通過代碼調取瀏覽器程序,自動下載收集所需的網絡發型圖片,在將要獲取的圖片加載到下載序列中之后,迅速搜素下一張圖片,有效的提高了圖片的獲取速率。在經過數據入庫后,形成發型數據庫。大量的圖片能將各種臉型和發型的數據進行一個初步的存儲,形成App內的海量發型源。
人臉基本特征分析需分兩個階段分析。在 App開發前期,需要對建立的發型數據庫中的海量圖片進行人臉特征分析。在用戶使用App的仿真發型設計功能時,進行實時的人臉特征分析。將兩個人臉特征進行數據比對,就可以得到適合用戶的發型源。
在傳統的人臉特征分析中,一般不直接分析全部人臉區域,而是通過獲得人臉特征點鄰近區域進行相關的特征提取,最初基于深度學習的人臉特征提取仍然按照這個傳統流程進行。運用Adaboost算法挑選出一些最能代表人臉的區域特征進行識別預處理、包括光線補償、灰度變換、直方圖均衡化,幾何校正。采用知識的表征方法來獲得人臉分類的特征數據,通過對特征點間的歐氏距離、曲率和角度的分析和計算實現用戶面部重塑,并通過與前期圖片數據庫采集相關面部基本數據進行大量比對,篩選出符合用戶形象的發型樣本。
3.3.1 3D發型建模
為了進一步完善發型 App的用戶發型設計自動生成模塊,在對頭發進行建模與仿真時,特別考慮了頭發的固有屬性,如硬度、粗細、長度、形狀等。一個好的頭發模型應該能最大程度模擬現實中頭發的固有屬性,在頭發的建模中考慮每一根發絲的細節是不可取的,這樣不僅會增大仿真的難度還不利于實現最終想要達到的效果。可以采用對頭發簇為單位進行分析建模,在一個頭發簇內有一個主頭發用來控制頭發簇的整體走向,其余同簇發絲將具有相同屬性。
在利用Poser對頭發簇的設計的過程中,將主頭發作為基準確定頭發簇走勢,運用截面曲線來設計頭發簇的截面現狀。先在設計平面上給出位于截面曲線上的一些點,運用周期性曲線反算算法中的節點矢量確定截面曲線的節點矢量,算出截面曲線的控制頂點。后期可通過修改控制頂點對局部地區的模型進行調整,使之呈現出更加貼合和完美的效果。在建模的過程中為了減少計算量,同一頭發簇的所有截面曲線將采用統一的節點矢量,且取截面曲線的數目等于主頭發數據點的數量。
由于主頭發控制了頭發簇的走勢,因此需要對主頭發的生長點進行合理的的選擇。模型將整個頭部分為許多的小的頭發生長區域,一個頭發生長區上至少生長一根主頭發。在確定所需設計的主頭發的數量和位置后,只需要對頭發形狀進行調整即可得到期望的發型。
3.3.2 發型3D模型渲染
利用SGI公司推出的開放性三維圖形軟件包OpenGL工具進行3D渲染。三維環境中物體的材質過于單一,缺乏真實感,利用已有的紋理映射技術、對建立在紋理坐標系中的圖形經行紋理貼圖,可使得虛擬發型的各種屬性更加逼真。
紋理可以分為兩種,一種是通過顏色色彩或明暗的變化體現出表面細節,這種紋理稱為顏色紋理;另一種紋理由不規則的細小的凹凸組成。在此次3D渲染中,采用主要采用的是顏色紋理的模擬。
在實際進行3D渲染時,先計算有關的光照量和進行紋理映射。在頭發簇表面進行紋理圖像的預處理后,將頭發簇表面的點和紋理圖像上的點進行相互映射,形成初步質感。再對發型模型的色彩、光影和亮度進行調試使生成的發型模型更見接近真實狀態,最終完成模型的渲染。
3.3.3 AR發型設計真實體驗
利用實時的計算攝影機影像的位置及角度加上相應的圖像、視頻、3D模型技術通過傳感技術將生成的匹配發型放置在真實環境中,借助特殊的顯示設備將虛擬的發型和用戶的頭部進行精確匹配,用戶能將設計出的三維立體發型模型直接佩戴,以實現更好的視覺體驗感和更加切合現實狀態的虛擬發型設計。
該線上虛擬發型App的設計,是為了通過已有的AR技術為用戶提供更加切合自身需求的虛擬發型,減少消費者因不知如何設計發型而帶來的不必要消費情況,讓用戶能真正的體會到改變發型帶來的愉悅。