日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

换发型算法_GitHub - fredliu168/yry: yry(颜如玉)—— 一个实现人脸融合的算法,可以接近腾讯天天P图疯狂变脸功能的效果...

發布時間:2024/9/27 pytorch 209 豆豆
生活随笔 收集整理的這篇文章主要介紹了 换发型算法_GitHub - fredliu168/yry: yry(颜如玉)—— 一个实现人脸融合的算法,可以接近腾讯天天P图疯狂变脸功能的效果... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

顏如玉

顏如玉 —— python 人臉融合程序,可實現類似天天P圖瘋狂換臉、face++人臉融合效果

項目描述

最近隨著各種技術的發展,圖像方面的人臉處理技術越來越廣泛。各大相機軟件都有美顏、貼圖、換發型、變臉等功能。天天P圖與Face++也都推出人臉處理的 API,不過價格方面就有點不親民了。于是本人將之前研究完成的人臉融合算法開源出來。

效果對比

國際慣例,我們看看顏如玉與天天P圖、Face++合成效果的對比:

注:Face++ 為調用其官網 API 生成的效果,天天P圖則是直接使用該 APP 生成的效果

使用

安裝 requirements.txt 所需庫

pip install -r requirements.txt

運行 ModuleTest.py 的主函數

python ModuleTest.py

生成的結果圖片 output.jpg 儲存在 images 文件中

算法詳解

零、融合函數

先看看程序入口函數

core.face_merge(src_img='images/model.jpg',

dst_img='images/20171030175254.jpg',

out_img='images/output.jpg',

face_area=[50, 30, 500, 485],

alpha=0.75,

blur_size=(15, 10),

mat_multiple=0.95)

參數含義:

src_img —— 模特圖片

dst_img —— 待融合的圖片

out_img —— 結果圖片輸出路徑

face_area —— 指定模板圖中進行人臉融合的人臉框位置。四個正整數數組,依次代表人臉框左上角縱坐標(top),左上角橫坐標(left),人臉框寬度(width),人臉框高度(height),通過設定改參數可以減少結果的大范圍變形,把變形風險控制在人臉框區域

alpha —— 融合比例,范圍 [0,1]。數字越大融合結果包含越多融合圖 (dst_img) 特征。

blur_size—— 模糊核大小,用于模糊人臉融合邊緣,減少融合后的違和感

mat_multiple —— 縮放獲取到的人臉心型區域

一、 檢測及關鍵的定位

人臉的檢測以及關鍵點定位有多種實現方案

使用開源 Dlib 庫檢測及定位(定位68個關鍵點)

使用騰訊平臺的人臉識別及定位API (定位90個關鍵點)

使用Face++平臺的人臉識別定位API(定位106個關鍵點)

本文采用的是Face++的 api,因為商用情況下 Face++ 定位的定數最多

// 獲取兩張圖片的人臉關鍵點(矩陣格式與數組格式)

src_matrix, src_points, err = core.face_points(src_img)

dst_matrix, dst_points, err = core.face_points(dst_img)

二、對齊人臉角度

在待融合圖人像不是側臉的情況下,我們可以同過調整平面位置及角度讓其與模特圖的人臉重合

// opencv 讀取圖片

src_img = cv2.imread(src_img, cv2.IMREAD_COLOR)

dst_img = cv2.imread(dst_img, cv2.IMREAD_COLOR)

dst_img = transformation_points(src_img=src_img, src_points=src_matrix[core.FACE_POINTS],

dst_img=dst_img, dst_points=dst_matrix[core.FACE_POINTS])

注:src_points 已經 dst_points 傳入參數為第一步獲取的人臉關鍵點矩陣

對齊采用“常規 Procrustes 分析法”

具體算法來源:matthewearl 個人博客步驟2

對齊結果:

三、再次取點后融合臉部

對步驟二轉換后的帶融合圖片再次取關鍵的,然后與模特圖的關鍵點一起做三角融合成新的圖片

dst_img = morph_img(src_img, src_points, dst_img, dst_points, alpha)

融合結果:

具體的三角融合算法解說參考這篇文章

四、處理加工模特圖片

再次對上一步的結果圖進行取點,然后運用三角仿射將模特圖片臉部輪廓、關鍵點變形成上一步得到的臉部關鍵點

src_img = tran_src(src_img, src_points, dst_points, face_area)

處理結果:

五、將融合后的臉部貼到模特圖上

最后一步是將融合后的新圖片臉部區域用泊松融合算法貼到模特圖上。泊松融合可直接使用opencv提供的函數

