首页 > 其他分享 >sam之自动生成mask代码流程

sam之自动生成mask代码流程

时间:2023-07-31 14:33:23浏览次数:38  
标签:采样 分割 sam 流程 mask 过滤 图像

本文不涉及sam的训练流程,只设计推理过程

最近接触这个sam,由于网络中关于sam的自动mask功能的介绍较少,所以本周对源码进行了解读

说到sam自动提取mask,包含三个部分,第一个部分是如何对原始图像进行分割成一个个小块,第二部分是送到sam中进行处理得出结果,第三个是如何对一个个小块的结果进行后处理,过滤掉一些,保留更重要的结果。

sam推理这一块是最基础的一个功能,一旦训练完以后它也变不出什么花样。

1.sam网络结构

首先说一下他的网络结构,包含三个部分,图像编码image-encoding,分割点编码point-encoding,分割解码mask-decode

具体的网络结构在这里不进行描述,想了解的可以自己去看一看,这方面的博客也是不少。

图像编码这一块,网络的输入尺寸是1024*1024,原始图像需要进行预处理,先等比例resize,最大边resize到1024,然后再减均值除以方差,最后再进行pad,pad的填充值为0

2.预处理部分

自动提取mask预处理部分涉及的东西还是挺多的,预处理部分主要涉及如何对一张图像进行均匀分割和采样点设置

首先就是对图像进行均匀的分割成几个小块。分割的方法,原始尺寸不分割+均匀分割成4块+均匀分割成16块。也就是说总共21个图像

这21个图像中,会设置不同数量的分割点。具体是这样设置的:1.原始尺寸上:32*32个采样点,2.均匀分割4块:每块16*16个采样点,3均匀分割16快:每块8*8个采样点

采样点和图片都设置好以后,就直接按照普通图片推理方式,进行推理即可

3.后处理部分

在把图片+采样点送去sam以后,就会得出结果,但是结果也是很多个,需要对这些结果进行过滤

1.根据iou_pred过滤掉第一批mask,此时的iou_pred就是模型输出的maks置信度

2.根据stability_score过滤掉第二批mask,stability_score的计算方式是:统计maks的值中所有大于(mask_threshold+offset)的数量作为交集,统计maks的值中所有大于(mask_threshold)的数量作为并集,然后用交集处理并集就是稳定性

3.保留mask边界框(靠近裁剪边缘,但是不靠近原始图像边缘)的maks,其他的过滤掉,这种方式我还是不怎么理解。

4.每个图像的输出结果的boxes,进行nms过滤,然后将box和point全部映射回原图

5.移除mask中的不连续区域和空洞

 

标签:采样,分割,sam,流程,mask,过滤,图像
From: https://www.cnblogs.com/chentiao/p/17592791.html

相关文章

  • SpringMvc的执行流程及工作原理
     先上图针对流程图解析一下:用户发送请求至前端控制器DispatcherServlet前端控制器DispatcherServlet收到请求调用处理器映射器HandlerMapping。处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并返回给Dispa......
  • vue2集成bpmn流程图,可导入导出预览等
    1.使用到的组件组件源码版本licensebpmn-js地址7.3.1bpmn.iobpmn-js-properties-panel地址0.37.2MITcamunda-bpmn-moddle地址4.5.0MIT版本一定要对,否则可能会报错2.组件代码<template><divid="app"><divclass="container">......
  • 验证码识别全流程实战
    本文将介绍验证码的历史与发展、验证码破解的历史与发展,验证码破解全流程实战。验证码的历史与发展验证码,全称为“CompletelyAutomatedPublicTuringtesttotellComputersandHumansApart”,即全自动区分计算机和人类的图灵测试,Captcha。早在上个世纪90年代,为了防止恶......
  • Appuploader工具让ipa上传到App Store 的最新流程和步骤
    ​ 苹果官方提供的工具xcode上架ipa非常复杂麻烦。用appuploader可以在mac和windows上制作管理证书,无需钥匙串工具条件:1.以Windows为例,创建app打包ios需要的证书和描述文件      2.准备好一个苹果开发者账号(如果没有到苹果官网注册一个即可)目录  总体流......
  • 使用Appuploader工具将IPA上传到App Store的最新流程和步骤
    ​ 苹果官方提供的工具xcode上架ipa非常复杂麻烦。用appuploader可以在mac和windows上制作管理证书,无需钥匙串工具条件:1.以Windows为例,创建app打包ios需要的证书和描述文件      2.准备好一个苹果开发者账号(如果没有到苹果官网注册一个即可)目录  总体流......
  • SpringBoot 启动流程分析(寻找扩展点)
    1、SpringBootmaven依赖版本<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=......
  • 格律诗乐器的生产流程和质量控制流程
    《天道》是一部家族史诗剧,它以中国社会从1948年至2008年的历史变迁为背景,讲述了一个家族三代人的命运沿革。剧中讲述了一个家族三代人的命运沿革,展现了中国社会从1948年至2008年的历史变迁。故事从1948年开始,主要围绕着南京的一个大家族展开。剧中主要角色包括家族的长辈代表、年......
  • Mask_RCNN项目下载、配置、运行保姆级教程
    1.下载项目进入国内github镜像https://hub.nuaa.cf/搜索要找的模型下载完成后,放到自己写代码的文件夹内,解压。右键用pycharm打开打开requirements.txt,里面有需要安装的包.(可以在网上查MaskRCNN或你想查的项目的环境配置,网上有的说的很详细,这个requirement说的不太详细,如果版本不......
  • - 通过结合前端页面实现ORM对数据的增删改查 - Django中如何创建表关系 - 一对一
    通过结合前端页面实现ORM对数据的增删改查案例:写一个页面,就是把数据库中的数据以表格的形式展示出来,然后在每一行的后面加两个按钮,分别是修改、删除的按钮1.首先在数据库创建一个表格1.在model.py中创建表格 2.pythonmanage.pymakemigratins迁移记录   3.......
  • 深入浅出大型网站架构设计:设计流程
    假如没有使用独立的数据库系统或者云数据库,而是将数据作为文件保存在服务器上活着直接暂存在内存中,那么当这个网站流量增长时,增加再多的服务器也没有用,因为关键数据只能来源于这一台本来的服务器,其他增加的服务器无法提供这个网站所需的服务。网站的扩展性:添加这个新功能,是否......