一种智能视觉物联网中对象视觉标签的建立及显示方法、系统与流程

文档序号:16210625发布日期:2018-12-08 07:41阅读:209来源:国知局
一种智能视觉物联网中对象视觉标签的建立及显示方法、系统与流程

本发明涉及智能视觉物联网领域,特别是涉及一种基于人/车/物的视觉特性提取、视觉标签的建立和关联、并自动显示相应信息内容的方法、系统。

背景技术

智能视觉物联网iviot,实际上是一般讲的物联网的升级版本,主要由智能视觉传感器、智能视觉信息传输、智能视觉信息处理和针对人/车/物三大类目标的物联网应用四部分构成。

所谓“视觉标签”,就是对图像和视频当中的内容进行识别、理解和分类。对iviot的应用,一个非常重要的核心技术就是对所关注的人、车、物等的视觉属性的提取和视觉标签的建立。

但是,截至目前,根据相应的人/车/物的识别结果建立视觉标签、实现三类信息的关联、并自动显示该标签信息的技术成果,还未见到公开文献、专利成果的发表或公开报道。

下面仅对有一定关系的、或接近的专利技术的构成进行说明。

中国发明专利申请(申请号为201610111889.x)着重公开一种人脸识别算法模型的建立方法。主要构成是:利用有标签的人脸数据和相应的标签信息作为模型的输入,再据此预测无标签人脸数据的标签信息,以更新模型参数,如此多次迭代。该专利并未关注如何对大量人脸图像建立相应的视觉标签等内容。

中国发明专利申请(申请号为201610127681.7)是公开一种用于移动机器人导航定位领域的如何基于dr定位信息视觉标签数据库实现视觉标签匹配的方法。主要构成是:在一定的运行区域内布设好若干视觉标签,建立它们的位置属性及各视觉标签间的拓扑关系;并支持基于位置和拓扑关系检索的视觉标签数据库;移动平台(如机器人)根据当前的dr位置信息,通过对视觉标签数据库的检索,获得用于下一个视觉标签匹配的标签集合。该专利关注的是如何利用现成的视觉标签对移动机器人进行位置和方向引导的问题。

中国发明专利申请(申请号为201210053263.x)公开了一种物联网中的物件标签的定位方法。主要构成包括:以物联网的rfid接收端获得的无线射频信号rssi为观测变量,对支持向量机svm分类器测量值的更新;利用模糊神经网络结构得到初始估计位置的最优权值。

中国发明专利申请(申请号为201410651379.2)公开了一种利用物品图像的局部特征、基于监控视频实现物品防盗检测的方法。主要构成是:利用sift算法提取物品图像的局部特征,将之存为物品的视觉标签库;每隔一段时间从监控视频截取图像,并与库中特征进行匹配;依据匹配结果判断物品是否被盗。

如上所述,这几个与本发明有一定关系的专利成果,工作原理主要是:利用现成的视觉标签,或是基于其包含的位置属性及相互间的拓扑关系来引导移动机器人(或移动平台)的运动,或是进行物联网中物体的位置确定(或物品是否还在——防盗识别),或是构建一种人脸识别的框架模型。

只有其中的中国发明专利申请(申请号为201410651379.2)提到了基于物品局部特征建立视觉标签数据库的内容,但与本发明的对重点关注物品建立视觉标签的设计思想及方法完全不同。

①研究成果少,目前,还未见到有关对智能视觉物联网中获取的人脸、车牌、重点关注的特殊物品的图像提取视觉属性、建立相应的视觉标签并能自动进行显示信息内容的公开发表的专利、或研究成果等。

②缺少分别针对智能视觉物联网中获取的人脸、车辆、特殊物品的图像建立视觉标签的方法;

③缺乏能将人、车、物的视觉标签相互关联起来并自动显示信息内容的解决方法。

④缺少以人机交互性良好、运行快的系统化的方式实现前述几项功能的有效解决方案。



技术实现要素:

本发明的目的在于提供一种智能视觉物联网中对象视觉标签的建立及显示方法、系统,用于解决如何对智能视觉物联网中的重点关注的人脸、车牌、物品图像建立视觉标签的问题。

为了实现上述目的,本发明提供一种智能视觉物联网中对象视觉标签的建立及显示方法,包括:

步骤一,利用智能视觉物联网采集不同类型的对象的图像;

步骤二,根据所采集的图像对不同类型的对象建立对应的视觉标签库,对不同类型的对象构建对应的识别方式;及

步骤三,根据对象的类型选择对应的识别方式进行识别并根据所述视觉标签库显示所识别对象的视觉标签信息。

所述的方法,其中,所述步骤二中,包括:

当对象为人时,对人的图像进行预处理,获取人脸图像;

根据该人脸图像,建立所需的人脸图像数据库;

根据该人脸图像,建立相应的人脸图像视觉标签库;

对待识别的人脸图像进行特征提取和降维处理,并对降维处理后的人脸图像进行识别。

所述的方法,其中,所述步骤二中,包括:

利用快速pca算法对该待识别的人脸图像进行特征提取和降维,再使用svm算法对pca成分进行人脸识别。

所述的方法,其中,所述步骤三中,包括:

根据识别结果,调取该人脸图像数据库中与之对应的人脸图像进行显示,读取该人脸图像视觉标签库中相应的视觉标签的信息,并显示该信息。

所述的方法,其中,所述步骤二中,包括:

当对象为车时,对车的图像进行预处理,获取车牌图像;

根据该车牌图像,建立所需的车辆图像数据库;

根据该车牌图像,建立相应的车牌图像视觉标签库;

基于颜色信息对待识别的车牌图像中的车牌区域进行定位,并对所定位的车牌区域进行校正;

对校正后的车牌区域进行字符分割;

对分割后的车牌区域进行字符识别。

所述的方法,其中,所述步骤二中,包括:

采用radon变换方式对所定位的车牌区域进行校正,并根据模板匹配法对分割后的车牌区域进行字符识别。

所述的方法,其中,所述步骤三中,包括:

根据识别结果,调取该车辆图像数据库中与之对应的车牌图像进行显示,读取该车牌图像视觉标签库中相应的视觉标签的信息,并显示该信息。

所述的方法,其中,所述步骤二中,包括:

