1. 程式人生 > >用深度學習技術FCN自動生成口紅

用深度學習技術FCN自動生成口紅

1 這個是什麼?

       基於全卷積神經網路(FCN)的自動生成口紅Python程式。


圖1 FCN生成口紅的效果(注:此兩張人臉圖來自人臉公開資料庫LFW)

2 怎麼使用了?

       首先能從這個Github (https://github.com/Kalafinaian/ai_lips_makeup) 中下載這個python專案。下載解壓後你得到這樣一個程式。


圖2 口紅Python程式

       本專案的執行環境為Python3.6,需要的深度學習包tensorflow , 臉部圖形處理包dlib,通用計算機視覺處理包cv2,以上三個python軟體包都可以通過如下pip命令按照

       pip install opencv-python
       pip instll dlib=19.16.0
       pip install tensorflow=1.12.0

       安裝好必要的python包後,就直奔主題說如何給一張人臉圖加上口紅,用pycharm開啟專案執行main_predict.py。按照提示選擇口紅效果,再輸入人臉圖片的地址,最後加上口紅的照片會在test_out資料夾中儲存。


圖3 FCN口紅執行演示

       同理類似處理test_in資料夾下的002.jpg,那麼在test_out資料夾下可以獲得加上亮面口紅的人臉照片了。


圖4 FCN口紅的預測輸出

3 程式的原理

       這個基於全卷積神經網路的FCN口紅的工作原理如下 (釉面口紅為例)
       (1) 訓練集輸入為沒有口紅的人臉,訓練集輸出為有釉面口紅人臉,共170
個訓練集。(因版權原因本程式不提供完整人臉,只提供口紅照片)


圖5 沒有口紅的人臉

圖6 有釉面口紅的人臉(誠如所見,訓練集口紅都是人工PS的