彩色目标识别范文

2024-08-06

彩色目标识别范文(精选5篇)

彩色目标识别 第1篇

Open CV简介

Open CV是由因特尔公司所建立的一个跨平台计算机视觉库, 可以运行在多种操作系统上。它内置了一系列C函数并包含少量C++ 类, 同时提供了如:Python、MATLAB等多种语言的接口, 实现了丰富的图像处理的通用算法, 利用该函数库可以相当便捷地实现图像的相关处理操作。本文使用Open CV 2.7 版本用于实验。

色彩空间选取

RGB色彩空间

RGB色彩空间即红 (R) 、绿 (G) 、蓝 (B) 三色空间 (图1) 。该空间依据颜色发光原理定义, 任何颜色均由红、绿、蓝三种颜色按一定比例混合叠加而成, 叠加后的色彩亮度为三色亮度之和, 调节混合比例即可得到不同的色彩。在该空间下, 色彩信息会被分为红、绿、蓝三个分量, 每个分量范围是0 ~ 255。RGB空间面向硬件设备, 是目前应用最广的色彩空间之一, 绝大多数图像显示、采集设备均使用该色彩空间。

HSV色彩空间

HSV (hue, saturation, value) 色彩空间依据人类视觉感受定义, 是面向视觉的空间定义 (图2) 。色彩信息在该空间下被分为色相、饱和度、亮度三个分量, 其中色相与饱和度分别反映了色彩波长分布与深浅度。该空间的特点是亮度分量与色相及饱和度分量无关, 也即亮度不影响色彩信息。

处理与实现

为了实现对目标的色彩识别, 需要对图像进行相关的处理。首先进行色彩空间转换, 之后是二值化处理, 即在HSV空间下, 依据所要识别的色彩将图像转换为二值图像。在二值化处理之后, 目标主体已基本显现, 但由于背景环境中也存在符合条件的像素点, 因此背景中会分布大小不一的噪点, 影响之后操作。与此同时, 由于实际环境中光影变化, 目标主体像素点往往不能全部落在所设阈值范围内, 在二值化后, 目标可能出现割裂、空洞现象。为了消除背景噪点与填补目标, 需要对二值图像进行腐蚀与膨胀处理。

色彩空间转换

与HSV空间相比, RGB空间由于其定义原理, 使该空间中三分量均与亮度信息相关。对于分析有较大亮度变化的视频图像来说, 显然HSV色彩空间更具优势, 因此将RGB空间下的视频图像信息转换至HSV空间。

转换函数:cv Cvt Color, RGB至HSV转换公式如下:

设定色彩阈值

为了识别出特定色彩, 需要在完成色彩空间转换之后根据所识别色彩在HSV空间中的分布, 确定H、S、V三个分量值的阈值, 对图像中所有像素点进行筛选。

具体实现方法:调用cvIn Ranges函数进行筛选, 函数参数为阈值上下界。依据色彩具体分布设置阈值上下界, 调用三次cvln Ranges函数, 依次对H、S、V三个分量进行阈值筛选。筛选将生成二值化图像, 所识别色彩在图像中反映为白色, 背景为黑色。

腐蚀与膨胀处理

腐蚀与膨胀处理是两种常用的形态学处理, 即使用特定形态的结构元素来处理图像, 这两种处理常被用来去除噪点和填补目标空白。

腐蚀处理原理是:在二值化图像中选取一目标像素点, 令结构元素覆盖该像素点 (一般使用矩形结构元素, 可选取3 ✕ 3 大小的像素块) , 求取该结构元素覆盖下的所有像素点的最小值来代替该目标像素点。对图像中每个像素点逐一进行该操作便实现了腐蚀效果, 所有小于结构元素大小的噪点均会被去除。

膨胀处理与腐蚀处理正好相反, 其原理是求取结构元素覆盖的所有像素点的最大值来代替目标像素点。该处理会填补目标空洞与裂隙, 使目标更加完整。

腐蚀处理使用cv Erode函数, 膨胀处理使用cv Dilate函数。一般在程序中先调用cv Dilate再调用cv Erode, 即先进行膨胀处理, 再进行腐蚀处理, 这样可以在很大程度上消除噪声影响。

查找轮廓与目标筛选

