Datawhale 零基础入门CV赛事-Task1 赛题理解

本章内容将会对街景字符识别赛题进行赛题背景讲解,对赛题数据的读取进行说明,并给出集中解题思路。

1 赛题理解

  • 赛题名称:零基础入门CV之街道字符识别
  • 赛题地址:零基础入门CV赛事- 街景字符编码识别
  • 赛题目标:通过这道赛题可以引导大家走入计算机视觉的世界,主要针对竞赛选手上手视觉赛题,提高对数据建模能力。
  • 赛题任务:赛题以计算机视觉中字符识别为背景,要求选手预测街道字符编码,这是一个典型的字符识别问题。
    为了简化赛题难度,赛题数据采用公开数据集SVHN,因此大家可以选择很多相应的paper作为思路参考。

1.1 赛题数据

赛题以街道字符为为赛题数据,数据集报名后可见并可下载,该数据来自收集的SVHN街道字符,并进行了匿名采样处理。

注意: 按照比赛规则,所有的参赛选手只能使用比赛给定的数据集完成训练,不能使用SVHN原始数据集进行训练。比赛结束后将会对Top选手进行代码审核,违规的选手将清除排行榜成绩。

训练集数据包括3W张照片,验证集数据包括1W张照片,每张照片包括颜色图像和对应的编码类别和具体位置;为了保证比赛的公平性,测试集A包括4W张照片,测试集B包括4W张照片。

需要注意的是本赛题需要选手识别图片中所有的字符,为了降低比赛难度,我们提供了训练集、验证集中所有字符的位置框。

1.2数据标签

对于训练数据每张图片将给出对于的编码标签,和具体的字符框的位置(训练集、验证集都给出字符位置),可用于模型训练:

Field Description
top 左上角坐标X
height 字符高度
left 左上角最表Y
width 字符宽度
label 字符编码

字符的坐标具体如下所示:

在比赛数据(训练集和验证集)中,同一张图片中可能包括一个或者多个字符,因此在比赛数据的JSON标注中,会有两个字符的边框信息:

原始图片 图片JSON标注

1.3 评测指标

选手提交结果与实际图片的编码进行对比,以编码整体识别准确率为评价指标。任何一个字符错误都为错误,最终评测指标结果越大越好,具体计算公式如下:
s c o r e = 编 码 识 别 正 确 的 数 量 测 试 集 图 片 数 量 score = \frac{编码识别正确的数量}{测试集图片数量} score=测试集图片数量编码识别正确的数量​

1.4 读取数据

为了方便大家进行数据读取,在此我们给出JSON中标签的读取方式:

