图像语义分割是计算机视觉的重要研究课题,可被广泛的应用到各个领域, 比如图像的前景分割,可以快速设计创意的图片,可以针对视频换背景,将前景人物融入到不同的场景中,产生有创意的算法应应用。
视频人像分割算法更加注重的是精细度和速度,如何应用在 PC 端或移动端上则更有挑战性。
功能简介
本项目在前景和背景对比度低、背景复杂、主体形状复杂等各种复杂环境下,依然能尽可能的保证主体边缘的精准分割。在边缘分割时,能够实现以下几点:
主体部分区域被非主体遮挡时,只分割出视觉中主体与非主体的可见区域,而未分割主体被遮挡的部分;
对于主体上复杂结构的边缘分割,在无法保证绝对精准时,剔除少量复杂边缘部分;
对于手持物也需要抠出来,但非手持物遮挡则不需要抠出。
本项目技术实现使用的是轻量级人像分割模型,使用了ConnetedNet作为一个分割网络,将整体的速度提升至可以实时处理视频的地步,并且将传统的参数量进行了一个缩减,使用深度可分离卷积去取代普通的卷积模块,使得在没有强大GPU支持的机器上也可以获取良好的性能以及不错的推理速度。最终得到的模型使用 OnnxRunTime 框架进行 C++推理和部署。
效果展示
输入视频或者是图片
输出为前景的mask,后续可以用来抠图,腾讯课程的虚拟背景用的是类似的原理。
result
总结
这个项目是我之前做的人像分割项目,一般而言,可以加入一些抠图的技术或者是单独使用作为一个设计,各位可以考虑当作毕业设计的一部分或者是参考,已经训练好了,可以直接使用来作为推理,项目文档和原理也有,是一起打包的。此外,这个项目不要求环境,已经配置为可执行文件.exe文件了,只要是win系统都能打开,是cpu推理,并且可以实时渲染。
最终的可执行代码还在整理,要是想要的话就留言吧!