[第10名方案] YOLOv5 + VFNet + FasterRCNN
[第10名方案] YOLOv5 + VFNet + FasterRCNN
作者:Kiet Chu
比赛:VinBigData Chest X-ray Abnormalities Detection
大家好!祝贺所有的获奖者。我很激动能进入前10名,因为这是我第一次参加 Kaggle 比赛。感谢 @awsaf49、@corochann、@dschettler8845、@sreevishnudamodaran、@quillio 和 @gauravsingh1 分享他们精彩的公开 Notebooks。感谢 Vingroup Big Data Institute 和 Kaggle 组织了这场比赛。
太长不看版 (TLDR)
模型
预处理
- 我对基础边界框应用了 WBF,参数 iou=0.5。
训练方法
- 对于 YOLOv5,我使用 hyp.scratch.yaml 配置训练基础模型 50 个 epochs,然后使用 hyp.finetune.yaml 配置微调另外 50 个 epochs(这两个超参数设置都是 YOLOv5 的默认设置)。
- 对于 Faster RCNN,我基于上述提到的公开 notebook 训练了模型。
- 对于 VFNet,我训练每个模型 15 个 epochs,使用了水平翻转、随机亮度对比度和轻微旋转等数据增强。
后处理策略
- 我使用的集成技术是 WBF,参数 skip_box_threshold=0.3。该阈值是根据最佳公开得分选择的。
- 每个模型的权重是其在各自验证集上的 mAP50 得分。
- 基于输入的边界框,有 5 个类别(主动脉扩大、肺不张、心脏肥大、实变和气胸)平均每张图像少于 1.5 个边界框,而其他类别平均每张图像约有 2 个边界框。因此,我决定以 iou=0.4 融合上述类别的边界框(以减少框的数量),而其他类别的边界框则以 iou=0.5 进行融合。
- 分类预测应用于所有 VFNet 模型、Faster RCNN 模型和两个 YOLOv5 模型。三个 YOLOv5 模型未经过滤,因为有些分类是错误的,而且即使图像正常,YOLOv5 模型产生的边界框数量也相对较少