经过腐蚀与膨胀, 二值图像中的目标裂隙与空洞已经被填补, 背景中噪点基本消除。调用cv Find Contours函数, 查找轮廓。该函数输入为二值图像, 输出图像将显示轮廓线, 即二值图像中黑白区域的边界。

在进行完膨胀与腐蚀处理之后, 虽然已消除了相当一部分的噪声, 但由于视频拍摄环境的复杂, 图像背景中难免会有落入色彩选取阈值的景物, 成为一种干扰。面积较小的背景景物干扰会在腐蚀处理的作用下消除, 而其中面积较大的干扰将会继续存在。考虑到所要识别的目标往往都是图像的主体, 面积远大于背景中干扰的面积, 因此可以通过筛选最大面积的方法过滤掉背景干扰。Open CV中提供了cv Contour Area函数用于求取轮廓包围面积, 在程序中调用此函数后筛选出最大面积即为所要识别目标。

最后调用rectangle函数在可原图像中绘制边框框选目标。

实验结果

根据上述实现流程, 在Windows 7 操作系统下, 使用VS2010 调用Open CV库函数进行实验。

图3 为原始图像。图4 为阈值选取后二值化图像 (选取蓝色) , 可以看出存在明显的噪声干扰。

图5 为膨胀与腐蚀处理后的二值图像, 可以看出绝大部分噪声已被明显消除。但依旧存在难以消除的干扰, 且在膨胀处理后干扰又扩大趋势。此时通过对连通区域面积的筛选可滤掉干扰, 将目标主体选取出来。

图6 为轮廓查找及面积筛选后的最终结果, 可以看到在经过腐蚀、膨胀以及面积筛选等一系列相关处理后, 可以很好地实现对特定色彩目标的识别。

结语

基于轨迹特征的预警系统目标识别 第2篇

基于轨迹特征的预警系统目标识别

文章针对弹道导弹预警系统目标识别任务的特点,通过分析弹道导弹和卫星目标间的运动特性差异,给出了预警雷达基于最小矢径这一特征区分弹道导弹和卫星的流程,并分析了弹道导弹射程、雷达测量精度、观测时间、采样间隔等因素对此流程的影响.仿真结果表明:利用最小矢径实现弹道导弹和卫星的.区分是可行的,而且此法对雷达测量精度要求不是特别高.

作 者:董洪乐 曹敏 黎湘 胡杰民 Dong Hongle Cao Min Li Xiang Hu Jiemin 作者单位:国防科技大学空间电子信息技术研究所,长沙,410073刊 名:空间电子技术英文刊名:SPACE ELECTRONIC TECHNOLOGY年,卷(期):5(3)分类号:V4关键词:预警雷达 最小矢径 弹道导弹 卫星

彩色目标识别 第3篇

人脸识别技术在智能视频监控、刑侦辅助、安全防范等领域都有广泛的应用前景。现有的人脸识别研究大多是针对灰色图像进行的,然而我们的世界是一个色彩斑斓、五光十色的世界,色彩是我们不可缺少的一个信息元素。彩色图像相对于灰度图像来说,包含的数据维度更高,提供的信息更全,因此会提供许多灰度图像不能提供的人物身份信息[1]。Naor-Raz G在文献[2]中的研究工作也表明色彩信息对人脸识别的研究有着信息补充的作用。

1 彩色空间概述

在计算机科学中色彩丰富的彩色图像是利用色彩空间编码的方式呈现的,目前比较流行的色彩空间编码方式有RGB、HSV、YUV等等。图1所示为彩色人脸的HSV色彩空间分解结果,从左至右依次是彩色图形、H空间分量、S空间分量、V空间分量。

从图1可以看出彩色人脸图像经过色彩空间分解后可以提供三幅类灰度图像。V分量提供了与灰度图像相似的二维信息,H空间和S空间则是对人脸信息的补充。文章对S、V通道的人脸图像进行了特征提取、特征选择以及特征融合研究。

2 基于多核学习特征选择的彩色人脸检测方法

2.1 Gabor特征提取

彩色图片分解为多通道图像后需要提取一种有效的图像特征来表示人脸,在众多图像特征中Gabor滤波器的核类似于神经细胞的感受野,具有空间局部性和方向性,采用Gabor提取特征的方法被广泛应用关于人脸识别[1,3]。

常用的二维Gabor函数定义为:

Gabor特征提取的数学表达如下:

文章针对一幅类灰度图像提取了4个尺度和4个方向的Gabor特征进行研究,图2所示是一个样本的V通道的Gabor特征示意图[4,5,6]。

2.2 多核学习特征选择

从图2可以看出一幅类灰度图像经过4×4 Gabor变换之后信息维度会扩大16倍,文章选用了两个色彩通道的类灰度图像,经Gabor变换之后总信息维度达到上万维。为了提取有效人脸身份特征,去除冗余信息,利用多核学习算法对人脸特征进行了特征选择处理。

多核学习是一种利用多个核函数来替代单个核函数的机器学习方法[7,8]。将多核学习技术与支持向量机(SVM)集合在一起可以形成一种有效的特征选择方法。在文献[8]中迪利普(Dileep)等人首先利用多核学习技术对二类图像分类问题进行了特征选择。多核学习特征选择推倒过程如下:

对于训练集,SVM算法利用核函数φ(x)将训练样本映射到高维空间,存在超平面:

能够将映射后的样本分为两部分,为了使得两类样本之间的距离最大,可以构造出机制条件:

对于线性不可分的问题,利用线性软间隔分类机,引入松弛变量εi和惩罚参数C使原问题转化为:

利用拉格朗日方法可以将式(6)描述的问题转换为:

利用多核函数代替单个基本核函数,利用对偶问题转换可得到多核SVM的凸优化问题:

以上是多核学习凸优化问题的推倒过程,在实际实验中,由于彩色双通道的Gabor特征维度高达28 800维,因此对特征做了分块处理,将特征平均分为100块,对每一块各赋予一个基本核函数。图3所示是文章所采用特征选择算法的示意图。

利用多核学习进行特征选择,首先我们将从两个色彩通道(S和V通道)提取的Gabor特征联合成一个超向量。将超向量进行分割,分割为多个特征分量,对每个特征分量分配一个基本核函数。然后利用多核学习方法将多个核函数进行组合,计算各个基本核函数的系数β。选取系数不为零的特征分量重新联合成最终的特征向量进行人脸分类。

2.3 典型相关性分析特征融合

前面我们已经通过特征选择算法对彩色人脸多通道特征进行了选择降维,接下来需要将选择后的特征进行融合使用,文章应用典型相关性分析算法。

典型相关性分析是一种常用的两类特征的融合算法。典型相关性分析能够利用最大化相关性系数的优化算法提取出两类特征中最大的共性特征,从而达到特征融合的目的,其基本原理如下:

对于两类相关性很大、来源不同的样本集:X∈RD×m,Y∈RD×n,D为特征维数,m、n分别为两个训练集的样本数目。典型相关性分析(CCA)希望寻找两个线性映射的系数集合{w11,w12,…,w1m}和{w21,w22,…,w2n},使得Xw1和Yw2之间的相关性最大,两类样本线性映射后的相关度可以表示为[9]:

通过最大化相关度系数Cor(X,Y)来求解两类样本集的投影方向w1和w2,从而达到信息融合的目的。

3 实验结果

文章中彩色多通道人脸识别实验是基于XM2VTS彩色人脸库进行的,我们选取了该数据库中的200个人作为实验图片库。其中100人作为特征选择的训练图片集,另100人作为人脸识别的实验图片集进行实验。人脸识别实验中,我们将每个人的样本分为4组,每次选取3组作为最近邻(NN)分类器的注册样本,剩下一组作为验证样本进行识别实验。

选取不同参数的多项式核函数进行特征选择实验,多核学习特征选择结果如表1所示。

特征选择后的双通道特征利用CCA进行特征融合后,再利用最近邻分类器进行人脸识别分类实验,实验结果如表2所示。从表2可以看出,文章所采用的彩色人脸识别方法可以有效地进行人脸识别分类。

4 结束语

文章利用多核学习特征选择算法对彩色图片下的人脸识别问题进行了研究。传统的灰度图像特征所包含的人脸身份信息比较贫乏,而彩色图像包含的人脸身份信息比较丰富,因此采用彩色图像进行人脸识别可以提取出更为准确的人脸身份信息。文章提出了一种基于多核学习的彩色图像特征选择和融合算法。利用多核学习算法进行人脸特征选择,结合典型相关性分析算法进行多通道特征融合,实现了彩色多通道人脸特征的有效提取,经过实验证明该算法能够有效地提取出人脸身份描述特征,获得很好的识别效果。

参考文献

[1]冉瑞生,黄廷祝.基于奇异值特征提取的彩色人脸识别[J].计算机应用研究,2007(7):298-299.

[2]Naor-Raz G,Tarr M J,Kersten D.Is color an intrinsic property of object representation[J].Perception,2003,32(6):667-680.

[3]Shen L L,Bai L,Fairhurst M.Gabor wavelets and general discriminant analysis for face identification and verification[J].Image and vision computing,2007,25(5):553-563.

[4]Zhang Y M,Zhang X M,Guo Y C.Face recognition base on low dimension gabor feature using direct fractional-step LDA[C]//Proceedings of the conference on computer graphics,imaging and vision;new trends,2005.Beijing:IEEE,2005:103-108.

[5]罗亚兰,陈锻生.基于彩色Gabor特征的人脸识别技术[J].中国图象图形学报,2008,13(2):242-246.

[6]黄晓华,王春茂,郑文明.基于彩色人脸图像的信息融合与识别方法[J].中国图象图形学报,2010(3):422-428.

[7]Jin Y,Song P,Zheng W M,et al.Novel feature fusion method for speech emotion recognition[J].Journal of southeast university(English Edition),2013(2):129-133.

[8]Dileep A D,Sekhar C C.Representation and feature selection using multiple kernel learning[C]//Neural Networks,2009.Atlanta,Georgia,USA:IJCNN 2009 IEEE,2009:717-722.

彩色目标识别 第4篇

关键词:零件识别,彩色图像,图像分割,灰色关联分析

0引言

在现代制造业中,零件的自动识别已经成为实现柔性自动化不可或缺的关键技术。机器视觉技术通过对获取的目标图像进行处理和分析,可实现对目标的自动识别和分类等工作,具有可快速获取并处理大量信息,系统集成性和实时性好等优点。引入机器视觉技术可以大大提高生产的柔性和自动化程度,为零件自动识别提供有效的解决途径[1~3]。

目前,零件识别已成为机器视觉技术领域的一大研究热点,而对图像的预处理则是识别的前提。通过图像预处理可以改善图像视觉效果,便于后续的分析和识别。

由于技术原因,现有的零件视觉识别系统绝大多数使用灰度图像。由于灰度图像仅仅包含亮度信息,所以生产现场的任何干扰,如照明的不均匀、反光和阴影(如图1(a))等都会严重影响图像预处理效果,进而降低识别的准确性。图1(b)、(c)、(d)分别为使用经典的最大类间方差法、腐蚀和Canny算子进行处理后的效果, 由于存在阴影和反光的影响,所以目标边缘检测的效果较差,不便于后续处理。

与灰度图像相比,彩色图像具有更加丰富的信息, 不仅包含亮度信息,还有色调、饱和度等信息,为图像预处理和零件识别等操作提供了更加有效的信息。本文主要探讨了应用灰色关联分析方法在复杂场景下以零件识别为最终目的的彩色图像预处理算法。

1彩色图像预处理算法概述

与灰度图像处理类似,本文所涉及的彩色图像预处理算法主要包括图像平滑和分割等。

零件图像在采集和传输过程中,由于成像设备、传输信道和外界环境等原因,图像中不可避免地包含各种各样的噪声[4,5]。在进行图像识别和分析之前,进行平滑去噪是十分必要的。对于彩色图像的平滑处理,以考虑像素的各分量之间内在联系的矢量中值滤波算法为常用的方法[6]。

彩色图像分割主要是指依据图像中颜色和纹理等信息把图像划分成若干个不同区域,是实现图像分析和识别的前提。常用的分割方法有:颜色直方图阈值法和特征空间聚类(FCM)法等[7]。

2基于灰色关联分析的彩色图像预处理算法

