基于词汇树检索与相似度验证的云端图像识别方法与流程

文档序号:12720095阅读:205来源:国知局

本发明涉及图像识别技术领域,具体涉及一种基于词汇树检索与相似度验证的云端图像识别方法。



背景技术:

实时图像搜索是一种可以支持用户自定义的,超大规模的图像数据库的实时图像识别技术。它可以实现对移动端设备的图像输入内容进行实时的识别。整个识别过程是在云端进行的,这样可以使用户无需将庞大的图像数据库下载到本地,并且也可以充分地利用云端计算资源对数据库进行高速的检索。

然而,目前基于云端的实时图像识别技术其通过上传本地图片到服务器,服务器将带识别的图片与存储的图片逐一进行比较,其存在以下缺陷:在无线网络较差的情况下,用户实时上传图像的速度会受到很大影响。



技术实现要素:

本发明为了解决上述技术问题提供一种基于词汇树检索与相似度验证的云端图像识别方法。

本发明通过下述技术方案实现:

基于词汇树检索与相似度验证的云端图像识别方法,包括以下步骤,

图像获取步骤:获取目标图像,并对目标图像使用ORB算法提取所有ORB特征点,并对每一个ORB特征点生成相应的描述子,生成目标图像的ORB描述子序列;

图像上传步骤:将该ORB描述子序列上传到基于描述子样本的云端图像数据库中;

图像识别步骤:云端图像数据库利用基于词汇树的检索算法对图像进行匹配识别并返回匹配度靠前的N张候选图像,其中N为大于1的自然数;

相似度验证步骤:在云端图像数据库中找到候选图像,得到目标图像和候选图像的128维向量,分别计算目标图像与各候选图像之间的距离,并找出距离最短的候选图像。

本发明通过提取目标图像的ORB特征点以生成ORB描述子序列,并将ORB描述子序列上传至基于描述子样本的云端图像数据库中进行检索匹配,相比于上传目标图像的方式,描述子的数据量小,减小对网络的要求,即网络较差对识别的速度影响小。利用词汇树检索算法找出匹配度靠前的N张图像后利用目标图像和候选图像之间的距离进行相似性验证,该相似性验证为小规模的,即可保证快速检索,也极大的提高了检索的精度。

所述云端图像数据库的生成方法包括以下步骤:

描述子生成步骤:收集图片,提取每张图片的ORB特征点,并对每个ORB特征点生成相应的描述子以得到描述子样本;

树状模型生成步骤:根据描述子样本生成图像数据库的树状模型;

数据库生成步骤:向树状模型中添加图片,建立树状结构的图像数据库。

现有的图像匹配是图像和图像之间的匹配,检索的时间的增加随着图像的增加线性增长。一个特征描述子到数据库里匹配所有特征描述子,数据库里的描述子越多,匹配的时间就越长,因为暴力匹配是一一匹配,最后寻找距离最短的匹配组。在保证一定准确度的前提下,其检索速度和广度存在矛盾,这两点都与云端图像数据库的大小密切相关。而采用上述方法,由于数据库中的描述子已经进行树状分类,在进行匹配的时候,待匹配的描述子会寻找与其最相似的分支,而不需要遍历真个数据库,即树状检索结构可以让待匹配的特征描述子不用一一匹配所有的描述子,检索时间主要跟经过的节点数有关系,数据库中的描述子多不代表检索经过的节点数越多。所以检索时间不是按数据库的大小线性增加,而是对数增长,解决检索广度与速度之间的矛盾。而对于新加入图像描述子会加入相应的分支,而不是单纯的增加,因此在广度上也能很好的解决大数据库的检索情况。

所述描述子生成步骤具体为:收集图片,分别对每张图片进行缩放以建立一个图像金字塔,对图片的各个尺度使用ORB算法提取所有ORB特征点,并对每一个ORB特征点生成相应的描述子。

所述树状模型生成步骤为:利用描述子之间的欧式距离作为判据,对描述子样本用K-means算法做聚合分类,生成图像数据库的树状模型。

所述树状模型生成步骤具体为:

A1、定义一个树状结构,其最大层数为L,每层最大子节点数为K;

A2、对描述子样本用K-means算法做聚合分类,得到子节点分类结果,将每个子节点内所有描述子的平均描述子作为该子节点的描述子;

A3、若该子节点内描述子样本的数量大于K的两倍,则对该子节点内的描述子样本作进一步的K-means分类,重复该步骤,直至树状结构的最大层数小于等于L或者没有子节点的描述子样本数量大于K的两倍;

A4、对所有的子节点依次排序标号,生成图像数据库的树状模型。

所述数据库生成步骤为:

B1、给图片一个唯一的编号;

B2、对该图片进行缩放以建立一个图像金字塔,对图片的各个尺度使用ORB算法提取所有ORB特征点,并对每一个ORB特征点生成相应的描述子;

B3、将该图片的所有描述子利用树状模型进行分类,并将每个描述子的分类结果关联在其分配到的子节点上;

B3、对每一张图片做B1至B3的步骤,得到具有树状结构的图像数据库。

获得目标图像和候选图像的128维向量在相似度验证系统中进行。

所述相似度验证系统生成方法包括以下步骤,

C1、将图像库中的图像输入神经网络模型,得到每张图对应的1024维的经过归一化的描述子;

C2、将图像库中的图像进行三字节的学习,建立正样本与正样本之间的紧密距离、正样本与负样本之间的疏远距离。

本发明与现有技术相比,具有如下的优点和有益效果:

1、本发明得图像数据库基于描述子样本构建,在识别目标图像时,通过对目标图像描述子的提取实现检索匹配,相比于目标图像,描述子的数据量小,网络较差对识别的速度影响小。

2、本发明利用词汇树检索算法找出匹配度靠前的N张图像后利用目标图像和候选图像之间的距离进行相似性验证,该相似性验证为小规模的,保证了快速检索的同时极大提高检索的精度。

3、本发明的方法基于树状检索结构,其可让待匹配的特征描述子不用一一匹配所有的描述子,检索时间主要跟经过的节点数有关系,随着图片数量的增加,其检索时间不是按数据库的大小线性增加,而是对数增长,大大提高检索速度。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。

实施例1

本实施例公开一种基于描述子样本的云端图像数据库的生成方法,包括以下步骤:

描述子生成步骤:收集图片,提取每张图片的ORB特征点,并对每个ORB特征点生成相应的描述子以得到描述子样本;

树状模型生成步骤:根据描述子样本生成图像数据库的树状模型;

数据库生成步骤:向树状模型中添加图片,建立树状结构的图像数据库。

具体的:

在描述子生成步骤中,收集的图片数量要多且来自各种场景,一般需要几万张,其存放在一个文件夹内,常用的图片格式均可,譬如JPG、JPEG、JPE、JFIF、BMP;分别对每张图片进行一定的缩放比例以建立一个图像金字塔,对图片的各个尺度使用ORB算法提取所有ORB特征点,并对每一个ORB特征点生成相应的描述子。对收集到的每个图片均做该步骤的处理,ORB特征点的描述子是一个128位的二进制序列。

在树状模型生成步骤中,利用描述子之间的欧式距离作为判据,对描述子样本用K-means算法做聚合分类,生成图像数据库的树状模型。树状模型生成后一般不做改动。较为详细的,可采用下述步骤方法:

A1、定义一个树状结构,其最大层数为L,每层最大子节点数为K;

A2、对描述子样本用K-means算法做聚合分类,得到子节点分类结果,将每个子节点内所有描述子的平均描述子作为该子节点的描述子;

A3、若该子节点内描述子样本的数量大于K的两倍,则对该子节点内的描述子样本作进一步的K-means分类,重复该步骤,直至树状结构的最大层数小于等于L或者没有子节点的描述子样本数量大于K的两倍;