当对象为物品时,对物品的图像进行预处理,获取物品图像;

根据该物品图像,建立所需的物品图像数据库;

根据该物品图像,建立相应的物品图像视觉标签库;

对待识别的物品图像进行特征提取;

根据所提取的特征进行物品识别。

所述的方法,其中,所述步骤二中,包括:

根据卷积神经网络对该待识别的物品图像进行特征提取。

所述的方法,其中,所述步骤三中,包括:

根据识别结果,调取该物品图像数据库中与之对应的物品图像进行显示,读取该物品图像视觉标签库中相应的视觉标签的信息,并显示该信息。

所述的方法,其中,所述步骤三中,包括:

在对任一对象进行识别结果显示时,还进一步实现与另外两类视觉标签信息的相互链接及显示。

为了实现上述目的,本发明提供一种智能视觉物联网中对象视觉标签的建立及显示系统,包括:

图像采集模块,用于利用智能视觉物联网采集不同类型的对象的图像;

标签库建立模块,用于根据所采集的图像对不同类型的对象建立对应的视觉标签库;

识别构建模块,用于根据所采集的图像对不同类型的对象构建对应的识别方式;及

识别显示模块,用于根据对象的类型选择对应的识别方式进行识别并根据所述视觉标签库显示所识别对象的视觉标签信息。

所述的系统,其中,所述识别构建模块进一步包括:

人脸识别模块,用于对待识别的人脸图像进行识别;

车牌识别模块,用于对待识别的车牌图像进行识别;

物品识别模块,用于对待识别的物品图像进行识别。

所述的系统,其中,所述人脸识别模块对人的图像进行预处理,获取人脸图像;根据该人脸图像建立所需的人脸图像数据库;根据该人脸图像,建立相应的人脸图像视觉标签库;对待识别的人脸图像进行特征提取和降维处理,并对降维处理后的人脸图像进行识别。

所述的系统,其中,所述人脸识别模块利用快速pca算法对该待识别的人脸图像进行特征提取和降维,再使用svm算法对pca成分进行人脸识别。

所述的系统,其中,所述识别显示模块根据识别结果,调取该人脸图像数据库中与之对应的人脸图像进行显示,读取该人脸图像视觉标签库中相应的视觉标签的信息,并显示该信息。

所述的系统,其中,所述车牌识别模块对车的图像进行预处理,获取车牌图像;根据该车牌图像建立所需的车辆图像数据库;根据该车牌图像,建立相应的车牌图像视觉标签库;基于颜色信息对待识别的车牌图像中的车牌区域进行定位,并对所定位的车牌区域进行校正;对校正后的车牌区域进行字符分割;对分割后的车牌区域进行字符识别。

所述的系统,其中,所述车牌识别模块采用radon变换方式对所定位的车牌区域进行校正,并根据模板匹配法对分割后的车牌区域进行字符识别。

所述的系统,其中,所述识别显示模块根据识别结果,调取该车辆图像数据库中与之对应的车辆图像进行显示,读取该车牌图像视觉标签库中相应的视觉标签的信息,并显示该信息。

所述的系统,其中,所述物品识别模块对物品的图像进行预处理,获取物品图像;根据该物品图像建立所需的物品图像数据库;根据该物品图像,建立相应的物品图像视觉标签库;对待识别的物品图像进行特征提取;根据所提取的特征进行物品识别。

所述的系统,其中,所述物品识别模块根据卷积神经网络对待识别的物品图像进行特征提取。

所述的系统,其中,所述识别显示模块根据识别结果,调取该物品图像数据库中与之对应的物品图像进行显示,读取该物品图像视觉标签库中相应的视觉标签的信息,并显示该信息。

所述的系统,其中,所述识别显示模块,还用于在对任一对象进行识别结果显示时,还进一步实现与另外两类视觉标签信息的相互链接及显示。

与现有技术相比,本发明的有益技术效果是:

本发明主要解决了如何对智能视觉物联网中的重点关注的人脸、车牌、物品图像建立视觉标签的问题,通过一定的算法对人、车、物图像建立相应的视觉标签,而且实现了这三类视觉信息的相互关联,还能自动弹出显示相应标签的信息内容;提供了用于实现整体的智能视觉物联网的基于人、车、物的视觉标签系统的方法。

附图说明

图1为本发明的基于pca和svm的人脸识别算法流程图。

图2为本发明实施例的快速pca算法提取的主成分脸效果图。

图3a、3b为本发明实施例的基于pca和svm的人脸识别效果图。

图4为本发明的车牌识别流程图。

图5为本发明的车牌颜色信息提取及车牌区域定位流程图。

图6为本发明的车牌字符分割与归一化处理的流程图。

图7为本发明的车牌字符识别流程图。

图8a-8j为本发明实施例的车牌识别效果图。

图9为本发明的卷积神经网络cnn结构示意图。

图10为本发明的cnn中卷积层连接方式示意图。

图11为本发明的cnn中池化层连接方式示意图。

图12为本发明的基于cnn的物品识别的原理性流程图。

图13为本发明实施例的六层卷积神经网络模型示意图。

图14为本发明实施例的部分物品图像。

图15a-15b为本发明实施例的物品识别效果图。

图16为本发明的视觉标签系统原理性流程图。

图17为本发明的基于人、车、物的视觉标签系统的整体流程图。

图18为本发明的基于人、车、物的视觉标签系统的主界面图。

图19为本发明的人、车、物识别系统界面图。

图20为本发明的人、车、物的分类匹配示意图。

图21为本发明的视觉标签具体建立流程图。

图22a-22b为本发明实施例的基于人、车、物的视觉标签系统的人脸识别模块运行效果图。

图23a-23b为本发明实施例的基于人、车、物的视觉标签系统的车辆识别模块运行效果图。

图24a-24b为本发明实施例的基于人、车、物的视觉标签系统的物品识别模块运行效果图。

图25为弹出显示的视觉标签信息的字体修改界面图。

具体实施方式

以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

智能视觉标签是一种把图像和视频里面的一些重要内容进行识别、分类的系统,它是视觉物联网的核心技术之一。它可以给人、车、物贴上视觉的标签,智能视觉标签里面包含着很多的被标记物品的属性,且这个标签是唯一的,它可以远距离的对物品进行识别,并且可有效地对物品进行区分。智能视觉标签把人们对人、车、物提取的各种信息存储到数据库里面,只需要对这个唯一的标签进行识别,就可以对比数据库里面记录的标签的信息来找到所标示物品的详细信息,实现对物品信息的智能视觉信息挖掘。

