分割掩模 VS 掩膜

  • 掩膜 Mask
  • 分割掩模 Segmentation Mask
  • 总结
  • 示例

掩膜 Mask

“掩膜” 是指一种用于 标识或遮蔽图像中特定区域图像

在这里插入图片描述

在图像处理中,掩膜通常是一个 二值图像,其中的 像素值为 0 或 1binary Mask 叫做二元掩膜,如下图所示:

在这里插入图片描述

  • 这种二值图像 与原始图像具有相同的尺寸
  • 仅在目标区域的位置上有非零值

掩膜的目的是 突出或选择感兴趣的区域,以便进行进一步的处理或分析。

在这里插入图片描述

比如我想要好好研究椰子树,那我把 原始图像中椰子树 的部分对应着的 掩膜 的值设为 1,其余设为 0。

从图中可以看出,经过掩膜处理之后,除了 原始图像中椰子树 的部分对应着 掩膜 中的 1 值 而保持不变,其他的部分都被 掩膜 中的 0 值覆盖了,剩余的椰子树就是想要进一步分析或处理的部分。

分割掩模 Segmentation Mask

与掩膜相关的概念中,“分割掩模” 通常指的是一个用于 标识图像中不同物体或区域掩膜

分割掩模 是一种图像处理的技术,它 可以将图像中的不同对象分离出来生成对应的二值图或多值图,表示每个对象的位置和形状

在这里插入图片描述

分割掩模通常是一个 二值图像

  • 与原始图像有相同的大小和分辨率
  • 只有两种像素值,0或1。0 表示掩膜区域,1 表示非掩膜区域。
  • 通过 将分割掩模与原始图像相乘,就可以得到分割后的图像,其中 掩膜区域的像素值为 0,非掩膜区域的像素值保持不变

图像分割 任务中,每个目标对象 都可以 用一个独特的分割掩模 来表示。

  • 其中 像素值为 1 的区域表示 属于目标对象 的部分,
  • 像素值为 0 的区域表示 不属于目标对象 的部分。

总结

分割掩模和掩膜是两个相关但不完全相同的概念。

  • 分割掩模 是一种图像处理的技术,它可以 将图像中的不同对象分离出来,生成对应的二值图或多值图,表示每个对象的位置和形状
  • 掩膜 是一种用于 覆盖或遮挡图像的特定图像,它可以 控制图像处理的区域

分割掩模和掩膜的联系是,分割掩模可以作为掩膜的一种输入,用于提取或裁剪图像中的特定区域


例如,如果我们想要从一张图像中 提取出人脸 的部分,

  • 我们可以 先用分割掩模的方法识别出人脸的边界
  • 然后 用这个分割掩模作为掩膜对原始图像进行掩膜提取或裁剪

得到只包含人脸的图像。

如果你想用分割掩模的方法识别出人脸的边界,

  • 首先,需要用一个人脸检测的工具,如 dlib 或 opencv,来定位图像中的人脸区域,并得到人脸的坐标和大小。
  • 然后,需要用一个人脸关键点的工具,如 dlib 或 opencv,来检测人脸的特征点,如眼睛,鼻子,嘴巴等,并得到这些点的坐标。
  • 接着,需要用一个凸包的算法,如 opencv 的 convexHull,来根据人脸的特征点生成一个凸多边形,这个多边形就是人脸的边界。
  • 最后,需要用一个掩膜的技术,如 opencv 的 bitwise_and,来根据人脸的边界抠出人脸的部分,生成一个二值图或多值图,表示人脸的位置和形状。

这是一个简单的示例,也可以参考一些更高级的分割掩模的方法,如基于深度学习的语义分割或实例分割,来提高人脸边界的精度和鲁棒性。

示例

比如上图中的椰子树,我怎么知道掩膜该设成什么值才能提取出椰子树呢?

这需要用到一个叫做 目标检测 的技术,它可以 识别和定位图像中的不同对象,并 用边框标出它们的位置和类别

目标检测的原理是,

  • 首先用一个 深度神经网络来提取图像中的特征,这些特征可以描述图像中的纹理、形状、颜色等信息。
  • 然后用一个 分类器来判断每个特征是否属于某个对象,例如椰子树、汽车、人等。分类器可以是一个全连接层,也可以是一个卷积层,或者是一个更复杂的结构,如注意力机制、图神经网络等。
  • 最后用一个 回归器来调整边框的大小和位置,使其更准确地覆盖对象。回归器可以是一个全连接层,也可以是一个卷积层,或者是一个更复杂的结构,如锚框、特征金字塔等。

