Object detection · RSI

目标检测测评汇总

检测器权重全程冻结,没有训练。只改送进网络之前的图像处理,以及网络给出框之后怎么保留。同一套官方划分上,基线和优化后各评一次。

检测器:torchvision Faster R-CNN ResNet50-FPN,COCO 预训练权重。汇总日期:2026年9月29日。

官方划分上的分数

下表是各数据集规定的核心指标。基线和优化后用的是同一次实验、同一套类别对照。小数保留 4 位。

涨幅最大 · COCO mAP@[0.5:0.95]
+0.0165
0.3688 → 0.3852
VOC 2007 test · mAP@0.5
+0.0131
0.8282 → 0.8413
类别对不上时
0
交通标志、无人机没有对应类别
数据集 划分 指标 基线 优化后 差值
Pascal VOC 2007 test,4952 张 mAP@0.5 0.8282 0.8413 +0.0131
MS COCO 2017 val2017,5000 张 mAP@[0.5:0.95] 0.3688 0.3852 +0.0165
MS COCO 2017 val2017,5000 张 mAP@0.5 0.5847 0.6049 +0.0202
VisDrone test-dev,1610 张 mAP@[0.5:0.95] 0.0327 0.0408 +0.0081
DOTA-v2 官方 val,593 张 旋转框 mAP 0.0106 0.0156 +0.0050
OpenImages 验证集,34413 张 mAP@0.5 0.0458 0.0458 +0.0000
Objects365 官方 val,80000 张 mAP@[0.5:0.95] 0.0492 0.0514 +0.0023
TT100K 官方 test mAP@0.5 0.0000 0.0000 0
Anti-UAV300 可见光 test mAP@0.5 0.0000 0.0000 0

OpenImages 的精确差值是 +0.00004,四舍五入后两边都是 0.0458。VisDrone 相对自己的基线大约提高了四分之一,绝对分仍然是 0.0408。DOTA 相对基线大约提高一半,绝对分是 0.0156。

实验在做什么

把冻结的检测器当成固定的识别器。它只能输出 COCO 里那 80 类的框。搜索的时候,每一版只改一件事:要么改一个数字,要么在图像处理或框筛选里加一步新的处理。子集上先比较,留下更好的版本,最后在官方划分上评一次。

基线

基线是没改过的默认设置:亮度 1、对比度 1、图像短边 800、长边 1333、分数门槛 0.05、重叠框抑制阈值 0.5。标注只用来算分,不参与改检测器。

输入和输出

允许对齐的名字

同一种东西的不同英文写法可以对上,例如 cell phone 和 mobile phone、dining table 和 dinning table。飞机不能改叫无人机,交通标志的编号也不能改成 COCO 里的类名。

搜索做到哪一步

每个数据集最后留下的改动

Pascal VOC +0.0131

基线 0.8282优化后 0.8413mAP@0.5 · 2007 test

20 个类都能对上 COCO 的名字,所以分数本来就高,优化是在这个高分上再抬一点。子集上曾到过 0.8527,报出的数是完整测试集的 0.8413。

  • 图像短边改为 640,长边仍是 1333。
  • 分数门槛从 0.05 降到 0.02。
  • 原图检一次,左右翻转再检一次,框翻回原图坐标后合并。
  • 重叠框用软抑制,这一步把 NMS 阈值设为 0.9,再按分数把重叠框压低。
  • 用更大尺度再检一次,只把面积小于 96×96 的小框并进来。
  • 靠得很近、类别相同的框,按分数加权合成一个框。
  • 每张图最多保留 300 个框。
  • 丢掉短边小于 8 像素的框。

MS COCO 2017 +0.0165 / +0.0202

mAP@[0.5:0.95] 0.3688 → 0.3852 mAP@0.5 0.5847 → 0.6049

检测器就是用 COCO 训练的,类别完全对得上。涨幅主要来自多看一次小目标、翻转再检一次,以及把更多低分框留下来。

  • 图像短边改为 640。
  • 分数门槛降到 0.02,重叠框阈值仍是 0.5。
  • 更大尺度上只补小框,左右翻转再检一次,相近框按分数加权合并。

VisDrone +0.0081

基线 0.0327优化后 0.0408mAP@[0.5:0.95] · test-dev

航拍图里人和车很小、很密。能对上的是行人、自行车、小汽车、卡车、公交、摩托车。人群、厢式车、三轮车对不上,这几类按 0 分算进 10 类平均。选择在验证集上做,报出的数是 test-dev 的 1610 张。

  • 短边保持 800。
  • 分数门槛降到 0.02,每张图最多留 300 个框。
  • 更大尺度上只补小框。

DOTA-v2 +0.0050

基线 0.0106优化后 0.0156旋转框 mAP · 官方 val 593 张

测试集标注不公开,所以用官方验证集。大图切成 1024 的块再拼回去。水平框转成四点框,按旋转框 IoU 0.5 算 18 类平均。飞机对上 plane,船对上 ship,卡车和公交对上 large-vehicle,小汽车对上 small-vehicle。其余类别按 0 分计入。

  • 分数门槛降到 0.02。
  • 图像短边放到 1200,长边仍是 1333。
  • 更大尺度上只补小框。

OpenImages 几乎没变

基线 0.0458优化后 0.0458mAP@0.5 · 验证集 34413 张

用的是能下载到的 v5 验证集框标注。成组标注不当成单个物体。最后只把分数门槛降到 0.02,没有加新的处理步骤。大量细类和部件类对不上 COCO,平均分被这些 0 分拉低,这一处改动没有再抬高总分。

Objects365 +0.0023

基线 0.0492优化后 0.0514mAP@[0.5:0.95] · 官方 val 80000 张

365 类里只有一部分能对上 COCO。同一种东西的别名,例如餐桌、电视、吹风机、手提包,基线和优化后用的是同一张对照表,所以这 0.0023 是搜索本身带来的,不是改名字带来的。

  • 短边保持 800。
  • 分数门槛降到 0.02,每张图最多留 300 个框。
  • 更大尺度上只补小框。

分数是 0 的两项

TT100K 0.0000

官方测试集有 221 种交通标志。冻结检测器的类别名单里没有这些标志代码,名字一个都对不上。框不会被改标成标志,所以 mAP@0.5 是 0。

Anti-UAV300 0.0000

要检的是无人机。检测器没有 drone、uav 这些类。飞机仍然叫飞机,不会改叫无人机。可见光测试集上 mAP@0.5 和召回都是 0。

还没跑的

结论

不训练网络,只改图像怎么送进去、框怎么留下来,能在检测器本来就会认的类别上把分数抬高。COCO 和 VOC 抬得最清楚,因为类别本来就对得上。

航拍和遥感图上,放大、多留框、专门补小目标,相对自己的基线有提高,绝对分仍然很低。

数据集里大量类别名字对不上时,这些类按 0 分进入平均。搜索改不了这件事。交通标志和无人机就是这种情况,结果保持为 0。

上表差值从大到小:COCO 的 mAP@0.5(+0.0202)、COCO 的 mAP@[0.5:0.95](+0.0165)、VOC(+0.0131)、VisDrone(+0.0081)、DOTA(+0.0050)、Objects365(+0.0023)、OpenImages(约 0)。