本发明构建了一个基于人、车、物的视觉标签系统。系统主要包括人脸识别模块、车辆识别模块、物品识别模块。根据用户需求,选择一幅图像,系统会自动识别该图像中的内容,并显示与之关联的其他图像以及对应的视觉标签的具体信息内容。具体按照如下步骤进行:

步骤1:利用智能视觉物联网,采集并存储大量重点关注的人、车、特殊物品的图像。

步骤2:针对人脸图像,建立视觉标签库,设计并实现基于快速pca(principalcomponentanalysis)算法和svm(supportvectormachine)分类器的人脸识别模块,如图1所示。

步骤3:针对车辆图像,建立视觉标签库,设计并实现基于颜色的车牌识别模块,如图4至图7所示。

步骤4:针对重点关注的特殊物品,建立视觉标签库,设计并实现基于卷积神经网络cnn(convolutionalneuralnetwork)的物品识别模块,如图9至图12所示。

步骤5:设计并实现基于人、车、物的视觉标签系统,如图16至图21所示。

所述步骤1如下:

步骤1.1:利用视觉物联网中不同位置的图像采集装置,获取大量人、车、重点关注的物品的图像。

步骤1.2:对图像分类,挑选出人的图像。

步骤1.3:挑选出车辆的图像。

步骤1.4:挑选出物品的图像。

结合图1所示,所述步骤2如下:

步骤2.1:对人的图像进行预处理,从人的图像中分割出人脸图像。

步骤2.2:根据分割出的人脸图像,建立包含所需检测的所有人员的人脸图像数据库。

步骤2.3:对应于同一个人的人脸图像,包括其端正的正面图像、有一定倾斜度的侧脸图像、有一定歪头程度的正面图像等多种情况,并建立相应的视觉标签所含信息内容(比如姓名、学校、学院、学号、性别等),形成人脸图像视觉标签库。

步骤2.4:利用快速pca算法对需要识别的人脸图像进行特征提取和降维,再使用svm分类器对pca成分进行人脸识别。

①众所周知,pca算法可以利用线性变换把高维的数据投影到低维空间里面来,这样有助于很好的降低识别系统的计算量。在使用pca算法时,实际上是对一组最优的单位正交向量基的寻找,寻找到这组单位正交向量基,然后利用其线性组合进行一次对原样本的重新构建,构建好的新样本要和原来样本的均方误差最小。那么,就需要知道可以对原来样本进行投影的向量。实质上,就是要先求特征值,再求投影向量。

当样本向量维数比较多的情况时,pca算法对于样本散布矩阵的本征值和本征向量的计算量就会很大。直接使用pca算法会花费很长的时间,这样很有可能会导致内存难以支撑消耗。本发明提出一种快速pca算法来解决样本向量维数较大的问题。

假设,矩阵zn×d是由人脸图像样本矩阵x中的每一个样本值减去样本的均值得到的。则根据矩阵zn×d可以得到样本散布矩阵s,s是(ztz)d×d。传统pca算法的主要计算量来自样本散布矩阵s的本征值以及本征向量的计算,当样本向量的维数较大时,计算量和时间消耗会很巨大,还可能面临内存耗尽的问题。在通常情况下,样本维数d远大于样本个数n,而样本散布矩阵s和矩阵r(r=(zzt)n×n)具有相同的非零本征值。因此,在本发明中,提出计算矩阵r的本征值以取代直接计算散布矩阵本征值的方法。

现假设矩阵r的本征向量是n维的列向量v,那么:

(zzt)v=λv(2.1)

将(2.1)式两边同时左乘zt,得到:

(ztz)(ztv)=λ(ztv)(2.2)

由上式可知,先计算尺度比较小的矩阵r的本征向量v,然后把式子左乘zt就可得出本发明需要的样本散布矩阵s的本征向量ztv。通过这样的快速算法,可以大大减少pca算法处理过程中的运算量,从而提高效率,更好地处理样本维数比较多的情况。

本发明利用此快速pca算法,对人脸图像进行特征提取和降维,得到主成分脸,如图2所示。在后面介绍的实施例中,将主成分脸的数目定为20,所以经过快速pca算法处理,特征向量降为20维。

②利用快速pac算法得到主成分脸之后,接下来,将使用支持向量机svm(supportvectormachine)分类器进行人脸的识别。

在机器学习领域,支持向量机svm是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。svm方法是通过一个非线性映射,把样本空间映射到一个高维乃至无穷维的特征空间中(hilbert空间),使得在原来的样本空间中非线性可分的问题转化为在特征空间中的线性可分的问题。

支持向量机svm对样本学习和分类有着巨大的影响,具有良好的学习能力和精确的分类能力,能够广泛应用于识别和分类领域,是一种泛化能力非常强并且具有学习能力的二分类器。

支持向量机svm有以下几种基本思想:a.如果样本线性可分,可在原来的空间里面找出两类样本的最优分类超平面;b.如果样本线性不可分,可在其中加入松弛变量,然后把低维空间里面的样本通过非线性映射变到高维属性空间里面,这样就可以把它变成线性的情况。以此为基础,可以在高维属性空间对样本的非线性进行线性分析,然后可以在这个特征空间找到最优的分类超平面;c.核函数下的支持向量机svm,简言之,支持向量机svm将非线性问题转化为特征空间中的线性问题,就涉及到升维和线性化。一般,升维都会带来计算的复杂化,支持向量机svm方法却巧妙地利用核函数解决了这个难题:应用核函数的展开定理,就不需要知道非线性映射的显式表达式;由于是在高维特征空间中建立线性学习机,所以与线性模型相比,不但几乎不增加计算的复杂性,而且在某种程度上避免了“维数灾难”。这一切要归功于核函数的展开和计算理论。核函数下的支持向量机svm,实际上就是在属性空间里面运用结构风险最小化的原理进行最优分类超平面的构建,这样就可以使得分类器能够达到最优。这种构建最优分类超平面的方法可以使期望风险在整个样本空间里面以某一种概率满足某一个上界。

另一方面,对于二分器支持向量机svm来说,若要用其解决人脸识别这个多分类问题就需要对它进行推广。对二分器支持向量机svm进行推广的方法主要有三种:①一对多的最大响应策略;②一对一投票策略;③一对一淘汰策略。这三种策略的效果都很好。

本发明中,支持向量机svm需要进行多类训练,本发明使用的是一对一投票策略。当训练好分类器后,让测试样本依次经过这些二分器支持向量机svm并进行投票,通过投票来确定其类别。本发明把人脸分成m类,设定好每一类人脸对应自身类别的标签,识别结果即是这m类中的某一类。采取最为常用的径向基核函数rbf(radialbasisfunction),由支持向量机svm分类器的分类结果得出识别率。支持向量机svm选取不同的参数,识别率会有变化。径向基函数rbf,就是某种沿径向对称的标量函数。在rbf中,有两个重要的参数——惩罚参数c和核参数gamma,c取值很小时,训练精度和预测精度都很低,容易出现欠学习;随着c值的增大,训练精度和预测精度都有所提高,但当c值超过一定值时又容易出现过学习,此时,若核参数gamma也随之增大,就会平衡c值带来的影响,但gamma取值过大,又会出现过学习或欠学习。它们的合适的取值可以使分类器正确地预测数据。这里设置为c=128,gamma=0.0078。

简言之,在本发明中利用svm分类器(采用一对一的投票策略)对pca主成分脸进行分类识别。

步骤2.5:根据识别结果,调取人脸图像数据库中与之对应的人脸图像进行显示,并读取人脸图像视觉标签库中相应的视觉标签的信息,然后将具体信息内容显示出来,效果如图3a、3b所示。

结合图4所示,所述步骤3如下:

步骤3.1:对车辆的图像进行预处理,并分割出主要包含车牌的图像部分。

步骤3.2:根据分割出的车牌图像,建立包含所需检测的所有车辆的车辆图像数据库。

步骤3.3:对于每辆车建立相应的视觉标签所含信息内容(比如车牌号码名、车辆类型、车辆颜色、车主信息c等),形成车牌图像视觉标签库。

步骤3.4:对需要识别的某车牌图像,首先基于颜色信息对车牌进行定位,并利用radon变换算法对车牌进行校正。

本发明主要利用彩色图像rgb的比例对我国大量使用的蓝底白字的车牌进行定位识别。因为不同颜色都有不同的坐标来进行表示,例如红色(255,0,0),蓝色(0,0,255)等等,此处的比例指的是rgb坐标中三个坐标值的相互关系,不同数值的坐标,就对应不同的颜色。这里要筛选出蓝色区域,而蓝色也分为很多种,所以选择一个阈值,将该阈值范围内的像素值判定为蓝色。然后检测每一个像素,若在这个阈值内,则判定为蓝色;最后统计蓝色像素数量,将蓝色像素最多的区域定位为车牌区域。在蓝色背景较少的情况下有很好的识别效果,但在蓝色背景较多的情况下,识别率会下降。这是因为对于rgb三原色空间里面两点间不成线性比例的颜色距离和欧式距离,容易导致定位蓝色区域时效果不好。为此,本发明提出了一种自适应调节方案。本发明中,对候选区域根据颜色比和长宽比进行多次定位,对分割出的区域识别调整,定位出所需识别的车牌区域。

本发明主要针对蓝底白字的车牌进行识别,对于蓝底白字这种牌照,该牌照区域为一亮的矩形区域,故而可方便地找出车牌区域的位置,如图5。

先将rgb彩色图像转换为灰度图像:

gray=0.110b+0.588g+0.302r(3.1)

接下来需要进行灰度校正,这是因为在车牌图像实际拍摄过程中经常会碰到以下情况:①物体离摄像设备的远近有差别,这种差别可能会导致拍摄到的图像边缘和中央区域的灰度失衡;②待识别的图像的灰度由于图像扫描时各个像素点灵敏度的不同而导致失真;③图像的灰度变化的范围因为曝光不足导致变窄。这些情况都会导致实际景物和图像灰度不匹配,对后续的处理工作有不利影响。针对以上几种情况,可以通过增强灰度的变化范围以增强图像的对比度和分辨率。这里,可以把车牌图像的灰度取值范围从(50,200)展开到(0,255)。假设r代表原灰度值、s代表变换后的灰度值,进行如下灰度变换:

s=t(r)r∈[rmin,rmax](3.2)

使得s∈[smin,smax],其中,t为线性变换。

若r∈(50,200),s∈(0,255),则:

在车牌识别中,还常常遇到车牌图像倾斜的情况,这就需要进行车牌倾斜校正。为了有利于后期的字符分割和图像识别,本发明采用radon变换算法对具有倾斜角度的车牌图像进行倾斜度计算,并修正该倾斜车牌图像,得到水平方向一致的车牌图像。

利用radon变换算法进行车牌校正的过程为:

①利用radon变换算法在各个角度上计算车牌的灰度图像和二值图像的投影;

因为二维radon变换算法可以将(x,y)平面中的一条直线ρ=xcosθ+ysinθ映射成radon空间中的一个点(ρ,θ),具体变换公式如下:

式中,d为整个图像平面;f(x,y)为图像上某一点(x,y)的像素点灰度值;特征函数δ为狄拉克函数;ρ为(x,y)平面内直线到原点的距离;θ为原点到直线的垂线与x轴的夹角。

本发明是对原车牌图像进行二值化处理,再计算二值图像边缘化以后的radon变换结果。

②通过这个投影值,可求得最大投影峰值;

③利用上一步得到的峰值特性,对投影角度进行选择。

radon变换后,原图像中的直线段对应于radon空间中的点,且线段越长,对应的点亮度越大。所以,应在radon空间中找那些峰值点(ρ,θ),这里的θ就对应为原图像中直线段的倾斜角度。为了测量的准确,本发明把所有峰值点按升序排列,取前几个峰值相差不大的点角度平均作为车牌长边(即水平边)的倾斜角度。同理可得短边(即垂直边)的倾斜角度。

④利用旋转公式,校正倾斜的车牌图像。