dst_img = merge_img(src_img, dst_img, dst_matrix, dst_points, k_size, mat_multiple)

def merge_img(src_img, dst_img, dst_matrix, dst_points, k_size=None, mat_multiple=None):

face_mask = np.zeros(src_img.shape, dtype=src_img.dtype)

for group in core.OVERLAY_POINTS:

cv2.fillConvexPoly(face_mask, cv2.convexHull(dst_matrix[group]), (255, 255, 255))

r = cv2.boundingRect(np.float32([dst_points[:core.FACE_END]]))

center = (r[0] + int(r[2] / 2), r[1] + int(r[3] / 2))

if mat_multiple:

mat = cv2.getRotationMatrix2D(center, 0, mat_multiple)

face_mask = cv2.warpAffine(face_mask, mat, (face_mask.shape[1], face_mask.shape[0]))

if k_size:

face_mask = cv2.blur(face_mask, k_size, center)

return cv2.seamlessClone(np.uint8(dst_img), src_img, face_mask, center, cv2.NORMAL_CLONE)

函數示意圖:

總結

以上是生活随笔為你收集整理的换发型算法_GitHub - fredliu168/yry: yry(颜如玉)—— 一个实现人脸融合的算法,可以接近腾讯天天P图疯狂变脸功能的效果...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲欧美在线成人 | 99操| 又黄又爽网站 | 色老板精品凹凸在线视频观看 | 日本学生初尝黑人巨免费视频 | 午夜精品久久久久久毛片 | 久久在线视频精品 | 美日韩久久 | 一级免费视频 | 999国产在线 | 九九精品视频在线 | 国产h视频| 一区二区不卡免费视频 | 大肉大捧一进一出好爽视频动漫 | 青青草婷婷 | 亚洲成av人片一区二区 | 成人午夜免费电影 | 九九视频免费观看 | 久久久久久久久网站 | 一本色道久久hezyo加勒比 | 秋霞一级全黄大片 | 日韩视频免费 | 国内精品久久久久久久久久久 | 老司机深夜视频 | 国产色图视频 | 九九99久久 | 免费一级欧美片在线播放 | 无码人妻aⅴ一区二区三区69岛 | 日韩欧美一区视频 | 欧美在线一区二区三区 | 未满十八岁勿进 | 闷骚老干部cao个爽 av九九九 | 在线免费国产视频 | av嫩草| 日韩第一页在线观看 | 日批网站在线观看 | 成人午夜一区二区 | 亚洲精华液一区二区 | 人妻丰满熟妇av无码区 | 日韩av中文在线观看 | 国产精品伦一区二区三区 | 亚洲精品一区二区三区在线 | 国产伦精品一区二区三区视频免费 | 激情成人av| 亚洲伦理天堂 | 亚色av| 久久只有这里有精品 | 涩涩涩999 | 亚洲精品一区在线观看 | 在线观看视频91 | 少妇一区二区三区 | 免费看日产一区二区三区 | 亚洲一区二区三区四区电影 | 天天干妹子 | 久久av秘一区二区三区 | 欧美xxx在线观看 | 亚洲午夜精品 | 3d动漫精品啪啪一区二区下载 | 久久中文字幕在线观看 | 五月婷婷六月香 | 成人性生生活性生交全黄 | 国产剧情在线一区 | 国产精品乱码久久久久久久久 | 91人人草 | 国产二级毛片 | 日本丰满熟妇hd | 瑟瑟视频免费看 | 两女双腿交缠激烈磨豆腐 | 3级av| 蜜桃成熟时李丽珍国语 | 成人女同av免费观看 | 成人伊人 | 综合av| 伦理欧美 | 欧美黄色录像视频 | 国产粉嫩一区二区三区 | 久久国产精品国语对白 | 中文字幕无码精品亚洲资源网久久 | 大奶子在线观看 | 韩国久久久久久 | 献给魔王伊伏洛基亚吧动漫在线观看 | 亚洲精品成人区在线观看 | 天天躁日日躁狠狠躁av麻豆男男 | 亚洲精品国产精品国自产观看 | 亚洲五码av | 亚州av | 最新在线视频 | 久热超碰| 求一个黄色网址 | 麻豆视频在线观看免费网站黄 | 黄色香港三级三级三级 | 成人性视频网 | 1024国产视频 | 伊人av综合网 | 日韩在线视频在线 | 麻豆久久久午夜一区二区 | 美女100%露胸无遮挡 | 97干干| 国产高清久久 |