中文名片识别外文翻译资料

 2022-12-19 17:28:41

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


中文名片识别

Yaw-Huei Chiou and Hsi-Jian Lee

国立交通大学计算机科学与信息工程系,新竹,中国台湾 30050

摘要:名片包括多种信息,如姓名,地址和电话号码。为了有效地使用信息,有必要自动从卡中提取信息以构建数据库。本文的目的是从彩色名片中提取和识别字符。为了将前景与卡片中的背景分开,我们将所有像素分配为八种颜色类型。然后我们使用颜色信息计算动态阈值以提取前景。接下来,我们通过四个步骤提取字符:连通分量提取,局部阈值处理,标记,线条和噪声删除以及字符分组。最后,我们通过统计中英文字符识别系统识别字符。我们测试了30张名片,这些名片有汉字,英文字母,数字和标点符号,系统的提取率和准确率分别为96.97%和95.43%。汉字的识别率为88.78%,英文字符,数字和标点符号的识别率为97.58%。

1. 介绍

名片是人们之间重要的传播媒介之一。 当卡的数量增加时,从这些卡中找到信息变得不方便。 通常,我们可以通过手动将信息输入计算机来创建数据库来存储卡信息。 无论如何,这也是不方便和耗时的。 如果有一个系统可以自动检索卡的信息,将名片数据输入计算机将变得更加容易。 在本文中,我们提出了一个名片阅读系统作为个人助理。

已经提出了许多文档分析方法,但很少有用于名片识别的方法。 Fuetal提出了一种用于处理二进制卡图像的中文名片识别系统。 他们提出了一种多阶段识别机制,它利用两种类型的神经网络:二进制自适应网络和贝叶斯决策神经网络

文档处理系统的第一步是预处理,其包括二值化,噪声删除,偏斜图像调整等。在文献中已经提出了几种用于分割灰度文档图像的方法。 但是对于彩色文档图像提出的方法很少。 此外,Bernsen描述了一种使用局部确定的每个像素的阈值对灰度图像进行阈值处理的方法。 他为每个像素应用了一个n x n窗口并计算了一个局部动态阈值。 字符提取也是文档分析中最重要的部分之一

本文提出的系统包括三个阶段:前景提取,字符提取和字符识别。 本研究中的假设如下。

(1)我们专注于处理带有嵌入式英文字符和数字的中国名片。

(2)我们只处理包含相同方向的文本行的卡片。 很少有垂直或水平文本行的卡片。

(3)不会处理特殊颜色的卡片,例如具有深色背景和浅色文本的卡片。

(4)假设字符字体已知。

2. 前景与背景分离

在本文中,我们使用卡的颜色信息来获得动态阈值并使用阈值提取前景。 使用256色和300 dpi(每英寸点数)的扫描仪首次将名片数字化后,我们通过使用像素的灰度值和色调将输入卡片的256种颜色转换为八种颜色类型。 我们使用的八种类型是红色,绿色,蓝色,黄色,青色,品红色,黑色和白色。 然后,我们分析每种颜色类型的像素数以计算动态阈值。最后,使用阈值,我们将像素分为两部分:前景和背景。 在下文中,我们将描述我们方法的细节。

首先,我们计算每个像素的灰度值。 然后,选择两个阈值60和200,用于将每个像素的灰度转换为三个部分之一:黑色,白色和彩色类型。 灰度值小于60的像素设置为黑色,灰度值大于200的像素设置为白色,其他像素设置为六种颜色类型:红色,绿色,蓝色,黄色,青色和品红色 ,通过应用HSI模型的色调H. 色调定义如下

在我们获得像素的色调H之后,我们为像素分配颜色类型,其灰度值在以下范围内:[60,200]。 注意,灰度值小于60的像素被设置为黑色,灰度值大于200的像素被设置为白色。 因此,每个像素具有颜色分配。

由于名片中灰度值的直方图不同,我们无法使用固定阈值来分隔所有卡片的前景。 我们已将像素映射为八种颜色类型。 然后,我们计算每种颜色类型的像素数,并计算每种颜色类型的像素数与所有图像像素数的比率。 根据比率,我们计算动态阈值,将像素分为两部分:前景和背景。

我们将对具有深色背景的卡应用较低的阈值,并对具有浅背景的卡使用较高的阈值。 这样,我们必须首先找到可能的背景颜色类型并计算合适的阈值。 我们收集了60张名片,并计算了八种颜色类型的像素数。 我们发现,如果颜色类型的像素数超过所有图像像素数的五分之三,则颜色类型必须是背景颜色类型。 如果没有超过五分之五的颜色类型,则背景颜色的数量可能多于一个。 此外,我们发现如果一种颜色类型的像素数超过图像的1/210像素并且小于图像的3/5,则颜色通常是背景的一部分。 因此,我们使用这些颜色类型的像素比率来调整阈值。

