ICDAR2015 Robust Reading Task4参赛感想

Robust Reading的Task 4是今年才推出的比赛,与已经公开多年的Task1和Task2相比,Task4的样本是用手机随机拍摄的生活场景,不是刻意针对文字拍摄的。

Task1的图像样例

Task2 的图像样例

Task4的图像样例

比赛要求是只检测人眼可以看出来的文字,比较直观,不做过多赘述。

下面是一些我的感想吧。

代码部分

1. 推荐一些高效的开发语言

对于一些工具,不需要考虑性能的情况下,推荐用C#, Java, Matlab等解释型语言来进行编写。C#, Java在做交互工具方面的开发效率极高,很多类都是现成的,尤其是C#的智能感知列表是目前用户体验做的最好的;而Matlab的脚本可以做到在不建立工程的情况下实现一些小功能,比如修改文件名,后缀名,移动、复制文件等。

2. 一些比较好用的Matlab函数介绍,具体使用不做过多介绍,大家自行百度之吧

dir() 获取文件夹下的所有文件或者指定格式的文件

regexp(str_line, ‘\s+‘, ‘split‘) 将str_line以空格进行分割,C#中也有一样的函数,是string类下的split函数

regexp(str_line, ‘,‘, ‘split‘) 将str_line以逗号进行分割

inpolygon() 判断点是否在多边形内的函数

cp2tform() 透视变换函数

fp = fopen(‘test.txt‘, ‘r‘, ‘n‘, ‘utf-8‘); 以utf-8格式打开文件,文件头会有一个? 符合utf-8的编码方式

movefile() 移动文件

copyfile() 复制文件

CNN部分

CNN的特点是逐层提取特征,随着深度增加,提取的特征级别也越高,浅层一般是认为提取边缘特征或者颜色特征。

我将第一个Pooling层前的卷积都认为是浅层,这样CNN可以根据浅层的核大小分为两类,一类是Kernel Size=5,另一类Kernel Size=3。前者的设定在Caffe的样例里面非常常见,从可视化的角度来说,浅层的5×5能够表达更丰富的边缘信息,而后者Small Kernel只是在Ben Graham的论文[1]中见到,而且Ben Graham将网络结构设计的极其有规律,从Ben
Graham的结构中可以看出,他将结构信息转化到了大量的滤波器中,整个结构更像是一种编码,而3×3的Kernel并不算是一种浅层特征提取,因为3×3的Kernel能体现的边缘信息太有限了。所以说,我根据浅层卷积核的大小,大致将CNN分为两类,一类是逐层提取特征的CNN,另一类是逐层编码的CNN,但是这仅仅是一种理解,没有相关的实验做支撑。

从实验的过程来看,Ben Graham的结构非常小巧精致,训练起来要更快,对于小尺度的图像分类问题是很有效的。

一些小细节比如Leaky Relu代替了原来的Relu作为新的神经元激励函数,从对比实验上看Leaky Relu要比Relu好一些,但也不是绝对的,可以说是为网络细节的调整多了一个不错的选择。

样本部分

分类器结构的设计对于分类器训练的作用并不是特别大,因为论文摆在那里,开源的代码摆在那里,大家都会去试试,最后出来的结构都大同小异。而用什么样的数据进行训练是更为重要的。

其实过分依赖数据是分类器的缺陷,但是目前的判别模型又有哪个不依赖数据呢?

其他

1. 有一个清晰的系统框架,一定要清楚先做什么后做什么要做什么,这次比赛一个很大的失误就是没有很早的认识到连通部件提取的重要性,一开始没有把连通部件提取作为工作之一,结果到后面非常被动。

2. 尽量早做完系统,再去追究细节。这个问题并不是没有意识到,而是侥幸心理在作祟,一直是想万一这个改进会是分类器性能有很大改变,就可以给后面省下很多事情,结果是从没有出现过这么好的运气。不过也不是全然没有收获,做了这么多实验,感觉CNN的一个致命问题就是对于样本的数量与质量有很高的需求,CNN没有想象的那么好用。所以在深度学习这个方向,一味的追求数据集上的结果不是长久之策,反而是跟着别人的节奏,去解决深度学习中一些更有价值的问题是更长远的选择。

3. 良好的心态以及一个合适的冲刺时间。做有deadline的事情一定不能着急,不管出了多大的问题,第一个要想的是怎么能够用最高效的方式去解决,要花多大的时间以及人力成本;这样的比赛如果前期没有足够好的积累,肯定是在最后几天要熬夜的,前期不能熬夜,后面一定要提起精神来随时准备熬夜拼命。

4.  研究一下系统不同模块的互补性,可以事半功倍。比如训练CNN的模型,里面肯定有“疑难杂症”,但是很可能这些样本用MSER就很好解决,两者都不好解决的,可能用文本行聚合就轻松搞定,一个好的系统可以不是步步完美,互补也会得到很好的结果。

5.  对于工作要做时间估算。比如有100W的Large Patch样本要传到服务器进行训练,假如网络传输速度为10M/s,100W的样本差不多是25G,传到服务器要43min,假如还要对这些样本做扰动,至少要传输100G的数据,耗时为2.9小时,然后转为caffe能用的leveldb格式至少用1小时,整个过程下来,保守估计用时4小时,中间出点差错,可能一天都是在准备样本。而把扰动的工作放到服务器端来进行可以极大的缩减时间。

6. 定好标准:包括文件名命名格式,数据是二进制还是ANSI,建议用二进制形式的数据文件,可以通过文件大小来检查文件的完整性,而且读写也方便。

7. 将正确分类以及错误分类的样本挑出来查看,有利于分析分类器的缺陷,以及改进的方法。

