345. Kuzushiji Recognition | kuzushiji-recognition
感谢主办方举办这场非常有趣的比赛。祝贺所有完成比赛的人以及获胜者。
以下是我的解决方案概述。
代码仓库:https://github.com/knjcode/kaggle-kuzushiji-recognition-2019
训练权重:https://github.com/knjcode/kaggle-kuzushiji-recognition-2019/releases/tag/0.0.1
核心思路:2阶段方法 + 误报预测器。
对训练和测试图像进行去噪和 Ben's 预处理。
感谢以下笔记本提供的灵感:
Denoising + Ben's Preprocessing = Better Clarity
检测模型使用 Faster R-CNN,配置如下:
使用了定制的 maskrcnn_benchmark。
使用所有训练图像训练检测模型,并通过 Public Leaderboard 分数进行验证。
为了了解测试数据图像分布的趋势,我训练了一个模型来使用训练数据估计书籍的标题。
训练模型的准确率约为 99%。
然后我估计了测试数据中每张图像的书名。以下是测试数据中每张图像的书名估计结果:
count book title
4 100241706
0 100249371
46 100249376
60 100249416
0 100249476
9 100249537
209 200003076
550 200003967
1 200004148
0 200005598
497 200006663
178 200014685
818 200014740
95 200015779
0 200021637
9 200021644
18 200021660
2 200021712
177 200021763
0 200021802
21 200021851
0 200021853
157 200021869
0 200021925
88 200022050
1210 brsk
9 hnsd
1 umgy
基于此结果,我使用了上述前 5 个书名(brsk, 200014740, 200003967, 200006663, 200003076)进行本地验证。
同时,通过提交省略特定书名的识别结果,我确认了 Public 和 Private 测试数据之间几乎没有偏差。
集成 5 个分类模型(硬投票)。
数据集按书名划分为训练集和验证集。
生成 2 种模式的训练数据集: