论文内容
一、 候选字符提取
1. MSER提取,二值化
2. 算出Distance Map
3. 求出所有SSP(以每个像素为中心的3*3窗口内,若中心点是最大值,则表示是SSP点)
4. 对每个连通分量,计算5维特征
5. 用4中学到的5维特征训练SVM分类器(三类,单字符,多字符,背景)
二、 文本线形成
1. 每三个字符拟合一条直线(三个,拟合误差小)
2. 所有直线进行聚类
3. 对每类的文本线投票选出最终的文本线
三、 字符调整
1. 算法目标:补全每个文本框里的字符
输入 输出
2. 算法初始值:Pf为MSER像素值,B为其他像素值,DF为空
3. 算法步骤:
(1) 边界扩展:计算PF的外接矩形,并进行边界扩展(水平取字符平均宽度,高度取高度的1/3)
(2) 更新DF:计算PF点中的SSP点,加入到DF中
(3) 训练GMM:使用DF点作为前景,B点作为背景,学习GMM的参数
(4) 构建图模型:加入源点(source)和汇点(sink),边权重如下:
1) 第一类:源点与DF、PF相连,汇点与B相连。这些边的权重即为公式中的U,由算法步骤(3)中的GMM模型给出;
2) 第二类:相邻像素点相连。边权重即为公式中的V,通过计算像素点在RGB空间的欧式距离得到;
(5) 求最小割模型:利用GrabCut算法求最小割,割分成的两个集合一个为PF,一个为B。
(6) 重新迭代(1)~(5),直到收敛(PF和B不再变化)
4. 算法输出:一个稳定的PF集合(属于字符的像素点)和B集合(属于背景的像素点)。
5. 算法的后处理:
(1) 计算PF的连通分量,得到候选图;
(2) 如果PF或B为空,则表示只有前景或背景点,说明是噪声块
有意思的问题
1. 为什么原始的As计算方法不好,要换成带w权的?权w为什么是那样的?(提示:奇数可以,偶数double)
2. 为什么要分成三类?(提示:单字符和多字符的5种特征差异性太大)
3. 为什么要进行character refinement?(提示:第一,为字符识别提供更准确的字符区域,第二,优化检测得到的结果)
未解决的问题
1. 用5维特征训练SVM,特征会不会太短,会不会过拟合?
2. 文本线形成算法具体是怎么实现,细节怎样?
3. GrabCut算法的实现?
4. Distance Map的实现?