深度学习严重依赖于海量的数据,因此很多时候我们都是在别人训练好的model上进行迁移学习然后在自己的数据集上精细调节,不同的行业任务不同,因此很多时候常见开源数据集如VOC,ImageNet,COCO,OpenImage等数据是不能用的,要进行训练学习,就得制作自己的数据集。
刚开始可能很多人像我一样认为给图像打标签,拉bound boxes 有啥难的,但自己真正干起来了就突然有点无从着手。我在制作数据集的开始主要遇到了这几个问题:
1、比较相似的检测的类别如何划分,是采用一个标签好还是细分一下好?
2、图片中那些目标是可以标注的,即标注原则是什么?
针对这些问题,我查阅了好些资料先整理如下:
1、VOC官网
http://host.robots.ox.ac.uk/pascal/VOC/voc2012/
2、VOC2012标注规则
http://host.robots.ox.ac.uk/pascal/VOC/voc2012/guidelines.html
3、图像标注规则 | Pascal VOC 标注规则的学习和分析
https://blog.csdn.net/qq_33485434/article/details/80898179#commentBox
4、BasicFinder 标注平台数据科学家吴昊:从数据采集与标记行业看数据与深度学习之关系
https://baijiahao.baidu.com/s?id=1583662359453240258&wfr=spider&for=pc
5、【数据相关】如何进行数据标注(2)
https://www.pianshen.com/article/15071781141/
6、数据标注专家Adela Barriuso标注经验总结,上述5就是这个专家的中文版分享
https://arxiv.org/pdf/1210.3448.pdf
对于问题1,我的经验:
结合你任务需求,在试标注期间,建议类别稍微细分一下,试标注后,可以用程序把类别合成一个类别进行测试。但是你分一个类别,就不可以切分多个类别来训练测试了。
对于问题2,我的经验:
对于标注原则,我首先想到的就是VOC,因为它是比较早的开源数据,还好在官网上找到了VOC2012标注规则,细看一下规则还是比较多的,具体可以去看看,不喜欢英文的可以看看上面那边中文博客;因为这些规则是针对VOC上的数据的,看了这些规则后,其实还有点不放心下手,又去网上找了相关标注的资料,虽然网上资料很少,但还是找到了些,目前找到的感觉最好的就是上面的“4、BasicFinder 标注平台数据科学家吴昊:从数据采集与标记行业看数据与深度学习之关系这篇文章”,不愧是专业做标注,讲的很好。
对于自己标注的数据,行业中还没有一个标准,我结合自己的一些认知和第4篇文章,对标注原则的确定大致是这样的:确定一个标注准则--》试标注--》训练效果反馈--》修正标注准则--》试标注--》训练效果反馈,这个过程需要重复好几次,然后确定最终的标注准则,最后完成数据的标注。
自己制作数据中的需要注意的问题还有好些,我遇到的问题主要是上面两点,其他问题,感觉上述博客4中已经说得比较详尽了。当你标注的数据量比较大时,可能需要外包人员标注了,有好些新成立的专业标注公司。但是外包标注时具体的一些标注准则还是需要算法人员给出的,因为他们是数据的使用者,他们需要确定怎样的数据是合适的,所以自制标注数据试标注一般都是必须的。
下面给出几个专业数据标注公司:
好了先写到这里吧。