拍摄车辆图片时,往往具有很大的随机性,很难使摄像头与车牌完全处于同一水平线上,多数情况都将存在一个夹角,这就造成了车牌的倾斜,会影响后续的字符分割和字符识别环节的效果和准确率。所以,需要校正图像中车牌的倾斜角度。

假设旋转中心为(x0,y0),旋转角度为α,则把原图像中的任意点(x,y)转换到(x′,y′)可以通过下式来描述:

这样,就可以得到校正的车牌图像。

该算法复杂度低,计算速度快,具有很好的准确性和鲁棒性。

最后,为了精确分离出车牌字符所在区域,本发明把扫描起点设为图像中间线,根据某一阈值进行向上向下扫描。

步骤3.5:对校正后的车牌图像,再根据车牌图像垂直方向的黑色像素分布进行字符分割。

对车牌图像的二值化图像,检测出字符高宽比,并对黑色像素部分垂直投影,计算垂峰值。在字符切割时,阈值的选取直接影响到字符切割的准确性。为了防止阈值选取的不够好,本发明采用基于先验知识的字符分割算法。基于车牌格式的先验知识,统计分析切割出的字符宽度,用来指导切割。由于很多汉字由左右两个部分组成,所以将这个汉字分割成两个部分,针对这个问题,系统将整个车牌宽度与分割出来的字体宽度进行对比,并合并有错误的操作。

此外,为了克服后续进行车牌字符识别时将要使用的模板匹配法的缺点,本发明对分割出的车牌字符图像进行了归一化处理。

本步骤的详细实现过程如图6所示。

步骤3.6:对已进行车牌字符分割的图像,采用模板匹配法实现车牌字符的识别。

本发明采用模板匹配法实现车牌字符的识别,主要原理是计算模板特征量和待识别图像的特征量之间的距离,距离和他们的相似度成反比,选择距离最小的一个把图像归类。

基本流程为:

①取字符模板;

②把字符模板和待识别图像的字符匹配;

③把待识别图像的字符和字符模板进行减法运算,里面的0的个数越多,就说明他们之间的匹配度(相似度)越高;

④将减法运算得到的值记录下来,数值最大的就是想要的结果。

本步骤的详细实现过程如图7所示。

步骤3.7:根据识别结果,调取车辆图像数据库中与之对应的车辆图像进行显示,并读取车牌图像视觉标签库中相应的视觉标签的信息,然后将其具体信息内容显示出来,效果如图8i及图8j所示。

如图6所示,为本发明的车牌字符分割与归一化处理的流程图。具体包括步骤如下:

步骤6.1,对车牌图像逐排检测有没有黑色像素点,若图像两边均没有黑色像素点,则切割,去除图像两边多余的部分;

步骤6.2,切割图像上下多余的部分;

步骤6.3,根据切割后图像的大小,设置一阈值,检测切割后图像的x轴,若宽度等于这一阈值,则切割,分割出7个字符;

步骤6.4,归一化切割出来的字符图像。

如图7所示,为本发明的车牌字符识别流程图。具体包括步骤如下:

步骤7.1,建立自动识别的字符代码表,为最终显示识别出的车牌字符使用。

建立字符代码表,就是将“0”:“9”、“a”:“z”、“蒙苏陕豫桂鲁京津....”多个字符串组成一个字符数组,每行对应一个字符串。也就是说,该代码表的第一行就是0:9这十个阿拉伯数字构成的字符串,第二行就是a:z这二十六个字母组成的字符串。

步骤7.2,从归一化后的字符图像中读取分割出来的7个字符;

步骤7.3,将第一个字符与模板中的汉字模板进行匹配;

本发明中,为了使用模板匹配法,提前将模板存储起来,分别为数字模板、字母模板、汉字模板。存储时,数字模板和字母模板分别命名为0.jpg、1.jpg、...、9.jpg、...、35.jpg;汉字模板用汉字命名,如蒙.jpg、苏.jpg、陕.jpg、....。

步骤7.4,将第二个字符与模板中的字母模板进行匹配;

步骤7.5,将后5个字符与模板中的字母与数字模板进行匹配;

步骤7.6,将待识别字符与所存储的模板中的字符相减,值越小相似度越大,找到最小的一个即为匹配的最好的;

步骤7.7,识别完成,输出此模板对应值(包括汉字、字母、数字)。

以图8a-8j所示的“桂acc286”的识别为例,经过步骤7.2-7.6依次将“桂”、“a”、...、“6”这七个字符识别出来后,读取在步骤7.1中建立的字符代码表中相应的字符并连接起来,输出显示。

所述步骤4如下:

步骤4.1:对重点关注的物品图像进行预处理。

针对智能视觉物联网中的重点关注的物品,本发明提出的是基于卷积神经网络cnn(convolutionalneuralnetwork)的识别方法,如图9。为此,所做的数据预处理包括:①采样,即在很多的数据里面选出比较有代表性的数据;②转换,即通过对原来的数据的一系列操作,可以得到单一的输出;③降噪,即对原始数据中的噪音进行删除;④标准化,即通过对数据进行组织以使数据的访问更有效率;⑤重要内容摘要,即对某些特点的环境比较重要的一些数据进行提取。

步骤4.2:根据预处理后的物品图像,建立包含所有需检测的重点关注物品的物品图像数据库。

步骤4.3:对于同一个物品的多个图像,包括针对正面、有一定倾斜度的俯视图像等多种情况,归为同一个物品,并建立相应的视觉标签所含信息内容——物品名称、物品颜色、所属类别等,形成物品图像视觉标签库。

步骤4.4:对于需要识别的某物品图像,基于卷积神经网络cnn的结构,对其进行特征提取,以便后续的分类器使用。

作为整个物品识别里面很重要的一个环节,特征提取对数据的识别很重要。本发明采用的cnn,结构如图13所示,是一种多层神经网络,依次为输入层、卷积层、池化层(卷积层和池化层交替出现)、输出层(即全连接层)、softmax分类器。cnn使用卷积核作为特征抽取器,里面的卷积层、池化层依次出现,正是为了对特征进行一步一步的提取,经历不同的层数的提取,就可以得到不同的特征。相对于比较低的层次提取到的图片的轮廓特征等低维全局的明显特征,在层数慢慢加深以后,提取到的特征就会慢慢变得有高维性和局部性。随着层数的加深,原来的全局特征慢慢的细化,经过一层层的处理和对于关键特征的提取,可以逐步得到可视化的高维特征,例如颜色特征、纹理特征等复杂的特征,这些细致而且复杂的特征可以为识别分辨复杂的样本提供很好的帮助。

①输入层

卷积神经网络cnn不用人工去选择设计图像特征,它可以直接接收二维图像,也就是说,图像可以直接作为cnn的输入。这是因为卷积神经网络自己可以对需要识别的图像进行特征提取和分类学习。这样就减少了很多前期的人工处理的工作量。在实际应用中,可以把rgb彩色图像、视频连续的多帧图作为输入。

本发明中,将需要识别的特殊物品图像(就是一个二维矩阵)直接作为cnn的输入层。

②卷积层

卷积层由很多个卷积神经元构成,它是一个中间层,该层内部的卷积神经元只连接上一层网络里面和它相对应的局部感受域,并且卷积神经元会对这一个部分进行一些图像特征的提取,神经元和上一部分的局部感受域连接的权重决定了神经元对特征的具体提取,权重不同,则提取的特征也不同。

通俗地讲,卷积层的任务就是计算输入层与权重矩阵的卷积。然后,将卷积后的矩阵提供给下一层——池化层。

简言之,卷积层模拟的是简单细胞,主要通过局部连接和权值共享两种方法提取图像的一些初级视觉特征。局部连接,指它里面的神经元只连接上一层网络里面和它相对应的局部感受域;权值共享,指在一个特征图中,神经元与前一层的局部连接使用一组相同的连接强度。一个特征提取器即为上述的一组相同的连接强度,以卷积核的形式表现在运算中,可以减少网络训练参数。首先对卷积核数值进行随机初始化,最后由网络训练确定。

本发明设计的卷积层的连接方式为权值共享、输入大小为4*4、卷积核为2、卷积核之间有1个像素的间隔,具体连接方式如图10所示,在该图中只说明性地展示了左边三个单元的连接方式,其它单元也是类似的连接方式。

在对cnn进行训练时,卷积层的计算步骤为:a.将前一层网络传输过来的几个二维特征图作为输入;b.利用卷积核与这些输入进行卷积;c.利用神经元计算节点将上一步得到的卷积结果转换成这一层的输出二维特征图。

假设:第l层里面第j个输出的特征图对应的几个输入特征图的索引集合是(在4.1式中,用i表示该索引集合中的某个输入特征图),卷积操作为*,卷积参数(即卷积核)为k,是所有输入的特征图一起使用的偏置顶;卷积层激活函数为σ。则卷积层的前向计算过程如下:

式中的就是指卷积层l层输入的第j个特征图(实际上就是将其前面一层l-1层输出的特征图作为输入)、是卷积层l层输出的第j个二维特征图,是第l层卷积层对输入进行卷积运算时使用的卷积核。对于cnn的第一层,就是输入的需要识别的物品图像,之后的卷积层输入的则是前一层的卷积特征图。

那么,对于卷积层(假设是l层)的下一层——池化层(即l+1层),就需要计算出卷积层的神经元的灵敏度以便计算出卷积层里所包含的每个神经元对应的权值更新。计算步骤为:a.把卷积层下一层对应的节点灵敏度相加求和;b.把上一步中求得的和乘以它们相互之间连接的权重;c.再把上面求得的乘积与卷积层里面这个神经元的输入u通过激活函数得到的导数值相乘。为了更加有效地得到卷积层灵敏度,本发明采用下述公式进行进一步的计算:

式中up代表的是进行上采样操作;为池化层(即第l+1层)第j个输出的特征图对应的权重,是一个常数。假设下采样因子等于n,则上采样就是把每个像素在垂直方向和水平方向进行n次重复拷贝。之所以需要进行操作,是因为池化层(即l+1层)是由卷积层下采样得到的(具体原理详见后面池化层部分的叙述),因此其灵敏度图(特征图中每个像素对应一个灵敏度,故所有的灵敏度也组成一个图,可称之为灵敏度图)的大小需要再进行上采样后,才能与大小一致。

至此,通过(4.2)式计算得到了卷积层(l层)的神经元的灵敏度接下来,本发明是对灵敏度图里的所有节点进行求和运算,以得到训练误差e关于第l层里的第j个输出对应的偏置项bj的梯度(因为,灵敏度的含义就是偏置项变化后,相应地,误差e会变化多少,亦即误差对偏置项的变化率——导数):

其中,u、v代表(u,v)处的图像块,含义如前所述。

另一方面,使用后向传播算法来计算关于训练误差e和连接权重以及卷积核的权值之间的梯度关系。它表示对于某一个给定的权值,把所有与该权值有关联的连接(即权值共享的连接)对这一点进行梯度计算,再把这些求到的梯度相加,如下式:

此处,代表中的在卷积时与卷积核逐元素进行相乘的图像块。卷积核k逐元素和上一层的(u,v)处图像块相乘的结果可以求出输出卷积图(u,v)处的值。

③池化层

池化层是对复杂细胞的模拟,在神经网络中表现为对卷积层提取的初级的视觉特征进行筛选,通过采样,形成更高级的视觉特征。经过池化层的采样,可以减少运算量,抵抗微小位移变化,这是因为经过池化层,特征图的数量不变,但特征图的尺寸会变小。换句话说,池化层实际是对卷积层输出的矩阵进行采样降维处理。

本发明中,池化层设计采用最大值采样,对每个矩形取最大值,若输入特征图的长和宽分别为a和b,则输出特征图的长和宽分别为a/2和b/2。显而易见,特征图维度降低了。

池化层的结构和卷积层有些类似,里面由很多池化神经元组成;且与卷积层的连接方式类似,这些池化神经元也只和上一层网络里面自己对应位置的局部感受域连接。但是,与卷积层的连接方式的不同之处是,池化神经元和上一层网络所对应的局部感受域连接时,其权值是一个特定的值,这些值在接下来的网络的训练过程中不会迭代更新。这样就可以进一步降低本发明的网络规模,因为它不但不会产生新的一些训练参数,而且还可以对上一层收集提取到的特征值进行下采样。进而,就使得网络对于本发明输入模式里面潜在的形变具有更好的鲁棒性。

本发明设计的池化层的连接方式为输入大小为4*4、池化核为2像素、池化核之间有2像素的间隔,如图11所示。在池化层,有几个输入就有几个输出,即特征图数量不变。这是因为池化层对每个输入的特征图都会进行下采样处理(利用图像局部相关性的原理,对图像进行子抽样,可以在减少数据处理量的同时保留有用信息),即将输入大小为4*4的像素池化为2*2像素。这样就又会产生并输出一个新的特征图,但是每个输出特征图都在数量不变的基础上变小了。

假设:下采样函数是down,该函数对输入图中每个不重复的n*n的图像块求和后得到输出图中的一个点值,输出图的长和宽均为输入图的1/n(n的值是大于等于1的整数,常见的可以是2、3或4)。每个输出有一个特定的乘性偏置β和加性偏置b。则池化层的前向计算过程如下:

式中是池化层的输入特征图,是此池化层输出的第j个特征图;且第j个输出特征图对应的乘性偏置和加性偏置是可训练的参数,主要用来控制函数σ的非线性程度。

在计算乘性偏置和加性偏置的梯度时,需要分两种情况对待:若池化层的下一层是全连接输出层,则应直接用标准的后向传播算法来计算其灵敏度图;若池化层的下一层是卷积层,则应找出卷积层灵敏度图中一个像素对应的池化层里面的图像块——可以通过卷积操作来进行快速操作,因为输入图像块和输出的像素连接的权重其实和卷积核的权重是一样的。

由公式(4.3)可知,训练误差e相对于加性偏置b的梯度可以通过对灵敏度图中的各个元素求和得到,这一点对于池化层神经元的灵敏度也是一样的。这里用表示池化层l层的神经元灵敏度。

但是要得到训练误差相对于乘性偏置β的梯度,就需要在前向计算的过程中把采样以后的特征图记录下来,这是因为对它的求解需要用到这一层在前向运算中计算得到的最初经过下采样的特征图。本发明用来表示对每一层的第j个输出特征图进行下采样down以后所得的特征图:

则训练误差e相对于池化层l层的乘性偏置的梯度为:

综合卷积层及池化层的设计及计算过程可知,只要计算得到训练误差相对于训练参数的梯度,本发明就可以通过它来更新卷积神经网络里面每一层的参数,在此基础上多次迭代,从而得到经过训练的卷积神经网络。

④输出层

如同常见的前馈网络一样,本发明中cnn输出层的连接采用全连接方式。接入全连接层可以使网络的非线性映射能力增强,也可以对网络规模的大小有所限制。输出层和最后一层的隐连接层采取全连接的方式,最后一层的隐连接层得到的特征模型被拉伸成了一个向量。这个结构有很大的优点——可以更有效率地对输出的类别标签和网络中最后抽取的特征进行映射。

⑤softmax分类器

本发明中,cnn的最后一层采用非线性分类能力很强的softmax分类器。分类器是一种机器学习程序,它可以通过学习,对需要的指定数据进行自动分类。

softmax回归其实就相当于多类别情况下的逻辑回归,即逻辑回归的扩展。逻辑回归(logisticregression)是一种用于解决二分类(0或1)问题的机器学习方法,用于估计某种事物的可能性。比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等。

逻辑回归的假设函:

其中,hθ(x)代表常常作为激活函数出现在网络中的sigmoid函数,其值介于0到1之间;θ是逻辑回归模型的参数向量,x为输入的特征向量,t代表对参数向量矩阵θ的转置。

需要找到最合适的θ,以得到优化的分类器。为此,可以先定义一个代价函数j(θ):

式中m是训练样本个数,x为输入的特征向量,y是输出的分类结果即类标。代价函数j(θ)就是用来评估某个θ的预测精度,当找到代价函数的最小值时,就意味着能作出最准确的预测。因此,可以通过使j(θ)最小化的运算来得到想要的结果。梯度下降算法就可实现j(θ)的最小化,通过迭代计算梯度来对参数θ进行更新。

在本发明中,softmax的假设函数为:

其中,x为输入,y为类标,i为训练集个数,θ为所需要确定的参数,p(·)是概率符号。因为softmax回归解决的是多分类问题(相对于逻辑回归解决的二分类问题),输出类标y取k个不同的值。因此,对于训练集{(x(1),y(1)),…,(x(m),y(m))},有y(i)∈{1,2,…,k}。对于给定的测试输入x,用假设函数针对每一个类别估算出概率值p(y=j|x)。也就是说,想估计输入的x对应为每一种分类结果出现的概率。因此,这里的假设函数将输出一个k维向量(向量元素的和为1)来表示这k个估计的概率值。式(4.10)中的就是对概率分布进行归一化,以使所有概率之和为1。

在逻辑回归里sigmoid函数的输入是-θ*x,这样就得到了两个类别:0、1。

假设softmax里面的类别数量有k个,当把指数的系数用作-θ*x时,可以得到k项(从),然后把这些项除以它们的累加和以进行归一化。这样,就可以使得输出的k个数字的和是1,则输出的每一个数字就代表类别出现的概率。在softmax输出的k维向量就是由类别的概率组成的。

softmax代价函数是:

再将权重衰减项(正则化项)加到softmax中,就得到:

可以采用msgd(minibatchstochasticgradientdescent)最小化代价函数,即批量随机梯度下降的方法进行对梯度的有效下降,也就是说遍历完一个批次的几十个到几百个样本以更新参数、计算梯度。

综上所述,实际上,基于cnn的物品识别的原理性流程可以用图12表达。

步骤4.5:根据识别结果,调取物品图像数据库中与之对应的物品图像进行显示,并读取物品图像视觉标签库中相应的视觉标签的信息,然后将其具体信息内容显示出来,效果如图15所示。

所述步骤5如下:

步骤5.1:进行智能视觉物联网中的基于人、车、物的视觉标签系统的整体结构设计。

若从视觉标签的整体角度来看,本发明设计的视觉标签系统的基本思想如图16所示。具体而言,本发明设计的将相对独立的人脸识别模块、车辆识别模块、物品识别模块整体化实现为一套视觉标签系统的运行机制如图17所示。

步骤5.2:进行系统界面设计。

