CN117152245A - 位姿计算方法和装置 - Google Patents

位姿计算方法和装置 Download PDF

Info

Publication number
CN117152245A
CN117152245A CN202310145332.8A CN202310145332A CN117152245A CN 117152245 A CN117152245 A CN 117152245A CN 202310145332 A CN202310145332 A CN 202310145332A CN 117152245 A CN117152245 A CN 117152245A
Authority
CN
China
Prior art keywords
point
feature
image
points
pose
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.)
Pending
Application number
CN202310145332.8A
Other languages
English (en)
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310145332.8A priority Critical patent/CN117152245A/zh
Publication of CN117152245A publication Critical patent/CN117152245A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Navigation (AREA)

Abstract

本申请实施例提供一种位姿计算方法和装置,涉及终端技术领域,方法包括:终端设备可以基于训练好的预设阈值,对第一特征点进行筛选,得到与内点关联性更高的第二特征点,由于预设阈值可以从训练数据对应的第三特征点中筛选出的第四特征点,使得第三特征点的真实位姿之间的相似度满足第三预设条件,因此在利用预设阈值对第一特征点进行筛选时,可以从第一特征点中筛选出位姿计算准确度更高的第二特征点,从而解决由于场景中存在弱纹理区域、和/或重复对象时导致特征点匹配不准确的问题,提高位姿计算的准确度以及基于位姿进行定位或导航的准确度。

Description

位姿计算方法和装置
技术领域
本申请涉及终端技术领域,尤其涉及一种位姿计算方法和装置。
背景技术
增强现实(augmented reality,AR)、虚拟现实(virtual reality,VR)等扩展显示(extended reality,XR)技术的诞生,使得定位技术得到了快速的发展。定位技术是XR领域的底层核心技术,常见定位技术可以包括:超宽带(ultra-wideband,UWB)定位技术、蓝牙定位技术、无线保真(wireless fidelity,WIFI)定位技术、视觉定位系统(visualpositioning system,VPS)等。
通常情况下,在基于VPS进行定位的方法中,终端设备可以通过摄像头拍摄得到的环境图像、与预设的地图数据库中的图像进行图像比对实现定位。并且VPS具有部署成本低、定位时间短、且功耗少等优势。
然而,在部分基于VPS进行定位的场景中,可能存在定位准确度较低的情况。
发明内容
本申请实施例提供一种位姿计算方法和装置,以提升VPS位姿计算方法中的定位准确度。
第一方面,本申请实施例提供一种位姿计算方法,方法包括:终端设备采集第一图像;终端设备在预设的图像集合中获取N张第二图像,N张第二图像包括与第一图像的相似度满足第一预设条件的图像,和/或,与第一图像的清晰度满足第二预设条件的图像,N为正整数;终端设备在各N张第二图像中确定出多个第一特征点,第一特征点包括与第一图像中特征相同的特征点;终端设备计算得到各第一特征点的目标值,各第一特征点的目标值与用于反映第一特征点的特征匹配情况的参数、以及用于反映第一特征点中的内点情况的参数有关;终端设备在多个第一特征点筛选出第二特征点,第二特征点包括多个第一特征点中目标值大于预设阈值的特征点,预设阈值为预先训练得到的,预设阈值使得基于第三特征点中的第四特征点计算得到的位姿,与第三特征点的真实位姿之间的相似度满足第三预设条件;其中,第三特征点为训练数据与训练数据对应的多张图像中特征相同的特征点,第四特征点包括第三特征点中目标值大于预设阈值的特征点;终端设备利用第二特征点进行位姿计算,得到第一位姿。
其中,预设阈值可以为本申请实施例中描述的目标评价参数;目标值可以为本申请实施例中描述的评价参数;第一特征点或第二特征点可以理解为本申请实施例中描述的匹配点;第一预设条件为图像的相似度大于预设的图像相似度阈值,第二预设条件为清晰度大于预设的清晰度阈值,第三预设条件为位姿的相似度大于预设的位姿相似度阈值。
用于反映第一特征点的特征匹配情况的参数可以包括:本申请实施例中描述的由检索得分以及目标参数构成的参数集合中的任一种或多种参数。
这样,终端设备可以基于训练好的预设阈值,对第一特征点进行筛选,得到与内点关联性更高的第二特征点,由于预设阈值可以从训练数据对应的第三特征点中筛选出的第四特征点,使得第三特征点的真实位姿之间的相似度满足第三预设条件,因此在利用预设阈值对第一特征点进行筛选时,可以从第一特征点中筛选出位姿计算准确度更高的第二特征点,从而解决由于场景中存在弱纹理区域、和/或重复对象时导致特征点匹配不准确的问题,提高位姿计算的准确度以及基于位姿进行定位或导航的准确度。
在一种可能的实现方式中,用于反映特征匹配情况的参数包括下述一种或多种:用于指示第一特征点所在的第二图像与第一图像之间的相似度或清晰度、用于指示第二图像中的特征点数、用于指示第一特征点的个数、用于指示特征点数在第二图像中的占比、用于指示对第一特征点进行聚类得到的聚类个数、用于指示第一特征点所在聚类在第二图像中的分布的参数、或用于指示第二图像中的特征点为第一特征点的概率;用于反映内点情况的参数可以包括下述一种或多种:用于指示第一特征点是否为内点的参数、或用于指示内点所在聚类在第二图像中的分布的参数。
其中,用于指示第一特征点所在的第二图像与第一图像之间的相似度或清晰度,可以为本申请实施例中描述的检索得分;用于指示第二图像中的特征点数,可以为本申请实施例中描述的特征点数;用于指示第一特征点的个数,可以为本申请实施例中描述的匹配点数;用于指示特征点数在第二图像中的占比,可以为本申请实施例中描述的特征点占比;用于指示对第一特征点进行聚类得到的聚类个数,可以为本申请实施例中描述的匹配点聚类个数;用于指示第一特征点所在聚类在第二图像中的分布的参数,可以为本申请实施例中描述的匹配点类别离散值;用于指示第二图像中的特征点为第一特征点的概率,可以为本申请实施例中描述的匹配点得分。用于指示内点所在聚类在第二图像中的分布的参数可以为本申请实施例中描述的内点分布。
这样,终端设备可以通过用于反映特征匹配情况的参数、以及用于反映内点情况的参数,确定第一特征点与内点之间的关联关系,并利用预设阈值,对第一特征点与内点之间的关联关系进行判断,使得终端设备可以筛选出与内点更为相关的特征点。
在一种可能的实现方式中,当用于反映第一特征点的特征匹配情况的参数为:用于指示第二图像中的特征点为第一特征点的概率,且用于反映内点情况的参数为:用于指示第一特征点是否为内点的参数时,则各第一特征点的目标值为:终端设备基于先验aprior算法计算的,各第一特征点对应的第一项集的支持度和置信度、与第一项集中用于指示第二图像中的特征点为第一特征点的概率的乘积;其中,第一项集为由用于指示第二图像中的特征点为第一特征点的概率、以及用于指示第一特征点是否为内点的参数构成的项集。
在一种可能的实现方式中,方法还包括:终端设备获取初始阈值,并利用初始阈值从第三特征点中筛选出第三特征点的目标值大于初始阈值的第五特征点;在终端设备确定基于第五特征点计算得到的位姿与真实位姿之间的相似度不满足第三预设条件时,终端设备利用预设步长调整初始阈值,得到预设阈值;其中,第五特征点包括第三特征点中目标值小于或等于预设阈值的特征点。
其中,初始阈值可以为本申请实施例中描述的目标评价参数的初始值。
这样,终端设备可以通过对于预设阈值的训练过程,得到能够从第一特征点中筛选出位姿计算准确度较高的第二特征点,保证位姿计算的准确度。
在一种可能的实现方式中,终端设备采集第一图像,包括:终端设备在预设的室内场景进行增强现实AR导航;在终端设备接收到用于指示定位的操作时,终端设备采集第一图像。这样,终端设备可以在室内场景中基于采集的第一图像进行AR导航,提高用户使用AR导航的体验感。
在一种可能的实现方式中,方法还包括:在终端设备确定第一位姿满足预设的位置范围时,终端设备基于第一位姿以及目的地位置确定导航路线;终端设备在AR导航中显示第一界面,第一界面中包括:用于指示导航路线的数字人,以及用于指示方向的标识。这样,使得用户可以实现在终端设备显示的界面中查看数字人以及标识,该数字人和标识所指引的导航路线更利于用户对于导航功能的使用。
第二方面,本申请实施例提供一种位姿计算装置,位姿计算装置包括:采集单元以及处理单元;采集单元,用于采集第一图像;处理单元,用于在预设的图像集合中获取N张第二图像,N张第二图像包括与第一图像的相似度满足第一预设条件的图像,和/或,与第一图像的清晰度满足第二预设条件的图像,N为正整数;处理单元,还用于在各N张第二图像中确定出多个第一特征点,第一特征点包括与第一图像中特征相同的特征点;处理单元,还用于计算得到各第一特征点的目标值,各第一特征点的目标值与用于反映第一特征点的特征匹配情况的参数、以及用于反映第一特征点中的内点情况的参数有关;处理单元,还用于在多个第一特征点筛选出第二特征点,第二特征点包括多个第一特征点中目标值大于预设阈值的特征点,预设阈值为预先训练得到的,预设阈值使得基于第三特征点中的第四特征点计算得到的位姿,与第三特征点的真实位姿之间的相似度满足第三预设条件;其中,第三特征点为训练数据与训练数据对应的多张图像中特征相同的特征点,第四特征点包括第三特征点中目标值大于预设阈值的特征点;处理单元,还用于利用第二特征点进行位姿计算,得到第一位姿。
在一种可能的实现方式中,用于反映特征匹配情况的参数包括下述一种或多种:用于指示第一特征点所在的第二图像与第一图像之间的相似度或清晰度、用于指示第二图像中的特征点数、用于指示第一特征点的个数、用于指示特征点数在第二图像中的占比、用于指示对第一特征点进行聚类得到的聚类个数、用于指示第一特征点所在聚类在第二图像中的分布的参数、或用于指示第二图像中的特征点为第一特征点的概率;用于反映内点情况的参数可以包括下述一种或多种:用于指示第一特征点是否为内点的参数、或用于指示内点所在聚类在第二图像中的分布的参数。
在一种可能的实现方式中,当用于反映第一特征点的特征匹配情况的参数为:用于指示第二图像中的特征点为第一特征点的概率,且用于反映内点情况的参数为:用于指示第一特征点是否为内点的参数时,则各第一特征点的目标值为:处理单元基于先验aprior算法计算的,各第一特征点对应的第一项集的支持度和置信度、与第一项集中用于指示第二图像中的特征点为第一特征点的概率的乘积;其中,第一项集为由用于指示第二图像中的特征点为第一特征点的概率、以及用于指示第一特征点是否为内点的参数构成的项集。
在一种可能的实现方式中,处理单元,用于获取初始阈值,并利用初始阈值从第三特征点中筛选出第三特征点的目标值大于初始阈值的第五特征点;在终端设备确定基于第五特征点计算得到的位姿与真实位姿之间的相似度不满足第三预设条件时,处理单元,还用于利用预设步长调整初始阈值,得到预设阈值;其中,第五特征点包括第三特征点中目标值小于或等于预设阈值的特征点。
在一种可能的实现方式中,处理单元,用于在预设的室内场景进行增强现实AR导航;在终端设备接收到用于指示定位的操作时,处理单元,还用于采集第一图像。
在一种可能的实现方式中,在处理单元确定第一位姿满足预设的位置范围时,处理单元,用于基于第一位姿以及目的地位置确定导航路线;显示单元,用于在AR导航中显示第一界面,第一界面中包括:用于指示导航路线的数字人,以及用于指示方向的标识。
第三方面,本申请实施例提供一种位姿计算方法,位姿计算方法应用于位姿计算系统,系统包括:终端设备以及云端设备,方法包括:终端设备采集第一图像,并将第一图像发送至云端设备;云端设备在预设的图像集合中获取N张第二图像,N张第二图像包括与第一图像的相似度满足第一预设条件的图像,和/或,与第一图像的清晰度满足第二预设条件的图像,N为正整数;云端设备在各N张第二图像中确定出多个第一特征点,第一特征点包括与第一图像中特征相同的特征点;云端设备计算得到各第一特征点的目标值,各第一特征点的目标值与用于反映第一特征点的特征匹配情况的参数、以及用于反映第一特征点中的内点情况的参数有关;云端设备在多个第一特征点筛选出第二特征点,第二特征点包括多个第一特征点中目标值大于预设阈值的特征点,预设阈值为预先训练得到的,预设阈值使得基于第三特征点中的第四特征点计算得到的位姿,与第三特征点的真实位姿之间的相似度满足第三预设条件;其中,第三特征点为训练数据与训练数据对应的多张图像中特征相同的特征点,第四特征点包括第三特征点中目标值大于预设阈值的特征点;云端设备利用第二特征点进行位姿计算,得到第一位姿,并将第一位姿发送至终端设备。
这样,由于云端设备通常都具有较强的数据计算能力,因此在云端设备中执行位姿计算方法可以避免终端设备的内存占用,提高位姿计算方法的运行速度。
在一种可能的实现方式中,方法还包括:终端设备接收来自云端设备的第一位姿,在终端设备确定第一位姿满足预设的位置范围时,终端设备基于第一位姿以及目的地位置确定导航路线;终端设备在AR导航中显示第一界面,第一界面中包括:用于指示导航路线的数字人,以及用于指示方向的标识。
第四方面,本申请实施例提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时,使得终端设备执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
第六方面,本申请实施例提供一种包括计算机程序的计算机程序产品,当计算机程序在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
应当理解的是,本申请的第二方面、以及第四方面至第六方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种场景示意图;
图2为一种位姿计算方法的流程示意图;
图3为本申请实施例提供的一种终端设备的硬件结构示意图;
图4为本申请实施例提供的一种位姿计算方法的流程示意图;
图5为本申请实施例提供的一种特征匹配的示意图;
图6为本申请实施例提供的一种先验算法的原理示意图;
图7为本申请实施例提供的一种显示数字人的界面示意图;
图8为本申请实施例提供的一种获取目标评价参数的流程示意图;
图9为本申请实施例提供另一种位姿计算方法;
图10为本申请实施例提供的一种位姿计算装置的结构示意图;
图11为本申请实施例提供的另一种终端设备的硬件结构示意图。
具体实施方式
下面对本申请实施例中所描述的词汇进行说明。可以理解,该说明是为更加清楚的解释本申请实施例,并不必然构成对本申请实施例的限定。
先验(aprior)算法:aprior算法可以为一种关联规则学习(association rulelearning)算法,是一种在大型数据库中发现变量之间的关联关系的方法。aprior算法用于利用一些有趣性的量度来识别数据库中发现的强规则。关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系可以有两种形式:频繁项集或者关联规则。频繁项集(frequent item sets)是经常出现在一块的变量的集合,关联规则(association rules)暗示两种变量之间可能存在很强的关系。
在aprior算法中,可以通过支持度(support)和/或置信度(confidence)等,描述两个变量之间的关系。
支持度:support(X=>Y)=P(X∪Y),表示X和Y同时出现的概率,或也可以理解为X和Y同时出现的次数占总记录次数的比例。例如,购物小票中可以包括由多个商品构成的项集,当X为尿布,Y为啤酒时,则support(X=>Y)可以理解为尿布和啤酒同时在项集中同时出现的比例。
置信度:confidence(X=>Y)=support(X∪Y)/support(X),表示X和Y同时出现的概率占X出现概率的比值,或也可以理解为出现A的情况下也出现B的概率。例如,当X为尿布,Y为啤酒时,confidence(X=>Y)可以理解为出现尿布的情况下,也出现啤酒的概率。
可能的实现方式中,除支持度以及置信度之外,还可以基于提升度确定多个变量之间的关系。如提升度(lift):lift(X=>Y)=confidence(X=>Y)/P(Y),表示在含有X的条件下同时含有Y的概率,与Y总体发生的概率之比。其中,当lift(X=>Y)>1时,可以确定X与Y之间存在强关联关系。
在本申请实施例中描述的aprior算法中,X可以为由检索得分和目标参数构成的参数集合中的任一参数变量,Y可以为内点变量。其中,检索得分以及目标参数的含义可以参见图4对应的实施例。
角度-N-点(perspective-n-point,PNP):是指在给定一组n个3D点及其在图像中相应的2D投影的情况下,估计相机位姿的问题。例如,在已知的n个三维空间点坐标(如相对于某个指定的坐标系A)及其二维投影位置的情况下,估计相机的位姿(如相机在坐标系A下的位姿)。其中,该相机的位姿可以包括相机方向、以及相机光心位置。
特征点:可以用于反映图像的特征。例如,特征点可以为图像中具有鲜明特性、能够有效反映图像本质特征、或能够标识图像中目标物体的点,例如该特征点可以为角点、边缘点、较暗区域中的亮点、以及较亮区域中的暗点等。
匹配点:可以理解为特征相同的点,例如可以通过对两个图像进行特征匹配,从匹配点中找到特征相同的匹配点,匹配点的数量小于或等于特征点的数量。
其中,特征提取以及特征匹配方法可以包括下述一种或多种,例如:加速分段试验(features from accelerated segment test,FAST)特征点检测算法、哈里斯(harris)特征点检测算法、尺寸不变特征转换(scale-invariant feature transform,SIFT)算法、或加速稳健特征(speeded up robust features,SURF)算法等。
内点:可以理解为进行位姿计算时使用的点,内点的数量可以小于或等于匹配点的数量。
其中,位姿计算方法可以包括下述一种或多种,例如:PNP算法、直线线性变换(direct linear transform,DLT)、P3P、或Epnp等。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一值和第二值仅仅是为了区分不同的值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
示例性的,图1为本申请实施例提供的一种场景示意图。在图1对应的实施例中,以终端设备为手机为例进行示例说明,该示例并不构成对本申请实施例的限定。
终端设备可以基于VPS进行AR导航,例如在机场航站楼中,用户可以利用终端设备中的AR导航功能,指示从当前位置到某个目的地的路线。当终端设备接收到用户打开AR导航功能,并利用该AR导航指示由当前位置到地点B的路线时,终端设备可以通过对用户当前位置的定位,以及从当前位置到地点B之间的路径规划,显示如图1所示的界面。如图1所示,该界面中可以包括用于指示用户当前位置的标识如用户101、用于指示导航路线的多个箭头、地点A102、地点B103、用于指示当前处于AR导航界面的标识105、以及用于文字指示导航路线的提示信息104,该提示信息104可以显示为直行100米后右转。
可能的实现方式中,在用户利用AR导航指示路线的过程中,终端设备可以基于如图2对应的实施例中描述的位姿计算方法,基于摄像头获取当前的环境图像,并基于环境图像以及预设的图像集合确定环境图像对应的位姿,进而得到用户当前的位置信息。随着终端设备基于摄像头获取的环境图像不断发生变化,终端设备可以继续调整导航路线,如终端设备由图1中的a所示的界面切换至图1中的b所示的界面,直至用户到达目的地地点B103。
示例性的,图2为一种位姿计算方法的流程示意图。如图2所示,终端设备可以基于摄像头获取环境图像,并基于预设的图像集合进行图像检索,如从预设的图像集合中确定出与环境地图相似度(和/或清晰度)较高的多个特征图像。终端设备对环境图像以及多个特征图像分别进行特征点提取,并对环境图像以及多个特征图像中的各图像进行特征匹配,基于特征匹配过程中得到的匹配点进行位姿计算,进而得到环境图像对应的位姿,后续终端设备可以基于环境图像对应的位姿确定用户当前所处位置,并规划由用户当前所处位置到目的地之间的路线。
可以理解的是,终端设备可以基于图2对应的实施例中描述的位姿计算方法,对如图1中的a所示的界面对应的环境图像的获取、以及环境图像对应的位姿计算,确定用户101当前所处位置。进一步的,终端设备基于用户101当前所处位置、以及地点B103所在的位置等信息进行路径规划,并利用该AR导航功能指示由用户101到地点B103之间的路线。
然而,当导航场景中包含弱纹理区域、和/或重复对象等时,上述场景中的复杂对象会对特征匹配过程产生影响,使得特征匹配的准确度降低。进而,当终端设备基于准确度较低的特征匹配进行位姿计算时,较多冗余以及无效的特征点,会使得位姿计算准确度降低的情况,导致定位不准确。
有鉴于此,本申请实施例提供一种位姿计算方法,终端设备可以基于训练好的预设阈值,对第一特征点进行筛选,得到与内点关联性更高的第二特征点,由于预设阈值可以从训练数据对应的第三特征点中筛选出的第四特征点,使得第三特征点的真实位姿之间的相似度满足第三预设条件,因此在利用预设阈值对第一特征点进行筛选时,可以从第一特征点中筛选出位姿计算准确度更高的第二特征点,从而解决由于场景中存在弱纹理区域、和/或重复对象时导致特征点匹配不准确的问题,提高位姿计算的准确度以及基于位姿进行定位或导航的准确度。
可以理解的是,本申请实施例提供的一种位姿计算方法的应用场景不限于图1对应的实施例,还可以应用于商场导航场景、工厂导航场景、展览馆导航场景、酒店导航场景、医院导航场景、以及停车场导航场景等室内场景。或者,也可以应用于包含数字人的室内导航场景等,其中数字人可以理解为AR导航中用于指示导航路线的虚拟人物。
示例性的,图2对应的实施例中描述的位姿定位方法应用于包含数字人的室内导航场景时,由于特征匹配过程不准确,可能导致数字人无法在终端设备的界面中正常显示,例如数字人以倾斜、倒立等不正常形态显示。
可能的实现方式中,本申请实施例提供的一种位姿计算方法还可以应用于大规模视觉定位技术场景,例如自动驾驶、或无人机等室外场景中,该应用场景可以根据实际情况包括其他内容,本申请实施例中对此不做限定。
可以理解的是,上述终端设备也可以称为终端,(terminal)、用户设备(userequipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以为拥有摄像头的手机(mobile phone)、智能电视、穿戴式设备、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmentedreality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self-driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
因此,为了能够更好地理解本申请实施例,下面对本申请实施例的终端设备的结构进行介绍。示例性的,图3为本申请实施例提供的一种终端设备的硬件结构示意图。
终端设备可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,指示器192,摄像头193,以及显示屏194等。其中,传感器模块180可以包括下述一种或多种传感器,例如:压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,或骨传导传感器等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备的具体限定。在本申请另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110中还可以设置存储器,用于存储指令和数据。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备充电,也可以用于终端设备与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。电源管理模块141用于连接充电管理模块140与处理器110。
终端设备的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备中的天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。
移动通信模块150可以提供应用在终端设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
无线通信模块160可以提供应用在终端设备上的包括无线局域网(wirelesslocalarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM)等无线通信的解决方案。
终端设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,终端设备可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
摄像头193用于捕获静态图像或视频。在一些实施例中,终端设备可以包括1个或N个摄像头193,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。
终端设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备可以通过扬声器170A收听音乐,或收听免提通话。受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。耳机接口170D用于连接有线耳机。麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。本申请实施例中,终端设备可以拥有设置一个麦克风170C。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备可以接收按键输入,产生与终端设备的用户设置以及功能控制有关的键信号输入。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
终端设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构等,在此不再赘述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
示例性的,图4为本申请实施例提供的一种位姿计算方法的流程示意图。如图4所示,该位姿计算方法可以包括如下步骤:
S401、终端设备获取环境图像。
其中,环境图像(或称为第一图像)为基于终端设备的摄像头采集到的图像,该环境图像可以为一张图像或者也可以为多张图像。
示例性的,终端设备可以周期性的获取环境图像,例如每0.5秒或1秒获取一次环境图像;或者,终端设备可以在检测到当前环境与上一时刻(例如上一帧)的环境图像之间的相似度大于预设的相似度阈值时自动获取新的环境图像;或者,终端设备也可以基于用户对于终端设备的触发获取环境图像等。
本申请实施例中,在终端设备接收到用户打开VR导航功能,并触发用于指示定位的操作时,响应于用户的操作,终端设备开始获取环境图像。
S402、终端设备利用环境图像,从预设的图像集合中筛选出目标图像集合,并获取目标图像集合中的各图像对应的检索得分。
其中,目标图像集合中可以包括N张第二图像。
示例性的,终端设备可以通过环境图像与预设的图像集合中的各图像的相似度匹配(和/或清晰度匹配)等,筛选出相似度(和/或清晰度)超过一定阈值的N个图像,构成目标图像集合。其中,N为正整数,该N个图像中的任一图像对应于一个检索得分,N个图像可以对应于N个检索得分,该N个检索得分中的任一检索得分可以用于指示N个图像中的任一图像与环境图像之间的相似度(和/或清晰度)。例如,当该N个图像中的某一图像与环境图像的相似度为0.1时,则可以确定该N个图像中的某一图像对应的检索得分为0.1。
S403、终端设备对环境图像以及目标图像集合中的各图像进行特征提取以及特征匹配,确定目标图像集合中的各特征点对应的目标参数。
终端设备可以通过特征提取以及特征匹配方法,利用环境图像在目标图像集合中的各图像中确定出匹配点,该基于特征匹配方法确定出的匹配点可以称为第一匹配点(或称为第一特征点)。
示例性的,图5为本申请实施例提供的一种特征匹配的示意图。图5中的a可以为环境图像,图5中的b可以为目标图像集合中的任一图像,该图5中的a或图5中的b中的任一点用于指示基于特征提取得到的特征点,如图5中的a中可以提取地点A以及地点A周围的特征点,图5中的b可以提取地点B以及地点B周围的特征点、和地点A以及地点A周围的特征点。
该图5中的a与图5中的b之间的线段用于指示基于特征匹配方法匹配到的特征相同的点。例如,图5中的a与图5中的b中可以匹配到相同的地点A、以及地点A周围的路口。
本申请实施例中,目标参数可以包括:匹配点得分。或者,该目标参数中还可以包括下述一种或多种,例如:特征点数、匹配点数、特征点占比、匹配点类别离散值、匹配点聚类个数等参数。
匹配点得分用于指示某一特征点为匹配点的得分(或概率),例如,在基于任一种特征匹配方法确定的某一特征点有80%的可能性成为匹配点时,则该特征点对应的匹配点得分可以为80%或80。可以理解的是,在特征匹配方法中,匹配点得分大于预设的匹配点得分阈值的特征点可以为匹配点。
特征点占比可以为:特征点占比用于指示特征点所在区域相对于环境图像的占比。
匹配点类别离散值可以为:其中,匹配点类别离散值可以用于表征匹配点的聚类情况(或称为匹配点分布)。/>
具体的,将环境图像分割成大小相同的m*n个网格,该网格可以为矩形、圆形、或三角形等;记录存在特征点的网格总数为A;对匹配点进行聚类,得到q个类;记录存在匹配点的网格数,并基于聚类情况确定不同类下分别对应的网格数,如记录网格数为B1,…,Bq;记录总网格数为C;q个聚类中心坐标的方差为v;特征点坐标方差为V。其中,的取值越小,则可以理解为多个类越集中,或者/>的取值越大,则可以理解为多个类越离散;/>可以理解为某个聚类在所有聚类中的比例,该/>也可以替换为/>
匹配点聚类个数可以用于指示匹配点的聚类情况,例如匹配点聚类个数可以为q。
例如,当目标图像中有N张第二图像时,则终端设备可以通过特征提取以及特征匹配方法,得到N组特征点以及N组匹配点,进而基于上述N组特征点以及N组匹配点,确定目标图像集合中的各匹配点(或特征点)对应的目标参数。
S404、终端设备对环境图像以及目标图像集合中的各进行位姿计算,并确定目标图像集合中的各图像对应的内点。
示例性的,终端设备可以基于S403所示的步骤描述的特征提取以及特征匹配方法,确定环境图像与目标图像集合中的各图像之间的匹配点,并通过位姿计算得到基于环境图像与目标图像集合中的各图像分别确定的位姿,进而得到目标图像集合中的各图像对应的内点。例如,当目标图像中有N张第二图像时,则终端设备可以计算得到N个位姿以及该N个位姿中的任一位姿对应的内点。
可能的实现方式中,终端设备也可以计算内点类别离散值(或称为内点分布),内点类别离散值也可以用于评价参数的计算。其中,该内点类别离散值用于表征内点的聚类情况,该内点类别离散值的计算方法可以与上述特征点类别离散值的计算方法类似,在此不再赘述。
S405、终端设备利用检索得分、目标参数和内点,确定评价参数。
其中,评价参数(或称为目标值)可以用于反映任一匹配点是否允许进行位姿计算,该评价参数可以与用于反映所述第一特征点的特征匹配情况的参数,以及用于反映所述第一特征点中的内点情况的参数相关。其中,该用于反映所述第一特征点的特征匹配情况的参数可以包括:由检索得分以及目标参数构成的参数集合中的任一种或多种参数,用于反映所述第一特征点中的内点情况的参数可以包括下述一种或多种:用于指示所述第一特征点是否为内点的参数、或用于指示所述内点所在聚类在所述第二图像中的分布的参数(或称为内点分布)。
本申请实施例中,终端设备可以基于aprior算法,确定第一匹配中与内点具有关联关系的第二匹配点,该关联关系可以通过反映所述第一特征点的特征匹配情况的参数,以及用于反映所述第一特征点中的内点情况的参数构成的目标项集确定。
其中,该目标项集的支持度可以包括下述一种或多种,例如:检索得分与内点之间的支持度S1、匹配点得分与内点之间的支持度S2、图像匹配点数与内点之间的支持度S3、图像特征点数与内点之间的支持度S4、匹配点类别离散值与内点之间的支持度S5、匹配点聚类的类别数与内点之间的支持度S6、以及匹配点得分与内点之间的支持度S7。
目标项集的置信度可以包括下述一种或多种,例如:检索得分与内点之间的置信度C1、匹配点得分与内点之间的置信度C2、图像匹配点数与内点之间的置信度C3、图像特征点数与内点之间的置信度C4、匹配点类别离散值与内点之间的置信度C5、匹配点聚类的类别数与内点之间的置信度C6、以及匹配点得分与内点之间的置信度C7。
例如,支持度(检索得分=>内点)可以理解为:用于指示检索得分变量与内点变量之间依赖关系的数据支持比例,如某个点对应的检索得分为一定数值且该点为内点这个项集在总项集中所占的数据比例;置信度(检索得分=>内点)可以理解为:某个点对应的检索得分为一定数值时可以确定该点为内点的比例,如置信度(检索得分=>内点)为0.6时,可以理解为图像检索得分为一定数值时有0.6的比例决定该点为内点。
可以理解的是,支持度(检索得分=>内点)的数值越小,则置信度(检索得分=>内点)的数值的可靠性越低;或者,支持度(检索得分=>内点)的数值越大,则置信度(检索得分=>内点)的数值的可靠性越高,因此在aprior算法中,支持度和置信度都较为重要。
以基于aprior算法确定由{检索得分,内点}构成的第一项集的支持度S1、以及第一项集的置信度C1为例进行示例说明。例如,终端设备可以获取目标图像集合中的10张图分别对应的检索得分,10张图中的各点是否为内点(如0可以理解为非内点,1可以理解为内点)的情况,该10张图中一共可以包含1000个特征点,见表1。
表1检索得分与内点情况示意表
检索得分 内点情况
图101 0.1 0
0.1 1
图102 0.3 1
0.3 0
图110 0.7 1
0.7 1
表1中任一行中指示的检索得分以及内点情况可以对应于一个项集,终端设备可以基于基于aprior算法从表1所示的数据中确定任一项集对应的支持度和置信度。例如,在终端设备确定检索得分大于0.5时对应的内点情况均为1、{检索得分大于0.5,内点}的数量占总项集数量的50%、且检索得分大于0.5时对应的点数量为总点数的50%时,则可以确定support(检索得分大于0.5=>内点)为0.5(即S1=0.5),confidence(检索得分大于0.5=>内点)为1(即C1=1)。
适应的,终端设备可以获取检索得分以及目标参数中的任一参数变量、与内点的支持度和置信度,该支持度和置信度的取值均可以用于确定位姿的可信程度。
可能的实现方式中,评价参数Sc可以为:
Sc=Pi×Si×Ci或者,其中,当i为1时,P1可以为0.1;当i为2时,P2可以为0.2;当i为3时,P3可以为对图像匹配点数对应的取值归一化得到的数值,如图像匹配点数为1000时,P3可以为1000/Z,Z可以大于1000的取值,如Z可以为2000;其他Pi的取值与P3类似,在此不再赘述。
可能的实现方式中,评价参数Sc也可以为:
其中,menaS可以为S1-S7的平均值,menaC可以为C1-C7的平均值;e、h、j以及可以理解为偏移量,该Si也可以替换为Si的平方,Ci也可以替换为Ci的开方等,f,g,k均可以为常数,本申请实施例中对评价参数的可能的变形不做具体限定。
示例性的,在确定某一图像的检索得分为0.1、图像匹配点数为1000,以及某一图像中的某一点对应的匹配点得分为0.2的情况下,该某一点对应的评价参数Sc可以为:
可能的实现方式中,评价参数Sc也可以为:Sc=P2×S2×C2,此时终端设备可以仅利用目标参数中的匹配点得分进行评价参数的计算,本申请实施例中对此不做限定。
类似的,终端设备可以计算目标图像集合中的、任一图像的、匹配点对应的评价参数,使得后续可以基于该评价参数确定该匹配点是否需要进行位姿计算。
S406、终端设备利用评价参数从第一匹配点中筛选出第二匹配点,并利用第二匹配点进行位姿计算。
本申请实施例中,该第二匹配点(或称为第二特征点)的个数小于第一匹配点的个数,该第二匹配点可以理解为在第一匹配点中,与内点具有较强关联关系的匹配点。示例性的,当终端设备确定第一匹配点中的任一点对应的评价参数大于目标评价参数时,可以将评价参数大于预目标评价参数的点作为第二匹配点,并利用第二匹配点进行位姿计算。
其中,该目标评价参数可以为预先训练得到的数值,目标评价参数用于从第一匹配点中筛选出更有可能用于位姿计算的匹配点,该目标评价参数的获取过程可以参见图8对应的实施例。
可能的实现方式中,S406之后,在终端设备获取环境图像对应的位姿的情况下,终端设备可以基于位姿确定用户当前所处位置,并通过对用户当前所处位置到目的地之间的路径规划,使得终端设备显示由用户当前所处位置到目的地之间的导航路线,例如使得终端设备显示如图1中的a所示的界面。进一步的,随着环境图像的变化,导航路线也发生变化,使得终端设备可以由图1中的a所示的界面变化至如图1中的b所示的界面。
本申请实施例中,位姿计算方法可以为PNP等方法。例如,终端设备中可以设置有目标图像集合中的任一二维图像对应的三维点云;在终端设备筛选得到第二匹配点后,可以获取该第二匹配点对应的三维点,并基于该二维匹配点以及三维点进行位姿计算。
基于此,终端设备可以通过对环境图像以及目标图像集合中的各图像之间的特征匹配情况、以及内点情况的梳理,从第一匹配点中筛选出与内点具有较强关联关系的第二匹配点,使得终端设备可以基于第二匹配点计算得到更为准确的位姿。
其中,终端设备可以采用aprior算法确定目标参数中的任一参数与内点之间的关联关系,并基于关联关系,确定更有可能成为内点的匹配点。示例性的,图6为本申请实施例提供的一种先验算法的原理示意图。如图6所示,终端设备可以基于aprior算法确定定位过程中的中间结果统计数据(或称为检索得分以及目标参数)与用于定位计算的内点之间的支持度和置信度。
在图4对应的实施例的基础上,可能的实现方式中,终端设备也可以基于图4对应的实施例中描述的位姿计算方法,在AR导航中显示数字人。示例性的,图7为本申请实施例提供的一种显示数字人的界面示意图。
示例性的,用户利用终端设备的AR导航功能在室内场景中进行定位,为了提高AR导航的趣味性,较多终端设备可以AR导航中支持数字人的显示,使得数字人可以指示导航路线。
终端设备可以显示如图7中的a所示的界面,该界面中可以显示基于摄像头采集到的环境图像,当终端设备接收到用于指示定位的操作时,终端设备可以基于图4对应的实施例进行位姿计算。在确定当前位姿满足预设的位置范围时,如确定当前位置处于机场航站楼内时,终端设备可以基于当前位姿以及目的地确定导航路线,进而显示如图7中的b所示的界面。如图7中的b所示的界面,该界面中可以包括数字人701,以及用于指示导航方向的标识702。
进一步的,随着终端设备的移动,终端设备采集到的图像不断发生变化,因此数字人也可以一步步指引用户,使得用户由当前位置到达目的地。例如,随着终端设备的移动,终端设备可以由图7中的b所示的界面切换至图7中的c所示的界面。
基于此,终端设备不仅可以基于位姿定位方法提供准确的定位,也可以利用数字人为用户提供更直观的路线指引,进而提高用户使用AR导航的体验感。
在图4对应的实施例的基础上,目标评价参数的获取过程可以参见图8对应的实施例。示例性的,图8为本申请实施例提供的一种获取目标评价参数的流程示意图。
如图8所示,该获取目标评价参数的过程可以包括如下步骤:
S801、终端设备利用训练数据对预设的图像集合进行图像检索,得到目标图像集合以及目标图像集合中的各图像对应的检索得分。
S802、终端设备对训练数据以及目标图像集合中各图像进行特征提取以及特征匹配,得到特征点数、匹配点得分、匹配点类别离散值、以及匹配点聚类的类别数等。
其中,获取特征点数、匹配点得分、匹配点类别离散值、以及匹配点聚类的类别数的方法可以参见S403所示的步骤。
S803、终端设备利用匹配点进行位姿计算,并确定内点。
其中,S803所示的步骤中描述的匹配点可以为第一匹配点。
S804、终端设备基于aprior算法确定由检索得分与目标参数构成的参数中的任一参数与内点构成的项集的支持度和置信度。
S805、终端设备计算各匹配点对应的评价参数。
S806、终端设备将各匹配点对应的评价参数输入到模型中进行训练,并在位姿计算结果收敛时获取目标评价参数。
其中,位姿计算结果收敛可以理解为训练过程中计算得到的位姿与真实位姿一致。例如,确定目标评价参数的初始值(或称为初始阈值)为0,当目标评价参数的初始值为0时,利用特征匹配得到的所有匹配点进行位姿计算,并利用损失函数对位姿计算结果以及真实位姿进行比较。进一步的,在位姿计算结果准确度较低时,以u为预设步长,确定目标评价参数的第二个取值为u,并筛选出所有匹配点分别对应的评价参数中,评价参数大于u时对应的匹配点,并基于新的匹配点进行位姿计算,进而基于损失函数对新的位姿计算结果以及真实位姿进行再次比较。重复上述目标评价参数的迭代过程,直到输出位姿计算结果与真实位姿一致时,对应的目标评价参数(或称为预设阈值)。
可能的实现方式中,终端设备也可以对终端设备的位姿计算过程中产生的数据进行存储,将环境图像以及位姿计算过程中产生的数据作为目标评价参数的训练数据,使得终端设备可以通过多次训练得到更为准确的目标评价参数。
在图4对应的实施例的基础上,为更清楚描述本申请实施例中描述的位姿计算方法。示例性的,图9为本申请实施例提供另一种位姿计算方法。
如图9所示,位姿计算方法可以包括如下步骤:
S901、终端设备利用环境图像及预设的图像集合进行图像检索,得到目标图像集合以及目标图像集合中的各图像对应的检索得分。
S902、终端设备对环境图像以及预设的图像集合中各图像进行特征提取以及特征匹配,得到特征点数,匹配点得分,匹配点类别离散值,以及匹配点聚类的类别数。
其中,该S902中描述的匹配点可以理解为图4中描述的第一匹配点。
S903、终端设备进行位姿计算确定内点。
S904、终端设备基于aprior算法确定由检索得分与目标参数构成的参数中的任一参数与内点构成的项集的支持度和置信度。
S905、终端设备计算各匹配点对应的评价参数。
S906、终端设备判断评价参数是否超过目标评价参数,并从第一匹配点中筛选出评价参数超过目标评价参数的匹配点,得到第二匹配点,进而利用第二特征点进行位姿更新。
基于此,终端设备可以通过对环境图像以及目标图像集合中的各图像之间的特征匹配情况、以及内点分布情况的梳理,从第一匹配点中筛选出与内点具有较强关联关系的第二匹配点,使得终端设备可以基于第二匹配点计算得到更为准确的位姿。
可能的实现方式中,在S407之后,终端设备也可以基于环境图像的位姿信息进行路径规划,并将规划后的路线显示在终端设备的界面中。
可以理解的是,在终端设备中预设有预设的图像集合的情况下,本申请实施例中提供的位姿计算方法中可以在终端设备中实现。
可能的实现方式中,在云端预设有预设的图像集合的情况下,本申请实施例中提供的位姿计算方法中可以在终端设备以及云端设备中实现。其中,终端设备可以用于获取环境图像、以及利用环境图像对应的位姿进行路径规划;云端设备可以为用于对终端设备上传的环境图像进行特征提取,并基于环境图像以及特征图像进行特征匹配以及位姿计算。可以理解的是,由于云端设备通常都具有较强的数据计算能力,因此在云端设备中执行位姿计算方法中的上述步骤可以避免终端设备执行上述步骤时的内存占用,提高位姿计算方法的运行速度。
可能的实现方式中,上述终端设备和云端设备可以建立通信连接,例如终端设备和云端设备可以通过超文本传输协议(hyper text tansfer protocol,HTTP)或基于安全套接字层的超文本传输协议(hyper text transfer trotocol over secure socketlayer,HTTPS)等协议建立通信连接,本申请实施例中对此不做任何限制。
可以理解的是,本申请实施例提供的界面仅作为一种示例,并不能构成对本申请实施例的限定。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
上面结合图4-图9,对本申请实施例提供的方法进行了说明,下面对本申请实施例提供的执行上述方法的装置进行描述。
如图10所示,图10为本申请实施例提供的一种位姿计算装置的结构示意图,该位姿计算装置可以是本申请实施例中的终端设备,也可以是终端设备内的芯片或芯片系统。
如图10所示,位姿计算装置1000可以用于通信设备、电路、硬件组件或者芯片中,该位姿计算装置包括:采集单元1001、以及处理单元1002。其中,采集单元1001用于支持位姿计算装置1000执行采集的步骤,处理单元1002用于支持位姿计算装置1000执行数据处理的步骤。
具体的,本申请实施例提供一种位姿计算装置1000,位姿计算装置包括:采集单元1001以及处理单元1002;采集单元1001,用于采集第一图像;处理单元1002,用于在预设的图像集合中获取N张第二图像,N张第二图像包括与第一图像的相似度满足第一预设条件的图像,和/或,与第一图像的清晰度满足第二预设条件的图像,N为正整数;处理单元1002,还用于在各N张第二图像中确定出多个第一特征点,第一特征点包括与第一图像中特征相同的特征点;处理单元1002,还用于计算得到各第一特征点的目标值,各第一特征点的目标值与用于反映第一特征点的特征匹配情况的参数、以及用于反映第一特征点中的内点情况的参数有关;处理单元1002,还用于在多个第一特征点筛选出第二特征点,第二特征点包括多个第一特征点中目标值大于预设阈值的特征点,预设阈值为预先训练得到的,预设阈值使得基于第三特征点中的第四特征点计算得到的位姿,与第三特征点的真实位姿之间的相似度满足第三预设条件;其中,第三特征点为训练数据与训练数据对应的多张图像中特征相同的特征点,第四特征点包括第三特征点中目标值大于预设阈值的特征点;处理单元1002,还用于利用第二特征点进行位姿计算,得到第一位姿。
可能的实现方式中,该位姿计算装置1000中也可以包括通信单元1003。具体的,通信单元1003用于支持位姿计算装置1000执行数据的发送以及数据的接收的步骤。其中,该通信单元1003可以是输入或者输出接口、管脚或者电路等。
可能的实施例中,位姿计算装置1000还可以包括:存储单元1004。处理单元1002、存储单元1004通过线路相连。存储单元1004可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。存储单元1004可以独立存在,通过通信线路与位姿计算装置具有的处理单元1002相连。存储单元1004也可以和处理单元1002集成在一起。
存储单元1004可以存储终端设备中的方法的计算机执行指令,以使处理单元1002执行上述实施例中的方法。存储单元1004可以是寄存器、缓存或者RAM等,存储单元1004可以和处理单元1002集成在一起。存储单元1004可以是只读存储器(read-only memory,ROM)或者可存储静态信息和指令的其他类型的静态存储设备,存储单元1004可以与处理单元1002相独立。
图11为本申请实施例提供的另一种终端设备的硬件结构示意图,如图11所示,该终端设备包括处理器1101,通信线路1104以及至少一个通信接口(图11中示例性的以通信接口1103为例进行说明)。
处理器1101可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路1104可包括在上述组件之间传送信息的电路。
通信接口1103,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线局域网(wireless local area networks,WLAN)等。
可能的,该终端设备还可以包括存储器1102。
存储器1102可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过通信线路1104与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器1102用于存储执行本申请方案的计算机执行指令,并由处理器1101来控制执行。处理器1101用于执行存储器1102中存储的计算机执行指令,从而实现本申请实施例所提供的方法。
可能的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,处理器1101可以包括一个或多个CPU,例如图11中的CPU0和CPU1。
在具体实现中,作为一种实施例,终端设备可以包括多个处理器,例如图11中的处理器1101和处理器1105。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compactdisc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
上述的组合也应包括在计算机可读介质的范围内。以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种位姿计算方法,其特征在于,所述方法包括:
终端设备采集第一图像;
所述终端设备在预设的图像集合中获取N张第二图像,所述N张第二图像包括与所述第一图像的相似度满足第一预设条件的图像,和/或,与所述第一图像的清晰度满足第二预设条件的图像,所述N为正整数;
所述终端设备在各所述N张第二图像中确定出多个第一特征点,所述第一特征点包括与所述第一图像中特征相同的特征点;
所述终端设备计算得到各所述第一特征点的目标值,各所述第一特征点的目标值与用于反映所述第一特征点的特征匹配情况的参数、以及用于反映所述第一特征点中的内点情况的参数有关;
所述终端设备在所述多个第一特征点筛选出第二特征点,所述第二特征点包括所述多个第一特征点中目标值大于预设阈值的特征点,所述预设阈值为预先训练得到的,所述预设阈值使得基于第三特征点中的第四特征点计算得到的位姿,与所述第三特征点的真实位姿之间的相似度满足第三预设条件;其中,所述第三特征点为训练数据与所述训练数据对应的多张图像中特征相同的特征点,所述第四特征点包括所述第三特征点中目标值大于所述预设阈值的特征点;
所述终端设备利用所述第二特征点进行位姿计算,得到第一位姿。
2.根据权利要求1所述的方法,其特征在于,所述用于反映特征匹配情况的参数包括下述一种或多种:用于指示所述第一特征点所在的第二图像与所述第一图像之间的相似度或清晰度、用于指示所述第二图像中的特征点数、用于指示所述第一特征点的个数、用于指示所述特征点数在所述第二图像中的占比、用于指示对所述第一特征点进行聚类得到的聚类个数、用于指示所述第一特征点所在聚类在所述第二图像中的分布的参数、或用于指示所述第二图像中的特征点为所述第一特征点的概率;
所述用于反映内点情况的参数可以包括下述一种或多种:用于指示所述第一特征点是否为内点的参数、或用于指示所述内点所在聚类在所述第二图像中的分布的参数。
3.根据权利要求2所述的方法,其特征在于,当所述用于反映所述第一特征点的特征匹配情况的参数为:用于指示所述第二图像中的特征点为所述第一特征点的概率,且所述用于反映内点情况的参数为:用于指示所述第一特征点是否为内点的参数时,则各所述第一特征点的目标值为:所述终端设备基于先验aprior算法计算的,各所述第一特征点对应的第一项集的支持度和置信度、与所述第一项集中用于指示所述第二图像中的特征点为所述第一特征点的概率的乘积;其中,所述第一项集为由所述用于指示所述第二图像中的特征点为所述第一特征点的概率、以及所述用于指示所述第一特征点是否为内点的参数构成的项集。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
所述终端设备获取初始阈值,并利用所述初始阈值从所述第三特征点中筛选出所述第三特征点的目标值大于所述初始阈值的第五特征点;
在所述终端设备确定基于所述第五特征点计算得到的位姿与所述真实位姿之间的相似度不满足所述第三预设条件时,所述终端设备利用预设步长调整所述初始阈值,得到所述预设阈值;其中,所述第五特征点包括所述第三特征点中目标值小于或等于所述预设阈值的特征点。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述终端设备采集第一图像,包括:
所述终端设备在预设的室内场景进行增强现实AR导航;
在所述终端设备接收到用于指示定位的操作时,所述终端设备采集所述第一图像。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述终端设备确定所述第一位姿满足预设的位置范围时,所述终端设备基于所述第一位姿以及目的地位置确定导航路线;
所述终端设备在所述AR导航中显示第一界面,所述第一界面中包括:用于指示所述导航路线的数字人,以及用于指示方向的标识。
7.一种位姿计算装置,其特征在于,所述位姿计算装置包括:采集单元以及处理单元;
所述采集单元,用于采集第一图像;
所述处理单元,用于在预设的图像集合中获取N张第二图像,所述N张第二图像包括与所述第一图像的相似度满足第一预设条件的图像,和/或,与所述第一图像的清晰度满足第二预设条件的图像,所述N为正整数;
所述处理单元,还用于在各所述N张第二图像中确定出多个第一特征点,所述第一特征点包括与所述第一图像中特征相同的特征点;
所述处理单元,还用于计算得到各所述第一特征点的目标值,各所述第一特征点的目标值与用于反映所述第一特征点的特征匹配情况的参数、以及用于反映所述第一特征点中的内点情况的参数有关;
所述处理单元,还用于在所述多个第一特征点筛选出第二特征点,所述第二特征点包括所述多个第一特征点中目标值大于预设阈值的特征点,所述预设阈值为预先训练得到的,所述预设阈值使得基于第三特征点中的第四特征点计算得到的位姿,与所述第三特征点的真实位姿之间的相似度满足第三预设条件;其中,所述第三特征点为训练数据与所述训练数据对应的多张图像中特征相同的特征点,所述第四特征点包括所述第三特征点中目标值大于所述预设阈值的特征点;
所述处理单元,还用于利用所述第二特征点进行位姿计算,得到第一位姿。
8.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,使得所述终端设备执行如权利要求1至7任一项所述的方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得计算机执行如权利要求1至7任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1至7任一项所述的方法。
CN202310145332.8A 2023-01-31 2023-01-31 位姿计算方法和装置 Pending CN117152245A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310145332.8A CN117152245A (zh) 2023-01-31 2023-01-31 位姿计算方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310145332.8A CN117152245A (zh) 2023-01-31 2023-01-31 位姿计算方法和装置

Publications (1)

Publication Number Publication Date
CN117152245A true CN117152245A (zh) 2023-12-01

Family

ID=88903334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310145332.8A Pending CN117152245A (zh) 2023-01-31 2023-01-31 位姿计算方法和装置

Country Status (1)

Country Link
CN (1) CN117152245A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180297207A1 (en) * 2017-04-14 2018-10-18 TwoAntz, Inc. Visual positioning and navigation device and method thereof
CN110287873A (zh) * 2019-06-25 2019-09-27 清华大学深圳研究生院 基于深度神经网络的非合作目标位姿测量方法、系统及终端设备
CN111260726A (zh) * 2020-02-07 2020-06-09 北京三快在线科技有限公司 一种视觉定位方法及装置
CN111750864A (zh) * 2020-06-30 2020-10-09 杭州海康机器人技术有限公司 一种基于视觉地图的重定位方法和装置
CN112162561A (zh) * 2020-10-13 2021-01-01 上海美迪索科电子科技有限公司 一种地图构建优化方法、装置、介质及设备
WO2021208372A1 (zh) * 2020-04-14 2021-10-21 北京迈格威科技有限公司 室内视觉导航方法、装置、系统及电子设备
WO2022170736A1 (zh) * 2021-02-09 2022-08-18 深圳市慧鲤科技有限公司 导航提示方法、装置、电子设备、计算机可读存储介质、计算机程序及程序产品
WO2023284715A1 (zh) * 2021-07-15 2023-01-19 华为技术有限公司 一种物体重建方法以及相关设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180297207A1 (en) * 2017-04-14 2018-10-18 TwoAntz, Inc. Visual positioning and navigation device and method thereof
CN110287873A (zh) * 2019-06-25 2019-09-27 清华大学深圳研究生院 基于深度神经网络的非合作目标位姿测量方法、系统及终端设备
CN111260726A (zh) * 2020-02-07 2020-06-09 北京三快在线科技有限公司 一种视觉定位方法及装置
WO2021208372A1 (zh) * 2020-04-14 2021-10-21 北京迈格威科技有限公司 室内视觉导航方法、装置、系统及电子设备
CN111750864A (zh) * 2020-06-30 2020-10-09 杭州海康机器人技术有限公司 一种基于视觉地图的重定位方法和装置
CN112162561A (zh) * 2020-10-13 2021-01-01 上海美迪索科电子科技有限公司 一种地图构建优化方法、装置、介质及设备
WO2022170736A1 (zh) * 2021-02-09 2022-08-18 深圳市慧鲤科技有限公司 导航提示方法、装置、电子设备、计算机可读存储介质、计算机程序及程序产品
WO2023284715A1 (zh) * 2021-07-15 2023-01-19 华为技术有限公司 一种物体重建方法以及相关设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHUN LIU ET AL.: "Stereo-image matching using a speeded up robust feature algorithm in an integrated vision navigation system", THE JOURNAL OF NAVIGATION, vol. 65, no. 4, 31 October 2012 (2012-10-31) *
陈伟;吴涛;李政;贺汉根;: "基于粒子滤波的单目视觉SLAM算法", 机器人, no. 03, 15 May 2008 (2008-05-15) *
黄雅兰: "基于特征点的图像匹配技术研究与应用", 中国优秀硕士学位论文全文数据库信息科技辑, no. 07, 15 July 2015 (2015-07-15) *

Similar Documents

Publication Publication Date Title
JP7154678B2 (ja) 目標の位置取得方法、装置、コンピュータ機器及びコンピュータプログラム
CN111770427B (zh) 麦克风阵列的检测方法、装置、设备以及存储介质
RU2731370C1 (ru) Способ распознавания живого организма и терминальное устройство
CN110555839A (zh) 缺陷检测识别方法、装置、计算机设备及存储介质
CN110188719B (zh) 目标跟踪方法和装置
CN111047621B (zh) 一种目标对象追踪方法、系统、设备及可读介质
CN110852942B (zh) 一种模型训练的方法、媒体信息合成的方法及装置
CN113936085B (zh) 三维重建方法和装置
CN112084959B (zh) 一种人群图像处理方法及装置
CN113822427A (zh) 一种模型训练的方法、图像匹配的方法、装置及存储介质
CN114547428A (zh) 推荐模型处理方法、装置、电子设备及存储介质
CN112418038A (zh) 人体检测方法、装置、电子设备及介质
CN111126159A (zh) 用于实时跟踪行人的方法、装置、电子设备和介质
CN114612531A (zh) 一种图像处理方法、装置、电子设备及存储介质
CN110622218A (zh) 一种图像显示方法、装置、存储介质和终端
CN112053360B (zh) 图像分割方法、装置、计算机设备及存储介质
CN111709993B (zh) 物体的位姿信息确定方法、装置、终端及存储介质
CN113570510A (zh) 图像处理方法、装置、设备及存储介质
CN105683959A (zh) 信息处理设备、信息处理方法及信息处理系统
CN113936064B (zh) 定位方法和装置
CN113569822B (zh) 图像分割方法、装置、计算机设备及存储介质
CN117152245A (zh) 位姿计算方法和装置
CN112598732A (zh) 目标设备定位方法、地图构建方法及装置、介质、设备
CN111586295B (zh) 图像生成方法、装置和电子设备
CN115841575A (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