CN105354248B - 基于灰度的分布式图像底层特征识别方法及系统 - Google Patents
基于灰度的分布式图像底层特征识别方法及系统 Download PDFInfo
- Publication number
- CN105354248B CN105354248B CN201510671757.8A CN201510671757A CN105354248B CN 105354248 B CN105354248 B CN 105354248B CN 201510671757 A CN201510671757 A CN 201510671757A CN 105354248 B CN105354248 B CN 105354248B
- Authority
- CN
- China
- Prior art keywords
- image
- distributed
- gray
- fingerprint
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5838—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
Abstract
本发明公开了一种基于灰度的分布式图像底层特征识别方法,包括以下步骤:将彩色图像根据不同特征要求转化为灰度图像,保存灰度图像的灰度值,像素值,像素坐标,建立统一的特征基准;设计图像指纹结构;生成图像轮廓指纹段;生成图像纹理指纹段;生成图像色彩的指纹段;分布式指纹生成计算节点设计;分布式指纹轮询匹配计算节点设计;指纹识别匹配度标识,将多次轮询匹配的结果作为权值依据,与通过分布式指纹轮询匹配计算节点设计匹配的结果进行加权,得到匹配度,筛选出匹配结果。在保证分布式存储和计算负荷下,通过扩展计算与存储接节点,优化算法流程,可以进一步逼近图像识别效果。
Description
技术领域
本发明涉及一种分布式图像识别方法,具体地涉及一种在灰度化下通过捕捉图像底层特征,利用分布式计算进行图像识别的基于灰度的分布式图像底层特征识别方法。
背景技术
文字、图像、视频,是多媒体时代常见的数据信息的展现形式,也代表了数据信息维度的变化,从一维、二维到三维的过程。图像作为二维数据的代表,既包含了一维数据载体文字的直观反映又展现了三维数据载体视频的每一过程。据统计,一个人获取的信息大约有75%来自视觉,图像已经越来越成为信息的代名词,为人类构建了一个形象的思维模式。
图像识别是人工智能的一个重要领域。为了编制模拟人类图像识别活动的计算机程序,人们提出了不同的图像识别模型,例如模板匹配模型。这种模型认为,识别某个图像必须在过去的经验中有这个图像的记忆模式,又叫模板。当前的刺激如果能与大脑中的模板相匹配,这个图像也就被识别。例如有一个字母A,如果在脑中有个A模板,字母A的大小、方位、形状都与这个A模板完全一致,字母A就被识别。这个模型简单明了,也容易得到实际应用。但这种模型强调图像必须与脑中的模板完全符合才能加以识别,而事实上人不仅能识别与脑中的模板完全一致的图像,也能识别与模板不完全一致的图像。例如,人们不仅能识别某一个具体的字母A,也能识别印刷体的、手写体的、方向不正、大小不同的各种字母A。同时,人能识别的图像是大量的,然而所识别的每一个图像在脑中都有一个精确相应的模板是比较困难的。
因此图像识别作为研究分析图像的一个触角,已经为图像应用提供了强有力的技术支撑并带来了新的机遇点。图像识别,在识别过程中有两方面的信息来源,一个是基于感官信息,另一个是基于记忆的信息,催生了图像识别的不同方向与思路。图像识别是用眼识物的模拟实现,是人工智能新的探索。图象识别作为人工智能重要的领域,已经在许多的方向取得了发展,典型的应用包括图像搜索、图像挖掘、图像知识图谱等等。
图像识别的关键在于图像特征以及主要特征的分析上,即如何找到图像主要特征的突破点,提取图像特征数据,再进行系统的数据分析工作。分析过程中,可以采用不同识别模式,主要包括统计、结构、模糊。图像分割也正是基于该思想,从轮廓、纹理、色彩等角度完成数据提取。
图像识别的难点与挑战主要在于图像来源的不稳定性,图像质量难以保证,造成数据源头污染,从而影响图像识别过程。另外,图像识别角度的多样化与复杂化造成图像分析数据庞大而且难以保证数据的真实性。
轮廓、纹理、颜色是图像物品识别中最重要的几个特征,能够很好地满足图像识别中对主要特征的分析提取的要求。而且为了更好地保存图像的本质效果,对图像进行灰度化处理,从而建立图像识别的统一基本的特征准线。
另外,图像识别中的特征提取正在向特征点多化,特征值富化的方向发展,对数据处理能力和方法提出了更高的要求。
发明内容
针对图像识别中面临的问题,本发明提供了一种基于灰度的分布式图像底层特征识别方法。建立图像识别的一个量化基准,即以灰度为量化标准,建立轮廓、纹理、色彩三重的数据维度,并将此过程中的数据分配给分布式计算和存储平台,在大数据平台下进行图像数据分析,并且分等级分层分级,利用客户端部分识别元素,并且将识别的图像信息进行快速采集处理,以提高图像数据分析的能力与质量。
本发明的技术方案是:
一种基于灰度的分布式图像底层特征识别方法,包括以下步骤:
S1:将彩色图像根据不同特征要求转化为灰度图像,保存灰度图像的灰度值、像素值、像素坐标,建立统一的特征基准;
S2:设计图像指纹结构:采用字符串作为指纹存储结构,并且选择最佳字符串匹配算法进行指纹识别;
S3:利用蒙版抠图确定待识别图像的轮廓特征,生成图像轮廓指纹段;
S4:选取图像主要特征区域,获取灰度数据,利用PHash算法,计算主要特征区域汉明距离,生成图像纹理指纹段;
S5:构建三维颜色直方图:将彩色图像转化为灰度图像,保存图像的三原色信息,构建基于三原色的三维数组,生成图像色彩的指纹段;
S6:分布式指纹生成计算节点设计:根据特征算法运行需求的不同,确定算法执行步骤,评估计算节点的数量、分布以及运算策略;
S7:分布式指纹轮询匹配计算节点设计:将图像原始信息与底层特征合成,生成全指纹;将待匹配图像指纹数据根据指纹段切割,分配到不同的匹配计算节点,通过调整相应计算节点的数量保证匹配时间在可允许的范围结束;
S8:指纹识别匹配度标识:将多次轮询匹配的结果作为权值依据,与通过S7步骤匹配的结果进行加权,得到匹配度,筛选出匹配结果。
优选的,步骤S1中彩色图像灰度化过程如下:
在以轮廓,纹理为特征的灰度化过程中,彩色图像转化为灰度图像,用灰度值来代表彩色图像的亮度信息,彩色图像的亮度值即转化为灰度图像后的灰度值I由以下公式计算:
I = 0.3B + 0.59G + 0.11R;
其中R、G、B为红、绿、蓝三个通道的颜色;
在以色彩为特征的灰度化过程中,灰度图像保存彩色图像的颜色表,颜色表中每一项的R、G、B分量用三维数组表示。
优选的,所述步骤S3包括:
1)生成图像原图的蒙版图;
2)获取原图和蒙版图的像素值,将蒙版图的像素值赋值给原图,达到背景透明处理的效果;
3)实现图像轮廓的抠图,对图像进行灰度化处理;
4)对灰度化的图像,计算每一个像素点的灰度值,从而获取图像的灰度平均值,将每个像素的灰度值与其图像的灰度平均值进行比较,并分别用0和1表示比较的结果,生成64位二进制序列串;
5)通过比较两个图像的哈希值,计算汉明距离,获取图像轮廓指纹段。
优选的,所述步骤S4包括:
1)将图像缩小为8*8共64个像素;
2)将缩小后的图像转化为灰度图像,记录图像的灰度值,并将图像的灰度值作为计算因子;
3)对图像进行离散余弦变换DCT处理;
4)缩小DCT值,并计算DCT均值;
5)根据8*8的DCT矩阵,设置0或1的64位Hash值,大于等于DCT均值的设为“1”,小于DCT均值的设为“0”;
6)构造哈希值,计算汉明距离,获取图像纹理指纹段。
优选的,所述步骤S5包括:
1)获取图像,进行灰度化处理;
2)在图像灰度化下,利用三维数组保存图像色彩信息,生成颜色直方图;
3)计算巴氏系数,获取图像色彩的指纹段;
所述巴氏系数的计算公式为:
其中,P, P’分别代表源与候选的图像直方图数据,巴氏系数因子值的范围为0到1之间,i为直方图每个RGB数据的序号。
优选的,所述步骤S6中分布式指纹生成计算节点,包括对图像数据处理、清洗、筛选、整合,将整个计算过程分成不同的部分,对于每一个部分,再分割成不同的步骤,保持横向和纵向计算节点分布的有序;在保证IO图像数据流,图像优化处理基本函数以及灰度化的前提下,针对各个特征算法设计计算节点的顺序以及计算节点的数量。
优选的,所述步骤7中分布式指纹轮询匹配包括:
1)对前期生成的图像全指纹数据,从分布式文件存储系统调到计算节点;
2)根据全指纹结构,对全指纹结构进行切割,对应不同的计算节点,包括输入输出流,图像优化处理函数,主要特征匹配算法,匹配度标识;
3)对每一部分以及每部分的步骤进行封装,装载到对应计算节点,包括计算节点的分配策略;
4)在匹配算法的环节中,采用轮询的匹配算法,在进行特征匹配时,在可信计算时间内,保证每种特征匹配算法轮询匹配三次,并以多次轮询的匹配结果决定特征匹配度,并进行匹配标识。
优选的,步骤S6和S7中的分布式包括分布式环境搭建和分布式程序设计;所述分布式环境搭建包括使用Linux操作系统,安装Centos操作系统以及进行相关网络环境配置,在Linux操作系统上安装Hadoop分布式系统集群,实现SSH免验证登录,设计主从节点以及节点分布,在Hadoop集群基础上,搭建基于分布式的Nutch框架环境;所述分布式程序设计包括在搭建的分布式环境中,通过Hadoop集群Web服务端界面监控集群的运行情况,通过导入Hadoop代码在Eclipse中进行Hadoop程序设计,具体包括通过HDFS完成分布式数据的存取,设计MapReduce程序实现分布式图像识别算法,结合Nutch框架设计Web爬虫进行图像数据爬取。
优选的,当有新的图像特征形式时,还包括:发掘新的图像特征形式,建立新的匹配特征点;对图像特征点细化,完善单一特征点的匹配点数量;通过对匹配点分析数据进行扩展。
本发明还公开了一种基于灰度的分布式图像底层特征识别系统,包括:提取模块、处理模块、分析模块以及数据模块;
所述提取模块:用于本地与云端的图像数据提取,本地的图像数据提取包括从应用客户端获取的图像资源,云端的图像数据包括构建的分布式爬虫,基于Hadoop+Nutch框架,IO数据流,包括HttpClient API以及开源的网页解析框架,构建一个分布式的网络图像爬取的框架,从而提供大数据量的图像资源;
所述处理模块:用于灰度化图像,生成特征指纹,合成全指纹;首先进行统一基准划定,对图像进行灰度化,对于不同的特征算法,灰度化的数据也不相同,然后利用特征提取算法,结合图像处理与优化过程,实现各特征点特征指纹的生成,分别利用汉明距离,巴氏因子系数值以及RGB三维数组值作为指纹标识,将结果存储在特定的全指纹数据结构中;处理模块利用Hadoop的Map/Reduce模型设计分布式计算节点;
所述分析模块:完成图像指纹段的轮询匹配;包括指纹段切割、分片、构建分布式特征节点,将指纹段挂载到相应特征节点,设定轮询时间与方法,通过轮询匹配算法,得出指纹匹配度标识;
所述数据模块:利用Hadoop的分布式存储平台,完成图像及相关数据的存储,建立图像数据中心;图像数据包括图像信息、指纹信息、匹配信息、图像存取信息以及其他信息。
与现有技术相比,本发明的优点是:
1、该方法能够在图像数据量达到较大级别时,也能保持一定的识别度,并且保证识别的速度在可控范围内。在保证分布式存储和计算负荷下,通过扩展计算与存储接节点,优化算法流程,可以进一步逼近图像识别效果;
2、在图像识别中,将灰度化作为图像特征提取的基准,能够为图像多重特征提取提供数据分析的基础,其中的轮廓、纹理、色彩特征,是图像中的主要特征点,通过灰度化量化,从而建立数学计算模型,运用图像提取算法,达到很好的匹配度;
3、本发明利用分布式可扩展性好和健壮性强的优势,很好的契合了图像识别算法发展趋势。为了实现扩展的需求,可以从三个角度入手,首先,发掘新的图像特征形式,建立新的匹配特征点;其次,对图像特征点细化,完善单一特征点的匹配点数量;另外,通过对匹配点分析数据进行扩展,可以提高匹配的精确度,可以很好的契合特征值富化的方向发展趋势。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明基于灰度的分布式图像底层特征识别系统的总体架构图;
图2为本发明基于灰度的分布式图像底层特征识别系统的层次结构图;
图3为本发明基于灰度的分布式图像底层特征识别方法的图像全指纹数据结构组成示意图;
图4为本发明基于灰度的分布式图像底层特征识别方法的图像轮廓算法流程图;
图5为本发明基于灰度的分布式图像底层特征识别方法的图像纹理算法流程图;
图6为本发明基于灰度的分布式图像底层特征识别方法的图像色彩算法流程图;
图7为本发明基于灰度的分布式图像底层特征识别方法的指纹生成计算节点的分配示意图;
图8为本发明基于灰度的分布式图像底层特征识别方法的指纹轮询匹配的实现示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
实施例:
结合附图和具体实施方式对本发明作进一步说明:
如图1所示,本发明实施方式中的基于灰度的分布式图像底层特征系统包括采用客户端、前后端服务器以及云图像数据存储。在整个系统的架构中主要的组成部分包括客户端、服务器端以及数据中心这三大部分,其中服务器端分为前端和后端,分别对应于逻辑判断模块和数据分析模块。
在本系统架构中,客户端为应用层,基于图像识别模型的实际应用场景,有移动应用客户端,图像搜索,图物联网三个主体应用。
其中移动应用客户端,将实现一个上衣、下装、鞋类的服饰类应用app,实现以及Android的移动应用;图像搜索主要是为通过系统所获取的图像资源,建立索引库,从而为数据分析与挖掘提供快速索引;图物联网将连接图像与现实物品,完成从虚连到实连的通道,打通线上线下两部分,物联网部分将结合RFID技术与NFC相关应用实现。
在服务器端,前端完成图像数据的入口与出口,并进行逻辑判断,然后交由后端服务器进行数据分析。其中,主要逻辑判断包括需求分析、任务分配、数据提交、预处理以及结果反馈。后端服务器包括图像主要特征(轮廓、纹理、色彩)等特征指纹的生成以及指纹段匹配核心算法功能。在后端的核心算法中,将结合自定义的全指纹数据结构,实现前后端服务器的共享数据结构,数据分析中将采用分布式方式实现指纹段生成以及指纹端轮询匹配算法。服务器端使用Linux+Apache Tomcat完成服务端搭建。
在数据中心部分,主要是数据的存储以及相关的数据整合工作,利用数据叠层有序的分布式存储相关图像资源及信息,此外结合Nutch和Hadoop建立分布式爬虫索引,人机交互,以及数据挖掘的知识对海量数据进行管理。
系统的具体处理步骤如下:
一、图像数据入口(客户端,分布式爬虫)
1)客户端拍照,上传图片数据;
2)构建Web爬虫爬取网页图片数据。
二、图像分布式计算处理,生成“指纹”库
1)图像预处理、清洗、优化(图像细化,DCT变换,双线性图像放缩);
2)图像指纹——指纹段设计(依据轮廓、纹理、颜色特征);
3)将图像挂载特征计算节点,根据特征算法生成指纹段;
4)合成图像原始信息,底层特征,生成全指纹。
三、分布式轮询“指纹”匹配计算节点
1)将图像及全指纹数据上传;
2)切割指纹数据段,部署到对应特征计算节点;
3)轮询匹配图像特征指纹段;
4)图像指纹匹配度——匹配度标识设计;
5)输出匹配结果;
6)将图像和图像指纹数据传至共建云图片数据库。
四、图像数据出口(客户端,共建云图片数据库)
1)返回图片识别结果及相关说明;
2)上传图片资源在云图片数据库归档。
图2为本发明系统的层次结构图,主要是提取层、处理层、分析层以及数据层。
提取层:即图像的入口,包括本地与云端的数据提取,本地的图像数据提取包括:从应用客户端获取的图像资源,在移动客户端上可以上传存储卡上下载或者保存的图像,也可以通过手机相机拍照,以及其他方式获取的图像资源。云端的图像数据来源主要是构建的分布式爬虫,基于Hadoop+Nutch框架,IO数据流,包括HttpClient API以及开源的网页解析框架,构建一个分布式的网络图像爬取的框架,从而提供大数据量的图像资源。
处理层:主要是三大部分,灰度化过程,特征指纹生成,合成全指纹。首先进行统一基准划定,对图像进行灰度化,对于不同的特征算法,灰度化的数据也不相同,然后利用特征提取算法,结合图像处理与优化过程,实现各特征点特征指纹的生成,分别是利用汉明距离,相似度值(巴氏因子系数值)以及RGB三维数组值作为指纹标识,将结果存储在特定的全指纹数据结构中。处理层利用Hadoop的Map/Reduce模型设计分布式计算节点。
分析层:完成图像指纹段的轮询匹配。包括指纹段切割、分片、构建分布式特征节点,将指纹段挂载到相应特征节点,设定轮询时间与方法,通过轮询匹配算法,得出指纹匹配度标识。
数据层:利用Hadoop的分布式存储平台,完成图像及相关数据的存储,利用分布式易扩展的优势,建立图像数据中心。数据层的主要目的是实现图像数据的快速读取,因此,采用分布式系统存储,保证数据的完整性和可扩展性。图像数据包括图像信息、指纹信息、匹配信息、图像存取信息以及其他信息等。
全指纹结构的组成示意图如图3所示。图像全指纹数据结构:主要由图像属性、图像存储、图像全指纹、人工标识、NFC标签组成。具体包括了相关说明和各部分的详细信息。其中图像属性包括图像的基本属性列;图像存储包括逻辑与物理存储目录;图像全指纹包括首尾标识和轮廓、纹理、色彩指纹及其他;特征人工标识包括日志、商品信息、其他信息;NFC标签包括类别、首尾标识、内容、物理特性。
该系统的基于灰度的分布式图像底层特征识别方法,包括如下步骤:
S1:将彩色图像根据不同特征要求转化为灰度图像,保存灰度图像的灰度值、像素值、像素坐标等数据,建立统一的特征基准;
S2:设计图像指纹结构:采用字符串作为指纹存储结构,并且根据实际运行中选择最佳字符串匹配算法,进行指纹识别;
S3:图像轮廓抠图:利用蒙版抠图,确定待识别图像的轮廓特征,生成图像轮廓指纹段;
S4:图像纹理特征提取:选取图像主要特征区域,获取区域的灰度数据,利用PHash算法,计算区域汉明距离,生成图像纹理指纹段;
S5:构建三维颜色直方图:彩色图像转化为灰度图像时,保存图像的三原色信息,构建基于三原色的三维数组,生成图像色彩的指纹段;
S6:分布式指纹生成计算节点设计:根据特征算法运行需求的不同,确定算法执行步骤,评估计算节点的数量,分布以及运算策略;
S7:分布式指纹轮询匹配计算节点设计:将图像原始信息与底层特征合成,生成全指纹;将待匹配图像指纹数据根据指纹段切割,分配到不同的匹配计算节点,通过调整相应计算节点的数量,保证匹配时间在可允许的范围结束;
S8:指纹识别匹配度标识:将多次轮询匹配的结果作为权值依据,与通过S7步骤匹配的结果进行加权,得到匹配度,筛选出匹配结果。
其中,步骤S1中灰度化过程如下:
在以轮廓、纹理为特征的灰度化过程中,彩色图像转化为灰度图像,其实是保留图像的亮度信息,用灰度值来代表彩色图像的亮度信息,图像每个像素由占三个字节转化为占一个字节,彩色图像的亮度值即转化为灰度图像后的灰度值I有以下公式计算:
I = 0.3B + 0.59G + 0.11R
其中R、G、B为红、绿、蓝三个通道的颜色;
在以颜色为特征的灰度化过程中,彩色图像更重要的是为灰度图像保存颜色表。通常用三维数组表示颜色表中每一项的R,G,B分量。
图像指纹由字符串序列组成,通过切割,分成不同指纹段,其中第一部分是图像的基本信息和人工信息,包括图像的属性和后期人工添加的图像信息;第二部分包括基于灰度下图像的底层特征信息和图像存取信息,其中底层特征信息由步骤S3,S4,S5生成的基于灰度的轮廓、纹理、颜色的特征数据组成,具体过程如图3所示。
指纹识别匹配度的标识由二进制序列组成,对于不同底层特征的匹配结果,将匹配度标识信息分别粘合在不同指纹段,方便对不同的图像的特征进行统一表示。
通过合理的抠图算法可以主体周围空白区域产生影响降到最低,效果类似于裁剪。如图4所示,步骤S3中轮廓特征算法描述如下:
1)生成图像原图的蒙版图(即黑白图像构成的原图的图像轮廓简图,轮廓主体部分为白色,其以外为黑色),来自于前期制作的模板图模板;
2)获取原图和蒙版图的像素值,将蒙版图的像素值赋值给原图,达到背景透明处理的效果;
3)实现图像轮廓的抠图,再经过对图像进行灰度化处理;
4)对灰度化的图像,计算每一个像素点其灰度值,从而获取图像的灰度平均值,将每个像素的灰度值与其图像的灰度平均值进行比较,并分别用0和1表示比较的结果。
)计算哈希值,将上述步骤4)中生成的是64位二进制序列串,在实际运用中可以转化为十六进制。
)通过比较两个图像的哈希值的不同,计算汉明距离,获取指纹。
如图5所示,步骤S4中纹理特征算法如下:
(1)将图像缩小到8x8的尺寸,由64个像素组成。通过该过程确定图像识别的规模与精细程度,也可以保证图像特征信息的完整性,简化DCT变换时的计算。
(2)彩色图像转灰度图像,将缩小后的片转化为灰度图像。记录图像的灰度值,作为计算因子。
(3)对图像进行离散余弦变换DCT处理;
(4)缩小DCT值,并计算DCT均值;
(5)根据8*8的DCT矩阵,设置0或1的64位hash值,大于等于DCT均值的设为“1”,小于DCT均值的设为“0”。
(6)构造哈希值,计算汉明距离。
其中二维离散余弦变换方法如下:
离散余弦变换的解析式定义如下:
其中,f(x,y)是空间域二维向量的元素,x、y=0,1,2,......N-1;F(u,v)是变换系数阵列的元素,采用N×N的阵列表示,u,v表示元素二维向量值。
其中,通过以下步骤对图像进行离散余弦变换处理:
1.将图像灰度数据转化为二维矩阵f(x,y);
2.利用离散余弦变换,生成系数矩阵[A];
3.求2中系数矩阵的转置矩阵[A]T;
4.离散余弦变换的计算,由公式[F(u,v)]=[A][f(x,y)][A]T得到。
如图6所示,步骤S5中色彩特征算法如下:
(1)获取图像,进行灰度化处理;
(2)灰度化下利用三维数组保存图像色彩信息,生成颜色直方图;
(3)计算巴氏系数,获取图像色彩的指纹段。
关于巴氏系数(Bhattacharyyacoefficient)算法
其中,P, P’分别代表源与候选的图像直方图数据,i为直方图每个RGB数据的序号,计算结果称为巴氏系数因子值即表示相似程度,范围为0到1之间。
步骤S6中分布式指纹计算节点要求如下:
分布式指纹计算节点在整个识别过程中属于前期部分,通过这一过程,完成图像数据的处理、清洗、筛选、整合,将整个计算过程分成不同的部分,对于每一个部分,再分割成不同的步骤,保持横向、纵向计算节点分布的有序,实现分布式过程。
指纹生成计算节点最主要的部分是关于基于灰度的三个底层特征计算节点的设计,在保证IO图像数据流,图像优化处理基本函数以及灰度化等全局方法的前提下,针对各个特征算法设计计算节点的顺序以及计算节点的数量。
指纹生成计算节点的最终目标是生成图像的对应特征指纹段,并作为图像信息的重要组成部分。
指纹生成计算节点的分配示意图如图7所示。
建立在图像指纹信息的生成速率和质量上,采用分布式的图像指纹生成方式,通过Hadoop建立基于分布式的计算平台,通过设计Map/Reduce模型,将图像指纹生成,转化为分布式处理,设计计算节点计算策略,对图像特征算法进行分割,这样易于扩展,并且对算法步骤进行封装,保证每个计算节点均化,提高算法的可扩展性和健壮性。
主要的步骤如下:
第一步:建立第一层级的图像数据读取,通过Hadoop的HDFS系统导入数据。
第二步:在第二级针对不同的特征算法进行灰度处理,并且对灰度化数据进行存储
第三步:对不同特征识别算法进行相应的图像处理与优化,使其数据适配图像算法。将前面步骤中保存的灰度数据,图像数据以及其他相关数据,进行标识
第四步:处理后大的数据进入特征算法分布式环境中,进行循环的指纹特征生成,完成个特征节点指纹生成,全数据结构粘合的过程。
第五步:将第四步提取的全指纹以及图像,其他图像相关数据导出到Hadoop的HDFS中,保存在分布式数据库中。
步骤S7中分布式指纹轮询匹配的思路如下:
指纹生成是核心算法的前期部分,而对于指纹数据进行匹配则是后期部分。主要的工作是在:
1)对前期生成的图像全指纹数据,从分布式文件存储系统调到计算节点;
2)然后根据全指纹结构,对全指纹进行切割,对应不同的计算节点,包括输入输出流,图像优化处理函数,主要特征匹配算法,匹配度标识;
3)然后对每一部分以及每部分的步骤进行封装,装载到对应计算节点,涉及的包括计算节点的分配策略;
4)在匹配算法的环节中,考虑到算法的可信度,采用轮询的匹配算法,在进行特征匹配时,在可信计算时间内,保证每种特征匹配算法轮询匹配三次,并以多次轮询的匹配结果决定特征匹配度,并进行匹配标识。
指纹轮询匹配的实现示意图如图8所示。
分布式指纹轮询匹配算法的实现是为了考虑到不同指纹段结构,以及充分发挥分布式计算节点的高容错,易扩展,健壮型的基础上实现的,同时,为了提高指纹识别度,通过轮询匹配,可以更好的优化匹配结果。实现过程如下:
第一步:提取到全指纹,对全指纹进行切分,分为基本信息,指纹信息,其他信息。
第二步:利用全指纹数据结构信息,抽取出指纹信息,包括轮廓,纹理,色彩的指纹数据,实现指纹信息分离。
第三步:将带识别的指纹段进入分布式轮询匹配入口,保证数据格式的一致化。
第四步:进入轮询匹配过程,将各特征指纹交由不同特征节点计算。具体包括读入指纹字符,利用字符匹配算法,分配到分布式指纹库,根据负载指定计算节点数量,输出匹配度标识。
第五步:完成多次轮询匹配过程。
第六步:匹配结束的指纹段,进入轮询匹配出口,根据标识,生成对应特征指纹段的匹配度标识,获得匹配结果。
步骤S7,S8中分布式环境的搭建如下:
本发明要求实现的分布式图像识别模型,其中分布式环境具体包括分布式环境搭建以及分布式程序设计两部分。
关于分布式环境搭建,该分布式环境包括Linux系统安装,Hadoop集群搭建,Nutch框架搭建,具体包括:
该集群环境使用Linux操作系统,安装Centos操作系统以及进行相关网络环境配置,在Linux操作系统上安装Hadoop分布式系统集群,实现SSH免验证登录,设计主从节点以及节点分布。在Hadoop集群基础上,搭建基于分布式的Nutch框架环境。
关于分布式程序设计,在搭建的分布式环境中,通过Hadoop集群Web服务端界面监控集群的运行情况,通过导入Hadoop代码在Eclipse中进行Hadoop程序设计,具体包括通过HDFS完成分布式数据的存取,设计MapReduce程序实现分布式图像识别算法,结合Nutch框架设计Web爬虫进行图像数据爬取。
分布式系统环境搭建主要包括Hadoop集群搭建和基于Hadoop集群的Nutch框架的搭建在,其主要步骤如下:
1.Linux安装
设计集群分布,具体包括确定主从子节点数量,网络环境IP。下载Linux系统(拟采用Centos)并安装。
集群搭建:
主要包括以下步骤:
1)设置静态IP,修改用户名,以及进行IP和用户名绑定,并修改相关配置文件;2)关闭防火墙;3)SSH免验证登陆;4)JDK安装及相关配置;5)Hadoop安装及相关配置。
框架搭建:
Nutch文件下载,解压安装到相关目录下;Hadoop分布式环境下Nutch相关文件配置;写入爬取的网页信息;执行爬取命令进行爬取。
分布式系统程序设计:
1.文件数据读取,主要是完成相关HDFS操作;
2.算法运行与监控,主要是MapReduce程序的编写,开发语言为Java;
1)指定输入输出格式;
2)指定Map阶段和Reduce阶段的要做的工作,主要是编写map()和reduce()两个函数;
3)结合设计的图像识别算法,编写MapReduce程序;
4)将Hadoop作业提交到框架中运行,完成结果收集和作业进度监控。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (10)
1.一种基于灰度的分布式图像底层特征识别方法,其特征在于,包括以下步骤:
S1:将彩色图像根据不同特征要求转化为灰度图像,保存灰度图像的灰度值、像素值、像素坐标,建立统一的特征基准;
S2:设计图像指纹结构:采用字符串作为指纹存储结构,并且选择字符串匹配算法进行指纹识别;
S3:利用蒙版抠图确定待识别图像的轮廓特征,生成图像轮廓指纹段;
S4:选取图像特征区域,获取灰度数据,利用PHash算法,计算特征区域汉明距离,生成图像纹理指纹段;
S5:构建三维颜色直方图:将彩色图像转化为灰度图像,保存图像的三原色信息,构建基于三原色的三维数组,生成图像色彩的指纹段;
S6:分布式指纹生成计算节点设计:根据特征算法运行需求的不同,确定算法执行步骤,评估计算节点的数量、分布以及运算策略;
S7:分布式指纹轮询匹配计算节点设计:将图像原始信息与底层特征合成,生成全指纹;将待匹配图像指纹数据根据指纹段切割,分配到不同的匹配计算节点,通过调整相应计算节点的数量保证匹配时间在可允许的范围结束;
S8:指纹识别匹配度标识:将多次轮询匹配的结果作为权值依据,与通过S7步骤匹配的结果进行加权,得到匹配度,筛选出匹配结果。
2.根据权利要求1所述的基于灰度的分布式图像底层特征识别方法,其特征在于,步骤S1中彩色图像灰度化过程如下:
在以轮廓,纹理为特征的灰度化过程中,彩色图像转化为灰度图像,用灰度值来代表彩色图像的亮度信息,彩色图像的亮度值即转化为灰度图像后的灰度值I由以下公式计算:
I=0.3B+0.59G+0.11R;
其中R、G、B为红、绿、蓝三个通道的颜色;
在以色彩为特征的灰度化过程中,灰度图像保存彩色图像的颜色表,颜色表中每一项的R、G、B分量用三维数组表示。
3.根据权利要求1所述的基于灰度的分布式图像底层特征识别方法,其特征在于,所述步骤S3包括:
S3.1生成图像原图的蒙版图;
S3.2获取原图和蒙版图的像素值,将蒙版图的像素值赋值给原图,达到背景透明处理的效果;
S3.3实现图像轮廓的抠图,对图像进行灰度化处理;
S3.4对灰度化的图像,计算每一个像素点的灰度值,从而获取图像的灰度平均值,将每个像素的灰度值与其图像的灰度平均值进行比较,并分别用0和1表示比较的结果,生成64位二进制序列串;
S3.5通过比较两个图像的哈希值,计算汉明距离,获取图像轮廓指纹段。
4.根据权利要求1所述的基于灰度的分布式图像底层特征识别方法,其特征在于,所述步骤S4包括:
S4.1将图像缩小为8*8共64个像素;
S4.2将缩小后的图像转化为灰度图像,记录图像的灰度值,并将图像的灰度值作为计算因子;
S4.3对图像进行离散余弦变换DCT处理;
S4.4缩小DCT值,并计算DCT均值;
S4.5根据8*8的DCT矩阵,设置0或1的64位Hash值,其中大于等于DCT均值的设为“1”,小于DCT均值的设为“0”;
S4.6构造哈希值,计算汉明距离,获取图像纹理指纹段。
5.根据权利要求1所述的基于灰度的分布式图像底层特征识别方法,其特征在于,所述步骤S5包括:
S5.1获取图像,进行灰度化处理;
S5.2在图像灰度化下,利用三维数组保存图像色彩信息,生成颜色直方图;
S5.3计算巴氏系数,获取图像色彩的指纹段;
所述巴氏系数的计算公式为:
其中,P,P’分别代表源与候选的图像直方图数据,巴氏系数因子值的范围为0到1之间,i为直方图每个RGB数据的序号。
6.根据权利要求1所述的基于灰度的分布式图像底层特征识别方法,其特征在于,所述步骤S6中分布式指纹生成计算节点,包括对图像数据处理、清洗、筛选、整合,将整个计算过程分成不同的部分,对于每一个部分,再分割成不同的步骤,保持横向和纵向计算节点分布的有序;在保证IO图像数据流,图像优化处理基本函数以及灰度化的前提下,针对各个特征算法设计计算节点的顺序以及计算节点的数量。
7.根据权利要求1所述的基于灰度的分布式图像底层特征识别方法,其特征在于,所述步骤S7中分布式指纹轮询匹配包括:
S7.1对前期生成的图像全指纹数据,从分布式文件存储系统调到计算节点;
S7.2根据全指纹结构,对全指纹结构进行切割,对应不同的计算节点,包括输入输出流,图像优化处理函数,主要特征匹配算法,匹配度标识;
S7.3对每一部分以及每部分的步骤进行封装,装载到对应计算节点,包括计算节点的分配策略;
S7.4在匹配算法的环节中,采用轮询的匹配算法,在进行特征匹配时,在可信计算时间内,保证每种特征匹配算法轮询匹配三次,并以多次轮询的匹配结果决定特征匹配度,并进行匹配标识。
8.根据权利要求1所述的基于灰度的分布式图像底层特征识别方法,其特征在于,步骤S6和S7中的分布式包括分布式环境搭建和分布式程序设计;所述分布式环境搭建包括使用Linux操作系统,安装Centos操作系统以及进行相关网络环境配置,在Linux操作系统上安装Hadoop分布式系统集群,实现SSH免验证登录,设计主从节点以及节点分布,在Hadoop集群基础上,搭建基于分布式的Nutch框架环境;所述分布式程序设计包括在搭建的分布式环境中,通过Hadoop集群Web服务端界面监控集群的运行情况,通过导入Hadoop代码在Eclipse中进行Hadoop程序设计,具体包括通过HDFS完成分布式数据的存取,设计MapReduce程序实现分布式图像识别算法,结合Nutch框架设计Web爬虫进行图像数据爬取。
9.根据权利要求1所述的基于灰度的分布式图像底层特征识别方法,其特征在于,当有新的图像特征形式时,还包括:发掘新的图像特征形式,建立新的匹配特征点;对图像特征点细化,完善单一特征点的匹配点数量;通过对匹配点分析数据进行扩展。
10.一种基于灰度的分布式图像底层特征识别系统,其特征在于,包括:提取模块、处理模块、分析模块以及数据模块;
所述提取模块:用于本地与云端的图像数据提取,本地的图像数据提取包括从应用客户端获取的图像资源,云端的图像数据包括构建的分布式爬虫,基于Hadoop+Nutch框架,IO数据流,包括HttpClient API以及开源的网页解析框架,构建一个分布式的网络图像爬取的框架,从而提供大数据量的图像资源;
所述处理模块:用于灰度化图像,生成特征指纹,合成全指纹;首先进行统一基准划定,对图像进行灰度化,对于不同的特征算法,灰度化的数据也不相同,然后利用特征提取算法,结合图像处理与优化过程,实现各特征点特征指纹的生成,分别利用汉明距离,巴氏因子系数值以及RGB三维数组值作为指纹标识,将结果存储在特定的全指纹数据结构中;处理模块利用Hadoop的Map/Reduce模型设计分布式计算节点;
所述分析模块:完成图像指纹段的轮询匹配;包括指纹段切割、分片、构建分布式特征节点,将指纹段挂载到相应特征节点,设定轮询时间与方法,通过轮询匹配算法,得出指纹匹配度标识;
所述数据模块:利用Hadoop的分布式存储平台,完成图像及相关数据的存储,建立图像数据中心;图像数据包括图像信息、指纹信息、匹配信息、图像存取信息以及其他信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510671757.8A CN105354248B (zh) | 2015-10-19 | 2015-10-19 | 基于灰度的分布式图像底层特征识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510671757.8A CN105354248B (zh) | 2015-10-19 | 2015-10-19 | 基于灰度的分布式图像底层特征识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105354248A CN105354248A (zh) | 2016-02-24 |
CN105354248B true CN105354248B (zh) | 2019-03-26 |
Family
ID=55330221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510671757.8A Active CN105354248B (zh) | 2015-10-19 | 2015-10-19 | 基于灰度的分布式图像底层特征识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105354248B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897989B (zh) * | 2016-03-01 | 2019-09-20 | 闽南师范大学 | 一种基于线密度计算的指纹图像分割方法 |
CN105912643A (zh) * | 2016-04-08 | 2016-08-31 | 浙江理工大学 | 一种基于内容改进型均值哈希的图像检索方法 |
CN106210623A (zh) * | 2016-06-27 | 2016-12-07 | 石媛 | 云端直方图分布检测平台 |
CN107547830B (zh) * | 2016-06-27 | 2018-09-21 | 宁夏新航信息科技有限公司 | 云计算系统 |
CN107704795A (zh) * | 2016-08-09 | 2018-02-16 | 上海图檬信息科技有限公司 | 基于微距图像的指纹识别方法 |
CN107644407A (zh) * | 2017-09-26 | 2018-01-30 | 成都国翼电子技术有限公司 | 一种基于人工交互的航拍图像薄云去除方法 |
CN108230341B (zh) * | 2018-03-07 | 2021-12-17 | 汕头大学 | 一种基于分层抠图算法的眼底图像血管分割方法 |
CN108446740B (zh) * | 2018-03-28 | 2019-06-14 | 南通大学 | 一种用于脑影像病历特征提取的多层一致协同方法 |
CN108984614B (zh) * | 2018-06-12 | 2022-01-25 | 成都三零凯天通信实业有限公司 | 一种基于大数据环境下的视图像快速识别方法 |
CN110738603A (zh) * | 2018-07-18 | 2020-01-31 | 中国商用飞机有限责任公司 | 一种图像灰度处理方法、装置、计算机设备及存储介质 |
CN108806779A (zh) * | 2018-08-09 | 2018-11-13 | 南通大学 | 基于区块链的混合式数字眼底图像记录与分享系统 |
CN109461116B (zh) * | 2018-10-16 | 2023-04-28 | 浩云科技股份有限公司 | 一种基于opengl的720全景展开监控方法 |
KR102528453B1 (ko) * | 2018-10-18 | 2023-05-02 | 삼성전자주식회사 | 영상 내의 특징 추출 방법, 이를 이용하는 영상 매칭 방법 및 영상 처리 방법 |
CN109947756A (zh) * | 2019-03-18 | 2019-06-28 | 成都好享你网络科技有限公司 | 用于增广数据的数据清洗方法、装置和设备 |
CN110288001B (zh) * | 2019-05-28 | 2023-09-05 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 基于目标数据特征训练学习的目标识别方法 |
CN110910409B (zh) * | 2019-10-15 | 2023-10-27 | 平安科技(深圳)有限公司 | 一种灰度图像处理方法、装置和计算机可读存储介质 |
CN111353552A (zh) * | 2020-03-13 | 2020-06-30 | 杭州趣维科技有限公司 | 一种基于感知哈希算法的图像相似度对比方法 |
CN113449129A (zh) * | 2020-03-25 | 2021-09-28 | 北京小米移动软件有限公司 | 图片存储方法、图片存储装置及存储介质 |
CN112861954A (zh) * | 2021-02-01 | 2021-05-28 | 深圳无域科技技术有限公司 | 图片相似度计算方法、系统、设备及计算机可读介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425996A (zh) * | 2013-08-01 | 2013-12-04 | 华南理工大学 | 一种并行分布式的大规模图像识别方法 |
CN104112136A (zh) * | 2013-04-19 | 2014-10-22 | 昆山鸿鹄信息技术服务有限公司 | 一种图像底层视觉特征的提取方法 |
-
2015
- 2015-10-19 CN CN201510671757.8A patent/CN105354248B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104112136A (zh) * | 2013-04-19 | 2014-10-22 | 昆山鸿鹄信息技术服务有限公司 | 一种图像底层视觉特征的提取方法 |
CN103425996A (zh) * | 2013-08-01 | 2013-12-04 | 华南理工大学 | 一种并行分布式的大规模图像识别方法 |
Non-Patent Citations (3)
Title |
---|
"基于Hadoop分布式计算的图像检索方法";梁欣然等;《电脑知识与技术》;20150630;第11卷(第17期);全文 |
"灰度图像处理的并行分布式加权识别系统模型";葛洪伟等;《微电子学与计算机》;20010430(第4期);全文 |
《一种基于Hadoop架构的海量图像检索方法》;蔡丽娟;《通信世界》;20140430;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105354248A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105354248B (zh) | 基于灰度的分布式图像底层特征识别方法及系统 | |
CN105359190B (zh) | 根据单个图像估计深度 | |
Phan et al. | Color orchestra: Ordering color palettes for interpolation and prediction | |
WO2018049084A1 (en) | Methods and systems for human imperceptible computerized color transfer | |
CN109145766A (zh) | 模型训练方法、装置、识别方法、电子设备及存储介质 | |
CN112215171B (zh) | 目标检测方法、装置、设备及计算机可读存储介质 | |
CN111325271A (zh) | 图像分类方法及装置 | |
Yu et al. | Artificial intelligence for Dunhuang cultural heritage protection: the project and the dataset | |
CN112015934B (zh) | 基于神经网络和Unity的智能发型推荐方法、装置及系统 | |
CN116610304B (zh) | 页面代码生成方法、装置、设备和存储介质 | |
US11869127B2 (en) | Image manipulation method and apparatus | |
CN113705301A (zh) | 图像处理方法及装置 | |
Tang et al. | Painting and calligraphy identification method based on hyperspectral imaging and convolution neural network | |
CN115953330A (zh) | 虚拟场景图像的纹理优化方法、装置、设备和存储介质 | |
JP6995262B1 (ja) | 学習システム、学習方法、及びプログラム | |
Orhei | Urban landmark detection using computer vision | |
CN111818364B (zh) | 视频融合方法、系统、设备及介质 | |
CN106469437B (zh) | 图像处理方法和图像处理装置 | |
Wu | Subdivision of artistic objectives of oil painting creation under the evaluation of deep learning model | |
GB2585722A (en) | Image manipulation | |
CN116452702B (zh) | 信息图表快速设计方法、装置、计算机设备和存储介质 | |
CN109241990A (zh) | 一种基于多标签传播的三维模型标注方法 | |
CN110889718B (zh) | 方案筛选方法、方案筛选装置、介质以及电子设备 | |
CN116304163B (zh) | 一种图像检索方法、装置、计算机设备及介质 | |
Zhang | Simulation of university sculpture environmental art design based on machine learning and image feature recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191122 Address after: 276000 room 1102, unit 2, building 11, Binhe international, the intersection of Binhe Avenue and jinliu Road, Lanshan District, Linyi City, Shandong Province Patentee after: Shandong Zhijing infinite network technology Co., Ltd Address before: 226019 Jiangsu Province, Nantong City Chongchuan District sik Road No. 9 Patentee before: Nantong University |