基于尺度不变特征变换的离线文本无关文本书写人识别
1.摘要
- 提出了一种基于尺度不变特征变换(SIFT)的离线文本无关书写人的识别方法,该方法由训练、注册和识别(training, enrollment, and identification)三个阶段组成。
- 在所有阶段中,首先使用各向同性对数滤波器(isotropic LoG )将手写图像分割为单词区域(WRs)。
- 然后,提取WRs的SIFT描述符(SDs:SIFT特征/描述符)以及相应的尺度和方向(SOs)。
- 在训练阶段,通过对训练样本的SDs进行聚类来构造SD码本。
- 在注册阶段,利用输入笔迹的SDs形成SD签名(SDS)来与SD码本作进行查找,并利用SOs生成尺度和方向直方图(SOH:尺度和方向直方图)。
- 在识别阶段,提取输入笔迹的SDS和SOH,并与注册笔迹进行匹配以进行识别。在六个公共数据集(包括三个英文数据集、一个中文数据集和两个混合语言数据集)上的实验结果表明,该方法优于现有的算法。
2.介绍
- 一般来说,离线文本无关书写人的识别方法大致分为两大类:texture-based基于纹理的方法和structure-based基于结构的方法。
- 基于纹理的方法将笔迹作为一种特殊的纹理图像,提取笔迹文本的纹理特征进行笔迹识别。
- 与纹理特征相比,笔迹的结构特征更加直观、显著和稳定,更有利于笔迹的识别。
- 现有的方法都是基于笔迹的轮廓或者异体字片段,无法提取同一单词中异体字之间的结构特征。在书写文档时,单词作为一个整体,对于不同的书写人有很强的区分性。因此,同一个词中的异体字之间的结构对于书写人的特征也很重要。
- 所以本文,提出了一种基于尺度不变特征变换(SIFT)的笔迹图像字词级别的结构特征提取方法,包含整个词的结构信息。
3.方法
- 训练,注册和识别
- 首先将笔迹图像分割成单词区域(WRs)。然后利用SIFT检测关键点。从WRs中提取关键点的SIFT描述子(SDs)以及相应的尺度和方向(SOs)。SDs和SOs将在不同的阶段以不同方式使用。
- 训练阶段,从训练数据集中提取SDs用于生成注册阶段和识别阶段的码本。
- 注册阶段,从注册笔迹图像中提取SD签名SDS和尺度和方向直方图SOH,储存用于识别。
- 识别阶段,从输入笔迹中提取SDS和SOH,分别于注册笔迹进行匹配。得到两个距离,然后进行融合,形成最终的距离。
- 个人理解:
- 先使用**各向同性对数滤波器(isotropic LoG )**进行分词,
- 利用SIFT提取关键点SDs用于生成码本。
- 注册样本进行分词,利用SIFT生成尺度和方向信息SO并用SO生成SO直方图SOH,同时也利用SIFT生成SIFT关键点描述子SDs并用SDs生成SD签名SDS与码本进行寻找。把这两个作为特征。
- 识别样本进行分词,利用SIFT生成尺度和方向信息SO并用SO生成SO直方图SOH,同时也利用SIFT生成SIFT关键点描述子SDs并用SDs生成SD签名SDS与码本进行寻找。
- 然后分别比较两个SDS和SOH的距离,然后进行特征融合,得到最终的距离。
3.1分词
-
为了提取笔迹中的字词级别的结构特征,先进行分词。
-
为了避免文本行分割和减少文本行方向的影响,采用同性LoG滤波器进行单词的分割
-
使用Otsu‘s方法大津法—-最大类间方差法对笔迹样本的灰度图像转化为二值图像(a变为b)
- 最大类间方差:加入一幅图像有个灰度级。灰度级为的像素点的个数为,那么总的像素点个数应该为。所以使用归一化的灰度直方图视为这幅图像的概率分布:
- 现在假设我们通过一个灰度级为k的门限,将这类像素点划分为两类:(背景和目标),表示灰度级1~k的像素点,表示灰度级为k+1~L的像素点,那么每一类出现的概率以及各类的平均灰度级分别由下面的式子给出:
- 假设阈值T为图像背景与目标的分割界限,目标像素占图像总像素的比例为,平均灰度为;背景像素占比为,平均灰度为,图像总平均灰度为u,背景和目标的方差为g。则:
- 当方差g最大时,灰度T就是最佳阈值。
- 大津法,按照图像的灰度特性,将图像分成背景和目标两个部分。当取到最佳阈值时,两者之间的差别是最大的,背景和目标之间的类间方差如果越大,则说明构成图像的两个部分之间差别越大,出错概率就会越小。(使方差最大的那个阈值就是我们想要的)
-
获取二值图像中的所有连接组件(CCS),然后计算他们的平均高度
-
使用同性对数滤波器对大津法二值图像进行滤波,得到的图像为图像c。由于相同字的连接组件(CCs)之间的间距远小于不同字之间的间距,因此具有适当方差的对数滤波器可以连接相同单词的CCs并分离不同的单词。由于同一个单词的CCs之间的间距与正常手写文档中单词的高度成正比,所以使用图像b中所有CCs的平均高度来确定过滤器的方差为
- 利用大津算法得到的阈值对图像c进行二值化得到二值化图像d
- 将图像b中的每个连接组件分配到图像d中最近的连接区域,以形成半字词区域(SWRs),这些区域用不同颜色表示。如图e。
- 根据相邻的半字词区域SWRs之间的距离合并SWRs以得到字词区域(WRs),如图f。
- 从这些重叠连接组件OCC边界框中,拆分沿着多条文本线运行的重叠组件(把重叠的分开),如图g。
- 经过这些分词后,得到的字词区间WRs用于特征提取
-
温馨提示: 遵纪守法, 友善评论!