基于灰度的分布式图像底层特征识别方法及系统的制作方法_3

文档序号:9597886阅读:来源:国知局
中,步骤S1中灰度化过程如下: 在以轮廓、纹理为特征的灰度化过程中,彩色图像转化为灰度图像,其实是保留图像的 亮度信息,用灰度值来代表彩色图像的亮度信息,图像每个像素由占三个字节转化为占一 个字节,彩色图像的亮度值即转化为灰度图像后的灰度值I有以下公式计算: I= 0. 3B+ 0. 59G+ 0. 11R其中R、G、B为红、绿、蓝三个通道的颜色; 在以颜色为特征的灰度化过程中,彩色图像更重要的是为灰度图像保存颜色表。通常 用三维数组表示颜色表中每一项的R,G,B分量。
[0040] 图像指纹由字符串序列组成,通过切割,分成不同指纹段,其中第一部分是图像的 基本信息和人工信息,包括图像的属性和后期人工添加的图像信息;第二部分包括基于灰 度下图像的底层特征信息和图像存取信息,其中底层特征信息由步骤S3,S4,S5生成的基 于灰度的轮廓、纹理、颜色的特征数据组成,具体过程如图3所示。
[0041] 指纹识别匹配度的标识由二进制序列组成,对于不同底层特征的匹配结果,将匹 配度标识信息分别粘合在不同指纹段,方便对不同的图像的特征进行统一表示。
[0042] 通过合理的抠图算法可以主体周围空白区域产生影响降到最低,效果类似于裁 剪。如图4所示,步骤S3中轮廓特征算法描述如下: 1) 生成图像原图的蒙版图(即黑白图像构成的原图的图像轮廓简图,轮廓主体部分为 白色,其以外为黑色),来自于前期制作的模板图模板; 2) 获取原图和蒙版图的像素值,将蒙版图的像素值赋值给原图,达到背景透明处理的 效果; 3) 实现图像轮廓的抠图,再经过对图像进行灰度化处理; 4) 对灰度化的图像,计算每一个像素点其灰度值,从而获取图像的灰度平均值,将每个 像素的灰度值与其图像的灰度平均值进行比较,并分别用〇和1表示比较的结果。
[0043] )计算哈希值,将上述步骤4)中生成的是64位二进制序列串,在实际运用中可以 转化为十六进制。
[0044] )通过比较两个图像的哈希值的不同,计算汉明距离,获取指纹。
[0045] 如图5所示,步骤S4中纹理特征算法如下: (1)将图像缩小到8x8的尺寸,由64个像素组成。通过该过程确定图像识别的规模与 精细程度,也可以保证图像特征信息的完整性,简化DCT变换时的计算。
[0046] (2)彩色图像转灰度图像,将缩小后的片转化为灰度图像。记录图像的灰度值,作 为计算因子。
[0047] (3)对图像进行离散余弦变换DCT处理; (4) 缩小DCT值,并计算DCT均值; (5) 根据8*8的DCT矩阵,设置0或1的64位hash值,大于等于DCT均值的设为" 1", 小于DCT均值的设为"0"。
[0048] (6)构造哈希值,计算汉明距离。
[0049] 其中二维离散余弦变换方法如下: 离散余弦变换的解析式定义如下: 其中,f(X,y)是空间域二维向量的元素,x、y=0, 1,2,......N_l;F(u,v)是变换系数阵 列的元素,采用NXN的阵列表示,u,v表示元素二维向量值。
[0050] 其中,通过以下步骤对图像进行离散余弦变换处理: 1. 将图像灰度数据转化为二维矩阵f(x,y); 2. 利用离散余弦变换,生成系数矩阵[A]; 3. 求2中系数矩阵的转置矩阵[A]T; 4. 离散余弦变换的计算,由公式[F(u,v)] = [A][f(X,y)] [A]T得到。
[0051] 如图6所示,步骤S5中色彩特征算法如下: (1) 获取图像,进行灰度化处理; (2) 灰度化下利用三维数组保存图像色彩信息,生成颜色直方图; (3) 计算巴氏系数,获取图像色彩的指纹段。
[0052] 关于巴氏系数(Bhattacharyyacoefficient)算法 其中,P,P'分别代表源与候选的图像直方图数据,i为直方图每个RGB数据的序号,计 算结果称为巴氏系数因子值即表示相似程度,范围为〇到1之间。
[0053] 步骤S6中分布式指纹计算节点要求如下: 分布式指纹计算节点在整个识别过程中属于前期部分,通过这一过程,完成图像数据 的处理、清洗、筛选、整合,将整个计算过程分成不同的部分,对于每一个部分,再分割成不 同的步骤,保持横向、纵向计算节点分布的有序,实现分布式过程。
[0054] 指纹生成计算节点最主要的部分是关于基于灰度的三个底层特征计算节点的设 计,在保证10图像数据流,图像优化处理基本函数以及灰度化等全局方法的前提下,针对 各个特征算法设计计算节点的顺序以及计算节点的数量。
[0055] 指纹生成计算节点的最终目标是生成图像的对应特征指纹段,并作为图像信息的 重要组成部分。
[0056] 指纹生成计算节点的分配示意图如图7所示。
[0057] 建立在图像指纹信息的生成速率和质量上,采用分布式的图像指纹生成方式,通 过Hadoop建立基于分布式的计算平台,通过设计Map/Reduce模型,将图像指纹生成,转化 为分布式处理,设计计算节点计算策略,对图像特征算法进行分割,这样易于扩展,并且对 算法步骤进行封装,保证每个计算节点均化,提高算法的可扩展性和健壮性。
[0058] 主要的步骤如下: 第一步:建立第一层级的图像数据读取,通过Hadoop的HDFS系统导入数据。
[0059] 第二步:在第二级针对不同的特征算法进行灰度处理,并且对灰度化数据进行存 储 第三步:对不同特征识别算法进行相应的图像处理与优化,使其数据适配图像算法。将 前面步骤中保存的灰度数据,图像数据以及其他相关数据,进行标识 第四步:处理后大的数据进入特征算法分布式环境中,进行循环的指纹特征生成,完成 个特征节点指纹生成,全数据结构粘合的过程。
[0060] 第五步:将第四步提取的全指纹以及图像,其他图像相关数据导出到Hadoop的 HDFS中,保存在分布式数据库中。
[0061] 步骤S7中分布式指纹轮询匹配的思路如下: 指纹生成是核心算法的前期部分,而对于指纹数据进行匹配则是后期部分。主要的工 作是在: 1) 对前期生成的图像全指纹数据,从分布式文件存储系统调到计算节点; 2) 然后根据全指纹结构,对全指纹进行切割,对应不同的计算节点,包括输入输出流, 图像优化处理函数,主要特征匹配算法,匹配度标识; 3) 然后对每一部分以及每部分的步骤进行封装,装载到对应计算节点,涉及的包括计 算节点的分配策略; 4) 在匹配算法的环节中,考虑到算法的可信度,采用轮询的匹配算法,在进行特征匹配 时,在可信计算时间内,保证每种特征匹配算法轮询匹配三次,并以多次轮询的匹配结果决 定特征匹配度,并进行匹配标识。
[0062] 指纹轮询匹配的实现示意图如图8所示。
[0063] 分布式指纹轮询匹配算法的实现是为了考虑到不同指纹段结构,以及充分发挥分 布式计算节点的高容错,易扩展,健壮型的基础上实现的,同时,为了提高指纹识别度,通过 轮询匹配,可以更好的优化匹配结果。实现过程如下: 第一步:提取到全指纹,对全指纹进行切分,分为基本信息,指纹信息,其他信息。
[0064] 第二步:利用全指纹数据结构信息,抽取出指纹信息,包括轮廓,纹理,色彩的指纹 数据,实现指纹信息分离。
[0065] 第三步:将带识别的指纹段进入分布式轮询匹配入口,保证数据格式的一致化。
[0066] 第四步:进入轮询匹配过程,将各特征指纹交由不同特征节点计算。具体包括读入 指纹字符,利用字符匹配算法,分配到分布式指纹库,根据负载指定计算节点数量,输出匹 配度标识。
[0067] 第五步:完成多次轮询匹配过程。
[0068] 第六步:匹配结束的指纹段,进入轮询匹配出口,根据标识,生成对应特征指纹段 的匹配度标识,获得匹配结果。
[0069] 步骤S7,S8中分布式环境的搭建如下: 本发明要求实现的分布式图像识别模型,其中分布式环境具体包括分布式环境搭建以 及分布式程序设计两部分。
[0070] 关于分布式环境搭建,该分布式环境包括Linux系统安装,Hadoop集群搭建, Nutch框架搭建,具体包括: 该集群环境使用Linux操作系统,安装Centos操作系统以及进行相关网络环境配置, 在Linux操作系统上安装Hadoop分布式系统集群,实现SSH免验证登录,设计主从节点以 及节点分布。在Hadoop集群基础上,搭建基于分布式的Nutch框架环境。
[0071] 关于分布式程序设计,在搭建的分布式环境中,通过Hadoop集群Web服务端界面 监控集群的运行情况,通过导入Hadoop代码在Eclipse中进行Hadoop程序设计,具体包 括通过HDFS完成分布式数据的存取,设计MapReduce程序实现分布式图像识别算法,结合 Nutch框架设计Web爬虫进行图像数据爬取。
[0072] 分布式系统环境搭建主要包括Hadoop集群搭建和基于Hadoop集群的Nutch框架 的搭建在,其主要步骤如下: LLinux安装 设计集群分布,具体包括确定主从子节点数量,网络环境IP。下载Linux系统(拟采用Centos)并安装。
[0073] 集群搭建: 主要包括以下步骤: 1)设置静态IP,修改用户名,以及进行IP和用户名绑定,并修改相关配置文件;2)关 闭防火墙;3)SSH免验证登陆;4)JDK安装及相
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1