第7名解决方案
作者:phalanx | 比赛排名:第7名
恭喜大家取得优异的成绩!
我总结并记录了我部分的解决方案以及我们的后处理过程。
关于其他部分:
camaro 的部分:(部分) 第7名解决方案及代码
Jhui He 和 yelan 的部分:https://www.kaggle.com/c/pku-autonomous-driving/discussion/127034#726362
.jpg?generation=1579652111438826&alt=media)
模型1:检测与姿态估计
通用设置
检测模型
- Mask RCNN(移除了mask头)
- 主干网络:resnext101-32x4d
- 在lvis上预训练
姿态估计模型
- HRNet-w18c, efficientnetb0/b3
- 在imagenet上预训练
损失函数
- 分类:BCE
- 检测:Focal Loss
- 姿态回归:L1 Loss
检测:优化器与调度器
- 优化器:SGD(lr=0.01, momentum=0.9, weight_decay=1e-4, nesterov=True)
- 调度器:CosineAnnealingWarmRestarts
姿态估计:优化器与调度器
- 优化器:Adam(lr=0.0001)
- 调度器:无
数据增强
- 检测:水平翻转
- 姿态估计:水平翻转、平移、旋转、随机亮度/对比度
1. 在 boxy-vehicle-dataset 上预训练
首先,我在 boxy-vehicle-dataset 上训练我的模型。
该数据集包含轴对齐边界框和3D立方体,但我只使用了2D bbox。
训练设置:
- 图像分辨率:1232x1028
- 轮数:10
- batch_size:4
2. 在比赛数据集上微调
模型
预处理
- 训练集 vs 验证集划分比例 = 9 vs 1
- 使用标签创建3D bbox,然后创建轴对齐bbox
- 深度值处理 -> 1 / sigmoid(depth) - 1
训练设置
- 图像分辨率:800 x 2800, 1400x3300
- 深度损失:L1 Loss
- 轮数:50
- batch_size:4
3. 姿态估计(yaw_sin, yaw_cos, pitch)
预处理
训练设置