【Matting】MODNet:实时人像抠图模型-笔记

article/2025/9/28 4:54:08

paper:MODNet: Real-Time Trimap-Free Portrait Matting via Objective Decomposition (AAAI 2022)

github:https://github.com/ZHKKKe/MODNet

抠图在线体验:CV案例

部署教程:

【Matting】MODNet:实时人像抠图模型-onnx python部署

【Matting】MODNet:实时人像抠图模型-onnx C++部署

NCNN 量化部署教程(模型大小降低为1/4):

【Matting】MODNet:实时人像抠图模型-NCNN C++量化部署

现有的Matting方法常常需要辅助的输入如tripmap才能获得好的效果,但是tripmap获取成本较高。MODNet是一个不需要Trimap的实时抠图算法。MODNet包含2种新颖的方法来提升模型效率和鲁棒性:

(1)e-ASPP(Efficient Atrous Spatial Pyramid Pooling)融合多尺度特征图;

(2)自监督SOC(sub-objectives consistency)策略使MODNet适应真实世界的数据。

MODNet在1080Ti上FPS为67。

抠图效果(官方提供的权重):


目录

一、MODNet

 1、Semantic Estimation

 2、Efficient ASPP (e-ASPP)

 3、Detail Prediction

 4、Semantic-Detail Fusion

二、SOC(sub-objectives consistency)

三、实验结果


一、MODNet

MODNet网络结构如图所示,主要包含3个部分:semantic estimation(S分支)、detail prediction(D分支)、semantic-detail fusion(F分支)。

 1、Semantic Estimation

Semantic Estimation用来定位肖像的位置,这里仅使用了encoder来提取高级语义信息,这里的encoder可以是任意backbone网络,论文中使用mobilenetv2。这么做有2个好处:

(1)Semantic Estimation效率更高,因为没有decoder,参数减少了;

(2)得到的高级语义表示S(I)对后续分支有利;

将S(I)送入通道为1的卷积层,输出经过sigmoid得到Sp,与G(\alpha _{g})计算损失,G(\alpha _{g})由GT进行16倍下采样经过高斯模糊得到。使用L2损失,损失函数如下:

 2、Efficient ASPP (e-ASPP)

 DeepLab提出的ASPP已被证明可以显著提升语义分割效果,它利用多个不同空洞率的卷积来得到不同感受野的特征图,然后将多个特征图融合(ASPP可以参考这里)。

为了减少计算量,对ASPP进行以下修改:

(1)将每个空洞卷积改为depth-wise conv+point-wise conv;

(2)交换通道融合和多尺度特征图融合的顺序,ASPP是各个通道先计算,得到不同尺度特征图然后用conv融合,e-ASPP是每个通道不同空洞率的卷积,concat后融合(这里是参考论文理解的,源码没找到这部分);

(3)输入e-ASPP的特征图通道数减少为原来的1/4。

PS:这里结合图和论文看了一下,还是不太明白下图中的M是怎么来的,也有点没看到最右边的concat维度怎么回事,看了源码,好家伙,没有e-ASPP(我看错了??)。

 3、Detail Prediction

Detail Prediction是高分辨率分支,它的输入由I、S(I)、S分支输出的低分辨率特征组成。D分支额外做了简化:

(1)与S分支相比,D的卷积层更少;

(2)D分支的卷积层通道数较少;

(3)分支D的所有特征图分辨率在前向传播时会降低以减少计算量;

 分支D的输出是d_p,它的目标是学习到肖像的边缘细节,它的损失函数是L1损失,如下式,其中m_d是二值图,它的计算公式为m_d=dilate(\alpha _g)-erode(\alpha _g)

 4、Semantic-Detail Fusion

分支F结合分支D和分支S的输出,预测\alpha图,损失如下式,Lc是 compositional loss(论文传送门)

二、SOC(sub-objectives consistency)

发丝级的Matting数据标注成本非常高,常用的数据增强方法是替换背景,但是这样生成的图像和生活中的图像相差甚远,因此现有的trimap-free模型常常过拟合训练集,在真实场景下表现较差。

论文提出了一种自监督方法,不需要标注数据即可训练网络,使其适应真实世界的数据。MODNet分支S的输出为S(I),F的输出为F(S(I), D(S(I)))。S(I)是F(S(I), D(S(I)))的先验,可以利用这种关系实现自监督训练(有了预测结果F(S(I), D(S(I))),将其下采样然后模糊当作S(I)的标签)。

