APP下载

Python实现AI换脸

2021-11-10

电脑报 2021年42期
关键词:人脸算法图像

随着科技的不断进步,人工智能也取得了突飞猛进的发展,近些年来越来越多新颖的技术展现在了人们的面前,今天和大家分享一个最近比较火的人工智能技术“AI换脸”。AI换脸就是通过人工智能技术更换人脸,而且面部表情自然,效果比较逼真。整个过程中你只需要用一张自己的照片,就可以在软件上代替视频中的人物,从而生成以自己为主角的视频。目前市面上已经有多款软件可以实现换脸操作,之所以能够免费开放给大家使用,是因为前期需要大量用户人脸数据,方便训练他们自己的模型。

其实通过Python编程我们自己就能实现AI换脸。AI换脸要求两张人脸的面部图像尽量地进行拟合,我们可以从互联网上筛选角度相似的照片,两张脸的朝向、脸型、大小、五官位置、是否闭眼都会影响到换脸效果。

在实际使用前,我們先理解一下换脸的思路,其实换脸就是用图片编辑软件把一张脸截取替换到另一张脸上,只不过把手工操作换成AI来操作。当然使用Python软件操作图像并不是那么简单,如果真的要从头编写这个程序需要考虑的东西太多了。要识别图像当中脸部的轮廓,人类可以很轻松地识别什么是脸,什么是肩膀,什么是背景,而计算机并不知道。计算机需要有一系列的算法,建立所谓的模型来识别人脸。利用好这些算法便可以实现人脸面部信息的识别,当然网站上已经有不少训练好的模型,我们直接拿来使用就可以了。

我们使用的是“旷视Face++”平台,旷视是一家专注图像识别和深度学习的平台,它可以提供人脸识别、人体识别、证件识别、图像识别等API。

在Python中,我们需要导入三个Python库json、base64、request。json和base64是Python自带的,requests是第三方的包。通过旷视的API接口进行调用(API接口:https://api-cn.faceplusplus.com/

facepp/v3/detect),这个接口的作用是帮助我们找到人脸相关的数据,只需要把图像传到平台,就可以通过调用后台服务器的运算,对图像进行处理,并把处理后的结果返回。

首先我们先注册一个账号。注册完成后点击左侧人脸识别选择需要的功能,生成试用版的 api_key 和 api_secret。因为要携带数据,所以使用post请求,携带的数据不仅包含api_key 和 api_secret,同时也包含img_url和return_landmark。img_url表示图片的路径,return_landmark则表示返回的人脸区域坐标。除了携带参数的请求,也可以携带一个文件去请求,就好比上传一个文件。当然在旷视Face++平台中也有对应的文档和视频的演示,大家也可以学习。

AI换脸步骤就是通过正确的算法构建模型,训练模型得出所需要的数据集集合,选择出需要换脸的图片通过API调用便得出正确的人脸数据,将两张照片进行拟合,拼接合并便成功了。

如今AI换脸可以通过技术手段给视频进行换脸,这就让人非常害怕,虽然技术本身无好坏,但是难免有人会用这种技术进行作恶,特别是源代码已经被开源的情况下,利用这种技术更加简单。因此这里也希望大家一定要保护好自己的面部信息,不能随便将自己的面部视频发布出去。

猜你喜欢

人脸算法图像
玻璃窗上的人脸
Travellng thg World Full—time for Rree
A、B两点漂流记
智力考场:有趣的图片测试
学习算法的“三种境界”
算法框图的补全
算法初步知识盘点
“领家系”可爱脸VS“高冷系”美人脸
名人语录的极简图像表达
长得象人脸的十种动物