热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

阿里天池竞赛街景字符识别准备工作

阿里天池竞赛-街景字符识别Task01:赛题理解了解比赛,下载数据集比赛链接:https:tianchi.aliyun.comcomp

阿里天池竞赛-街景字符识别Task01:赛题理解


了解比赛,下载数据集

比赛链接:https://tianchi.aliyun.com/competition/entrance/531795/introduction

赛题来源自Google街景图像中的门牌号数据集(The Street View House Numbers Dataset, SVHN),并根据一定方式采样得到比赛数据集。
在这里插入图片描述
数据集报名后可见并可下载,该数据来自真实场景的门牌号。训练集数据包括3W张照片,验证集数据包括1W张照片,每张照片包括颜色图像和对应的编码类别和具体位置;为了保证比赛的公平性,测试集A包括4W张照片,测试集B包括4W张照片。
在这里插入图片描述


运行环境及安装

Baseline的运行环境要求:Python2/3,Pytorch1.x,内存4G,有无GPU都可以。


  1. 安装anaconda和python3.7 ,我笔记本上已经有python3.7和anaconda了,只需要再安装Pytorch就可以了。
  2. 安装pytorch 笔记本8G内存,没有GPU,是win10,所以,直接在anaconda navigator中搜索pytorch进行安装。
    在这里插入图片描述
    安装成功!
    在这里插入图片描述

解题思路

赛题思路分析:赛题本质是分类问题,需要对图片的字符进行识别。但赛题给定的数据图片中不同图片中包含的字符数量不等。有的图片的字符个数为2,有的图片字符个数为3,有的图片字符个数为4,如下所示。
在这里插入图片描述![
在这里插入图片描述
因此本次赛题的难点是需要对不定长的字符进行识别,与传统的图像分类任务有所不同。解题思路供参考:


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

可以将赛题抽象为一个定长字符识别问题,在赛题数据集中大部分图像中字符个数为2-4个,最多的字符 个数为6个。
因此可以对于所有的图像都抽象为6个字符的识别问题,字符23填充为23XXXX,字符231填充为231XXX。
在这里插入图片描述
经过填充之后,原始的赛题可以简化了6个字符的分类问题。在每个字符的分类中会进行11个类别的分类,假如分类为填充字符,则表明该字符为空。


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

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


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

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

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

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


学习baseline代码

Baseline思路:将不定长字符转换为定长字符的识别问题,并使用CNN完成训练和验证,具体包括以下几个步骤:
赛题数据读取(封装为Pytorch的Dataset和DataLoder)

构建CNN模型(使用Pytorch搭建)

模型训练与验证

模型结果预测


推荐阅读
author-avatar
牛粪不插花88
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有