flexible nms

转自:http://www.sohu.com/a/201486319_99901730

对soft nms的改进,得到:flexible-nms

第二名:Dmytro Poplavskiy 年龄:38岁

居住地:澳大利亚布里斯班

教育:无线电物理与电子学硕士学位

自我介绍:我是一名最近对机器学习感兴趣的软件工程师。

本质上我的源代码组成如下:

1)基于Faster-RCNN的Deformable ConvNets,代码(https://github.com/msracver/Deformable-ConvNets)。我进行了一些小的修改,包括读取Nexar数据集的适配器,禁用非最大抑制阶段的选项,以及能够运行多个预测的小脚本。

2)一些用于准备数据集扩充和转换结果的实用程序脚本。

3)实施定制的灵活非最大抑制阶段(non maximum suppression stage)。

核心要点

我决定使用Faster-RCNN或R-FCN的Deformable ConvNets修改。

由于比赛时可以修改/标注训练数据集,我首先检查了训练数据的改进情况。

标签的规模和性质都不适合用手工进行重新打标签。

我将训练数据集分为两个,在每个上都训练了R-FCN模型。

我比较了两个分开数据集预测与原始标签预测的结果,发现了训练集中缺少的边界框。

几乎在所有情况下,我发现这都是标签缺失导致的。

我按照缺失的边界框数量对训练集中的图像进行排序,并重新标记了其中15-20%边界框缺失最多的图像,最坏情况下图像中有多达8辆车没有边界框。

由于模型生成的边界框相当准确,所以我只需要选择将哪些预测边界框添加到训练数据集中,所以过程还是相对较快。

我决定使用Faster-RCNN,因为经过一个快速测试,它比R-FCN实现了稍微更好的结果。

我计划尝试这篇论文(https://arxiv.org/abs/1704.04503)中描述的Soft NMS方法

我扩展了Soft NMS的原始概念,不仅调整置信区间,还要调整边界框的位置。

我在NMS阶段之前检查了Faster-RCNN的结果,发现它经常产生一些具有相似置信区间和位置的封闭边界框。

只保留置信区间最上层结果,抛弃其他所有的结果,听起来有点浪费,尤其是当结合使用多个模型或测试时间扩充以后。


所以,我的 Flexible NMS方法如下:

1)对于置信度最高的边界框,将其与iou> 0.8的所有其他类似框组合,框的位置作为具有置信度权重的边界框位置的加权平均值。

2)对于组合框的置信度,我使用conf = sum(最多N个边界框)/ N

。这对组合多个结果特别有用,我还想惩罚那些只有单个网络找到的一个结果(相比更多网络/边界框预测的置信度更高的结果)。

我使用N == 4 ×预测数的组合。

3)对于与当前框重叠的所有其他框,我按照原始 Soft NMS文章中的所述调整了置信度。

总体来说,这种方法让我从单个模型、默认NMS得分~0.72–0.73,增加到0.77-0.78,后面是使用 Flexible NMS从2个不同模型组合大约6个预测的结果。

我最终提交的结果,训练了3个Faster RCNN模型,对于所有图像的每个预测,翻转和±20%调整大小。

我将所有结果结合,禁用原始NMS,并通过Flexible NMS进行后处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值