分割掩模 VS 掩膜

news2025/1/24 2:26:56

  • 掩膜 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.coloradmin.cn/o/1268299.html

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

相关文章

九、hdfs中Namenode元数据处理

1、元数据的由来 在hdfs文件系统中,用户的每一次操作,都会对文件系统产生响应的影响,那么谁来记录这些影响呢? 在hdfs文件系统中,edits文件记录了hdfs中的每一次操作,以及本次操作影响的文件其对应的block。…

为啥网络安全缺口这么大,还是这么缺网络安全工程师?(网络安全行业前景到底如何)

为啥网安领域缺口多达300多万人,但网安工程师也就是白帽黑客却很少,难道又是砖家在忽悠人? 原因主要为这三点: 首先是学校的原因,很多学校网络安全课程用的还都是十年前的老教材,教学脱离社会需求,实操技能…

营销宝典:让天下没有难写的营销软文

作为一个互联网人,一个营销人,一个手里有项目的人,没有点三脚猫功夫,是很难在这上面立得住,站得稳的。 我们宣传自己也好,宣传产品和服务也好,无非通过三种方式触达客户:视频&#…

【Pytorch】Visualization of Feature Maps(5)——Deep Dream

学习参考来自: PyTorch实现Deep Dreamhttps://github.com/duc0/deep-dream-in-pytorch 文章目录 1 原理2 VGG 模型结构3 完整代码4 输出结果5 消融实验6 torch.norm() 1 原理 其实 Deep Dream大致的原理和【Pytorch】Visualization of Feature Maps(1&…

3dMax导出glft和glb格式模型插件Max2Babylon教程

为了满足Autodesk提供自己的导出管道之前的迫切需要,Babylon.js导出器可用于3dMax。导出器可以将3dMax场景导出为.glTF文件、.glb文件或.babylon文件。 【适用版本】 3dMax2015 - 2024 【安装方法】 1.选择和自己电脑中3dMax所对应的插件版本,解压缩。…

JOSEF约瑟 逆功率继电器 GG-21 5a 100v 50hz

系列型号 GG-21逆功率继电器 GG-22过载继电器 1 用途 逆功率继电器GG-21/5A/100V 在出现逆功率时,从电网中断开交流发电机。 2 概述 逆功率继电器是基于感应式原理(具有旋转磁场)而工作。 继电器导磁体由两个磁路系统组成:上磁路系统和下磁路系统…

箭头函数与普通函数:谁更胜一筹?

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

数据结构 -- 图论之最小生成树

目录 1.最小生成树算法 1.Kruskal算法 2.Prim算法 1.最小生成树算法 定义:最小生成树算法:连通图有n个顶点组成,那么此时的图的每一个点都能相互连接并且边的个数为n-1条,那么此时该图就是最小生成树. 下面量算法有几个共同的特点: 1.只能使用图中权值最小的边来构造生成树 …

F. Magic Will Save the World

首先积攒了能量打了怪再积攒是没有意义的,可以直接积攒好,然后一次性进行攻击 那么怎么进行攻击了?可以尽量的多选怪物使用水魔法攻击剩余的再用火魔法进行攻击, 也就是只要存在合法的体积(即装入背包的怪物的体积之…

谷粒商城-商品服务三级分类功能·-后端代码

递归获取树形结构 CategoryController RequestMapping("/list/tree")public R list(){List<CategoryEntity> entities categoryService.listWithTree();return R.ok().put("data",entities);}CategoryServiceImpl 第一步&#xff1a; 1.查出所有分类…

MySQL 中的锁(三)

8.7. 死锁和空间锁 一般来说&#xff0c;只要有并发和加锁这两种情况的共同加持下&#xff0c;都会有死锁的身影。 死锁的具体成因&#xff0c;借用我们在并发编程中的内容&#xff1a; 8.7.1. 死锁 8.7.1.1. 概念 是指两个或两个以上的进程在执行过程中&#xff0c;由于竞…

史上最全接单平台集锦,程序员不容错过!

非典型程序员不是每天都累成狗&#xff0c;天天”996"甚至”007“。可能&#xff0c;面临着上班摸鱼没事干&#xff0c;下班躺尸打游戏的无聊境况。那么&#xff0c;如果你也是这样的程序员&#xff0c;有没有什么安排可以打发时间&#xff1f; 闲着还不如挣钱~心情好的时…

聚焦 6G 无线技术——目标和需求

从 3G 到 5G 乃至之后的每一种无线标准&#xff0c;都在设计时加入了推动行业发展的具体目标。例如&#xff0c;4G 专注于以 IP 为中心的灵活语音、数据和视频通信&#xff0c;而 5G 则在此基础上进行了改进。6G 的目标是提供更加无处不在、更高效、更身临其境的无线连接。6G 系…

记录一次YAMLException异常

记录一次YAMLException异常 ✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 报错以及B…

【从删库到跑路 | MySQL总结篇】表的增删查改(进阶下)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】&#x1f388; 本专栏旨在分享学习MySQL的一点学习心得&#xff0c;欢迎大家在评论区讨论&#x1f48c; 目录 一、联合…

Linux常用命令----touch命令

文章目录 Linux操作系统中&#xff0c;touch 命令是一个常用且强大的工具&#xff0c;主要用于创建空文件或设置文件的时间戳。本文将详细介绍 touch 命令的各种参数及其用法&#xff0c;并通过实例演示来加深理解。 1. touch命令基础 touch 命令的基本语法格式为&#xff1a…

鸿蒙4.0开发笔记之ArkTS装饰器语法基础@Extend扩展组件样式与stateStyles多态样式(十一)

一、Extend扩展组件样式 1、作用 前文提到可以使用Styles用于样式的扩展&#xff0c;在Styles的基础上&#xff0c;ArkTS语法还提供了Extend&#xff0c;⽤于扩展原生组件样式&#xff0c;包括Text、Button等等。 2、定义语法 Extend(UIComponentName) function functionNam…

Flutter下拉框使用和可替换按钮的组件

前言 1、下拉框 在使用flutter框架完成项目的时候&#xff0c;有一个下拉框选择排序条件的需求&#xff0c;需要将下拉的选择内容&#xff0c;放在下拉按钮的下面&#xff0c;如Unity的Dropdown。下图是完整的需求。但是flutter系统自带的DropdownButtonFormField&#xff0c…

RabbitMQ消息模型之Work Queues

Work Queues Work Queues&#xff0c;也被称为&#xff08;Task Queues&#xff09;&#xff0c;任务模型&#xff0c;也是官网给出的第二个模型&#xff0c;使用的交换机类型是直连direct&#xff0c;也是默认的交换机类型。当消息处理比较耗时的时候&#xff0c;可能生产消息…

pkpmbs 建设工程质量监督系统 文件上传漏洞复现

0x01 产品简介 pkpmbs 建设工程质量监督系统是湖南建研信息技术股份有限公司一个与工程质量检测管理系统相结合的&#xff0c;B/S架构的检测信息监管系统。 0x02 漏洞概述 pkpmbs 建设工程质量监督系统 FileUpOrDown.aspx、/Platform/System/FileUpload.ashx、接口处存在任意文…