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

本文共 1272 字,大约阅读时间需要 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/

你可能感兴趣的文章
npm install 报错 ERR_SOCKET_TIMEOUT 的解决方法
查看>>
npm install 报错 Failed to connect to github.com port 443 的解决方法
查看>>
npm install 报错 fatal: unable to connect to github.com 的解决方法
查看>>
npm install 报错 no such file or directory 的解决方法
查看>>
npm install 权限问题
查看>>
npm install报错,证书验证失败unable to get local issuer certificate
查看>>
npm install无法生成node_modules的解决方法
查看>>
npm install的--save和--save-dev使用说明
查看>>
npm node pm2相关问题
查看>>
npm run build 失败Compiler server unexpectedly exited with code: null and signal: SIGBUS
查看>>
npm run build报Cannot find module错误的解决方法
查看>>
npm run build部署到云服务器中的Nginx(图文配置)
查看>>
npm run dev 和npm dev、npm run start和npm start、npm run serve和npm serve等的区别
查看>>
npm run dev 报错PS ‘vite‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
查看>>
npm scripts 使用指南
查看>>
npm should be run outside of the node repl, in your normal shell
查看>>
npm start运行了什么
查看>>
npm WARN deprecated core-js@2.6.12 core-js@<3.3 is no longer maintained and not recommended for usa
查看>>
npm 下载依赖慢的解决方案(亲测有效)
查看>>
npm 安装依赖过程中报错:Error: Can‘t find Python executable “python“, you can set the PYTHON env variable
查看>>