时间: 2024-10-11 06:54:08

ICDAR2015 Robust Reading Task4参赛感想的相关文章

2016暑假多校训练参赛感想

参赛感想 这是第一次参加暑假多校训练,应该也会是人生中最后一次,我真的很庆幸能参加这个训练,和全国几乎所有高校的ACMer一起在一个平台上做题!昨天为止多校已经完全结束,今天看到叉姐的训练感想(叉姐的感想链接),我觉得我也有必要写下自己的训练感想. 人的眼界总是狭窄的,当在自己的学校站在前几名的时候觉得自己还不错,应该会有不错的将来,但是当第一次参加国赛(2015 南阳站)的时候我便被别人实力所震撼,我突然觉得自己在别人的眼里简直就是小学生,菜到不行.别人在5个小时可以AK,而我连最水的题也要想

华为杯第16届中国研究生数学建模竞赛参赛感想

数模竞赛参赛感悟    我和鲍可爱俩人完成了(我感觉三个人做的话,名次可能会高一点呢),并且提交了.感动    这次的数模竞赛,我选择的是E题,一道经典的文科题目,研究的主题是:用简单的模型说明白,全球气候变暖与局部地区变冷的关系.这个题是一道典型的数据分析题,用一些时间序列模型基本就差不多了,这道题的麻烦点是,数据太难找了,而且给的很多,我的数据处理的功底不到家的,这个以后我慢慢积累吧.. 数学建模依我而言就是写出来一篇论文,论文结构完整的话,能拿个国三(或者说,参加了就有国三,谁知道呢..=

ICDAR2015出结果了

ICDAR2015结束了,竞赛结果也出了. 怎么说呢,虽然排名很低,但是也没垫底,就我跟另一个师兄做,而且几乎从小白开始,能做到这样感觉也不会太过失望. 观察了一下大家的结果,感觉我的方法的优势还是很大的,假如说后面MSER的识别率再比较理想的话,排名会高出一大截,因为CNN的proposal的召回率跟准确率都非常不错了,MSER用的另一个师兄的代码,训练也不是基于比赛数据集训练的,结果差是理所当然. 嗯,不气馁,再给我一个月,掀翻Robust Reading Challenge 4 !毕竟,检

从IaaS到AI,马云为何让阿里云去扛人工智能大旗?

免费开通大数据服务:https://www.aliyun.com/product/odps 绝大多数人对阿里云的定位仍是国内市场最大的IaaS提供商.不过,随着国内人工智能市场在2016年迎来爆发,阿里开始在人工智能领域发力,阿里云的这一角色正在悄然转变. 布局AI领域,阿里云扛起阿里人工智能大旗 虽然阿里不是BAT三座山头中在人工智能领域的声势最旺的那个(百度躺枪),但事实上阿里从2015年也已经开始了人工智能领域的布局. 2015年6月,阿里巴巴联合富士康以145亿日元的价码战略投资软银旗下

最新场景文字检测进展(含代码)

关于场景文字检测的定义.应用.意义等科普性质的细节这里就不提了,本文是一篇相对比较专业的文章,如果非此领域的同学请绕行.本文主要探讨场景文字主流的方法,并提供了一些创新思路,以及一个基于文献[1]的场景文字检测系统(在csdn上分享了该代码).就我所知(半年前全面搜索过),十分完善的场景文字检测的代码网上是没有的,有的只是一些算法,或者比较过时的系统,本文的出现正是希望通过本人的一点努力填补这个空白,方便广大研究者能够更快入门,至少一开始研究就有一个基本框架. 目前主流的方法主要有两类:基于区域

腾讯 AI Lab 计算机视觉中心人脸 & OCR团队近期成果介绍(3)

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:周景超 在上一期中介绍了我们团队部分已公开的国际领先的研究成果,近期我们有些新的成果和大家进一步分享. 1 人脸进展 人脸是最重要的视觉信息之一.以貌识人.以貌取人是人的本性,也是最自然.最常用的身份确认和交互方式之一.互联网和移动互联网上每天上传和传播的天文数字级别的照片中有很大一部分都是和人脸相关的(比如国际知名互联网公司Facebook每天都有亿级以上的海量人脸照片和视频上传),因此人脸检测与识别技术在学术界和工业界都备受关注

CodingTMD’s Reading List

Thursday, October 23, 2014 CodingTMD’s Reading List Following reading list is selected from the papers I had read in the past 3 years. It will help you to gain a basic knowledge of what happened in current industry and bring you a little sense about

My deep learning reading list

My deep learning reading list 主要是顺着Bengio的PAMI review的文章找出来的.包括几本综述文章,将近100篇论文,各位山头们的Presentation.全部都可以在google上找到.BTW:由于我对视觉尤其是检测识别比较感兴趣,所以关于DL的应用主要都是跟Vision相关的.在其他方面比如语音或者NLP,很少或者几乎没有.个人非常看好CNN和Sparse Autoencoder,这个list也反映了我的偏好,仅供参考. Review Book Lis

2014年博创杯参赛历程记

好久没写博客了,最近致力于学科竞赛(不是ACM),没有时间写博客.等比赛告一段落,再写下感想分享下啊. 先记下这个暑假的时间表 7月17日-7月22日  博创杯全国总决赛  北京 7月23日-7月28日  全国大学生信息安全大赛  成都 7月30日-8月5日  回家看妈妈  永州 8月24日-8月27日 湖南省大学生电子设计大赛  长沙 9月1日-9月10日  全国大学生数学建模大赛  吉首 10月13日-10月20日 湖南大学生程序设计大赛  湘潭 前段时间主要是准备博创杯的作品,还算有收获,