在计算每种颜色类型的像素数之后,我们检查是否存在其像素数超过所有图像像素数的五分之三的颜色类型。 如果答案是肯定的,则背景具有颜色类型: 如果答案是否定的,我们选择两个最大数字的颜色类型作为主要背景颜色类型。 此外,我们选择不是主要背景颜色类型的颜色类型,并占据图像的1/210像素作为参考颜色类型。因此,主要阈值调整程序中有两种情况。 在此过程中,background表示背景颜色类型,background_color_number是背景颜色类型的数量,Color-Pixel是颜色类型类型的像素数,Image-Pixel是所有图像像素的数量,TI,T 2,G是三个实验值,W1,W2和W3是权重。

根据60张培训名片,我们将fi,T2,T3分别设为100,40和15。 此外,我们将W1,W2和W3设置为150,30和70.这些变量的值解释如下。

在该过程的else条件下,我们根据彩色像素数的颜色比率将阈值Threshold减小到所有图像像素的数量。 当背景颜色类型的数量多于一个时,即,颜色类型的数量小于图像像素的3/5时,我们根据像素的数量改变阈值。 在我们的实验中,我们发现如果我们通过静态值(如第一个if条件)减小或增加阈值阈值,结果就不会很好。 因此,我们使用动态值来调整阈值。 从颜色类型的像素数获得动态值。 因为颜色比是一个小于1的浮点数,所以我们将它乘以一个整数常数。

通过观察训练名片,我们发现如果彩色像素的数量的比率大于图像像素的1/210,则颜色类型也是除黑色之外的背景颜色。 我们将这些颜色类型称为参考颜色类型。 因此,我们还根据参考颜色类型的比率更改阈值阈值。 根据我们的观察,我们发现名片的文字和标记通常是黑色的,所以我们不考虑黑色对阈值的影响。 Procedure Threshold-Fine-Zning显示了通过参考颜色类型调整阈值的方法。 在该过程中,reference-color是比率大于1/210的颜色类型,reference-color-number是参考颜色类型的数量,Color-Pixel和Image-Pixel与前面的过程W4相同, W5和W6是三个权重,C1,C2和C3是三个常数。

Procedure ThreshoM-Fine-Zkning ( )

{ for (i = 1 to reference-color-number) {

switch (reference color) {

case RED, GREEN, BLUE :

{Num = Color- Pixel I Image- Pixel x Wg ;

if (Num lt; C1) then

Threshold = Threshold - Num;

else Threshold = Threshold - C1 ; }

case YELLOW, CYAN, MAGENTA :

{Num = Color-Pixel I Image-Pixel x W5;

if (Num e C2) then

Threshold = Threshold - Num;

else Threshold = Threshold - C2; }

case WHITE :

{Num = Color_ Pixel I Image- Pixel x we;

if (Num lt; C3) then

Threshold = Threshold Num;

else Threshold = Threshold C3; }

}}}

因为参考颜色类型不是主要的背景颜色类型,所以我们给出三个常数,C1,C2和C3。 我们不希望阈值受参考颜色类型的影响很大。 根据训练数据,如果颜色较浅,则约束应该更严峻。 因此,黄色,青色和品红色的约束值C1小于红色,绿色和蓝色的约束值。 在我们的实验中,我们将C1,C2和C3分别设置为28,14和14。 此外,三个权重W4,W5和W6设置为210,180和180。

通过上述阶段,阈值threshold已经变为适当的值,并且它被选择为动态阈值。 我们使用动态阈值将原始灰度图像转换为二值图像。 如果灰度值小于动态阈值的像素,我们将其设置为前景像素。 否则,我们将其设置为背景像素。

3.字符提取

在从卡图像中提取前景像素之后,我们对前景像素执行连通分量提取操作以提取连接的分量。 我们使用递归跟踪算法来查找连接的组件。 然后,检查这些提取的连接组件以查看它们是否是标记,噪声和线。 我们使用这些标准来检查标记,噪音和线条。

因为我们使用全局阈值来对整个卡片图像进行二值化,所以字符模糊不清。 这种情况会大大降低字符识别的性能。 我们必须使用不同的阈值来处理不同位置的像素。 当我们检查一个像素为黑色或白色时,我们考虑其周围像素的灰度值。我们计算每个像素的动态阈值。 首先,我们为像素定义一个方形窗口。 像素的局部阈值LT是窗口中像素的最大灰度值和最小灰度值的平均值。 典型的窗口大小为5 x 5到9 x 9.如果字符很大,窗口大小应该很大。

