一張自拍即可實現(xiàn)變老變年輕,帶你感受時光流逝之美 全球快訊
來源:騰訊云     時間:2023-03-06 18:10:46


(資料圖片僅供參考)

? 項目效果

飛漿是一個由百度推出的深度學習開發(fā)平臺,為開發(fā)者提供了高效、易用、靈活和全面的深度學習開發(fā)工具和服務。PaddleGAN是飛漿在圖像生成和處理領域的一個代表性項目,通過深度學習的技術和飛漿的支持,PaddleGAN可以實現(xiàn)多種驚人的圖像處理效果,例如圖像轉換、人臉編輯、動態(tài)效果生成等等。其中內置了StyleGAN V2FOM分別實現(xiàn)人臉屬性編輯和人臉動畫效果。這些技術和應用在很多領域都有廣泛的應用,例如娛樂廣告電影制作虛擬現(xiàn)實等等。
官方效果預覽

? 環(huán)境搭建

這里個人推薦使用 Anaconda搭建本地環(huán)境,因為如果項目太多,后期非常不好管理另外推薦全局更換 pip源:pip config set global.index-url https://mirror.baidu.com/pypi/simple如果未更換源的話,下載會超級慢,甚至下載失敗,也可以通過 -i臨時設置源:pip install xxx -i https://mirror.baidu.com/pypi/simple
# 創(chuàng)建環(huán)境conda create --name PaddleGAN python=3.6# 激活環(huán)境activate PaddleGAN# 安裝依賴cmakepip install cmake -i https://mirror.baidu.com/pypi/simple# 安裝依賴boost pip install boost -i https://mirror.baidu.com/pypi/simple# 安裝依賴numpypip install numpy -i https://mirror.baidu.com/pypi/simple# 安裝依賴dlibpip install dlib==19.8.1 -i https://mirror.baidu.com/pypi/simple

? 下載PaddleGAN

GAN是一種深度學習模型,是近年來復雜分布上無監(jiān)督學習最具前景的方法之一在安裝依賴的時候,因使用的環(huán)境是 python3.6,所以需要將 requirements.txt文件中的 opencv-python加上一個版本號opencv-python==4.3.0.38,不然默認安裝最新版本的,而最新版本的無法被下載成功
# 下載源碼git clone https://gitee.com/PaddlePaddle/PaddleGAN# 進入項目目錄cd PaddleGAN# 安裝項目依賴,這里一定要設置全局源pip install -r requirements.txt# 安裝環(huán)境python setup.py develop

? 安裝飛漿

安裝 CPU版本,不容易出錯,但速度會有點慢,如果有 GPU盡量使用 GPU版本我這里只安裝最新的,如果想要安裝指定版本,請查看飛漿官方教程
# CPU版本pip install paddlepaddle# GPU版本pip install paddlepaddle-gpu

? 生成圖片潛碼

需要通過命令生成原圖對應的 Latent Codeinput_image:輸入的圖像路徑output_path:生成圖片存放的路徑weight_paht:預訓練模型路徑model_type:PaddleGAN內置模型類型,若輸入 PaddleGAN已存在的模型類型,weight_paht將失效,當前可用:ffhq-inversionffhq-toonifyseed:隨機數(shù)種子size:模型參數(shù),輸出圖片的分辨率style_dim:模型參數(shù),輸出圖片的分辨率n_mlp:模型參數(shù),風格z所輸入的多層感知層的層數(shù)channel_multiplier:模型參數(shù),通道乘積,影響模型大小和生成圖片的質量cpu:是否使用 cpu推理,若不使用,請在命令去除測試人像是用 StyleGAN2技術模型生成的,僅用做測試,不存在侵犯任何人肖像權
數(shù)字人像原圖
# 命令模板cd applications/python -u tools/styleganv2.py \       --input_image <替換為輸入的圖像路徑> \       --output_path <替換為生成圖片存放的文件夾> \       --weight_path <替換為你的預訓練模型路徑> \       --model_type ffhq-inversion \       --seed 233 \       --size 1024 \       --style_dim 512 \       --n_mlp 8 \       --channel_multiplier 2 \       --cpu# 使用的命令python -u applications/tools/pixel2style2pixel.py  --input_image E:/PaddleGAN/results/input/beauty.jpg  --output_path   E:/PaddleGAN/results/output --model_type ffhq-inversion --seed 233  --size 1024  --style_dim 512  --n_mlp 8  --channel_multiplier 2 --cpu

? 老齡化處理

latent:要編輯的代表圖像的風格向量的路徑。可來自 Pixel2Style2Pixel生成的 dst.npy,也就是上面生成的潛碼 latent2:第二個風格向量的路徑。來源同第一個風格向量output_path:生成圖片存放的文件夾weight_path:預訓練模型路徑model_type:PaddleGAN內置模型類型,若輸入 PaddleGAN已存在的模型類型,weight_paht將失效,當前建議使用:ffhq-config-fsize:模型參數(shù),輸出圖片的分辨率n_mlp:模型參數(shù),風格z的維度channel_multiplier:模型參數(shù),通道乘積,影響模型大小和生成圖片的質量direction_path:存放一系列屬性名稱及對象屬性向量的文件路徑。默認為空,即使用 ppgan自帶的文件。若不使用,請在命令中去除direction_name:要編輯的屬性名稱,對于 ffhq-config-f有預先準備的這些屬性:ageeyes_openeye_distanceeye_eyebrow_distanceeye_ratiogenderlip_ratiomouth_openmouth_rationose_mouth_distancenose_rationose_tippitchrollsmileyaw
老齡化
# 命令模板cd applications/python -u tools/styleganv2editing.py \       --latent <潛碼路徑> \       --output_path <新人臉(年齡變換后)的保存路徑> \       --model_type ffhq-config-f \       --size 1024 \       --style_dim 512 \       --n_mlp 8 \       --direction_name age \       --direction_offset 3       # 使用的命令python -u applications/tools/styleganv2editing.py --latent E:/PaddleGAN/results/output/dst.npy --output_path E:/PaddleGAN/results/old --model_type ffhq-config-f --size 1024 --style_dim 512 --n_mlp 8 --channel_multiplier 2 --direction_name age --direction_offset 3

? 年輕化處理

direction_offset:這個參數(shù)的絕對值越大,處理程度越重,絕對值越大顯得越年輕或者老齡化越嚴重
年輕化
cd applications/python -u tools/styleganv2editing.py \       --latent <潛碼路徑> \       --output_path <新人臉(年齡變換后)的保存路徑> \       --model_type ffhq-config-f \       --size 1024 \       --style_dim 512 \       --n_mlp 8 \       --direction_name age \       --direction_offset -3# 使用的命令python -u applications/tools/styleganv2editing.py --latent E:/PaddleGAN/results/output/dst.npy --output_path E:/PaddleGAN/results/young --model_type ffhq-config-f --size 1024 --style_dim 512 --n_mlp 8 --channel_multiplier 2 --direction_name age --direction_offset -3

關鍵詞: 深度學習