由于彩色图像每个像素点由三个分量组成,进行处理时必须考虑三个分量之间的内在联系。通常的方法是通过计算特定颜色空间中的矢量距离来确定像素点间的隶属度,然后以隶属度来描述像素间的关系[8]。

本文中应用华中科技大学邓聚龙教授1982年提出的灰色系统理论,将三个分量值看做一条曲线,通过计算两条曲线形状的相似程度来确定像素点间的关联程度[9](隶属度)。若两条曲线形状相似,则关联度较大。

2.1颜色空间的选取

进行彩色图像处理时,必须用定量方法来描述颜色信息,即选定颜色空间。常用的颜色空间包括RGB、 YIQ、CIEL*a*b*和HSV等等。其中,RGB颜色空间是使用最广泛的颜色空间,通过R(红)、G(绿)、B (蓝)三个分量的叠加可得到各种颜色。由于现有彩色成像设备均工作在RGB空间,且RGB颜色值也便于存储和处理,所以选定在RGB颜色空间中进行主要的图像处理操作。HSV颜色空间是从人的心理感知角度建立的, 符合人的视觉特征,三个分量分别为:H(色调)、S (饱和度)、V(亮度)。由于在HSV颜色空间中H分量与V分量是分开的,所以以H分量作为背景判别的依据。

2.2灰色关联度计算

在R G B颜色空间, 假定以图像中某一像素点X0={R0,G0,B0}作为参考,其他像素点为Xi={Ri,Gi,Bi}, 根据灰色关联度计算公式[10]简化得:

γ(X0,Xi)定义为像素点Xi与参考点X0的灰色关联度,其中ξ为分辨系数,取 ξ=0.5。

2.3矢量中值滤波

矢量中值滤波的基本思想是通过求解滤波窗口中距离其他像素最近的像素作为中值矢量,然后以其替代中心像素[11]。本文中以像素间的灰色关联度替代了矢量距离,相应的中值矢量则是滤波窗口内与其他像素灰色关联度值最高的像素。滤波处理时,先按照式(1)计算窗口内的每个像素与其余像素的灰色关联度,然后求和Si, 最后找出灰色关联度之和最大者Smax所对应的像素点Xm,作为滤波窗口的中值矢量。

式中n为滤波窗口大小。

2.4图像分割

依据颜色进行图像分割,首先要提取图像的特征颜色。由于灰色系统理论适用于“小样本,贫信息”系统,所以要对整幅图像进行分块处理,提取各子块(子图像)的特征颜色。提取P×P子图像的特征颜色原理同滤波算法,即找到子图像内与其他像素灰色关联度最高的像素。

首先,根据式(1)计算子图像中各像素点间的灰色关联度值Υi,j。然后构造矩阵A,并对矩阵A中的每一行进行求和。最后根据式(2)计算得到子图像的特征颜色X′。

由于本文中预处理操作是为后续零件识别服务的, 因此没有应用诸如FCM等算法[12]求得最优的特征颜色。 在得到各子图像的特征颜色后,计算所有特征颜色间的灰色关联度,将相互间关联程度最小的K种颜色作为整幅图像的特征颜色{Xi′} (i=1,…,K)。

最后,计算各像素点Xj与各特征颜色Xi′的灰色关联度,并将其归入最大值Υmax(如式(3)所示)所对应的一类颜色,完成图像分割。

2.5背景检测

如前所述,在HSV颜色空间中,H分量与V分量是相互独立的,不均匀照明、反光和阴影等干扰主要影响亮度分量,据此可将零件目标与背景分离开来。

假定标准背景颜色的色度分量为H0,各特征颜色的色度分量为Hi′,给定阈值Hp,可按照式(4)对背景进行检测。

2.6预处理算法流程

完成背景与目标的分离操作后,将彩色图像转换为灰度图像,即可按照灰度图像边缘跟踪算法完成最终预处理操作。图像预处理流程如图2所示。

3实验结果

为了验证算法的可行性,选取普通六角螺母、垫圈及螺杆作为被测对象进行了识别试验。采用D65光源均匀散射前光照明,照度大于400lx;摄像头型号为MVC- 3M(有效像素1024×1024);红色有机玻璃板作为背景平台;特征颜色数目K=16,子图像大小为5×5, H0=354.1,Hp=2。图3(a)为原始彩色图像,由于反光和阴影的存在,背景十分复杂。图3(i)中显示了16种特征颜色在图像中所占比例,图3(b)、(c)、(d)、(e)分别为使用本文算法进行处理的中间结果。图3(f)为最终边缘检测结果,可见完整清晰的各被测目标。整个预处理过程耗时约0.5秒。

实验表明,应用本文算法可充分利用彩色图像提供的丰富信息,完成灰度图像(如图3(g)所示)不便处理的复杂场景问题,为后续识别打下了良好基础。图3(h) 即为使用预处理后的图像(图3(f))进行螺母和垫圈识别的效果图,图中以十字标示识别出的目标几何中心。



4结论

彩色目标识别 第5篇

传统的黑白条码由于其较强的解码鲁棒性和储存容量, 迅速成为自动识别领域的重要分支, 国内外学者为了提高条形码的数据容量进行了大量的研究。 在一个有限的空间内增加信息密度的需求促进了彩色条码的发展。 Color Code[1]首次使用颜色信息来提高数据容量,但Color Code仅作为后台数据库的索引, 不属于信息携带型的条码。 内存码[2](Paper Memory,PM)通过同一空间位置叠加多层QR码来提高数据容量, 但对解码软件颜色识别的要求过高。 高容量的彩色条码[3](High Capacity ColorBarcode , HCCB ) 通过编码4 色或8 色的三角形符号集来提高数据容量, 但HCCB码扫描的鲁棒性较差, 缺乏明确的模式来支持检测和定位过程。 移动多彩色符合码(Mobile Multi-Colour Composite ,MMCC)[4]将编码颜色增加为10 种, 数据容量增加至黑白QR码的4 倍, 但MMCC码无法正确解码褶皱或边缘弯曲的失真符号。 Bulan[5]利用半色调点的方向模型在同一空间位置嵌入2 种或3种不同颜色的独立数据, 再根据RGB和CMYK颜色空间光谱的互补特性将不同颜色的数据分离,数据容量为黑白QR码的2 倍或3 倍。 高容量的彩色二维条码( High Capacity Colored Two Dimensional Codes , HCC2D )[6]在黑白QR码的基础上, 利用Zxing[7]和Libqrencode[8]两个开源的库实现了4 色、8 色和16 色的彩色QR码, 数据容量分别为黑白QR码的2 倍、3 倍和4 倍。

现存的彩色码一般通过增加编码颜色种类或在同一空间位置叠加多层彩色码来提高数据容量,却很少有彩色码利用无损压缩算法来提高数据容量。 本文在Gzip压缩算法的基础上设计了一种彩色QR码的生成和识别方法, 通过增加编码颜色种类和Gzip压缩算法来提高数据容量。 实验证明了4 色和16 色QR码在数据容量和计算复杂度方面的优越性。

1 彩色QR码的生成与识别

1 . 1 彩色QR码的设计思路

每个模块可容纳的比特数取决于使用的编码颜色种类, 用4 种颜色编码信息时, 一个颜色模块可容纳2 bit, 用8 种颜色编码信息时, 一个颜色模块可容纳3 bit 。 以此类推, 当编码颜色数为2k种时, 每个颜色模块可容纳k bit, 即码字总数、 剩余位、 数据码字数、 纠错码字数、纠错的块数等均变为黑白QR码的k倍。

1 . 2 彩色QR码寻像图形的定位

彩色QR码解码过程中, 检测并定位寻像图形是最开始也是最关键的步骤。 检测寻像图形时,隔行遍历彩色QR码图像, 先在水平方向上统计彩色QR码图像中5 种颜色的相对宽度比例是否为1 : 1 : 3 : 1 : 1 , 此处比例允许小于50% 的偏差; 满足上述比例条件后, 再垂直检测彩色QR码图像中5 种颜色的相对宽度比例是否为1:1:3 : 1 : 1 , 此处比例允许小于40 % 的偏差; 满足上述两个比例条件后, 再次检测水平方向上彩色QR码图像中5 种颜色的相对宽度比例是否为1:1:3:1:1, 此处比例允许小于20%的偏差。 偏差的存在主要是为了检测扭曲、变形等失真的彩色QR码。

1 . 3 彩色QR码编码

