CN107329962B - 图像检索数据库生成方法、增强现实的方法及装置 - Google Patents

图像检索数据库生成方法、增强现实的方法及装置 Download PDF

Info

Publication number
CN107329962B
CN107329962B CN201610279271.4A CN201610279271A CN107329962B CN 107329962 B CN107329962 B CN 107329962B CN 201610279271 A CN201610279271 A CN 201610279271A CN 107329962 B CN107329962 B CN 107329962B
Authority
CN
China
Prior art keywords
image
feature
cluster
clusters
data set
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
Application number
CN201610279271.4A
Other languages
English (en)
Other versions
CN107329962A (zh
Inventor
陈卓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Idealsee Technology Co Ltd
Original Assignee
Chengdu Idealsee Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Idealsee Technology Co Ltd filed Critical Chengdu Idealsee Technology Co Ltd
Priority to CN201610279271.4A priority Critical patent/CN107329962B/zh
Publication of CN107329962A publication Critical patent/CN107329962A/zh
Application granted granted Critical
Publication of CN107329962B publication Critical patent/CN107329962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features

Abstract

本发明公开了一种图像检索数据库生成方法、增强现实的方法及装置,对3D样本表面纹理图像进行第一次尺度变换后再进行多分辨率分析处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集;对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息;对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息;将所述第一特征数据集和节点数据存储在图像检索数据库中且与3D样本表面纹理图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。

Description

图像检索数据库生成方法、增强现实的方法及装置
技术领域
本发明涉及计算机视觉技术领域,尤其涉及一种图像检索数据库生成方法、增强现实的方法及装置。
背景技术
增强现实技术(Augmented Reality,AR)借助计算机图形技术和可视化技术生成现实环境中不存在的虚拟对象,并通过图像识别定位技术将虚拟对象准确地融合到真实环境中,借助显示设备将虚拟对象与真实环境融为一体,并呈现给使用者真实的感观体验。增强现实技术要解决的首要技术难题是如何将虚拟对象准确地融合到真实世界中,也就是要使虚拟对象以正确的角度姿态出现在真实场景的正确位置上,从而产生强烈的视觉真实感。
现有的增强现实技术通常是根据少量(一般只有不到10个)本地模板数据的匹配对要进行增强现实显示的数据进行初始化,然后以对应的目标图像进行增强显示,其中,所有目标图像都需要用户自己选定并在特定的客户端上传并生成对应的模板数据,由此可知,由模板数据是根据目标图像而生成的,且生成的模板数据的数量过少,使得模板数据与目标图像的匹配度较低,从而使得与模板数据对应的虚拟对象不能在真实场景中进行精确的定位,导致虚拟对象在真实场景中的叠加融合存在偏差的问题。
发明内容
本发明的目的是提供一种图像检索数据库生成方法、增强现实的方法及装置,能够有效提高3D目标物体对应的目标图像和3D样本表面纹理图像的匹配度,使得虚拟对象能够在真实场景中进行精确的定位,降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
为了实现上述发明目的,本发明第一方面,提供了一种图像检索数据库生成方法,包括:
对3D样本表面纹理图像进行第一次尺度变换,将经过所述第一次尺度变换后的3D样本表面纹理图像进行多分辨率分析处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第一特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
可选的,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数。
可选的,在对3D样本表面纹理图像进行第一次尺度变换之后,所述方法还包括:
控制经过所述第一次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第一预设像素数。
可选的,所述N个簇中的每个簇中特征点的数量均在第一预设范围阈值内。
可选的,所述对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇,具体为:
对所述第一特征数据集中的各个特征点进行聚类分析,获取K个簇,其中,K为正整数;
针对K个簇中的每个簇,执行以下步骤:
判断簇中特征点的数量是否在第一预设范围阈值内;
若该簇中特征点的数量大于所述第一预设范围阈值的最大值,则拆分该簇,并控制拆分后的每个簇中特征点的数量在所述第一预设范围阈值内;
若该簇中特征点的数量小于所述第一预设范围阈值的最小值,则删除该簇,将该簇中的所有特征点重新选择所属簇,并控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;
在对所述K个簇中的每个簇执行上述步骤之后,获取到所述N个簇。
可选的,所述获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息,具体为:
针对N个簇中的每个簇,执行以下步骤:
将簇中每个特征点的P维描述向量进行归一化处理;
将归一化处理后的每个特征点中对应的第i维向量进行累加,将累加得到的新P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;
对该簇中所有特征点的P维描述向量的模的倒数之和进行平均,将获取的第一平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;
根据所述新P维描述向量和所述第一平均值,获取该簇的聚类中心特征点的特征描述信息;
在对N个簇中的每个簇执行上述步骤之后,获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息。
可选的,所述将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,具体为:
将所述多分辨率分析处理后的3D样本表面纹理图像采用ORB算法进行特征提取,提取所述第一特征数据集。
可选的,所述将所述多分辨率分析处理后的3D样本表面纹理图像采用ORB算法进行特征提取,提取所述第一特征数据集,具体为:
将所述多分辨率分析处理后的3D样本表面纹理图像采用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个簇中的每个簇的聚类中心特征点的特征描述信息。
可选的,所述方法还包括:
对3D样本表面纹理图像进行第二次尺度变换,将经过所述第二次尺度变换后的3D样本表面纹理图像进行特征提取,提取得到所述第二特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第二特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
根据所述第二特征数据集中的每个特征点,构建与所述3D样本表面纹理图像对应的Delaunay三角形网络;
将所述第二特征数据集和所述Delaunay三角形网络对应的三角形数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
可选的,在对所述3D样本表面纹理图像进行第二次尺度变换之后,所述方法还包括:
控制经过所述第二次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第二预设像素数。
可选的,所述方法还包括:
获取所述多分辨率分析处理后的3D样本表面纹理图像的样本图像数据;
再次对所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第三特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第三特征数据集中的特征点的数量与所述第一特征点数据集中的特征点的数量不同,所述第三特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
将所述样本图像数据和所述第三特征数据集存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
本申请的第二方面,提供了一种图像检索数据库生成装置,包括:
第一特征数据集提取单元,用于对3D样本表面纹理图像进行第一次尺度变换,将经过所述第一次尺度变换后的3D样本表面纹理图像进行多分辨率分析处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第一特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
第一簇组获取单元,用于对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
第二簇组获取单元,用于对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
数据存储单元,用于将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
可选的,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数。
可选的,所述生成装置还包括:
第一像素控制单元,用于在对3D样本表面纹理图像进行第一次尺度变换之后,控制经过所述第一次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第一预设像素数。
可选的,所述N个簇中的每个簇中特征点的数量均在第一预设范围阈值内。
可选的,所述第一特征数据集提取单元,具体用于对所述第一特征数据集中的各个特征点进行聚类分析,获取K个簇,其中,K为正整数;针对K个簇中的每个簇,执行以下步骤:判断簇中特征点的数量是否在第一预设范围阈值内;若该簇中特征点的数量大于所述第一预设范围阈值的最大值,则拆分该簇,并控制拆分后的每个簇中特征点的数量在所述第一预设范围阈值内;若该簇中特征点的数量小于所述第一预设范围阈值的最小值,则删除该簇,将该簇中的所有特征点重新选择所属簇,并控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;在对所述K个簇中的每个簇执行上述步骤之后,获取到所述N个簇。
可选的,所述第一特征数据集提取单元还包括:
第一特征描述信息获取子单元,具体用于针对N个簇中的每个簇,执行以下步骤:将簇中每个特征点的P维描述向量进行归一化处理;将归一化处理后的每个特征点中对应的第i维向量进行累加,将累加得到的新P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;对该簇中所有特征点的P维描述向量的模的倒数之和进行平均,将获取的第一平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;根据所述新P维描述向量和所述第一平均值,获取该簇的聚类中心特征点的特征描述信息;在对N个簇中的每个簇执行上述步骤之后,获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息。
可选的,所述第一特征数据集提取单元,具体用于将所述多分辨率分析处理后的3D样本表面纹理图像采用ORB算法进行特征提取,提取所述第一特征数据集。
可选的,所述第一特征数据集提取单元,具体用于将所述多分辨率分析处理后的3D样本表面纹理图像采用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个簇中的每个簇的聚类中心特征点的特征描述信息。
可选的,所述生成装置还包括:
第二特征数据集提取单元,用于对3D样本表面纹理图像进行第二次尺度变换,将经过所述第二次尺度变换后的3D样本表面纹理图像进行特征提取,提取得到所述第二特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第二特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
三角形网络构建单元,用于根据所述第二特征数据集中的每个特征点,构建与所述3D样本表面纹理图像对应的Delaunay三角形网络;
所述数据存储单元,还用于将所述第二特征数据集和所述Delaunay三角形网络对应的三角形数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
可选的,所述生成装置还包括:
第二像素控制单元,用于在对所述3D样本表面纹理图像进行第二次尺度变换之后,控制经过所述第二次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第二预设像素数。
可选的,还包括:
图像数据获取单元,用于获取所述多分辨率分析处理后的3D样本表面纹理图像的样本图像数据;
第三特征数据集点提取单元,用于再次对所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第三特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第三特征数据集中的特征点的数量与所述第一特征点数据集中的特征点的数量不同;
所述数据存储单元,还用于将所述样本图像数据和所述第三特征数据集存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
本申请的第三方面,提供了一种图像检索数据库,该数据库内存储有若干3D样本表面纹理图像的内容数据,每个3D样本表面纹理图像的内容数据包括:第一特征数据集和节点数据,其中,所述第一特征数据集是将3D样本表面纹理图像进行第一次尺度变换后进行多分辨率分析处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集出来的特征点集数据,其包括每个特征点在在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第一特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;所述节点数据包括N个簇和M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息,其中,所述N个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述第一特征数据集中的各个特征点进行聚类分析而获得的,其中,N为正整数;所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述N个簇中的每个簇的聚类中心特征点进行聚类分析而获得的,其中,M为正整数,且M不大于N。
可选的,每个3D样本表面纹理图像的内容数据还包括:第二特征数据集和Delaunay三角形网络数据,其中,所述第二特征数据集是将3D样本表面纹理图像进行第二次尺度变换后进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第二特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;所述Delaunay三角形网络数据是对所述第二特征数据集中的所有特征点进行Delaunay三角剖分处理而得到的数据。
可选的,每个3D样本表面纹理图像的内容数据还包括:第三特征数据集和样本图像数据,其中,所述第三特征数据集是再次对所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第三特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;所述样本图像数据是将所述多分辨率分析处理后的3D样本表面纹理图像的图像数据;所述第三特征数据集中的特征点的数量与所述第一特征数据集中的特征点的数量不同。
本申请的第四方面,提供了一种实现增强现实的方法,包括:
实时采集包含3D目标物体的环境场景图像;
通过图像检索获取目标图像对应的检索结果图像,以及获取与所述检索结果图像对应的虚拟对象,其中,所述目标图像为所述环境场景图像中与所述3D目标物体对应的图像;
对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第四特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态;
以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在当前帧图像之前;
根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在当前帧图像中显示的3D目标物体对应的位置上。
可选的,所述以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,具体为:
利用所述初始姿态对当前帧图像的姿态进行跟踪;
再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
可选的,所述以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,具体为:
检测跟踪到的图像的帧数是否超过预设帧数;
若跟踪到帧数未超过所述预设帧数,则根据前一帧图像的姿态对当前帧图像的姿态进行跟踪;
若跟踪到的帧数超过所述预设帧数,则根据前T帧图像的姿态对当前帧图像中的姿态进行预测,根据预测结果进行跟踪,其中,所述前T帧图像与当前帧图像相邻,且T不小于2且不大于所述预设帧数。
可选的,所述通过图像检索获取目标图像对应的检索结果图像,具体为:
通过图像检索获取所述目标图像对应的图像检索结果;
若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;
若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像。
可选的,所述若所述图像检索结果包括多个检索结果图像,则从所述检索结果图像中获取特定检索结果图像,具体为:
若所述图像检索结果包括多个检索结果图像,则采用排错方法对所述多个检索结果图像进行排错,根据排错结果,从所述图像检索结果中获取与所述目标图像匹配的匹配检索结果图像集;
从所述匹配检索结果图像集中获取所述特定检索结果图像。
本申请第五方面,还提供了一种增强现实装置,包括:
图像采集单元,用于实时采集包含3D目标物体的环境场景图像;
检索结果图像获取单元,用于通过图像检索获取目标图像对应的检索结果图像,其中,所述目标图像为所述环境场景图像中与所述3D目标物体对应的图像;
虚拟对象获取单元,用于获取与所述检索结果图像对应的虚拟对象;
目标图像数据集获取单元,用于对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第四特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
初始姿态获取单元,用于从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态;
当前帧图像姿态跟踪单元,用于以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在当前帧图像之前;
虚拟对象叠加单元,用于根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在当前帧图像中显示的3D目标物体对应的位置上。
可选的,当前帧图像姿态跟踪单元,具体用于利用所述初始姿态对当前帧图像的姿态进行跟踪;再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
可选的,所述增强现实装置还包括:
检测单元,用于检测跟踪到的图像的帧数是否超过预设帧数;
当前帧图像姿态跟踪单元,还用于在跟踪到帧数未超过所述预设帧数时,根据前一帧图像的姿态对当前帧图像的姿态进行跟踪;以及在跟踪到的帧数超过所述预设帧数时,根据前T帧图像的姿态对当前帧图像中的姿态进行预测,根据预测结果进行跟踪,其中,所述前T帧图像与当前帧图像相邻,且T不小于2且不大于所述预设帧数。
可选的,所述检索结果图像获取单元,具体用于通过图像检索获取所述目标图像对应的图像检索结果;若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像。
可选的,所述增强现实装置,还包括:
排错单元,用于在所述图像检索结果包括多个检索结果图像时,采用排错方法对所述多个检索结果图像进行排错;
匹配检索结果图像集获取单元,用于根据排错结果,从所述图像检索结果中获取与所述目标图像匹配的匹配检索结果图像集;
所述检索结果图像获取单元,还用于从所述匹配检索结果图像集中获取所述特定检索结果图像。
与现有技术相比,本发明具有如下有益效果:
本发明通过图像检索数据库中存储有3D样本表面纹理图像的第一特征数据集和节点数据,且所述节点数据包括3D样本表面纹理图像对应的N个簇和M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息,使得在对环境场景图像中的3D目标物体对应的目标图像进行姿态匹配时,可以将采集到的目标图像与图像检索数据库中大量的3D样本表面纹理图像进行图像检索,获取到与目标图像对应的检索结果图像,再将所述检索结果图像与目标图像进行姿态匹配,与现有技术相比,在大量3D样本表面纹理图像中进行图像检索得到的检索结果图像与目标图像匹配度得以提高,在匹配度较高的情况下,使得与检索结果图像对应的虚拟对象能够在真实场景中进行精确的定位,降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
而且,在进行姿态匹配时,可以从图像检索数据库中直接读取检索结果图像的节点数据和第一特征数据集与目标图像的第四特征点数据集进行姿态匹配,而无需通过计算来获取3D样本表面纹理图像的相应的数据与目标图像进行姿态匹配,如此,能够有效降低计算量,缩短姿态匹配的时间,提高姿态匹配的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图:
图1为本发明一个实施例中图像检索数据库生成方法的流程图;
图2为本发明一个实施例中获取N个簇中的每个簇的聚类中心特征点的特征描述信息的方法流程图;
图3为本发明一个实施例中获取N个簇的方法流程图;
图4为本发明一个实施例中提取第一特征数据集的方法流程图;
图5为本发明一个实施例中获取M个簇的方法流程图;
图6为本发明一个实施例中图像检索数据库生成装置的结构示意图;
图7为本发明一个实施例中图像检索数据库的结构示意图;
图8为本发明一个实施例中实现增强现实的方法的流程示意图;
图9为本发明一个实施例中图像检索排错方法的第一种流程示意图;
图10为本发明一个实施例中图像检索排错方法的第二种流程示意图;
图11为本发明一个实施例中检索结果图像和目标图像中的对应匹配特征点位置示意图;
图12为本发明一个实施例中增强现实装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明采用Delaunay三角形网络来表征图像特征点集的内部关系,利用Delaunay三角形网络的唯一性特性对检索结果进行排错(校正),将算法上正确(满足约束条件的底线),但人类认知上会判定为错误的检索结果剔除。
首先介绍一下Delaunay三角形网络:Delaunay三角形网络是对点集进行Delaunay三角剖分而形成的网络,要满足Delaunay三角剖分的定义,必须符合两个重要的准则:
1)空圆特性:Delaunay三角网是唯一的(任意四点不能共圆),在Delaunay三角形网中任一三角形的外接圆范围内不会有其它点存在;
2)最大化最小角特性:在散点集可能形成的三角剖分中,Delaunay三角剖分所形成的三角形的最小角最大。从这个意义上讲,Delaunay三角网是“最接近于规则化的“的三角网。具体的说是指在两个相邻的三角形构成凸四边形的对角线,在相互交换后,六个内角的最小角不再增大。
Delaunay三角网络具备如下优异特性:
1)最接近:以最近的三点形成三角形,且各线段(三角形的边)皆不相交;
2)唯一性:不论从区域何处开始构建,最终都将得到一致的结果;
3)最优性:任意两个相邻三角形形成的凸四边形的对角线如果可以互换的话,那么两个三角形六个内角中最小的角度不会变大;
4)最规则:如果将三角网中的每个三角形的最小角进行升序排列,则Delaunay三角网的排列得到的数值最大;
5)区域性:新增、删除、移动某一个顶点时只会影响临近的三角形;
6)具有凸多边形的外壳:三角网最外层的边界形成一个凸多边形的外壳。
下面首先介绍本发明实施例中图像检索数据库生成方法,参见图1,其包括如下步骤:
S101、对3D样本表面纹理图像进行第一次尺度变换,将经过所述第一次尺度变换后的3D样本表面纹理图像进行多分辨率分析处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第一特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
S102、对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
S103、对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
S104、将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
在步骤S101中,所述3D样本表面纹理图像具体为3D样本物体的表面纹理图像,即一张包含3D样本物体完整表面信息的三维纹理图像。以3D样本物体为长方体为例,所述3D样本表面纹理图像为长方体的表面纹理图像,具体可以由该长方体的六个长方形的表面图像组合而成;同理,以3D样本物体为人脸模型为例,所述3D样本表面纹理图像为人脸模型的表面纹理图像,具体可以由数百万个表面图像组合而成。
在具体实施过程中,可以通过统一尺寸处理或仿射变换等方法对所述3D样本表面纹理图像进行所述第一次尺度变换,以及在将所述3D样本表面纹理图像进行所述第一次尺度变换之后,将经过所述第一次尺度变换后的3D样本表面纹理图像进行多分辨率分析(Multi-resolution Analysis,简称MRA)处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,例如可以采用基于尺度不变的特征提取方法,如ORB,SIFT,SURF等算法对经过所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,使得提取出来的所述第一特征数据集包括所述3D样本表面纹理图像中的每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量,特征点的位置信息具体用三维坐标表示,尺度是对3D目标物体进行所述第一次尺度变换对应的尺度,方向通常可以为0~1023的方向信息。
其中,在通过统一尺寸处理或仿射变换等方法对所述样本表面纹理图像进行所述第一次尺度变换时,例如以尺度为512×860的a样本表面纹理图像和520×960的b样本表面纹理图像为例,将a样本表面纹理图像通过统一尺寸处理之后得到a样本表面纹理图像的尺度为320×512;以及将b样本表面纹理图像通过统一尺寸处理之后得到a样本表面纹理图像的尺度为320×512。
当然,所述第一特征数据集中每个特征点的特征描述信息还可以包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数,例如所述第一特征数据集中的一个特征点的特征描述信息可以包括一组36个字符(char)数据组成的36维描述子和一个4字节浮点(float)数据表示的36维向量的模的倒数,其中,P=36,当然P还可以为24、32、64、128等值,本申请不作具体限制。
其中,所述3D样本表面纹理图像通常为多个,例如可以是百万、千万、亿、十亿的数量级,每一个3D样本表面纹理图像对应一个第一特征数据集,例如以3D样本表面纹理图像a为例,a对应名称为a1的第一特征数据集,其中,a1中包含通过特征提取方法提取到3D样本表面纹理图像a所对应的所有特征点的位置信息、尺度、方向、法线向量信息和特征描述信息。
具体来讲,所述将经过所述第一次尺度变换后的3D样本表面纹理图像进行多分辨率分析处理,例如可以是将经过所述第一次尺度变换后的3D样本表面纹理图像生成金字塔图像,在生成金字塔图像时,可以以1/2的比例向下生成4层金字塔图像,然后用fast特征检测算法提取对应四层金字塔样本表面纹理图像中的特征点,然后将各层金字塔图像中的特征点坐标统一到同一坐标系中,当然生成金字塔图像的层数还可以为2、3和5等值,进一步的,所述比例也可以取1/3、1/4和2/5等值,且也可以是向上生成多层金字塔图像,对此本申请不作具体限制。当然,所述多分辨率分析还可以是采用马拉特(Mallat)算法分析。
在具体实施过程中,所述第一特征数据集中每个特征点的法线向量信息包括每个特征点在三维坐标系中的法线向量,以使得根据每个特征点的坐标信息和法线向量,能够更精确的获取到每个特征点在三维坐标系中的位置,使得在使用包含特征点的坐标信息和法线向量的所述第一特征数据集作跟踪和姿态估计时,使得跟踪和姿态估计得到的3D目标物体的初始姿态的精确度更高。
具体来讲,在获取每个特征点在三维坐标系中的法线向量时,针对每一个特征点,可以获取特征点对应的平面,若所述特征点只对应一个平面,则获取该平面的法线向量作为所述特征点的法线向量;若所述特征点对应多个平面,则可以获取多个平面对应的多个法线向量,取所述多个法线向量的平均值作为所述特征点的法线向量,当然还可以根据对所述多个法线向量的权重,根据每个法线向量的权重来获取所述特征点的法线向量。
例如,以3D样本表面纹理图像a为例,a对应名称为a1的第一特征数据集中包含的特征点z1和z2,若a对应的3D样本物体为长方体,且z1和z2对应3D样本的上表面,则确定z1和z2的法线向量的值相同,其法线向量均垂直于所述上表面。
在另一实施例中,在所述对3D样本表面纹理图像进行第一次尺度变换之后,以及在将经过所述第一次尺度变换后的3D样本表面纹理图像进行特征提取之前,所述方法还包括:控制经过所述第一次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第一预设像素数,其中,所述第一预设像素数可以根据实际情况来设定,例如在服务器端的硬件设备的性能较高时,可以将所述第一预设像素数的值设定的较高;以及在服务器端的硬件设备的性能较低时,可以将所述第一预设像素数的值设定的较低;还可以根据服务器端的硬件设备的性能和计算量来设定所述第一预设像素数,以使得在确保经过所述第一次尺度变换后的3D样本表面纹理图像的精度和计算量均处于合适的范围,从而能够在确保检索准确性的前提下使得检索效率也得到提高。
当然,还可以在进行所述第一次尺度变换的过程中或之前,就预先设定经过所述第一次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第一预设像素数,从而使得经过所述第二尺度转换后直接得到的每个3D样本表面纹理图像的长边的像素数均为所述第一预设像素数。
当然,在所述对3D样本表面纹理图像进行第一次尺度变换之后,还可以控制经过所述第一次尺度变换后的每个3D样本表面纹理图像的尺度相同。
接下来执行步骤S102,在该步骤中,在所述3D样本表面纹理图像为多个时,需要分别对每个3D样本表面纹理图像的第二特征数据中的各特征点进行聚类分析,以获得每个3D样本表面纹理图像对应的N个簇及其每个簇的聚类中心特征点的描述信息。
在具体实施过程中,可以通过k-means聚类算法、层次聚类算法或FCM聚类算法等聚类算法分别对每个3D样本表面纹理图像的第二特征数据中的各特征点进行聚类分析,以获得每个3D样本表面纹理图像对应的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获取所述节点数据,然后将所述第一特征数据集和所述节点数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
具体来讲,可以根据步骤S102-S103获取到的所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息组成所述节点数据。
具体的,例如a样本图像为例,a对应名称为a1的第一特征数据集,则将名称为a1的第一特征数据集存储在所述图像检索数据库中,并将名称为a1的第一特征数据集与a对应,同理,在将a对应的节点数据存储在图像数据库中与也a对应,使得通过查找a即可查找到与a对应的名称为a1的第一特征数据集和节点数据。
由于本发明生成的图像检索数据库中可以存储数以百万计、千万计的3D样本表面纹理图像的第一特征数据集和节点数据,可以将采集到的与3D目标物体对应的目标图像与图像检索数据库中大量的3D样本表面纹理图像进行图像检索,使得检索到的检索结果图像与目标图像的匹配度更高,匹配度较高的情况下,使得与检索结果图像对应的虚拟对象能够在真实场景中进行精确的定位,降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
进一步的,在进行姿态匹配时,可以从图像检索数据库中直接读取检索结果图像的节点数据和第一特征数据集与目标图像的特征点数据集进行姿态匹配,而无需通过计算来获取检索结果图像的相应的数据与目标图像进行姿态匹配,如此,能够有效降低计算量,缩短姿态匹配的时间,提高姿态匹配的效率。
在另一实施例中,为了使得检索结果图像与目标图像的匹配度更高,从而进一步使得与检索结果图像对应的虚拟对象能够在真实场景中进行精确的定位,进一步降低虚拟对象在真实场景中的叠加融合存在偏差的概率的效果,所述方法还包括:
A1、对3D样本表面纹理图像进行第二次尺度变换,将经过所述第二次尺度变换后的3D样本表面纹理图像进行特征提取,提取得到所述第二特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第二特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
A2、根据所述第二特征数据集中的每个特征点,构建与所述3D样本表面纹理图像对应的Delaunay三角形网络;
A3、将所述第二特征数据集和所述Delaunay三角形网络对应的三角形数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
其中,在步骤A1中,所述第二次尺度变换和所述第一次尺度变换不存在相关性,其中的第一次和第二次是为了表示本申请实施例中对3D样本表面纹理图像进行了两次独立的尺度变换,以及方便引用和区分两次独立进行的尺度变换,其实质均是对3D样本表面纹理图像进行尺度变换,并无其它实质上的区别。
进一步的,步骤A1可以在步骤S101之前执行,也可以与步骤S101同时执行,当然也可以在步骤S101之后执行,还可以在步骤S101和步骤S102之间执行,本申请不作具体限制。
在具体实施过程中,可以通过统一尺寸处理或仿射变换等方法对所述3D样本表面纹理图像进行所述第二次尺度变换,进一步的,所述3D样本表面纹理图像具体为3D样本物体的表面纹理图像,即一张包含3D样本物体完整表面信息的三维纹理图像。以3D样本物体为长方体为例,所述3D样本表面纹理图像为长方体的表面纹理图像,具体可以由该长方体的六个长方形的表面图像组合而成;同理,以3D样本物体为人脸模型为例,所述3D样本表面纹理图像为人脸模型的表面纹理图像,具体可以由数百万个表面图像组合而成。
进一步的,有时,3D样本物体的表面过于复杂,使得组成3D样本表面纹理图像的表面图像的数量过多,在3D样本表面纹理图像的数量级在百万、千万及以上时,会使得计算量过大导致工作效率极其低下,为解决上述问题,可以设定一个预设表面数量,使得组成3D样本表面纹理图像的表面图像的数量不超过所述预设表面数量,从而能够有效减小计算量从而提高工作效率,所述预设表面数量根据实际情况进行设定,例如可以设置为1000、1200和2000等值,例如可以根据硬件的性能来设定,在确保计算量在硬件的性能承受范围之内时尽可能将所述预设表面数量设置的更大,以使得3D样本表面纹理图像的精度度更高。
在具体实施过程中,在将所述3D样本表面纹理图像进行所述第二次尺度变换之后,可以采用基于尺度不变的特征提取方法,如ORB,SIFT,SURF等算法对经过所述第二次尺度变换后的3D样本表面纹理图像进行特征提取,使得提取出来的所述第二特征数据集包括所述3D样本表面纹理图像中的每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,特征描述信息可以为一个8字节的内容描述,尺度是对所述3D样本表面纹理图像进行所述第二次尺度变换对应的尺度,例如尺度为320×160,400×320等,特征点方向例如可以是一个0-1023的方向信息,其中,所述第二特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息。
具体来讲,所述3D样本表面纹理图像通常为多个,例如可以是百万、千万、亿、十亿的数量级,其中,每一个3D样本表面纹理图像对应一个第二特征数据集,例如以3D样本表面纹理图像a为例,a对应名称为a2的第二特征数据集,其中,a2中包含通过特征提取方法提取到3D样本表面纹理图像a所对应的所有特征点的位置信息、尺度、方向、法线向量信息和特征描述信息。
在具体实施过程中,所述第二特征数据集中每个特征点的法线向量信息包括每个特征点在三维坐标系中的法线向量,以使得根据每个特征点的坐标信息和法线向量,能够更精确的获取到每个特征点在三维坐标系中的位置,使得在使用包含特征点的坐标信息和法线向量的所述第二特征数据集作图像检索时,能够使得检索的精确度提高,从而提高检索得到的图像检索结果中的每一个检索结果图像与3D目标物体对应的目标图像的匹配度更高,进而有效提高图像检索的准确度。
在另一实施例中,在所述对3D样本表面纹理图像进行第二次尺度变换之后,以及在将经过所述第二次尺度变换后的3D样本表面纹理图像进行特征提取之前,所述方法还包括:控制经过所述第二次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第二预设像素数,其中,所述第二预设像素数可以根据实际情况来设定,例如在服务器端的硬件设备的性能较高时,可以将所述第二预设像素数的值设定的较大,所述第二预设像素数例如为1024、2000、2048、3020等;以及在服务器端的硬件设备的性能较低时,可以将所述第二预设像素数的值设定的较小,例如为240、320、500、512等;还可以根据服务器端的硬件设备的性能和计算量来设定所述第二预设像素数,以使得在确保经过所述第二次尺度变换后的3D样本表面纹理图像的精度和计算量均处于合适的范围,从而能够在确保检索准确性的前提下使得检索效率也得到提高。
具体来讲,例如将3D样本表面纹理图像a进行第二次尺度变换后形成了图像A,且图像A的像素为:512×320,由于512>320,则确定图像A对应的长边的像素数为512;同理,还可以将3D样本表面纹理图像b进行第二次尺度变换后形成了图像B,且图像B的像素为:512×360,由于512>360,则确定图像B对应的长边的像素数为512。
当然,还可以在进行所述第二次尺度变换的过程中或之前,就预先设定经过所述第二次尺度变换后的每个3D样本表面纹理图像的长边的像素数为所述第二预设像素数,从而使得经过所述第一尺度转换后直接得到的每个3D样本表面纹理图像的长边的像素数均为所述第二预设像素数。
当然,在所述对3D样本表面纹理图像进行第二次尺度变换之后,还可以控制经过所述第二次尺度变换后的每个3D样本表面纹理图像的尺度相同,例如3D样本表面纹理图像a经过所述第二次尺度变换后的图像A的尺度为512×320,以及3D样本表面纹理图像b经过所述第二次尺度变换后的图像B的尺度为512×360。
接下来执行步骤A2,在该步骤中,可以对所述第二特征数据集中的各个特征点进行空间排序,并根据排序结果构建与所述3D样本表面纹理图像对应的Delaunay三角形网络。
在具体实施过程中,针对每个3D样本表面纹理图像对应的第二特征数据集中的各个特征点进行空间排序,以获得每个3D样本表面纹理图像各自对应的Delaunay三角形网络。
具体来讲,所述空间排序例如可以为中值排序、插入排序、三路划分排序等排序方法中的任一钟排序方法,以此来对所述第二特征数据集中的各个特征点进行排序,从而针对每一个3D样本表面纹理图像,构建一个与该3D样本表面纹理图像对应的Delaunay三角形网络,例如以3D样本表面纹理图像a、b和c(下面具体以a、b和c进行表示)为例,根据a对应的名称为a1的第二特征数据集,构建一个与a对应的Delaunay三角形网络;以及根据b对应的名称为b1的第二特征数据集,构建一个与b对应的Delaunay三角形网络;以及根据c对应的名称为c1的第二特征数据集,构建一个与c对应的Delaunay三角形网络。
具体的,以所述空间排序为中值排序为例,所述中值排序指根据特征点在图像区域内的位置信息进行中值排序,具体为:将特征点集中特征点在x轴、y轴和z轴上直径最大/最小轴作为排序轴;计算构成该直径的两个特征点的中值,改变原特征点集使空间上位于中值左侧的特征点在数据集合中位于中值点左侧,右侧点位于中值点右侧;然后对左侧点构成的点集和右侧点构成的点集进行上述递归处理,直到中值一侧特征点数量小于2。其中x轴直径指特征点集中,各特征点的x坐标,最大值与最小值之差的绝对值;y轴直径指特征点集中,各特征点的y坐标,最大值与最小值之差的绝对值;z轴直径指特征点集中,各特征点的z坐标,最大值与最小值之差的绝对值。
接下来执行步骤A3,在该步骤中,将所述第二特征数据集和所述三角形数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应,以使得在后续对图像检索结果进行排错时,直接从所述图像检索数据库中读取图像检索结果中的3D样本表面纹理图像的三角形数据,以获取到Delaunay三角形网络与3D目标物体的Delaunay三角形网络进行比对,以降低实时计算量,缩短响应时间,进而提高用户的体验。
具体的,所述第二特征数据集和所述三角形数据存储方式具体参考第一特征数据集和节点数据的存储方式。
本实施例图像检索数据库生成方法,既可以在服务器端对大量3D样本表面纹理图像进行处理生成对应的图像检索数据库,也能以添加的模式单张或成组地将新的3D样本表面纹理图像添加进已有的图像检索数据库中。
本发明方案图像检索数据库中存储有与3D样本表面纹理图像对应的Delaunay三角形网络,可以利用匹配特征点对集合获取3D目标物体对应目标图像和检索结果图像的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聚类算法等聚类算法分别对每个3D样本表面纹理图像的第二特征数据中的各特征点进行聚类分析,以获得每个3D样本表面纹理图像对应的K个簇。
针对K个簇中的每个簇,参见图3,执行以下步骤:
S301、判断簇中特征点的数量是否在第一预设范围阈值内;
具体的,若d2簇中包含特征点的数量为30,而所述第一预设范围阈值为10~20,由于20<30,则执行步骤S302。
S302、若该簇中特征点的数量大于所述第一预设范围阈值的最大值,则拆分该簇,并控制拆分后的每个簇中特征点的数量在所述第一预设范围阈值内;
具体的,由于d2簇中包含特征点的数量为30,大于所述第一预设范围阈值中的最大值20,则拆分d2簇,控制拆分后的每个簇中特征点的数量在10~20,例如可以将d2簇拆分成2个簇,其中每个簇中包含15个特征点,当然也可以是一个簇中包含18个特征点,另一个簇中包含12个特征点;在拆分d2簇时,可以采用向量余弦夹角描述特征点与特征点之间的差异来进行拆分,在特征点与特征点之间的差异小于设定值,则将两个特征点设置在同一个簇中,通过这种方法可以将d2拆分成2个簇,其中,在特征点与特征点之间的差异的值越小,则两个特征点之间的差异也越小,所述设定值根据实际情况进行设定。
当然,还可以用欧氏距离等方法来描述特征点与特征点之间的差异,本申请对此不进行具体限制。
S303、若该簇中特征点的数量小于所述第一预设范围阈值的最小值,则删除该簇,将该簇中的所有特征点重新选择所属簇,并控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;
具体的,若d2簇中包含特征点的数量为30,而所述第一预设范围阈值为40~60,由于30<60,则执行步骤S303,则删除d2簇,将d2簇中包含的30个特征点重新选择所属簇,控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;在将d2簇中包含的30个特征点重新选择所属簇,可以采用向量余弦夹角或欧氏距离等方法描述特征点与特征点的差异,根据差异值来为将d2簇中包含的30个特征点中的每个特征点重新选择所属簇。
S304、在对所述K个簇中的每个簇执行上述步骤之后,获取到所述N个簇。
具体的,在对所述K个簇中每个簇执行步骤S301-S303之后,获取到所有簇作为所述N个簇,其中,所述N个簇中的每个簇的特征点数量均在所述第一预设范围内。
在本申请第三实施例中,本申请还提供了所述将所述多分辨率分析处理后的3D样本表面纹理图像采用ORB算法进行特征提取,提取所述第一特征数据集的另一种实现方法,参见图4,具体为:
S401、将所述多分辨率分析处理后的3D样本表面纹理图像采用Fast算法、Sift算法或Surf算法进行特征提取,将提取出来的H个特征点统一到同一坐标系中,并记录所述H个特征点中的每个特征点在同一坐标系中的坐标信息作为每个特征点的位置信息,其中,H为大于1的正整数;
具体来讲,将经过所述第一次尺度变换后的3D样本表面纹理图像生成金字塔图像,在生成金字塔图像时,可以以1/4的比例向下生成4层金字塔图像,其中,最上层为第0层金字塔图像,依次向下为第1、2和3层金字塔图像;然后用fast特征检测算法提取对应四层金字塔图像中的特征点,然后将各层金字塔图像中的特征点坐标统一到同一三维坐标系中,例如可以以第0层金字塔图像的左上角为坐标原点,以坐标原点建立三维坐标系,根据建立的所述三维坐标系,将各层金字塔图像中的特征点坐标统一到第0层金字塔图像中,获取每个特征点在所述三维坐标系中的坐标信息具体可以用二维坐标(xW,Yw,zW)进行表示。
具体的,为了降低计算量和确保准确性,可以控制所述第一特征数据集中的特征点的数量即H不超出预设阈值,在使用Fast算法提取特征点中根据分值取数量不大于所述预设阈值的特征点,其中,所述预设阈值根据实际情况来设定,以及在根据分值取数量不大于所述预设阈值的特征点时,根据每个特征点的分值的大小,依次选取所述第一特征数据集中的特征点;当然也可以选取分值不小于预设分值的特征点,其中,所述预设分值可以随所述预设阈值实时调整,以使得选取的特征点的数量不大有所述预设阈值。
在另一实施例中,在获取所述H个特征点时,还可以首先将所述多分辨率分析处理后的3D样本表面纹理图像采用Fast算法、S i ft算法或Surf算法进行特征提取出来的所有特征点,然后将组成所述3D样本表面纹理图像的表面图像进行三角形拆分,获得拆分后的三角形;然后从该所有特征点中将所有位于拆分后的三角形的边界内的特征点剔除,获得剔除后的特征点即为所述H个特征点,如此,能够使得所述H个特征点的数量减少,能够降低计算量且不会影响计算精度。
具体来讲,所述三角形的边界可以为在三角形的三条内之内的预设宽度,所述预设宽度具体为不小于1且不大于5像素的宽度,例如可以为2像素、3像素或4像素的宽度等。
例如,以3D样本为长方体为例,所述3D样本表面纹理图像为长方体的表面纹理图像,具体可以由该长方体的六个长方形的表面图像组合而成,则将六个长方形的表面图像进行拆分,可以获得12个三角形,然后提取所述3D样本表面纹理图像的所有特征点,并在该所有特征点中剔除位于12个三角形的边界内的特征点,获得所述H个特征点。
S402、采用ORB算法提取所述H个特征点中的每个特征点的特征描述信息和方向;
具体的,采用ORB算法提取所述H个特征点中的每个特征点的特征描述信息和方向,其中,所述H个特征点中的每个特征点的特征描述信息和方向包括该特征点的P维描述向量,方向通常可以为0~1023的方向信息。
当然,所述H个特征点中的每个特征点的特征描述信息还可以包括该特征点的P维描述向量和P维描述向量的模的倒数。
S403、根据所述H个特征点中的每个特征点的位置信息、与所述第一次尺度变换对应的尺度、方向和特征描述信息,提取所述第一特征数据集。
具体的,在通过步骤S401-S402之后,获取到所述H个特征点中的每个特征点的位置信息、所述第一次尺度变换对应的尺度、特征描述信息和方向,从而可以提取到所述第一特征数据集,所述第一特征数据集包括所述H个特征点中的每个特征点的位置信息、所述第一次尺度变换对应的尺度、特征描述信息和方向。
在另一实施例中,所述第一特征数据集中的每个特征点在图像区域内的位置信息包括每个特征点在不同三维坐标系中的坐标信息,例如可以获取一个特征点在2个三维坐标系中的坐标信息,然后进行存储。当然也可以是3个、4个或5个等三维坐标系中的坐标信息,然后将其进行存储,以使得可以通过一个特征点存储的至少2个坐标信息来对该特征点的位置信息进行校正,以确保存储的每个特征点的位置信息的准确性。
在本申请第四实施例中,为了降低计算量,缩短生成所述图像检索数据库的时间,进而提高图像检索数据库的生成效率,所述方法还包括:所述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在所述第三预设范围阈值内。
其中,每次聚类分析获得的簇组中的聚类中心特征点的数量均在所述第二预设范围阈值内,可以采用与步骤S301-S304相同的方法来实现,具体参考步骤S301-S304的实现方式,为了说明书的简洁,在此就不再赘述了。
在具体实施过程中,其中,可以通过k-means聚类算法、层次聚类算法或FCM聚类算法等聚类算法对所述N个簇进行S次聚类分析,获取所述M个簇。
具体来讲,所述对所述N个簇进行S次聚类分析,获取所述M个簇,参见图5,具体为:
S501、在j=1时,对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取第1个簇组;
具体的,可以通过k-means聚类算法、层次聚类算法或FCM聚类算法等聚类算法对所述N个簇进行第一次聚类;判断所述第1个簇组中簇的数量是否在所述第三预设范围阈值内,若大于所述第三预设范围阈值中的最大值,则对所述第1个簇组进行进一步的聚类,即执行步骤S502;若所述第1个簇组中簇的数量在所述第三预设范围阈值内,则确定所述第1个簇组中所有簇为所述M个簇,且S=1。
S502、在j>1时,对第(j-1)个簇组中的每个簇的聚类中心特征点进行聚类分析,获得第j个簇组,其中,所述第(j-1)个簇组为在对所述N个簇进行(j-1)次聚类分析而获得的簇组,j依次取1到S的整数;
具体的,在所述第1个簇组中簇的数量大于所述第三预设范围阈值中的最大值时,执行步骤S502;在j=2时,对所述第1个簇组中的每个簇的聚类中心特征点进行聚类分析,获得第2个簇组;对所述第2个簇组中簇的数量与所述第三预设范围阈值进行对比,若在所述第三预设范围阈值内,则确定所述第2个簇组中所有簇为所述M个簇,且S=2;若大于所述第三预设范围阈值中的最大值,则对所述第2个簇组进行进一步的聚类;针对每一次聚类得到的第j个簇组中簇的数量与所述第三预设范围阈值进行对比,直至获取到第S个簇组。
S503、在j=S时,获得第S个簇组,其中,所述第S个簇组中的所有簇为所述M个簇,且所述M的值在所述第三预设范围阈值内。
具体的,根据步骤S501-S502获取到j=S时,获得第S个簇组,其中,所述第S个簇组中的所有簇为所述M个簇,且所述M的值在所述第三预设范围阈值内。
在具体实施过程中,所述获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息,具体为:
针对M个簇中的每个簇,执行以下步骤:
S5011、将簇中每个聚类中心特征点的P维描述向量进行归一化处理;
具体的,例如M个簇包括d5簇、d6簇和d7簇,则d5、d6和d7中的每一个簇均执行步骤S5011-步骤S5014,从而获得d5、d6和d7中的每一个簇的聚类中心特征点数据;其具体实现方式参考步骤S301。
S5012、将归一化处理后的每个聚类中心特征点中对应的第i维向量进行累加,将累加得到的初P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;
具体的,其具体实现方式参考步骤S302。
S5013、对该簇中所有聚类中心特征点的P维描述向量的模的倒数之和进行平均,将获取的第二平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;
具体的,其具体实现方式参考步骤S303。
S5014、根据所述初P维描述向量和所述第二平均值,获取该簇的聚类中心特征点的特征描述信息;
具体的,其具体实现方式参考步骤S304。
S5015、在对M个簇中的每个簇执行上述步骤之后,获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
具体来讲,在对所述M个簇中的每个簇执行步骤S5011-S5014之后,从而可以获取到所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
当然,在所述第一特征数据集中的每个特征点只包括P维描述向量时,对所述M个簇中的每个簇只需要执行步骤S5011-S5012之后,即可获取到所述M个簇中的每个次的聚类中心特征点的特征描述信息。
在本申请第五实施例中,所述方法还包括:
A11、获取所述多分辨率分析处理后的3D样本表面纹理图像的样本图像数据;
在具体实施过程中,将经过所述第一次尺度变换后的3D样本表面纹理图像生成金字塔图像,在生成金字塔图像时,可以以1/4的比例向下生成4层金字塔图像,则获取4层金字塔图像的图像数据,所述4层金字塔图像的图像数据为所述样本图像数据。
A12、再次对所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第三特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第三特征数据集中的特征点的数量与所述第一特征数据集中的特征点的数量不同,且每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
具体来讲,所述第三特征数据集中的特征点的数量可以大于所述第一特征数据集中的特征点的数量,即所述第三特征数据集中的特征点的数量大于H,在确定所述第三特征数据集中的特征点的数量是可以参考步骤S401中关于H的值的设定方式,只是所述三特征数据集中的特征点的数量要大于H,其中,所述第三特征数据集中每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息。
当然,所述第三特征数据集中的特征点的数量可以小于所述第一特征数据集中的特征点的数量。
A13、将所述样本图像数据和所述第三特征数据集存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
具体来讲,在通过步骤A11-A12获取到所述样本图像数据和所述第三特征数据集之后,将所述样本图像数据和所述第三特征数据集存储在图像检索数据库中且与所述3D样本表面纹理图像对应,以使得所述第一特征数据集出错之后,由于所述第三特征数据集中特征点的数量大于H,从而可以通过所述第三特征数据集对所述第一特征数据集进行校正,而无需重新执行步骤A1来获取所述第一特征数据集,能够有效降低计算量,且使得校正效率也得以提高。
具体的,所述第三特征数据集和所述样本图像数据存储方式具体参考第一特征数据集和节点数据的存储方式。
另外,本申请第一实施例可以与第二、第三、第四和第五实施例中的一个或多个进行组合,均可以解决本发明所要解决的技术问题;本申请第一实施例与第二、第三、第四和第五实施例中的一个或多个进行组合的技术方案均在本发明涵盖的范围之内。
参见图6,基于与上述图像检索数据库生成方法相似的技术构思,本发明的一实施例还提供了一种图像检索数据库生成装置,包括:
第一特征数据集提取单元601,用于对3D样本表面纹理图像进行第一次尺度变换,将经过所述第一次尺度变换后的3D样本表面纹理图像进行多分辨率分析处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第一特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
第一簇组获取单元602,用于对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
第二簇组获取单元603,用于对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
数据存储单元604,用于将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
具体的,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数。
具体的,所述生成装置还包括:
第一像素控制单元,用于在对3D样本表面纹理图像进行第一次尺度变换之后,控制经过所述第一次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第一预设像素数。
具体的,所述N个簇中的每个簇中特征点的数量均在第一预设范围阈值内。
具体的,第一特征数据集提取单元601,具体用于对所述第一特征数据集中的各个特征点进行聚类分析,获取K个簇,其中,K为正整数;针对K个簇中的每个簇,执行以下步骤:判断簇中特征点的数量是否在第一预设范围阈值内;若该簇中特征点的数量大于所述第一预设范围阈值的最大值,则拆分该簇,并控制拆分后的每个簇中特征点的数量在所述第一预设范围阈值内;若该簇中特征点的数量小于所述第一预设范围阈值的最小值,则删除该簇,将该簇中的所有特征点重新选择所属簇,并控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;在对所述K个簇中的每个簇执行上述步骤之后,获取到所述N个簇。
具体的,第一特征数据集提取单元601还包括:
第一特征描述信息获取子单元,具体用于针对N个簇中的每个簇,执行以下步骤:将簇中每个特征点的P维描述向量进行归一化处理;将归一化处理后的每个特征点中对应的第i维向量进行累加,将累加得到的新P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;对该簇中所有特征点的P维描述向量的模的倒数之和进行平均,将获取的第一平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;根据所述新P维描述向量和所述第一平均值,获取该簇的聚类中心特征点的特征描述信息;在对N个簇中的每个簇执行上述步骤之后,获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息。
具体的,第一特征数据集提取单元601,具体用于将所述多分辨率分析处理后的3D样本表面纹理图像采用ORB算法进行特征提取,提取所述第一特征数据集。
具体的,第一特征数据集提取单元601,具体用于将所述多分辨率分析处理后的3D样本表面纹理图像采用Fast算法、S i ft算法或Surf算法进行特征提取,将提取出来的H个特征点统一到同一坐标系中,并记录所述H个特征点中的每个特征点在同一坐标系中的坐标信息作为每个特征点的位置信息,其中,H为大于1的正整数;采用ORB算法提取所述H个特征点中的每个特征点的特征描述信息和方向;根据所述H个特征点中的每个特征点的位置信息、与所述第一次尺度变换对应的尺度、方向和特征描述信息,提取所述第一特征数据集。
具体的,所述M个簇中的每个簇中聚类中心特征点的数量均在第二预设范围阈值内,所述M在第三预设范围阈值内。
具体的,第二簇组获取单元603,具体用于对所述N个簇进行S次聚类分析,获取所述M个簇,其中,S为正整数,且每次聚类分析获得的簇组中的聚类中心特征点的数量均在所述第二预设范围阈值内。
具体的,第二簇组获取单元603,具体用于在j=1时,对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取第1个簇组;在j>1时,对第(j-1)个簇组中的每个簇的聚类中心特征点进行聚类分析,获得第j个簇组,其中,所述第(j-1)个簇组为在对所述N个簇进行(j-1)次聚类分析而获得的簇组,j依次取1到S的整数;在j=S时,获得第S个簇组,其中,所述第S个簇组中的所有簇为所述M个簇,且所述M的值在所述第三预设范围阈值内。
具体的,第二簇组获取单元603,还包括:
第二特征描述信息获取子单元,用于针对M个簇中的每个簇,执行以下步骤:将簇中每个聚类中心特征点的P维描述向量进行归一化处理;将归一化处理后的每个聚类中心特征点中对应的第i维向量进行累加,将累加得到的初P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;对该簇中所有聚类中心特征点的P维描述向量的模的倒数之和进行平均,将获取的第二平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;根据所述初P维描述向量和所述第二平均值,获取该簇的聚类中心特征点的特征描述信息;在对M个簇中的每个簇执行上述步骤之后,获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
具体的,所述生成装置还包括:
第二特征数据集提取单元,用于对3D样本表面纹理图像进行第二次尺度变换,将经过所述第二次尺度变换后的3D样本表面纹理图像进行特征提取,提取得到所述第二特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第二特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
三角形网络构建单元,用于根据所述第二特征数据集中的每个特征点,构建与所述3D样本表面纹理图像对应的Delaunay三角形网络;
数据存储单元604,还用于将所述第二特征数据集和所述Delaunay三角形网络对应的三角形数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
具体的,所述生成装置还包括:
第二像素控制单元,用于在对所述3D样本表面纹理图像进行第二次尺度变换之后,控制经过所述第二次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第二预设像素数。
具体的,所述生成装置还包括:
图像数据获取单元,用于获取所述多分辨率分析处理后的3D样本表面纹理图像的样本图像数据;
第三特征数据集点提取单元,用于再次对所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第三特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第三特征数据集中的特征点的数量与所述第一特征点数据集中的特征点的数量不同;
数据存储单元604,还用于将所述样本图像数据和所述第三特征数据集存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
参见图7,与上述图像检索数据库生成方法相似的构思,本发明的一实施例还提供了一种图像检索数据库,该数据库内存储有若干3D样本表面纹理图像的内容数据,每个3D样本表面纹理图像的内容数据包括:第一特征数据集701和节点数据702,其中,第一特征数据集701是将3D样本表面纹理图像进行第一次尺度变换后进行多分辨率分析处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集出来的特征点集数据,其包括每个特征点在在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,第一特征数据集701中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;节点数据702包括N个簇和M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息,其中,所述N个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将第一特征数据集701中的各个特征点进行聚类分析而获得的,其中,N为正整数;所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述N个簇中的每个簇的聚类中心特征点进行聚类分析而获得的,其中,M为正整数,且M不大于N。
在另一实施例中,每个3D样本表面纹理图像的内容数据还包括:第二特征数据集703和Delaunay三角形网络数据704,其中,第二特征数据集703是将3D样本表面纹理图像进行第二次尺度变换后进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,第二特征数据集703中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息Delaunay三角形网络数据704是对所述第二特征数据集中的所有特征点进行Delaunay三角剖分处理而得到的数据。
在另一实施例中,每个3D样本表面纹理图像的内容数据还包括:第三特征数据集705和样本图像数据706,其中,第三特征数据集705是再次对所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,第三特征数据集705中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;样本图像数据706是将所述多分辨率分析处理后的3D样本表面纹理图像的图像数据;第三特征数据集705中的特征点的数量与所述第一特征数据集中的特征点的数量不同。
基于与上述图像检索数据库生成方法相应的技术构思,本申请另一实施例还提供一种实现增强现实的方法,参见图8、包括以下步骤:
S801、实时采集包含3D目标物体的环境场景图像;
S802、通过图像检索获取目标图像对应的检索结果图像,以及获取与所述检索结果图像对应的虚拟对象,其中,所述目标图像为所述环境场景图像中与所述3D目标物体对应的图像;
S803、对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第四特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
S804、从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态,其中,所述图像检索数据库为图7对应的图像检索数据库;
S805、以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在当前帧图像之前;
S806、根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在当前帧图像中显示的3D目标物体对应的位置上。
其中,在步骤S801中,可以通过摄像设备例如摄像头、摄像机等实时采集包含有3D目标物体的环境场景图像,这时,可以从所述环境场景图像中提取与所述3D目标物体对应的目标图像。
具体来讲,在通过摄像设备获取包含3D目标物体的环境场景图像时,拍摄获得的环境场景图像中除所述3D目标物体之外,通常还包含有其它图像,例如智能手机拍摄一本书的环境场景图像中,除该书之外还包含有放置该书的桌面部分图像,这时,可以通过四边形提取方法从所述环境场景图像中提取该书对应的图像(目标图像),而将所述环境场景图像中除3D目标物体之外的图像去除,以使得获取的目标图像中包含更少的除3D目标物体之外的其它图像,使得后续对目标图像处理的精度更高,其中,所述四边形提取方法具体可以参考申请号201410046366.2的专利,在此就不再赘述了。
接下来执行步骤S802,在该步骤中,可以通过图像检索获取所述目标图像对应的图像检索结果;若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像。
具体来讲,在获取所述目标图像对应的检索结果图像之后,获取与其对应的虚拟对象,其中,所述虚拟对象为与所述检索结果图像相关的显示信息;例如所述检索结果图像中的显示目标为汽车时,所述虚拟对象可以是包含该汽车轴距、排量、变速箱类别和油耗等性能参数,还可以包括该汽车的品牌等属性参数等。
接下来执行步骤S803,在该步骤中,所述第四特征数据集的提取方法具体可以采用步骤S101和图4对应的实施例的提取方法,其中,所述第四特征数据集的提取方式采用与图像检索数据库生成方法相同的提取方法。
具体的,步骤S803可以在步骤S801和步骤S802之间执行,也可以与步骤S802同时执行,本申请不作具体限制。
在执行步骤S803之后,执行步骤S804,由于所述检索结果图像对应的节点数据和所述第一特征数据集已经存储在所述图像检索数据库中,通过索引即可查找到对应的节点数据和第一特征数据集,然后将查找到的所述检索结果图像对应的节点数据和第一特征数据集与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态。
具体来讲,由于可以从所述图像检索数据库中直接读取所述检索结果图像对应的节点数据和第一特征数据集,然后与所述第四特征数据集进行匹配,从而能够省去计算所述检索结果图像对应的节点数据和第一特征数据集的计算量,能够有效缩短获取初始姿态的时间,进而提高获取初始姿态的效率,其中,所述初始姿态可以用Rt进行表示,其中R表示旋转矩阵(3x3),t表示位移向量(tx,ty,tz),当然,所述初始姿态还可以为所述3D目标物体与所述检索结果图像的相对姿态。
具体的,在进行姿态匹配时,需要使用第一特征数据集和第四特征数据集中均包含每个特征点在三维坐标系中的坐标信息和法线向量信息进行姿态匹配,而通过特征点在三维坐标系中的坐标信息和法线向量信息能够三维坐标系中的坐标信息和法线向量信息,能够对每个特征点在三维坐标系的位置进行更精确的定位,如此,能够有效提高姿态匹配得到初始姿态的准确度,而在初始姿态准确度提高的前提下,后续利用初始姿态跟踪得到的当前帧图像的姿态的精确度也得以提高,进而能够提高虚拟对象与环境场景图像中显示的3D目标物体的实时配准的准确性,显著地增强了虚拟对象叠加到环境场景图像中的协调性与一致性。
接下来执行步骤S805,在该步骤中,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,具体为:可以首先利用所述初始姿态对当前帧图像的姿态进行跟踪;再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
具体来讲,可以首先利用所述初始姿态对当前帧图像的姿态进行跟踪,获取跟踪得到的当前帧图像的第一姿态;在获取到所述第一姿态之后,再利用当前帧之前的相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,获得所有当前帧图像的姿态,其中,所述相邻多帧图像中至少存在一帧图像与当前帧图像相邻,且其中的每一帧图像至少与另一帧图像相邻。
具体来讲,在进行跟踪时,可以采用归一化互相关(Normalized CrossCorrelation method,简称NCC)匹配算法、序贯相似性检测(sequential similaritydetection 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时刻时当前帧图像的第三姿态,以此类推,通过此种方法,可以连续获取到当前帧图像的姿态。
接下来执行步骤S806,在通过步骤S805获取到当前帧图像的姿态之后,根据所述环境场景图像的当前帧与所述虚拟对象之间的相对位姿,将所述虚拟对象叠加在当前帧图像中显示的3D目标物体对应的位置上,从而在所述环境场景图像的当前帧图像中显示所述虚拟对象。具体地,获取预设的所述虚拟对象的姿态,根据所述环境场景图像的当前帧的姿态,计算所述环境场景图像的当前帧与所述虚拟对象之间的相对姿态,根据所述相对姿态,将所述虚拟对象叠加在所述环境场景图像中进行显示。
在具体实施过程中,本发明实施例中会预设所述虚拟对象的姿态,由于所述检索结果图像为3D样本表面纹理图像,从而可以根据预先设置所述虚拟对象的姿态,确定所述虚拟对象与3D样本物体的每一个面的相对姿态;而在获取通过步骤S805获取到当前帧图像的姿态之后,可以根据当前帧图像的姿态确定出所述3D目标物体在当前帧图像中的姿态,而这时,所述检索结果图像对应的3D样本物体为所述3D目标物体,如此,在确定出所述3D目标物体在当前帧图像中的姿态之后,根据所述虚拟对象与3D样本物体的每一个面的相对姿态,可以将所述虚拟对象精确的叠加在当前帧图像中显示的3D目标物体对应的位置上,从而实时的将所述虚拟对象精确的叠加在当前帧图像中显示的3D目标物体对应的位置上,进而使得所述虚拟对象能够准确的融合在所述环境场景图像中进行显示,使得提高所述环境场景图像中显示的3D目标物体与虚拟对象的配准的准确性,显著地增强了虚拟对象叠加到环境场景图像中的协调性与一致性。
在另一实施例中,所述以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,还可以为::
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算法等以在更接近准确位置的所述初始姿态下进行跟踪,获取第三姿态集,如此,使得跟踪得到的所述第三姿态集与所述初始姿态的匹配的准确度更高,使得根据当前帧图像的姿态确定出当前显示的虚拟对象的姿态与3D目标物体的匹配度得以进一步提高,从而能够进一步提高虚拟对象与3D目标物体的实时配准的准确性,显著地增强了虚拟对象叠加到环境场景图像中的协调性与一致性。
例如,以所述预设帧数为3帧,且T=2为例,由于跟踪的第四帧图像对应的帧数为4>3,则根据所述第二姿态和所述第三姿态进行姿态预测,再根据NCC匹配算法进行跟踪,获取10:10:14时刻时当前帧图像的第四姿态为所述第四帧图像对应的姿态;同理,在10:10:15时刻,跟踪到第五帧图像对应的姿态是根据所述第四姿态和所述第三姿态而获得的第五姿态,以此类推,从而获得10:10:13时刻之后多个时刻的姿态组成所述第三姿态集,如此,由所述第二姿态集和所述第三姿态集组成所述起始点之后的环境场景图像的当前帧的姿态,然后在执行步骤S806,将所述虚拟对象叠加在所述环境场景图像中进行显示,提高虚拟对象与3D目标物体的实时配准的准确性,显著地增强了虚拟对象叠加到环境场景图像中的协调性与一致性。
在具体实施过程中,在根据所述前T帧图像的姿态对当前帧图像的姿态进行预测之后,若未跟踪到当前帧图像的姿态,则重新执行步骤S802-S806,使得根据重新计算得到的初始姿态再进行跟踪。
在另一实施例中,所述若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,具体为:若所述图像检索结果包括多个检索结果图像,则采用排错方法对所述多个检索结果图像进行排错,根据排错结果,从所述图像检索结果中获取与所述目标图像匹配的匹配检索结果图像集;从所述匹配检索结果图像集中获取所述特定检索结果图像。
在具体实施过程中,参见图9,所述排错方法分别对每一个检索结果图像进行排错,针对每一个检索结果图像执行以下步骤:
S901、从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态;
其中,S901的步骤与步骤S804的步骤相同,其实施方式参考步骤S904的实施方式。
S902、根据所述初始姿态,将所述目标图像和所述检索结果图像匹配特征点集的坐标转换到同一坐标系中,并在转换后的坐标系中对所述目标图像匹配特征点集进行Delaunay三角剖分,得到所述目标图像对应的Delaunay三角形网络;
在具体实施过程中,根据所述初始姿态,可以将所述目标图像匹配特征点集的坐标转换到所述检索结果图像坐标系中,或将所述检索结果图像匹配特征点集的坐标转换到所述目标图像坐标系中;以及对所述目标图像匹配特征点集中的特征点,按坐标系转换后的坐标进行空间排序,并根据排序结果构建所述目标图像对应的Delaunay三角形网络。
具体来讲,在进行坐标转换时,若所述初始姿态记为Rt,其中R表示旋转矩阵(3x3),t表示位移向量(tx,ty,tz),特征点对中检索结果图像特征点的坐标以三维模型坐标系的坐标原点为原点,记为(x,y,z),(xC,yC,zC)=(x,y,z)*R+t表示相机坐标系中的坐标(目标图像来源于移动平台的摄像头).通过变换上述方程用xC,yC,zC表示(x,y,z)将匹配点对集合中所有目标图像上的三维坐标点转换到检索结果图像的三维模型坐标系中记为(xR,yR,zR),从而实现坐标转换。
具体的,所述空间排序例如可以为中值排序、插入排序、三路划分排序等排序方法中的任一钟排序方法,其具体实现方式可以参考步骤S102的具体实施方式。在本步骤中,特征点空间排序方式与检索图像数据库生成时样本表面纹理图像特征点空间排序方式一致。
S903、从所述检索结果图像对应的Delaunay三角形网络中提取与所述匹配特征点集对应的匹配Delaunay三角形网络,其中,所述检索结果图像对应的Delaunay三角形网络是使用步骤A1-A3的方法获得并存储在所述图像检索数据库中的;
具体来讲,可以从所述检索结果图像对应的Delaunay三角形网络中删除未匹配的特征点所对应的边,从而提取到所述匹配Delaunay三角形网络。当然,还可以从所述检索结果图像对应的Delaunay三角形网络中保留匹配的特征点所组成的三角形,即可提取到所述匹配Delaunay三角形网络。
S904、将所述目标图像对应的Delaunay三角形网络和所述匹配Delaunay三角形网络进行比对,若两个三角形网络比对结果一致,则判定该图像检索结果正确;否则判定该图像检索结果错误。
具体来讲,将步骤S902和S903获取到的所述目标图像对应的Delaunay三角形网络和所述匹配Delaunay三角形网络进行比对,若两个三角形网络比对结果一致,则判定该图像检索结果正确;否则判定该图像检索结果错误;并将判定结果正确的检索结果图像保留,而将判定错误的检索结果图像删除。
其中,本发明方案需要专用方法生成专用的图像检索数据库,所述图像检索数据库中存储有与3D样本表面纹理图像对应的Delaunay三角形网络,利用匹配特征点对集合获取与3D目标物体对应的目标图像和检索结果图像的Delaunay三角形网络进行对比,由于Delaunay三角形网络的唯一性特性,利用对比结果来对检索结果图像进行排错(校正),将算法上正确(满足约束条件的底线),但人类认知上会判定为错误的检索结果剔除,如此,能够有效对检索结果图像进行校正,使得校正后的检索结果图像的准确度更高,进而降低检索结果图像与目标图像不匹配的概率,进一步提高目标图像和检索结果图像的匹配度,使得与检索结果图像对应的虚拟对象能够在真实场景中进行更精确的定位,进一步降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
进一步的,由于图像检索数据库中存储有检索结果图像对应的Delaunay三角形网络,使得在进行Delaunay三角形网络进行对比时,可以直接从图像检索数据库中读取检索结果图像对应的Delaunay三角形网络,然后利用匹配特征点对集合来调整Delaunay三角形网络,再将调整后的匹配Delaunay三角形网络与目标数据的Delaunay三角形网络进行比对,使得获取匹配Delaunay三角形网络的计算量变小,从而能够有效缩短时间,从而提高对比的效率,以及在匹配特征点对集合的匹配效率和Delaunay三角形网络对比的效率都提高的基础上,能够有效缩短检索校正的时间,进而提高检索校正的效率。
在具体实施过程中,参见图10,所述排错方法分别对每一个检索结果图像进行排错,针对每一个检索结果图像还可以执行以下步骤:
S1001、从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态;
其中,S1001的步骤与步骤S804的步骤相同,其实施方式参考步骤S904的实施方式。
S1002、根据所述初始姿态,将所述目标图像和所述检索结果图像匹配特征点集的坐标转换到同一坐标系中;
其中,步骤S1002具体可以参考步骤S902的的实施方式。
S1003、根据所述目标图像匹配特征点所对应的检索结果图像特征点在检索结果图像中所处的位置,对坐标系转换后的目标图像匹配特征点集进行子集划分;
具体来讲,在进行子集划分时,一般分成3*3的块至7*7的块,对9到49个块中的特征点子集集合以子集为单位进行后续步骤处理(即步骤S604至步骤S606中的处理过程均以子集为单位)避免特征点集合匹配对中由于各特征点子集姿态不同而导致计算排错结果误差过大。
参见图11,左侧为检索结果图像,右侧为目标图像,二者匹配特征点对包括A A’,BB’,C C’,D D’,E E’,F F’,在对匹配特征点集划分子区域时,按照3D目标物体匹配特征点A’B’C’D’E’F’所对应的检索结果图像特征点A B C D E F在检索结果图像中所处的位置进行子集划分,如图11所示,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四点构成的检索结果图像子集合称一个子集对。在本步骤中,之所以选择根据目标图像匹配特征点所对应的检索结果图像特征点在检索结果图像中所处的位置,对坐标系转换后的目标图像匹配特征点集进行子集划分,是因为图像检索是以数据库中存储的3D样本表面纹理图像作为比对基础,3D样本表面纹理图像是一个完整图像,而在针对3D目标物体在拍摄过程中,可能存在不是完全图像等情况(即只拍了3D目标物体的一部分),若以目标图像作为子集划分基础,出现误差可能性较大。
S1004、对所述目标图像子集中的特征点按坐标系转换后的坐标进行空间排序,根据排序结果构建所述目标图像对应的Delaunay三角形网络;
具体的,在本步骤中,特征点空间排序方式与检索图像数据库生成时3D样本表面纹理图像特征点空间排序方式一致。
S1005、从图像检索数据库中获取检索结果图像所对应的Delaunay三角形网络,将未匹配上的特征点子集在该Delaunay三角形网络中删除,得到匹配点对集合中检索结果图像子集所对应的Delaunay三角形网络;
S1006、将各子集对所对应的上述两个Delaunay三角形网络进行比对(这里所说的上述两个Delaunay三角形网络指步骤S1004和S1005中分别得到的各子集对所对应的两个Delaunay三角形网络),若超过预设比例的子集对满足两个三角形网络比对结果一致,则判定该图像检索结果正确;否则判定该图像检索结果错误。
具体的,本步骤中,预设比例可根据实际情况自由设置,设置范围优选在1/3至1/6之间,假设:预设比例可设置为2/3,此时,若超过2/3的子集对满足两个三角形网络比对结果一致,则判定图像检索结果正确。
具体的,本步骤中,预设比例可根据实际情况自由设置,设置范围优选在1/3至1/6之间,假设:预设比例设置为2/3,此时,若超过2/3的子集对满足两个三角形网络比对结果一致,则判定图像检索结果正确。
采用图10的流程方法,能有效降低扭曲图像对检索结果的影响,进一步提高检索结果准确率。图10实施例对图像匹配算法不做限定,只要基于特征提取的图像检索均可以采用本发明实施例方式进行检索结果排错。
在具体实施过程中,根据所述排错结果,获取所述匹配检索结果图像集,具体可以采用图9或图10对应实施例的排错方法获取到图像检索结果正确的所有检索结果图像组成匹配检索结果图像集。
例如,若图像检索结果为a1、b1和c1的3D样本表面纹理图像,通过图9的排错方法确定a1和b1与3D目标物体对应的目标图像的三角形网络比对结果一致,而c1与目标图像的三角形网络结果比对不一致,则确定a1和b1组成所述匹配检索结果图像集。
具体来讲,在获取所述匹配检索结果图像集之后,可以从所述匹配检索结果图像集中获取特定检索结果图像,其中,所述特定检索结果图像与所述目标图像匹配分值大于预设分值;
具体的,所述预设分值可以根据时间情况来设定,例如可以为92%、89%或89%等值,本申请不作具体限制;
具体的,在获取所述特定检索结果图像时,可以采用两种方法来获取,其中,第一种获取方法,可以首先获取所述匹配检索结果图像集中的每个检索结果图像与所述目标图像的匹配分值,然后对每个检索结果图像与所述目标图像的匹配分值进行排序,首先将最高的匹配分值与所述预设分值进行比对,若最高的匹配分值大于所述预设分值,则将最高的匹配分值对应的检索结果图像作为所述特定检索结果图像;若小于所述预设分值,则调整所述预设分值,使其小于最高的匹配分值,通过此种方法,可以始终将所述匹配检索结果图像集中与所述目标图像最匹配的检索结果图像作为所述特定检索结果图像,在确保匹配度较高的情况下,使得后续跟踪得到的当前帧图像与所述目标图像的匹配度也得以提高。
具体的,第二种获取方法,在获取所述特定检索结果图像时,可以首先获取所述匹配检索结果图像集中的每个检索结果图像与所述目标图像的匹配分值,还可以依次将每个检索结果图像与所述目标图像的匹配分值依次与所述预设分值进行比对,直至找到高于所述预设分值的第一个匹配分值,则将与所述第一个匹配分值对应的检索结果图像作为所述特定检索结果图像,而采用此种方法,获得的所述特定检索结果图像可能不为所述匹配检索结果图像集中与所述目标图像最匹配的检索结果图像,与上面的第一种获取方法相比,虽然其匹配度稍差,但是仍能在一定程度上确保匹配度处于较高的状态,同样也能够使得后续计算得到的图像与所述目标图像的匹配度也得以提高。
具体的,在获取到所述目标图像在每一帧图像中的姿态之后,根据所述目标图像在每一帧图像中的姿态,获取相应的模型视图矩阵,再结合拍摄所述目标图像的摄像设备坐标系所对应的投影矩阵,将所述虚拟对象融合在包含所述目标图像的环境场景图像的当前帧图像中。
在另一实施例中,在对所述目标图像进行尺度变换之后,以及在将经过所述尺度变换后的目标图像进行特征提取之前,所述方法还包括:控制经过所述尺度变换后的目标图像的长边的像素数为第一预设像素数,其中,所述第一预设像素数可以根据实际情况来设定,具体参考对3D样本表面纹理图像的长边的像素数为第一预设像素数的叙述。
当然,还可以在对所述目标图像进行所述尺度变换的过程中或之前,就预先设定经过所述尺度变换后的目标图像的长边的像素数为第一预设像素数,从而使得经过所述尺度变换后,直接得到的目标图像的长边的像素数为所述第一预设像素数。
由于获取的所述特定检索结果图像与所述目标图像的匹配度较高,使得在通过所述特定检索结果图像的相关信息估计出的所述目标图像的初始姿态的精确度也较高,在所述初始姿态的精确度较高的情况下,在利用所述初始姿态进行跟踪而得到环境场景图像的当前帧的姿态时,使得跟踪得到的当前帧的姿态的精确度也得以提高,从而在将虚拟对象显示在当前帧图像中时,能够有效提高虚拟对象与环境场景图像中显示的3D目标物体的实时配准的准确性,显著地增强了虚拟对象叠加到环境场景图像中的协调性与一致性。
进一步,由于获取的所述特定检索结果图像与所述目标图像的匹配度较高,而且通过特征点在三维坐标系中的坐标信息和法线向量信息能够三维坐标系中的坐标信息和法线向量信息,能够对每个特征点在三维坐标系的位置进行更精确的定位,如此,能够进一步提高提高姿态匹配得到初始姿态的准确度,而在初始姿态准确度提高的前提下,后续利用初始姿态跟踪得到的当前帧图像的姿态的精确度也得以提高,进而进一步提高虚拟对象与环境场景图像中显示的3D目标物体的实时配准的准确性,显著地增强了虚拟对象叠加到环境场景图像中的协调性与一致性。
基于与上述实现增强现实的方法相似的技术构思,本申请另一实施例还提供一种增强现实装置,参见图12,包括:
图像采集单元121,用于实时采集包含3D目标物体的环境场景图像;
检索结果图像获取单元122,用于通过图像检索获取目标图像对应的检索结果图像,其中,所述目标图像为所述环境场景图像中与所述3D目标物体对应的图像;
虚拟对象获取单元123,用于获取与所述检索结果图像对应的虚拟对象;
目标图像数据集获取单元124,用于对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第四特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
初始姿态获取单元125,用于从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态,其中,所述图像检索数据库为图7实施例对应的图像检索数据库;
当前帧图像姿态跟踪单元126,用于以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在当前帧图像之前;
虚拟对象叠加单元127,用于根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在当前帧图像中显示的3D目标物体对应的位置上。
具体的,当前帧图像姿态跟踪单元126,具体用于利用所述初始姿态对当前帧图像的姿态进行跟踪;再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
具体的,所述增强现实装置还包括:
检测单元,用于检测跟踪到的图像的帧数是否超过预设帧数;
当前帧图像姿态跟踪单元126,还用于在跟踪到帧数未超过所述预设帧数时,根据前一帧图像的姿态对当前帧图像的姿态进行跟踪;以及在跟踪到的帧数超过所述预设帧数时,根据前T帧图像的姿态对当前帧图像中的姿态进行预测,根据预测结果进行跟踪,其中,所述前T帧图像与当前帧图像相邻,且T不小于2且不大于所述预设帧数。
具体的,检索结果图像获取单元122,具体用于通过图像检索获取所述目标图像对应的图像检索结果;若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像。
具体的,所述增强现实装置,还包括:
排错单元,用于在所述图像检索结果包括多个检索结果图像时,采用排错方法对所述多个检索结果图像进行排错;
匹配检索结果图像集获取单元,用于根据排错结果,从所述图像检索结果中获取与所述目标图像匹配的匹配检索结果图像集;
检索结果图像获取单元122,还用于从所述匹配检索结果图像集中获取所述特定检索结果图像。
与现有技术相比,本发明具有如下有益效果:
本发明通过图像检索数据库中存储有3D样本表面纹理图像的第一特征数据集和节点数据,且所述节点数据包括3D样本表面纹理图像对应的N个簇和M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息,使得在对环境场景图像中的3D目标物体对应的目标图像进行姿态匹配时,可以将采集到的目标图像与图像检索数据库中大量的3D样本表面纹理图像进行图像检索,获取到与目标图像对应的检索结果图像,再将所述检索结果图像与目标图像进行姿态匹配,与现有技术相比,在大量3D样本表面纹理图像中进行图像检索得到的检索结果图像与目标图像匹配度得以提高,在匹配度较高的情况下,使得与检索结果图像对应的虚拟对象能够在真实场景中进行精确的定位,降低虚拟对象在真实场景中的叠加融合存在偏差的概率。
本发明实施例中所述模块或单元,可以通过通用集成电路,例如CPU(CentralProcessing Unit,中央处理器),或通过ASIC(Application SpecificIntegratedCircuit,专用集成电路)来实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (43)

1.一种图像检索数据库生成方法,其特征在于,包括:
对3D样本表面纹理图像进行第一次尺度变换,将经过所述第一次尺度变换后的3D样本表面纹理图像进行多分辨率分析处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第一特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
2.如权利要求1所述的方法,其特征在于,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数。
3.如权利要求2所述的方法,其特征在于,在对3D样本表面纹理图像进行第一次尺度变换之后,所述方法还包括:
控制经过所述第一次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第一预设像素数。
4.如权利要求3所述的方法,其特征在于,所述N个簇中的每个簇中特征点的数量均在第一预设范围阈值内。
5.如权利要求4所述的方法,其特征在于,所述对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇,具体为:
对所述第一特征数据集中的各个特征点进行聚类分析,获取K个簇,其中,K为正整数;
针对K个簇中的每个簇,执行以下步骤:
判断簇中特征点的数量是否在第一预设范围阈值内;
若该簇中特征点的数量大于所述第一预设范围阈值的最大值,则拆分该簇,并控制拆分后的每个簇中特征点的数量在所述第一预设范围阈值内;
若该簇中特征点的数量小于所述第一预设范围阈值的最小值,则删除该簇,将该簇中的所有特征点重新选择所属簇,并控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;
在对所述K个簇中的每个簇执行上述步骤之后,获取到所述N个簇。
6.如权利要求5所述的方法,其特征在于,所述获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息,具体为:
针对N个簇中的每个簇,执行以下步骤:
将簇中每个特征点的P维描述向量进行归一化处理;
将归一化处理后的每个特征点中对应的第i维向量进行累加,将累加得到的新P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;
对该簇中所有特征点的P维描述向量的模的倒数之和进行平均,将获取的第一平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;
根据所述新P维描述向量和所述第一平均值,获取该簇的聚类中心特征点的特征描述信息;
在对N个簇中的每个簇执行上述步骤之后,获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息。
7.如权利要求2或6所述的方法,其特征在于,所述将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,具体为:
将所述多分辨率分析处理后的3D样本表面纹理图像采用ORB算法进行特征提取,提取所述第一特征数据集。
8.如权利要求7所述的方法,其特征在于,所述将所述多分辨率分析处理后的3D样本表面纹理图像采用ORB算法进行特征提取,提取所述第一特征数据集,具体为:
将所述多分辨率分析处理后的3D样本表面纹理图像采用Fast算法、Sift算法或Surf算法进行特征提取,将提取出来的H个特征点统一到同一坐标系中,并记录所述H个特征点中的每个特征点在同一坐标系中的坐标信息作为每个特征点的位置信息,其中,H为大于1的正整数;
采用ORB算法提取所述H个特征点中的每个特征点的特征描述信息和方向;
根据所述H个特征点中的每个特征点的位置信息、与所述第一次尺度变换对应的尺度、方向和特征描述信息,提取所述第一特征数据集。
9.如权利要求1-6任一项所述的方法,其特征在于,所述M个簇中的每个簇中聚类中心特征点的数量均在第二预设范围阈值内,所述M在第三预设范围阈值内。
10.如权利要求9所述的方法,其特征在于,所述对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇,具体为:
对所述N个簇进行S次聚类分析,获取所述M个簇,其中,S为正整数,且每次聚类分析获得的簇组中的聚类中心特征点的数量均在所述第二预设范围阈值内。
11.如权利要求10所述的方法,其特征在于,所述对所述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的值在所述第三预设范围阈值内。
12.如权利要求11所述的方法,其特征在于,所述获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息,具体为:
针对M个簇中的每个簇,执行以下步骤:
将簇中每个聚类中心特征点的P维描述向量进行归一化处理;
将归一化处理后的每个聚类中心特征点中对应的第i维向量进行累加,将累加得到的初P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;
对该簇中所有聚类中心特征点的P维描述向量的模的倒数之和进行平均,将获取的第二平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;
根据所述初P维描述向量和所述第二平均值,获取该簇的聚类中心特征点的特征描述信息;
在对M个簇中的每个簇执行上述步骤之后,获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
13.如权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
对3D样本表面纹理图像进行第二次尺度变换,将经过所述第二次尺度变换后的3D样本表面纹理图像进行特征提取,提取得到第二特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第二特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
根据所述第二特征数据集中的每个特征点,构建与所述3D样本表面纹理图像对应的Delaunay三角形网络;
将所述第二特征数据集和所述Delaunay三角形网络对应的三角形数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
14.如权利要求13所述的方法,其特征在于,在对所述3D样本表面纹理图像进行第二次尺度变换之后,所述方法还包括:
控制经过所述第二次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第二预设像素数。
15.如权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
获取所述多分辨率分析处理后的3D样本表面纹理图像的样本图像数据;
再次对所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第三特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第三特征数据集中的特征点的数量与所述第一特征点数据集中的特征点的数量不同,所述第三特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
将所述样本图像数据和所述第三特征数据集存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
16.一种图像检索数据库生成装置,其特征在于,包括:
第一特征数据集提取单元,用于对3D样本表面纹理图像进行第一次尺度变换,将经过所述第一次尺度变换后的3D样本表面纹理图像进行多分辨率分析处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第一特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
第一簇组获取单元,用于对所述第一特征数据集中的各个特征点进行聚类分析,获取N个簇和所述N个簇中的每个簇的聚类中心特征点的特征描述信息,其中,N为正整数;
第二簇组获取单元,用于对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取M个簇和所述M个簇中的每个簇的聚类中心特征点的特征描述信息,其中,M为正整数,且M不大于N;
数据存储单元,用于将所述第一特征数据集和节点数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应,其中,所述节点数据包括所述N个簇和所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息。
17.如权利要求16所述的生成装置,其特征在于,所述第一特征数据集中每个特征点的特征描述信息包括该特征点的P维描述向量和P维描述向量的模的倒数,其中,P为不小于2的整数。
18.如权利要求17所述的生成装置,其特征在于,所述生成装置还包括:
第一像素控制单元,用于在对3D样本表面纹理图像进行第一次尺度变换之后,控制经过所述第一次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第一预设像素数。
19.如权利要求18所述的生成装置,其特征在于,所述N个簇中的每个簇中特征点的数量均在第一预设范围阈值内。
20.如权利要求19所述的生成装置,其特征在于,所述第一特征数据集提取单元,具体用于对所述第一特征数据集中的各个特征点进行聚类分析,获取K个簇,其中,K为正整数;针对K个簇中的每个簇,执行以下步骤:判断簇中特征点的数量是否在第一预设范围阈值内;若该簇中特征点的数量大于所述第一预设范围阈值的最大值,则拆分该簇,并控制拆分后的每个簇中特征点的数量在所述第一预设范围阈值内;若该簇中特征点的数量小于所述第一预设范围阈值的最小值,则删除该簇,将该簇中的所有特征点重新选择所属簇,并控制所述特征点重新选择所属簇中的每个簇簇中特征点的数量在所述第一预设范围阈值内;在对所述K个簇中的每个簇执行上述步骤之后,获取到所述N个簇。
21.如权利要求20所述的生成装置,其特征在于,所述第一特征数据集提取单元还包括:
第一特征描述信息获取子单元,具体用于针对N个簇中的每个簇,执行以下步骤:将簇中每个特征点的P维描述向量进行归一化处理;将归一化处理后的每个特征点中对应的第i维向量进行累加,将累加得到的新P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;对该簇中所有特征点的P维描述向量的模的倒数之和进行平均,将获取的第一平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;根据所述新P维描述向量和所述第一平均值,获取该簇的聚类中心特征点的特征描述信息;在对N个簇中的每个簇执行上述步骤之后,获取所述N个簇中的每个簇的聚类中心特征点的特征描述信息。
22.如权利要求17或21所述的生成装置,其特征在于,所述第一特征数据集提取单元,具体用于将所述多分辨率分析处理后的3D样本表面纹理图像采用ORB算法进行特征提取,提取所述第一特征数据集。
23.如权利要求22所述的生成装置,其特征在于,所述第一特征数据集提取单元,具体用于将所述多分辨率分析处理后的3D样本表面纹理图像采用Fast算法、Sift算法或Surf算法进行特征提取,将提取出来的H个特征点统一到同一坐标系中,并记录所述H个特征点中的每个特征点在同一坐标系中的坐标信息作为每个特征点的位置信息,其中,H为大于1的正整数;采用ORB算法提取所述H个特征点中的每个特征点的特征描述信息和方向;根据所述H个特征点中的每个特征点的位置信息、与所述第一次尺度变换对应的尺度、方向和特征描述信息,提取所述第一特征数据集。
24.如权利要求16-21任一项所述的生成装置,其特征在于,所述M个簇中的每个簇中聚类中心特征点的数量均在第二预设范围阈值内,所述M在第三预设范围阈值内。
25.如权利要求24所述的生成装置,其特征在于,所述第二簇组获取单元,具体用于对所述N个簇进行S次聚类分析,获取所述M个簇,其中,S为正整数,且每次聚类分析获得的簇组中的聚类中心特征点的数量均在所述第二预设范围阈值内。
26.如权利要求25所述的生成装置,其特征在于,所述第二簇组获取单元,具体用于在j=1时,对所述N个簇中的每个簇的聚类中心特征点进行聚类分析,获取第1个簇组;在j>1时,对第(j-1)个簇组中的每个簇的聚类中心特征点进行聚类分析,获得第j个簇组,其中,所述第(j-1)个簇组为在对所述N个簇进行(j-1)次聚类分析而获得的簇组,j依次取1到S的整数;在j=S时,获得第S个簇组,其中,所述第S个簇组中的所有簇为所述M个簇,且所述M的值在所述第三预设范围阈值内。
27.如权利要求26所述的生成装置,其特征在于,所述第二簇组获取单元,还包括:
第二特征描述信息获取子单元,用于针对M个簇中的每个簇,执行以下步骤:将簇中每个聚类中心特征点的P维描述向量进行归一化处理;将归一化处理后的每个聚类中心特征点中对应的第i维向量进行累加,将累加得到的初P维描述向量作为该簇的聚类中心特征点的P维描述向量,其中,i依次取1-P的值;对该簇中所有聚类中心特征点的P维描述向量的模的倒数之和进行平均,将获取的第二平均值作为所述该簇的聚类中心特征点的P维描述向量的模的倒数;根据所述初P维描述向量和所述第二平均值,获取该簇的聚类中心特征点的特征描述信息;在对M个簇中的每个簇执行上述步骤之后,获取所述M个簇中的每个簇的聚类中心特征点的特征描述信息。
28.如权利要求16-21任一项所述的生成装置,其特征在于,所述生成装置还包括:
第二特征数据集提取单元,用于对3D样本表面纹理图像进行第二次尺度变换,将经过所述第二次尺度变换后的3D样本表面纹理图像进行特征提取,提取得到所述第二特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第二特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
三角形网络构建单元,用于根据所述第二特征数据集中的每个特征点,构建与所述3D样本表面纹理图像对应的Delaunay三角形网络;
所述数据存储单元,还用于将所述第二特征数据集和所述Delaunay三角形网络对应的三角形数据存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
29.如权利要求28所述的生成装置,其特征在于,所述生成装置还包括:
第二像素控制单元,用于在对所述3D样本表面纹理图像进行第二次尺度变换之后,控制经过所述第二次尺度变换后的每个3D样本表面纹理图像的长边的像素数为第二预设像素数。
30.如权利要求16-21任一项所述的生成装置,其特征在于,还包括:
图像数据获取单元,用于获取所述多分辨率分析处理后的3D样本表面纹理图像的样本图像数据;
第三特征数据集点提取单元,用于再次对所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第三特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第三特征数据集中的特征点的数量与所述第一特征点数据集中的特征点的数量不同;
所述数据存储单元,还用于将所述样本图像数据和所述第三特征数据集存储在图像检索数据库中且与所述3D样本表面纹理图像对应。
31.一种图像检索数据库,其特征在于,该数据库内存储有若干3D样本表面纹理图像的内容数据,每个3D样本表面纹理图像的内容数据包括:第一特征数据集和节点数据,其中,所述第一特征数据集是将3D样本表面纹理图像进行第一次尺度变换后进行多分辨率分析处理,再将所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取,提取出来的第一特征数据集出来的特征点集数据,其包括每个特征点在在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第一特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;所述节点数据包括N个簇和M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息,其中,所述N个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述第一特征数据集中的各个特征点进行聚类分析而获得的,其中,N为正整数;所述M个簇中所有聚类中心及每个聚类中心特征点的特征描述信息是将所述N个簇中的每个簇的聚类中心特征点进行聚类分析而获得的,其中,M为正整数,且M不大于N。
32.如权利要求31所述的图像检索数据库,其特征在于,每个3D样本表面纹理图像的内容数据还包括:第二特征数据集和Delaunay三角形网络数据,其中,所述第二特征数据集是将3D样本表面纹理图像进行第二次尺度变换后进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第二特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;所述Delaunay三角形网络数据是对所述第二特征数据集中的所有特征点进行Delaunay三角剖分处理而得到的数据。
33.如权利要求32所述的图像检索数据库,其特征在于,每个3D样本表面纹理图像的内容数据还包括:第三特征数据集和样本图像数据,其中,所述第三特征数据集是再次对所述多分辨率分析处理后的3D样本表面纹理图像进行特征提取出来的特征点集数据,其包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第三特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;所述样本图像数据是将所述多分辨率分析处理后的3D样本表面纹理图像的图像数据;所述第三特征数据集中的特征点的数量与所述第一特征数据集中的特征点的数量不同。
34.一种实现增强现实的方法,其特征在于,包括:
实时采集包含3D目标物体的环境场景图像;
通过图像检索获取目标图像对应的检索结果图像,以及获取与所述检索结果图像对应的虚拟对象,其中,所述目标图像为所述环境场景图像中与所述3D目标物体对应的图像;
对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第四特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态,其中,所述图像检索数据库为权利要求31-33任一项所述的图像检索数据库;
以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在当前帧图像之前;
根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在当前帧图像中显示的3D目标物体对应的位置上。
35.如权利要求34所述的方法,其特征在于,所述以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,具体为:
利用所述初始姿态对当前帧图像的姿态进行跟踪;
再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
36.如权利要求35所述的方法,其特征在于,所述以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,具体为:
检测跟踪到的图像的帧数是否超过预设帧数;
若跟踪到帧数未超过所述预设帧数,则根据前一帧图像的姿态对当前帧图像的姿态进行跟踪;
若跟踪到的帧数超过所述预设帧数,则根据前T帧图像的姿态对当前帧图像中的姿态进行预测,根据预测结果进行跟踪,其中,所述前T帧图像与当前帧图像相邻,且T不小于2且不大于所述预设帧数。
37.如权利要求34-36任一项所述的方法,其特征在于,所述通过图像检索获取目标图像对应的检索结果图像,具体为:
通过图像检索获取所述目标图像对应的图像检索结果;
若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;
若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像。
38.如权利要求37所述的方法,其特征在于,所述若所述图像检索结果包括多个检索结果图像,则从所述检索结果图像中获取特定检索结果图像,具体为:
若所述图像检索结果包括多个检索结果图像,则采用排错方法对所述多个检索结果图像进行排错,根据排错结果,从所述图像检索结果中获取与所述目标图像匹配的匹配检索结果图像集;
从所述匹配检索结果图像集中获取所述特定检索结果图像。
39.一种增强现实装置,其特征在于,包括:
图像采集单元,用于实时采集包含3D目标物体的环境场景图像;
检索结果图像获取单元,用于通过图像检索获取目标图像对应的检索结果图像,其中,所述目标图像为所述环境场景图像中与所述3D目标物体对应的图像;
虚拟对象获取单元,用于获取与所述检索结果图像对应的虚拟对象;
目标图像数据集获取单元,用于对所述目标图像进行尺度变换,将经过所述尺度变换后的目标图像进行多分辨率分析处理,再将所述多分辨率分析处理后的目标图像进行特征提取,提取出来的第四特征数据集包括每个特征点在图像区域内的位置信息、尺度、方向、法线向量信息和特征描述信息,其中,所述第四特征数据集中的每个特征点的位置信息包括每个特征点在三维坐标系中的坐标信息;
初始姿态获取单元,用于从图像检索数据库中获取所述检索结果图像对应的第一特征数据集和节点数据,并利用所述第一特征数据集和所述节点数据与所述第四特征数据集进行匹配,匹配出所述目标图像的初始姿态,其中,所述图像检索数据库为权利要求31-33任一项所述的图像检索数据库;
当前帧图像姿态跟踪单元,用于以所述初始姿态对应的环境场景图像帧为起始点,利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪,其中,所述相邻一帧或多帧图像在当前帧图像之前;
虚拟对象叠加单元,用于根据跟踪到的当前帧图像的姿态,将所述虚拟对象叠加在当前帧图像中显示的3D目标物体对应的位置上。
40.如权利要求39所述的增强现实装置,其特征在于,当前帧图像姿态跟踪单元,具体用于利用所述初始姿态对当前帧图像的姿态进行跟踪;再利用相邻一帧或多帧图像的姿态对当前帧图像的姿态进行跟踪。
41.如权利要求40所述的增强现实装置,其特征在于,所述增强现实装置还包括:
检测单元,用于检测跟踪到的图像的帧数是否超过预设帧数;
当前帧图像姿态跟踪单元,还用于在跟踪到帧数未超过所述预设帧数时,根据前一帧图像的姿态对当前帧图像的姿态进行跟踪;以及在跟踪到的帧数超过所述预设帧数时,根据前T帧图像的姿态对当前帧图像中的姿态进行预测,根据预测结果进行跟踪,其中,所述前T帧图像与当前帧图像相邻,且T不小于2且不大于所述预设帧数。
42.如权利要求39-41任一项所述的增强现实装置,其特征在于,所述检索结果图像获取单元,具体用于通过图像检索获取所述目标图像对应的图像检索结果;若所述图像检索结果包括多个检索结果图像,则从所述图像检索结果中获取特定检索结果图像作为所述目标图像对应的检索结果图像,其中,所述特定检索结果图像与所述目标图像的匹配分值大于预设分值;若所述图像检索结果只包括一个检索结果图像,则将该检索结果图像作为所述目标图像对应的检索结果图像。
43.如权利要求42所述的增强现实装置,其特征在于,所述增强现实装置,还包括:
排错单元,用于在所述图像检索结果包括多个检索结果图像时,采用排错方法对所述多个检索结果图像进行排错;
匹配检索结果图像集获取单元,用于根据排错结果,从所述图像检索结果中获取与所述目标图像匹配的匹配检索结果图像集;
所述检索结果图像获取单元,还用于从所述匹配检索结果图像集中获取所述特定检索结果图像。
CN201610279271.4A 2016-04-29 2016-04-29 图像检索数据库生成方法、增强现实的方法及装置 Active CN107329962B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610279271.4A CN107329962B (zh) 2016-04-29 2016-04-29 图像检索数据库生成方法、增强现实的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610279271.4A CN107329962B (zh) 2016-04-29 2016-04-29 图像检索数据库生成方法、增强现实的方法及装置

Publications (2)

Publication Number Publication Date
CN107329962A CN107329962A (zh) 2017-11-07
CN107329962B true CN107329962B (zh) 2020-11-06

Family

ID=60192372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610279271.4A Active CN107329962B (zh) 2016-04-29 2016-04-29 图像检索数据库生成方法、增强现实的方法及装置

Country Status (1)

Country Link
CN (1) CN107329962B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108319961B (zh) * 2018-01-23 2022-03-25 西南科技大学 一种基于局部特征点的图像roi快速检测方法
CN108765575A (zh) * 2018-02-24 2018-11-06 石化盈科信息技术有限责任公司 一种基于ar的工业设备图鉴展示方法和系统
WO2020006378A1 (en) * 2018-06-29 2020-01-02 Zoox, Inc. Sensor calibration
US11030813B2 (en) 2018-08-30 2021-06-08 Snap Inc. Video clip object tracking
US11176737B2 (en) 2018-11-27 2021-11-16 Snap Inc. Textured mesh building
CN109977909B (zh) * 2019-04-04 2021-04-20 山东财经大学 基于细节点区域匹配的手指静脉识别方法及系统
US11189098B2 (en) * 2019-06-28 2021-11-30 Snap Inc. 3D object camera customization system
CN110929093B (zh) * 2019-11-20 2023-08-11 百度在线网络技术(北京)有限公司 用于搜索控制的方法、装置、设备和介质
US11227442B1 (en) 2019-12-19 2022-01-18 Snap Inc. 3D captions with semantic graphical elements
CN112434177B (zh) * 2020-11-27 2023-06-20 北京邮电大学 一种三维模型检索方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103353941A (zh) * 2013-06-13 2013-10-16 西安电子科技大学 基于视角分类的自然标志物注册方法
CN103927387A (zh) * 2014-04-30 2014-07-16 成都理想境界科技有限公司 图像检索系统及其相关方法和装置
CN104268842A (zh) * 2014-10-10 2015-01-07 五邑大学 基于Contour算法和Gabor滤波的虚实融合的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120011142A1 (en) * 2010-07-08 2012-01-12 Qualcomm Incorporated Feedback to improve object recognition

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103353941A (zh) * 2013-06-13 2013-10-16 西安电子科技大学 基于视角分类的自然标志物注册方法
CN103927387A (zh) * 2014-04-30 2014-07-16 成都理想境界科技有限公司 图像检索系统及其相关方法和装置
CN104268842A (zh) * 2014-10-10 2015-01-07 五邑大学 基于Contour算法和Gabor滤波的虚实融合的方法

Also Published As

Publication number Publication date
CN107329962A (zh) 2017-11-07

Similar Documents

Publication Publication Date Title
CN107329962B (zh) 图像检索数据库生成方法、增强现实的方法及装置
CN110135455B (zh) 影像匹配方法、装置及计算机可读存储介质
CN107742311B (zh) 一种视觉定位的方法及装置
CN108629843B (zh) 一种实现增强现实的方法及设备
Lim et al. Real-time image-based 6-dof localization in large-scale environments
CN111190981B (zh) 一种三维语义地图的构建方法、装置、电子设备及存储介质
CN110555901B (zh) 动静态场景的定位和建图方法、装置、设备和存储介质
WO2020259481A1 (zh) 定位方法及装置、电子设备、可读存储介质
CN111243093B (zh) 三维人脸网格的生成方法、装置、设备及存储介质
CN111652934A (zh) 定位方法及地图构建方法、装置、设备、存储介质
CN103854283A (zh) 一种基于在线学习的移动增强现实跟踪注册方法
CN112785705B (zh) 一种位姿获取方法、装置及移动设备
CN113240716B (zh) 一种多特征融合的孪生网络目标跟踪方法及系统
Son et al. A multi-vision sensor-based fast localization system with image matching for challenging outdoor environments
CN114782499A (zh) 一种基于光流和视图几何约束的图像静态区域提取方法及装置
CN112102342B (zh) 平面轮廓识别方法、装置、计算机设备和存储介质
CN114663502A (zh) 物体姿态估计、图像处理方法及相关设备
CN113592015B (zh) 定位以及训练特征匹配网络的方法和装置
CN111402429B (zh) 一种尺度还原、三维重建方法、系统、存储介质及设备
CN107341151B (zh) 图像检索数据库生成方法、增强现实的方法及装置
WO2022126529A1 (zh) 定位的方法、设备、无人机和存储介质
CN113704276A (zh) 地图更新方法、装置、电子设备及计算机可读存储介质
CN116662600A (zh) 一种基于轻量结构化线地图的视觉定位方法
CN116843867A (zh) 增强现实虚实融合方法、电子设备和存储介质
Shao A Monocular SLAM System Based on the ORB Features

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