modnet:real-time trimap-free portrail matting via objective decomposition

news2024/11/24 17:44:26

目前抠图(Image Matting)的主流算法有哪些? - 知乎什么是抠图对于一张图I, 我们感兴趣的人像部分称为前景F,其余部分为背景B,则图像I可以视为F与B的加权…https://www.zhihu.com/question/68146993/answer/1914887189MODNet阅读笔记 - 知乎论文地址:https://arxiv.org/pdf/2011.11961.pdf MODNet官方git地址:ZHKKKe/MODNet 首先介绍一些matting有关的预备知识点:影像去背(英语:Image Matting)是指借由计算前景的颜色和透明度,将前景从影像中撷取…https://zhuanlan.zhihu.com/p/344985719

抠图类任务目前是基础类任务,是我们不需要去训练的,目前开源的抠图类算法很多,包括通用抠图,头部抠图,物体抠图,人像抠图,视频抠图这些目前都是有相当丰富的开源接口可以使用,通常来说,最多需要finetune一次,基本拿来即用,在基础的ai项目上,其实有很多项目都不需要在训练了,比如说目前的行人识别,行人骨骼点识别,人脸识别等很多项目主要是在部署这块,包括后处理逻辑的开发和多平台的移植这块,算法侧的训练和优化早不是重点了。这也是我们作为算法工程师需要与时俱进的地方。modnet我试过,比pphumanv2效果要好,目前字节新出来一个rvm,号称要比modnet要好,但基本是目前抠图的sota。目前比较流行的抠图算法大致可以分为两类,一种是需要先验信息trimap-based的方法,三元图类似于光流图,是一种先验信息,每个像素值为[0,128,255]其中之一,分别代表前景,未知与背景。宽泛的先验信息包括trimap,mask,无人的背景图像,pose信息等,网络使用先验信息和图片信息共同预测alpha,另一种是trimap-free的方法,仅根据图片信息预测alpha,实际应用更加友好,modnet属于后者。其中trimap-based方法包括有deep image matting,background matting v1/v2,trimap-free方法包括semantic human matting,modnet等。以后类似于抠图,图像擦除,文字擦除的通用基础视觉ai推理模块,我会单独写一个git来实践,https://github.com/leeguandong/Queban。

modnet主要就看结构图:

上面这张图讲了modnet的三个部分,semantic esitimation模块,low-resolution branch,S模块;Detail prediction模块,high-resolution branch,D模块;Semantic-Detail Fusion模块,Fusion branch,F模块,一共是S/D/F三个模块,这三个模块重点关注其损失函数对应的gt。

1.Semantic esitimation

S模块是一个encoder,没有decoder,输出是下采样16倍的特征图,backbone的encoder一般使用mobilenetv2这样的轻量化结构,其中还使用了e-ASPP,是ASPP的改进版本,ASPP在deeplab系列中已经证明在语义分割任务上的有效性。S模块的监督信号是将gt的matte进行downsample + gauss blur得到的,可以去掉一些语义分割用不到的细节信息,l2损失,将S(l)送入通道为1的卷积层,输出经过sigmoid得到Sp,与G(αg)计算损失,损失函数如下:

S模块主要作用是预测人像的整体轮廓,用一个低分辨率的监督信号就可以了。

说实话类似的改进我觉得意义都不大,像这种模块的优化也很难去测评有效性。

2.Detail Prediction

D模块有三个输入,原始图像+S的中间特征+S的输出特征,D是encoder-decoder结构,其中S的输出作为decoder输入的一部分,这里多了一些特征融合的操作,l1损失,D的监督信号是:

其中md是对αg进行dilate-erode操作得到的,膨胀后的结果减去腐蚀后的结果常用来做边缘检测,此处做了一个权重,人像到背景的过渡区域,md=1,其余为0,可以看出md=1即使trimap中的unkown区域,其实这里相当于对结果做了个加权,让loss只关注边缘区域,用来学习边缘细节的。

3.Semantic-Detail Fusion

F模块的输入包括了上采样的S(l)和D(I,S(l)),监督信号:

其中Lc是compositional loss,Lc是用来度量αp+原图抠出来的图像和αg+原图抠出来的图像之间的差异的,Lc相当于根据原图个位置像素取值对αp个位置的取值进行reweight。

