用深度學習技術FCN自動生成口紅
阿新 • • 發佈:2019-09-07
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的