一种基于图像识别的扩增实境实现方法与流程

文档序号:12721206阅读:156来源:国知局

本发明涉及计算器视觉领域,具体涉及一种基于图像识别的扩增实境实现方法。



背景技术:

扩增实境技术即AR,全称为Augmented Reality,其将虚拟世界的视效、音效及空间信息等信息整合至真实环境信息的技术,扩增实境技术不仅展现真实环境的信息,亦同时将虚拟的信息显示出来,藉由两种信息相互补充、迭加,藉此让使用者可获得更丰富的感知信息,通常,搭载扩增实境技术的电子装置可透过配置于其上的摄像镜头捕捉真实环境的影像,并实时地计算所捕捉影像的位置、角度,同时加上相应虚拟图像,其目的是在显示屏幕上把虚拟世界信息套在现实环境信息中,让用户透过所捕捉的影像与虚拟世界的信息进行互动。

现今扩增实境技术主要应用于智能手机、平板计算机等移动装置,近年来由于虚拟现实(Virtual Reality,VR)技术的发展,也开始将扩增实境技术应用于智能头盔、智能眼镜等穿戴式设备上。透过3D图像动画的渲染,多媒体视频、音频的播放,扩增实境技术被广泛地应用于电玩游戏、媒体传播及教育等领域。

扩增实境技术利用虚拟特效增强真实环境中的场景,将需要被展示或被突显的目标事物更加生动且具体,带给用户强烈鲜明的视觉效果。在实时图像搜索时,为了避免用户将庞大的图像数据库下载到本地,一般利用云端对图像进行存储,通过上传目标图像进行识别。随着扩增实境被大范围应用,用户需要更大的图片库来进行标志物的识别。在扩增实境中,利用现有的方式对标志物进行识别即存在以下问题:在无线网络较差的情况下,用户实时上传图像的速度会受到很大影响。



技术实现要素:

本发明为了解决上述技术问题提供一种基于图像识别的扩增实境实现方法。

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

一种基于图像识别的扩增实境实现方法,包括以下步骤,

1)、初始化扩增实境系统;

2)、获取真实场景图像;

3)、检测并匹配目标标志物,提取目标标志物的ORB特征点,并对每一个ORB特征点生成相应的描述子以生成用于上传到云端图像数据库的该目标标志物的ORB描述子序列,接收云端图像数据库识别后返回的图像编号;获取目标标志物的初始位姿矩阵;

4)、渲染3D引擎动画特效;

5)、开启追踪执行线程,确定目标标志物新的位姿矩阵;

6)、根据新的位姿矩阵更新扩增实境动画特效;

7)、重复4)至6)直至目标标志物在屏幕中消失、重新获取真实场景图像或扩增实境系统停止运作。

本发明的扩增实境实现方案在现有技术的基础上做了改进,即在图像识别时,对ORB特征点的提取获得图像的ORB描述子序列,通过上传ORB描述子序列实现对图像的识别,相比于现有直接上传图片进行识别的方式,其上传的数据量小,对网络的要求低。

在追踪执行线程时采用模板匹配、矢量运动模型预测、卡尔曼滤波算法的方法,有效的解决现有图像追踪方法在图像位移量较大时追踪计算量增大、实时性下降甚至丢失的情况。

所述模板匹配的方法为:扩增实境系统根据上一帧的位姿矩阵将跟踪组的点投影至屏幕上,在点附近的一定范围内做模板匹配,譬如在该点周围15*15像素方形范围内,判断模板是否匹配的分数由模板所有像素值的归一化互相关系数决定。当匹配分数超过阈值时即为匹配。

采用矢量运动模型预测的方法为:当读入的影像大于两帧,利用前两帧位姿矩阵计算一个预测矩阵,预先将跟踪组的点从上一帧的位置投影到预测矩阵的位置范围,再在预测矩阵的位置范围内搜索模板。

采用卡尔曼滤波算法的方法为:对之前的数帧位姿矩阵进行加权,之后对当前帧求得的新的位姿矩阵做最优化估计处理。

所述云端图像数据库得生成方法包括:

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

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

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

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

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

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

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

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

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

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

所述数据库生成步骤为:

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

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

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

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

云端图像数据库识别的方法包括以下步骤,

云端图像数据库利用检索词汇树的检索算法对图像进行匹配并返回编号结果。

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

本发明的扩增实境实现方法在识别图像时,对ORB特征点的提取获得图像的ORB描述子序列,通过上传ORB描述子序列实现对图像的识别,相比于现有直接上传图片进行识别的方式,在图像库增大的情况下,提高检索速度和精度。

具体实施方式

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

实施例1

一种基于图像识别的扩增实境实现方法,包括以下步骤,

1)、初始化扩增实境系统;

2)、获取真实场景图像;

3)、检测并匹配目标标志物,提取目标标志物的ORB特征点,并对每一个ORB特征点生成相应的描述子以生成用于上传到云端图像数据库的该目标标志物的ORB描述子序列,接收云端图像数据库识别后返回的图像编号;获取目标标志物的初始位姿矩阵;

4)、渲染3D引擎动画特效;

5)、开启追踪执行线程,确定目标标志物新的位姿矩阵;

6)、根据新的位姿矩阵更新扩增实境动画特效;

7)、重复4)至6)直至目标标志物在屏幕中消失、重新获取真实场景图像或扩增实境系统停止运作。

具体的,步骤1)中,扩增实境系统可以在带有摄像头的设备上实现,譬如手机、平板计算机、智能眼镜或头盔等。初始化扩增实境系统主要包括两方面:1.摄像头的校准及初始化,用于获取真实场景图像,初始化摄像头具体指将摄像头的焦距和形变等内部固有参数读取到内存中;2.扩增实境系统读取实现技术需要的预存好的本地数据,包括目标标志物文件,3D模型的信息。

步骤2)通过摄像头获取一个真实场景的图像。

检测图像内是否含有目标标志物,若有流程继续进行,否则重新获取图像与检测。

建立目标标志物在摄像头中的屏幕坐标与目标标志物在真实场景中的位姿坐标的2D-3D位姿矩阵,确定3D模型在屏幕中的摆放位置、大小,以及在每一维上的旋转角度,然后用3D引擎画出带动画的3D模型。

将跟踪组的点在真实场景中的位姿坐标根据2D-3D位姿矩阵投影到屏幕上的二维坐标系。

当读入的影像大于两帧,利用前两帧位姿矩阵计算一个预测矩阵,并将跟踪组的点通过预测矩阵投影到屏幕上。

进行模板匹配,找到跟踪组的点在当前帧对应的坐标,并计算新的位姿矩阵和目标标志物的当前状态,若匹配到的点不足,则三维模型消失,重新获取真实场景的图像。

利用卡尔曼滤波器优化当前帧的位姿矩阵,并根据该矩阵更新三维模型的位姿,具体优化方法为对之前的数帧位姿矩阵进行加权,之后对当前帧求得的新的位姿矩阵做最优化估计处理。

持续以上步骤直至扩增实境系统结束。

实施例2

基于实施例1,本实施例公开实施例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、对所有的子节点依次排序标号,生成图像数据库的树状模型。

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

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

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

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

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

按上述步骤方法生成了云端图像数据库,扩增实境系统需要对图像进行识别时,通过上传目标图像的ORB描述子序列,云端图像数据库接收到目标图像的ORB描述子序列后利用检索词汇树的检索算法对图像进行匹配并返回编号结果。

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

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