天天看點

雙11專欄 | 基于可微渲染模型的妝容解析技術背景問題分析及挑戰技術架構總結及展望

背景

近年來,以AI技術和端側渲染技術為加持的AR虛拟試妝,迅速成長為線上美妝購物的一種全新體驗模式,并受到越來越多的消費者好評。AR虛拟試妝技術使得使用者可以在足不出戶的情況下體驗美妝産品的上妝效果,體驗到跟實體店一緻甚至更加便捷的試妝效果。同時,随着AR試妝業務的興起,使用者的需求也逐漸多樣化。一方面,使用者希望盡可能多的線上美妝商品能夠支援虛拟試妝的效果,進而能夠嘗試更多的妝效組合,進行更充分地購買決策。另一方面,使用者不僅僅希望利用AR體驗平台提供的部分妝容,同時也希望體驗多種管道的相似妝容,例如,使用者在别的管道看到一款達人使用的口紅,希望找到相似色号的口紅商品并能夠體驗該口紅的實際上妝效果。對于第一種情況,要求平台不斷提升AR虛拟試妝的商品覆寫率,加速AR虛拟試妝的規模化,進而可以盡可能地容許消費者體驗平台上的所有美妝商品。對于第二種情況,則需要平台不僅具備在庫商品的試妝功能,同時也要具備解析使用者自定義妝容的能力,進而在平台商品中為使用者比對相似妝容的商品。

為了支撐更廣泛的使用者需求,2021年,我們基于妝容解析技術推出了面向商家的虛拟試妝自動配色服務,能夠大幅度地提升商家AR素材生産的效率,進而能夠加快AR美妝的規模化覆寫,為消費者提供更加完善的AR虛拟試妝體驗。基于妝容解析技術我們推出了口紅搜,使用者可以通過上傳圖像的方式精确搜尋淘寶同色号口紅,實作口紅商品的精準召回。本文将簡要介紹我們的妝容解析技術,主要分為三個部分,一是妝容解析技術具體分析及面臨的技術挑戰,二是我們的技術方案,第三部分是具體的應用場景及未來在AR虛拟試妝方面的演進方向。

問題分析及挑戰

 問題分析

雙11專欄 | 基于可微渲染模型的妝容解析技術背景問題分析及挑戰技術架構總結及展望

快速提升AR試妝的商品覆寫率

素材的品質及生産效率是決定AR商品覆寫的前提。以口紅類目為例,商家需要針對一款口紅的每個色号配置對應的渲染參數,而同一商品往往包含大量的色号,同時,配置參數需要不斷調整調優,才能保證渲染效果跟商品的實物效果一緻。是以,降低美妝素材生産的成本,提升配置效率,同時保證配置的品質是AR虛拟試妝的核心環節,同時也是擴大美妝AR覆寫和提升消費者體驗的重要前提。要實作美妝商品的自動配色,則需要研發一種基于商品圖像自動提取妝容參數的能力,進而能夠實作批量的AR商品配置,快速提升AR商品的覆寫率。

雙11專欄 | 基于可微渲染模型的妝容解析技術背景問題分析及挑戰技術架構總結及展望
  • 妝容解析及妝容檢索

對于使用者上傳的妝容圖像,平台需要具備基于帶妝圖像解析妝容參數的能力,進而能夠與在庫商品的妝容進行比對,能夠為使用者召回相似的商品。對于使用者上傳的帶妝圖像,要實作手淘美妝商品的同色号、同材質精确檢索,一個重要的前提是需要将使用者上傳的妝容圖像和手淘美妝商品的商品圖像對應的妝容特征統一映射到一個空間中。

基于以上兩種需求,我們設計并實作了妝容解析系統,能夠基于上妝圖像實作妝容參數的自動解析,進而能夠實作美妝AR的自動配色。同時,基于妝容解析系統,我們能夠實作使用者上傳妝容圖像與在庫美妝商品的精準比對,進而能夠為使用者推薦相似妝容的美妝商品。

▐  妝容解析技術挑戰

雙11專欄 | 基于可微渲染模型的妝容解析技術背景問題分析及挑戰技術架構總結及展望

商品圖像比較複雜,同時經過了很多後期的處理

通過商品圖進行美妝渲染參數的自動解析是一項極具挑戰性的工作,主要展現在以下幾點:

  • 美妝産品之間色差小,需要做到精确解析

例如,同一款口紅中,不同色号間的色差一般很小,是以需要在試妝時準确的展現出每個色号具體的顔色和材質,同時要展現出不同色号之間的差别。是以,模型需要保持解析參數的精準度。

  • 美妝參數對外部環境比較敏感,包含光照、圖像分辨率等等

圖像的外部環境因素會對最終色号造成很大的影響,特别是光照、分辨率等等。不同商品其拍攝環境相對比較自由,是以外部環境的差異往往會比較大。是以,模型需要對不同光照和其它外部環境的變化具有很好的魯棒性。

  • 模特本身資訊,如膚色、唇色、發色等對最終上色效果影響較大。

