基于机器视觉的二维码扫描设计.docx
- 文档编号:17510447
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:21
- 大小:581.44KB
基于机器视觉的二维码扫描设计.docx
《基于机器视觉的二维码扫描设计.docx》由会员分享,可在线阅读,更多相关《基于机器视觉的二维码扫描设计.docx(21页珍藏版)》请在冰点文库上搜索。
基于机器视觉的二维码扫描设计
基于机器视觉的二维码检测系统设计
院系名称:
电气工程学院
专业班级:
自动化F1205
******
学号:
************
摘要
针对目前迅速发展的自动识别技术,二维码作为此技术最底层的信息存储载体之一,承载着它自己的优势(低成本、高存储密度、超高速识读、较强的纠错能力等),将在信息识别领域发挥着重要作用。
本文针对于二维码识别的译码技术,通过深入研究其存在的不足及缺点,对其核心RS译码算法进行优化改进,改善其性能。
二维码的核心技术包括二维码图像预处理技术,编解码算法及纠错控制技术,加密技术等。
本文首先探讨了二维码图像的预处理技术,并且提出了针对于二维码图像进行处理的最佳匹配算法,包括滤波去噪、边缘检测、定位矫正等内容,每步算法都有发挥最优性能的使用条件,同时对其进行了结果分析。
其次本文重点研究了二维码识别技术中的RS纠错理论算法,在分析了传统的求解错误位置多项式BM迭代算法的基础上,提出了利用快速傅里叶变换进行计算,避免求解联立方程组和评估多项式的一种简化算法。
此改进的BM算法简化了求解方程组的迭代过程,使译码性能更加优化,大大降低了译码的复杂度,同时通过软件仿真进行验证,对其译码时间进行了分析,并与目前存在的几种译码算法进行了比较。
结果证明了此算法能够提高译码速率,很大程度上减少译码时间。
因此,基于FT变换的BM迭代算法是一种有效的优化算法。
本文还提出将基于此改进BM算法的RS译码技术应用于我国的汉信码识别中,并通过仿真观察其性能优势,但是其结果有待于进一步的研究。
最后针对我国目前的二维码技术的应用水平,提出了二维码识别技术在矿井人机定位系统、医疗卫生等领域的应用理念。
虽然其在某些行业有了初步应用,但在其他行业领域的应用探索还处于孕育阶段,需要更加成熟的二维码核心技术的支持。
关键词:
自动识别技术;图像预处理;快速傅里叶变换;
1绪论
随着我国信息化技术的不断发展,自动识别技术逐步成熟起来,它将成为我
们生产生活中不可或缺的一门重要技术。
自动识别技术是指以计算机技术为基础,能够自动进行数据的采集,并且进行数据信息的实时交换的一门新兴技术。
它可以实现与任何信息管理系统的连接,准确高效的实现数据的传输、查询、更改等功能。
二维码识别技术作为此技术之一,其核心技术的研究发展将对自动识别技术起着重要作用。
1.1二维码技术研究现状
二维码技术是目前国内外正在迅速发展的技术,从1999年日本最先出现的二维码相关技术的发展到现在,二维码目前已经广泛的被应用于各个领域,极大地改善了人们的生活,同时也促进了社会现代化的发展。
目前在国外尤其是日韩等国,手机二维码已经发展到一定的成熟阶段,而且它已经被广泛的应用在人们生产生活的各个方面[1]。
日本90%的手机都兼有二维码识别技术,几乎所有的报刊都印有二维码,用户只需要对二维码图像进行微距拍照,就可以上网获得所需的信息例如商场中的优惠打折,新闻资讯等。
手机二维码相关的业务在日本的增值服务市场已经发展的很成熟,主要是在电子凭证类业务上的应用,在日本应用非常广泛。
在2007年,日本最大的航空公司日航就已经推广使用了二维码移动票务业务[2]。
同时二维码电子凭证类业务的应用让移动商务切实融入到消费者的日常生活中,大大的节省了物流费用、实现了物品信息的实时追踪,不但促进了日本移动电子商务的发展,同时也为日本运营商带来了极大的利润空间。
然而在我国,高端手机、智能手机的普及率相当低,而且能够拍照摄像的手机有限且像素低,带有微距相机的几乎没有,支持二维码识别技术的手机普及率更低,因此我国手机二维码技术的发展仍然还有很长的一段路要走,仍有许多问题需要解决[3]。
近来,我国的手机二维码相关业务经过长时间的市场孕育,尽管取得了一定的进展,但距离其高速发展还有很远的距离。
尤其是相关的产业链各方还需要共同努力,但是手机二维码的广泛应用将成为必然。
针对于二维码的核心技术即编解码技术及纠错技术我国大多是采用的国外的标准,引进他们的技术,严格的专利保护,高昂的成本及在信息安全问题,使二维码在我国的应用受到了极大地限制。
直到2007年,经过我国技术人员的努力终于研究推出了一套具有自主知识产权的二维码标准—汉信码,它弥补了国外二维码只能识别记录很少的汉字的缺点。
通过对现有二维码技术进行研究创新,最终研究出了满足我国实际需要的二维码技术标准。
2二维码识别技术中的图像处理技术
2.1二维码技术概述
随着第三次世界信息化浪潮的兴起,无所不在的“物联网”成为了新一代信息技术产业中的核心名词[2]。
2010年我国的政府工作报告中首次明确提出了物联网的定义及其核心技术,同时将其作为国家新兴战略产业其技术领域将是新的经济增长点。
2010年,我国的政府工作报告中提出了对物联网的定义[5]:
物联网指的是通过信息识别及传感仪器,按照制定好的统一协议,将任何物品与互联网进行连接,通过信息交换和通信,以此来实现自动识别、追踪、现场管理和监测控制的一种网络技术。
物联网的技术领域涉及广泛,自动识别技术将作为其最底层的核心技术,起着重要的基础作用。
日前我们最多应用的自动识别技术主要包括二维码和射频识别技术两种。
因此二维码技术作为自动识别技术之一,也作为现代发展迅速的物联网技术的底层技术之一,将对高度发展的信息化社会起着举足轻重的作用。
2.1.1二维码技术的发展
从上个世纪七十年代起,经过几十年的发展,条码技术作为一门重要的信息标识和信息采集技术,在世界范围内得到了快速发展。
条码技术是目前应用最广的自动识别技术之一。
随着社会需求的不断提高及应用的不断拓深,条码技术正处于一个良好的创新发展时期,是商品交易、产品追溯、物流追踪等领域的重要信息支撑技术[9]。
条码技术最早产生于上世纪20年代的美国,最初的条码技术只能实现较为简单的信息存储而且编码规则简单,完全依赖于后台数据库的支持。
直到1949年的一个专利文献中,第一次有了NormWoodland和BernardSilver创造的全方位条码的标识符号的相关记载,在这之前的专利文献都没有条码技术的相关记录,更没有投入实际应用的先例[10]。
他们的理念是利用Kermode和YOung的垂直的“条”和“空”,使它弯曲成环的形状,非常像被射击的靶子。
这样条码扫描器利用图形的中心,能够对条码标识符号进行译码,不需要考虑条码符号的具体方向[11]。
与此同时,这种集光、电、计算机技术与一体的新兴条码技术迅速的发展起来并且被广泛使用。
它解决了计算机采集物品信息困难的问题,能够实现信息的准确高效识读的功能。
它实现了物流和信息流的同步传输,对当时快速发展的社会生产生活发挥了重要作用,促进了信息技术的发展。
但是随着现在高速信息化、自动化技术的发展,一维条码的信息存储量远不能满足现在社会发展的需要。
因而致力于自动识别技术的科研人们通过不断的努力,研究出了高密度、超高速识读、强大存储容量及抗干扰强的二维条码技术。
1970年IterfaceMechanisms公司开发出了“二维码”之后,二维码技术的应用逐步迈向了成熟。
美国的Symbol公司是目前世界上最大的条码设备生产商,其产品的销售额占据了国际份额的一半以上[9]。
二维码识别技术的出现是整个条码历史上一个重要的里程碑,它从本质上提高了条码技术水平,拓宽了条码的应用范围,给社会的生产生活带了极大的便利。
以条码技术为核心的自动识别技术已经成为国际信息化建设中的重要部分,是推动国际经济发展,增强竞争力的重要技术手段。
我国的条码技术的起步比较晚,在上个世纪八十年代一维条码技术才开始得到推广和应用,经过十多年的成长,一维条码技术也日趋成熟。
目前的一维条形码已经在我国被广泛应用。
目前我国商品条码用户有十余万家,使用条码标识的产品超过100万种,条码自动扫描商店(P0S)数万家,大大提高了我国商品在国内外市场上的竞争力[9]。
然而,对于二维条码技术的研究我国才刚刚起步,二维码条码的使用在我国仍处于初步阶段,未来几年二维码技术的应用推广对我国还是一个值得挑战的课题。
但是我们相信随着现在信息化自动化技术的快速发展,二维码技术越来越被关注,其相关的技术也会日趋成熟,将推动信息化社会的进步。
2.1.2二维码简介
目前我国广泛应用的一维条形码的信息存储量有限,而且其信息的存储完全依赖于计算机技术,也即是必须依赖于后台数据库的支持。
一维条形码只能作为一个标识符号,其所有的相关信息完全依赖于后台服务器的支持。
下图2.1是一维条码-Code39码的码图结构。
一般常用的39码是由起始安全区域、起始码、数据码、可忽略的校验码、终止安全区域及结束码构成。
39码只有两种单元宽度,分别为宽单元和窄单元[12]。
一般的条码字符由9个单元组成,其中包含有3个宽单元,剩余是窄单元,因此称其为39码。
图2.1中的不同宽度的条和空构成了信息码字
图2.139码码图
一维条形码的最大优点是码字容量没有一定的限制,可用大小写英文字母即数字,且校验码可忽略不计,其编码规则简单,识读方便。
二维码是利用某种特定的几何图形按一定的分布规则在二维方向上排列的黑白相间的图形进行记录数据信息[13]。
二维码同一维条码一样具有不同的码制标准,每种码制都有不同的编码规则。
二维条码符号中的每个字符信息占一定宽度,具有特定的字符集,较强的校验纠错功能、信息识别功能及图像处理功能等。
二维条码具有信息容量大、密度高、纠错能力强、安全性好、编码范围广的优点,同时还可以引入校验纠错码,具有检测错误和恢复删除错误的能力。
二维条码技术大大降低了对计算机网络和数据库的依赖,依靠条码标签本身就可以起到数据信息存储及通信的作用,已经成为现代条码技术应用中的一门新兴技术。
由于一维条码只是在单个方向上表示信息,而在垂直方向不能表达任何的信息,因而这就限制了一维条码的存储能力。
它只能表示字母和数字信息不能表达其他信息(例如汉字、图像等),且空间编码的利用率低,尤其是条码图像遭到破损后不能被识读,造成信息丢失。
二维码除了表示基本的英文、汉字、数字信息外,还可以存储声音、指纹、照片及图像等各种信息。
在国外它已经广泛应用在交通运输、物流追踪、商场打折优惠、超市结账、医疗保险及政府管理等各个领域[14]。
2.1.3二维码的识读
下图2.2是二维码的识读系统框图。
二维码的识读系统是整个二维码识别技术的核心[25],主要包括光学处理系统、图像传感器、图像处理系统、及计算机技术部分,除外还有一些外围的接口电路、存储器等。
整个系统设计要求可靠性能高,且有高效准确的识读率。
图2.2二维码识读系统
2.2二维码图像预处理技术
一幅图像一般可以定义为一个二维函数f(x,y),x、y代表某空间坐标,在此空间上坐标的幅值f称为该点图像的灰度值。
当x、y和f取有限离散的数值时,那么我们称此图像为数字图像[26]。
二维码图像也是数字图像,其处理技术包括计算机技术及图像处理技术。
一幅图像最基本的表述单位是像素。
二维码图像预处理技术是二维码识读技术的一门重要的基础技术,是其必须的技术支持。
图像预处理技术是对原始资料信息进行遥感器效应和几何效应等的前期图像处理。
数字图像处理技术包含的技术知识很多,例如图像的增强、图像的复原、图像分割、图像的压缩等多种处理技术。
针对于二维码图像的数字处理技术主要包括二维码图像的二值化、降噪处理、边缘检测、轮廓特征提取及畸变校正定位技术。
本章节将分别对其进行简要介绍。
2.2.1二维码灰度图像的二值化处理
数字图像的灰度化是把彩色图像转换为灰度图像的处理过程,灰度图像由灰色像素组成,其值为0~255不同的灰度值。
二维码图像的灰度化实质就是将其从背景中提取其灰度像素值。
二维码灰度图像的二值化是将其转化成二值图像,即只有“0”和“255”像素值的图像,也就是将整个图像呈现明显的黑白效果。
一般常用的最为简单的方法是阈值处理方法。
利用灰度阈值方法进行计算的函数表达式如下
⎧0,x f(x)=⎩255,x>T 表达式中的T指的是选取的界线阈值。 阈值就是个界限,比阈值大就是白色,比阈值小就是黑色。 界线阈值的选取是一门十分重要的技术,阈值的选取方法也有很多种[28]。 二维码图像的二值化处理中我们采用的是选取最大方差阈值法也叫大津法,缩写为OTSU。 它是将图像按照灰度特性将其分成目标和背景,计算出的类间方差越大,说明两者差别越大,二值化效果越明显。 对于一个灰度图像,设定k为前景与背景的界限阈值,前景点数占图像点数的比例为w0,平均灰度值为0u;背景点数占图像的比例为w1,平均灰度值为u1。 图像的总平均灰度值由下式得出: u=w0*u0+w1*u1 g=w0*(u0-u)2+w1*(u1-u)2 从最小灰度值到最大灰度值遍历所有的k,当k使得式(2.5)值最大时,此时的k值就是最佳的界限阈值。 OTSU算法被认为是自适应计算单阈值,用于实现二维码灰度图像转化为二值图像的较为简便高效的方法[27]。 下图2.6为汉信码的二值化效果图。 a原始图像b二化值图像 图2.3汉信码二值化图像 2.2.2二维码图像的降噪实现 当我们利用传感器及其他识别设备在获取图像信息的过程中都无可避免的会引入噪声,数字图像的噪声主要来源于图像获取和传输过程中。 我们知道存在的噪声种类很多,比如一般常见的有高斯噪声、脉冲噪声、均匀分布噪声等,针对不同的噪声有不同的处理方法。 因而对于二维码图像中存在的噪声将选择不同的去除噪声的方法。 本文主要介绍了有利于二维图像噪声消除的几种噪声处理方法,主要有空域滤波、频域滤波、时域滤波等。 其中空域滤波经常采用的有中值滤波、均值滤波等,频域滤波常见的有高斯滤波、巴特沃斯滤波等。 中值滤波: 中值滤波是顺序统计滤波方法的一个重要分类,它是最常用的。 顺序统计滤波器是一种非线性的空域滤波,他们的响应取决于滤波器包围的图像区域中像素点的排序,然后依照统计排序的结果来决定中心像素的值,因而滤波器在任意点的响应都是由其排序方式决定的[29]。 中值滤波采用的依据某个像素点的相邻像素的灰度中值来代替该像素的值: fˆ(x,y)=median{g(s,t)} (s,t)∈Sxy 式子中的g函数为中心像素的灰度值,f估计函数为此滤波器的输出,xyS表示中心在(x,y)二维平面上。 中值滤波在一维的情况下,通常是把点的特定长度或其邻域选为取值窗口,当推广到二维方向上时,中值滤波的窗口可以取正方形、圆形、椭圆形等。 中值滤波能够有效的去除脉冲型的噪声,例如椒盐噪声等,而且对图像的边缘轮廓有较好的保护作用。 对于二维图像,中值滤波的窗口形状和窗口大小的选择对于滤波器去除噪声的影响很大,窗口过大会丢失细小的几何轮廓特征和边缘信息。 不同图像内容和应用要求下往往选择不同的窗口形状和大小。 QR码及汉信码图像是正方形,因此一般采用方形的滤波窗口[29]。 中值滤波还有其他的几种方法: ⑴加权的中值滤波,它是通过改变窗口中变量的个数,主要是利用中间点或者距中心近的几个点的相互作用。 加权之后的中值滤波能较好的从复杂的噪声中恢复出阶跃边界信息及细节轮廓。 ⑵自适应中值滤波是以噪声图像的某点像素I(i,j)为中心,选取像素为3×3的滤波窗口[29]。 考虑到混合的复杂噪声的特点,一般是先对滤波窗口内的噪声模型进行判断分析,求出该窗内像素的方差值。 唯一需要估计确定的量是噪声的方差σ2,若此方差σ2值大于设定的某阈值,则确定该窗内受椒盐噪声污染严重,需进行中值滤波。 否则只受高斯噪声污染,再选择合适的滤波方法进行噪声的消除,它的缺点是阈值的选取较为困难[29]。 下图2.4和2.5分别为QR码(116*116像素)利用不同中值滤波窗进行去噪的效果图及仿真折线图 (a)原图像(b)加入噪声图像 (c)3*3矩形中值滤波(d)5*5矩形中值滤波 图2.5中值滤波误码率折线图 从图2.4可以看出,3*3窗口的中值滤波比5*5窗口的中值滤波有较好的效果。 因而针对于不同的像素值选择合适的中值滤波窗口,得到的滤波效果将会不同。 图2.4折线图表示了不同滤波方法与误码率之间的关系,对于可以看出较低的像素图像,5*5十字形的滤波效果优于其他的两种方法。 高斯低通滤波: 频域是指由傅里叶变换以及频率变量定义的空间。 我们提到的高斯低通滤波是频域滤波的一种,其二维形式如下 其中D表示的是其值与傅里叶原点的距离,表示的是高斯曲线波动的程度。 我们采用的高斯低通滤波是对图像的轮廓线条粗略减少的一个较为简单方法,且能够减少图像的锐化程度以及细节信息。 下图2.6为利用高斯滤波对二维码图像进行处理的结果 (a)原图像(b)高斯滤波图 图2.6高斯低通滤波 最小均方误差滤波(维纳滤波): 维纳滤波的设计理念是建立在图像和噪声参数值依照随机过程的基础上,试图找到一个不含有噪声的图像f的估计值f,使其的均方误差的值最小[30]。 则误差测量公式如下 E{}表示对均方差求期望值,设定噪声和图像函数具有不相关性,其中一个的为零均值。 则上式误差函数的最小值的表达式如下 上式表示的一个理论是: 一个复数量和它共轭的乘积等于其幅度数值的平方。 这个最后得出的结果就是维纳滤波的取值。 当图像中滤除掉高斯白噪声时,此过程将会被大大简化[29]。 然而,未退化图像的功率谱的数值是不容易得出的,一般采用下面的方程表达式来近似计算其估计值: 其中K是一个已知的特殊常数。 采用维纳滤波进行计算,未退化图像必须是已知的,而且中心函数中的所有参数都必须能从给出的图像中计算得出,而且维纳滤波是建立在最小化统计准则的基础上,因而它在平均意义上是最优的[29]。 通过以上几种滤波方法的分析,对于二维码图像的滤波处理我们一般选取中值滤波,其对孤立的噪声有较好的消除作用,特别是对于椒盐噪声有较好的抑制作用,能较好的保持图像细节信息 2.2.3二维码数字图像的边缘检测 数字图像处理中的点和线的检测技术是图像分割中非常重要的技术理论。 由于二维码图像只有黑和白两个像素,边缘检测技术对于灰度级较简单的图像处理是最为常见的检测方法。 边缘检测的重点是采用某种特定的数学算法,提取图像和背景之间的交界线及图像和图像之间的边界轮廓。 利用边缘检测技术勾勒出二维码图像的轮廓,同时将其从背景图像中提取出来,获得有用的参数特征[29]。 本节主要介绍二维码的边缘检测技术及轮廓提取方法。 我们一般采用的主要的检测算法有Sobel检测算子、Prewitt算子、Roberts算子等。 Sobel算子是在计算数字梯度中经常采用的一种算法。 在边缘检测中,一般算法采用的最主要的量是梯度向量的值。 梯度的向量公式定义如下: 梯度向量的含义是指二维坐标(x,y)在f方向上的最大变化率。 因而它的方向也是一个重要的物理量。 计算图像的梯度时,我们只需知道每个像素位置的偏x导数和偏y导数的值。 一般情况下,梯度的向量值和它的大小不进行区分。 梯度向量大小值的表示公式为 Sobel检测算子是针对于模板内的每个点,对其上下左右四个方向相邻点的灰度值取加权差,然后将其加权差的和作为图像边缘检测结果进行输出;Prewitt算子对噪声也有较好的滤除作用[29]。 其去除噪声的原理是通过将像素平均,像素的平均相当于对图像信息的进行低通滤波,因而Prewitt算子对边缘的检测不如Roberts算子的效果好[29]。 Sobel算子和Prewitt算子都是采用加权平均的方法。 但Sobel算子的思想是,由于邻域的像素对当前的像素产生的效果是不等同的,所以邻域选取的距离也会有所不同,像素同样会有不同的加权值,从而对算子结果产生的影响也不同。 一般来说,邻域选择的距离越远,产生的影响越小[29]。 Roberts边缘检测算子是一种采用局部差分的方法来寻找边缘的算法。 通过分析可得采用Robert算子进行图像处理后的图像边缘不是很平滑[29]。 经过比较分析,Robert算子一般会在图像边缘附近的区域内产生较宽的响应,因而采用上述算子对其进行检测得到的结果,仍需要对其做细化处理,因此图像边缘定位的精度不是很高[29]。 Roberts算子的边缘定位比较准确,但是其对噪声较为敏感,尤其适用于边缘明显且噪声较少的图像分割。 下图2.6给出了Prewitt算子和Sobel算子在垂直和水平两个方向上的模。 (a)Sobel算子水平方向模板 -1 0 1 2 0 2 -1 0 1 (b)Sobel算子垂直方向模板 0 0 0 1 2 -1 (c)Prewitt算子水平方向模板 -1 0 1 -1 0 1 -1 0 1 (d)Prewitt算子垂直方向模板 -1 -1 -1 0 0 0 1 1 1 图2.7Prewitt算子和Sobel算子的模板 A-H是模板内各个点像素的灰度取值。 G是所选模板的中心像素的梯度近似值。 由于图像边缘周围的亮度变化值较大,因而可以把那些在邻域内灰度超过某个值的像素点作为其边缘点[29]。 Sobel算子利用像素的四个方位上邻域的灰度值进行加权计算,依据其可在边缘点处达到极值这一原理实现检测效果。 这一方法不但具有良好的边缘检测效果,同时对噪声具有很好的平滑作用,可以为图像提供较为精确的边缘方向信息[29]。 下图2.8为采用不同的算子对汉信码进行边缘检测的效果,参数阈值选取为0.05,标准偏差为3,方向为水平和垂直二维方向。 (a)QR码原图 (b)Sobel边缘检测 (c)Prewitt算子 (d)Roberts算子 图2.8边缘检测结果图 比较以上的几种算子的边缘检测结果: Sobel算子在对角响应上的检测效果是很明显的,对噪声具有较好的平滑作用;Prewitt算子的实现较为简单同时其在抑制噪声方面也具有较好的作用,但是观察得其边缘细节较模糊,边缘检测效果较粗。 这两种算子对于渐变低噪声都有较好的滤除效果。 Roberts算子对于图像的边缘有较好的平滑作用,其检测效果比Prewitt算子好。 针对于不同的二维码图像及不同的噪声污染,需选用合适的检测算子进行边缘检测。 轮廓提取主要是用于来获取数字图像的几何特征,本节主要获取二维码图像的特征轮廓,为图像的校正定位提供参数。 一般最常用于图像特征提取的方法有Hough变换和Radon变换。 Hough变换是用于对直线进行检测、定位以及解析曲线的一种较为有效的方法。 它对于图像中的噪声不敏感,利用它得到的结果可以有效地滤除噪声的影响,以提高结果的置信度。 但是由于hough变换对每一个点都需要进行运算,计算量非常大,因而会占用较大的存储空间。 然而,Radon变换除了具有霍夫变换的优点外,其数学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 机器 视觉 二维码 扫描 设计