用于语义图像分割的弱监督和半监督学习:弱监督期望最大化方法

这时一篇2015年的论文,但是他却是最早提出在语义分割中使用弱监督和半监督的方法,SAM的火爆证明了弱监督和半监督的学习方法也可以用在分割上。

这篇论文只有图像级标签或边界框标签作为弱/半监督学习的输入。使用期望最大化(EM)方法,用于弱/半监督下的语义分割模型训练。

背景知识

1、符号定义

X是图像。Y是分割映射。其中,ym∈{0,…,L}是位置m∈{1,…,m}处的像素标签,假设我们有背景和L个可能的前景标签,m是像素个数。

2、 有监督学习的流程

在上述完全监督情况下,目标函数为:

这里的θ为模型参数向量。每个像素的标签分布计算如下:

其中fm(ym|x,θ)为模型在像素m处的输出。J(θ)采用小批量SGD优化。

弱监督方法(图像级标注)

当只有图像级标注时,可以观察到的是图像值x和图像级标签z,但像素级分割y是潜在变量。那么我们有如下的概率图形模型:

给定之前的参数估计θ ',期望的完整数据对数似然为:

其中可以采用em近似,在算法的e步中估计潜在分割:

论文对EM进行了修改,增加了偏差Bias

在这种变体中,假设log P(z|y)对像素位置进行因式分解为:

这样可以在每个像素上分别估计e步分割:

参数bl=bfg,如果l > 0, b0=bbg,且bfg > bbg > 0。

可以简单的解释为:鼓励将一个像素分配给图像级标签之一。bfg > bbg比背景更能增强当前景类,鼓励完整的对象覆盖并避免退化的解决方案。

论文的参数是:BFG = 5, BBG = 3,除此以外,论文还使用了自适应的值:

EM-Adapt没有在EM-Fixed中使用固定值,而是鼓励至少将图像区域的ρl部分分配给类l(如果zl = 1),并强制不将像素分配给类l(如果zl = 0),这样EM-Adapt可以自适应地设置图像和类相关的偏差bl。ρfg = 20%, ρbg = 40%。

弱监督方法(边界框标注)

Bbox-Rect方法相当于简单地将边界框内的每个像素视为各自对象类的正面示例。通过将属于多个边界框的像素分配给具有最小面积的边界框来解决歧义。虽然边界框完全包围了对象,但也包含背景像素,这些像素是假阳性示例污染训练集。

为了过滤掉这些背景,论文还使用了DeepLab中使用的CRF。边界框的中心区域(框内像素的%)被约束为前景。用hold -out集估计CRF参数。

论文的方法Bbox-EM-Fixed:该方法是前面提到的EM-Fixed算法的一种变体,其中仅提升当前前景目标在边界框区域内的分数。

半监督方法(混合标注)

在混合标注的情况下,就变成了一种半监督的情况。在深度CNN模型的SGD训练中,每个mini-batch具有固定比例的强/弱标注图像,并使用论文提出的EM算法在每次迭代中估计弱标注图像的潜在语义分割。

结果

在EM-Fixed半监督设置中使用1464个像素级和9118个图像级注释,性能显著提高了,达到64.6%,接近完全监督67.6%。

在半监督设置中使用2.9k像素级注释和9k图像级注释,得到68.5%,接近完全监督70.3%。

Bbox-Seg比Bbox-Rect提高了8.1%,并且在像素级标注结果的7.0%以内。1464个像素级标注与弱边界框标注相结合,得到的结果为65.1%,仅比像素级标注差2.5%。

Bbox-EM-Fixed在添加更多标注时比Bbox-Seg有所改进,当在添加2.9k标注时,它的性能提高了1.0% (69.0% vs 68.0%)。

可以说的EM算法的e步比前景-背景分割预处理步骤能更好地估计目标掩模。

总结

这虽然是一篇很老的论文,但是它提出的思想到现在还是可用的,这对于我们了解现在的弱监督和半监督的学习方法也是非常有帮助的,所以推荐对于研究SAM方向的小伙伴都阅读一下,论文地址:

https://avoid.overfit.cn/post/36b0fbd642d640ceab41d0dfb885a95d

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

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

相关文章

JavaScript--修改 HTML 元素

这些是一些用于修改 HTML 元素的常见方法&#xff1a; 1、document.createElement(element)&#xff1a;创建 HTML 元素节点。可以使用这个方法创建一个新的 HTML 元素&#xff0c; 例如 document.createElement(div) 将创建一个 <div> 元素节点。 2、document.createA…

elementUI 非表单格式的校验

在普通表单中对输入框、选择框都有校验案例。 但是在自定义非空中如何进行校验官网并没有说明 关键代码 clearValidate 方法清除校验 this.$refs.formValue.clearValidate(signinimg) 使用案例 <template><div class"stylebg"><Tabs icons"el-…

go mod 设置国内源 windows 环境 win10

启用 go module 功能 go env -w GO111MODULEon 配置 goproxy 变量 go env -w GOPROXYhttps://goproxy.cn,direct 下载包就行了&#xff0c;速度飞快 go mod tidy 检测 goproxy 是否配置好 运行 go env | findstr goproxy 查看 goproxy Go module 从 Go v1.12 版本开始存在&a…

flutter开发实战-底部bottomNavigationBar➕PageView

flutter开发实战-底部bottomNavigationBar tabbar在app中非常常见&#xff0c;底部BottomNavigationBar属性 一、BottomNavigationBar属性 BottomNavigationBar组件的常用属性&#xff1a; type&#xff1a;tabbar样式&#xff0c;默认为白色不显示&#xff1b;fixedColor:t…

