Article
作者 | 题目 | 时间 | 期刊 |
---|---|---|---|
董澳静 | 基于贪吃蛇算法和部首识别的手写文本切分 | 2022年 | 华南理工大学学报(自然科学版) |
Data
目的
解决对手写中文文本中:
文编交错
文编粘连
字内过分离
结论
以陕西省某高中试卷中1542行手写文本作为实验数据进行了算法验证,结果表明,该算法切分正确率可达到82.15%
背景
[基于垂直投影的切分算法只能形成竖直路径,无法解决字符之间的交错、粘连 、重叠等问题](Captcha automatic segmentation and recognition based on improved vertical projection | IEEE Conference Publication | IEEE Xplore)
[滴水算法通过模拟水滴向低处滚动形成非线性切分路径,该算法效果优于竖直切分,但水滴在笔划内部形成垂直渗透,造成字符损失,不适合处理具有复杂结构的手写中文文本](改进滴水算法的黏连字符分割方法 - 中国知网 (cnki.net))
方法
本算法通过
爬行规则
爬行规则:
- 待切分文本图像中的字符作为障碍物
-
给定起点 - 爬行趋势为竖直方向
- 遇到障碍物沿障碍物边缘向下
- 进入字符凹陷区域,回溯
- 到达终点得到的有效路径形成原始切分路径
综上可知蛇的爬行不会穿过字符笔划,
爬行顺序:
- 表示当前位置
表示black字符像素点
表示white背景像素点
★表示任意,即不影响决策
=>表示像素转换,爬行策略优先级依次为
本算法对手写文本进行两次切分:
- 粗切分:分割非粘连字符和交错字符
- 二次切分:将1的结果结合宽高比阈值判断粘连字符,并以候选粘连点作为蛇爬行的起点,切分粘连字符
候选路径优化
基于多重约束规则的候选路径优化
爬行后的路径存在冗余,本文通过结合:
- 字符平均宽度
- 水平重叠率
- 分段投影特征
建立路径优化规则,从而得到文本候选切分路径。
水平重叠率?
左右两字符快在
垂直方向上 的重叠长度与两字符块宽度比值的最大值
-
左侧字符宽度
-
右侧字符宽度
-
左侧字符横坐标最大值
-
右侧字符横坐标最小值
-
分段投影特征
以像素点为界,将所在列像素点分为上下两个部分,分别统计字符像素个数, 和 分别表示点上方和下方的字符像素个数。
约束规则
定义
对于字符图像,设宽高分别为,对该图像进行二值化操作后,令:
- 表示字符像素
- 表示背景像素
- 路径列表
- 路径
约束
- 若到之间
无字符像素且重点相同 ,则从该重点向起点回溯,得到一条长度较短的路径。回溯时使用爬行规则,但趋势向上左右相反 - 若左右两侧字符快的,则删除。(本文取)
- 若为非线性路径,存在,
- 则从该点向上形成垂直路径
- 则从该点向下形成垂直路径
- 删除
- 若到之间无字符像素,只保留
候选粘连点提取
基于轮廓曲线极值和骨架特征的候选粘连点提取
本文将粘连分为两类:
- 简单粘连:只有一笔粘连,一般出现在字间笔划薄弱位置
- 复杂粘连:多笔粘连的同时还存在笔划重叠,粘连点处的结构与汉字内部结构相似,多为笔划交叉点
如下图所示的AD区域的粘连点为简单粘连点,BC中的为复杂粘连点
本文使用基于轮廓曲线局部极值提取简单粘连点。
使用基于骨架特征提取复杂粘连点。
最后结合笔划估计宽度、两点距离、四方向笔段长度、邻域像素个数建立粘连点筛选机制,确定候选粘连点。
定义
轮廓曲线
由每列字符像素边界点坐标组成:
上轮廓曲线
下轮廓曲线
笔划估计宽度
水平、竖直扫描二值图像,统计连续字符像素个数,及评论,按降序排列,取前3个计算均值得到笔划估计宽度,即
四方向笔段长度
某一特征点分别在0°、45°、90°、135°的四个方向上连续字符的个数
获取轮廓曲线
然后采用
以图像左下角作为原点绘制轮廓曲线得到如下图:
计算骨架点
利用
但由于骨架提取过程中存在一定程度的毛刺和畸形,导致提取到冗余骨架点,需进行过滤
提取得到的骨架点如下图所示:
冗余骨架点过滤
- 骨架点所在四方向笔段长度均小于,认为该点为孤立噪点,删除该点
- 若两个骨架点距离较远,满足,则保留所属笔段方向更多、笔段长度更大的一点。其中为两点间距离
筛选后得到的骨架点:
候选粘连点
- 粘连点很少弧线在字符粘连区域边界,因此保留内的粘连点,为当前字符宽度,为平均字符宽度
- 保留距离轮廓粘连点范围内的骨架点
- 保留相邻范围内领域像素个数最小的粘连点
基于贪吃蛇的文本切分算法
粗切分
根据手写字体字间笔划稀疏,的特点,粗切分起点由垂直投影值和笔划宽度自适应得到
对于垂直投影,粗切分起点,应符合:
为调节参数吗,越大蛇的初始爬行路径越多,本文取3,得到起点集合
粗切分算法(SnakeSegmentB)实现过程如下:
- 输入二值化的文本图像
- 初始化切分路径列表,一次爬行轨迹集合
- 计算垂直投影列表和笔划宽度
- 计算贪吃蛇爬行起点集合
- 遍历,根据(% emp 爬行规则 %}向下爬行,将有效轨迹坐标加入;若终点坐标在图像最后一行,则将加入;否则,置空;直到遍历结束
- 对,应用规则1-4
- 输出手写文本切分路径列表