CN110926334A - 测量方法、装置、电子设备及存储介质 - Google Patents
测量方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110926334A CN110926334A CN201911200633.6A CN201911200633A CN110926334A CN 110926334 A CN110926334 A CN 110926334A CN 201911200633 A CN201911200633 A CN 201911200633A CN 110926334 A CN110926334 A CN 110926334A
- Authority
- CN
- China
- Prior art keywords
- anchor point
- measurement
- camera
- reference point
- anchor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/002—Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/14—Measuring arrangements characterised by the use of optical techniques for measuring distance or clearance between spaced objects or spaced apertures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/28—Measuring arrangements characterised by the use of optical techniques for measuring areas
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/18—Stabilised platforms, e.g. by gyroscope
Abstract
本公开实施例公开了一种测量方法、装置、电子设备及存储介质,其中方法包括:获取摄像头采集到的当前帧图像,所述当前帧图像包含确定的参考点;确定所述参考点在所述摄像头所在的相机坐标系中的三维坐标;根据所述参考点在所述相机坐标系中的三维坐标确定所述参考点的锚点位置,所述锚点位置为所述参考点对应于世界坐标系中的三维坐标;基于所述锚点位置进行测量处理,获得测量结果,可以快速准确定位锚点位置并进行测量,获得的测量结果更准确。
Description
技术领域
本公开涉及计算机视觉技术领域,具体涉及一种测量方法、装置、电子设备及存储介质。
背景技术
日常生活中经常需要在各种场景下对距离、面积等进行测量,而用户不一定有合适的测量工具,对于这类测量需求无法快速、简单地满足。
随着电子设备的发展,结合多种传感器融合与优化技术,在尺度估计、环境三维感知、锚点计算与跟踪等方面都有了明显的优化;如通过手机,用户可以进行三维空间中的测量,使测量任务更加便捷。依靠电子设备实现现实场景中的测量,首先需要寻找一种相机坐标系与真实世界坐标系之间的转换关系,即给定图像中的一个点,需要计算出它在真实场景中的3D位置,即锚点位置,再通过确定的锚点位置进行测量运算。对于利用空间中锚点的测量功能来说,锚点位置的准确性十分重要。
一般而言,类似以上的功能都依赖于开启功能后对环境进行扫描以完成初始化,一般较低的耗时也需要2-3秒以上;并且由于用户在操作过程中为不断移动状态、以及可能涉及多个点的选择,通常需要首先对场景进行三维重建,然后通过计算视线与点云或者面片的交点得到锚点位置,耗时高且因重建精度不足而导致锚点容易偏离,基于锚点位置的测量结果不够准确。
发明内容
本公开实施例提供了一种测量方法、装置、电子设备及存储介质。
本公开实施例第一方面提供一种测量方法,包括:
获取摄像头采集到的当前帧图像,所述当前帧图像包含确定的参考点;
确定所述参考点在所述摄像头所在的相机坐标系中的三维坐标;
根据所述参考点在所述相机坐标系中的三维坐标确定所述参考点的锚点位置,所述锚点位置为所述参考点对应于世界坐标系中的三维坐标;
基于所述锚点位置进行测量处理,获得测量结果。
在一种可选的实施方式中,所述基于所述锚点位置进行测量处理,获得测量结果包括:
响应于测距指令,计算并获得所述锚点位置与所述摄像头之间的绝对距离。
在一种可选的实施方式中,所述参考点包含第一参考点和第二参考点,所述第一参考点对应第一锚点位置,所述第二参考点对应第二锚点位置;
所述基于所述锚点位置进行测量处理,获得测量结果包括:
获得所述第一锚点位置和所述第二锚点位置之间的长度测量值。
在一种可选的实施方式中,确定的所述锚点位置为至少三个;
所述基于所述锚点位置进行测量处理,获得测量结果包括:
获取角度测量指令,所述角度测量指令包括指定测量点,所述指定测量点为所述至少三个锚点位置中的任一个;
响应于所述角度测量指令,获得所述至少三个锚点位置中的三个锚点位置连接构成且以所述指定测量点为顶点的角的角度测量值。
在一种可选的实施方式中,所述方法还包括:
获得所述至少三个锚点位置连接构成的图形的面积测量值。
在一种可选的实施方式中,所述当前帧图像包含道路,所述当前帧图像中的参考点为对所述道路进行关键点检测获得的关键点;
所述基于所述锚点位置进行测量处理,获得测量结果包括:
基于所述锚点位置测量所述当前帧图像中所述道路的通道宽高。
在一种可选的实施方式中,所述方法还包括:
获取车辆信息,所述车辆信息包括车辆的高度和宽度;
比较所述通道宽高和所述车辆的高度和宽度,确定所述车辆是否存在行驶障碍。
在一种可选的实施方式中,所述方法还包括:
基于所述锚点位置在当前帧图像中所述道路的位置显示三维导航箭头,所述三维导航箭头指示预先规划的车辆驾驶方向。
在一种可选的实施方式中,所述方法还包括:
基于用户触发的选择操作在所述当前帧图像中确定所述参考点,或者,对所述当前帧图像进行形状检测操作,确定所述参考点。
在一种可选的实施方式中,所述确定所述参考点在所述摄像头所在的相机坐标系中的三维坐标包括:
基于所述参考点的位置信息和像素深度信息、所述摄像头的特征参数,确定所述参考点在所述相机坐标系中的三维坐标;
所述根据所述参考点在所述相机坐标系中的三维坐标确定所述参考点的锚点位置包括:
获取所述相机坐标系和所述世界坐标系之间的转换关系;
根据所述参考点在所述相机坐标系中的三维坐标,以及所述相机坐标系和所述世界坐标系之间的转换关系,确定所述参考点在所述世界坐标系中的三维坐标为所述锚点位置。
在一种可选的实施方式中,所述根据所述参考点在所述相机坐标系中的三维坐标确定所述参考点的锚点位置之后,所述方法还包括:
获取所述当前帧图像下所述摄像头的位置姿态信息;
根据所述摄像头的特征参数和所述摄像头的位置姿态信息,将所述参考点的锚点位置转换为在所述当前帧图像中的目标位置;
在所述当前帧图像中的所述目标位置显示虚拟元素。
在一种可选的实施方式中,所述虚拟元素包括:正方形锚点、圆形锚点、三角形锚点或者预设图像,所述预设图像包括静止图像、动态图像、平面图像、有声图像和/或三维立体图像。
在一种可选的实施方式中,所述预设图像包括家具、日用品、服饰、植物、动物和/或虚拟游戏角色。
在一种可选的实施方式中,所述在所述当前帧图像中的所述目标位置显示虚拟元素之后,所述方法还包括:
响应于拍摄指令,生成包括所述虚拟元素的图像或者视频。
本公开实施例第二方面提供了一种测量装置,包括:
获取模块,用于获取摄像头采集到的当前帧图像,所述当前帧图像包含确定的参考点;
确定模块,用于确定所述参考点在所述摄像头所在的相机坐标系中的三维坐标;
转换模块,用于根据所述参考点在所述相机坐标系中的三维坐标确定所述参考点的锚点位置,所述锚点位置为所述参考点对应于世界坐标系中的三维坐标;
测量模块,用于基于所述锚点位置进行测量处理,获得测量结果。
可选的,所述测量模块具体用于,响应于测距指令,计算并获得所述锚点位置与所述摄像头之间的绝对距离。
可选的,所述参考点包含第一参考点和第二参考点,所述第一参考点对应第一锚点位置,所述第二参考点对应第二锚点位置;
所述测量模块具体用于,获得所述第一锚点位置和所述第二锚点位置之间的长度测量值。
可选的,确定的所述锚点位置为至少三个;
所述获取模块具体用于,获取角度测量指令,所述角度测量指令包括指定测量点,所述指定测量点为所述至少三个锚点位置中的任一个;
所述测量模块具体用于,响应于所述角度测量指令,获得所述至少三个锚点位置中的三个锚点位置连接构成且以所述指定测量点为顶点的角的角度测量值,
可选的,所述测量模块还用于,获得所述至少三个锚点位置连接构成的图形的面积测量值。
可选的,所述当前帧图像包含道路,所述当前帧图像中的参考点为对所述道路进行关键点检测获得的关键点;
所述测量模块具体用于,基于所述锚点位置测量所述当前帧图像中所述道路的通道宽高。
可选的,所述获取模块还用于,获取车辆信息,所述车辆信息包括车辆的高度和宽度;
所述测量模块还用于,比较所述通道宽高和所述车辆的高度和宽度,确定所述车辆是否存在行驶障碍。
可选的,还包括显示模块,用于基于所述锚点位置在当前帧图像中所述道路的位置显示三维导航箭头,所述三维导航箭头指示预先规划的车辆驾驶方向。
可选的,所述确定模块还用于:
基于用户触发的选择操作在所述当前帧图像中确定所述参考点,或者,对所述当前帧图像进行形状检测操作,确定所述参考点。
可选的,所述确定模块具体用于,基于所述参考点的位置信息和像素深度信息、所述摄像头的特征参数,确定所述参考点在所述相机坐标系中的三维坐标;
所述获取模块还用于,获取所述相机坐标系和所述世界坐标系之间的转换关系;
所述转换模块具体用于:根据所述参考点在所述相机坐标系中的三维坐标,以及所述相机坐标系和所述世界坐标系之间的转换关系,确定所述参考点在所述世界坐标系中的三维坐标为所述锚点位置。
可选的,还包括显示模块;其中,所述获取模块还用于:
所述转换模块根据所述参考点在所述相机坐标系中的三维坐标确定所述参考点的锚点位置之后,获取所述当前帧图像下所述摄像头的位置姿态信息;
所述转换模块还用于,根据所述摄像头的特征参数和所述摄像头的位置姿态信息,将所述参考点的锚点位置转换为在所述当前帧图像中的目标位置;
所述显示模块用于,在所述当前帧图像中的所述目标位置显示虚拟元素。
可选的,所述虚拟元素包括:正方形锚点、圆形锚点、三角形锚点或者预设图像,所述预设图像包括静止图像、动态图像、平面图像、有声图像和/或三维立体图像,
可选的,所述预设图像包括家具、日用品、服饰、植物、动物和/或虚拟游戏角色。
可选的,还包括生成模块,用于:
在所述当前帧图像中的所述目标位置显示虚拟元素之后,响应于拍摄指令,生成包括所述虚拟元素的图像或者视频。
本公开实施例第三方面提供一种电子设备,包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序被配置成由所述处理器执行,所述处理器用于执行如本公开实施例第一方面任一方法中所描述的部分或全部步骤。
本公开实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,其中,所述计算机程序使得计算机执行如本公开实施例第一方面任一方法中所描述的部分或全部步骤。
本公开实施例通过获取摄像头采集到的当前帧图像,上述当前帧图像包含确定的参考点,再确定上述参考点在上述摄像头所在的相机坐标系中的三维坐标,然后根据上述参考点在上述相机坐标系中的三维坐标确定上述参考点的锚点位置,上述锚点位置为上述参考点对应于世界坐标系中的三维坐标,基于上述锚点位置进行测量处理,获得测量结果,比起需要立体匹配等方法估计深度或者场景三维重建的方式,能更快、更准确定位锚点位置,锚点显示稳定,支持更多操作场景进行测量,获得的测量结果更准确。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1是本公开实施例公开的一种测量方法的流程示意图;
图2A是本公开实施例公开的一种增强现实场景中的锚点显示效果示意图;
图2B是本公开实施例公开的另一种增强现实场景中的锚点显示效果示意图;
图3A是本公开实施例公开的另一种测量方法的流程示意图;
图3B是本公开实施例公开的一种测量方法的界面示意图;
图3C是本公开实施例公开的另一种测量方法的界面示意图;
图3D是本公开实施例公开的又一种测量方法的界面示意图;
图4是本公开实施例公开的另一种测量方法的流程示意图;
图5是本公开实施例公开的又一种测量方法的流程示意图;
图6是本公开实施例公开的一种测量装置的结构示意图;
图7是本公开实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本公开的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本公开实施例所涉及到的测量装置是可以通过摄像头用于现实场景中测量的装置,可以为电子设备,上述电子设备包括终端设备,具体实现中,上述终端设备包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
下面对本公开实施例进行详细介绍。
请参阅图1,图1是本公开实施例公开的一种测量方法的流程示意图,如图1所示,该测量方法包括如下步骤:
101、获取摄像头采集到的当前帧图像,上述当前帧图像包含确定的参考点。
本公开实施例中的测量方法的执行主体可以是上述测量装置,例如,上述测量方法可以由包含摄像头的终端设备或其它处理设备执行。其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。其它处理设备,例如可以为本地或云端服务器等。本公开对测量装置的形式并不限定。在一些可能的实现方式中,该测量方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
对于真实场景中的测量,需要通过世界坐标系中的位置进行计算。本公开实施例中涉及的相机坐标系是指摄像头所属相机的一种虚拟三维空间,上述世界坐标系则是相对上述摄像头所定义的一套坐标系统,是相对于该相机坐标系的真实场景空间。
对于摄像头采集的图像,图像中点的位置参考的是图像二维坐标系,为了进行真实场景中的测量,在确定参考点之后,需要先获得该参考点对应于相机坐标系中的三维坐标,再将该参考点对应的相机坐标系中的三维坐标转换为对应的世界坐标系中的三维坐标(锚点),从而可执行真实的测量任务。本公开实施例中的测量方法主要基于上述描述的逻辑进行处理,以下进行进一步描述。
具体的,可以启动摄像头进行图像采集,可以在显示界面中,显示上述摄像头采集到的当前帧图像。
其中,当前帧图像中包括确定的参考点。上述参考点可以理解为用户在当前帧图像中选定的点,即需要求得该参考点对应真实环境中的锚点位置。
可选的,可以基于用户触发的选择操作在上述当前帧图像中确定上述参考点,或者,对上述当前帧图像进行形状检测操作,确定上述参考点。
在一种可选的实施方式中,用户可以发起上述选择操作,进行图像中的参考点选择。上述选择操作可以是用户点击触屏幕的操作,也可以是用户通过触控操作移动显示界面中的光标来确定参考点,此处不作限制。
可选的,在步骤101之前,可以在检测到锚点操作指令时,进入上述锚点操作指令对应的锚点功能模式。其中,上述锚点操作指令可以由用户操作触发,比如用户通过点击装置的特定虚拟或实体按键,或者通过特定手势动作触发,装置可以检测到用户操作触发的锚点操作指令,进入对应的锚点功能模式,调用装置的摄像头开启测量功能。
可选的,对应于不同的应用场景,上述锚点操作指令可以有多种类型,对应不同的锚点功能模式,比如单锚点放置、多锚点放置、虚拟元素的放置、通过锚点进行物理测量等应用,对于摄像头,也可以根据不同的应用场景启动前置摄像头或者后置摄像头,本公开实施例对此不做限制。
102、确定上述参考点在上述摄像头所在的相机坐标系中的三维坐标。
对于真实场景中的测量,需要通过世界坐标系中的位置进行计算。本公开实施例中的相机坐标系是指摄像头所属相机的一种虚拟三维空间,上述世界坐标系是相对摄像头所定义的一套坐标系统,是相对于该相机坐标系的真实场景空间。
对于一般摄像头采集的图像,图像中点的位置参考的是图像二维坐标系,在确定参考点之后,需要先求得该参考点对应于相机坐标系中的三维坐标。
具体的,本公开实施例中的摄像头可以包括深度摄像头,深度摄像头可以获得拍摄对象的深度信息,即可转换为深度图,对于图像中的点来讲可以理解为上述相机坐标系,也就是三维的位置和尺寸信息,使得整个计算系统获得环境和对象的三维立体数据。通过将2D的参考点反投影到相机坐标系,确定该参考点在所述摄像头所在的相机坐标系中的三维坐标之后,可以执行步骤103。
可选的,本公开实施例可以使用飞行时间(Time of Flight,ToF)技术的深度摄像头,基本原理是传感器发出经调制的近红外光,遇物体后反射,传感器通过计算光线发射和反射时间差或相位差,来换算被拍摄景物的距离,以产生深度信息,此外再结合传统的相机拍摄,就能将物体的三维轮廓以不同颜色代表不同距离的地形图方式呈现出来。本公开实施例中可以使用双摄像头,一般摄像头获取平面图像(即RGB图),而通过上述ToF深度摄像头可以获得像素深度信息。
本公开实施例中可以通过传感器的数据(如陀螺仪,加速度传感器,重力传感器等)和RGBD图像输入,构建一个相对相机(摄像头)的平面与坐标系统,即初始化过程。
103、根据上述参考点在上述相机坐标系中的三维坐标确定上述参考点的锚点位置,上述锚点位置为上述参考点对应于世界坐标系中的三维坐标。
具体的,在获得参考点在上述相机坐标系中的三维坐标之后,需要转换为在真实世界中的固定位置坐标,即对应到世界坐标系中的三维坐标作为锚点位置。
在一种实施方式中,上述步骤102具体可包括:
基于上述参考点的位置信息和像素深度信息、上述摄像头的特征参数,确定上述参考点在上述相机坐标系中的三维坐标;
进一步地,上述步骤103可以包括:
获取上述相机坐标系和上述世界坐标系之间的转换关系;
根据上述参考点在上述相机坐标系中的三维坐标,以及上述相机坐标系和上述世界坐标系之间的转换关系,确定上述参考点在上述世界坐标系中的三维坐标为上述锚点位置。
在一种实施方式中,可以通过同步定位与建图方法(simultaneous localizationand mapping,SLAM)获得图像坐标系和世界坐标系之间的转换关系。上述SLAM也称为即时定位与地图构建(Concurrent Mapping and Localization,CML),或并发建图与定位。该问题可以描述为:将一个机器人放入未知环境中的未知位置,是否有办法让机器人一边移动一边逐步描绘出此环境完全的地图,所谓完全的地图(a consistent map)是指不受障碍行进到房间可进入的每个角落。
具体的,上述摄像头的特征参数可以包括摄像头焦距、图像光心位置坐标等代表了摄像头固有性质的特征参数,通常实现由标定获得,借助深度信息,再结合SLAM算法计算出的实时相机位置姿态信息,就可计算出图像中的点所对应的世界坐标系下的三维位置,即可确定参考点对应的锚点位置。
其中,可以基于传感器和RGBD图像输入,实时获取相机的3D位置姿态信息。
本公开实施例中的锚点位置在世界坐标系下的坐标不随(终端)摄像头的移动而移动。
104、基于上述锚点位置进行测量处理,获得测量结果。
本公开实施例中通过前述锚点位置的确定,通过准确的三维坐标信息进行计算,可获得测量结果,包含距离、边长、面积、角度等,此处不做限制。
在一种可选的实施方式中,基于本公开实施例的测量方法可以应用于AR尺寸测量应用。
增强现实(augmented reality,AR)技术是将计算机生成的虚拟对象叠加到用户所见的真实世界的一种新兴技术,它提高了用户对真实世界的感知,帮助我们更好的认识真实世界,以及与真实世界进行更好交互。
随着AR技术的发展,人们对图像或视频中展示的虚拟元素的要求越来越高,展示的类型也越来越多样化。要实现虚拟物体与现实场景的融合,需要先确定上述锚点位置,即给定图像中的一个点,需要计算出它在真实场景中的三维(3Dimensions,3D)位置,然后将虚拟元素放置在这个位置,这样才能保证当相机移动的时候,虚拟元素不会随之移动。在以后的图像帧中,再将这个3D位置投影回图像帧中,就可以实现锚点和真实场景融为一体的效果。
在一种可选的实施方式中,上述步骤103之后,该方法还包括:
获取上述当前帧图像下上述摄像头的位置姿态信息;
根据上述摄像头的特征参数和上述摄像头的位置姿态信息,将上述参考点的锚点位置转换为在上述当前帧图像中的目标位置;
在上述当前帧图像中的上述目标位置显示虚拟元素。
具体的,可以支持选择增强现实场景中的虚拟元素,用户通过操作可以触发元素选择指令,以选取用于显示的虚拟元素。比如用户在上述显示页面中预设的多个虚拟元素中点击选取一个虚拟元素,则可以在上述锚点位置显示该虚拟元素。
可选的,上述虚拟元素包括:正方形锚点、圆形锚点或者三角形锚点,基于这类锚点标记更适用于位置标记,以及后续进行测量等应用场景。
可选的,上述虚拟元素为目标图像,上述目标图像可以为静止图像、动态图像、平面图像、有声图像、三维立体图像等等。对于三维立体图像,通过改变摄像头角度或者滑动屏幕改变观察视角,用户可以看到该三维立体图像的各个角度,可以与真实场景融为一体,不随相机的移动而移动,应用广泛,提高了直观的交互显示效果。
具体的,若想在每一帧图像上对锚点位置进行绘制标记,则还需要计算出锚点位置在每一帧图像中的坐标,上述步骤可以多次执行,以根据摄像头的位置改变实时更新显示的图像帧。
基于上述锚点位置的测量,举例来讲,用户可以在被测量物体的两个端点放置锚点,通过计算两个锚点位置之间的距离得到物体的真实长度,并且在移动手机时,锚点仍然会附着在被测物体上,不会移动,用户通过改变终端摄像头的位置、角度可以获得该虚拟元素在真实场景中不同角度的图像。还可以有其他的测量应用功能,具体可以参考后续实施例中的描述,此处不做限制。
示例性的,以下对本公开实施例中确定锚点位置的具体计算方式进行描述:
1、对应于前述的像素深度信息,可以获取参考点周围的像素深度值。
(1)本公开实施例中通过深度摄像头可以提取以当前参考点为中心的大小为m*m的个像素的深度值,对其中的有效深度值从小到大进行排序,得到候选深度列表{d1,d2,...,dn},设变量k=1;
一般的方法主要是对窗口中的全部深度值取平均,这样当估计物体边缘深度时,会很容易将背景深度计算进来,导致较大误差。而本公开实施例中当窗口中同时包含前景和背景的时候,通过只计算前景深度的平均值,使深度值的估算更加准确。
2、在世界坐标系下的锚点位置计算:
如前述所述,该过程可以分为两步,首先将图像中的2D参考点反投影到相机坐标系下的3D坐标,然后根据当前相机位置姿态信息,得到对应于世界坐标系下的3D坐标。
(1)设当前帧图像中的参考点p1=[u1,v1],它对应(相机坐标系)的三维坐标点pcam=[x,y,z],则根据相机模型:
根据SLAM算法求得上述相机坐标系和世界坐标系之间的转换关系,包括旋转矩阵R1和平移向量t1,则该点在世界坐标系下的坐标:
Pworld=R1*Pcam+t1 (2.2)
3、锚点位置在其他图像帧上投影位置的计算
锚点在世界坐标系下的坐标不随摄像头的移动而移动,但是若想在每一帧上对锚点进行绘制,则还需要计算出锚点位置对应于每一帧图像中的坐标,此过程为步骤2的逆过程。
(1)设世界坐标系下锚点的坐标为Pworld=[x,y,z],根据SLAM算法求得当前帧相机坐标系和世界坐标系之间的转换关系,包括旋转矩阵R2和平移向量t2,则该点在当前帧相机坐标系下的坐标:
Pcam=R2 -1*(Pworld-t2) (3.1)
(2)设锚点位置在当前帧图像上的坐标为p2=[u2,v2],则根据相机模型,
(3)求得P2点的坐标之后,则可以在当前帧图像上此位置绘制虚拟元素,从而表现出虚拟元素与真实场景融为一体的感觉。对于同一个锚点位置在不同图像帧中的显示位置,由于锚点位置是固定的,只需要重复执行步骤3即可。
一般基于移动终端,如手机上的增强现实应用,实现实时、精准的锚点放置存在较多挑战。首先,此类应用都依赖于开启功能后对环境进行扫描以完成初始化,一般较低的耗时也需要2-3秒以上,通过本公开实施例中的方法,可以降到1秒以下,对用户而言接近无感知的完成初始化,能明显提升交互体验。再者,由于用户在操作过程中为不断移动状态、以及可能涉及多点的选择,需要保证测量的锚点能够稳定显示,并正确对应到用户所选的坐标点,现有方案需要重建点云和面片后计算出与视线的交点,得到锚点位置,耗时高且因重建精度不足而导致锚点容易偏离。
本公开中根据由ToF等设备获取深度信息,直接根据相机模型计算在世界坐标系下的锚点三维坐标,避免以往通过复杂的立体匹配等方法估计深度,速度更快。
而对于深度图噪声较大的问题,本公开中采用邻域窗口取均值的方法代替当前点的深度,使结果更加鲁棒;特别是当锚点放置在物体边缘上时,邻域窗口中的深度会同时包含前景和背景,因此本算法通过计算方差的方法,能够有效剔除背景深度,只对前景点求平均,使结果更加准确。例如由于锚点放置过程需要与用户进行交互,将虚拟元素摆放在用户点击的位置,然而,当用户希望将锚点放置在物体边缘上时,很容易点击到背景上,从而将锚点放置在错误的位置。此方法可以有效避免这种误操作,只要邻域窗口中包含物体的深度,用户就可以将锚点正确放置在物体上。
由于移动端设备功率的限制,其搭载的深度相机获取的深度图尺寸很小,需要插值放大并与RGB图进行对齐,这会导致物体的边缘深度出现一定程度的偏差和空洞,此方法也可以有效降低深度边缘的偏差和空洞造成的影响,保证锚点在场景中的正确位置不受影响。
综上,可以获得准确的锚点位置并有稳定、良好的显示效果,从而对于测量应用场景中,基于上述锚点位置进行计算,操作简单快捷,不需要实体测量工具就可以获得准确的测量结果。
本公开实施例通过获取摄像头采集到的当前帧图像,上述当前帧图像包含确定的参考点,再确定上述参考点在上述摄像头所在的相机坐标系中的三维坐标,然后根据上述参考点在上述相机坐标系中的三维坐标确定上述参考点的锚点位置,上述锚点位置为上述参考点对应于世界坐标系中的三维坐标,基于上述锚点位置进行测量处理,获得测量结果,比起需要立体匹配等方法估计深度或者场景三维重建的方式,能更快、更准确定位锚点位置,锚点显示稳定,支持更多操作场景进行测量,获得的测量结果更准确。
本公开实施例中通过前述方法确定锚点位置,可以应用于强现实场景的交互功能,如图2A和2B分别为本公开实施例提供的一种增强现实场景中的锚点显示效果示意图。
示例性的,如图2A和图2B所示,本公开实施例中的虚拟元素选择为圆形锚点,适用于标注位置,可以由用户选择或者自动图像识别确定图中参考点来实现锚点放置。请参见图2A的第一种视角,摄像头采集到的当前帧图像场景中包含一张桌子,选中的参考点为桌子一角,通过本公开实施例中的测量方法可以确定该参考点对应的锚点位置P,并在锚点位置P显示圆形锚点;而用户可以改变终端位置(摄像头角度),在图2B所示的第二种视角中,可以看出锚点位置P未改变其相对于真实场景中的位置,仍然在该桌角位置,与真实场景完全融合,没有出现漂移,进一步的,可以测量该锚点位置P距离当前摄像头的距离。类似的,可以确定多个锚点位置并可以进行长度、面积、角度等测量。
请参阅图3A,图3A是本公开实施例公开的另一种测量方法的流程示意图,其中锚点位置的确定方法可以为图1所示实施例中的步骤101-步骤103。如图3A所示,该方法包括如下步骤:
301、获取摄像头采集到的当前帧图像,上述当前帧图像包含目标书本。
具体的,可以参考图3B-图3D,分别为本公开实施例公开的一种测量方法的界面示意图。如图3B所示,在终端的显示界面中,通过终端摄像头采集到的当前帧图像包括真实环境中桌面上的目标书本M。
302、根据用户的触控操作确定第一参考点,根据上述用户由上述第一参考点开始的拖动操作确定第二参考点。
在一种可选的实施方式中,用户触发触摸操作的起点位置确定为第一锚点位置,可以获取针对第一锚点位置的拖动操作指令,根据上述拖动操作指令确定第二锚点位置。
基于至少两个锚点位置可以进行长度测量功能,可选的,可以显示锚点标记,用户由第一锚点位置进行拖动操作时,沿拖动方向的轨迹上可以显示出一条直线,直到用户松开手指的位置,确定该位置为第二锚点位置,也可以通过直接点击选择两个端点作为锚点位置。
具体如图3B所示,用户可通过对显示屏的触控操作选中目标书本M的一角作为第一参考点,其中虚线椭圆表示用户发生触控操作的位置;继续参见图3C,可以看到,用户拖动操作形成虚线轨迹,其中虚线椭圆表示用户手指接触中的位置(点X);在图3D中可见,最终可以拖动到目标书本M的另一角松开手指,确定该位置为第二参考点。
303、确定上述第一参考点对应的第一锚点位置和上述第二参考点对应的第二锚点位置。
进一步地,根据图1所示实施例中的锚点位置确定方法可以确定该第一参考点对应的第一锚点位置A,以及确定该第二参考点对应的第二锚点位置B。
304、获得上述第一锚点位置和上述第二锚点位置之间的长度测量值。
305、输出上述长度测量值。
具体的,通过锚点位置A和B的三维坐标,可以计算获得在真实场景中的两点间距离,即该目标书本书M从A点到B点的长度测量值,并可以输出上述长度测量值,比如如图3D所示显示在图像中,也可以通过语音等形式输出。在该过程中用户移动终端时,锚点仍然会附着在被测物体上,不会移动,可以方便、准确地实现长度测量的功能。本公开实施例对标记锚点所使用的虚拟元素不作限制。
本公开实施例中通过前述锚点位置的确定方法,通过准确的三维坐标点信息进行计算,可以获得测量结果,包含距离、边长、面积、角度等,此处不做限制。
本公开实施例中上述第一参考点和第二参考点的选取,以及第一锚点位置和第二锚点位置的确定可以参见图1所示实施例中的具体描述,此处不再赘述。
基于上述方法确定的锚点位置,可以计算两个锚点位置之间的距离,为用户提供真实场景中的长度测量功能。
在一种可选的实施方式中,确定的上述锚点位置为至少三个,该方法还可包括:
获取角度测量指令,上述角度测量指令包括指定测量点,上述指定测量点为上述至少三个锚点位置中的任一个;
响应于上述角度测量指令,获得上述至少三个锚点位置中的三个锚点位置连接构成且以上述指定测量点为顶点的角的角度测量值。
具体的,用户可以触发角度测量指令进行角度测量功能。可选的,通过用户操作可以确定三个锚点位置,比如用户可以通过拖动操作画出三个锚点位置构成的角(起点、顶点、终点),其中角的顶点可以被自动识别为指定测量点,也可以手动选取指定测量点,通过锚点位置的三维坐标进行计算,可以获得以该指定测量点为顶点的角的角度测量值。可选的,还可以获得至少三个锚点位置连接构成的图形的面积测量值。
用户也可以选择多个锚点、组成折线或者封闭图形等,通过锚点位置可以对其中的直线长度、角度和面积进行计算并显示计算结果,为用户提供准确、快捷的测量计算功能。
请参阅图4,图4是本公开实施例公开的另一种增强现实场景中的锚点测量应用方法的流程示意图,其中锚点位置的确定方法如图1所示实施例的步骤101-步骤103中介绍,此处不再赘述。如图4所示,该方法包括如下步骤:
401、获取摄像头采集到的当前帧图像,上述当前帧图像包含人脸,上述当前帧图像中的参考点为对上述人脸进行关键点检测获得的关键点。
对于摄像头采集的包含人脸的当前帧图像,本公开实施例中可以基于人脸的关键点检测算法确定图像中的人脸区域。具体的,通过人脸关键点检测可以得到图像中人脸的关键点,进而求出其凸包,这个凸包可以作为大致的人脸区域。
在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。X的凸包可以用X内所有点(X1,...Xn)的凸组合来构造。通俗来讲,给定二维平面上的点集,凸包可以理解为将最外层的点连接起来构成的凸多边形,它能包含点集中所有的点,在待处理图像中可以表现为框起来的人脸区域。
本公开实施例中对关键点的数量不做限定,可以标注出人脸的轮廓即可。
进一步地,可以获取人脸的多个关键点作为参考点,进而获得这些参考点对应的锚点位置,比如眼角位置的关键点、鼻尖位置的关键点、或者下巴位置的关键点等,此处不做限制。其中上述参考点、锚点位置的相关定义和锚点位置的确定可以参考图1所示实施例中的相关具体描述,此处不再赘述。
402、确定上述参考点在上述摄像头所在的相机坐标系中的三维坐标。
403、根据上述参考点在上述相机坐标系中的三维坐标确定上述参考点的锚点位置,上述锚点位置为上述参考点对应于世界坐标系中的三维坐标。
其中,上述步骤402和步骤403可以分别参考图1所示实施例的步骤102和步骤103中的描述,此处不再赘述。
404、基于上述锚点位置测量上述当前帧图像中上述人脸的五官比例,获得上述人脸的五官比例测量结果。
本公开实施例中,可以根据需要通过对图像中人脸的五官比例进行测量,获得人脸的五官比例测量结果。比如瞳距、内眼角距离、嘴唇厚度、额头占脸长的比例、两边脸颊宽度比例等,此处不做限制。其中,对于锚点位置的测量可以参考图1所示实施例中步骤104中的具体描述,此处不再赘述。
可选的,上述步骤404之后,该方法还包括:
基于上述锚点位置在上述人脸上叠加显示虚拟装饰图像。
由于上述参考点是可以体现人脸特征的关键点,基于上述参考点对应的锚点位置放置预先选定的虚拟装饰图像,可以达到在上述人脸上叠加显示虚拟装饰图像的效果,上述虚拟装饰图像可以是三维图像,从而仿佛真人带上的真实装扮,与真实人脸融合度高。而上述摄像头可以是前置或者后置摄像头,应用到移动终端的拍摄类应用程序中,可以为用户提供拍照特效等功能,本公开实施例对此不作限制。
请参阅图5,图5是本公开实施例公开的又一种增强现实场景中的锚点测量应用方法方法的流程示意图,其中锚点位置的确定方法如图1所示实施例的步骤101-步骤103中介绍,此处不再赘述。如图5所示,该方法包括如下步骤:
501、获取摄像头采集到的当前帧图像,上述当前帧图像包含道路,上述当前帧图像中的参考点为对上述道路进行关键点检测获得的关键点。
本公开实施例中的测量方法可以结合移动终端的全球定位系统(GlobalPositioning System,GPS),应用于导航场景,引导用户沿虚拟路径行驶,提高了导航应用程序的安全性。
通过移动终端的摄像头实时采集的道路图像,在屏幕中显示前方道路,同时显示导航路径。根据导航软件中的规划道路和真实环境中的道路进行匹配,以及通过对当前道路图像的关键点识别确定道路图像的多个关键点为参考点,获得参考点对应的锚点位置进行增强现实处理。
502、确定上述参考点在上述摄像头所在的相机坐标系中的三维坐标。
503、根据上述参考点在上述相机坐标系中的三维坐标确定上述参考点的锚点位置,上述锚点位置为上述参考点对应于世界坐标系中的三维坐标。
其中,上述步骤502和步骤503可以分别参考图1所示实施例的步骤102和步骤103中的描述,此处不再赘述。
504、基于上述锚点位置测量上述当前帧图像中上述道路的通道宽高。
本公开实施例中,可以根据需要通过对图像中道路的通道宽高进行测量,其中高度可以理解为在具备高度障碍物时进行测量的高度,比如隧道、桥洞、栏杆等限高场景。可选的,还可以进行其他道路上的测量,比如车距、与路障的距离等等,此处不做限制。其中,对于锚点位置的测量方法可以参考图1所示实施例中步骤104中的具体描述,此处不再赘述。
505、获取车辆信息,上述车辆信息包括车辆的高度和宽度。
506、比较上述通道宽高和上述车辆的高度和宽度,确定上述车辆是否存在行驶障碍。
若上述通道宽度小于或等于车辆宽度,或者上述通道高度小于或者等于车辆高度,可以确定上述车辆存在行驶障碍,可以输出提示信息,以提醒车辆不在该道路继续形式。可选的,可以设定判断阈值,在通道高度小于车辆高度,并且高度差值大于上述判断阈值的情况下,确定车辆不存在行驶障碍,可以继续安全通行,宽度的判断类似。可以为驾驶员准确快速判断行驶中的障碍问题,提供了更安全的通行保障。
在一种可选的实施方式中,可以基于上述锚点位置在当前帧图像中上述道路的位置显示三维导航箭头,上述三维导航箭头指示预先规划的车辆驾驶方向。
通过确定的上述锚点位置可以大致确定道路区域,在进行输出显示时,在当前帧图像中上述道路的位置将指示导航的三维导航箭头叠加在当前帧图像上,三维导航箭头沿路径延升,方便用户直观了解行驶方向。可选的,还可以显示其他导航相关信息,比如当前车速、到达目的地的剩余时间、剩余路程以及其他提示信息等,引导用户沿虚拟路径驾驶,可以更准确、形象地为用户提供导航。
本公开实施例中的测量方法还可以有其他应用场景。在一种可选的实施方式中,基于上述测量方法和增强现实技术,旅游行业可以为访问者提供更多的目的地信息和路标信息,AR应用程序可以帮助旅行者在度假景点之间进行导航,并且进一步了解目的地的兴趣点;在建筑领域,允许建筑师、施工人员、开发人员和客户在任何建筑开始之前,将一个拟议的设计在空间和现有条件下的样子可视化,除了可视化之外,它还可以帮助识别工作中的可构建性问题,比如可以基于放置的虚拟建筑物、家具等进行锚点测量,从而允许架构师和构建人员在问题在开始构建之后变得更加难以解决之前集思广益解决方案。
还可以在移动购物应用程序中添加基于上述测量方法的增强现实功能,允许客户“试穿”感兴趣的服饰;在AR游戏中,虚拟角色和道具可以与真实场景融为一体,不随相机的移动而移动,给玩家一种虚拟角色仿佛来到现实世界中的体验;在AR家具中,用户可以将虚拟家具摆放在想要的位置,然后在不同视角下进行观察,家具仍然被摆放在初始位置,仿佛真实存在一般。还可以帮助教育工作者在课堂上用动态3D模型并可以进行相关测量方法,吸引学生的注意力。
随着增强现实技术的成熟,以及应用程序的数量不断增长,未来增强现实技术可以影响我们的购物、娱乐、工作和生活等方方面面。基于本公开实施例中的测量方法能更快、更准确定位锚点位置,锚点显示稳定,支持更多操作场景进行测量,从而使获得的测量结果更准确。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
上述主要从方法侧执行过程的角度对本公开实施例的方案进行了介绍。可以理解的是,测量装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对测量装置进行功能单元(模块)的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本公开实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图6,图6是本公开实施例公开的一种测量装置的结构示意图。如图6所示,该测量装置600包括:
获取模块610,用于获取摄像头采集到的当前帧图像,上述当前帧图像包含确定的参考点;
确定模块620,用于确定上述参考点在上述摄像头所在的相机坐标系中的三维坐标;
转换模块630,用于根据上述参考点在上述相机坐标系中的三维坐标确定上述参考点的锚点位置,上述锚点位置为上述参考点对应于世界坐标系中的三维坐标;
测量模块640,用于基于上述锚点位置进行测量处理,获得测量结果。
可选的,上述测量模块640具体用于,响应于测距指令,计算并获得上述锚点位置与上述摄像头之间的绝对距离。
可选的,上述参考点包含第一参考点和第二参考点,上述第一参考点对应第一锚点位置,上述第二参考点对应第二锚点位置;
上述测量模块640具体用于,获得上述第一锚点位置和上述第二锚点位置之间的长度测量值。
可选的,确定的上述锚点位置为至少三个;
上述获取模块610具体用于,获取角度测量指令,上述角度测量指令包括指定测量点,上述指定测量点为上述至少三个锚点位置中的任一个;
上述测量模块640具体用于,响应于上述角度测量指令,获得上述至少三个锚点位置中的三个锚点位置连接构成且以上述指定测量点为顶点的角的角度测量值。
可选的,上述测量模块640还用于,获得上述至少三个锚点位置连接构成的图形的面积测量值。
可选的,上述当前帧图像包含道路,上述当前帧图像中的参考点为对上述道路进行关键点检测获得的关键点;
上述测量模块640具体用于,基于上述锚点位置测量上述当前帧图像中上述道路的通道宽高。
可选的,上述获取模块610还用于,获取车辆信息,上述车辆信息包括车辆的高度和宽度;
上述测量模块640还用于,比较上述通道宽高和上述车辆的高度和宽度,确定上述车辆是否存在行驶障碍。
可选的,测量装置600还包括显示模块650,用于基于上述锚点位置在当前帧图像中上述道路的位置显示三维导航箭头,上述三维导航箭头指示预先规划的车辆驾驶方向。
可选的,上述确定模块620还用于:
基于用户触发的选择操作在上述当前帧图像中确定上述参考点,或者,对上述当前帧图像进行形状检测操作,确定上述参考点。
可选的,上述确定模块620具体用于,基于上述参考点的位置信息和像素深度信息、上述摄像头的特征参数,确定上述参考点在上述相机坐标系中的三维坐标;
上述获取模块610还用于,获取上述相机坐标系和上述世界坐标系之间的转换关系;
上述转换模块630具体用于:根据上述参考点在上述相机坐标系中的三维坐标,以及上述相机坐标系和上述世界坐标系之间的转换关系,确定上述参考点在上述世界坐标系中的三维坐标为上述锚点位置。
可选的,上述获取模块610还用于,上述转换模块630根据上述参考点在上述相机坐标系中的三维坐标确定上述参考点的锚点位置之后,获取上述当前帧图像下上述摄像头的位置姿态信息;
上述转换模块630还用于,根据上述摄像头的特征参数和上述摄像头的位置姿态信息,将上述参考点的锚点位置转换为在上述当前帧图像中的目标位置;
显示模块650可以用于,在上述当前帧图像中的上述目标位置显示虚拟元素。
可选的,上述虚拟元素包括:正方形锚点、圆形锚点、三角形锚点或者预设图像,上述预设图像包括静止图像、动态图像、平面图像、有声图像和/或三维立体图像。
可选的,上述预设图像包括家具、日用品、服饰、植物、动物和/或虚拟游戏角色。
可选的,测量装置600还包括生成模块670,用于:
在上述当前帧图像中的上述目标位置显示虚拟元素之后,响应于拍摄指令,生成包括上述虚拟元素的图像或者视频。
使用本公开实施例中的测量装置600,可以实现前述图1实施例中的测量方法以及图3A、图4和图5所示的测量应用方法,此处不再赘述。
实施图6所示的测量装置600,测量装置600可以获取摄像头采集到的当前帧图像,上述当前帧图像包含确定的参考点,再确定上述参考点在上述摄像头所在的相机坐标系中的三维坐标,然后根据上述参考点在上述相机坐标系中的三维坐标确定上述参考点的锚点位置,上述锚点位置为上述参考点对应于世界坐标系中的三维坐标,基于上述锚点位置进行测量处理,获得测量结果,比起需要立体匹配等方法估计深度或者场景三维重建的方式,能更快、更准确定位锚点位置,锚点显示稳定,支持更多操作场景进行测量,获得的测量结果更准确。
请参阅图7,图7是本公开实施例公开的一种电子设备的结构示意图。如图7所示,该电子设备700包括处理器701和存储器702,其中,电子设备700还可以包括总线703,处理器701和存储器702可以通过总线703相互连接,总线703可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线703可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中,电子设备700还可以包括输入输出设备704,输入输出设备704可以包括显示屏,例如液晶显示屏。存储器702用于存储计算机程序;处理器701用于调用存储在存储器702中的计算机程序执行上述图1实施例中提到的部分或全部方法步骤。
实施图7所示的电子设备700,电子设备700可以获取摄像头采集到的当前帧图像,上述当前帧图像包含确定的参考点,再确定上述参考点在上述摄像头所在的相机坐标系中的三维坐标,然后根据上述参考点在上述相机坐标系中的三维坐标确定上述参考点的锚点位置,上述锚点位置为上述参考点对应于世界坐标系中的三维坐标,基于上述锚点位置进行测量处理,获得测量结果,比起需要立体匹配等方法估计深度或者场景三维重建的方式,能更快、更准确定位锚点位置,锚点显示稳定,支持更多操作场景进行测量,获得的测量结果更准确。
本公开实施例还提供一种计算机存储介质,其中,该计算机存储介质用于存储计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种测量方法或者应用方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本公开所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元(模块)可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
以上对本公开实施例进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本公开的限制。
Claims (10)
1.一种测量方法,其特征在于,所述方法包括:
获取摄像头采集到的当前帧图像,所述当前帧图像包含确定的参考点;
确定所述参考点在所述摄像头所在的相机坐标系中的三维坐标;
根据所述参考点在所述相机坐标系中的三维坐标确定所述参考点的锚点位置,所述锚点位置为所述参考点对应于世界坐标系中的三维坐标;
基于所述锚点位置进行测量处理,获得测量结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述锚点位置进行测量处理,获得测量结果包括:
响应于测距指令,计算并获得所述锚点位置与所述摄像头之间的绝对距离。
3.根据权利要求1或2所述的方法,其特征在于,所述参考点包含第一参考点和第二参考点,所述第一参考点对应第一锚点位置,所述第二参考点对应第二锚点位置;
所述基于所述锚点位置进行测量处理,获得测量结果包括:
获得所述第一锚点位置和所述第二锚点位置之间的长度测量值。
4.根据权利要求1-3任一所述的方法,其特征在于,确定的所述锚点位置为至少三个;
所述基于所述锚点位置进行测量处理,获得测量结果包括:
获取角度测量指令,所述角度测量指令包括指定测量点,所述指定测量点为所述至少三个锚点位置中的任一个;
响应于所述角度测量指令,获得所述至少三个锚点位置中的三个锚点位置连接构成且以所述指定测量点为顶点的角的角度测量值。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获得所述至少三个锚点位置连接构成的图形的面积测量值。
6.根据权利要求1-4任一所述的方法,其特征在于,所述当前帧图像包含道路,所述当前帧图像中的参考点为对所述道路进行关键点检测获得的关键点;
所述基于所述锚点位置进行测量处理,获得测量结果包括:
基于所述锚点位置测量所述当前帧图像中所述道路的通道宽高。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取车辆信息,所述车辆信息包括车辆的高度和宽度;
比较所述通道宽高和所述车辆的高度和宽度,确定所述车辆是否存在行驶障碍。
8.一种测量装置,其特征在于,包括:
获取模块,用于获取摄像头采集到的当前帧图像,所述当前帧图像包含确定的参考点;
确定模块,用于确定所述参考点在所述摄像头所在的相机坐标系中的三维坐标;
转换模块,用于根据所述参考点在所述相机坐标系中的三维坐标确定所述参考点的锚点位置,所述锚点位置为所述参考点对应于世界坐标系中的三维坐标;
测量模块,用于基于所述锚点位置进行测量处理,获得测量结果。
9.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序被配置成由所述处理器执行,所述处理器用于执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200633.6A CN110926334B (zh) | 2019-11-29 | 2019-11-29 | 测量方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911200633.6A CN110926334B (zh) | 2019-11-29 | 2019-11-29 | 测量方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110926334A true CN110926334A (zh) | 2020-03-27 |
CN110926334B CN110926334B (zh) | 2022-02-22 |
Family
ID=69847859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911200633.6A Active CN110926334B (zh) | 2019-11-29 | 2019-11-29 | 测量方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110926334B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111192323A (zh) * | 2020-04-10 | 2020-05-22 | 支付宝(杭州)信息技术有限公司 | 基于图像的对象定位方法及装置 |
CN112102390A (zh) * | 2020-08-31 | 2020-12-18 | 北京市商汤科技开发有限公司 | 测量方法及装置、电子设备及存储介质 |
CN112882014A (zh) * | 2021-01-20 | 2021-06-01 | 东风汽车集团股份有限公司 | 凸台凹坑识别方法及系统 |
CN112948411A (zh) * | 2021-04-15 | 2021-06-11 | 深圳市慧鲤科技有限公司 | 位姿数据的处理方法及接口、装置、系统、设备和介质 |
CN113819890A (zh) * | 2021-06-04 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 测距方法、装置、电子设备及存储介质 |
CN114088062A (zh) * | 2021-02-24 | 2022-02-25 | 上海商汤临港智能科技有限公司 | 目标定位方法及装置、电子设备和存储介质 |
WO2024055683A1 (zh) * | 2022-09-16 | 2024-03-21 | 华为技术有限公司 | 一种增强现实方法和计算装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840574A (zh) * | 2010-04-16 | 2010-09-22 | 西安电子科技大学 | 基于边缘象素特征的深度估计方法 |
CN102262725A (zh) * | 2010-05-31 | 2011-11-30 | 普莱姆森斯有限公司 | 三维场景的分析 |
EP2680228A1 (en) * | 2012-06-25 | 2014-01-01 | Softkinetic Software | Improvements in or relating to three dimensional close interactions. |
CN106504321A (zh) * | 2016-11-07 | 2017-03-15 | 达理 | 使用照片或视频重建三维牙模的方法及使用rgbd图像重建三维牙模的方法 |
CN106663338A (zh) * | 2014-08-01 | 2017-05-10 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
CN107527366A (zh) * | 2017-08-23 | 2017-12-29 | 上海视智电子科技有限公司 | 一种面向深度相机的相机跟踪方法 |
CN108304119A (zh) * | 2018-01-19 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 物体测量方法、智能终端及计算机可读存储介质 |
CN108665496A (zh) * | 2018-03-21 | 2018-10-16 | 浙江大学 | 一种基于深度学习的端到端的语义即时定位与建图方法 |
CN109448045A (zh) * | 2018-10-23 | 2019-03-08 | 南京华捷艾米软件科技有限公司 | 基于slam的平面多边形物体测量方法及机器可读存储介质 |
CN109859265A (zh) * | 2018-12-28 | 2019-06-07 | 维沃通信科技有限公司 | 一种测量方法及移动终端 |
CN110378965A (zh) * | 2019-05-21 | 2019-10-25 | 北京百度网讯科技有限公司 | 确定坐标系转换参数的方法、装置、设备和存储介质 |
-
2019
- 2019-11-29 CN CN201911200633.6A patent/CN110926334B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840574A (zh) * | 2010-04-16 | 2010-09-22 | 西安电子科技大学 | 基于边缘象素特征的深度估计方法 |
CN102262725A (zh) * | 2010-05-31 | 2011-11-30 | 普莱姆森斯有限公司 | 三维场景的分析 |
EP2680228A1 (en) * | 2012-06-25 | 2014-01-01 | Softkinetic Software | Improvements in or relating to three dimensional close interactions. |
CN106663338A (zh) * | 2014-08-01 | 2017-05-10 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
CN106504321A (zh) * | 2016-11-07 | 2017-03-15 | 达理 | 使用照片或视频重建三维牙模的方法及使用rgbd图像重建三维牙模的方法 |
CN107527366A (zh) * | 2017-08-23 | 2017-12-29 | 上海视智电子科技有限公司 | 一种面向深度相机的相机跟踪方法 |
CN108304119A (zh) * | 2018-01-19 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 物体测量方法、智能终端及计算机可读存储介质 |
CN108665496A (zh) * | 2018-03-21 | 2018-10-16 | 浙江大学 | 一种基于深度学习的端到端的语义即时定位与建图方法 |
CN109448045A (zh) * | 2018-10-23 | 2019-03-08 | 南京华捷艾米软件科技有限公司 | 基于slam的平面多边形物体测量方法及机器可读存储介质 |
CN109859265A (zh) * | 2018-12-28 | 2019-06-07 | 维沃通信科技有限公司 | 一种测量方法及移动终端 |
CN110378965A (zh) * | 2019-05-21 | 2019-10-25 | 北京百度网讯科技有限公司 | 确定坐标系转换参数的方法、装置、设备和存储介质 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111192323A (zh) * | 2020-04-10 | 2020-05-22 | 支付宝(杭州)信息技术有限公司 | 基于图像的对象定位方法及装置 |
CN112102390A (zh) * | 2020-08-31 | 2020-12-18 | 北京市商汤科技开发有限公司 | 测量方法及装置、电子设备及存储介质 |
CN112882014A (zh) * | 2021-01-20 | 2021-06-01 | 东风汽车集团股份有限公司 | 凸台凹坑识别方法及系统 |
CN112882014B (zh) * | 2021-01-20 | 2023-08-22 | 东风汽车集团股份有限公司 | 凸台凹坑识别方法及系统 |
CN114088062A (zh) * | 2021-02-24 | 2022-02-25 | 上海商汤临港智能科技有限公司 | 目标定位方法及装置、电子设备和存储介质 |
CN114088062B (zh) * | 2021-02-24 | 2024-03-22 | 上海商汤临港智能科技有限公司 | 目标定位方法及装置、电子设备和存储介质 |
CN112948411A (zh) * | 2021-04-15 | 2021-06-11 | 深圳市慧鲤科技有限公司 | 位姿数据的处理方法及接口、装置、系统、设备和介质 |
CN112948411B (zh) * | 2021-04-15 | 2022-10-18 | 深圳市慧鲤科技有限公司 | 位姿数据的处理方法及接口、装置、系统、设备和介质 |
CN113819890A (zh) * | 2021-06-04 | 2021-12-21 | 腾讯科技(深圳)有限公司 | 测距方法、装置、电子设备及存储介质 |
CN113819890B (zh) * | 2021-06-04 | 2023-04-14 | 腾讯科技(深圳)有限公司 | 测距方法、装置、电子设备及存储介质 |
WO2024055683A1 (zh) * | 2022-09-16 | 2024-03-21 | 华为技术有限公司 | 一种增强现实方法和计算装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110926334B (zh) | 2022-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110926334B (zh) | 测量方法、装置、电子设备及存储介质 | |
AU2020202551B2 (en) | Method for representing points of interest in a view of a real environment on a mobile device and mobile device therefor | |
US9778815B2 (en) | Three dimensional user interface effects on a display | |
US9417763B2 (en) | Three dimensional user interface effects on a display by using properties of motion | |
CN104995666B (zh) | 用于在真实环境中表示虚拟信息的方法 | |
Ha et al. | WeARHand: Head-worn, RGB-D camera-based, bare-hand user interface with visually enhanced depth perception | |
EP2546806B1 (en) | Image based rendering for ar - enabling user generation of 3d content | |
Tian et al. | Handling occlusions in augmented reality based on 3D reconstruction method | |
US20150206003A1 (en) | Method for the Real-Time-Capable, Computer-Assisted Analysis of an Image Sequence Containing a Variable Pose | |
JP2011095797A (ja) | 画像処理装置、画像処理方法及びプログラム | |
KR20160019548A (ko) | 다중 심도 구간 재초점 방법 및 장치 그리고 전자 장치 | |
US11562545B2 (en) | Method and device for providing augmented reality, and computer program | |
CN115335894A (zh) | 用于虚拟和增强现实的系统和方法 | |
CN103761011A (zh) | 一种虚拟触摸屏的方法、系统及计算设备 | |
CN108682282A (zh) | 一种基于ARKit框架的增强现实版化学元素周期表的交互方法 | |
US9881419B1 (en) | Technique for providing an initial pose for a 3-D model | |
US11275434B2 (en) | Information processing apparatus, information processing method, and storage medium | |
Nguyen et al. | Interactive syntactic modeling with a single-point laser range finder and camera | |
Ogawa et al. | Occlusion Handling in Outdoor Augmented Reality using a Combination of Map Data and Instance Segmentation | |
US20220130064A1 (en) | Feature Determination, Measurement, and Virtualization From 2-D Image Capture | |
CN109840943B (zh) | 三维可视化分析方法及系统 | |
Piekarski et al. | Tinmith-mobile outdoor augmented reality modelling demonstration | |
WO2023228712A1 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
Fudono et al. | Interactive 3-D modeling system using a hand-held video camera | |
CN114926613A (zh) | 一种人体数据及空间定位的增强现实的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |