您的位置:首页 > 其它

人脸老化之二学习研究相关图像处理知识(Dlib库的使用)

2018-01-05 11:20 931 查看
有个感性的体验认识,下面就是想要在自己的操作下实现这个效果,最好能直接找到代码复制粘贴运行出结果。但是这个不是简简单单的就能复制粘贴就能实现的,需要努力,而不是拿来主义可以享受的。

有幸在CSDN中Trent1985的专栏看到了照片美妆---人脸老化这篇博文,深感震撼。震撼到需要的内容知识太多有复杂,不是一蹴而就的事情。自己按照博文的介绍,尝试配置Python环境,下载训练人脸库(可惜没能下载到,需要翻墙),放弃。

过了几个月,由于需要再次进行基于单目摄像头的AR学习,在CSDN论坛询问无果,百度搜索无果......

想到之前听过的Stack Overflow,这才发现自己是多么的小白,没有过Stack Overflow可以说就不是一个真正的程序猿(别喷我啊)!

看到一个回答



想到在百度人脸老化,搜索到阿里技术的文章60年后的你长什么样?人脸老化三大技术探秘中的这篇文章,原来答案在这里。这里介绍的比较详细一点。

第一步中主要是根据文中参考文献1来实现,下载下来进行学习。

第二部中使用参考文献2中介绍的内容知识进行实现。

这里主要介绍第二步Dlib库的使用。

第一步:打开这个链接http://www.learnopencv.com/face-morph-using-opencv-cpp-python/

网页部分截图如下所示:



由于之前没有访问过类似的网站,再次百度发现使用的360浏览器、IE浏览器通通不行,免费访问的话建议使用火狐浏览器,并安装Decentraleyes组件,就可以进行网站的访问。

通过学习,发现脸部识别使用的是Dlib的库进行脸部68个关键点检测。

这里Dlib是什么请大家自行百度搜索。

说说我的机器配置是win7系统,i5处理器 64位,4G内存,但是我在本机上运行Dlib库还需要一番周折,请看环境配置博文Dlib+opencv实时提取人脸轮廓(windows环境下//Dlib配置入门)

需要注意:1.我使用的VS2015 Dlib18.18 Opencv3.1.0

2.下载Dlib18.18时,可以在http://dlib.net/files/dlib-18.18.zip下载地址中直接更在版本参数如下载18.17地址为http://dlib.net/files/dlib-18.17.zip,访问网址即可下载。

按照的方法,首先完成VS2015+Opencv310的配置。

这根据博文的配置时,请大家留心:

C:\opencv_310\build\x86\vc14\lib 没有x86了,只有C:\opencv_310\build\x64\vc14\lib .
同时 也只有opencv_world310.lib一个库文件。我使用Vs2015和opencv310还遇到了窗口main函数不识别需要设置系统为控制台程序,及缺少ucrtbased.dll库文件,不过都解决了,现在可以运行opencv310了。

由于我不会配置工程的相关包含文件,所以根据博文的方法



我直接在工程名称上右键选择添加现有项后,直接把Dlib中all和examples中的文件添加到现有工程中,即source.cpp和webcam_face_pose_ex.cpp添加到当前工程中,运行工程无报错即可等待运行结果,大约5min后才看到效果图像。

这里博主还有这个博文的Dlib提取人脸特征点(68点,opencv画图),复制粘贴博文中的代码建立cpp文件,我是把cpp文件放到Dlib的examples文件夹中进行运行的(比较卡顿)。

这里还有博主hahahaha233的博文基于opencv+Dlib的面部合成(Face Morph),通过博文提供的下载地址下载detectface.cpp,我是把cpp文件放到Dlib的examples文件夹中,并把它添加到上面建立的工程中(从项目中排出webcam_face_pose_ex.cpp).



运行发现,闪烁一下窗口就消失了。查看代码,是由于没有传入两幅图片名称,导致参数个数<3,程序退出。

由于我的配置有问题,使用Dlib的png和jpeg的文件读取代码错误。所以我修改了detectface.cpp,使用opencv的imread读入两幅图片(任何两人物图片均可,名称分别为zms.png和kb.png)。

下图显示了a为0、6、和11的截图效果。



我修改的detectface.cpp的下载地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Dlib Morph 人脸老化
相关文章推荐