在这个阶段,如果窗口中像素的灰度值相似,则像素的灰度值可以全部为高或全部为低。 我们不知道中心像素是黑色还是白色。 因此,我们考虑窗口中像素的灰度值之间的相似性。 相似性SIM定义如下。 我们首先将SIM设置为0.然后,如果中心像素与窗口中的其他灰度值之间的灰度值的差异小于阈值,则SIM增加1。 也就是说,窗口中像素的灰度值越相似,相似性SIM越高。 如果相似度SIM大于阈值,我们使用全局阈值来检查窗口中的中心像素。否则,我们使用局部阈值。

在删除标记,线条和噪声并通过局部阈值处理改善图像之后,我们从更清晰的图像中再次提取连接的组件。 接下来,我们合并剩余的连接组件,如果它们相互接触。因为许多中文或英文字符由多个组件组成,我们必须将这些组件合并为一个组件。 合并后,我们再次将所有组件发送到标记删除模块中。

在名片中,一些字符是相关的。 例如,名称由三个或四个字符组成。 我们将他们组合在一起。 它对字符识别很有用。

分组后,我们按位置对同一组中的字符进行排序。 然后我们找到同一组中的字符之间的关系,例如相邻字符之间的间隙。 我们可以使用字符之间的关系来校正字符的区域。然后,我们将字符顺序地发送到识别系统。实际上,在字符分组之后,仍然有一些字符没有单个组件,一些组的区域是 错误。 我们将通过以下方法纠正它们。

如果一个汉字由多个组成部分组成,那些组成部分的位置关系通常有两种类型:自上而下和从左到右。 我们使用同一组中字符的位置和大小来修改字符区域。

接下来,我们合并,分割和删除错误的组。我们选择一个组并检查其附近的组。 如果它们在水平投影中重叠超过阈值,则它们的字符大小相似,字符之间的间隙相似,我们合并这两个组。 通常,名片持有者的名称和职位分别位于名称的正面和背面。 标题和学位的大小通常小于名称。 标题和职位的字符数通常大于1且小于5。 我们使用上述功能来分组。

现在我们描述组的删除方法。 我们检查组中组件的宽高比的宽高比R. 如果宽高比R大于阈值的分量的数量足够大,则将其作为噪声组并删除。 此外,如果组的大小太小,我们也会删除它。

4.字符识别

在提取字符并且已知组之后,它们将被OCR系统识别。 根据角色的形状,我们将它们发送到中文或英文OCR系统进行识别。 中文OCR和英语OCR系统都使用统计字符识别方法。 在识别阶段之后,一些字符将被拒绝。 被英语OCR系统拒绝的那些字符将与相邻字符合并,并再次被中文OCR系统识别。

我们创建了一个低分辨率和小尺寸字符的培训数据库。 首先,我们使用一个程序以12 x 12点的六种字体创建5401个字符。 六种字体是Ming,Kai,Li,Black,Round和Song。 其次,我们使用激光打印机打印它们,并以300dpi和灰度的分辨率扫描它们。 然后我们从扫描图像中提取字符。 最后,我们将这些字符保存为训练数据库。 我们称数据库为MPC数据库,机器打印字符数据库。

除了汉字识别系统,我们还设计了英文,数字和标点字符识别系统。 系统可以识别英文字母的26个字母,包括26个大写字母和26个小写字母。 此外,它可以识别十个数字和九个标点符号。 我们使用上面描述的相同方法创建英文字符,数字和标点符号的数据库。

5.实验结果

建议的系统在具有16MB RAM的Pentium-75个人计算机上执行。 软件开发环境包括:(1)Windows 3.1,(2)Micro-Soft Visual C 1.5。 我们测试了30张名片。 它们是随机收集的。 测试卡图像由UMAX彩色扫描仪以256色和300dpi(每英寸点数)的分辨率获得。

我们的测试名片中共出现2541个字符。 其中,正确提取出2464个字符。 字符提取率为96.97%,字符准确率为95.43%。 组的提取率和准确率分别为96.30%和94.12%。 因为一些汉字由两个或两个以上的组成部分组成,内容与中英文字符混合,很难提取正确的字符。 我们需要一个识别率高的字符识别系统来检查识别的结果并纠正错误的提取字符。 剩余内容已隐藏,支付完成后下载完整资料


资料编号:[19901],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。