语义分割在线标注思路
创始人
2024-03-14 17:33:59
0

语义分割选择使用多边形框标注,相对于物体检测它多了一项计算mask掩膜的需求。
一个图片,可能会进行多项标注。每项标注里面都会在物体检测的格式基础上增加mask属性,mask解释为图像掩膜,里面存与图像宽高对应大小的二维数组。
此二维数组可理解为将图片每个像素分成行列,每行为一个子数组。图像上的每个像素点对应二维数组中一个元素。
使用多边形框对图像进行语义分割类型的标注。
若像素点位置落在标注框内,框内的像素点位置坐标的值为1,框外的值为0。
在这里插入图片描述

安排此项内容由前端直接统一计算得出。

实现基础思路

  1. 在AILabel标注插件之上,能知道图片本身的宽高,能知道图片标注区域所在的范围
  2. 根据宽高能初始化对应一个二维数组,从左上角起始每个像素对应其中一个元素
0 0 0
0 0 0
0 0 0

可以看到每个像素都是有对应坐标的。没有标注的时候这些像素位置对应的值都是0

  1. 根据标注框,能计算出在标注框范围内的像素点对应哪些坐标。将这些位置的坐标替换为1

掩膜计算

上述思路在实现过程中难点在于最后一条,怎么将多边形框起来的区域每个像素的位置在二维数组中置为1。

在GIS领域,判断点是否在多边形范围内是一个基础方法,这里主要说下实现原理。
原理比较简单,就是有一个GIS理论,一个点向一个方向发送射线,射线与多边形各个边相交的交点如果是奇数说明点在多边形范围内。

用工具画框时是有顺序的,先后画的两个点是挨着的,所以确定挨着的两个元素能够构成一条边。

可能会遇到的问题是:如果多边形的边比较多,图片比较大,那可能会很卡。
因此针对这个问题可以再考虑一些优化方案。

基础方案

作横向射线,如果交点数为0,那么当前行所有像素都不必再判断,可直接断定不会在多边形内。

优化方案

根据已有多边形的点,计算出多边形的外矩形框边界,这样判断的范围就更小了。
这种思路,不需要遍历所有,只要关注这个矩形区域内像素点坐标的判断即可。
在这里插入图片描述

  1. 以图片宽高初始化二维数组
  2. 以标注区域的外围矩形框的左上角开始遍历、右下角终止,逐一判断每个像素点是否落在矩形框内。如果是则相应位置置为1,否则为0

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...