返回列表

13th place solution summary

340. Open Images 2019 - Visual Relationship | open-images-2019-visual-relationship

开始: 2019-06-03 结束: 2019-10-01 计算机视觉 数据算法赛
第13名方案总结

第13名方案总结

作者: Appian (Master) | 比赛: Open Images 2019 - Visual Relationship Track

大家好。祝贺获奖者,也感谢 Google AI 今年再次主办这场有趣的比赛。

像往年的大多数方案一样,我将问题分为两部分:非is关系(non-is)和 is关系,因为它们具有截然不同的特征。

1. 非is关系

对于这项任务,我专注于两个对象之间的关系,例如 Man on Chair(男人在椅子上)、Cat under Table(猫在桌子下)。我的方法分两步走:检测对象,然后找出每个可能的三元组的关系。

目标检测

共有 57 个对象(如 ManOven)作为三元组的一部分。我使用了来自 mmdet 的 cascade-rcnn 来处理这 57 个类别,并做了一些修改,例如添加测试时增强。

是我输入给 mmdet 的 .conf 文件。与默认参数相比,值得注意的变化有:

  • 在 RPN 中增加了 2 个锚框以捕捉高长宽比的对象。
  • 使用 CosineAnnealing 代替 StepLR。
  • RCNN 的分数阈值设为 0.0001 而不是 0.05。
  • NMS 阈值设为 0.4 而不是 0.5。
  • max_per_image 设为 400 而不是 100。

我对频繁出现的类别(如 Man, Woman, Chair)进行了欠采样,并且只使用了 150,000 张图片来缩短训练时间,但这牺牲了一定的准确率。

三元组关系

共有 287 种三元组关系。我采用了与去年 anokas 的方案 类似的方法,因为它非常简单且易于实现。

我做的一些改动是:

  • 基于一些工程特征(如 IOU, IOF)将相似的三元组合并为同一类,这样稀有三元组可以借助更频繁的三元组进行训练。
  • 合并后,287 个三元组关系变成了 90 个类别,并为这些类别分别训练了 4 折 LightGBM 模型。

平均 AUC 为 0.9641。将合并的类别分离回原始类别后,平均 AUC 为 0.9623。

提交结果

  • 0.31692 (Public)
  • 0.24060 (Private)

2. is关系

目标检测

我使用 cascade-rcnn 直接检测具有属性的对象,例如 Table Wooden(木制桌子)、Bench Plastic(塑料长椅)。此任务共有 42 个类别。这种方法与去年 toshif 的方案 类似,但我没能把模型做得像他那样好。

提交结果

  • 0.07346 (Public)
  • 0.07130 (Private)

3. 提交结果合并

我只是把它们放在了一起。

  • 0.38469 (Public)
  • 0.30781 (Private)

4. 可能的改进方向

  • 使用完整的图像尺寸。
  • 使用全部数据集。
  • 使用外部数据集(如 COCO, Objects365,如果有帮助的话)。
  • 像去年 tito 的方案 那样,为三元组关系训练 CNN 模型。有些三元组关系(如 Man holds Violin 男人拿小提琴 vs Man plays Violin 男人拉小提琴)很难区分,因为简单的特征(如 IoU, IoF)无法真正捕捉到差异,但 CNN 可以做到。

感谢阅读!

同比赛其他方案