S3C2440使用GPIO输入功能控制按键

文章目录 前言一、设置GPIO输入模式二、检测开关1.配置功能2.具体实现 总结 前言 由于上期分享的使用GPIO去控制引脚输出模式点亮LED&#xff0c;那么本期主要介绍一下使用GPIO设置为输入模式&#xff0c;用到的硬件有板载的按键&#xff1b;开发环境也是依赖于S3C2440开发板&…

TCP/IP网络编程 第十五章:套接字和标准I/O

标准I/O函数的优点 标准I/O函数的两个优点 将标准I/O函数用于数据通信并非难事。但仅掌握函数使用方法并没有太大意义&#xff0c;至少应该 了解这些函数具有的优点。下面列出的是标准I/O函数的两大优点: □标准I/O函数具有良好的移植性(Portability) □标准I/O函数可以利用缓…

【AI底层逻辑】——篇章3(下):信息交换信息加密解密信息中的噪声

续&#xff1a;【AI底层逻辑】——篇章3&#xff08;上&#xff09;&#xff1a;数据、信息与知识&香农信息论&信息熵 目录 三、信息是如何交换的 1、互联网与信息交换 2、哈夫曼和有效编码 四、信息的加密与解密 1、密码学的发展 2、可以被公开的密钥 五、信息…

python selenium.webdriver 爬取政策文件

文章目录 获取文章链接批量爬取政策文件应用selenium爬取文件信息数据处理导出为excel 获取文章链接 获取中央人民政府网站链接&#xff0c;进入国务院政策文件库&#xff0c;分为国务院文件和部门文件&#xff08;发改委、工信部、交通运输部、市场监督局、商务部等&#xff…

2023网络安全常见面试题汇总(附答案解析+配套资料)

以下为网络安全各个方向涉及的面试题&#xff0c;星数越多代表问题出现的几率越大&#xff0c;祝各位都能找到满意的工作。 注&#xff1a;所有的资料都整理成了PDF&#xff0c;面试题和答案将会持续更新&#xff0c;因为无论如何也不可能覆盖所有的面试题。 目录 一、渗透测试…

【Python】PyCharm中调用另一个文件的函数或类

&#x1f389;欢迎来到Python专栏~PyCharm中调用另一个文件的函数或类 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;Python学习专栏 文章作者技术和水平有限&#xff0c;如果文中出现错误&…

数据分析案例-数据分析师岗位招聘信息可视化

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

LLM - Hugging Face 工程 BERT base model (uncased) 配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131400428 BERT是一个在大量英文数据上以自监督的方式预训练的变换器模型。这意味着它只是在原始文本上进行预训练&#xff0c;没有人以…

MySQL:聚合函数(全面详解)

聚合函数 前言一、聚合函数介绍1、AVG和SUM函数2、 MIN和MAX函数3、COUNT函数 二、GROUP BY1、基本使用2、使用多个列分组3、 GROUP BY中使用WITH ROLLUP 三、HAVING1、基本使用2、WHERE和HAVING的对比 四、 SELECT的执行过程1、查询的结构2、SELECT执行顺序3、SQL 的执行原理 …

积分图像、图像分割、Harris角点检测

目录 1、积分图像 2、图像分割--漫水填充 3、图像分割--分水岭法 4、Harris角点检测 1、积分图像 #include <iostream> #include <opencv2/opencv.hpp>using namespace cv; using namespace std;//积分图像 int test() {//创建一个1616全为1的矩阵,因为2561616M…

分类预测 | MATLAB实现基于Attention-GRU的数据多特征分类预测(门控循环单元融合注意力机制分类预测,含混淆矩阵图、分类图)

分类预测 | MATLAB实现基于Attention-GRU的数据多特征分类预测(门控循环单元融合注意力机制分类预测&#xff0c;含混淆矩阵图、分类图) 目录 分类预测 | MATLAB实现基于Attention-GRU的数据多特征分类预测(门控循环单元融合注意力机制分类预测&#xff0c;含混淆矩阵图、分类图…

Antd List组件增加gutter属性后出现横向滚动,如何解决

第一次使用ant design的List列表组件&#xff0c;设置gutter间隔属性后&#xff0c;页面出现了横向滚动条&#xff0c;查阅文档发现是由于加间隔后导致容器宽度被撑开&#xff0c;ant design官方默认给外层容器加了margin-left和margin-right 解决方法是在外层容器预留一定的pa…

用宏定义完成整数的二进制位的奇偶位互换

代码如下&#xff1a; #include <stdio.h> #define SWAP(num) (((num & 0xAAAAAAAA) >> 1) | ((num & 0x55555555) << 1))int main() {int num 1010;printf("%d\n", num);printf("%d\n", SWAP(num));return 0; }思路如下&…

MySQL数据备份与还原、索引、视图

一.备份与还原 /***************************样例表***************************/ CREATE DATABASE booksDB; use booksDB; CREATE TABLE books ( bk_id INT NOT NULL PRIMARY KEY, bk_title VARCHAR(50) NOT NULL, copyright YEAR NOT NULL …

统计页面左右+上下自适应布局

1:如果需要调整分栏数量,那么只需要删除对应数据,修改百分比即可. <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style type"text/css" lang"less" >body{margin: 0px ;}.box…

微信小程序用户登录及头像昵称设置教程(前后端)

目录 1.背景分析 2.具体需求分析 3.前端设计 3.1 用户登录 3.2 头像昵称填写&#xff08;个人信息界面&#xff09; 4.后端设计 4.1项目架构分析 4.2 代码分析 实体类 dao层 service层 controller层 工具类 5.nginx部署 6.效果演示 1.背景分析 众所周知&#x…