code
“Real-Time High-Resolution Background Matting” 是一篇由Google Research团队在2020年提出的研究论文。该论文的目标是实现实时高分辨率的背景抠图,以分离输入图像中的前景目标,并将其放置在不同的背景中。背景抠图在计算机视觉领域具有广泛的应用,如视频会议、虚拟背景设置和视频编辑。
提出了一种名为 “Real-Time High-Resolution Background Matting” 的新方法,该方法采用了传统的前景/背景分割方法与深度学习神经网络的结合。传统方法使用色彩分布、边缘检测等技术进行前景与背景分割,但在高分辨率图像上运行时效率较低。为了实现高分辨率的背景抠图和实时性,论文采用了分辨率转换策略,通过降采样得到低分辨率图像,然后通过神经网络将结果恢复到高分辨率。此外,为了提高实时性,论文采取了多种效率优化措施,包括选择计算复杂度较低的传统方法和使用轻量化的神经网络模型。
论文中对该方法进行了广泛的实验和比较,结果表明其在高分辨率图像上实现了高质量的背景抠图,并能在实时场景中运行。该方法的高效性和准确性为视频会议、虚拟背景设置和视频编辑等应用提供了新的可能性。然而,精度与实时性之间仍存在一定的权衡,对于某些特殊场景和要求更高精度的应用,可能需要考虑其他更复杂的背景抠图算法。
git clone https://github.com/PeterL1n/BackgroundMattingV2
搭环境是体力活直接跳过
准备训练数据,
训练脚本
python train.py \
--model-variant mobilenetv3 \
--dataset videomatte \
--resolution-lr 512 \
--seq-length-lr 15 \
--learning-rate-backbone 0.0001 \
--learning-rate-aspp 0.0002 \
--learning-rate-decoder 0.0002 \
--learning-rate-refiner 0 \
--checkpoint-dir checkpoint/stage1 \
--log-dir log/stage1 \
--epoch-start 0 \
--epoch-end 20
python train.py \
--model-variant mobilenetv3 \
--dataset videomatte \
--resolution-lr 512 \
--seq-length-lr 50 \
--learning-rate-backbone 0.00005 \
--learning-rate-aspp 0.0001 \
--learning-rate-decoder 0.0001 \
--learning-rate-refiner 0 \
--checkpoint checkpoint/stage1/epoch-19.pth \
--checkpoint-dir checkpoint/stage2 \
--log-dir log/stage2 \
--epoch-start 20 \
--epoch-end 22
python train.py \
--model-variant mobilenetv3 \
--dataset videomatte \
--train-hr \
--resolution-lr 512 \
--resolution-hr 2048 \
--seq-length-lr 40 \
--seq-length-hr 6 \
--learning-rate-backbone 0.00001 \
--learning-rate-aspp 0.00001 \
--learning-rate-decoder 0.00001 \
--learning-rate-refiner 0.0002 \
--checkpoint checkpoint/stage2/epoch-21.pth \
--checkpoint-dir checkpoint/stage3 \
--log-dir log/stage3 \
--epoch-start 22 \
--epoch-end 23
python train.py \
--model-variant mobilenetv3 \
--dataset imagematte \
--train-hr \
--resolution-lr 512 \
--resolution-hr 2048 \
--seq-length-lr 40 \
--seq-length-hr 6 \
--learning-rate-backbone 0.00001 \
--learning-rate-aspp 0.00001 \
--learning-rate-decoder 0.00005 \
--learning-rate-refiner 0.0002 \
--checkpoint checkpoint/stage3/epoch-22.pth \
--checkpoint-dir checkpoint/stage4 \
--log-dir log/stage4 \
--epoch-start 23 \
--epoch-end 28
测试
测试脚本在evaluation文件下,把训练好的模型及需要matting的视频添加上
效果