假设模型为M,有:

设计损失函数(和有监督的损失类似,不过这里用\widetilde{\alpha }_p来代替\alpha _p):

上面的损失函数后半部分如下,它存在一个问题:只需要模型不预测任何细节就可以使损失最小。

 改进方法也比较简单,在自监督训练时,创建模型M的副本M',用M'预测的\widetilde{\alpha }_p'作为目标值(用\widetilde{\alpha }_p'替换上式的\widetilde{\alpha }_p)。因为M'也输出\widetilde{d}_p',在给细节分支加上正则化损失Ldd:

 SOC优化过程中,使用Lcons+Ldd作为损失。

三、实验结果

 1、PPM-100

在数据集PPM-100上表现如下。

 2、真实世界Matting

OFD(One-Frame Delay):一个简单的视频抠图策略,对于连续的alpha图\alpha _{t-1}\\alpha _t\\alpha _{t+1},如果\alpha _{t-1}\alpha _{t+1}非常接近,且\alpha _{t}和它两差值大,那么说明\alpha _{t}可能存在抖动,将其移除并用\alpha _{t-1}代替。

为了让MODNet更适应真实数据,从400个视频裁剪了50000张图片,使用SOC自监督训练。下图蓝框为SOC训练后改进的结果,橙框为OFD的效果。


http://chatgpt.dhexx.cn/article/vNYpgcWT.shtml

相关文章

Image Matting 客观评价指标、数据集及主观评价

Image Matting 客观评价指标、数据集及主观评价 2021.7更新 PPM-100数据集已经开放,GitHub,详情见下文章节2.4 目录 Image Matting 客观评价指标、数据集及主观评价2021.7更新 客观评价指标1. 精度1.1 SAD1.2 MSE 均方误差1.3 Gradient error1.4 Conne…

深度学习(7)之图像抠图 Image Matting算法调研

目录 1.Trimap和Strokes 2. 相关数据集 3.论文算法调研 3.1 Deep Image Matting 3.2 Semantic Image Matting 3.3 Background Matting 3.4 Background Matting V2 3.5 Semantic Human Matting 3.6 HAttMatting 3.7 MMNet:Towards Real-Time Automatic Portrait Matt…

【SHM】Semantic Human Matting抠图算法调试

前言: 2018年阿里的论文《Semantatic Human Matting》给出了抠图领域的一个新方法,可惜阿里并没有公布源码,而牛人在Github上对这个论文进行了复现,我也是依赖Github上的工程进行钻研,而在调试的过程中,发…

[Matting]论文阅读:Deep Image Matting 详细解读

