今天视频号直播,与彭涛哥连麦聊天,从Python自动化办公聊到了程序自动化去赚钱,然后聊到了我前段弄的视频批量生成(目的在于对抗平台进行视频去重)。
直播完后,多位朋友私聊我相关的技术细节和处理后视频的效果,其结论是:技术这块我跑通过了,对少量视频进行测试,在抖音和shorts上是没啥问题的,至于大量测试嘛,因为心不在此,暂时没测,有心人可以利用本文提出的技术手段尝试一下,如果你愿意将测试结果告知于我,那就更好了。
本文主要是简单介绍一下,生成虚拟视频中我使用过的一些技术手段,我对视频处理并不是常规的混剪、换音乐、给视频加一些特效或加字幕等传统方式,而是通过对视频进行换脸处理、视频背景替换来实现的,当然在这过程中,我也尝试了其他方向,比如唇语视频生成实现对视频里的人说的内容进行操控,还比如实现一个虚拟播报人,对于一些常见的新闻视频做到虚拟生成视频播报等尝试。
二两:本文尽力少提技术细节,朋友们请放心食用。
换脸处理
换脸的底层技术是GAN(生成对抗网络),你想了解这块的技术细节可以购买我之前出的书籍《深入浅出GAN生成对抗网络》,此书质量不错,已输出到台湾(繁体版本),有兴趣的技术同学可以下单一本。
当然你也可以阅读我之前写的换脸技术浅析的文章。
广告时间结束,回到正题,我试过市面上绝大多数换脸相关的开源项目,从易上手角度来讲,推荐DeepFaceLab项目(https://github.com/iperov/DeepFaceLab)

对于Windows系统的同学,DeepFaceLab(简称:DFL)提供了非常完善的工具链,比如上图,就是DFL提供了扣脸工具XsegEditor,正常情况下,DFL会通过算法(s3fd算法)直接扣脸,但对于一些特殊情况,如上图半脸情况或脸部被话筒、眼镜等不规则物体遮挡时,就需要人为手动介入,借助XsegEditor工具完成人脸抠像。
一些视频中可能会存在遮挡物,如上文提到的脸部被话筒、眼镜等物体遮挡,对于常规的遮挡物,可以通过DFL提供的通用遮罩识别模型进行识别,但对于特殊的遮罩物,比如鲜花等,效果就比较差了。
DFL虽然提供了比较好的工具链,但它并没有提供预训练模型,所以你还是需要自己收集目标人脸,收集时,注意角度尽可能多,DFL集成了人脸数据集检测算法,对每个人脸25%的偏侧进行检测,从而判断人脸数据