七、水平框、旋转框目标检测样本标注,支持VOC、DOTA、glVOC等格式,值得一试

       GeoLabel前期版本在制作目标检测类样本时偷了个懒,操作方式和数据格式与分割、变化检测没什么区别,也是生成栅格形式标记,再转成需要的格式,这种格式的问题是目标框不能有重叠,因为栅格无法将同一个像素标识为两个类别。

       新发布的GeoLabel1.2.7版本(2021年10月30日发布),对目标检测类的标注做了重点优化,应该比当前市面上见到的工具都要稍微好用一些。

1 总体标注流程

       目标检测总体标注流程采用GeoLabel一贯的标准流程,即“启动选样-样本选点-样本生成-样本标注-生成标准格式文件”,具体参照本号历史博文,此处不详述。

       与以往不同的是,为了支持标注要素有重叠的情况,如机场、车辆等,标注都会有重叠,整体标注模式采用“新建要素”的方式,而不是分割和变化检测中用到的“切割要素的方式”。(后续根据实际使用情况,考虑分割和变化检测也采用“新建要素”的方式)

1.1 切割要素的方式

       即先按照影像范围生成一个polygon,然后标注均是对这个polygon进行切割,即将这个polygon划分为好多个polygon,是全图标注。这种方式可以提高标注的规范性,且对全要素分类是最适合的方式,而对于二值分割、变化检测、目标检测,不见得是最优的。

1.2 新建要素的方式

       即在一个空的图层上进行标注,每画一个标记都是新建一个独立的标记要素,只标注感兴趣区域。这种方式对稀疏的标注、标注要素图形简单的情况较为适用,本次更新就是将目标检测标注从“切割要素”改变为“新建要素”。标注示例如下图所示:

具体流程参照以下视频演示:

目标检测全流程演示1

2 标注编辑操作

       GeoLabel支持水平框、旋转框、平行四边形标注,支持要素的平移、缩放和旋转,基本囊括了四边形标注涉及的所有操作。需要注意的是,如果需要标注重叠的目标,需要将“不允许重叠”状态开关设置为未选中状态,从而可以支持生成有重叠的要素。

具体看视频演示:

目标检测编辑工具1

3 对超出影像范围标记的处理

       对于目标检测拉框,编辑过程中两个小问题可能会影响标记效率:1)位于影像块边缘的要素,如何对准边缘进行拉框?可能需要放大到一个比较大的比例尺才行。2)对于被切割的目标(如一辆汽车,只有一半在样本影像块中),如何进行标注?

       对于上述问题,GeoLabel有相应的解决方案。

1) 要素位于影像边缘的标注

       如果要素位于影像边缘,无需放大影像找到影像的边缘像素,只需将框拉出影像范围,后处理时会自动把多余的部分切掉。

2) 目标要素被切割,如何标注

       要素被切割主要应该有以下四种形式。

  • 情形1:水平框,超出影像范围部分,直接切除。

  • 情形2:旋转框,只有一个点落在影像范围内,整体抛弃。

  • 情形3:旋转框,两个点在影像范围内,超出影像范围部分直接切除。

  • 情形4:旋转框,计算一个最接近于范围内五边形的四边形。

4 生成的标记文件格式

支持栅格、VOC、DOTA和glVOC格式的输出。

4.1 VOC格式

保存在工作空间的VOC目录下。

<annotation verified="no">
    <filename>1_voc</filename>
    <size>
        <width>1024</width>
        <height>1024</height>
        <depth>4</depth>
    </size>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox>
            <xmin>0</xmin>
            <ymin>178.255</ymin>
            <xmax>164.122</xmax>
            <ymax>295.558</ymax>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox>
            <xmin>0</xmin>
            <ymin>425.582</ymin>
            <xmax>154.228</xmax>
            <ymax>561.259</ymax>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox>
            <xmin>876.425</xmin>
            <ymin>237.613</ymin>
            <xmax>1024</xmax>
            <ymax>353.504</ymax>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox>
            <xmin>899.065</xmin>
            <ymin>443.955</ymin>
            <xmax>1024</xmax>
            <ymax>622.639</ymax>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox>
            <xmin>598.493</xmin>
            <ymin>424.169</ymin>
            <xmax>811.413</xmax>
            <ymax>637.193</ymax>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox>
            <xmin>376.117</xmin>
            <ymin>103.35</ymin>
            <xmax>712.482</xmax>
            <ymax>274.359</ymax>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox>
            <xmin>720.962</xmin>
            <ymin>483.527</ymin>
            <xmax>969.703</xmax>
            <ymax>684.216</ymax>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox>
            <xmin>34.098</xmin>
            <ymin>496.247</ymin>
            <xmax>298.385</xmax>
            <ymax>722.375</ymax>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox>
            <xmin>88.2952</xmin>
            <ymin>230.547</ymin>
            <xmax>296.972</xmax>
            <ymax>411.112</ymax>
        </bndbox>
    </object>