目标检测的工具和方法有很多,例如:

  • 基于 区域提议 的方法,如 R-CNN、Faster R-CNN、Mask R-CNN 等,它们先用一个网络或者一个算法 生成一些候选的区域,然后 对每个区域进行分类和回归,得到最终的检测结果。
  • 基于 回归 的方法,如 YOLO、SSD、RetinaNet 等,它们直接 从图像中心点预测对象的类别和边框,一次性完成检测任务,速度更快,但精度稍低。
  • 基于 分割 的方法,如 FCOS、SOLO、DETR 等,它们不使用锚框或者区域提议,而是用一个全卷积网络或者一个 Transformer 网络来 生成一个密集的分割掩码,表示每个像素属于哪个对象,然后根据掩码得到对象的类别和边框。

例如,下图是一个目标检测的结果,它用不同颜色的边框标出了图像中的狗和车,并用文字标注了它们的类别和置信度。

在这里插入图片描述

有了目标检测的结果,就可以根据用户的需求来 生成相应的分割掩模

例如,想要 提取图像中的狗狗

  • 就可以先用一个 全为 0 的分割掩模 来覆盖图像中的所有区域,
  • 然后 根据狗狗的边框的位置和大小,将 分割掩模中对应的区域的像素值设为 1

这样就可以得到一个只包含狗狗的分割掩模。

-> 一个在线的分割掩模工具(在线抠图)
-> 如何用 opencv 的 grabCut 算法来生成一个分割掩模,然后用它来提取图像中的前景对象

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

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

相关文章

transformer模型和Multi-Head Attention

参考英文文献: Understanding and Coding the Self-Attention Mechanism of Large Language Models From Scratch https://www.tensorflow.org/text/tutorials/transformer 解读参考链接:Understanding and Coding the Self-Attention Mechanism of Lar…

Python面试破解:return和yield的细腻差别

更多Python学习内容:ipengtao.com 大家好,我是涛哥,今天为大家分享 Python面试破解:return和yield的细腻差别,全文3000字,阅读大约10钟。 在Python的函数编程中,return和yield是两个常用的关键词…

springboot实现邮箱发送功能

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 邮箱效果图一、pom配置二、页面编写三、配置yml四、邮件工具类五、测试发送 邮箱效果图 1.可以利用在出现问题进行邮箱提醒 2.编写html 用于在邮箱中展示的样式 提示…

数据结构-04-队列

1-队列的结构和特点 生活中我们排队买票,先来的先买,后来的人只能站末尾,不允许插队。先进者先出,这就是典型的"队列"。队列跟栈非常相似,支持的操作也很有限,最基本的操作也是两个:入…

记录一次前后端传参方式不一致异常

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 报错以及Bug ✨特色专栏: …

mac截图Snagit 中文介绍

1.超越普通的屏幕截图 TechSmith Snagit 是唯一具有内置高级图像编辑和屏幕录制功能的屏幕捕获软件。因此,您可以在一个程序中轻松创建高质量的图像和视频。 2.最后,屏幕捕获软件可以完成您所做的一切 快速解释一个过程如果您正在努力清楚地沟通&…

网络聊天室项目

服务器端 #include <myhd.h>//传输结构体 struct cli {char type; // L/C/Qchar name[20];char text[128]; }; int main(int argc, const char *argv[]) {if(argc!3){printf("请输入ip地址和端口号\n");return -1;}//1、创建用于通信的套接字文件描述符in…

java第二十章总结多线程

20.2创建线程 20.2.1继承Thread类 Thread类是Java.lang包中的一个类&#xff0c;从这个类中实例化的对象代表线程&#xff0c;程序员启动一个新线程需要建议Thread实例。 public class ThreadTest extedns Thread{} run方法格式&#xff1a; public void run(){} 20.1让线程…

Attacking Fake News Detectors via Manipulating News Social Engagement(2023 WWW)

Attacking Fake News Detectors via Manipulating News Social Engagement----《通过操纵新闻社交互动来攻击假新闻检测器》 摘要 在年轻一代中&#xff0c;获取新闻的主要来源之一是社交媒体。随着新闻在各种社交媒体平台上日益流行&#xff0c;虚假信息和毫无根据的言论的传…

