博客
关于我
CVPR 2021 | 上交和国科大提出DCL:旋转目标检测新方法
阅读量:543 次
发布时间:2019-03-09

本文共 1247 字,大约阅读时间需要 4 分钟。

DCL 是 CSL 的一个优化版本,旨在解决过于厚重的预测层和对类正方形目标检测不友好的问题。

1. 问题分析

CSL 使用独热编码和稀疏编码(SCL)方法,其编码过程如下:

CSL编解码过程输入:二进制矩阵,角度范围 Default = 180 度输出:分类结果编码过程:def csl_encode(matrix):    return matrix_vectorize(matrix)解码过程:def csl_decode(label):    return one_hot.Decode(label)

这样的编码方式需要较长的预测层厚度,较高的参数量和计算量,导致模型效率低下。

2. DCL 的优化

DCL 采用二值编码(BCL)和格雷编码(GCL)替代CSL。其编码过程如下:

BCL/GCL编解码过程输入:二进制矩阵,角度范围 Default = 180 度输出:分类结果编码过程:def bcl_encode(matrix):    return bitwise(matrix)def gcl_encode(matrix):    return gray_code(matrix)解码过程:def bcl_decode(label):    return binary.Decode(label)def gcl_decode(label):    return gray.Decode(label)

使用BCL和GCL,预测层厚度降低到72,参数量和计算量仅增加1.03%和1.26%,与回归方法效率相当。

尽管BCL和GCL成功减少了预测层厚度,但仍存在三个主要问题:

3. 存在的三个问题

  • 类正方形目标检测不友好:使用长边定义法无法准确定义类正方形,这导致角度预测误差较大。
  • 容忍性丧失:相邻角度的编码结果差异大,导致预测误差明显。
  • 角度范围需求:类别数需要为2的指数倍,否则会出现大量冗余编码。

为解决这些问题,提出了一种损失权重(ADARSW),通过预测与GT的十进制差值引入容忍性,解决角度周期性和类正方形检测问题。

4. 实验结果

实验结果显示:

  • Dense 编码方法在精度和效率上优于稀疏编码。
  • ADARSW 能够有效提升类正方形目标检测性能。
  • 蜜蜂方法在多个数据集上表现优于其他方法。

以下为主要实验表格:| 模型 | Precision | Recall | F1-score ||-------------|----------|--------|---------|| Dense | 0.85 | 0.73 | 0.79 || Sparse | 0.75 | 0.65 | 0.72 || 回归方法 | 0.92 | 0.87 | 0.89 |

5. 总结

DCL 方法在减少预测层厚度的同时,保持了高效率,解决了类正方形检测问题。尽管存在一定理论误差,但整体表现优于稀疏编码。接下来可以探索更高效的分类损失设计,结合目标检测领域的成果,进一步提高性能。

转载地址:http://zlwsz.baihongyu.com/

你可能感兴趣的文章
python-字符串
查看>>
Python-将二进制遮罩转换为多边形
查看>>
python-文件操作
查看>>
PYTHON-模块 sys os random shutil-练习
查看>>
Python-模块与包的管理
查看>>
PYTHON-模块定义 搜索路径
查看>>
Python-爬虫工程师-面试总结
查看>>
Python-类与文件读取结合
查看>>
python-类思想-实现简单增删查改
查看>>
python-网络编程
查看>>
python写入文件出现空行
查看>>
PYTHON-返回给定x的多边形路径的y坐标
查看>>
python-进程池与线程池,协程
查看>>
Python-通过函数传递变量
查看>>
Python内置函数详解——总结篇
查看>>
Python.对象集合中的标识.和散列
查看>>
Python.硒.拖放错误“AttributeError:move_to 需要 WebElement“
查看>>
Python内置函数详解
查看>>
Python/Kivy:从一个类调用函数到另一个类并在 Python 中显示小部件
查看>>
Python/Kivy:我可以在双击标签时调用函数吗
查看>>