网络最终的loss为:

作者还提了SOC一种自监督的策略以及为了解决视频抠图中闪烁提出来的OFD策略。

modnet主要就是S/D/F三个模块,S模块为了人像定位,D模块是为了预测边缘特征,F则是最终的α,三个信号同时进行监督。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/116568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud-Gateway配置及持久化、过滤器、异常处理

文章目录yml配置代码配置持久化数据结构predicates(断言) 和filters&#xff08;过滤&#xff09;新增配置说明相关接口全局过滤器局部过滤器全局异常处理gateway不能和web一起使用 需要排除掉<dependency><groupId>org.springframework.cloud</groupId><…

【Unity】Delegate, Event, UnityEvent, Action, UnityAction, Func 傻傻分不清

【Unity】Delegate, Event, UnityEvent, Action, UnityAction, Func 傻傻分不清Delegate 委托&#xff0c;函数指针一个简单的例子&#xff1a;一对一依赖一个简单的例子&#xff1a;一对多依赖所以话说……委托有啥用呢&#xff1f;事件 Event&#xff0c;特殊的委托UnityEven…

Failed to read artifact descriptor for XXX.jar错误分析

今天遇到极其恶心的坑&#xff0c;自己定义编写的工具类&#xff0c;之前使用一直没有问题&#xff0c;正常引入pom文件中&#xff0c;也能正常的使用工具类中自建类。今天就是无法导入包&#xff0c;报错信息如下。 Failed to read artifact descriptor for com.yuxuntoo.www…

JavaScript篇.day03-循环结构(while, for)

目录 1.循环结构 2.例题 (1)奇数乘积(while/do-while) (2)水仙花数(while) (3)最大公约数(for) (4)最小公倍数(for) (5)打印星星(for) (6)乘法表(for) 1.循环结构 循环结构在程序中可执行多次循环结构有while循环, do-while循环, for循环 名称执行顺序循环执行次数应用…

wireshark练习抓取网络数据包用C编程完成modbus协议,从云端服务器读取温湿度数据。

文章目录前言一、疯狂聊天室1、配置网络2、创建房间3、互发消息二、wireshark抓取网络数据包1.找到对应的包2、分析抓取包中的信息三、Modbus协议概述1、Modbus主/从协议原理2、通用Modbus帧结构---协议数据单元(PDU)3、两种Modbus串行传输模式4、ModbusTCP通信结构四、C编程完…

零基础自学网络安全,如何3个月快速入门?

说到自学网络安全这一块&#xff0c;我来给大家分享一下我的经验。 一、了解相关网站 在入这行之前&#xff0c;我是先泡了一段时间网络安全相关的论坛&#xff0c;了解行业的信息&#xff0c;也可以确认自己是否真的想做这一行&#xff0c;毕竟这一行看起来很炫酷&#xff0…

Python编程 内置文件中常用方法

作者简介&#xff1a;一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.函数 &#xff08;1&#xff09;range() &#xff08;2&#xff09;zi…

做自动化测试3年,薪资为何会被应届生倒挂?

各位职场人都听说过薪资倒挂这词儿吧&#xff0c;这个情况在行业内早就不是什么稀罕事了&#xff0c;我有一个认识的&#xff0c;作为公司3年工龄的软件测试老员工&#xff0c;技术过关&#xff0c;能够独立工作&#xff0c;并且思考优化方向&#xff0c;我不吹牛的说&#xff…

【STL学习之路】vector的使用

文章目录vector介绍vector使用一、构造函数二、迭代器三、vector增删查改关于STL中参数的分析&#xff08;以push_back为例&#xff09;sort算法和仿函数使用vector介绍 vector就是顺序表的封装&#xff0c;是一个模板类&#xff0c;如上图所示。为方便vector里可以存任何数据类…

ChatGPT 免账号使用

一.ChatGPT 简介 ChatGPT是人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具&#xff0c;使用了Transformer神经网络架构&#xff0c;也是GPT-3.5架构&#xff0c;这是一种用于处理序列数据的模型&#xff0c;拥有语言理解和文本生成能力&#xff0c;尤…

搭建资金运营体系提高企业的运营能力

资金运营体系是以项目资金流管理为核心&#xff0c;在项目预核算体系基础上的深度化&#xff0c;是丰富和完善全面预算管理的重要内容。资金运营体系建设嵌入到业务流程和项目实施过程&#xff0c;将资金使用成本贯穿于项目实施各个环节。 一、资金管控总体思路 1、资金运营的…

数据可视化:春节临近,拥堵模式开启,你买好回家的车票了吗

哈喽&#xff0c;大家好&#xff0c;春节将近&#xff0c;想必大家也开始准备回家过年的事情了&#xff0c;春运即将开始&#xff0c;祝愿大家都能买到回家的车票。 想必大家对春运都不陌生&#xff0c;随着春节临近&#xff0c;全国各地也都先后开启了拥堵模式&#xff0c;下…

unity打android studio项目包运行时报错

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0. 打开Cmd 进入打包的项目&#xff0c;如下 输入gradlew --warning-mode all 说的是在Build.gradle(project)的RepositoryHandler.jcenter()方法已弃用 改成mavenCentral()即可 …

【OpenCV-Python】教程:8-3 高动态范围 HDR

OpenCV Python HDR 【目标】 学习如何从曝光序列生成和显示HDR图像。使用曝光融合来合并曝光序列。 【理论】 高动态范围成像(HDRI或HDR)是一种用于成像和摄影的技术&#xff0c;用于再现比标准数字成像或摄影技术更大的动态范围的光度。虽然人眼可以适应广泛的光照条件&am…

软考中级软件设计师和系统集成项目管理工程师哪个更好考?

软件设计师&#xff1a; 计算机相关基础知识&#xff0c;常用数据结构和常用算法&#xff0c;C程序设计语言&#xff0c;以及C、Java中的一种程序设计语言&#xff0c;软件工程、软件过程改进和软件开发项目管理的基础知识&#xff0c;软件设计的方法和技术。 系统集成项目管…

【设计模式】软件开发原则

开闭原则&#xff08;OCP&#xff09; 定义&#xff1a;一个软件实体应当对扩展开放&#xff0c;对修改关闭。也就是说在设计一个模块的时候&#xff0c;应当使这个模块可以在不被修改的前提下被扩展&#xff0c;即使现在不修改源代码的情况下改变这个模块的行为。 意思&#x…

(包含源代码)2022年全国大学生数学建模竞赛E题目-小批量物料生产安排详解+思路+Python代码时序预测模型-补完

目录 前言 赛题分析 1.问题一 问题分析 物料频率 代码详细操作&#xff1a; 出现频次 需求总数 趋势标量 方法 平均每天需求额度 整合代码 熵权法 详细介绍&#xff1a; 二、使用步骤 2.计算指标信息熵 3.熵权法相关代码 得到权重&#xff1a; 只希望各位以…

决策树-sklearn

决策树 1.概述 1.1 决策树是如何工作 决策树能够从一系列有特征和标签的数据中总结出决策规则&#xff0c;并且使用树状图的结构来表现&#xff0c;从而达到解决回归和分类问题。通俗的说&#xff0c;就是我们只需要问一系列问题就可以对数据进行分类。 核心要解决的问题&am…

20221226编译Toybrick的TB-RK3588X开发板的Android12系统3

20221226编译Toybrick的TB-RK3588X开发板的Android12系统3 2022/12/26 18:27 编译指令&#xff1a; 1、cat android12-rk3588.tar.gz.* >android12-rk3588.tar.gz 2、tar -zxvf android12-rk3588.tar.gz,解压缩后生成android12-rk3588-new目录 3、android12-rk3588-new 4、…

CSS篇.day04-单位,流式布局,弹性布局(flex),网格布局,渐变,变形与过渡

目录 1. 单位 2.流式布局 3.弹性布局(flex) 4.网格布局 5.渐变 6.变形与过渡 1. 单位 px: 绝对单位 像素em: 相对单位 基准点为父节点字体大小 若自身定义了font-size按自身来计算(一般浏览器默认16px)rem: 相对单位 相对根节点html的字体大小, css3新增属性, 根元…