彩色QR码的主要编码过程如下:(1) 输入待编码数据,生成源数据信息流;(2)用Gzip压缩算法对源数据信息流进行压缩;(3)根据黑白QR码的编码规则进行数据分析,形成数据码字流;(4)根据数据码字流的字节数,利用最小尺寸原则初始化彩色QR码; (5) 在步骤(3) 和步骤(4) 的基础上, 用理德- 所罗门码(Reed-Solomon,RS) 算法对数据码字流进行分块纠错, 形成纠错码字流;(6) 将纠错码字流添加到数据码字序列后, 构成总码字流;(7)填充寻像图形、 分隔符、 定位图形和校正图形区域;(8)填充格式信息和版本信息区域;(9)用默认的掩膜图形参考000 对编码区域的模块图形进行掩膜;(10) 根据黑白QR码符号字符的排列规则, 在步骤( 8 ) 和步骤( 9 ) 的基础上填充数据码字和纠错码字区域;(11) 根据预先设定的颜色映射表,将彩色QR码保存为PNG格式。

1 . 4 彩色QR码解码

彩色QR码的主要解码过程如下:(1)加载并遍历PNG格式的彩色QR码图像, 获得每个像素点的RGB值;(2)用寻像图形的定位算法检测3 个位置探测图形,若成功检测到寻像图形, 则进入步骤(3), 否则进入步骤(11);( 3 ) 返回3 个位置探测图形中心点的坐标值, 若存在校正图形,则返回校正图形中心点的坐标值;(4) 利用寻像图形和校正图形中心点的坐标, 进行透视变换, 栅格化彩色QR码的颜色模块;(5)根据预先设定的颜色映射表,识读格式信息和版本信息;(6) 去除掩膜, 恢复数据码字序列和纠错码字序列;(7) 用RS算法进行错误检查, 若发现错误, 则进入步骤(8); 否则进入步骤(9); (8) 用RS算法分块纠错;(9) 将数据解压缩, 恢复源数据信息流;( 10 ) 根据模式指示符和字符计数指示符, 进行数据码字译码,恢复编码数据;(11)结束本次解码。

2 仿真实验

文章中的实验是基于C# 版Zxing库进行的,测试QR码的数据容量时,数字模式采用的数据集为 “0123456789”共10 个数字,字母数字模式采用的数据集为26 个大写字母,8 位字节模式采用的数据集为26 个小写字母, 中国汉字采用的数据集为GB2312 第16 区的94 个汉字。该仿真实验主要分析比较了2 色、4 色和16 色QR码数据容量和计算复杂度。

2 . 1 数据容量

增加彩色条码的数据容量主要有两种方式:(1)增加颜色块的密度;(2)增加颜色种类。 这两种方法都有其局限性。 当颜色块的密度超过相机分辨率的极限以后,相邻的颜色块就无法区分了; 而当颜色种类过多时, 某种颜色可由多种颜色混叠得到。 相邻颜色块之间的颜色混叠改变了原始颜色块的颜色,因此颜色聚类的方法在存在颜色混叠时效果不佳。 为了提高彩色条码单位面积的信息嵌入率和解码鲁棒性, 本文设计的彩色QR码不进行偏色处理,提高数据容量主要通过Gzip的压缩算法。

图1 列出了数字模式、字母数字模式、8 位字节模式和中国汉字模式2 色、4 色和16 色QR码压缩前后数据容量的曲线图。 由图1 可知,压缩后2 色、4 色、16 色QR码分别从版本8、 版本5、 版本3 开始有值, 这是因为Gzip在寻找匹配串时利用哈希表来减小压缩时间, Gzip的最小匹配长度为3 B,如果匹配串小于3 B的话,使用( 匹配长度, 相隔距离) 对进行替换, 不但没有压缩, 反而还会增大[9]。 而随着编码颜色的增加, 单位面积的数据嵌入率逐渐提高, 而Gzip的最大匹配长度是恒定的,所以16 色QR码仅需3 个版本就足以容纳哈希表的表头。 从图1 的曲线趋势可看出,随着版本号逐渐增加,数据容量增加的速度显著提高, 且随着编码颜色的增加,压缩算法的优势会更加明显。

由表1 可知,Gzip的压缩算法是本文提高数据容量最有效、 最直接的方法。 当编码颜色分别为4 种、16 种时,压缩前4 色、16 色QR码的数据容量为黑白QR码的2 倍、 4 倍。 采用Gzip压缩算法后, 中国汉字模式2 色、 4色、16 色的数据容量分别为85 081、191 775、405 149, 与之对应的压缩比分别为46.82、52.77、55.74。 8 位字节模式2 色、4 色、16 色的数据容量分别为199 189、412 035、839 210 , 与之对应的压缩比分别为67 . 45 、 69 . 77 、 71 . 05 。充分说明了该压缩算法的有效性, 且随着编码颜色的增多, 压缩比逐渐增大, 即彩色QR码的数据容量逐渐增加。

注: 容量扩充倍数= 压缩后QR码的数据容量/2 色QR码压缩前的数据容量

由表2 可知,常见黑白二维码(Data Matrix、PDF417、QR码) 中QR码的数据容量最大, 而关涛[10]设计的4色、8 色、16 色彩色DM码的数据容量分别是黑白DM码的2 倍、3 倍、4 倍,16 色DM码跟黑白QR码相比较,字母数字模式的容量扩充倍数最大, 为黑白QR码的2 . 17 倍, 袁远松[11]设计的6 色DM码采取汉字的编码长度与使用频率成反比的编码规则,使得中国汉字的数据容量高于16 色DM码, 但压缩比例最大的中国汉字模式的数据容量也仅为黑白QR码的1.76 倍。 HCCB码由于利用调色板来纠正彩色码的偏色问题,调色板作为彩色码的组成部分却不能用来编码数据信息,因此4 色、8色的HCCB码的数据容量略小于黑白QR码的2 倍、3倍。 10 色MMCC码的数据容量也仅为黑白QR码的4倍。 4 色、8 色、16 色的HCC2D码的数据容量分别是黑白QR码的2 倍、3 倍、4 倍。 而本文经过GZIP压缩算法后4 色QR码的数据容量与黑白QR码相比较, 数字模式、字母数字模式、8 位字节模式、中国汉字模式的数据容量分别扩充了58.38 倍、95.83 倍、139.53 倍、105.54倍。 16 色QR码的数据容量与黑白QR码相比较, 数字模式、字母数字模式、8 位字节模式、 中国汉字模式的数据容量分别扩充了118.57 倍、195.16 倍、284.19 倍、222 . 98 倍。

由此可见, 本文设计的彩色QR码的数据容量与同类型的彩色码相比, 数据容量有明显的优势, 且随着颜色种类的增多,数据容量方面的优势会更加明显。

2 . 2 计算复杂度

彩色条码相同的颜色模块在不同光照下呈现的颜色不一样, 主流的彩色条码为了解决偏色问题, 将包含所有编码颜色的调色板嵌入到条码本身,并假定调色板和颜色模块在不同光照下的颜色变化是相对一致的,解码时将每一个颜色模块与调色板中的颜色相比较,将欧式距离最小的颜色值视为最终解码的颜色值,因此计算复杂度大幅增加。 当调色板出现损毁、调色板和颜色模块处于不均匀的光照下时,均会导致解码失败。

为了降低计算复杂度, 提高数据容量和解码正确率,本文设计的彩色QR码不进行偏色处理。 将编码后的彩色QR码保存为PNG格式,无损压缩的图片格式才能确保遍历彩色QR码时, 精确识别每一个颜色模块的RGB值, 也正是因为如此, 编码颜色可以任意选取, 才能利用Gzip的无损压缩算法来提高数据容量。 主流的彩色码为了支持纸质档的扫描,将编码后的彩色码保存为JPEG的有损压缩格式, 而压缩算法在量化过程中会造成颜色信息的丢失,导致解码鲁棒性大幅降低。

3 总结

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

【彩色目标识别】相关文章:

运动目标识别07-28

自动目标识别09-16

自动目标识别系统06-09

彩色空间06-03

彩色分割06-29

彩色摄影07-10

彩色边缘08-04

彩色图像重建06-02

彩色纹理图像06-12

彩色电视07-24

上一篇:预应力桥梁下一篇:肋骨接骨板内固定术