CV入门赛事:街景字符编码识别-01
写在前面
该任务来源于阿里天池大赛—零基础入门CV赛事-街景字符编码识别。
1.比赛任务理解
本赛题来源自Google街景图像中的门牌号数据集(The Street View House Numbers Dataset, SVHN)。因此主要任务是识别数字,即从给定图片中找出数字。
1.1数据理解
提供的数据如下图所示为了降低比赛难度,赛事给出了字符串在图中的位置,即在mchar_train.json中给出字符串标签。如下图所示:
图片中的具体含义
Field | Description |
---|---|
top | 左上角坐标X |
height | 字符高度 |
left | 左上角最表Y |
width | 字符宽度 |
label | 字符编码 |
mchar_train.json 对应mchar_train 文件夹中的图片
代码中 train_json = json.load(open(‘C:\mydata\mchar_train.json’))
读出来的train_json是一个字典,键值为height, label, left, top, width
如下图所示
2. 求解思路
赛题本质是对门牌号的数字识别,然后并区分是哪个数字,属于分类问题。但是不同的门牌号,长度不一致。故而增加了难度,即需要进行不定长度的数字识别。主办方提供了以下三种思路:
- 入门思路:定长字符识别
找到图片中最长的门牌号,将其余门牌号用相同字符,如X进行替代,如果识别到填充的字符串,则表明该位置为空 - 专业思路:不定长字符识别
在字符识别研究中,有特定的方法来解决此种不定长字符识别问题,比较经典的有CRNN字符识别模型。本次比赛,图像数据都比较规整,可以将其视为一个单词或句子。 - 专业分类思路:先检测,再识别
可以先将字符的位置识别出来,然后利用物体检测的思路完成。物体检测模型有SSD或YOLO等
3.比赛评价指标
评价标准为准确率,选手提交结果与实际图片的编码进行对比,以编码整体识别准确率为评价指标,结果越大越好,具体计算公式如下: