街景字符识别1-街景字符编码SVHN
The Street View House Numbers (SVHN) Dataset是街景字符的数据集。该数据集用于modern-day map making。街景字符转录是字符序列识别问题。针对图片序列识别问题传统思路是定位、分割、识别,现在可以采用定长字符分类识别、CRNN不定长字符识别等方法。
问题描述:
- 零基础入门CV赛事- 街景字符编码识别要求选手识别图片中所有的字符,为了降低比赛难度,官方提供了训练集、验证集和测试集中所有字符的位置框。
- 训练集数据包括3W张照片,验证集数据包括1W张照片,每张照片包括颜色图像和对应的编码类别和具体位置
- 测试集A包括4W张照片,测试集B包括4W张照片
- JSON标注中给出了训练数据每张图片对应的编码标签,和具体的字符框的位置(训练集、测试集和验证集都给出字符位置)。
- 另,图片中不仅包含字符序列,还有门框等干扰信息,为了提高准确率可根据JSON标注提供的数字框位置裁剪图片,如:
→
- 另,由于街景字符对应门牌编号,字符串序列的任意错误直接导致地图导航错误,因此街景字符识别以整体识别准确率为评价指标,整体准确率越高则模型性能越佳。
解决方案:
定长字符识别之多分类解决方案
Google2014年的论文《Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks》提出了基于深度卷积神经网络的定长字符分类识别方法。
图片中的字符串序列长度不定但不超过5个字符,可以将赛题抽象为一个定长字符识别问题,待识别字符序列为LXXXXX,其中
- 每个X的取值范围为[0,1,2,3,4,5,6,7,8,9,空字符]
- L代表字符串非空字符长度,取值范围[0,1,2,3,4,5,’>5’]
定长字符识别的一种解决方案是直接对编码图片进行多分类操作(Multi-CNN):
- 模型的输入是128∗128∗3128*128*3128∗128∗3的图片,经过一系列的CNN层进行特征提取,变成了一个含有4096个特征的向量H
- 根据这4096个特征,分别经过6个Softmax层,分别对各个字符串进行分类(分别对5个X字符进行11个类别的分类以及1个L字符进行6个类别的分类。)
- 将6个分类loss求和训练即可。
这种方法思路简单,模型仅包含卷积层和全连接层,模型收敛快;但这种思路是将每个字符单独进行分类的,所以没有考虑到字符与字符之间的关系【这个主要存在于相关联的words字符识别中,数字间不知道有啥关联,难道第一个字符串代表长度,与后面位数的字符串存在关联?】,在精度上有一些欠缺。
不定长字符识别解决方案
CRNN+CTC字符识别模型可以解决不定长的字符识别问题。CRNN模型包括去除全连接层的CNN提取输入图像的Convolutional feature maps,深层双向LSTM网络继续提取序列特征,最后将RNN输出做softmax后,为字符输出。后面CTC的改进看不懂【CRNN+CTC更看不懂…】
检测再识别解决方案
此种思路需要构建字符检测模型,再对字符进行识别。物体检测模型参考SSD或者YOLO、Faster RCNN来完成。
参考
- SVHN的Keras实现
- 《Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks》
- 【竞赛分享】TinyMind人民币面值及编码识别-第五名
街景字符识别1-街景字符编码SVHN相关推荐
- 天池-街景字符编码识别2-数据读取与数据扩增
本此使用[定长字符识别]思路来构建模型 赛题地址 零基础入门CV赛事- 街景字符编码识别 关于更详细的数据预处理可=可以参考我的另一篇博文: 卷积神经网络性能优化(提高准确率) 2 数据读取与数据扩增 ...
- 天池-街景字符编码识别1-赛题理解
赛题地址 零基础入门CV赛事- 街景字符编码识别 前期环境 运行环境及安装 运行环境 python3.7 pytorch1.3.1 有GPU 首先在Anaconda中创建一个专门用于本次练习赛的虚拟环 ...
- 天池学习赛——街景字符编码识别(得分上0.93)
项目代码已上传至github需要的可以自行下载 目录 1 比赛介绍 2 解题思路 3 比赛数据集 4 模型训练 5 更改detect.py文件 6 上传文件 1 比赛介绍 项目链接:零基础入门CV - ...
- 天池大赛:街景字符编码识别——Part2:数据读取与数据扩增
街景字符编码识别 更新流程↓ Task01:赛题理解 Task02:数据读取与数据扩增 Task03:字符识别模型 Task04:模型训练与验证 Task05:模型集成 底到镜一 比赛链接 Part2 ...
- 零基础入门CV赛事- 街景字符编码识别
零基础入门CV赛事- 街景字符编码识别 Task01 学习目标 数据介绍 Task01任务内容 数据读取 解题思路 学习目标 熟悉计算机视觉赛事 完成典型的字符识别问题 掌握CV领域赛事的编程和解题思 ...
- 零基础入门CV赛事—街景字符编码识别—task2数据读取与扩增
数据读取与扩增 上节学习了街景字符编码识别的解题思路,让我们对本赛题有了基本的idea,这节在定长字符编码的思路基础上学习读取数据和数据扩增. 图像数据读取 由于赛题数据是图像数据,赛题的任务是识别图 ...
- 计算机视觉实践(街景字符编码识别)-Task2 数据读取与数据扩增
计算机视觉实践(街景字符编码识别)-Task2 数据读取与数据扩增 2.1.数据读取与数据扩增 本章主要内容为数据读取.数据扩增方法和Pytorch读取赛题数据三个部分组成. 2.1 学习目标 学习P ...
- 阿里天池比赛——街景字符编码识别
文章目录 前言 一.街景字符编码识别 1. 目标 2. 数据集 3. 指标 总结 前言 之前参加阿里天池比赛,好久了,一直没有时间整理,现在临近毕业,趁论文外审期间,赶紧把东西整理了,5月底学校就要让 ...
- 阿里天池街景字符编码YOLO5方案
前言 最近在做OCR相关的任务,用到了阿里天池一个街景字符识别比赛的数据集,索性就分享一下相关方案,我采用YOLO5模型,最终在平台提交分数也做到了0.924,没有经过任何优化,可以看出YOLO5的效 ...
最新文章
- linux6系统下用nginx配置https
- 计算最长公共数字串个数
- jquery的disabled
- JMeter初探-安装与使用
- 某角数卡发卡网程序V1.7.1版本开源源码
- C# 取电信公网IP并发送邮件
- 把算术表达式 表示为一个c语言表达式,正确的写法是____,C与C++程序设计-中国大学mooc-题库零氪...
- 与或非逻辑 页面展示html,一种实现与非、或非门逻辑的忆阻器电路
- 短时间让大家对C++ STL有所学习
- 已锁定 java.lang.Object@25ff46f5
- 速度提升3000倍,微软FastNeRF首次实现200FPS高保真神经渲染
- C++ ORM ODB入门
- 【TSP】基于matlab改进的人工鱼群算法求解旅行商问题【含Matlab源码 1479期】
- 计算机技术应用于测量,在测量绘图中计算机技术应用探析.doc
- 使用 Kind 搭建你的本地 Kubernetes 集群
- SQL中的随机函数-笔记
- 所以,《彩虹六号:围攻》到底需要怎么样的测试服?
- 鲁大师7月新机流畅榜:realme GT大师探索版拿下冠军!
- 【leetcode】442. Find All Duplicates in an Array(Python C++)
- 国产芯片时代来袭 SIT1028是一款内部集成高压LDO稳压源的本地互联网络(LIN)物理层收发器 TJA 1028T
热门文章
- 计算机基础能力入学测试,计算机基础试题入学测试+答案.doc
- 卡耐基梅隆计算机科学课件,美国卡耐基梅隆学计算机科学硕士.pdf
- Oracle 11g 局域网多端口连接配置 同一Wifi下
- 汇编语言程序设计读书笔记(4)- 程序设计基础之一
- 开发用什么linux系统版本,6种适用于开发人员的Linux发行版本!
- 日语敬语(自谦语 郑重语 尊他语)详解
- 国家电网往年提前批资讯,看看你报考的省份什么时候去你们学校?
- 是你多么温馨的目光 教我坚毅望着前路
- 细数颈椎病的7大危害,可致瘫痪中风高血压
- C#常用日期格式处理转换