Skip to content

基于虚拟仿真环境下的自动驾驶交通标志识别 Datafountain 平台上的一个竞赛,最终成绩为0.986,25th。前排大佬都能做到0.996+了,膜拜学习一下

Notifications You must be signed in to change notification settings

moyan007/DF-traffic_sign_Detect

Repository files navigation

基于RetinaNet检测器作为主干网络检测器来做的,预处理部分主要是对图像作了增强,从原图中扣取出400*400的图进行训练,更容易准确检测到目标。
测试集的话则根据之前比较好的测试结果来进行扣取测试图像。同时可以对多个检测模型的检测结果进行融合,取检测框的交集或者取并集具体根据自己的任务需求而定。
然后就是细致的调参过程了。

对于二阶检测算法不是太熟,尝试了mask RCNN,faster RCNN,可能是没有调好,线上只能调到0.8+,着实是一种遗憾,还是需要更加深入不断的学习。

最后其实关于数据增强方面有尝试随机裁剪原图像,效果应该可以更好,只是策略训练的太晚了,同时感觉对原图加一些图像增强及相关预处理效果可以更好。

总之,参加比赛嘛,一次学习和实践的过程,也着实在这个过程里学习到了不少的东西。分享给大家,交流学习一下

这里简单的补充下程序的使用方法:
首先运行crop_train.py文件,对原训练集进行裁剪,生成了data_train.csv标签文件;
然后运行data路径下的划分验证集和训练集的脚本,然后可以直接运行
Python train.py csv data/train_label.csv data/classes.csv --val_annotations data/val_label.csv. 一般即可正常开始训练。
训练完成后,需要运行crop_test.py对测试集进行裁剪,然后执行Python convert_model.py model1.h5 model2.h5,完成模型的转化才可以用于测试。
最后即可执行test文件,生成结果,并对裁剪后的生成结果进行还原(通过test_crop_result.py脚本),得到最终检测结果。
output路径下的ensemble脚本可以对多个检测结果进行融合。
调参方面需要自己进一步研究看下源码即可。如还存在问题,欢迎一起交流学习

About

基于虚拟仿真环境下的自动驾驶交通标志识别 Datafountain 平台上的一个竞赛,最终成绩为0.986,25th。前排大佬都能做到0.996+了,膜拜学习一下

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages