476. TensorFlow - Help Protect the Great Barrier Reef | tensorflow-great-barrier-reef
感谢主办方,祝贺所有的获奖者以及我出色的队友 @nvnnghia 和 @steamedsheep。
这对我们来说确实非常意外。因为我们没有任何“新东西”,我们只是从头到尾一直在本地优化我们流程的交叉验证 F2 分数。
我们设计了一个两阶段的流程:目标检测 -> 分类重打分。随后是一个后处理方法。
验证策略:按 video_id 划分的 3 折交叉验证(3-fold cross validation)。
box=0.2,iou_t=0.3。max(length, width),然后向外扩展 20%。[1,1,1,0,0,0,0] 表示 IoU 在 0.5 到 0.6 之间。dropout_rate=0.7 和 drop_path_rate=0.5。最后,我们使用一个简单的后处理方法将 CV 进一步提升到 0.74+。
例如,模型在第 #N 帧预测了一些框 B,从 B 中选择具有高置信度的框,这些框被标记为“关注区域”。
在第 #N+1, #N+2, #N+3 帧中,对于 conf > 0.01 的预测框,如果它与“关注区域”的 IoU 大于 0,则提升这些框的分数:score += confidence * IOU。
我们也尝试了跟踪方法,它使 CV 增加了 +0.002。但是,它引入了两个额外的超参数。因此我们选择不使用它。
在比赛开始时,我们团队的三个成员分别使用了不同的 F2 算法,后来我们发现对于同一个 oof(样本外预测),我们计算出的分数并不一样。
例如,nvnn 分享了一个 OOF 文件,显示 F2=0.62,sheep 计算为 F2=0.66,而我计算的是 F2=0.68。
我们最终选择使用 nvnn 提供的分数最低的 F2 算法来评估我们所有的模型