网络安全应该怎么学?(0基础小白)

一、网络安全应该怎么学&#xff1f; 1.计算机基础需要过关 这一步跟网安关系暂时不大&#xff0c;是进入it行业每个人都必须掌握的基础能力。 计算机网络计算机操作系统算法与数据架构数据库 Tips:不用非要钻研至非常精通&#xff0c;可以与学习其他课程同步进行。 2.渗透技…

钢贸行业ERP系统:实现全面管理与持续增长的利器

去年在上海举办的数字化钢贸高峰论坛中提出钢贸业亟需数字化转型&#xff0c;因为在大力发展数字经济的时代背景下&#xff0c;行业进行数字化转型已经成为一种必然趋势。在今年以前&#xff0c;一些钢贸商一直沿用着以前非常粗放的管理手段&#xff0c;比如手写账本。而如果使…

vr智慧党建展厅超强参与感增强党员群众认同感、归属感

党建教育与VR虚拟现实技术的结合&#xff0c;是顺应现代信息化发展趋势的要求&#xff0c;不仅打破了传统党建教育的束缚&#xff0c;还丰富了党建宣传教育的渠道&#xff0c;党建教育VR云课堂平台是基于深圳华锐视点自主研发的VR云课堂平台中去体验各种VR党建教育软件或者视频…

Go语言实现大模型分词器tokenizer

文章目录 前言核心结构体定义构造函数文本初始处理组词构建词组索引训练数据编码解码打印状态信息运行效果总结 前言 大模型的tokenizer用于将原始文本输入转化为模型可处理的输入形式。tokenizer将文本分割成单词、子词或字符&#xff0c;并将其编码为数字表示。大模型的toke…

【广州华锐视点】VR模拟法庭审判实训,零距离感受庭审全过程

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术已经逐渐渗透到各个领域&#xff0c;为人们提供了全新的体验方式。在法律领域&#xff0c;VR技术的应用也日益受到关注。近年来&#xff0c;越来越多的法学院和培训机构开始尝试将VR技术引入模拟法庭实践…

电商数据采集中如何采集1688平台商品详情SKU数据

一、背景介绍 1688.com是阿里旗下国内最大的B2B批发采购平台&#xff0c;1688分销客是依托此平台的官方营销平台&#xff0c;通过此平台API接口的接入推广平台商家的商品&#xff0c;按照商品成交金额的一定比例获得佣金。可以调用1688平台上的商品详情&#xff0c;SKU数据&…

社区内涝积水监测系统作用,改善社区积水

随着社区化进程的加速&#xff0c;社区基础设施的重要性日益凸显。在这个背景下&#xff0c;社区生命线和内涝积水监测系统成为了关注的焦点。它们在维护社区安全&#xff0c;特别是在应对暴雨等极端天气条件下&#xff0c;发挥着至关重要的作用。 WITBEE万宾时刻关注社区内涝积…

PCL 最小二乘拟合圆柱(C++详细过程版)

目录 一、算法原理1、算法简介2、参考文献二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、算法简介 圆柱拟合步骤主要包括两步: 一是确定柱面模型参数初始值…

关于大模型在文本分类上的尝试

文章目录 前言所做的尝试总结前言 总共25个类别,在BERT上的效果是48%,数据存在不平衡的情况,训练数据分布如下: 训练数据不多,4000左右 所做的尝试 1、基于 Qwen-14b-base 做Lora SFT,Loss忘记记录 准确率在68%左右 Lora配置 class LoraArguments:lora_r: int = 64…

【JavaEE初阶】volatile 关键字、wait 和 notify

目录 一、volatile 关键字 1、volatile 能保证内存可见性 2、volatile 不保证原子性 二、wait 和 notify 1、wait()方法 2、notify()方法 3、notifyAll()方法 4、wait 和 sleep 的对比 一、volatile 关键字 1、volatile 能保证内存可见性 我们前面的线程安全文章中&…

Docker安装可视化工具Portainer

目录 Portainer简介 Portainer安装 Portainer简介 Portainer是一款开源的容器管理平台&#xff0c;支持多种容器技术&#xff0c;如Docker、Kubernetes和Swarm等。它提供了一个易于使用的Web UI界面&#xff0c;可用于管理和监控容器和集群。Portainer旨在使容器管理更加简单…