import json
import cv2
import numpy as np
%pylab inline
train_json = json.load(open('./input/mchar_train.json'))# 数据标注处理
def parse_json(d):arr = np.array([d['top'], d['height'], d['left'],  d['width'], d['label']])arr = arr.astype(int)return arrimg = cv2.imread('./input/mchar_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([])

1.5 解题思路

赛题思路分析:赛题本质是分类问题,需要对图片的字符进行识别。但赛题给定的数据图片中不同图片中包含的字符数量不等,如下图所示。有的图片的字符个数为2,有的图片字符个数为3,有的图片字符个数为4。

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

因此本次赛题的难点是需要对不定长的字符进行识别,与传统的图像分类任务有所不同。为了降低参赛难度,我们提供了一些解题思路供大家参考:

  • 简单入门思路:定长字符识别

可以将赛题抽象为一个定长字符识别问题,在赛题数据集中大部分图像中字符个数为2-4个,最多的字符个数为6个。
因此可以对于所有的图像都抽象为6个字符的识别问题,字符23填充为23XXXX,字符231填充为231XXX。

经过填充之后,原始的赛题可以简化了6个字符的分类问题。在每个字符的分类中会进行11个类别的分类,假如分类为填充字符,则表明该字符为空。

  • 专业字符识别思路:不定长字符识别

在字符识别研究中,有特定的方法来解决此种不定长的字符识别问题,比较典型的有CRNN字符识别模型。
在本次赛题中给定的图像数据都比较规整,可以视为一个单词或者一个句子。

  • 专业分类思路:检测再识别

在赛题数据中已经给出了训练集、验证集中所有图片中字符的位置,因此可以首先将字符的位置进行识别,利用物体检测的思路完成。

此种思路需要参赛选手构建字符检测模型,对测试集中的字符进行识别。选手可以参考物体检测模型SSD或者YOLO来完成。

1.6 本章小节

综上所示,本次赛题虽然是一个简单的字符识别问题,但有多种解法可以使用到计算机视觉领域中的各个模型,是非常适合大家入门学习的。
三种解决思路的难度从低到高,因此建议入门学习的同学可以先学习定长字符识别的思路。在文档之后的内容中我们也会以定长字符识别为例,让大家逐渐入门计算机视觉。

参考

[1] https://github.com/datawhalechina/team-learning/blob/master/03%20%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89%E5%AE%9E%E8%B7%B5%EF%BC%88%E8%A1%97%E6%99%AF%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81%E8%AF%86%E5%88%AB%EF%BC%89/Datawhale%20%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8CV%20-%20Task%2001%20%E8%B5%9B%E9%A2%98%E7%90%86%E8%A7%A3%20.md

零基础入门CV之街道字符识别----Task1赛题的理解相关推荐

  1. 零基础入门CV之街道字符识别 Task1 赛题理解

    赛题任务 以计算机视觉中字符识别为背景,要求选手预测街道字符编码,这是一个典型的字符识别问题. 赛题数据 数据来源于公开数据集SVHN街道字符. 提供训练集数据3W张照片,验证集数据1W张照片: 每张 ...

  2. 计算机视觉入门CV之街道字符识别—01赛题理解

    计算机视觉入门CV之街道字符识别-01赛题理解 赛题 赛题理解 1.赛题数据 2.数据标签 3.数据读取 思路分析 赛题   以计算机视觉中字符识别为背景,要求选手预测街道字符编码,这是一个典型的字符 ...

  3. Task01——零基础入门NLP - 新闻文本分类之赛题理解

    本篇目标 首先本篇文章会对赛题进行介绍以及个人对赛题的理解,带大家接触NLP的预处理.模型构建和模型训练等知识点. 赛题介绍 赛题名称:零基础入门NLP - 新闻文本分类 赛题任务:赛题以自然语言处理 ...

  4. Datawhale 零基础入门CV赛事-Task3 字符识别模型

    文章目录 1.CNN实现 2.Pytorch实现CNN 3.使用ImangeNet预训练模型 1.CNN实现 CNN基础 2.Pytorch实现CNN 构建一个简单的CNN模型和训练过程 import ...

  5. 零基础入门CV - Task 03 字符识别模型.md

    1. 数据特征提取 学习了解数据特征的概念,实现用python进行数据特征提取. 以sklearn为例进行学习 我们将城市和环境作为字典数据,来进行特征的提取. sklearn.feature_ext ...

  6. 零基础入门CV赛事,理论结合实践

    Datawhale干货 作者:阿水,Datawhale成员 本次分享的背景是,Datawhle联合天池发布的学习赛:零基础入门CV赛事之街景字符识别.本文以该比赛为例,对计算机视觉赛事中,赛事理解和B ...

  7. 阿里云天池学习赛-零基础入门数据分析-学术前沿趋势分析(task1)

    阿里云天池学习赛零基础入门数据分析-学术前沿趋势分析 前言 一.赛题描述及数据说明 1:数据集的格式如下: 2:数据集格式举例: 二.task1论文数量统计(数据统计任务):统计2019年全年,计算机 ...

  8. 零基础入门CV赛事- 街景字符编码识别

    零基础入门CV赛事- 街景字符编码识别 Task01 学习目标 数据介绍 Task01任务内容 数据读取 解题思路 学习目标 熟悉计算机视觉赛事 完成典型的字符识别问题 掌握CV领域赛事的编程和解题思 ...

  9. 零基础入门CV赛事-Task1 赛题理解

    文章目录 赛题介绍 解题思路 1. 定长字符识别 2.不定长字符识别 3. 检测再识别 赛题介绍 赛题以街道字符为为赛题数据(比赛地址),该数据来自收集的SVHN街道字符,训练集数据包括3W张照片,验 ...

最新文章

  1. 钉钉宜搭邀您体验全新升级的数据管理页
  2. 直角三角形的边角关系_华师大版九年级第四章解直角三角形,知识点讲解加经典例题分析...
  3. [转载]Dynamic Database Switching in Rails - How to do it
  4. 怎么颈椎和秃头都扯上我,程序员:我太难了…
  5. MongoDB(二)CRUD 指令简单汇总
  6. csv 中 数值被自动转换成科学计数法 的问题 excel打开后数字用科学计数法显示且低位变0的解决方法
  7. 【清华大学-腾讯】关系提取综述,Review and Outlook for Relation Extraction
  8. Android用户界面设计:布局基础
  9. setpythonhome_python的set,和字典的详细使用方法,以及部分习题
  10. win10前置耳机插孔没声音_新买的电脑,为什么插入耳机没有声音?一招教你快速解决...
  11. 页面监听-iframe子父页面信息传递与监听
  12. input隐藏域赋值数组,node获取val的值
  13. Cross Apply 与 Outer Apply 的区别
  14. 在线 Python运行工具
  15. iOS开发之strip处理framework的调试符号
  16. 查询结果按照字母顺序排序
  17. 一帘心事碎碎念,一眸雪舞剪剪风
  18. Cesium之3D拉伸显示行政区
  19. 毕业季——在校生讲述
  20. 外贸群发软件不好用,邮件群发很苦恼

热门文章

  1. ZigBee智能节水灌溉系统
  2. JAVA求2019的2019次幂的最后五位
  3. 微信小程序之在线任务发布与接单平台(2)
  4. 查询结果按照字母顺序排序
  5. Vimdiff 使用
  6. 计算机文化起源于,计算机文化.pps
  7. python 微信公众号开发[1] 后台服务器端配置与公众号开发配置
  8. LeetCode每日一题495. 提莫攻击
  9. 恶意访问、黑产猖獗,如何做好业务安全“守门人”?丨创新场景50
  10. Cocoa Application-基础