DeepWriterID:不依赖书写内容的书写人识别
点击上方“AI搞事情”关注我们
paper: 《DeepWriterID: An End-to-end Online Text-independent Writer Identification System》
地址: https://arxiv.org/abs/1508.04945v2
相关文章:《Character-level Chinese writer identification using path signature feature, dropstroke and deep CNN》 arXiv:1505.04922
前言
本篇文章针对的是书写者识别(Writer identification)任务的一个工作:DeepWriterID,且是文本无关,不依赖书写内容的在线手写书写人身份识别。主要通过数据预处理对字符进行分段、提取,随机删除笔画分段(DropSegment)进行数据增强, 路径签名特征图(path-signature feature maps)作为输入,CNN进行特征提取和优化分类损失。
算法流程DeepWriterI
分割预处理
分段生成
通过角点检测算法进行分段生成,通过非角点的前向向量和反向向量相互抵消的概念来计算弯曲度,具体公式:
其中弯曲度的局部最大值被视为角点,然后每一个笔画就可以通过角点拆分为若干个分段,如下图:
伪字符分割
因为对于书写人识别任务,不需要精确地将每个字符分割出来,因此可以在保留不同签字人判别信息的情况下进行伪字符分割处理,具体地,当一个分段加进去时,字符的宽度超过了平均高度,这个分段便是另一个新字符的开始。即,为了CNN的固定大小输入,同时针对书写人笔迹识别 ,并不关心字符的具体内容和意义(即使是非字符或者英文包含了多个字母),本文将字符的高宽强行设置了一个相同的比例,[1,13]都会得到不错的效果,为了简单,文章将这个高宽比设置为了1。
Dropsegment
通过上述数据预处理,得到了带有分段的每个字符;对每个训练batch里面的字符,假设一个字符含有个分段,其中有个分段会被随机删除掉,。对于剩下的分段会非常零碎,会破坏写作者的风格,因此需要进行重新拼接组合,每个分段便成了一个新的笔画。
路径签名特征图
路径签名特征(path-signature feature),是粗糙路径理论(Rough Path Theory)的计算结果,在机器学习和时间序列分析领域中应用广泛。路径签名是一个路径的特征,往往可以代替路径数据作为模型的输入。下面进行简单的介绍:
路径:一个将连续取值区间[a,b]转换到多维空间的映射。最简单的二维欧式空间的路径:即物体在二维平面上从时刻持续运动到 时刻的轨迹,在其中每一时刻的位置都可以用一个二维向量表示,表明了物体在对应方向上随时间变化的规律。如以下路径:
是个逆时针绘制的圆心为,起始点为 的圆形路径。那么,对于维空间的路径,可以被定义为:
可简记为 ,路径 需要满足分段可导和处处连续。
但是在实际应用场景中,我们能够获取到的路径往往不是连续的,而是在取值区间内的不均匀采样,类似于在线签名笔迹,其点位数据是在起止时间内的离散采样点,因此往往需要进行插值操作获取时间上分布均匀且密集的路径。
路径积分:路径签名(path sigature)其实就是对不同阶路径积分(path integral)的集合, 对于维空间的路径,一阶路径签名项(路径积分)有个,对应着个维度。其定义为:
那么对于二维路径,则我们定义方向路径积分为:
其意义就是在参变量由变换至时对的积分, 相当于路径在维度上的投影距离。
接下来,二阶路径签名项, 其他定义同上。但是签名项有项, 签名编号也变成了有序对 . 我们定义第 项为:
对于二阶项有以下定理:
证明:
二维举例:
一般的n阶路径签名项,通项公式为:
路径签名:路径的路径签名,是一个无限长的序列,由1(即0阶签名项)和各个阶次的签名项构成:
路径签名具备的一些性质:
平移不变性,即路径的开始位置对于特征的求取没有影响。
重参数不变性,对时间进行重参数化后,路径的签名保持不变。这里的重参数化值得是 对时间t 做一个 函数映射 :
低阶项乘积可以通过高阶项的线性组合得到,意味着只使用高阶特征的线性组合来获取低层次的大尺寸特征。
时间反转路径签名乘积为1。其中,
Chen’s Identity:两条路径连接的路径积分等于两个路径签名的乘积。
截断路径签名: 由于路径签名是无限长的序列,不适合直接用于机器学习算法。于是只取序列中的 阶和阶以前的签名项,这个新的序列叫做 阶截断路径签名。
因此,在字符分段的每一个点位都会产生阶截断的路径签名特征,, 签名路径为1,表示原始数据,时,表示路径位移,表示路径曲率,越大,提取越高阶的特征,但是维度也会指数级增长,因而同上述所说,会进行截断。
故而,输入的特征图个数有。通过对笔迹点位按特征值分配像素值,背景像素为0,再对相应的特征图像进行直方图均衡化,进而进行直观地展示,如下图:
每行表示每个书写人、列表示不同阶的路径积分特征。可以发现,不同作者同样的字特征相似度非常高,但是高阶特征的差异性很明显,印证了假设:高级别的路径签名可能包含有助于手写识别的信息。
为了做数据增强提升网络泛化能力,作者在提取path-signature feature maps之前还将字符数据进行了多种仿射变换:翻转、旋转、缩放。CNN训练的相关超参数:mini-batch 100,Dropout设置在最后四层,分别0.3, 0.4, 0.5, 和 0.5, 在一个GTX 980训练了一周( ̄︶ ̄)。最后网络softmax基于单个字可以输出所有ID类别的概率分布,通过综合一页所有字符级别的概率便能能得到基于页层面的书写人。作者实验发现,通过加入额外的路径签名特征,更能提取精细的笔迹特征,DCNN融入了这些先验知识,能够显著提高性能。
Performance of Path‐signature Feature(page level)其中,Bitmap表示根据在线数据还原绘制的离线图片, Sign.n表示路径签名特征的截断阶数为n
网络结构
M×96×96Input-80C3-MP2-160C2-MP2-240C2-MP2-320C2-MP2-400C2-MP2-480FC-512FC-Output
M表示输入通道数,特征图个数。
数据集
NLPR handwriting database:中科院自动化研究所(CASIA)生物识别与安全技术研究中心发布的在线手写数据集,采用Wacom Intuos2签字板采集,包含丰富在线序列信息,包括笔触位置、笔触状态、方位角、高度、压力、时间戳等。
数据集包含三个子集:每个人4页中文,共187人(Dataset1);每个人4页英文,共134人(Dataset2),两个子集交集有133人(Dataset3),本文在Dataset1和Dataset2进行了实验
中文数据集英文数据集算法效果
中文:95.72%
英文:98.51%
参考
Path Signature笔记
https://zhuanlan.zhihu.com/p/335494125
路径签名Path Signature的一些总结
https://blog.csdn.net/Yana_Zeng/article/details/119141453
Path signature介绍
https://blog.csdn.net/Dr_maker/article/details/122958988
path_signatures_introduction
https://github.com/pafoster/path_signatures_introduction
A Primer on the Signature Method in Machine Learning
https://arxiv.org/pdf/1603.03788.pdf
总结
以上是生活随笔为你收集整理的DeepWriterID:不依赖书写内容的书写人识别的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 利用python快速搭建一个ftp文件服
- 下一篇: 变态一把,从internet获取所有手机