CN107341151A - 图像检索数据库生成方法、增强现实的方法及装置 - Google Patents
图像检索数据库生成方法、增强现实的方法及装置 Download PDFInfo
- Publication number
- CN107341151A CN107341151A CN201610278977.9A CN201610278977A CN107341151A CN 107341151 A CN107341151 A CN 107341151A CN 201610278977 A CN201610278977 A CN 201610278977A CN 107341151 A CN107341151 A CN 107341151A
- Authority
- CN
- China
- Prior art keywords
- image
- cluster
- characteristic point
- data set
- retrieval result
- 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.)
- Granted
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/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种图像检索数据库生成方法、增强现实的方法及装置,对样本图像进行第一次尺度变换,将经过所述第一次尺度变换后的样本图像进行多分辨率分析处理,再将所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第一特征数据集;对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇及其每个簇的聚类中心特征点的特征描述信息;对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇及其每个簇的聚类中心特征点的特征描述信息;将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述样本图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
Description
技术领域
本发明涉及计算机视觉技术领域,尤其涉及一种图像检索数据库生成方法、增强现实的方法及装置。
背景技术
增强现实技术(Augmented Reality,AR)借助计算机图形技术和可视化技术生成现实环境中不存在的虚拟对象,并通过图像识别定位技术将虚拟对象准确地融合到真实环境中,借助显示设备将虚拟对象与真实环境融为一体,并呈现给使用者真实的感观体验。增强现实技术要解决的首要技术难题是如何将虚拟对象准确地融合到真实世界中,也就是要使虚拟对象以正确的角度姿态出现在真实场景的正确位置上,从而产生强烈的视觉真实感。
现有的增强现实技术通常是根据少量(一般只有不到10个)本地模板数据的匹配对要进行增强现实显示的数据进行初始化,然后以对应的目标图像进行增强显示,其中,所有目标图像都需要用户自己选定并在特定的客户端上传并生成对应的模板数据,由此可知,由模板数据是根据目标图像而生成的,且生成的模板数据的数量过少,使得模板数据与目标图像的匹配度较低,从而使得与模板数据对应的虚拟对象不能在真实场景中进行精确的定位,导致虚拟对象在真实场景中的叠加融合存在偏差的问题。
发明内容
本发明的目的是提供一种图像检索数据库生成方法、增强现实的方法及装置,能够有效提高目标图像和样本图像的匹配度,使得虚拟对象能够在真实场景中进行精确的定位,降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
为了实现上述发明目的,本发明提供了一种图像检索数据库生成方法,包括:
对样本图像进行第一次尺度变换,将经过所述第一次尺度变换后的样本图像进行多分辨率分析处理,再将所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述样本图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
可选的,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数。
可选的,在所述对样本图像进行第一次尺度变换之后,所述方法还包括:
控制经过所述第一次尺度变换后的每个样本图像的长边的像素数为第一预设像素数。
可选的,所述N个簇中的每个簇中特征点的数量均在第一预设范围阈值内。
可选的,所述对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇,具体为:
对所述第一特征数据集中的各个特征点进行聚类分析,获取K个簇,其中,K为正整数;
针对K个簇中的每个簇,执行以下步骤:
判断簇中特征点的数量是否在第一预设范围阈值内;
若该簇中特征点的数量大于所述第一预设范围阈值的最大值,则拆分该簇,并控制拆分后的每个簇中特征点的数量在所述第一预设范围阈值内;
若该簇中特征点的数量小于所述第一预设范围阈值的最小值,则删除该簇,将该簇中的所有特征点重新选择所属簇,并控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;
在对所述K个簇中的每个簇执行上述步骤之后,获取到所述N个簇。
可选的,所述获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息,具体为:
针对N个簇中的每个簇,执行以下步骤:
将簇中每个特征点的P维描述向量进行归一化处理;
将归一化处理后的每个特征点中对应的第i维向量进行累加,将累加得到的新P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;
对该簇中所有特征点的P维描述向量的模的倒数之和进行平均,将获取的第一平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;
根据所述新P维描述向量和所述第一平均值,获取该簇的聚类中心特征点的特征描述信息;
在对N个簇中的每个簇执行上述步骤之后,获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息。
可选的,所述将所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息,具体为:
将所述多分辨率分析处理后的样本图像采用ORB算法进行特征提取,提取所述第一特征数据集。
可选的,所述将所述多分辨率分析处理后的样本图像采用ORB算法进行特征提取,提取所述第一特征数据集,具体为:
将所述多分辨率分析处理后的样本图像采用Fast算法、Sift算法或Surf算法进行特征提取,将提取出来的H个特征点统一到同一坐标系中,并记录所述H个特征点中的每个特征点在同一坐标***中的坐标信息作为每个特征点的位置信息,其中,H为大于1的正整数;
采用ORB算法提取所述H个特征点中的每个特征点的特征描述信息和方向;
根据所述H个特征点中的每个特征点的位置信息、所述第一次尺度变换对应的尺度、特征描述信息和方向,提取所述第一特征数据集。
可选的,所述第一特征数据集中的每个特征点在图像区域内的位置信息包括每个特征点在同一维度下的不同坐标系中的坐标信息。
可选的,所述M个簇中的每个簇中聚类中心特征点的数量均在第二预设范围阈值内,所述M在第三预设范围阈值内。
可选的,所述对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇,具体为:
对所述N个簇进行S次聚类分析,获取所述M个簇,其中,S为正整数,且每次聚类分析获得的簇组中的聚类中心特征点的数量均在所述第二预设范围阈值内。
可选的,所述对所述N个簇进行S次聚类分析,获取所述M个簇,具体为:
在j=1时,对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取第1个簇组;
在j>1时,对第(j-1)个簇组中的每个簇的聚类中心特征点进行聚类分析,获得第j个簇组,其中,所述第(j-1)个簇组为在对所述N个簇进行(j-1)次聚类分析而获得的簇组,j依次取1到S的整数;
在j=S时,获得第S个簇组,其中,所述第S个簇组中的所有簇为所述M个簇,且所述M的值在所述第三预设范围阈值内。
可选的,所述获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息,具体为:
针对M个簇中的每个簇,执行以下步骤:
将簇中每个聚类中心特征点的P维描述向量进行归一化处理;
将归一化处理后的每个聚类中心特征点中对应的第i维向量进行累加,将累加得到的初P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;
对该簇中所有聚类中心特征点的P维描述向量的模的倒数之和进行平均,将获取的第二平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;
根据所述初P维描述向量和所述第二平均值,获取该簇的聚类中心特征点的特征描述信息;
在对M个簇中的每个簇执行上述步骤之后,获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
可选的,所述方法还包括:
对样本图像进行第二次尺度变换,将经过所述第二次尺度变换后的样本图像进行特征提取,提取出来的第二特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
根据所述第二特征数据集中的每个特征点,构建与所述样本图像对应的Delaunay三角形网络;
将所述第二特征数据集和所述Delaunay三角形网络对应的三角形数据存储在所述图像检索数据库中且与所述样本图像对应。
可选的,在所述对样本图像进行第二次尺度变换之后,所述方法还包括:
控制经过所述第二次尺度变换后的每个样本图像的长边的像素数为第二预设像素数。
可选的,所述方法还包括:
获取所述多分辨率分析处理后的样本图像的样本图像数据;
再次对所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第三特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息,其中,所述第三特征数据集中的特征点的数量与所述第一特征数据集中的特征点的数量不同;
将所述样本图像数据和所述第三特征数据集存储在所述图像检索数据库中且与所述样本图像对应。
可选的,所述第三特征数据集中的每个特征点的位置信息包括每个特征点在不同维度坐标系中的坐标信息。
本申请的第二方面,本发明还提供了一种图像检索数据库生成装置,包括:
第一特征数据集提取单元,用于对样本图像进行第一次尺度变换,将经过所述第一次尺度变换后的样本图像进行多分辨率分析处理,再将所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
第一簇组获取单元,用于对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
第二簇组获取单元,对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
数据存储单元,用于将节点数据所述第一特征数据集和节点数据存储在图像检索数据库中且与所述样本图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
可选的,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数。
可选的,所述生成装置还包括:
第一像素控制单元,用于在所述对样本图像进行第一次尺度变换之后,控制经过所述第一次尺度变换后的每个样本图像的长边的像素数为第一预设像素数。
可选的,所述N个簇中的每个簇中特征点的数量均在第一预设范围阈值内。
可选的,所述第一特征数据集提取单元,具体用于对所述第一特征数据集中的各个特征点进行聚类分析,获取K个簇,其中,K为正整数;针对K个簇中的每个簇,执行以下步骤:判断簇中特征点的数量是否在第一预设范围阈值内;若该簇中特征点的数量大于所述第一预设范围阈值的最大值,则拆分该簇,并控制拆分后的每个簇中特征点的数量在所述第一预设范围阈值内;若该簇中特征点的数量小于所述第一预设范围阈值的最小值,则删除该簇,将该簇中的所有特征点重新选择所属簇,并控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;在对所述K个簇中的每个簇执行上述步骤之后,获取到所述N个簇。
可选的,所述第一特征数据集提取单元还包括:
第一特征描述信息获取子单元,具体用于针对N个簇中的每个簇,执行以下步骤:将簇中每个特征点的P维描述向量进行归一化处理;将归一化处理后的每个特征点中对应的第i维向量进行累加,将累加得到的新P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;对该簇中所有特征点的P维描述向量的模的倒数之和进行平均,将获取的第一平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;根据所述新P维描述向量和所述第一平均值,获取该簇的聚类中心特征点的特征描述信息;在对N个簇中的每个簇执行上述步骤之后,获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息。
可选的,所述第一特征数据集提取单元,具体用于将所述多分辨率分析处理后的样本图像采用ORB算法进行特征提取,提取所述第一特征数据集。
可选的,所述第一特征数据集提取单元,具体用于将所述多分辨率分析处理后的样本图像采用Fast算法、Sift算法或Surf算法进行特征提取,将提取出来的H个特征点统一到同一坐标系中,并记录所述H个特征点中的每个特征点在同一坐标***中的坐标信息作为每个特征点的位置信息,其中,H为大于1的正整数;采用ORB算法提取所述H个特征点中的每个特征点的特征描述信息和方向;根据所述H个特征点中的每个特征点的位置信息、所述第一次尺度变换对应的尺度、特征描述信息和方向,提取所述第一特征数据集。
可选的,所述第一特征数据集中的每个特征点在图像区域内的位置信息包括每个特征点在同一维度下的不同坐标系中的坐标信息。
可选的,,所述M个簇中的每个簇中聚类中心特征点的数量均在第二预设范围阈值内,所述M在第三预设范围阈值内。
可选的,所述第二簇组获取单元,具体用于对所述N个簇进行S次聚类分析,获取所述M个簇,其中,S为正整数,且每次聚类分析获得的簇组中的聚类中心特征点的数量均在所述第二预设范围阈值内。
可选的,所述第二簇组获取单元,还用于在j=1时,对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取第1个簇组;在j>1时,对第(j-1)个簇组中的每个簇的聚类中心特征点进行聚类分析,获得第j个簇组,其中,所述第(j-1)个簇组为在对所述N个簇进行(j-1)次聚类分析而获得的簇组,j依次取1到S的整数;在j=S时,获得第S个簇组,其中,所述第S个簇组中的所有簇为所述M个簇,且所述M的值在所述第三预设范围阈值内。
可选的,所述第二簇组获取单元,还包括:
第二特征描述信息获取子单元,用于针对M个簇中的每个簇,执行以下步骤:将簇中每个聚类中心特征点的P维描述向量进行归一化处理;将归一化处理后的每个聚类中心特征点中对应的第i维向量进行累加,将累加得到的初P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;对该簇中所有聚类中心特征点的P维描述向量的模的倒数之和进行平均,将获取的第二平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;根据所述初P维描述向量和所述第二平均值,获取该簇的聚类中心特征点的特征描述信息;在对M个簇中的每个簇执行上述步骤之后,获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
可选的,所述生成装置还包括:
第二特征数据集提取单元,用于对样本图像进行第二次尺度变换,将经过所述第二次尺度变换后的样本图像进行特征提取,提取出来的第二特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
三角形网络构建单元,用于根据所述第二特征数据集中的每个特征点,构建与所述样本图像对应的Delaunay三角形网络;
所述数据存储单元,还用于将所述第二特征数据集和所述Delaunay三角形网络对应的三角形数据存储在所述图像检索数据库中且与所述样本图像对应。
可选的,所述生成装置还包括:
第二像素控制单元,用于在所述对样本图像进行第二次尺度变换之后,控制经过所述第二次尺度变换后的每个样本图像的长边的像素数为第二预设像素数。
可选的,所述生成装置还包括:
图像数据获取单元,用于获取所述多分辨率分析处理后的样本图像的样本图像数据;
第三特征数据集提取单元,用于再次对所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第三特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息,其中,所述第三特征数据集中的特征点的数量与所述第一特征数据集中的特征点的数量不同;
所述数据存储单元,还用于将所述样本图像数据和所述第三特征数据集存储在所述图像检索数据库中且与所述样本图像对应。
可选的,所述第三特征数据集中的每个特征点的位置信息包括每个特征点在不同维度坐标系中的坐标信息。
本申请的第三方面,本发明还提供了一种图像检索数据库,该数据库内存储有若干样本图像的内容数据,每个样本图像的内容数据包括:第一特征数据集和节点数据,其中,所述第一特征数据集是将样本图像进行第一次尺度变换后进行多分辨率分析处理,再将所述多分辨率分析处理后的样本图像进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;所述节点数据包括N个簇和M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息,其中,所述N个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述第一特征数据集中的各个特征点进行聚类分析而获得的,其中,N为正整数;所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述N个簇中的每个簇的聚类中心特征点进行聚类分析而获得的,其中,M为正整数,且M不大于N。
可选的,每个样本图像的内容数据还包括:第二特征数据集和Delaunay三角形网络数据,其中,所述第二特征数据集是将样本图像进行第二次尺度变换后进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;所述Delaunay三角形网络数据是对所述第二特征数据集中的所有特征点进行Delaunay三角剖分处理而得到的数据。
可选的,每个样本图像的内容数据还包括:第三特征数据集和样本图像数据,其中,所述第三特征数据集是再次对所述多分辨率分析处理后的样本图像进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;所述样本图像数据是将所述多分辨率分析处理后的样本图像的图像数据;所述第三特征数据集中的特征点的数量与所述第一特征数据集中的特征点的数量不同。
本申请的第四方面,本发明还提供了一种实现增强现实的方法,包括:
实时采集包含目标图像的环境场景图像;
通过图像检索获取所述目标图像对应的检索结果图像,以及获取与所述检索结果图像对应的虚拟对象;
对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态;
以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在所述当前帧图像之前;
根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在所述环境场景图像中进行显示。
可选的,所述以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,具体为:
利用所述初始姿态对当前帧图像的姿态进行跟踪;
再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
可选的,所述以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,具体为:
检测跟踪到的图像的帧数是否超过预设帧数;
若跟踪到帧数未超过所述预设帧数,则根据前一帧图像的姿态对当前帧图像的姿态进行跟踪;
若跟踪到的帧数超过所述预设帧数,则根据前T帧图像的姿态对当前帧图像中的姿态进行预测,根据预测结果进行跟踪,其中,所述前T帧图像与当前帧图像相邻,且T不小于2且不大于所述预设帧数。
可选的,所述通过图像检索获取所述目标图像对应的检索结果图像,具体为:
通过图像检索获取所述目标图像对应的图像检索结果;
若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;
若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像。
可选的,所述若所述图像检索结果包括多个检索结果图像,则从所述检索结果图像中获取特定检索结果图像,具体为:
若所述图像检索结果包括多个检索结果图像,则采用排错方法对所述多个检索结果图像进行排错,根据排错结果,从所述图像检索结果中获取与所述目标图像匹配的匹配检索结果图像集;
从所述匹配检索结果图像集中获取所述特定检索结果图像。
本申请的第五方面,本发明还提供了一种增强现实装置,包括:
图像采集单元,用于实时采集包含目标图像的环境场景图像;
检索结果图像获取单元,用于通过图像检索获取所述目标图像对应的检索结果图像,
虚拟对象获取单元,用于获取与所述检索结果图像对应的虚拟对象;
目标图像数据集获取单元,用于对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
初始姿态获取单元,用于从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态;
当前帧图像姿态跟踪单元,用于以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在所述当前帧图像之前;
虚拟对象叠加单元,用于根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在所述环境场景图像中进行显示。
可选的,所述当前帧图像姿态跟踪单元,具体用于利用所述初始姿态对当前帧图像的姿态进行跟踪;再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
可选的,所述增强现实装置还包括:
检测单元,用于检测跟踪到的图像的帧数是否超过预设帧数;
所述当前帧图像姿态跟踪单元,还用于在跟踪到帧数未超过所述预设帧数时,根据前一帧图像的姿态对当前帧图像的姿态进行跟踪;以及在跟踪到的帧数超过所述预设帧数时,根据前T帧图像的姿态对当前帧图像中的姿态进行预测,根据预测结果进行跟踪,其中,所述前T帧图像与当前帧图像相邻,且T不小于2且不大于所述预设帧数。
可选的,所述检索结果图像获取单元,具体用于通过图像检索获取所述目标图像对应的图像检索结果;若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像。
可选的,所述增强现实装置,还包括:
排错单元,用于在所述图像检索结果包括多个检索结果图像时,采用排错方法对所述多个检索结果图像进行排错;
匹配检索结果图像集获取单元,用于根据排错结果,从所述图像检索结果中获取与所述目标图像匹配的匹配检索结果图像集;
所述检索结果图像获取单元,还用于从所述匹配检索结果图像集中获取所述特定检索结果图像。
与现有技术相比,本发明具有如下有益效果:
本发明通过图像检索数据库中存储有样本图像的第一特征数据集和节点数据,且所述节点数据包括样本图像对应的N个簇和M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息,使得在对环境场景图像中的目标图像进行姿态匹配时,可以将采集到的目标图像与图像检索数据库中大量的样本图像进行图像检索,获取到与目标图像对应的检索结果图像,再将所述检索结果图像与目标图像进行姿态匹配,与现有技术相比,在大量样本图像中进行图像检索得到的检索结果图像与目标图像匹配度得以提高,在匹配度较高的情况下,使得与检索结果图像对应的虚拟对象能够在真实场景中进行精确的定位,降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
进一步的,在进行姿态匹配时,可以从图像检索数据库中直接读取检索结果图像的节点数据和第一特征数据集与目标图像的特征点数据集进行姿态匹配,而无需通过计算来获取样本图像的相应的数据与目标图像进行姿态匹配,如此,能够有效降低计算量,缩短姿态匹配的时间,提高姿态匹配的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图:
图1为本发明一个实施例中图像检索数据库生成方法的流程图;
图2为本发明一个实施例中获取N个簇中的每个簇的聚类中心特征点的特征描述信息的方法流程图;
图3为本发明一个实施例中一个特征点集示意图;
图4为本发明一个实施例中获取N个簇的方法流程图;
图5为本发明一个实施例中提取第一特征数据集的方法流程图;
图6为本发明一个实施例中获取M个簇的方法流程图;
图7为本发明一个实施例中图像检索数据库生成装置的结构示意图;
图8为本发明一个实施例中图像检索数据库的结构示意图;
图9为本发明一个实施例中实现增强现实的方法的流程示意图;
图10为本发明一个实施例中图像检索排错方法的第一种流程示意图;
图11为本发明一个实施例中图像检索排错方法的第二种流程示意图;
图12为本发明一个实施例中检索结果图像和目标图像中的对应匹配特征点位置示意图。
图13为本发明一个实施例中增强现实装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明采用Delaunay三角形网络来表征图像特征点集的内部关系,利用Delaunay三角形网络的唯一性特性对检索结果进行排错(校正),将算法上正确(满足约束条件的底线),但人类认知上会判定为错误的检索结果剔除。
首先介绍一下Delaunay三角形网络:Delaunay三角形网络是对点集进行Delaunay三角剖分而形成的网络,要满足Delaunay三角剖分的定义,必须符合两个重要的准则:
1)空圆特性:Delaunay三角网是唯一的(任意四点不能共圆),在Delaunay三角形网中任一三角形的外接圆范围内不会有其它点存在;
2)最大化最小角特性:在散点集可能形成的三角剖分中,Delaunay三角剖分所形成的三角形的最小角最大。从这个意义上讲,Delaunay三角网是“最接近于规则化的“的三角网。具体的说是指在两个相邻的三角形构成凸四边形的对角线,在相互交换后,六个内角的最小角不再增大。
Delaunay三角网络具备如下优异特性:
1)最接近:以最近的三点形成三角形,且各线段(三角形的边)皆不相交;
2)唯一性:不论从区域何处开始构建,最终都将得到一致的结果;
3)最优性:任意两个相邻三角形形成的凸四边形的对角线如果可以互换的话,那么两个三角形六个内角中最小的角度不会变大;
4)最规则:如果将三角网中的每个三角形的最小角进行升序排列,则Delaunay三角网的排列得到的数值最大;
5)区域性:新增、删除、移动某一个顶点时只会影响临近的三角形;
6)具有凸多边形的外壳:三角网最外层的边界形成一个凸多边形的外壳。
其中,本发明方案需要专用方法生成专用的图像检索数据库,所述图像检索数据库中存储有与样本图像对应的Delaunay三角形网络,利用匹配特征点对集合获取目标图像和检索结果图像的Delaunay三角形网络进行对比,由于Delaunay三角形网络的唯一性特性,利用对比结果来对检索结果图像进行排错(校正),将算法上正确(满足约束条件的底线),但人类认知上会判定为错误的检索结果剔除,使得校正后的检索结果图像的准确度更高,进而降低检索结果图像与目标图像不匹配的概率,进一步提高目标图像和检索结果图像的匹配度,使得与检索结果图像对应的虚拟对象能够在真实场景中进行更精确的定位,进一步降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
进一步的,由于图像检索数据库中存储有检索结果图像对应的Delaunay三角形网络,使得在进行Delaunay三角形网络进行对比时,可以直接从图像检索数据库中读取检索结果图像对应的Delaunay三角形网络,然后利用匹配特征点对集合来调整Delaunay三角形网络,再将调整后的匹配Delaunay三角形网络与目标数据的Delaunay三角形网络进行比对,使得获取匹配Delaunay三角形网络的计算量变小,从而能够有效缩短时间,从而提高对比的效率,以及在匹配特征点对集合的匹配效率和Delaunay三角形网络对比的效率都提高的基础上,能够有效缩短检索校正的时间,进而提高检索校正的效率。
下面具体介绍本发明中图像检索数据库生成方法,在第一实施例中,参见图1、其包括如下步骤:
S101、对样本图像进行第一次尺度变换,将经过所述第一次尺度变换后的样本图像进行多分辨率分析处理,再将所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
S102、对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
S103、对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
S104、将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述样本图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
其中,在步骤S101中,可以通过统一尺寸处理或仿射变换等方法对所述样本图像进行所述第一次尺度变换,例如以尺度为512×860的a样本图像为例,将a样本图像通过统一尺寸处理之后得到a样本图像的尺度为320×512。
在具体实施过程中,可以通过统一尺寸处理或仿射变换等方法对所述样本图像进行所述第一次尺度变换,以及在将所述样本图像进行所述第一次尺度变换之后,将经过所述第一次尺度变换后的样本图像进行多分辨率分析(Multi-resolution Analysis,简称MRA)处理,再将所述多分辨率分析处理后的样本图像进行特征提取,例如可以采用基于尺度不变的特征提取方法,如ORB,SIFT,SURF等算法对经过所述多分辨率分析处理后的样本图像进行特征提取,使得提取出来的所述第一特征数据集包括所述样本图像中的每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量,特征点的位置信息可以用二维坐标表示,尺度是对样本图像进行所述第一次尺度变换对应的尺度,方向通常可以为0~1023的方向信息。
当然,所述第一特征数据集中每个特征点的特征描述信息还可以包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数,例如所述第一特征数据集中的一个特征点的特征描述信息可以包括一组36个字符(char)数据组成的36维描述子和一个4字节浮点(float)数据表示的36维向量的模的倒数,其中,P=36,当然P还可以为24、32、64、128等值,本申请不作具体限制。
其中,所述样本图像通常为多个,例如可以是百万、千万、亿、十亿的数量级,每一个样本图像对应一个第一特征数据集,例如以a样本图像为例,a对应名称为a1的第一特征数据集,其中,a1中包含通过特征提取方法提取到a样本图像所对应的所有特征点的位置信息、尺度、方向和特征描述信息。
具体来讲,所述将经过所述第一次尺度变换后的样本图像进行多分辨率分析处理,例如可以是将经过所述第一次尺度变换后的样本图像生成金字塔图像,在生成金字塔图像时,可以以1/2的比例向下生成4层金字塔图像,然后用fast特征检测算法提取对应四层金字塔样本图像中的特征点,然后将各层金字塔图像中的特征点坐标统一到同一坐标系中,当然生成金字塔图像的层数还可以为2、3和5等值,进一步的,所述比例也可以取1/3、1/4和2/5等值,且也可以是向上生成多层金字塔图像,对此本申请不作具体限制。当然,所述多分辨率分析还可以是采用马拉特(Mallat)算法分析。
在另一实施例中,在所述对样本图像进行第一次尺度变换之后,以及在将经过所述第一次尺度变换后的样本图像进行特征提取之前,所述方法还包括:控制经过所述第一次尺度变换后的每个样本图像的长边的像素数为第一预设像素数,其中,所述第一预设像素数可以根据实际情况来设定,例如在服务器端的硬件设备的性能较高时,可以将所述第一预设像素数的值设定的较高;以及在服务器端的硬件设备的性能较低时,可以将所述第一预设像素数的值设定的较低;还可以根据服务器端的硬件设备的性能和计算量来设定所述第一预设像素数,以使得在确保经过所述第一次尺度变换后的样本图像的精度和计算量均处于合适的范围,从而能够在确保检索准确性的前提下使得检索效率也得到提高。
当然,还可以在进行所述第一次尺度变换的过程中或之前,就预先设定经过所述第一次尺度变换后的每个样本图像的长边的像素数为第一预设像素数,从而使得经过所述第一次尺度变换后直接得到的每个样本图像的长边的像素数均为所述第一预设像素数。
当然,在所述对样本图像进行第一次尺度变换之后,还可以控制经过所述第一次尺度变换后的每个样本图像的尺度相同。
接下来执行步骤S102,在该步骤中,在所述样本图像为多个时,需要分别对每个样本图像的第二特征数据中的各特征点进行聚类分析,以获得每个样本图像对应的N个簇及其每个簇的聚类中心特征点的描述信息。
在具体实施过程中,可以通过k-means聚类算法、层次聚类算法或FCM聚类算法等聚类算法分别对每个样本图像的第二特征数据中的各特征点进行聚类分析,以获得每个样本图像对应的N个簇及其每个簇的聚类中心特征点的描述信息。
具体来讲,在通过聚类算法获取到所述N个簇之后,针对N个簇中的每个簇,参见图2,执行以下步骤:
S201、将簇中每个特征点的P维描述向量进行归一化处理。
在具体实施过程中,例如N个簇包括d1簇、d2簇和d3簇,则d1、d2和d3中的每一个簇均执行步骤S201-步骤S204,从而获得d1、d2和d3中的每一个簇的聚类中心特征点数据。
具体来讲,以d1簇为例,若d1簇中包含e1、e2、e3和e4这4个特征点,则对包含的4个特征点中的每个特征点的P维描述向量进行归一化处理。
S202、将归一化处理后的每个特征点中对应的第i维向量进行累加,将累加得到的新P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值。
具体来讲,以d1簇中包含e1、e2、e3和e4为例,获取d1簇中的聚类中心特征点的P维描述向量,其中,归一化处理后的每个特征点中对应的第i维向量用第{i}为向量表示,例如e1第1维向量经过归一处理后为e1第{1}维向量,基于此,在i=1时,d1簇中的聚类中心特征点的P维描述向量中第1维描述向量为e1第{1}维向量、e2第{1}维向量、e3第{1}维向量和e4第{1}维向量之和;以及在i=2时,d1簇中的聚类中心特征点的P维描述向量中第2维描述向量为e1第{2}维向量、e2第{2}维向量、e3第{2}维向量和e4第{2}维向量之和,同理,可以在i依次取1-P的值,即可获取到d1新的P维描述向量作为d1簇中的聚类中心特征点的P维描述向量;与获取d1簇中的聚类中心特征点的P维描述向量的方法相同依次获取所述N个簇中的每个簇的聚类中心特征点的P维描述向量。
S203、对该簇中所有特征点的P维描述向量的模的倒数之和进行平均,将获取的第一平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数。
具体来讲,以d1簇中包含e1、e2、e3和e4为例,e1的P维描述向量的模的倒数表示为|e1|,相应的e2、e3和e4的P维描述向量的模的倒数分别用|e2|、|e3|和|e4|,从而可以获取到d1簇的聚类中心特征点的P维描述向量的模的倒数为(|e1|+|e2|+|e3|+|e4|)/4。
S204、根据所述新P维描述向量和所述第一平均值,获取该簇的聚类中心特征点的特征描述信息。
具体来讲,根据步骤S202和S204获取到的所述新的维描述向量和所述第一平均值,获取该簇的聚类中心特征点的特征描述信息,其中,该簇的聚类中心特征点的特征描述信息包括所述新的维描述向量和所述第一平均值,例如以d1簇为例,d1簇的聚类中心特征点的特征描述信息包括d1新的P维描述向量和(|e1|+|e2|+|e3|+|e4|)/4。
S205、在对N个簇中的每个簇执行上述步骤之后,获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息。
具体来讲,在对所述N个簇中的每个簇执行步骤S201-S204之后,从而可以获取到所述N个簇中的每个簇的聚类中心特征点的特征描述信息。
当然,在所述第一特征数据集中的每个特征点只包括P维描述向量时,对所述N个簇中的每个簇只需要执行步骤S201-S202之后,即可获取到所述N个簇中的每个次的聚类中心特征点的特征描述信息。
在执行步骤S102之后,执行步骤S103,在该步骤中,采用k-means聚类算法、层次聚类算法或FCM聚类算法等聚类算法对所述N个簇中的每个簇的聚类中心特征点进行进一步的聚类,基于与步骤S102相同的方式来获取所述M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,在获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息具体可以参考步骤S201-S205,步骤S102中是针对的是所述N个簇中的每个簇中的特征点进行聚类分析,而在步骤S103中针对的是所述M个簇中的每个簇中的聚类中心特征点进行聚类分析。
具体的,例如N个簇包括d1簇、d2簇、d3簇和d4簇,在对所述N个簇中的每个簇的聚类中心特征点进行聚类分析之后,得到所述M个簇中的第一个簇包括d1簇的聚类中心特征点和d2簇的聚类中心特征点和第二个簇包括d3簇的聚类中心特征点和d4簇的聚类中心特征点,在获取所述第一个簇的特征描述信息时,对d1簇的聚类中心特征点和d2簇的聚类中心特征点执行步骤S201-S205,从而获取到所述第一个簇的聚类中心特征点的特征描述信息;同理,对d3簇的聚类中心特征点和d4簇的聚类中心特征点执行步骤S201-S205,从而获取到所述第二个簇的聚类中心特征点的特征描述信息。
具体的,在获取到所述N个簇和所述M个簇之后,将所述N个簇和所述M个簇组成所述节点数据。
接下来执行步骤S104,在该步骤中,根据步骤S102-S103获取所述节点数据,然后将所述第一特征数据集和所述节点数据存储在所述图像检索数据库中且与所述样本图像对应。
具体来讲,可以根据步骤S102-S103获取到的所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息组成所述节点数据。
具体的,例如a样本图像为例,a对应名称为a1的第一特征数据集,则将名称为a1的第一特征数据集存储在所述图像检索数据库中,并将名称为a1的第一特征数据集与a对应,同理,在将a对应的节点数据存储在图像数据库中与也a对应,使得通过查找a即可查找到与a对应的名称为a1的第一特征数据集和节点数据。
由于本发明生成的图像检索数据库中可以存储数以百万计、千万计的样本图像的第一特征数据集和节点数据,可以将采集到的目标图像与图像检索数据库中大量的样本图像进行图像检索,使得获取到与目标图像对应的检索结果图像与目标图像的匹配度更高,匹配度较高的情况下,使得与检索结果图像对应的虚拟对象能够在真实场景中进行精确的定位,降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
进一步的,在进行姿态匹配时,可以从图像检索数据库中直接读取检索结果图像的节点数据和第一特征数据集与目标图像的特征点数据集进行姿态匹配,而无需通过计算来获取检索结果图像的相应的数据与目标图像进行姿态匹配,如此,能够有效降低计算量,缩短姿态匹配的时间,提高姿态匹配的效率。
在另一实施例中,为了使得检索结果图像与目标图像的匹配度更高,从而进一步使得与检索结果图像对应的虚拟对象能够在真实场景中进行精确的定位,进一步降低虚拟对象在真实场景中的叠加融合存在偏差的概率的效果,所述方法还包括:
A1、对样本图像进行第二次尺度变换,将经过所述第二次尺度变换后的样本图像进行特征提取,提取出来的第二特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
A2、根据所述第二特征数据集中的每个特征点,构建与所述样本图像对应的Delaunay三角形网络;
A3、将所述第二特征数据集和所述Delaunay三角形网络对应的三角形数据存储在所述图像检索数据库中且与所述样本图像对应。
其中,在步骤A1中,所述第二次尺度变换和所述第一次尺度变换不存在相关性,其中的第一次和第二次是为了表示本申请实施例中对样本图像进行了两次独立的尺度变换,以及方便引用和区分两次独立进行的尺度变换,其实质均是对样本图像进行尺度变换,并无其它实质上的区别。
进一步的,步骤A1可以在步骤S101之前执行,也可以与步骤S101同时执行,当然也可以在步骤S101之后执行,还可以在步骤S101和步骤S102之间执行,本申请不作具体限制。
在具体实施过程中,可以通过统一尺寸处理或仿射变换等方法对所述样本图像进行所述第二次尺度变换,例如以尺度为512×860的a样本图像为例,将a样本图像通过统一尺寸处理之后得到a样本图像的尺度为320×512。
具体来讲,在将所述样本图像进行所述第二次尺度变换之后,可以采用基于尺度不变的特征提取方法,如ORB,SIFT,SURF等算法对经过所述第二次尺度变换后的样本图像进行特征提取,使得提取出来的所述第二特征数据集包括所述样本图像中的每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息,特征描述信息可以为一个8字节的内容描述,特征点的位置信息可以用二维坐标表示,尺度是对样本图像进行所述第二次尺度变换对应的尺度,例如尺度为320×160,400×320等,特征点方向例如可以是一个0-1023的方向信息,其中,本申请实施例中的样本图像可以为二维(2D)图像和三维(3D)图像;在样本图像为3D图像时,所述样本图像为3D样本的表面纹理图像,本申请所有实施例中所有特征点的位置信息均必须用三维坐标表示;而在样本图像为2D图像时,本申请所有实施例中所有特征点的位置信息可以是用二维或三维坐标表示,其它实施方法相同。
具体来讲,所述样本图像通常为多个,例如可以是百万、千万、亿、十亿的数量级,每一个样本图像对应一个第二特征数据集,例如以a样本图像为例,a对应名称为a2的第二特征数据集,其中,a2中包含通过特征提取方法提取到a样本图像所对应的所有特征点的位置信息、尺度、方向和特征描述信息。
在另一实施例中,在所述对样本图像进行第二次尺度变换之后,以及在将经过所述第二次尺度变换后的样本图像进行特征提取之前,所述方法还包括:控制经过所述第二次尺度变换后的每个样本图像的长边的像素数为第二预设像素数,其中,所述第二预设像素数可以根据实际情况来设定,例如在服务器端的硬件设备的性能较高时,可以将所述第二预设像素数的值设定的较大,所述第二预设像素数例如为1024、2000、2048、2020等;以及在服务器端的硬件设备的性能较低时,可以将所述第二预设像素数的值设定的较小,例如为240、320、500、512等;还可以根据服务器端的硬件设备的性能和计算量来设定所述第二预设像素数,以使得在确保经过所述第二次尺度变换后的样本图像的精度和计算量均处于合适的范围,从而能够在确保检索准确性的前提下使得检索效率也得到提高。
具体来讲,例如将a样本图像进行第二次尺度变换后形成了图像A,且图像A的像素为:512×320,由于512>320,则确定图像A对应的长边的像素数为512;同理,还可以将b样本图像进行第二次尺度变换后形成了图像B,且图像B的像素为:512×360,由于512>360,则确定图像B对应的长边的像素数为512。
当然,还可以在进行所述第二次尺度变换的过程中或之前,就预先设定经过所述第二次尺度变换后的每个样本图像的长边的像素数为所述第二预设像素数,从而使得经过所述第二次尺度变换后直接得到的每个样本图像的长边的像素数均为所述第二预设像素数。
当然,在所述对样本图像进行第二次尺度变换之后,还可以控制经过所述第二次尺度变换后的每个样本图像的尺度相同,例如a样本图像经过所述第二次尺度变换后的图像A的尺度为512×320,以及b样本图像经过所述第二次尺度变换后的图像B的尺度为512×360。
接下来执行步骤A2,在该步骤中,可以对所述第二特征数据集中的各个特征点进行空间排序,并根据排序结果构建与所述样本图像对应的Delaunay三角形网络。
在具体实施过程中,针对每个样本图像对应的第二特征数据集中的各个特征点进行空间排序,以获得每个样本图像各自对应的Delaunay三角形网络。
具体来讲,所述空间排序例如可以为中值排序、***排序、三路划分排序等排序方法中的任一钟排序方法,以此来对所述第二特征数据集中的各个特征点进行排序,从而针对每一个样本图像,构建一个与该样本图像对应的Delaunay三角形网络,例如以a、b、c样本图像为例,根据a对应的名称为a1的第二特征数据集,构建一个与a对应的Delaunay三角形网络;以及根据b对应的名称为b1的第二特征数据集,构建一个与b对应的Delaunay三角形网络;以及根据c对应的名称为c1的第二特征数据集,构建一个与c对应的Delaunay三角形网络。
具体的,以所述空间排序为中值排序为例,所述中值排序指根据特征点在图像区域内的位置信息进行中值排序,具体为:将特征点集中特征点在x轴和y轴上直径最大/最小轴作为排序轴;计算构成该直径的两个特征点的中值,改变原特征点集使空间上位于中值左侧的特征点在数据集合中位于中值点左侧,右侧点位于中值点右侧;然后对左侧点构成的点集和右侧点构成的点集进行上述递归处理,直到中值一侧特征点数量小于2。其中x轴直径指特征点集中,各特征点的x坐标,最大值与最小值之差的绝对值;y轴直径指特征点集中,各特征点的y坐标,最大值与最小值之差的绝对值,参见图3,为一个点集,包括如下7个点:[(-2,2)(2.5,-5)(2,1)(-4,-1.5)(-7.5,2.5)(7,2)(1,-2.5)],这7个点组成的点集的x轴直径为14,y轴直径为7.5,假设中值排序时以xy轴周直径中较大者为排序轴,则第一次排序时,以x轴作为排序轴,中值为0,将(-7.5,2.5)、(-2,2)、(-4,-1.5)三个点排在中值点左侧,其他四个点放在中值点右侧。然后对左侧点集和右侧点集进行递归处理,即对左右侧点集重新寻找xy轴中直径较大轴,计算构成该直径的两个特征点的中值,改变原特征点集使空间上位于中值左侧的特征点在数据集合中位于中值点左侧,右侧点位于中值点右侧。
接下来执行步骤A3,在该步骤中,将所述第二特征数据集和所述三角形数据存储在所述图像检索数据库中且与所述样本图像对应,以使得在后续对图像检索结果进行排错时,直接从所述图像检索数据库中读取图像检索结果中的样本图像的三角形数据,以获取到Delaunay三角形网络与目标图像的Delaunay三角形网络进行比对,以降低实时计算量,缩短响应时间,进而提高用户的体验。
具体的,所述第二特征数据集和所述三角形数据存储方式具体参考第一特征数据集和节点数据的存储方式。
本实施例图像检索数据库生成方法,既可以在服务器端对大量样本图像进行处理生成对应的图像检索数据库,也能以添加的模式单张或成组地将新的样本图像添加进已有的图像检索数据库中。
本发明方案生成的图像检索数据库中存储有与样本图像对应的Delaunay三角形网络,可以利用匹配特征点对集合获取目标图像和检索结果图像的Delaunay三角形网络进行对比,由于Delaunay三角形网络的唯一性特性,使得在利用对比结果来对检索结果图像进行排错(校正),将算法上正确(满足约束条件的底线),但人类认知上会判定为错误的检索结果剔除,使得校正后的检索结果图像的准确度更高,进而降低检索结果图像与目标图像不匹配的概率,进一步提高目标图像和检索结果图像的匹配度,使得与检索结果图像对应的虚拟对象能够在真实场景中进行更精确的定位,进一步降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
在本申请的第二实施例中,为了降低计算量,缩短生成所述图像检索数据库的时间,进而提高图像检索数据库的生成效率,所述方法还包括:所述N个簇中的每个簇中特征点的数量均在第一预设范围阈值内。
在具体实施过程中,控制所述N个簇中的每个簇中特征点的数量均在第一预设范围阈值内,使得在后续获取所述N个簇中的每个簇的聚类中心特征点的特征描述时,不会由于所述N个簇中的某个簇中包含的特征点的数量大而导致计算时间过长,从而能够在一定程度上降低计算量,缩短生成所述图像检索数据库的时间,进而提高图像检索数据库的生成效率。
具体来讲,所述第一预设范围阈值可以根据实际情况来设定,例如在服务器端的硬件设备的性能较高时,可以将所述第一预设范围阈值的范围值设定的较大,所述第一预设范围阈值例如为80~100、120~150、180~200或220~260等;以及在服务器端的硬件设备的性能较低时,可以将所述第一预预设范围阈值的范围值设定的较小,例如为20~30、30~60或50~70等,以使得在计算N个簇中的每个簇的聚类中心特征点的特征描述时,其计算量与服务器端的硬件性能相匹配,使得运算的效率得以提高。
具体的,在所述N个簇中的每个簇中特征点的数量均在所述第一预设范围阈值内时,所述对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇,具体为:
对所述第一特征数据集中的各个特征点进行聚类分析,获取K个簇,其中,K为正整数;其中,可以通过k-means聚类算法、层次聚类算法或FCM聚类算法等聚类算法分别对每个样本图像的第二特征数据中的各特征点进行聚类分析,以获得每个样本图像对应的K个簇。
针对K个簇中的每个簇,参见图4,执行以下步骤:
S401、判断簇中特征点的数量是否在第一预设范围阈值内;
具体的,若d2簇中包含特征点的数量为30,而所述第一预设范围阈值为10~20,由于20<30,则执行步骤S402。
S402、若该簇中特征点的数量大于所述第一预设范围阈值的最大值,则拆分该簇,并控制拆分后的每个簇中特征点的数量在所述第一预设范围阈值内;
具体的,由于d2簇中包含特征点的数量为30,大于所述第一预设范围阈值中的最大值20,则拆分d2簇,控制拆分后的每个簇中特征点的数量在10~20,例如可以将d2簇拆分成2个簇,其中每个簇中包含15个特征点,当然也可以是一个簇中包含18个特征点,另一个簇中包含12个特征点;在拆分d2簇时,可以采用向量余弦夹角描述特征点与特征点之间的差异来进行拆分,在特征点与特征点之间的差异小于设定值,则将两个特征点设置在同一个簇中,通过这种方法可以将d2拆分成2个簇,其中,在特征点与特征点之间的差异的值越小,则两个特征点之间的差异也越小,所述设定值根据实际情况进行设定。
当然,还可以用欧氏距离等方法来描述特征点与特征点之间的差异,本申请对此不进行具体限制。
S403、若该簇中特征点的数量小于所述第一预设范围阈值的最小值,则删除该簇,将该簇中的所有特征点重新选择所属簇,并控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;
具体的,若d2簇中包含特征点的数量为30,而所述第一预设范围阈值为40~60,由于30<60,则执行步骤S403,则删除d2簇,将d2簇中包含的30个特征点重新选择所属簇,控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;在将d2簇中包含的30个特征点重新选择所属簇,可以采用向量余弦夹角或欧氏距离等方法描述特征点与特征点的差异,根据差异值来为将d2簇中包含的30个特征点中的每个特征点重新选择所属簇。
S404、在对所述K个簇中的每个簇执行上述步骤之后,获取到所述N个簇。
具体的,在对所述K个簇中每个簇执行步骤S401-S403之后,获取到所有簇作为所述N个簇,其中,所述N个簇中的每个簇的特征点数量均在所述第一预设范围内。
在本申请第三实施例中,本申请还提供了所述将所述多分辨率分析处理后的样本图像采用ORB算法进行特征提取,提取所述第一特征数据集的另一种实现方法,参见图5,具体为:
S501、将所述多分辨率分析处理后的样本图像采用Fast算法、Sift算法或Surf算法进行特征提取,将提取出来的H个特征点统一到同一坐标系中,并记录所述H个特征点中的每个特征点在同一坐标***中的坐标信息作为每个特征点的位置信息,其中,H为大于1的正整数;
具体来讲,将经过所述第一次尺度变换后的样本图像生成金字塔图像,在生成金字塔图像时,可以以1/4的比例向下生成4层金字塔图像,其中,最上层为第0层金字塔图像,依次向下为第1、2和3层金字塔图像;然后用fast特征检测算法提取对应四层金字塔图像中的特征点,然后将各层金字塔图像中的特征点坐标统一到同一坐标系中,例如可以以第0层金字塔图像的左上角为坐标原点,以坐标原点建立二维坐标系,根据建立的所述二维坐标系,将各层金字塔图像中的特征点坐标统一到第0层金字塔图像中,获取每个特征点在所述二维坐标系中的坐标信息具体可以用二维坐标(xI,yI)进行表示。
具体的,为了降低计算量和确保准确性,可以控制所述第一特征数据集中的特征点的数量即H不超出预设阈值,在使用Fast算法提取特征点中根据分值取数量不大于所述预设阈值的特征点,其中,所述预设阈值根据实际情况来设定,以及在根据分值取数量不大于所述预设阈值的特征点时,根据每个特征点的分值的大小,依次选取所述第一特征数据集中的特征点;当然也可以选取分值不小于预设分值的特征点,其中,所述预设分值可以随所述预设阈值实时调整,以使得选取的特征点的数量不大有所述预设阈值。
S502、采用ORB算法提取所述H个特征点中的每个特征点的特征描述信息和方向;
具体的,采用ORB算法提取所述H个特征点中的每个特征点的特征描述信息和方向,其中,所述H个特征点中的每个特征点的特征描述信息和方向包括该特征点的P维描述向量,方向通常可以为0~1023的方向信息。
当然,所述H个特征点中的每个特征点的特征描述信息还可以包括该特征点的P维描述向量和P维描述向量的模的倒数。
S503、根据所述H个特征点中的每个特征点的位置信息、所述第一次尺度变换对应的尺度、特征描述信息和方向,提取所述第一特征数据集。
具体的,在通过步骤S501-S502之后,获取到所述H个特征点中的每个特征点的位置信息、所述第一次尺度变换对应的尺度、特征描述信息和方向,从而可以提取到所述第一特征数据集,所述第一特征数据集包括所述H个特征点中的每个特征点的位置信息、所述第一次尺度变换对应的尺度、特征描述信息和方向。
在另一实施例中,所述第一特征数据集中的每个特征点在图像区域内的位置信息包括每个特征点在同一维度下的不同坐标系中的坐标信息,即所述第一特征数据集中的每个特征点的位置信息均可以使用二维坐标系进行存储,例如可以获取一个特征点在2个二维坐标系中的坐标信息,然后进行存储。当然也可以是3个、4个或5个等二维坐标系中的坐标信息,然后将其进行存储,以使得可以通过一个特征点存储的至少2个坐标信息来对该特征点的位置信息进行校正,以确保存储的每个特征点的位置信息的准确性。
具体来讲,首先可以以第0层金字塔图像的左上角为坐标原点,以坐标原点建立第一个二维坐标系,根据所述第一个二维坐标系,将各层金字塔图像中的特征点坐标统一到第0层金字塔图像中,获取每个特征点在所述第一个二维坐标系中的坐标信息具体可以用二维坐标(xI,yI)进行表示;还可以以第1层金字塔图像的左下角为坐标原点,然后建立第二个二维坐标系,将各层金字塔图像中的特征点坐标统一到第1层金字塔图像中,获取每个特征点在第二个二维坐标系中的坐标信息具体可以用二维坐标(xW,yW)进行表示。当然,还可以以不同层金字塔图像中的不同角为坐标原点,来建立多个二维坐标系;也可以以同层金字塔图像中的不同角为坐标原点,来建立多个二维坐标系,对此本申请不作具体限制。
在本申请第四实施例中,为了降低计算量,缩短生成所述图像检索数据库的时间,进而提高图像检索数据库的生成效率,所述方法还包括:所述M个簇中的每个簇中聚类中心特征点的数量均在第二预设范围阈值内,所述M在第三预设范围阈值内。
在具体实施过程中,控制所述M个簇中的每个簇中聚类中心特征点的数量均在第二预设范围阈值内,使得在后续获取所述M个簇中的每个簇的聚类中心特征点的特征描述时,不会由于所述M个簇中的某个簇中包含的特征点的数量大而导致计算时间过长,从而能够在一定程度上降低计算量,缩短生成所述图像检索数据库的时间,进而提高图像检索数据库的生成效率;而且所述M也在所述第三预设范围阈值内,能够进一步减少计算量,进一步的缩短生成所述图像检索数据库的时间,进而提高图像检索数据库的生成效率。
具体来讲,所述第二预设范围阈值和所述第三预设范围阈值均可以根据实际情况来设定,其设定方式参考所述第一预设范围阈值的设定方式,其中,所述第二预设范围阈值中的最大值可以小于所述第一预设范围阈值中的最小值,以及所述第三预设范围阈值中的最大值可以小于所述第一预设范围阈值中的最小值,例如在所述第一预设阈值为30~60时,所述第二预设范围阈值可以为5~15、10~20或15~25等;同理,所述第二预设范围阈值也可以为5~15、10~20或15~25等。
具体的,在所述M个簇中的每个簇中聚类中心特征点的数量均在第二预设范围阈值内,所述M在第三预设范围阈值内时,所述对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇,具体为:
对所述N个簇进行S次聚类分析,获取所述M个簇,其中,S为正整数,且每次聚类分析获得的簇组中的聚类中心特征点的数量均在所述第二预设范围阈值内,所述M在所述第三预设范围阈值内。
其中,每次聚类分析获得的簇组中的聚类中心特征点的数量均在所述第二预设范围阈值内,可以采用与步骤S401-S404相同的方法来实现,具体参考步骤S401-S404的实现方式,为了说明书的简洁,在此就不再赘述了。
在具体实施过程中,其中,可以通过k-means聚类算法、层次聚类算法或FCM聚类算法等聚类算法对所述N个簇进行S次聚类分析,获取所述M个簇。
具体来讲,所述对所述N个簇进行S次聚类分析,获取所述M个簇,参见图6,具体为:
S601、在j=1时,对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取第1个簇组;
具体的,可以通过k-means聚类算法、层次聚类算法或FCM聚类算法等聚类算法对所述N个簇进行第一次聚类;判断所述第1个簇组中簇的数量是否在所述第三预设范围阈值内,若大于所述第三预设范围阈值中的最大值,则对所述第1个簇组进行进一步的聚类,即执行步骤S602;若所述第1个簇组中簇的数量在所述第三预设范围阈值内,则确定所述第1个簇组中所有簇为所述M个簇,且S=1。
S602、在j>1时,对第(j-1)个簇组中的每个簇的聚类中心特征点进行聚类分析,获得第j个簇组,其中,所述第(j-1)个簇组为在对所述N个簇进行(j-1)次聚类分析而获得的簇组,j依次取1到S的整数;
具体的,在所述第1个簇组中簇的数量大于所述第三预设范围阈值中的最大值时,执行步骤S602;在j=2时,对所述第1个簇组中的每个簇的聚类中心特征点进行聚类分析,获得第2个簇组;对所述第2个簇组中簇的数量与所述第三预设范围阈值进行对比,若在所述第三预设范围阈值内,则确定所述第2个簇组中所有簇为所述M个簇,且S=2;若大于所述第三预设范围阈值中的最大值,则对所述第2个簇组进行进一步的聚类;针对每一次聚类得到的第j个簇组中簇的数量与所述第三预设范围阈值进行对比,直至获取到第S个簇组。
S603、在j=S时,获得第S个簇组,其中,所述第S个簇组中的所有簇为所述M个簇,且所述M的值在所述第三预设范围阈值内。
具体的,根据步骤S601-S602获取到j=S时,获得第S个簇组,其中,所述第S个簇组中的所有簇为所述M个簇,且所述M的值在所述第三预设范围阈值内。
在具体实施过程中,所述获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息,具体为:
针对M个簇中的每个簇,执行以下步骤:
S6011、将簇中每个聚类中心特征点的P维描述向量进行归一化处理;
具体的,例如M个簇包括d5簇、d6簇和d7簇,则d5、d6和d7中的每一个簇均执行步骤S6011-步骤S6014,从而获得d5、d6和d7中的每一个簇的聚类中心特征点数据;其具体实现方式参考步骤S201。
S6012、将归一化处理后的每个聚类中心特征点中对应的第i维向量进行累加,将累加得到的初P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;
具体的,其具体实现方式参考步骤S202。
S6013、对该簇中所有聚类中心特征点的P维描述向量的模的倒数之和进行平均,将获取的第二平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;
具体的,其具体实现方式参考步骤S203。
S6014、根据所述初P维描述向量和所述第二平均值,获取该簇的聚类中心特征点的特征描述信息;
具体的,其具体实现方式参考步骤S204。
S6015、在对M个簇中的每个簇执行上述步骤之后,获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
具体来讲,在对所述M个簇中的每个簇执行步骤S6011-S6014之后,从而可以获取到所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
当然,在所述第一特征数据集中的每个特征点只包括P维描述向量时,对所述M个簇中的每个簇只需要执行步骤S6011-S6012之后,即可获取到所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
另外,所述节点数据还可以包括对所述N个簇进行S次聚类分析过程中,每一次聚类分析获得的簇组中所有簇的聚类中心及每个聚类中心特征点的特征描述信息。
在本申请第五实施例中,所述方法还包括:
A11、获取所述多分辨率分析处理后的样本图像的样本图像数据;
在具体实施过程中,将经过所述第一次尺度变换后的样本图像生成金字塔图像,在生成金字塔图像时,可以以1/4的比例向下生成4层金字塔图像,则获取4层金字塔图像的图像数据,所述4层金字塔图像的图像数据为所述多分辨率分析处理后的样本图像的样本图像数据。
A12、再次对所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第三特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息,其中,所述第三特征数据集中的特征点的数量与所述第一特征数据集中的特征点的数量不同;
具体来讲,所述第三特征数据集中的特征点的数量可以大于所述第一特征数据集中的特征点的数量,即所述第三特征数据集中的特征点的数量大于H,在确定所述第三特征数据集中的特征点的数量是可以参考步骤S501中关于H的值的设定方式,只是所述三特征数据集中的特征点的数量要大于H。
当然,所述第三特征数据集中的特征点的数量可以小于所述第一特征数据集中的特征点的数量。
A13、将所述样本图像数据和所述第三特征数据集存储在所述图像检索数据库中且与所述样本图像对应。
具体来讲,在通过步骤A11-A12获取到所述样本图像数据和所述第三特征数据集之后,将所述样本图像数据和所述第三特征数据集存储在所述图像检索数据库中且与所述样本图像对应,以使得所述第一特征数据集出错之后,由于所述第三特征数据集中特征点的数量大于H,从而可以通过所述第三特征数据集对所述第一特征数据集进行校正,而无需重新执行步骤A1来获取所述第一特征数据集,能够有效降低计算量,且使得校正效率也得以提高。
具体的,所述第三特征数据集和所述样本图像数据存储方式具体参考第一特征数据集和节点数据的存储方式。
另外,本申请第一实施例可以与第二、第三、第四和第五实施例中的一个或多个进行组合,均可以解决本发明所要解决的技术问题;本申请第一实施例与第二、第三、第四和第五实施例中的一个或多个进行组合的技术方案均在本发明涵盖的范围之内。
参见图7,基于与上述图像检索数据库生成方法相似的技术构思,本发明的一实施例还提供了一种图像检索数据库生成装置,包括:
第一特征数据集提取单元701,用于对样本图像进行第一次尺度变换,将经过所述第一次尺度变换后的样本图像进行多分辨率分析处理,再将所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
第一簇组获取单元702,用于对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
第二簇组获取单元703,用于对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
数据存储单元704,用于将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述样本图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
具体的,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数。
具体的,所述生成装置还包括:第一像素控制单元,用于在所述对样本图像进行第一次尺度变换之后,控制经过所述第一次尺度变换后的每个样本图像的长边的像素数为第一预设像素数。
具体的,所述N个簇中的每个簇中特征点的数量均在第一预设范围阈值内。
具体的,第一特征数据集提取单元701,具体用于对所述第一特征数据集中的各个特征点进行聚类分析,获取K个簇,其中,K为正整数;针对K个簇中的每个簇,执行以下步骤:判断簇中特征点的数量是否在第一预设范围阈值内;若该簇中特征点的数量大于所述第一预设范围阈值的最大值,则拆分该簇,并控制拆分后的每个簇中特征点的数量在所述第一预设范围阈值内;若该簇中特征点的数量小于所述第一预设范围阈值的最小值,则删除该簇,将该簇中的所有特征点重新选择所属簇,并控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;在对所述K个簇中的每个簇执行上述步骤之后,获取到所述N个簇。
具体的,第一特征数据集提取单元701还包括:
第一特征描述信息获取子单元,具体用于针对N个簇中的每个簇,执行以下步骤:将簇中每个特征点的P维描述向量进行归一化处理;将归一化处理后的每个特征点中对应的第i维向量进行累加,将累加得到的新P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;对该簇中所有特征点的P维描述向量的模的倒数之和进行平均,将获取的第一平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;根据所述新P维描述向量和所述第一平均值,获取该簇的聚类中心特征点的特征描述信息;在对N个簇中的每个簇执行上述步骤之后,获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息。
具体的,第一特征数据集提取单元701,具体用于将所述多分辨率分析处理后的样本图像采用ORB算法进行特征提取,提取所述第一特征数据集。
具体的,第一特征数据集提取单元701,具体用于将所述多分辨率分析处理后的样本图像采用Fast算法、Sift算法或Surf算法进行特征提取,将提取出来的H个特征点统一到同一坐标系中,并记录所述H个特征点中的每个特征点在同一坐标***中的坐标信息作为每个特征点的位置信息,其中,H为大于1的正整数;采用ORB算法提取所述H个特征点中的每个特征点的特征描述信息和方向;根据所述H个特征点中的每个特征点的位置信息、所述第一次尺度变换对应的尺度、特征描述信息和方向,提取所述第一特征数据集。
具体的,所述第一特征数据集中的每个特征点在图像区域内的位置信息包括每个特征点在同一维度下的不同坐标系中的坐标信息。
具体的,所述M个簇中的每个簇中聚类中心特征点的数量均在第二预设范围阈值内,所述M在第三预设范围阈值内。
具体的,第二簇组获取单元703,具体用于对所述N个簇进行S次聚类分析,获取所述M个簇,其中,S为正整数,且每次聚类分析获得的簇组中的聚类中心特征点的数量均在所述第二预设范围阈值内。
具体的,第二簇组获取单元703,还用于在j=1时,对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取第1个簇组;在j>1时,对第(j-1)个簇组中的每个簇的聚类中心特征点进行聚类分析,获得第j个簇组,其中,所述第(j-1)个簇组为在对所述N个簇进行(j-1)次聚类分析而获得的簇组,j依次取1到S的整数;在j=S时,获得第S个簇组,其中,所述第S个簇组中的所有簇为所述M个簇,且所述M的值在所述第三预设范围阈值内。
具体的,所第二簇组获取单元703,还包括:
第二特征描述信息获取子单元,用于针对M个簇中的每个簇,执行以下步骤:将簇中每个聚类中心特征点的P维描述向量进行归一化处理;将归一化处理后的每个聚类中心特征点中对应的第i维向量进行累加,将累加得到的初P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;对该簇中所有聚类中心特征点的P维描述向量的模的倒数之和进行平均,将获取的第二平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;根据所述初P维描述向量和所述第二平均值,获取该簇的聚类中心特征点的特征描述信息;在对M个簇中的每个簇执行上述步骤之后,获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
具体的,所述图像检索数据库生成装置还包括:
图像数据获取单元,用于获取所述多分辨率分析处理后的样本图像的样本图像数据;
第三特征数据集点提取单元,用于再次对所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第三特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息,其中,所述第三特征数据集中的特征点的数量与所述第一特征数据集中的特征点的数量不同;
数据存储单元704,还用于将所述样本图像数据和所述第三特征数据集存储在所述图像检索数据库中且与所述样本图像对应。
具体的,所述第三特征数据集中的每个特征点的位置信息包括每个特征点在不同维度坐标系中的坐标信息。
具体的,所述生成装置还包括:
第二特征数据集提取单元,用于对样本图像进行第二次尺度变换,将经过所述第二次尺度变换后的样本图像进行特征提取,提取出来的第二特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
三角形网络构建单元,用于根据所述第二特征数据集中的每个特征点,构建与所述样本图像对应的Delaunay三角形网络;
数据存储单元704,还用于将所述第二特征数据集和所述Delaunay三角形网络对应的三角形数据存储在所述图像检索数据库中且与所述样本图像对应。
具体的,所述生成装置还包括:第二像素控制单元,用于在所述对样本图像进行第二次尺度变换之后,控制经过所述第二次尺度变换后的每个样本图像的长边的像素数为第二预设像素数。
参见图8,与上述图像检索数据库生成方法相似的构思,本发明的一实施例还提供了一种图像检索数据库,该数据库内存储有若干样本图像的内容数据,每个样本图像的内容数据包括:第一特征数据集801和节点数据802,其中,第一特征数据集801是将样本图像进行第一次尺度变换后进行多分辨率分析处理,再将所述多分辨率分析处理后的样本图像进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;节点数据802包括N个簇和M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息,其中,所述N个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述第一特征数据集中的各个特征点进行聚类分析而获得的,其中,N为正整数;所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述N个簇中的每个簇的聚类中心特征点进行聚类分析而获得的,其中,M为正整数,且M不大于N。
具体的,每个样本图像的内容数据还包括:第二特征数据集803和Delaunay三角形网络数据804,其中,第二特征数据集803是将样本图像进行第二次尺度变换后进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;Delaunay三角形网络数据804是对所述第二特征数据集中的所有特征点进行Delaunay三角剖分处理而得到的数据。
具体的,每个样本图像的内容数据还包括:第三特征数据集805和样本图像数据806,其中,所述第三特征数据集是再次对所述多分辨率分析处理后的样本图像进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;所述样本图像数据是将所述多分辨率分析处理后的样本图像的图像数据;所述第三特征数据集中的特征点的数量与所述第一特征数据集中的特征点的数量不同。
基于与上述图像检索数据库生成方法相应的技术构思,本申请另一实施例还提供一种实现增强现实的方法,参见图9、包括以下步骤:
S901、实时采集包含目标图像的环境场景图像;
S902、通过图像检索获取所述目标图像对应的检索结果图像,以及获取与所述检索结果图像对应的虚拟对象;
S903、对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
S904、从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态;
S905、以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在所述当前帧图像之前;
S906、根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在所述环境场景图像中进行显示。
其中,在步骤S901中,可以通过摄像设备例如摄像头、摄像机等实时采集环境场景图像,并从所述环境场景图像提取所述目标图像,所述目标图像为所述环境场景图像中显示目标对应的图像。
具体来讲,在通过摄像设备获取包含显示目标的环境场景图像时,拍摄获得的环境场景图像中除所述显示目标之外,通常还包含有其它图像,例如智能手机拍摄一副图片的环境场景图像中,除该图片之外还包含有放置该图片的桌面部分图像,这时,可以通过四边形提取方法从所述环境场景图像中提取该图片对应的图像(目标图像),而将所述环境场景图像中除目标图像之外的图像去除,以使得获取的目标图像中包含更少的除显示目标之外的其它图像,使得后续对目标图像处理的精度更高,其中,所述四边形提取方法具体可以参考申请号201410046366.2的专利,在此就不再赘述了。
接下来执行步骤S902,在该步骤中,通过图像检索获取所述目标图像对应的图像检索结果;若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像;在获取所述目标图像对应的检索结果图像之后,获取与其对应的虚拟对象,其中,所述虚拟对象为与所述检索结果图像相关的显示信息;例如所述检索结果图像中的显示目标为汽车时,所述虚拟对象可以是包含该汽车轴距、排量、变速箱类别和油耗等性能参数,还可以包括该汽车的品牌等属性参数等。
接下来执行步骤S903,在该步骤中,所述第四特征数据集的提取方法具体可以采用步骤S101和图5对应的实施例的提取方法,其中,所述第四特征数据集的提取方式采用与图像检索数据库生成方法相同的提取方法。
具体的,步骤S903可以在步骤S901和步骤S902之间执行,也可以与步骤S902同时执行,本申请不作具体限制。
在执行步骤S903之后,执行步骤S904,由于所述检索结果图像对应的节点数据和所述第一特征数据集已经存储在所述图像检索数据库中,通过索引即可查找到对应的节点数据和第一特征数据集,然后将查找到的所述检索结果图像对应的节点数据和第一特征数据集与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态。
具体来讲,由于可以从所述图像检索数据库中直接读取所述检索结果图像对应的节点数据和第一特征数据集,然后与所述第四特征数据集进行匹配,从而能够省去计算所述检索结果图像对应的节点数据和第一特征数据集的计算量,能够有效缩短获取初始姿态的时间,进而提高获取初始姿态的效率,其中,所述初始姿态可以用Rt进行表示,其中R表示旋转矩阵(3x3),t表示位移向量(tx,ty,tz),当然,所述初始姿态还可以为所述目标图像与所述检索结果图像的相对姿态。
接下来执行步骤S905,在该步骤中,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,具体为:可以首先利用所述初始姿态对当前帧图像的姿态进行跟踪;再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
具体来讲,可以首先利用所述初始姿态对当前帧图像的姿态进行跟踪,获取跟踪得到的当前帧图像的第一姿态;在获取到所述第一姿态之后,再利用当前帧之前的相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,获得所有当前帧图像的姿态,其中,所述相邻多帧图像中至少存在一帧图像与当前帧图像相邻,且其中的每一帧图像至少与另一帧图像相邻。
具体来讲,在进行跟踪时,可以采用归一化互相关(Normalized CrossCorrelation method,简称NCC)匹配算法、序贯相似性检测(sequentialsimilarity detection algorithm,简称SSDA)算法等进行图像跟踪,下面具体以NCC算法为例。
具体的,以初始姿态为起始点,若当前时刻为10:10:12时刻,则所述初始姿态对应的时刻为10:10:11,根据所述初始姿态,通过NCC算法进行跟踪,获得10:10:12时刻当前帧图像的第一姿态;在获取到所述第一姿态之后,当前时刻为10:10:13,则可以根据所述第一姿态,通过NCC算法进行跟踪,获得10:10:13时刻时当前帧图像的第二姿态,如此,通过此种方法,可以连续获取到当前帧图像的姿态。
具体的,若所述当前帧图像为第i帧图像,且i不小于3时,则所述相邻多帧图像至少包括第(i-1)帧图像和第(i-2)帧图像。例如在i=3时,所述相邻多帧图像为第2帧图像和第1帧图像;以及在在i=5时,所述相邻多帧图像可以为第4帧图像、第3帧图像和第2帧图像。
具体的,在所述相邻多帧图像为2帧图像时,以初始姿态为起始点,若当前时刻为10:10:12时刻,则所述初始姿态对应的时刻为10:10:11,根据所述初始姿态,通过NCC算法进行跟踪,获得10:10:12时刻时当前帧图像的第一姿态;在获取到所述第一姿态之后,当前时刻为10:10:13,则可以根据所述第一姿态和所述初始姿态,通过NCC算法进行跟踪,获得10:10:13时刻时当前帧图像的第二姿态;同理,可以根据所述第二姿态和所述第一姿态,通过NCC算法进行跟踪,获得10:10:14时刻时当前帧图像的第三姿态,以此类推,通过此种方法,可以连续获取到当前帧图像的姿态。
接下来执行步骤S906,在通过步骤S905获取到当前帧图像的姿态之后,根据所述环境场景图像的当前帧与所述虚拟对象之间的相对位姿,在所述环境场景图像的当前帧图像中显示所述虚拟对象。具体地,获取预设的所述虚拟对象的姿态,根据所述环境场景图像的当前帧的姿态,计算所述环境场景图像的当前帧与所述虚拟对象之间的相对姿态,根据所述相对姿态,将所述虚拟对象叠加在所述环境场景图像中进行显示。
在另一实施例中,所述以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,还可以为:
B1、检测跟踪到的图像的帧数是否超过预设帧数;
具体的,在步骤B1中,所述预设帧数可以根据实际情况来设定,例如可以为3帧、4帧或5帧等不小于2的整数。
B2、若跟踪到帧数未超过所述预设帧数,则根据前一帧图像的姿态对当前帧图像的姿态进行跟踪;
具体来讲,若跟踪到帧数未超过所述预设帧数,则执行步骤B2,采用NCC匹配算法、SSDA算法等进行图像跟踪,获得当前帧图像的第二姿态集。
具体的,以所述预设帧数为3帧为例,若当前时刻为10:10:12时刻,由于跟踪的第一帧图像对应的帧数为1<3,则所述第一帧图像的姿态为:根据所述初始姿态,通过NCC算法进行跟踪,获得10:10:12时刻时当前帧图像的第一姿态;以及由于跟踪的第二帧图像对应的帧数为2<3,则所述第二帧图像的姿态为:根据所述第一姿态,通过NCC算法进行跟踪,获得10:10:13时刻时当前帧图像的第二姿态;以及由于跟踪的第三帧图像对应的帧数为3=3,则所述第三帧图像的姿态为:根据所述第二姿态,通过NCC算法进行跟踪,获得10:10:13时刻时当前帧图像的第三姿态;以及由于跟踪的第四帧图像对应的帧数为4>3,则根据步骤B3来获取所述第四帧图像的姿态;如此,可以确定所述第二姿态集包括所述第一姿态、所述第二姿态和所述第三姿态。
B3、若跟踪到的帧数超过所述预设帧数,则根据前T帧图像的姿态对当前帧图像中的姿态进行预测,根据预测结果进行跟踪,其中,所述前T帧图像与当前帧图像相邻,且T不小于2且不大于所述预设帧数;
具体来讲,若跟踪到帧数超过所述预设帧数,则执行步骤B3,首先根据所述前T帧图像的姿态对所述当前帧图像的姿态进行预测,再采用NCC匹配算法或SSAD算法等以在更接近准确位置的所述初始姿态下进行跟踪,获取第三姿态集,如此,使得跟踪得到的所述第三姿态集与所述初始姿态的匹配的准确度更高,使得根据当前帧图像的姿态确定出当前显示的虚拟对象的姿态与目标图像的匹配度得以进一步提高,从而能够进一步提高虚拟对象与目标图像的实时配准的准确性,显著地增强了虚拟对象叠加到环境场景图像中的协调性与一致性。
例如,以所述预设帧数为3帧,且T=2为例,由于跟踪的第四帧图像对应的帧数为4>3,则根据所述第二姿态和所述第三姿态进行姿态预测,再根据NCC匹配算法进行跟踪,获取10:10:14时刻时当前帧图像的第四姿态为所述第四帧图像对应的姿态;同理,在10:10:15时刻,跟踪到第五帧图像对应的姿态是根据所述第四姿态和所述第三姿态进行跟踪而获得的第五姿态,以此类推,从而获得10:10:13时刻之后多个时刻的姿态组成所述第三姿态集;如此,由所述第二姿态集和所述第三姿态集组成所述起始点之后的环境场景图像的当前帧的姿态,然后在执行步骤S906,将所述虚拟对象叠加在所述环境场景图像中进行显示。
在具体实施过程中,在根据所述前T帧图像的姿态对当前帧图像的姿态进行预测之后,若未跟踪到当前帧图像的姿态,则重新执行步骤S902-S906,使得根据重新计算得到的初始姿态再进行跟踪。
在另一实施例中,所述若所述图像检索结果包括多个检索结果图像,则从所述检索结果图像中获取特定检索结果图像,具体为:若所述图像检索结果包括多个检索结果图像,则采用排错方法对所述多个检索结果图像进行排错,根据排错结果,从所述图像检索结果中获取与所述目标图像匹配的匹配检索结果图像集;从所述匹配检索结果图像集中获取所述特定检索结果图像。
在具体实施过程中,参见图10,所述排错方法分别对每一个检索结果图像进行排错,针对每一个检索结果图像执行以下步骤:
S1001、从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态;
其中,S1001的步骤与步骤S904的步骤相同,其实施方式参考步骤S904的实施方式。
S1002、根据所述初始姿态,将所述目标图像和所述检索结果图像匹配特征点集的坐标转换到同一坐标系中,并在转换后的坐标系中对所述目标图像匹配特征点集进行Delaunay三角剖分,得到所述目标图像对应的Delaunay三角形网络;
在具体实施过程中,根据所述初始姿态,可以将所述目标图像匹配特征点集的坐标转换到所述检索结果图像坐标系中,或将所述检索结果图像匹配特征点集的坐标转换到所述目标图像坐标系中;以及对所述目标图像匹配特征点集中的特征点,按坐标系转换后的坐标进行空间排序,并根据排序结果构建所述目标图像对应的Delaunay三角形网络。
具体来讲,在进行坐标转换时,若所述初始姿态记为Rt,其中R表示旋转矩阵(3x3),t表示位移向量(tx,ty,tz),特征点对中检索结果图像特征点的坐标以图像中心为坐标原点记为(x,y,z),其中z为0(以检索结果图像所在平面表示三维空间的中xoy面),(xC,yC,zC)=(x,y,z)xR+t表示相机坐标系中的坐标(目标图像来源于移动平台的摄像头),xN=xC/zC*fx+cx;yN=yC/zC*fy+cy,(xN,yN)表示特征点对中目标图像中所(x,y,z)对应的特征点在目标图像中的位置.通过变换上述方程用xN,yN表示(x,y,z)将匹配点对集合中所有目标图像上的点转换到检索结果图像坐标系中记为(xR,yR),从而实现坐标转换。
具体的,所述空间排序例如可以为中值排序、***排序、三路划分排序等排序方法中的任一钟排序方法,其具体实现方式可以参考图3对应的具体实施方式。在本步骤中,特征点空间排序方式与检索图像数据库生成时样本图像特征点空间排序方式一致。
S1003、从所述检索结果图像对应的Delaunay三角形网络中提取与所述匹配特征点集对应的匹配Delaunay三角形网络,其中,所述检索结果图像对应的Delaunay三角形网络是使用步骤A1-A3的方法获得并存储在所述图像检索数据库中的;
在具体实施过程中,可以从所述检索结果图像对应的Delaunay三角形网络中删除未匹配的特征点所对应的边,从而提取到所述匹配Delaunay三角形网络。当然,还可以从所述检索结果图像对应的Delaunay三角形网络中保留匹配的特征点所组成的三角形,即可提取到所述匹配Delaunay三角形网络。
S1004、将所述目标图像对应的Delaunay三角形网络和所述匹配Delaunay三角形网络进行比对,若两个三角形网络比对结果一致,则判定该图像检索结果正确;否则判定该图像检索结果错误。
在具体实施过程中,将步骤S1002和步骤S1003获取到的所述目标图像对应的Delaunay三角形网络和所述匹配Delaunay三角形网络进行比对,若两个三角形网络比对结果一致,则判定该图像检索结果正确;否则判定该图像检索结果错误;并将判定结果正确的检索结果图像保留,而将判定错误的检索结果图像删除。
在具体实施过程中,参见图11,所述排错方法分别对每一个检索结果图像进行排错,针对每一个检索结果图像还可以执行以下步骤:
S111、从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态;
其中,S111的步骤与步骤S904的步骤相同,其实施方式参考步骤S904的实施方式。
S112、根据所述初始姿态,将所述目标图像和所述检索结果图像匹配特征点集的坐标转换到同一坐标系;
其中,步骤S112具体可以参考步骤S1002的的实施方式。
S113、根据目标图像匹配特征点所对应的检索结果图像特征点在检索结果图像中所处的位置,对坐标系转换后的目标图像匹配特征点集进行子集划分;
具体来讲,在进行子集划分时,一般分成3*3的块至7*7的块,对9到49个块中的特征点子集集合以子集为单位进行后续步骤处理(即步骤S114至步骤S116中的处理过程均以子集为单位)避免特征点集合匹配对中由于各特征点子集姿态不同而导致计算排错结果误差过大。
参见图12,左侧为检索结果图像,右侧为目标图像,二者匹配特征点对包括A A’,B B’,C C’,D D’,E E’,F F’,在对匹配特征点集划分子区域时,按照目标图像匹配特征点A’B’C’D’E’F’所对应的检索结果图像特征点A B C D E F在检索结果图像中所处的位置进行子集划分,如图12所示,A’B’C’D’四点对应的匹配特征点A B C D在检索结果图像中位于同一区域快中,E’F’两点对应的匹配特征点E F在检索结果图像中位于同一区域快中,因此A’B’C’D’四个点在目标图像匹配特征点中被划分到同一个目标图像子集,E’F’两个点在目标图像匹配特征点中被划分到另一个目标图像子集,同样在检索结果图像中,A B C D四点被划分到同一个检索结果图像子集,E F被划分到同一个检索结果图像子集。一个目标图像子集对应一个检索结果图像子集,相互对应的目标图像子集和检索结果图像子集合称一个子集对,一个子集对中,目标图像子集中的特征点完全与检索结果图像子集中的特征点匹配,例如A’B’C’D’四个点构成的目标图像子集与A B C D四点构成的检索结果图像子集合称一个子集对。在本步骤中,之所以选择根据目标图像匹配特征点所对应的检索结果图像特征点在检索结果图像中所处的位置,对坐标系转换后的目标图像匹配特征点集进行子集划分,是因为图像检索是以数据库中存储的样本图像作为比对基础,样本图像是一个完整图像,而目标图像在拍摄过程中,可能存在不是完全图像等情况(即只拍了整图的一部分),若以目标图像作为子集划分基础,出现误差可能性较大。
S114、对所述目标图像子集中的特征点按坐标系转换后的坐标进行空间排序,根据排序结果构建所述目标图像对应的Delaunay三角形网络;
具体的,在本步骤中,特征点空间排序方式与检索图像数据库生成时样本图像特征点空间排序方式一致。
S115、从图像检索数据库中获取检索结果图像所对应的Delaunay三角形网络,将未匹配上的特征点子集在该Delaunay三角形网络中删除,得到匹配点对集合中检索结果图像子集所对应的Delaunay三角形网络;
S116、将各子集对所对应的上述两个Delaunay三角形网络进行比对(这里所说的上述两个Delaunay三角形网络指步骤S114和S115中分别得到的各子集对所对应的两个Delaunay三角形网络),若超过预设比例的子集对满足两个三角形网络比对结果一致,则判定该图像检索结果正确;否则判定该图像检索结果错误。
具体的,本步骤中,预设比例可根据实际情况自由设置,设置范围优选在1/3至1/6之间,假设:预设比例可设置为2/3,此时,若超过2/3的子集对满足两个三角形网络比对结果一致,则判定图像检索结果正确。
采用图8的流程方法,能有效降低扭曲图像对检索结果的影响,进一步提高检索结果准确率。图8实施例对图像匹配算法不做限定,只要基于特征提取的图像检索均可以采用本发明实施例方式进行检索结果排错。
在具体实施过程中,根据所述排错结果,获取所述匹配检索结果图像集,具体可以采用图7或图8对应实施例的排错方法获取到图像检索结果正确的所有检索结果图像组成匹配检索结果图像集。
例如,若图像检索结果为a1、b1和c1样本图像,通过图7的排错方法确定a1和b1与目标图像的三角形网络比对结果一致,而c1与目标图像的三角形网络结果比对不一致,则确定a1和b1组成所述匹配检索结果图像集。
具体来讲,在获取所述匹配检索结果图像集之后,可以从所述匹配检索结果图像集中获取特定检索结果图像,其中,所述特定检索结果图像与所述目标图像匹配分值大于预设分值;
具体的,所述预设分值可以根据时间情况来设定,例如可以为92%、89%或89%等值,本申请不作具体限制;
具体的,在获取所述特定检索结果图像时,可以采用两种方法来获取,其中,第一种获取方法,可以首先获取所述匹配检索结果图像集中的每个检索结果图像与所述目标图像的匹配分值,然后对每个检索结果图像与所述目标图像的匹配分值进行排序,首先将最高的匹配分值与所述预设分值进行比对,若最高的匹配分值大于所述预设分值,则将最高的匹配分值对应的检索结果图像作为所述特定检索结果图像;若小于所述预设分值,则调整所述预设分值,使其小于最高的匹配分值,通过此种方法,可以始终将所述匹配检索结果图像集中与所述目标图像最匹配的检索结果图像作为所述特定检索结果图像,在确保匹配度较高的情况下,使得后续计算得到的图像与所述目标图像的匹配度也得以提高。
具体的,第二种获取方法,在获取所述特定检索结果图像时,可以首先获取所述匹配检索结果图像集中的每个检索结果图像与所述目标图像的匹配分值,还可以依次将每个检索结果图像与所述目标图像的匹配分值依次与所述预设分值进行比对,直至找到高于所述预设分值的第一个匹配分值,则将与所述第一个匹配分值对应的检索结果图像作为所述特定检索结果图像,而采用此种方法,获得的所述特定检索结果图像可能不为所述匹配检索结果图像集中与所述目标图像最匹配的检索结果图像,与上面的第一种获取方法相比,虽然其匹配度稍差,但是仍能在一定程度上确保匹配度处于较高的状态,同样也能够使得后续计算得到的图像与所述目标图像的匹配度也得以提高。
在另一实施例中,在对所述目标图像进行尺度变换之后,以及在将经过所述尺度变换后的目标图像进行特征提取之前,所述方法还包括:控制经过所述尺度变换后的目标图像的长边的像素数为第一预设像素数,其中,所述第一预设像素数可以根据实际情况来设定,具体参考对样本图像的长边的像素数为第一预设像素数的叙述。
当然,还可以在对所述目标图像进行所述尺度变换的过程中或之前,就预先设定经过所述尺度变换后的目标图像的长边的像素数为第一预设像素数,从而使得经过所述尺度变换后,直接得到的目标图像的长边的像素数为所述第一预设像素数。
由于获取的所述特定检索结果图像与所述目标图像的匹配度较高,使得在通过所述特定检索结果图像的相关信息估计出的所述目标图像的初始姿态的精确度也较高,在所述初始姿态的精确度较高的情况下,在利用所述初始姿态进行跟踪而得到环境场景图像的当前帧的姿态时,使得跟踪到的当前帧的姿态的精确度也得以提高,从而在将虚拟对象显示在当前帧图像中时,能够有效提高虚拟对象与目标图像的实时配准的准确性,显著地增强了虚拟对象叠加到环境场景图像中的协调性与一致性。
基于与上述实现增强现实的方法相似的技术构思,本申请另一实施例还提供一种增强现实装置,参见图13,包括:
图像采集单元131,用于实时采集包含目标图像的环境场景图像;
检索结果图像获取单元132,用于通过图像检索获取所述目标图像对应的检索结果图像,
虚拟对象获取单元133,用于获取与所述检索结果图像对应的虚拟对象;
目标图像数据集获取单元134,用于对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
初始姿态获取单元135,用于从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态;
当前帧图像姿态跟踪单元136,用于以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在所述当前帧图像之前;
虚拟对象叠加单元137,用于根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在所述环境场景图像中进行显示。
具体的,当前帧图像姿态跟踪单元136,具体用于利用所述初始姿态对当前帧图像的姿态进行跟踪;再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
具体的,所述增强现实装置还包括:
检测单元,用于检测跟踪到的图像的帧数是否超过预设帧数;
当前帧图像姿态跟踪单元136,还用于在跟踪到帧数未超过所述预设帧数时,根据前一帧图像的姿态对当前帧图像的姿态进行跟踪;以及在跟踪到的帧数超过所述预设帧数时,根据前T帧图像的姿态对当前帧图像中的姿态进行预测,根据预测结果进行跟踪,其中,所述前T帧图像与当前帧图像相邻,且T不小于2且不大于所述预设帧数。
具体的,检索结果图像获取单元132,具体用于通过图像检索获取所述目标图像对应的图像检索结果;若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像。
可选的,所述增强现实装置,还包括:
排错单元,用于在所述图像检索结果包括多个检索结果图像时,采用排错方法对所述多个检索结果图像进行排错;
匹配检索结果图像集获取单元,用于根据排错结果,从所述图像检索结果中获取与所述目标图像匹配的匹配检索结果图像集;
检索结果图像获取单元132,还用于从所述匹配检索结果图像集中获取所述特定检索结果图像。
与现有技术相比,本发明具有如下有益效果:
本发明通过图像检索数据库中存储有样本图像的第一特征数据集和节点数据,且所述节点数据包括样本图像对应的N个簇和M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息,使得在对环境场景图像中的目标图像进行姿态匹配时,可以将采集到的目标图像与图像检索数据库中大量的样本图像进行图像检索,获取到与目标图像对应的检索结果图像,再将所述检索结果图像与目标图像进行姿态匹配,与现有技术相比,在大量样本图像中进行图像检索得到的检索结果图像与目标图像匹配度得以提高,在匹配度较高的情况下,使得与检索结果图像对应的虚拟对象能够在真实场景中进行精确的定位,降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application SpecificIntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种图像检索数据库生成方法,其特征在于,包括:
对样本图像进行第一次尺度变换,将经过所述第一次尺度变换后的样本图像进行多分辨率分析处理,再将所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述样本图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
2.如权利要求1所述的方法,其特征在于,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数。
3.如权利要求2所述的方法,其特征在于,在所述对样本图像进行第一次尺度变换之后,所述方法还包括:
控制经过所述第一次尺度变换后的每个样本图像的长边的像素数为第一预设像素数。
4.一种图像检索数据库生成装置,其特征在于,包括:
第一特征数据集提取单元,用于对样本图像进行第一次尺度变换,将经过所述第一次尺度变换后的样本图像进行多分辨率分析处理,再将所述多分辨率分析处理后的样本图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
第一簇组获取单元,用于对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
第二簇组获取单元,对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
数据存储单元,用于将节点数据所述第一特征数据集和节点数据存储在图像检索数据库中且与所述样本图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
5.一种图像检索数据库,其特征在于,该数据库内存储有若干样本图像的内容数据,每个样本图像的内容数据包括:第一特征数据集和节点数据,其中,所述第一特征数据集是将样本图像进行第一次尺度变换后进行多分辨率分析处理,再将所述多分辨率分析处理后的样本图像进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;所述节点数据包括N个簇和M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息,其中,所述N个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述第一特征数据集中的各个特征点进行聚类分析而获得的,其中,N为正整数;所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述N个簇中的每个簇的聚类中心特征点进行聚类分析而获得的,其中,M为正整数,且M不大于N。
6.一种实现增强现实的方法,其特征在于,包括:
实时采集包含目标图像的环境场景图像;
通过图像检索获取所述目标图像对应的检索结果图像,以及获取与所述检索结果图像对应的虚拟对象;
对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态,其中,所述图像检索数据库为权利要求5所述的图像检索数据库;
以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在所述当前帧图像之前;
根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在所述环境场景图像中进行显示。
7.如权利要求6所述的方法,其特征在于,所述以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,具体为:
利用所述初始姿态对当前帧图像的姿态进行跟踪;
再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
8.如权利要求7所述的方法,其特征在于,所述以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,具体为:
检测跟踪到的图像的帧数是否超过预设帧数;
若跟踪到帧数未超过所述预设帧数,则根据前一帧图像的姿态对当前帧图像的姿态进行跟踪;
若跟踪到的帧数超过所述预设帧数,则根据前T帧图像的姿态对当前帧图像中的姿态进行预测,根据预测结果进行跟踪,其中,所述前T帧图像与当前帧图像相邻,且T不小于2且不大于所述预设帧数。
9.如权利要求6-8任一项所述的方法,其特征在于,所述通过图像检索获取所述目标图像对应的检索结果图像,具体为:
通过图像检索获取所述目标图像对应的图像检索结果;
若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;
若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像。
10.一种增强现实装置,其特征在于,包括:
图像采集单元,用于实时采集包含目标图像的环境场景图像;
检索结果图像获取单元,用于通过图像检索获取所述目标图像对应的检索结果图像,
虚拟对象获取单元,用于获取与所述检索结果图像对应的虚拟对象;
目标图像数据集获取单元,用于对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向和特征描述信息;
初始姿态获取单元,用于从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态,其中,所述图像检索数据库为权利要求5所述的图像检索数据库;
当前帧图像姿态跟踪单元,用于以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在所述当前帧图像之前;
虚拟对象叠加单元,用于根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在所述环境场景图像中进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610278977.9A CN107341151B (zh) | 2016-04-29 | 2016-04-29 | 图像检索数据库生成方法、增强现实的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610278977.9A CN107341151B (zh) | 2016-04-29 | 2016-04-29 | 图像检索数据库生成方法、增强现实的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107341151A true CN107341151A (zh) | 2017-11-10 |
CN107341151B CN107341151B (zh) | 2020-11-06 |
Family
ID=60222641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610278977.9A Active CN107341151B (zh) | 2016-04-29 | 2016-04-29 | 图像检索数据库生成方法、增强现实的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107341151B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859004A (zh) * | 2020-07-29 | 2020-10-30 | 书行科技(北京)有限公司 | 检索图像的获取方法、装置、设备及可读存储介质 |
CN113536020A (zh) * | 2021-07-23 | 2021-10-22 | 北京房江湖科技有限公司 | 数据查询的方法、存储介质和计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927387A (zh) * | 2014-04-30 | 2014-07-16 | 成都理想境界科技有限公司 | 图像检索***及其相关方法和装置 |
CN103929653A (zh) * | 2014-04-30 | 2014-07-16 | 成都理想境界科技有限公司 | 增强现实视频生成器、播放器及其生成方法、播放方法 |
JP5567384B2 (ja) * | 2010-05-06 | 2014-08-06 | 株式会社日立製作所 | 類似映像検索装置 |
CN106096505A (zh) * | 2016-05-28 | 2016-11-09 | 重庆大学 | 基于多尺度特征协同表示的sar目标识别方法 |
-
2016
- 2016-04-29 CN CN201610278977.9A patent/CN107341151B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5567384B2 (ja) * | 2010-05-06 | 2014-08-06 | 株式会社日立製作所 | 類似映像検索装置 |
CN103927387A (zh) * | 2014-04-30 | 2014-07-16 | 成都理想境界科技有限公司 | 图像检索***及其相关方法和装置 |
CN103929653A (zh) * | 2014-04-30 | 2014-07-16 | 成都理想境界科技有限公司 | 增强现实视频生成器、播放器及其生成方法、播放方法 |
CN106096505A (zh) * | 2016-05-28 | 2016-11-09 | 重庆大学 | 基于多尺度特征协同表示的sar目标识别方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859004A (zh) * | 2020-07-29 | 2020-10-30 | 书行科技(北京)有限公司 | 检索图像的获取方法、装置、设备及可读存储介质 |
CN113536020A (zh) * | 2021-07-23 | 2021-10-22 | 北京房江湖科技有限公司 | 数据查询的方法、存储介质和计算机程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN107341151B (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109631855B (zh) | 基于orb-slam的高精度车辆定位方法 | |
CN107329962A (zh) | 图像检索数据库生成方法、增强现实的方法及装置 | |
CN110866079B (zh) | 一种智慧景区实景语义地图的生成与辅助定位方法 | |
CN107292234B (zh) | 一种基于信息边缘和多模态特征的室内场景布局估计方法 | |
CN107832672A (zh) | 一种利用姿态信息设计多损失函数的行人重识别方法 | |
CN103530881B (zh) | 适用于移动终端的户外增强现实无标志点跟踪注册方法 | |
CN111126304A (zh) | 一种基于室内自然场景图像深度学习的增强现实导航方法 | |
CN110135455A (zh) | 影像匹配方法、装置及计算机可读存储介质 | |
CN106651942A (zh) | 基于特征点的三维旋转运动检测与旋转轴定位方法 | |
CN109711288A (zh) | 基于特征金字塔和距离约束fcn的遥感船舶检测方法 | |
CN111199214A (zh) | 一种残差网络多光谱图像地物分类方法 | |
CN107481279A (zh) | 一种单目视频深度图计算方法 | |
CN108629843A (zh) | 一种实现增强现实的方法及设备 | |
CN108734737A (zh) | 基于视觉slam估计空间旋转非合作目标转轴的方法 | |
CN112084869A (zh) | 一种基于紧致四边形表示的建筑物目标检测方法 | |
CN108648194A (zh) | 基于cad模型三维目标识别分割和位姿测量方法及装置 | |
CN106485207A (zh) | 一种基于双目视觉图像的指尖检测方法及*** | |
CN103578093A (zh) | 图像配准方法、装置及增强现实*** | |
CN111881804A (zh) | 基于联合训练的姿态估计模型训练方法、***、介质及终端 | |
CN108182695A (zh) | 目标跟踪模型训练方法及装置、电子设备和存储介质 | |
CN101794459A (zh) | 一种立体视觉影像与三维虚拟物体的无缝融合方法 | |
CN112102342B (zh) | 平面轮廓识别方法、装置、计算机设备和存储介质 | |
CN110084211A (zh) | 一种动作识别方法 | |
CN117237808A (zh) | 基于odc-yolo网络的遥感图像目标检测方法及*** | |
CN107886471A (zh) | 一种基于超像素投票模型的照片多余物体去除方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |