1.MODNet: Trimap-Free Portrait Matting in Real Time

2023-12-25 13:48

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/535731

相关文章

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

linux 下Time_wait过多问题解决

转自:http://blog.csdn.net/jaylong35/article/details/6605077 问题起因: 自己开发了一个服务器和客户端,通过短连接的方式来进行通讯,由于过于频繁的创建连接,导致系统连接数量被占用,不能及时释放。看了一下18888,当时吓到了。 现象: 1、外部机器不能正常连接SSH 2、内向外不能够正常的ping通过,域名也不能正常解析。

UMI复现代码运行逻辑全流程(一)——eval_real.py(尚在更新)

一、文件夹功能解析 全文件夹如下 其中,核心文件作用为: diffusion_policy:扩散策略核心文件夹,包含了众多模型及基础库 example:标定及配置文件 scripts/scripts_real:测试脚本文件,区别在于前者倾向于单体运行,后者为整体运行 scripts_slam_pipeline:orb_slam3运行全部文件 umi:核心交互文件夹,作用在于构建真

python内置模块datetime.time类详细介绍

​​​​​​​Python的datetime模块是一个强大的日期和时间处理库,它提供了多个类来处理日期和时间。主要包括几个功能类datetime.date、datetime.time、datetime.datetime、datetime.timedelta,datetime.timezone等。 ----------动动小手,非常感谢各位的点赞收藏和关注。----------- 使用datet

HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video 翻译

HumanNeRF:单目视频中运动人物的自由视点绘制 引言。我们介绍了一种自由视点渲染方法- HumanNeRF -它适用于一个给定的单眼视频ofa人类执行复杂的身体运动,例如,从YouTube的视频。我们的方法可以在任何帧暂停视频,并从任意新的摄像机视点或甚至针对该特定帧和身体姿势的完整360度摄像机路径渲染主体。这项任务特别具有挑战性,因为它需要合成身体的照片级真实感细节,如从输入视频中可能

lua data time

local getTime = os.date(“%c”); 其中的%c可以是以下的一种:(注意大小写) %a abbreviated weekday name (e.g., Wed) %A full weekday name (e.g., Wednesday) %b abbreviated month name (e.g., Sep) %B full month name (e.g., Sep

Event Time源码分析

《2021年最新版大数据面试题全面开启更新》 flink 中Processing Time也就是处理时间在watermark定时生成、ProcessFunction中定时器与时间类型的窗口中都有使用,但是其内部是如何实现注册定时器、如何调用、如何容错保证在任务挂掉在下次重启仍然能够触发任务执行,都是我们今天的主题。首先需要了解一下在flink内部时间系统是由哪些类来共同完成这件事,下面画

delphi : 窗体的close,free,destroy的区别

一、我用application.create(TForm2,Form2)语句,创建了Form2,可是调用了Form2.close后,重新调用Form2.show. 刚才所创建的Form2仍然存在。问为了节约资源,应该怎样使用close,free,destroy. 三者的关系是什么? 1、Action:=caFree。 2、 with TForm1.Create(Application) do