目前较好的自然场景下的文本检测技术有CTPN,FTSN,EAST,STN等,随着这些OCR技术的发展,目前各种形式的文本(保护竖直文本、倾斜文本、弯曲文本等)都可以较为精准的定位。
OCR技术的应该也是非常广泛,本文想要介绍的是将OCR技术、文本识别技术以及路径规划算法相结合,并应用于室内导航的例子(这里将以商城作为室内的主要载体。。。),以下将通过三个步骤来说明该应用的思路与可行性;
1 作品设计思路
图1-1
2 具体实现
2.1 图像文本检测算法
2.1.1 CTPN检测长文本
CTPN网络由于使用了双向BLSTM(如图2-1所示),网络感受野较大,所以对于横向的长文本可以进行准确的定位检测,所以如图2-2所示,我们首先使用CTPN对商铺招牌中的长文本进行检测,定位出文本大框。
图 2-1
图 2-2
写到这里,估计就有一些小伙伴们想问了,为什么只用CTPN检测长文本,而不检测出所有的文本呢?
原因是,CTPN的网络并不适用于所有的文本检测,由于它的网络设计中,并没有fine-tune,所以其对于小文本以及倾斜文本检测效果并不佳。举个例子,CPTN检测的结果会把“炒菜”、‘“拌菜”、“炒面”、“炒饼”、“米饭”用一个大框全部框起来,并没有因为之间存在间隔而分开。
2.1.2 EAST检测倾斜文本
而2017年提出的EAST网络,网络结构如图2-3所示。
图2-3
我将计划下篇具体介绍一下EAST网络以及我对它的实验改进,这里就不再赘述。大概说一下它相比于CTPN的区别
1) 更多尺度的加入,使得其可以对大小文本都进行定位
如图2-3所示,在特征提取部分,网络基于U-NET思想,使用VGG16模型提取四个级别的特征图,其大小为网络输入图 像的1/32,1/16,1/8,1/4。再将获取的不同尺度的特征图进行合并。
2) 输出层引入角度属性(RBOX),使其可以精准检测倾斜文本
如图2-3所示,输出层的设计是该网络的一大亮点。其包含若干个conv1*1的操作,以将32个通道的特征图投影到一个通 通道的分数特征图FS 和一个多通道几何图形特征图Fg。其中图形特征图Fg使用RBOX作为几何形状输出。
表2-1
几何形状 | 通道数 | 属性描述 |
AABB | 4 | ![]() |
RBOX | 5 | ![]() |
如表2-1所示,RBOX的几何形状在融合AABB属性的基础上加入了角度属性(即几何框中每个像素点与水平面的夹角),即4个水平边界框R和1个通道的旋转角度 共5个通道。其中前4个通道分别表示从像素位置到矩形的顶部、右侧、底部、左侧边界的4个距离(如图2-所示)。
图2-4
但EAST网络中卷积核大小只有3*3或1*1大小,网络感受野过小,导致其对于较长文本的检测效果不好。特别是贯穿整个图像的长文本经常出现“框不住”的情况。
以下为EAST检测的部分结果:
图2-5 图2-6
可以看到经过上面的两项改进后,EAST确实对于不同尺度文本以及倾斜文本都检测较好。“SINCE”“1983”“冰淇淋”也被分开定位了,解决了CTPN无法解决的问题。
基于上述,可以综合CTPN网络能够准确检测长文本及EAST网络检测倾斜文本(以及 不同尺寸文本)的优势,可以先用CTPN对图像进行文本检测,只保留最大框。并将最大框区域掩膜后的mask图像送入EAST网络中进行检测,定位出招牌中的其余文本。
图2-7
图2-7为合并结果(由于假期在家写,更好的数据在服务器上,无法提供,在下一篇EAST的改进中会放更具说明性的结果)
2.2 图像文本识别算法
本文工作大多在图像文本检测的工作中,所以对于文本识别算法我将概述。
本应用使用的是DenseNet网络,它的基本思路与ResNet一致,其一大特色是通过特征在通道上的连接来实现特征重用(feature reuse)。这些特点让DenseNet在参数和计算成本更少的情形下实现比ResNet更优的性能。
在识别过程中,其存在一些问题如下
1)无法完全识别出含有英文、繁体字、艺术字,甚至是特殊符号的店铺名称
2)对于竖直的店铺招牌文本识别正确率较低
3)对于横文本中的长文本识别效果较差
对于以上3点问题,分别进行了扩大训练数据到20000张的数据增强以及后处理操作。
其中后处理主要针对2)3)问题:
1.关于问题2),设定阈值,将测试集中的竖文本分割出来。分别训练横向文本的识别网络以及竖直问题的网络,对横竖文本分别进行识别,再将其测试结果进行合并。
2.关于问题3),对横文本中的较长文本进行重叠分割,分成若干个短文本,识别后再将识别结果拼接作为长文本的预测识别结果。
2.3 导航算法(路径规划)
在确定用户所在的起始点和目的地之后,系统可根据商场的平面图进行路经规划,给出用户合适的行走路线,进行导航。相比于室外复杂的路况,长距离的导航,室内商场地形相对简单。因此我们使用经典的A星算法,使用其中的8向寻路,以及进行路线平滑操作,最终实现路经规划。A星算法在搜索精度和速度方面进行了很好的平衡,可以满足商场室内导航的需求。
3. 整体效果展示
首先建立3层商场模型,F-1为商场地下停车场、F1为商场服装区、F2为商场餐饮区。商城模型如图3-1所示。
图3-1
图3-2(a) 图3-2(b)
如图3-2(a)所示,可点击主界面的当前店铺照片按钮,选择一张图像作为起始点(模拟拍照过程,实际应用中可进行直接拍图),再点击主界面的目的店铺照片按钮,选择一张图像作为终止点。点击查看路线按钮,进入导航界面,如图3-2(b)所示,页面显示导航路线。PS:同时也支持多层导航,这里不再展示结果啦!
说到这里很多人会问,直接输入店铺招牌信息不就好了,干嘛还拍照,检测识别,多此一举嘛!问题来了,如果你记不住当初看好的店铺名字了呢,况且拍照岂不是更方便,就像淘宝拍照识别的道理一样啊!当然记住了店铺名最好啦,直接输入文本信息也OK。那文本检测识别的意义就不大了,哈哈。
一个设计的小小应用,目的是为了让学习的东西可以被直观的可视化,共勉啦!
来源:CSDN
作者:爱跳舞的科研小鬼
链接:https://blog.csdn.net/qq_41755463/article/details/104102673