對于同款色号來說,不同的模特上妝後會有不同的表現,例如唇色本身對口紅上妝後的顔色具有決定性的影響,是以模型需要能夠處理美妝這種“千人千色”的特點。

技術架構

雙11專欄 | 基于可微渲染模型的妝容解析技術背景問題分析及挑戰技術架構總結及展望

在淘系的商品中,不同的商品圖可能包含不同層面的資訊,對于口紅類目的商品圖,其一般包含三種不同類型的資訊,可以通過綜合利用三種資訊提升參數解析的準确性。

  1. 模特圖,即包含模特試色的結果;模特試色圖是消費者線上購物進行比較和決策的首要資訊,其包含了口紅的實際上妝效果,是以模特試色圖是我們進行妝容參數解析的主要資訊來源。
  2. 帶有口紅膏體或口紅色塊的圖像;部分商品會帶有表示色号的色塊圖像,用來向消費者展示口紅的整體顔色,但需要注意的是,色塊的顔色隻表示口紅本身的顔色,口紅本身膏體的顔色與實際試妝的顔色會有一定差别。
  3. 文本資訊,商品圖中通常會包含比較寬泛的色系和材質相關的描述資訊;該資訊可以作為一定的參考,綜合提升妝容解析參數的精準度。

為了綜合利用三種不同的資訊,我們的妝容解析系統對于不同的資訊來源采用了不同的解析技術。其中,

  1. 模特試色圖包含了最直接同時也是相對最準确的色号參數資訊,為了從試妝模特圖中解析出準确的妝容參數,我們提出了一個基于CNN的妝容解析模型(後文簡稱Attribute-Net)來進行妝容參數的解析。
  2. 對于色塊資訊或膏體資訊,我們通過訓練的檢測模型(YOLO)定位到色塊資訊,然後基于圖像處理的方法進行色号的提取。
  3. 文本資訊:我們通過一個OCR模型來進行商品文本圖的識别和解析,篩選出色号及材質相關的資訊。

對于後兩種資訊,我們可以利用色塊圖及文本資訊得到相應的顔色和材質資訊作為商家配色的初始配置,但這種配置方法并不能完全準确的得到妝容參數,特别是對于一些特殊妝效的商品并不能完全提取出對應的妝容參數。是以,要得到準确且完整的妝容參數,需要基于模特試色圖,利用Attribute-Net來解析對應的渲染參數。下面我們将簡要的介紹在Attribute-Net中我們使用的兩種方案。

▐  方案1 :基于參數回歸的妝容解析架構

雙11專欄 | 基于可微渲染模型的妝容解析技術背景問題分析及挑戰技術架構總結及展望

在第一種方案中,我們直接直接使用一個基于CNN的回歸架構來實作渲染參數的回歸。其中

  1. 參數編碼:為了保證更加穩定的訓練結果,我們對渲染參數進行了編碼,其中針對顔色相關的參數,在Lab顔色空間進行了基于直方圖的量化編碼;針對材質等離散屬性,進行了one-hot編碼。
  2. 網絡結構:針對渲染參數不同的特點,我們利用不同的網絡分支進行不同參數的回歸。特别地,對于色彩相關的參數資訊,我們主要在淺層網絡中進行相關參數的回歸。對于材質等離散屬性,更多地依賴于語義資訊,我們利用網絡的深層特征進行分類。
  3. 損失函數:對于顔色等連續參數的回歸,我們利用MSE進行每個顔色分量的損失度量,同時我們利用修改後的CIEDE距離作為顔色差異的整體度量。同時,在模型訓練時加入Weight Normalization 及 weighted CE解決相似類别分類及類别不平衡問題。
  4. 訓練資料:我們首先利用渲染引擎生成的資料進行模型的預訓練,訓練完畢後freeze部分網絡層,采用一種漸進式的資料标注方法進行線上資料的過濾和标注,逐漸增加訓練樣本,進行網絡的微調。

通過針對性的網絡設計,我們訓練的模型能夠很好地進行相關參數的解析,進而能夠自動地利用商品圖進行渲染參數的配置。但在實際的應用及對測試集的分析發現,目前的模型還存在一些問題。其中一個突出的問題是部分樣本其整體的loss比較小,但最終配置參數渲染的效果離真實效果相差較大。在下節我們将分析産生這種問題的原因及相關的改進方案。

▐  方案2:基于可微渲染模型的妝容解析架構

雙11專欄 | 基于可微渲染模型的妝容解析技術背景問題分析及挑戰技術架構總結及展望