[Matting]论文阅读:Deep Image Matting 详细解读 一 、摘要 任务二、方法2.1 第一部分(Matting encoder-decoder stage)2.2 第二部分(Matting refinement stage)2.3 数据部分(Composed Datasets&#xff09…

【CVPR2022】MatteFormer: Transformer-Based Image Matting via Prior-Tokens

MatteFormer: Transformer-Based Image Matting via Prior-Tokens 中文题目: 借助先验Token的基于Transformer的图像抠图 paper:https://arxiv.org/pdf/2203.15662v1.pdf code:https://github.com/webtoon/matteformer 摘要 本文提出了一个基于Tran…

Image Matting代码和算法效果总结

本文参考了:http://blog.leanote.com/post/610167078qq.com/Image-Matting。作者给出了大部分matting-code的链接,说明也比较细致、系统,在这里向作者表示由衷地感谢!以下是博客的原文: 肖总博客:http://3…

matting笔记_一周小结

去年刚入坑的旧笔记,刚翻出来… 1. 利用神经网络做抠图的入坑之作《Deep Image Matting》 详情见之前的笔记 matting系列论文笔记(一):Deep Image Matting 由于image matting的工作没有特别好的综述,有的综述也不是…

Matting 基于DeepLearning 入门

前言 是比较清晰的用思维导图的形式介绍了一些Matting 基于DeepLearning 的经典论文,如 Deep Image matting可以通过这篇初步了解深度学习Matting领域该篇论文可以看作是基于深度学习研究Matting的开山之作,之后的许多有效、可行度高的做法都是基于这篇…

Matting和Segmentation区别及模型概述

一、两者区别 Segmentation:常被认为是硬分割(Hard Segmentation),就是将图片中的像素分成多个类别,如果是前背景分割,那么就是分成两个类别,一个类别代表前景,一个类别代表背景。而…

如何清除Safari,Chrome和Firefox中的缓存,历史记录和Cookie

如何清除浏览器的cookie缓存?许多网站的通知,用户记住账号密码登录状态,都是通过浏览器cookie缓存,定期清理Safari,Chrome和Firefox中的缓存,历史记录和Cookie,可以让浏览器保持一个良好的状态,也可以保护我们的隐私。…

Nginx缓存服务

文章目录 一、缓存概述(1)缓存的作用(2)缓存常见的类型(3)Nginx缓存的原理 二、配置Nginx缓存(1)主配置文件中缓存的语法(2)配置Nginx缓存-实验环境-实验目的…

android7.0清除缓存,iPhone7如何清理应用缓存 iphone7清理应用缓存教程

手机使用后会留下一些缓存垃圾,那么 iPhone7如何清理应用缓存? 下面就带来iphone7清理应用缓存教程,一起来学习下。 方法1:强行重启 强行重启(也叫冷重启)能够帮助iOS的设备清理一下临时文件,定期强行重启一下设备&…

Chrome Edge Firefox Safari 如何清除 DNS 缓存

Chrome Edge Firefox Safari 如何清除 DNS 缓存 如何清除浏览器的 DNS 缓存 (Chrome, Firefox, Safari) Chrome Chromium Edge Firefox Safari clear DNS Cache, flush DNS cache 请访问原文链接:https://sysin.org/blog/clear-browser-dns-cache/,查…

苹果电脑怎么清理垃圾和缓存文件,mac如何清理系统缓存文件

电脑使用的时间越久,系统运行就会变得越来越卡,这是Windows和Mac系统都会出现的现象。为了提高系统运行速度,我们有必要清理一下电脑缓存。那么苹果电脑怎么清理垃圾和缓存文件?本指南将详细讲解清理Mac缓存的技巧,还补…

浏览器缓存导致的问题:

1、需要的效果如下: 2、添加样式之后,样式会生效,但是没有达到上面的效果,表单会消失掉,只剩下一个黑色的背景图 4、原因: 因为浏览器的缓存问题导致的样式没有显示出来 5、解决办法: 清除掉…

浏览器缓存

文章目录 前端缓存|后端缓存按缓存位置分类缓存过程memory cachedisk cacheService WorkerPush Cache 强制缓存适用场景ExpiresCache-Control 协商缓存(也叫对比缓存)适用场景ETag和Last-Modified区别 缓存相关问题缓存穿透缓存击穿缓存雪崩 前端缓存|后…

苹果清除缓存_苹果手机卡顿别着急换,调整这5个功能,iPhone 6S还可以再战两年...

阅读本文前,请您先点击上面的“议科技”,关注,这样您就可以继续收到最新文章了。每天都有分享。完全是免费订阅,请放心关注。 平时在使用苹果手机的时候,时间用久了,是不是觉得手机有些卡顿?使用…

如何在Mac iPhone和iPad上清除Safari缓存?

每当您在Safari中浏览网络时,浏览器都会存储网站数据,因此您不必在每次重新访问网站时都再次下载该数据。从理论上讲,这应该可以加快您的浏览体验,但是在某些情况下,您可能需要清除缓存并重新开始。如何清除Safari缓存…

Safari iOS 清除缓存、在手机端调试方法 [ For Mac ]

前提: 手头有Mac 写手机页面的时候,很多时候都会在手机上查看,但 iPhone 上的 Safari 浏览器有着很严重的缓存效果。 如何清除缓存呢 打开 iPhone 上的调试开关 在 【设置】->【Safari 浏览器】-> 最下面的【高级】里面 &#xff08…

清除计算机网络mac高速缓存,怎么Mac下清除Safari缓存数据

电脑上的网页浏览器都有一个用于缓存用户数据的缓存功能,这些数据可以让我们在浏览网页时变得更加方便。有的时候需要手动在 Mac 电脑上清除 Safari 浏览器的缓存数据,这里学习啦小编简单介绍下怎么在 Mac 下清除 Safari 缓存数据的操作方法。 Mac下清除…