DataWhale 零基础入门CV赛事-街景字符识别赛题理解

1、赛题理解

2、数据预处理

3、模型选择

 

 

1、赛题理解

本次比赛为DataWhale与阿里天池共同举办的街景字符识别赛事,主要目标在于将街景的上面获取的字符进行识别,该数据来源于收集的SVHN街道字符,并做了匿名采样处理,为了公平,故所有参赛选手都只能使用比赛给定的官方数据集进行对模型进行训练,不能使用原始的SVHN数据集进行训练。所以我们很明显的想到需要对给定的数据集,进行先检测字符位置,可以选取YOLO4进行对字符位置进行检测,不过官方同时也给出了标注区域,该标注区域存储在JSON文件内,主要数据包含了图片的高度、宽度、字符开始位置的left_Width,以及上方的top_height位置,以及字符的label数据,所以将图片输入进去后,通过该数据做一个字符区域的界定,或者采用YOLO4进行区域界定后作为网络输入,可以去除掉周边空白区域对模型训练的干扰,最终得到的输出与label做多分类的交叉熵损失。通过查看loss可以看出我们的模型训练效果,但是需要考虑是否会对模型产生过拟合现象,可以考虑进行K折交叉验证的方法进行合理的避免。

最终我们的成绩表示为在两个测试集下的编码识别正确数量/测试集的图片总数

2、数据处理

训练集包含了3W张街道字符照片及1W张验证图片、可以知道的是我们需要通过比赛方未公布的测试集进行评估我们的模型效果,每张图片包括了颜色图像和对应的编码类别和具体位置,测试集未公布,但是已知的是测试集包含了两个部分,其中测试集A包括了4W张照片,测试集B包括了4W张图片。

比赛方给出了json数据读取方式,可以得到分割出来的单字符,较为方便,可以使得多字符识别问题变为了循环下的单字符识别问题,值得注意的是由于比赛采用了不定长字符识别,所以这里其实可以将前面获取的分割下的结果全部添加到一个list内然后对list内的数据进行单字符识别后然后在输出出来,最终使得问题简化为单字符识别最后根据各个字符的位置进行排序输出得到多字符检测的任务。

也可以采用定长的方式,由于数据包含了2-6的字符数据,在多字符下,可以认为2字符的话可以将其定为6字符后面4字符为空不输出实现多字符的检测,但是浪费额外的空间。也可以从模型的角度对该问题进行处理,比如CRNN字符识别模型便可以从模型的方式来处理该问题

也可以采用先检测在识别的方法,先通过物体检测的方法去检测出各个字符的位置然后得到位置后再识别(SSD、YOLO去检测)再由字符识别模型进行字符的识别

3、模型选择

模型考虑到对图片进行识别字符、所以采用CNN,这可以选择Resnet、VGG等分类模型,将字符进行分类0-9的10分类问题。

 

你可能感兴趣的:(深度学习)