最近在看人脸替换软件 因为涉及原视频切换提取人脸的过程 因此想到是否可以下载同一人物的不同人脸来进行代替原视频的人脸切片
这里简单科普一下人脸替换的原理:
1、对原视频进行切片(生成图片)
2、对替换视频进行切片(生成图片)
3、原视频切片人脸提取
4、替换切片人脸提取
5、算法模拟生成模型
6、替换视频切片人脸替换
7、替换视频切片图片合成视频
好了言归正传 这里我想需要大量的同一人物的不同人脸照片
但是所有python的网上代码提取均不能用 所以就自己写了一个凑合一下
一下是遇到的问题供大家在学习时参考
1、在创建目录时出现FileNotFound的问题
2、爬取图片时出现百度安全验证字样
在爬取图片的下载中增加head 但时head有可能会更新 所以后续需要下载的小伙伴请自行百度图片,在网页中找一下最新的head进行替换
3、百度图片动态加载问题
这里需要利用一个selenium的动态加载库 原理是用python模拟 chrome进行滚动加载图片
for i in range(10):
js = "window.scrollTo(0,document.body.scrollHeight)"
driver.execute_script(js)
time.sleep(2)
这块代码 原理是循环十次 每次滚动到页面最下方 休眠2秒
建议减少休眠时间 改为多次循环
然后滚动完了再把休眠时间拉长一点或者不需要 我们这里只需要他的图片连接,实际图片是否展示出来无所谓
4、锁定特定标签的问题
这里一开始没有意识到百度是动态加载所以一开始利用beautifulsoup没有提取到指定的标签 后来也用正则试了下发现也没有后来才意识到是动态加载的问题
beautifulsoup比原生的正则功能更加强大 这里推荐一下
5、下载图片的过程中图片地址为空的问题
因为我接触python时间不长 本来想写 is not null 但发现没有null这个只有None
但是出错了
后来查了下可以这么写 x not (y is None)同上
6、提取的图片为略缩图的问题
这个我暂时没法解决后续有时间可能会考虑看一下
目前再搜索界面可以提取的直链只有ss1开头的略所图可能跟搜索条件有关暂时看到怎么再搜索中添加条件的比如1920*1080这种的后续考虑下 XD