AI

Task1 赛题理解

2020-05-19  本文已影响0人  泥人冷风

1. 理解赛题背景

2. 赛题数据

json数据标签

字段 含义
top 左上角坐标X
height 字符高度
left 左上角坐标Y
width 字符宽度
label 字符编码

zip图像

json数据对应图像位置

下载地址

[训练集]-3W

图像-mchar_train.zip(345.91MB)
数据标签-mchar_train.json(3.16MB)

[验证集]-1W

图像-mchar_val.zip(200.16MB)
数据标签-mchar_val.json(1.03MB)

[测试集A]-4W

图像-mchar_test_a.zip(370.6MB)

[提交测试结果]-参考CSV

预测结果-mchar_sample_submit_A.csv(507.83KB)

特例:识别一张图片的多个字符的JSON标注:

原始图片 图片JSON标注数据格式
000000.png json

3. 评测指标

Score=编码识别正确的数量/测试集图片数量

4. 读取数据

代码示例:

import json
train_json = json.load(open('../input/train.json'))

# 数据标注处理
def parse_json(d):
   arr = np.array([
       d['top'], d['height'], d['left'],  d['width'], d['label']
   ])
   arr = arr.astype(int)
   return arr

img = cv2.imread('../input/train/000000.png')
arr = parse_json(train_json['000000.png'])

plt.figure(figsize=(10, 10))
plt.subplot(1, arr.shape[1]+1, 1)
plt.imshow(img)
plt.xticks([]); plt.yticks([])

for idx in range(arr.shape[1]):
   plt.subplot(1, arr.shape[1]+1, idx+2)
   plt.imshow(img[arr[0, idx]:arr[0, idx]+arr[1, idx],arr[2, idx]:arr[2, idx]+arr[3, idx]])
   plt.title(arr[4, idx])
   plt.xticks([]); plt.yticks([])

5. 解题思路

赛题图像集特点如下:

字符属性 图片
字符:42 字符个数:2 42.png
字符:241 字符个数:3 241.png
字符:7358 字符个数:4 7358.png

难点

对不定长的字符进行识别(与传统的图像分类任务有所不同)

概括(三个方向)

关键点:固定长度,不足补X

关键点:特定方法如-CRNN字符识别模型

关键点:
--利用字符在图像中位置(训练集、验证集中)
--物体监测
--参考模型:SSD或者YOLO

6. 小结

本次赛题特点:

上一篇下一篇

猜你喜欢

热点阅读