ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python-以编程方式更改肤色

2019-11-06 14:09:27  阅读:330  来源: 互联网

标签:image-processing image-manipulation skin python


是否有人对调整一个图像有任何信息或建议,以使其中的肤色与另一幅图像相匹配?

这个问题有点晦涩难懂,但我希望以前会有人遇到过这个问题!我这样做的目的是使我可以使用Python(或任何语言,只要通过编程即可)将一张图像中的一张脸替换为另一张图像中的一张脸.

我发现了与该主题相关的几篇论文:

> Face Swapping: Automatically Replacing Faces in Photographs(pdf)(另请参阅:Their website)
> Face Relighting with Radiance Environment Maps(pdf)
> Face Re-Lighting from a Single Image under Harsh Lighting Conditions(pdf)

但是,内容超出了我的范围,因此我无法根据他们的发言来确切确定要做什么.

任何形式的建议将不胜感激,因为我目前对所要做的事情一无所知.

解决方法:

以下是有关入门的一些一般性高级建议.

基本上,您正在做的是优化问题.这些算法用于很多问题,并且有几种众所周知的方法可以做到这一点.他们归结为这个

>创建一个评分功能,可以告诉您一个结果的好坏.数字越大越好.
>创建一个函数,该函数接受输入和一些参数,并产生可以被评分的输出
>这很重要:根据#2的参数,评分功能应该是连续的.如果您有两个参数,并以3D形式绘制(param1,param2,score),则该表面看起来像是凹凸不平的山丘.
>您现在的工作是在表面上找到最大值.您可能有两个以上的参数-在这种情况下,您有一个N-D曲面-但想法是相同的

查找爬坡,遗传算法或优化问题.一部不错的带代码的python书是Toby Segaran撰写的“ Programming Collective Intelligence”.

通常,爬山是这样的:

>很好地猜测参数
>创建输出并评分
>稍微更改一个参数
>对输出进行评分
>如果更好,请继续朝这个方向发展,如果更糟,请改变方向.
>如果卡住了-请移至表面的其他地方并在那里进行尝试.
>如果您找到一个局部最大值,但还不够好-请去其他地方尝试

虽然查找实际的算法,但比这要复杂一些.

许多研究归结为提出了良好的评分功能,以及了解哪些参数有效以及如何使用它们的好方法.

使用此一般轮廓-只需尝试将亮度/对比度用作您的输出生成功能(亮度和对比度就是输入).要进行评分,您将需要比较两张照片以进行比赛的方式-首先,选择简单的内容(也许硬编码要检查的区域).

一旦开始,您将对如何执行此操作有更多的见解,并且可以回到论文中寻求建议.

标签:image-processing,image-manipulation,skin,python
来源: https://codeday.me/bug/20191106/1998726.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有