</annotation>

4.2 DOTA格式

保存在工作空间的DOTA目录下。

imagesource:unknown
gsd:0.5
0 178.255 164.122 178.255 164.122 295.558 0 295.558 检测目标 0 1
0 425.582 154.228 425.582 154.228 561.259 0 561.259 检测目标 0 1
876.425 237.613 1024 237.613 1024 353.504 876.425 353.504 检测目标 0 1
1024 622.639 1024 467.325 938.61 443.955 899.065 588.446 检测目标 0 1
598.493 536.849 699.762 424.169 811.413 524.513 710.144 637.193 检测目标 0 1
540.059 274.359 376.117 240.44 548.539 103.35 712.482 137.269 检测目标 0 1
720.962 483.527 969.703 483.527 969.703 684.216 720.962 684.216 检测目标 0 1
34.098 496.247 298.385 496.247 298.385 722.375 34.098 722.375 检测目标 0 1
88.2952 368.713 121.723 230.547 296.972 272.946 263.544 411.112 检测目标 0 1
 

4.3 glVOC格式

       保存在工作空间的glVOC目录下,其是GeoLabel自定义的支持旋转框的格式,总体结构类似于VOC,直接存储四个坐标点,非常好理解,也很容易转换成其他格式,并且解析方式与VOC类似。

<annotation verified="no">
    <filename>1_glvoc</filename>
    <size>
        <width>1024</width>
        <height>1024</height>
        <depth>4</depth>
    </size>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox point_number="4">
            <point>0,178.255</point>
            <point>164.122,178.255</point>
            <point>164.122,295.558</point>
            <point>0,295.558</point>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox point_number="4">
            <point>0,425.582</point>
            <point>154.228,425.582</point>
            <point>154.228,561.259</point>
            <point>0,561.259</point>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox point_number="4">
            <point>876.425,237.613</point>
            <point>1024,237.613</point>
            <point>1024,353.504</point>
            <point>876.425,353.504</point>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox point_number="4">
            <point>1024,622.639</point>
            <point>1024,467.325</point>
            <point>938.61,443.955</point>
            <point>899.065,588.446</point>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox point_number="4">
            <point>598.493,536.849</point>
            <point>699.762,424.169</point>
            <point>811.413,524.513</point>
            <point>710.144,637.193</point>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox point_number="4">
            <point>540.059,274.359</point>
            <point>376.117,240.44</point>
            <point>548.539,103.35</point>
            <point>712.482,137.269</point>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox point_number="4">
            <point>720.962,483.527</point>
            <point>969.703,483.527</point>
            <point>969.703,684.216</point>
            <point>720.962,684.216</point>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox point_number="4">
            <point>34.098,496.247</point>
            <point>298.385,496.247</point>
            <point>298.385,722.375</point>
            <point>34.098,722.375</point>
        </bndbox>
    </object>
    <object>
        <id>1</id>
        <name>检测目标</name>
        <bndbox point_number="4">
            <point>88.2952,368.713</point>
            <point>121.723,230.547</point>
            <point>296.972,272.946</point>
            <point>263.544,411.112</point>
        </bndbox>
    </object>
</annotation>

4.4 栅格影像格式

栅格标记。

5 其他

       在公众号“智能的人工”(ID:GeoLabel)中可获得软件下载地址、全套视频教程和最新的软件更新推送。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
水平旋转目标检测是两种不同的目标检测方法。水平目标检测是指使用传统的矩形来标记和检测目标物体。这种方法适用于大多数常见的物体,因为它们的形状通常是接近矩形的。然而,对于一些特殊的物体,如旋转的物体或非矩形的物体,使用水平可能无法准确地标记和检测目标旋转目标检测是一种更灵活的方法,它允许标记和检测旋转的物体或任意形状的物体。通过重新定义对象表示,增加回归自由度,旋转目标检测可以实现对旋转矩形、四边形甚至任意形状的目标的准确标记和检测。这种方法在一些特定的领域研究中非常有用,例如交通标志识别、航空图像分析等。它可以提高目标检测的准确性和鲁棒性,但也增加了算法的复杂性和计算成本。 总之,水平目标检测适用于大多数常见的物体,而旋转目标检测适用于旋转的物体或非矩形的物体。选择哪种方法取决于具体的应用场景和需求。\[1\] #### 引用[.reference_title] - *1* [旋转目标检测mmrotate v0.3.1入门](https://blog.csdn.net/qq_41627642/article/details/125506315)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [水平旋转目标检测样本标注支持VOCDOTA、glVOC格式值得一试](https://blog.csdn.net/julinfn/article/details/121060643)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [旋转目标检测【1】如何设计深度学习模型](https://blog.csdn.net/qq_41204464/article/details/130631935)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能的人工

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值