如上節所述,部分樣本其整體的loss相對比較小,但最終的渲染效果卻差異比較明顯。其根本原因還是渲染結果是由多個參數共同決定的,我們的最終目标是需要解析得到的參數渲染得到的圖像與真實圖像足夠接近,單獨去度量每個參數的損失并不能完全等價的表達渲染結果的誤差。是以,如果我們能直接度量渲染結果與真實圖像之間的誤差,參數的解析準确率将得到進一步提升。但渲染引擎本身不可微,是以無法直接加入網絡進行訓練。要實作直接度量渲染圖像與真實圖像的誤差,我們需要一個可微分的渲染引擎。

基于以上分析,我們設計并訓練了一個妝容渲染模型(MakeupRender)來直接模拟渲染引擎的渲染效果,進而可以基于渲染參數直接度量渲染圖像與真實圖像的誤差,進而更好地訓練妝容解析網絡。妝容渲染模型以帶渲染圖像和渲染參數作為網絡的輸入,經過一個Encoder-Decoder結構,最終輸出渲染後的妝容圖像。待妝容渲染模訓練完畢後,我們将該網絡的參數固定,加入到妝容解析模型中進行訓練,針對妝容解析模型解析的參數,利用可微渲染模型進行渲染,與真實圖像進行MSE計算作為渲染的loss,最終實作網絡參數的更新。下面我們簡要介紹一下MakeupRender的基本結構。

  1. 網絡整體結構:為了實作模拟渲染引擎的效果,我們以渲染參數和待渲染圖像作為輸入,經過一個Encoder-Decoder結構的映射網絡,輸出最終的渲染圖像。
  2. 參數映射:與StyleGAN類似,我們對輸入的參數利用一個映射網絡對渲染參數映射到隐空間中,最終和待渲染圖像一起輸入到網絡中。
  3. 損失函數:我們利用 L1 loss來度量生成圖像和渲染引擎渲染圖像之間的誤差,同時我們加入了Perceptual Loss和adversarial loss來進行網絡的優化。

通過方案2的優化,妝容解析的準确率相比方案一有了明顯的提升,核心原因還是方案二引入了妝容渲染模型,能夠更好地度量渲染圖像與真實圖像的差異,進而得到更精确的參數。

業務應用

有了妝容解析模型,我們可以進行很多場景的應用,目前比較典型的應用有以下幾個場景:

▐  AR美妝參數配置

雙11專欄 | 基于可微渲染模型的妝容解析技術背景問題分析及挑戰技術架構總結及展望

通過妝容解析模型,在AR虛拟試妝場景,我們可以基于商品圖自動進行渲染參數的解析,進而實作美妝AR參數的批量自動化配置,極大地降低了商家配置的工作量,同時提升了配置的準确度。通過線上資料的測試,我們的系統能夠達到80%以上的配置準确率。對于自動配置不是完全正确的商品,通過以自動配置參數為基礎配置進行調整,也能夠很好地提升配置效率,減少人工調整的次數。目前,我們已經在口紅、染發等類目提供了自動配置的服務,幫助商家更快更好地進行美妝AR參數的配置。(上圖每一組結果中左側圖像為商品圖,右側圖像為我們解析的參數渲染得到的上妝圖)

▐  口紅搜

雙11專欄 | 基于可微渲染模型的妝容解析技術背景問題分析及挑戰技術架構總結及展望

傳統的商品搜尋大多基于商品粒度(Item),但對于美妝類商品,以口紅為例,使用者希望實作同色号口紅的搜尋,例如明星或達人同款口紅。要實作這種同色号口紅的召回,則必須建構基于SKU粒度的精細化召回。目前部分平台提供了基于色系或材質的過濾和篩選,但色系及材質屬性一般來源于商品本身的附加資訊,其資訊一般來自于商品附加資訊,其準确性一般較低。此外,不同商家對于色号及色系的定義并不完全一緻,是以,基于商品标簽的資訊難以進行精确的檢索。

基于妝容解析系統,我們可以實作美妝商品的精細化檢索。對于庫中的所有的口紅商品,我們利用妝容解析系統進行其妝容參數的解析,進而将所有商家的商品統一到同一空間中,是以可以利用該空間中的特征及相關參數進行準确的同色号商品召回。

總結及展望

我們将持續優化和打磨AR虛拟試妝技術,不斷提升使用者體驗,優化色彩及材質還原效果,為消費者提供更加真實的試妝效果。基于妝容解析系統中積累的可微渲染模型,我們将積極探索基于可微渲染的美妝渲染技術,提升妝容渲染的貼合感和真實感。同時,基于3D的美妝渲染技術也是一個可以提升渲染效果的技術方向,特别是對于高光、材質的處理有着獨特的優勢。

在應用層面,基于目前的妝容解析技術,我們可以結合使用者妝容分析其妝容偏好,結合人臉屬性特征和商品流行趨勢,為使用者提供基于妝容解析技術的AI妝容搭配間,為使用者提供個性化的妝容搭配和美妝商品推薦服務。

繼續閱讀