本文主要是介绍1.MODNet: Trimap-Free Portrait Matting in Real Time,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 亮点
- 整体流程
- 参考
亮点
1.没有任何辅助输入的端到端抠图
2.损失函数的设计
3.训练上的技巧
整体流程
1.语义估计(低分辨率分支)的过程提取语义matte
1).一张图像经过backbone(mobilenet)提取特征,保留下采样2x、4x的特征图
2).下采样16x的特征图经过se模块后 上采样+卷积生成8x的特征图,再经过卷积生成语义特征matte sp
3).gt matte 8x下采样+高斯模糊后 与sp计算mse损失, 即语义matte损失
注:这里的2x,4x,8x的特征图后续都会用到
2.细节预测(高分辨率分支)的过程提取边缘细节matte
1). 原图2x下采样后与低分辨率分支的2x特征图(2x特征图也要先进行一次卷积)concat后卷积得a(2x)
2). 原图4x下采样后与低分辨率分支的4x特征图(4x特征图也要先进行一次卷积)concat后卷积得b(4x)
3). 低分辨率分支的8x特征图上采样后(4x)与 原图4x下采样结果 以及b concat后卷积得c(4x)
4). c上采样后(2x)与a concat后卷积得d(2x)
5). d再经过卷积得细节matte dp
6). gt matte经过腐蚀膨胀获得边缘matte区域md,计算dp matte与gt matte在边缘区域的l1s损失
3.语义细节融合(融合分支)获取最终的lapha matte
1). 低分辨率分支的8x特征图上采样 卷积得4x,再上采样卷积得2x特征e
2).e与d concat后卷积 + 上采样 + 卷积的最终结果ap
3).alpha matte与gt matte计算1l损失;
alpha matte与gt matte再边缘 matte区域内的部分计算l1损失(关注边缘细节);
gt背景(原图与gt matte相乘)与预测背景原图与alpha matte相乘)的l1损失;
gt边缘(原图与gt边缘 matte相乘)与预测边缘(原图与alpha边缘 matte相乘)的l1损失。所谓边缘 matte就是在边缘区域md的那部分值。
参考
github:https://github.com/ZHKKKe/MODNet
paper: https://arxiv.org/pdf/2011.11961.pdf
这篇关于1.MODNet: Trimap-Free Portrait Matting in Real Time的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!