本发明实现的系统是运行于matlab平台之上、利用gui设计的。为了便于使用,开发了简洁明了、人机交互性好的界面。在本系统的主界面中,可以选择进入人物识别、车辆识别、物品识别各子模块,如图18、19所示。

步骤5.3:设计整个视觉标签系统的具体建立机制。

对于重点关注的那些人,将其拥有的车、特殊的物品都与该人的视觉信息链接起来。同理,每一辆车对应唯一的人物和物体,每一个物体对应唯一的人物和车辆。也就是说,本发明设计实现的系统将人、车、物一一匹配。基于这样的原则,假设总共有n个人、n辆车、n个物体,分别将它们从1到n进行排序,建立好匹配关系,并为其分好类别,参见图20所示。

因为在前述步骤中,已经分别实现了人、车、物的分类,每一类对应一组确定的人、车、物,而每一组人、车、物都有其独特的特性,那么就可以根据所属类别,来建立相应的视觉标签。结合图21,输入一幅待识别图像(步骤21.1),对其进行识别(步骤21.2),根据识别结果将该图像进行归类;再根据所属类别,得出这一类别中所匹配的其他图像(步骤21.3);同时根据类别,自动建立和这个类别相关的标签信息(步骤21.4),最后将建立好的标签信息弹出,弹出的标签同时包含人、车、物这三方面的具体信息(步骤21.5)。例如,识别结果为第m类,则系统根据第m类图像特性自动建立视觉标签,这个视觉标签也属于第m类,所以该标签具有唯一性。

步骤5.4:设计视觉标签具体的建立和弹出显示的方式。

在本发明中,建立一系列脚本文件,分别命名为:txt01.m、txt02m……txtn.m,它们的功能是:建立对应的txt文档并自动写入对应类别的标签信息。例如运行txt01.m,则系统会自动建立一个名为01.txt的txt文档,并根据txt01.m中的内容,自动在新建立的01.txt文档中写入第1类别的具体信息。以此类推。

在步骤5.3中,已经对人、车、物进行了分类,此处建立的脚本文件就分别对应于人、车、物分好的类别。比如,在人脸识别模块中,所识别出的人脸为第m类,则运行txtm.m,即为其建立并写入了第m类视觉标签信息;对车辆识别模块和物品识别模块的视觉标签建立原理与之类似。换言之,就是根据识别的结果(即识别出的类别)来建立相应类别的视觉标签。类别是关键,根据类别将识别结果与视觉标签联系起来。

本发明中,视觉标签不需要重复建立,系统会自动检测是否存在该类别的视觉标签。若已存在,则直接弹出该类别对应的信息标签;若不存在,则系统自动建立此类别的信息标签。在这样的机制下,系统不需重复工作,大大减少了系统的工作量,提高了工作效率。假设识别结果为m,则首先检测m.txt是否存在,若已存在,则自动弹出该信息标签,即自动打开m.txt;若不存在,则运行脚本文件txtm.m,系统自动建立一个m.txt文档,并根据脚本文件txtm.m中的内容,为新建立的m.txt文档写入第m类的视觉标签信息,最后弹出建立好的视觉标签,参见图22a-22b、23a-23b、图24a-24b。

本系统的视觉标签采用txt文档形式建立和弹出。txt文档具有以下优点:①标签信息简洁明了,便于阅读;②标签易于修改,用户可以在弹出的标签上直接进行修改和保存,而不需要在后台程序中进行繁琐的修改,且修改后的标签可直接应用于后续的工作。在txt文档中,点击格式—字体,即出现如图25所示的界面,用户可根据需要,进行字体以及内容上的修改。保存后,下一次再弹出该标签信息时,即为修改之后的标签信息。

本发明实施例的结果可以很明显地反映出:本发明提出的算法可以便捷、快速、准确率较高地实现人、车、物的识别;所建立的视觉标签可以根据实际应用和需求,非常方便地修改里面所包含的具体信息内容;实现了智能视觉物联网中相关联的人、车、物的相互链接的识别和视觉标签的建立及显示;设计实现了比较完整的、操作简便地、人机交互性良好的智能视觉物联网中的基于人、车、物的视觉标签系统。

为了验证本发明算法的性能和效果,在进行人脸识别时,使用40组共400幅人脸图像作为数据集进行试验。具体地,每组人脸图像10张,对每组图像分成两部分,前5张为训练集,后5张为测试集。并且,对这些人脸图像分别设置了相应的车辆和物品归属。在进行物品识别时,考虑到同类物品的识别比不同类别物品的识别更有难度、更能体现本发明的性能和效果。因此,这里给出的实施例是水杯类物品的识别。

通过大量、多次如图3a、3b所示的实验对本发明的系统进行测试,对测试集人脸样本的识别率为83.5%。

通过大量、多次如图8a-图8j所示的实验对本发明的系统进行测试,对测试集车辆样本的识别率情况是:对于没有倾斜的车牌,可以达到95%的识别率;对于有倾斜的车牌,可达到90%的识别率。在车辆识别过程中,比较容易混淆、可能出现识别错误的字符有:d—0,6—8,2—z,a—4。

通过大量、多次如图14和图15a-15b所示的实验对本发明的系统进行测试,对测试集水杯类物品样本的识别率可以达到95%以上。

结合如上内容,本发明达成了如下效果:

建立视觉物联网中重点关注的人、车、物图像的视觉标签;

实现基于pca和svm进行人脸识别的具体算法;

实现基于车牌实现车辆识别;

基于彩色空间的颜色信息进行车牌定位、基于randon算法发生倾斜的车牌图像的校正、基于车牌图像中间线为扫描起点并根据某阈值进行向上向下扫描得到车牌字符所在区域的精确分离、基于车牌格式的先验知识并根据车牌垂直方向的黑色像素分布进行车牌字符的分割、采用模板匹配法实现车牌字符的识别;

实现基于卷积神经网络cnn的重点关注物品的识别;

提出了cnn的具体结构(包括每一层连接方式、相关参数等);

提出了基于人、车、物的视觉标签系统的实现方式;

提供了基于人、车、物的视觉标签系统的人机交互运行界面的实现方式;

提供了人、车、物的分类匹配及相互对应和关联的实现方法;

提供了视觉标签的具体建立和自动弹出显示的实现方法;

提供了对视觉标签不需要重复建立,系统会自动检测是否存在的功能的实现。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1