A4、在所有的K-means分类结束后,对所有的子节点从左到右依次排序标号,生成图像数据库的树状模型。

向树状模型中添加所有需要的图像数据以形成图像数据库,将需要添加到树状模型中的图片存放在同一文件夹里,具体的可采用下述步骤:

B1、向树状模型中添加一张图片的时,给该图片一个唯一的编号;

B2、对该图片进行缩放以建立一个图像金字塔,对图片的各个尺度使用ORB算法提取所有ORB特征点,并对每一个ORB特征点生成相应的描述子,这样就获得了可以代表这张图片特征的一个ORB描述子序列;

B3、将该图片的所有描述子利用树状模型进行分类,并将每个描述子的分类结果关联在其分配到的子节点上;分类完成后,树状模型的每一个子节点上就会记录该编号的图片所具有的描述子在各节点分别出现了几次,而该编号图片也会存储其描述子在那些序号的子节点上分别出现了多少次;

B3、对每一张图片做B1至B3的步骤,得到具有树状结构的图像数据库。使用者可根据自身的需求,随时任意的向数据库中增加或删除图片。

按上述步骤方法生成了云端图像数据库,用户需要对图片进行识别时,可采用下列方法。

实施例2

一种基于词汇树检索与相似度验证的云端图像识别方法,包括以下步骤,

图像获取步骤:获取目标图像,并对目标图像使用ORB算法提取所有ORB特征点,并对每一个ORB特征点生成相应的描述子,生成目标图像的ORB描述子序列;

图像上传步骤:将该ORB描述子序列上传到基于描述子样本的云端图像数据库中;

图像识别步骤:云端图像数据库利用基于词汇树的检索算法对图像进行匹配识别并返回匹配度靠前的N张候选图像,其中N为大于1的自然数;

相似度验证步骤:在云端图像数据库中找到候选图像,得到目标图像和候选图像的128维向量,分别计算目标图像与各候选图像之间的距离,并找出距离最短的候选图像。

具体的,用户在使用实时图像识别系统时,用户的移动端设备每采集到一帧目标图像,会先对采集到的目标图像使用ORB算法提取所有ORB特征点,并对每一个ORB特征点生成相应的描述子,生成该目标图像的ORB描述子序列,并将此序列发送到云端。与采集到的目标图像相比,ORB描述子序列的数据量会小非常多。

云端收到ORB描述子序列后,即开始利用检索词汇树的检索算法,在已生成的树形图像数据库中寻找该图片匹配得分靠前的N张候选图片,譬如10张。每一次检索,可以生成一个可自定义长度的按照匹配得分高低排列匹配结果编号序列,即利用词汇树图像数据库检索快捷的特性,迅速地找出与目标图片类似的若干张候选图片。

根据候选图片编号,从图片数据库中找到这些图片,并将候选图像和目标图像输入相似度验证系统中分别获得各图像对应的128维向量,根据128维向量计算目标图像与各候选图片之间的距离,找到距离最短的向量,其对应的图像即为最匹配的图像,将其反馈给用户。通过相似度验证步骤可以弥补在词汇树结构大小有限的情况下检索精度的不足,并且,由于已经通过检索词汇树将最佳匹配可能存在的范围缩小到若干张候选图片中,所以对剩余的最佳匹配候选图片进行相似度验证将是十分迅速的。

实施例3

在实施例2中,获得目标图像和候选图像的128维向量在相似度验证系统中进行。本实施例对相似度验证系统的生成方法进行细化。

本实施例基于网络上经典的ImageNet图像库与神经网络模型,其在嵌入式系统中进行。当然,也可利用其它图像库。其包括下列步骤,

C1、将图像库中的图像输入神经网络模型,得到每张图对应的1024维的经过归一化的描述子;

C2、将图像库中的图像进行三字节的学习,即每个三字节中包含两个正样本,一个负样本,以建立正样本与正样本之间的紧密距离、正样本与负样本之间的疏远距离。

此时,将任意一张图像输入嵌入式系统,即会输出其相应的128维向量。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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