CN117173344A - 一种测试方法、装置、计算机设备及可读存储介质 - Google Patents
一种测试方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN117173344A CN117173344A CN202210592512.6A CN202210592512A CN117173344A CN 117173344 A CN117173344 A CN 117173344A CN 202210592512 A CN202210592512 A CN 202210592512A CN 117173344 A CN117173344 A CN 117173344A
- Authority
- CN
- China
- Prior art keywords
- test
- test image
- positioning
- frame
- determining
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 564
- 238000010998 test method Methods 0.000 title claims abstract description 25
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 127
- 230000008569 process Effects 0.000 claims abstract description 63
- 230000003190 augmentative effect Effects 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims description 34
- 238000005286 illumination Methods 0.000 claims description 26
- 238000005259 measurement Methods 0.000 claims description 18
- 230000000007 visual effect Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- QBWCMBCROVPCKQ-UHFFFAOYSA-N chlorous acid Chemical compound OCl=O QBWCMBCROVPCKQ-UHFFFAOYSA-N 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005266 casting Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本公开提供了一种测试方法、装置、计算机设备及可读存储介质,其中,该方法包括:利用增强现实AR设备获取现实场景的多帧测试图像、以及与所述多帧测试图像中各帧测试图像分别对应的真实位姿;基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿,以及确定对所述测试图像进行云定位过程中的耗时信息;基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果。本公开实施例可以对AR设备的定位过程进行测试,确定该定位过程是否满足预设的定位标准,为后续优化定位方法提供数据支持。
Description
技术领域
本公开涉及增强现实技术领域,具体而言,涉及一种测试方法、装置、计算机设备及可读存储介质。
背景技术
增强现实(Augmented Reality,AR)技术是指通过电脑技术,将虚拟的信息应用到真实世界,真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。由此,在实际运用过程中,还需要一定的定位技术来辅助AR技术,从而将真实的环境与虚拟的物体准确地叠加在同一位置上,使得真实的环境和虚拟的物体更好地融合在同一个画面或空间中。
AR设备的硬件资源有限,且不同AR设备的配置各不相同,因此在将软件程序部署到移动AR设备中后,存在定位精度的问题、以及在定位过程中由于耗时较长导致定位跟不上镜头场景刷新,而出现定位滞后的问题。因此,一种定位技术的测试方法成为当前亟待解决的问题。
发明内容
本公开实施例至少提供一种测试方法、装置、计算机设备及可读存储介质。
第一方面,本公开实施例提供了一种测试方法,包括:
利用增强现实AR设备获取现实场景的多帧测试图像、以及获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿;
基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿,以及确定对所述测试图像进行云定位过程中的耗时信息;
基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果。
这样,通过该测试方法对云定位过程进行测试,确定该定位过程是否满足预设的定位标准,为后续优化定位方法提供数据支持。
一种可选的实施方式中,还包括:
基于所述现实场景进行三维重建,得到所述现实场景对应的所述三维地图;
将所述三维地图部署在所述云服务端。
一种可选的实施方式中,所述利用增强现实AR设备获取现实场景的多帧测试图像,包括:
在特定的光照条件下,获取所述现实场景的多帧测试图像。
这样,可以获取到符合预设要求的测试图像,便于后续测试过程。
一种可选的实施方式中,所述利用增强现实AR设备获取现实场景的多帧测试图像,包括:
控制所述AR设备在所述现实场景内移动,并在移动过程中获取场景视频;
对所述场景视频进行抽帧处理,得到所述多帧测试图像。
这样,可以基于测试要求,获取测试图像,减少对于处理资源的消耗。
一种可选的实施方式中,所述获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿,包括:
利用所述AR设备中的惯性测量单元、或者部署在所述现实场景中的位姿测量设备,获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿。
一种可选的实施方式中,所述基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿,包括:
利用所述AR设备对各帧所述测试图像进行特征提取,得到各帧所述测试图像的特征数据;
向所述云服务端发送所述特征数据;所述特征数据用于所述云服务端基于所述特征数据和所述三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿;
接收所述云服务端发送的所述预测位姿。
一种可选的实施方式中,所述基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果,包括:
针对每帧所述测试图像,基于该帧测试图像对应的真实位姿、和预测位姿,确定预测误差;
基于多帧所述测试图像分别对应的预测误差、以及耗时信息,确定所述云定位测试结果。
这样,基于多种测试条件,可以对测试图像进行测试,提高测试精度。
一种可选的实施方式中,所述基于多帧所述测试图像分别对应的预测误差、以及耗时信息,确定所述云定位测试结果,包括:
针对多帧所述测试图像中的每帧测试图像,基于该帧测试图像对应的预测误差,确定该帧测试图像对应的定位结果;该帧测试图像对应的定位结果包括:定位成功或定位失败;
基于多帧所述测试图像分别对应的定位结果、以及所述耗时信息,确定所述云定位测试结果。
一种可选的实施方式中,当所述预测误差为位置误差时,所述基于该帧测试图像对应的预测误差,确定该帧测试图像对应的定位结果,包括:
将该测试图像对应的位置误差和预设位置误差阈值进行比对;
响应于该测试图像对应的位置误差小于所述预设位置误差阈值,将该测试图像的定位结果确定为定位成功;
响应于该测试图像对应的位置误差大于或者等于所述预设位置误差阈值,将该测试图像的定位结果确定为定位失败。
一种可选的实施方式中,所述方法还包括:
基于该帧测试图像对应的真实位姿对应的所述现实场景中的第一位置、以及所述预测位姿对应的所述现实场景中的第二位置,确定该帧测试图像对应的位置误差。
一种可选的实施方式中,当所述预测误差为景深误差时,所述基于该帧测试图像对应的预测误差,确定该帧测试图像对应的定位结果,包括:
将该测试图像对应的景深误差和预设景深误差阈值进行比对;
响应于该测试图像对应的景深误差小于所述预设景深误差阈值,将该测试图像的定位结果确定为定位成功;
响应于该测试图像对应的景深误差大于或者等于所述预设景深误差阈值,将该测试图像的定位结果确定为定位失败。
一种可选的实施方式中,所述方法还包括:
基于所述真实位姿,确定位于所述AR设备对应的拍摄视野范围内对象的第一景深均值,并基于所述预测位姿,确定位于所述AR设备对应的拍摄视野范围内对象的第二景深均值;基于所述第一景深均值和所述第二景深均值,确定所述景深误差。
一种可选的实施方式中,所述基于多帧所述测试图像分别对应的定位结果、以及所述耗时信息,确定所述云定位测试结果,包括:
基于多帧所述测试图像分别对应的定位结果,确定定位结果为定位成功的目标测试图像占据所述测试图像总数量的百分比;
响应于所述百分比大于或等于预设的百分比阈值、且所述耗时信息表征的多帧所述测试图像对应的平均定位耗时小于或等于预设耗时阈值,将所述云定位测试结果确定为通过测试;
响应于所述百分比小于所述预设的百分比阈值、或所述耗时信息表征的多帧所述测试图像对应的平均定位耗时大于所述预设耗时阈值,将所述云定位测试结果确定为未通过测试。
这样,通过对多帧测试图像进行测试,可以提高测试的准确度。
一种可选的实施方式中,所述确定对所述测试图像进行云定位过程中的耗时信息,包括:
在基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位过程中,在云定位日志中记录每帧测试图像对应的单帧执行时间;
响应于触发获取所述耗时信息,从所述云定位日志中读取每帧测试图像对应的单帧执行时间;
基于多帧测试图像分别对应的单帧执行时间,确定所述耗时信息。
一种可选的实施方式中,还包括:构建位于所述三维地图中的虚拟对象;
响应于所述虚拟对象位于所述AR设备的拍摄视野范围内,所述测试图像中还包括所述虚拟对象;
所述方法还包括:
基于所述真实位姿、以及所述虚拟对象在所述三维地图中对应的目标位姿,确定所述虚拟对象在所述测试图像对应的图像坐标系中投影图像;
基于所述虚拟对象在所述投影图像中的投影位置、以及所述虚拟对象在所述测试图像中的位置,确定虚拟对象投影误差;
所述基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果,包括:
与多帧测试图像分别对应的所述真实位姿和所述预测位姿、所述耗时信息、以及所述虚拟对象投影误差,确定所述云定位测试结果。
这样,可以从投影角度进行测试,提高测试的准确度。
第二方面,本公开实施例还提供一种测试装置,包括:
获取模块,用于利用增强现实AR设备获取现实场景的多帧测试图像、以及获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿;
云定位模块,用于基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿,以及确定对所述测试图像进行云定位过程中的耗时信息;
测试模块,用于基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果。
一种可选的实施方式中,还包括:
三维重建模块,用于基于所述现实场景进行三维重建,得到所述现实场景对应的所述三维地图;
部署模块,用于将所述三维地图部署在所述云服务端。
一种可选的实施方式中,所述获取模块具体用于:
在特定的光照条件下,获取所述现实场景的多帧测试图像。
一种可选的实施方式中,所述获取模块还用于:
控制所述AR设备在所述现实场景内移动,并在移动过程中获取场景视频;
对所述场景视频进行抽帧处理,得到所述多帧测试图像。
一种可选的实施方式中,所述获取模块还用于:
利用所述AR设备中的惯性测量单元、或者部署在所述现实场景中的位姿测量设备,获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿。
一种可选的实施方式中,所述云定位模块具体用于:
利用所述AR设备对各帧所述测试图像进行特征提取,得到各帧所述测试图像的特征数据;
向所述云服务端发送所述特征数据;所述特征数据用于所述云服务端基于所述特征数据和所述三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿;
接收所述云服务端发送的所述预测位姿。
一种可选的实施方式中,所述测试模块包括:
第一确定单元,用于针对每帧所述测试图像,基于该帧测试图像对应的真实位姿、和预测位姿,确定预测误差;
第二确定单元,用于基于多帧所述测试图像分别对应的预测误差、以及耗时信息,确定所述云定位测试结果。
一种可选的实施方式中,所述第二确定单元包括:
第一确定子单元,用于针对多帧所述测试图像中的每帧测试图像,基于该帧测试图像对应的预测误差,确定该帧测试图像对应的定位结果;该帧测试图像对应的定位结果包括:定位成功或定位失败;
第二确定子单元,用于基于多帧所述测试图像分别对应的定位结果、以及所述耗时信息,确定所述云定位测试结果。
一种可选的实施方式中,所述第一确定子单元具体用于:
将该测试图像对应的位置误差和预设位置误差阈值进行比对;
响应于该测试图像对应的位置误差小于所述预设位置误差阈值,将该测试图像的定位结果确定为定位成功;
响应于该测试图像对应的位置误差大于或者等于所述预设位置误差阈值,将该测试图像的定位结果确定为定位失败。
一种可选的实施方式中,还包括:
第三确定子单元,用于基于该帧测试图像对应的真实位姿对应的所述现实场景中的第一位置、以及所述预测位姿对应的所述现实场景中的第二位置,确定该帧测试图像对应的位置误差。
一种可选的实施方式中,所述第一确定子单元具体用于:
将该测试图像对应的景深误差和预设景深误差阈值进行比对;
响应于该测试图像对应的景深误差小于所述预设景深误差阈值,将该测试图像的定位结果确定为定位成功;
响应于该测试图像对应的景深误差大于或者等于所述预设景深误差阈值,将该测试图像的定位结果确定为定位失败。
一种可选的实施方式中,还包括:
第四确定子单元,用于基于所述真实位姿,确定位于所述AR设备对应的拍摄视野范围内对象的第一景深均值,并基于所述预测位姿,确定位于所述AR设备对应的拍摄视野范围内对象的第二景深均值;基于所述第一景深均值和所述第二景深均值,确定所述景深误差。
一种可选的实施方式中,所述测试模块还包括:
第三确定单元,用于基于多帧所述测试图像分别对应的定位结果,确定定位结果为定位成功的目标测试图像占据所述测试图像总数量的百分比;
第四确定单元,用于响应于所述百分比大于或等于预设的百分比阈值、且所述耗时信息表征的多帧所述测试图像对应的平均定位耗时小于或等于预设耗时阈值,将所述云定位测试结果确定为通过测试;响应于所述百分比小于所述预设的百分比阈值、或所述耗时信息表征的多帧所述测试图像对应的平均定位耗时大于所述预设耗时阈值,将所述云定位测试结果确定为未通过测试。
一种可选的实施方式中,所述云定位模块还用于:
在基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位过程中,在云定位日志中记录每帧测试图像对应的单帧执行时间;
响应于触发获取所述耗时信息,从所述云定位日志中读取每帧测试图像对应的单帧执行时间;
基于多帧测试图像分别对应的单帧执行时间,确定所述耗时信息。
一种可选的实施方式中,还包括:
构建模块,用于构建位于所述三维地图中的虚拟对象;响应于所述虚拟对象位于所述AR设备的拍摄视野范围内,所述测试图像中还包括所述虚拟对象;
所述云定位模块具体用于:
基于所述真实位姿、以及所述虚拟对象在所述三维地图中对应的目标位姿,确定所述虚拟对象在所述测试图像对应的图像坐标系中投影图像;
基于所述虚拟对象在所述投影图像中的投影位置、以及所述虚拟对象在所述测试图像中的位置,确定虚拟对象投影误差;
所述测试模块还用于:
与多帧测试图像分别对应的所述真实位姿和所述预测位姿、所述耗时信息、以及所述虚拟对象投影误差,确定所述云定位测试结果。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述测试装置、计算机设备、及计算机可读存储介质的效果描述参见上述测试方法的说明,这里不再赘述。
本公开实施例提供的一种测试方法、装置、计算机设备及可读存储介质,通过利用AR设备获取现实场景的多帧测试图像、以及多帧测试图像中各帧测试图像分别对应的真实位姿,并基于云服务端部署的三维地图,对所述测试图像进行云定位,得到与各帧测试图像对应的预测位姿,以及云定位过程中的耗时信息,基于真实位姿、预测位姿、以及耗时信息,确定云定位测试结果。由此可以对AR设备的定位过程进行测试,确定该定位过程是否满足预设的定位标准,为后续优化定位方法提供数据支持。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种测试方法的流程图;
图2示出了本公开实施例所提供的定位方法的示意图;
图3示出了本公开实施例所提供的一种测试装置的示意图;
图4示出了本公开实施例所提供的另一种测试装置的示意图;
图5示出了本公开实施例所提供的测试装置中,测试模块的具体示意图;
图6示出了本公开实施例所提供的测试模块中,第二确定单元的具体示意图;
图7示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,增强现实技术是指通过电脑技术,将虚拟的信息应用到真实世界,真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。AR技术的关键在于设备对周围环境的感知理解,其中,最基本的是确定AR设备自身的空间位置,并对环境进行即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)。由此,在实际运用过程中,还需要一定的定位技术来辅助AR技术,从而将真实的环境与虚拟的物体准确地叠加在同一位置上,使得真实的环境和虚拟的物体更好地融合在同一个画面或空间中。其中,定位技术是AR技术在运用过程中最基础的,只有设备自身的位置以及朝向等信息精确地被确定,AR技术所虚拟的物体才能和真实的环境很好地融合,并且整个定位过程需要实时地进行,以达到足够的真实感。
AR技术中定位技术的关键在于对AR设备自身进行定位,即通过AR技术对应的虚拟相机拍摄具有真实的环境的图像,并根据该图像在虚拟相机的拍摄画面中的位置,来确定虚拟相机的空间位置,也即确定AR设备的空间位置。其主要流程包括下述三个阶段:拍摄图像、图像处理和更新虚拟内容。其中图像处理是定位技术的核心步骤,在图像处理完成后,得到了虚拟相机的外参(Extrinsic),虚拟相机的外参表征了虚拟相机的坐标系与世界坐标系的变换关系,然后将该变换关系应用到虚拟相机拍摄的预览画面的叠加层,例如开放图形库(Open Graphics Library,OpenGL)或三维(3-dimension,三维)引擎环境中,以更新虚拟的物体的位置信息,从而完成整个一帧的AR定位处理过程,之后不断重复这个过程,使得在AR设备移动后,虚拟的物体始终展示在AR虚拟画面中的正确位置上。
AR技术通常是应用在移动AR设备中,如AR眼镜、具有AR功能的移动终端等;且AR技术通常是在大型的计算机设备中设计相关算法,得到软件程序,然后将软件程序部署到移动AR设备中;但移动AR设备的硬件资源有限,且不同移动AR设备的配置各不相同;在将软件程序部署到移动AR设备中后,存在定位精度的问题、以及在定位过程中由于耗时较长导致定位跟不上镜头场景刷新,而出现定位滞后的问题。因此,一种定位技术的测试方法成为当前亟待解决的问题。
基于上述研究,本公开提供了一种测试方法,通过利用AR设备获取现实场景的多帧测试图像、以及多帧测试图像中各帧测试图像分别对应的真实位姿,并基于云服务端部署的三维地图,对所述测试图像进行云定位,得到与各帧测试图像对应的预测位姿,以及云定位过程中的耗时信息,基于真实位姿、预测位姿、以及耗时信息,确定云定位测试结果。由此可以对AR设备的定位过程进行测试,确定该定位过程是否满足预设的定位标准,为后续优化定位方法提供数据支持。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种测试方法进行详细介绍,本公开实施例所提供的测试方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该测试方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
下面以执行主体为AR设备为例对本公开实施例提供的测试方法加以说明。
参见图1所示,为本公开实施例提供的测试方法的流程图,所述方法包括步骤S101~S103,其中:
S101:利用增强现实AR设备获取现实场景的多帧测试图像、以及获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿。
其中,增强现实AR设备为具有AR功能的智能设备,在一些可能的实施例中,AR设备包括但不限于:手机、平板电脑、AR眼镜等能够呈现增强现实效果的计算机设备。也即,该AR设备可以是前述具有一定计算能力的计算机设备中的终端设备。AR设备可以内置图像采集部件也可以外接图像采集部件,在AR设备进入工作状态后,可以通过图像采集部件实时拍摄现实场景图像。
在本公开实施例中,AR设备上的增强现实系统应满足以下要求:
a)获取物理世界,即现实场景的尺度信息;
b)将虚拟场景与物理世界配准在同一尺度坐标系中;
c)实现虚拟对象与物理世界的1:1虚实融合。
在本公开实施例中,现实场景为任意可以进行即时定位与地图构建操作的场景,所述多帧测试图像为针对现实场景进行拍摄所得到的拍摄视频,并基于对拍摄视频进行处理而得到的、具有在时间上呈现连续性的多帧图像。具体的,可以通过在现实场景内绕行一周,用AR设备拍摄场景视频,从而获取用于测试的多帧测试图像和惯性测量单元(InertialMeasurement Unit,IMU)数据。
另外,在拍摄视频期间,可以控制拍摄过程中的移动速度,以使得拍摄瞬间的移动速度较低,避免测试图像出现模糊。
在本公开实施例中,真实位姿指的是在各帧测试图像中目标对象对应的位姿。示例性的,真实位姿可以通过在AR设备中的运动捕捉系统捕获、或基于全站仪等测量设备测量获取,其中,运动捕捉系统指可以实时估计物体6自由度位姿(旋转和平移)的设备,例如维康(vicon)等。具体的,对于每个现实场景,真实位姿可以使用移动设备获取多帧测试图像,其地面实况位置可以通过运动捕捉系统或类似全站仪的测量设备获得。
在一些可能的实施例中,在本公开实施例涉及的测试方法中还包括下述步骤一一至步骤一二:
步骤一一:基于所述现实场景进行三维重建,得到所述现实场景对应的所述三维地图;
步骤一二:将所述三维地图部署在所述云服务端。
在步骤一一中,所述三维地图可以为高精度三维地图。具体的,确定出将要构造为三维地图的现实场景,并扫描该现实场景,将针对该现实场景的扫描结果上传到云服务端,进而云服务端对现实场景进行三维重建,得到现实场景对应的三维地图。
其中,三维地图,即3D地图,即现实场景的3D数字表示,包括真实尺寸信息,一组具有已知全局位置和方向的图像,图像之间的视觉连通性,以及场景的稀疏3D点及其在图像中的观察。
示例性的,在将现实场景上传到云服务端之后,云服务端可以计算出现实场景在三维地图坐标系中的六自由度(6degree of freedom,6DoF)位姿,并基于其进行三维重建,得到对应的三维地图。
在步骤一二中,为了方便后续对于三维地图的调用等,可以将三维地图部署在云服务端。其中,云服务端可以与本地服务端相连接,完成数据传输、交换等工作。
在一些可能的实施例中,可以通过下述方法利用增强现实AR设备获取现实场景的多帧测试图像:
在特定的光照条件下,获取所述现实场景的多帧测试图像。
其中,光照条件包括照明色调、照明亮度等光照因素。所述照明色调满足自然光色调、以及所述照明亮度满足对所述待多帧测试图像的分辨亮度。
具体的,由于基于三维地图的定位技术是利用测试图像上的目标对象的特征与三维地图中目标对象的特征进行匹配而实现的。因此,测试图像的照明色调、照明亮度等因素的变化会对目标对象特征的提取产生影响,进而影响定位的效果以及定位准确度。由此,可以通过设定照明颜色和照明亮度来保证测试图像所处的光照条件,即测试图像是自然光色调、且照明亮度充足的条件下获取到的,从而使现实场景中的各个细节能够被清晰地分辨。
示例性的,由此可以调整现实场景的照明色调为白光,照明亮度为100勒克斯(Lx),在该条件下,照明色调满足自然光色调、以及所述照明亮度满足对所述待多帧测试图像的分辨亮度。
在本公开实施例中,测试了基于移动设备高精度地图的云定位功能以下方法:
a)调整试验环境的照明颜色为白光,照度为100Lx;
b)预先扫描场景,构建满足规定的场景高精度地图,并将其部署在云中;
c)保证移动设备网络畅通,将图像或特征发送到云端本地化。成功定位(虚拟对象出现在场景的正确位置)意味着增强现实系统具有基于高分辨率的云定位功能精密地图;否则,不会。
在一些可能的实施例中,可以通过下述方法利用增强现实AR设备获取现实场景的多帧测试图像:
控制所述AR设备在所述现实场景内移动,并在移动过程中获取场景视频;
对所述场景视频进行抽帧处理,得到所述多帧测试图像。
在本公开实施例中,在利用多帧测试图像和惯性测量单元数据获取每一帧测试图像真实位姿时。由于连续帧测试图像的内容高度冗余,因此可以对场景视频按照3帧每秒进行采样,得到采样后的多帧测试图像和真实位姿,作为最终的测试集。
示例性的,通过控制AR设备在现实场景内移动,从而获取到在移动过程中拍摄的场景视频。针对该场景视频,可以针对场景视频的每一帧进行处理,即将每一帧测试图像添加在多帧测试图像中;又或者,每隔N帧提取一帧测试图像,添加在多帧测试图像中,具体的抽帧方法可以根据测试精度的要求进行选取,在此不作限定。
在一些可能的实施例中,可以通过下述方法获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿:
利用所述AR设备中的惯性测量单元、或者部署在所述现实场景中的位姿测量设备,获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿。
示例性的,所述AR设备中惯性测量单元是用来测量现实场景中物体的三轴姿态角(或角速率)以及加速度的装置。部署在所述现实场景中的位姿测量设备可以是全站仪(Total Station),是一种集光、机、电为一体的高技术测量仪器,是集水平角、垂直角、距离(斜距、平距)、高差测量功能于一体的测绘仪器系统。
在本公开实施例中,可以利用惯性测量单元和/或惯性测量单元对各帧测试图像进行测量,进而获得各帧测试图像分别对应的真实位姿,为后续的定位以及定位测试过程做出准备。
承接于上述S101,本公开实施例提供的测试方法还包括:
S102:基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿,以及确定对所述测试图像进行云定位过程中的耗时信息。
其中,所述预测位姿指的是在对现实场景进行定位处理之后,各帧测试图像基于三维地图所对应的位姿。测试图像进行云定位过程中的耗时信息指的是测试图像在进行云定位的整个过程中消耗的时间长度。
在一些可能的实施例中,可以通过下述方法基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿:
利用所述AR设备对各帧所述测试图像进行特征提取,得到各帧所述测试图像的特征数据;
向所述云服务端发送所述特征数据;所述特征数据用于所述云服务端基于所述特征数据和所述三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿;
接收所述云服务端发送的所述预测位姿。
在本公开实施例中,在针对现实场景构建的三维地图,并将各帧测试图像上传至云服务端,并获取云服务端下发的所述测试图像相对于所述三维地图中的定位信息;所述定位信息为所述云服务端基于所述测试图像中的二维特征点的二维特征信息以及所述三维地图中的所述三维特征点的三维特征信息确定的。
在本公开实施例中,移动设备上的增强现实系统应满足以下要求:
a)为定义的场景构建3D高清晰度3D地图,其中,所述3D高清晰度3D地图具有真实比例,一组具有已知全局姿态的图像,以及图像之间的视觉连通性,以及图像中场景和观察的稀疏3D点;
b)将查询图像上传到云服务,并计算3D地图中的6DOF姿态三维地图的坐标系;
c)在移动端提取查询图像的图像特征,并上传到云端本地化。
具体的,可以确定所述测试图像中的至少一个二维特征点,并基于所述二维特征点的二维特征信息,从所述三维地图中确定具有与所述二维特征信息相对应的三维特征信息的三维特征点,基于所述二维特征点的二维位置信息以及所述三维特征点的三维位置信息,确定所述定位信息。所述三维地图包括针对每个像素点添加的特征向量。
其中,所述基于所述二维特征点的二维特征信息,从所述三维地图中确定具有与所述二维特征信息相对应的三维特征信息的三维特征点,包括:
针对每个所述二维特征点的二维位置信息,以及所述三维地图中每个像素点的特征向量,确定与每个所述二维特征点对应的目标三维特征点。具体的,基于每个所述二维特征点的二维位置信息,针对每个所述二维特征点,选取特征向量距离最近的至少一个三维特征点作为候选三维特征点,并基于每个所述候选三维特征点的可信度信息,对所述候选三维特征点进行筛选,得到与每个所述二维特征点对应的目标三维特征点。
示例性的,定位是根据测试图像确定AR设备的6自由度位姿。具体的,算法总共由三个步骤组成,分别为特征抽取(包括特征点检测和描述子提取)、二维-三维特征匹配以及相机位姿求解。
在对特征进行提取之前还包括:AR设备拍摄测试图像并将其上传到云服务端,测试图像为彩图或是灰度图像均可,AR设备的内参数据为(fx,fy,cx,cy)其中,内参数据可以预先确定,如果不确定具体的内参数据,定位技术的算法可以估计出一套内参数据,用于后续定位过程。
在本公开实施例中,特征提取的过程主要是从测试图像中抽取在不同光照和视角变化下稳定且容易识别的特征像素点,并根据每个特征像素点的邻域信息生成描述向量。其中,二维-三维特征匹配是把测试图像中的特征像素点和三维地图中对应的三维特征点关联起来。
具体的,在构建三维地图时,针对每个三维像素点,对其赋予特征向量。在定位时,对每个二维特征点在三维地图中寻找距离每个二维特征点的特征向量最近的三维像素点为候选匹配点。最后根据一些统计信息和比率测试方法,把可信度不高的候选匹配点剔除掉。AR设备位姿可以根据保留下来二维-三维特征点对计算获取,具体的,基于二维-三维特征点,使用即插即用(Plug-and-Play,PnP)算法,计算当前测试图像对应AR设备的位姿信息,即位置和朝向。在未提供AR设备内参数据的条件下,算法可以在该阶段同时估计AR设备的内参数据,并输出测试图像对应AR设备的位姿。其中,AR设备位姿为6自由度,包括3自由度的三维坐标位置自由度和3自由度的三维旋转自由度。如果未提供AR设备的内参数据,算法会额外输出估计的AR设备的内参数据(fx,fy,cx,cy)。其中,fx,fy分别为相机对应的图像坐标系中x和y方向AR设备的焦距,cx,cy分别为光轴对于投影平面坐标中心的偏移量。
在本公开实施例中,还包括确定对所述测试图像进行云定位过程中的耗时信息:具体的,在基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位过程中,在云定位日志中记录每帧测试图像对应的单帧执行时间;
响应于触发获取所述耗时信息,从所述云定位日志中读取每帧测试图像对应的单帧执行时间;
基于多帧测试图像分别对应的单帧执行时间,确定所述耗时信息。
示例性的,在对测试图像进行云定位的过程中,响应于针对某一帧测试图像开始进行定位,获取从开始定位到完成定位过程的时间长度,确定为该帧测试图像对应的单帧执行时间,并基于多帧测试图像分别对应的单帧执行时间,确定耗时信息,所述耗时信息用于判定定位过程是否满足测试所要求的时间。
承接于上述S102,所述测试方法还包括:
S103:基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果。
其中,所述云定位测试结果为判定该云定位过程是否满足预设云定位要求的判断依据。
在本公开实施例中,基于高精度地图的云定位性能测试如下方法:
a)构建用于评估云定位的覆盖不同场景的基准数据集性能基于高精度地图,构建满足规定的高精度地图,对于每个场景,使用移动设备获取测试图像。其地面实况位置可以通过运动捕捉系统或类似全站仪的测量设备获得;
b)定位所有测试测量装置;
c)统计定位成功率、定位精度和定位时间。
在本公开实施例中,可以通过下述方法基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果:
针对每帧所述测试图像,基于该帧测试图像对应的真实位姿、和预测位姿,确定预测误差;
基于多帧所述测试图像分别对应的预测误差、以及耗时信息,确定所述云定位测试结果。
其中,所述预测误差为经过定位过程之后,定位后的预测位姿与真实位姿之间的差值。
在一些可能的实施方式中,可以通过下述方法基于多帧所述测试图像分别对应的预测误差、以及耗时信息,确定所述云定位测试结果:
针对多帧所述测试图像中的每帧测试图像,基于该帧测试图像对应的预测误差,确定该帧测试图像对应的定位结果;该帧测试图像对应的定位结果包括:定位成功或定位失败;
基于多帧所述测试图像分别对应的定位结果、以及所述耗时信息,确定所述云定位测试结果。
在本公开实施例中,可以针对每一帧测试图像确定其对应的预测误差,也可以基于多帧或者全部帧测试图像中的每一帧测试图像,确定该测试过程对应的预测误差。
具体的,所述预测误差例如包括:位置误差、以及景深误差。
在一可能的实施方式中,可以基于该帧测试图像对应的真实位姿对应的所述现实场景中的第一位置、以及所述预测位姿对应的所述现实场景中的第二位置,确定该帧测试图像对应的位置误差。
其中,位置误差可以包括绝对位置误差和相对位置误差,绝对位置误差指的是真实值与估计值之间的平均偏差,当AR移动设备的位置由增强现实系统测量的当前位置变化。相对位置误差指的是AR移动设备的位置改变时,真实变化与估计变化之间的平均偏差,由增强现实系统测量的当前位置与先前位置的距离。
在本公开实施例中,在确定出位置误差后,可以将该测试图像对应的位置误差和预设位置误差阈值进行比对;响应于该测试图像对应的位置误差小于所述预设位置误差阈值,将该测试图像的定位结果确定为定位成功;响应于该测试图像对应的位置误差大于或者等于所述预设位置误差阈值,将该测试图像的定位结果确定为定位失败。
示例性的,针对预测误差为位置误差的情况下,可以基于真实位姿以及预测位姿确定位置误差,即基于真实位姿中多个像素点的位置信息以及预测位姿中多个对应像素点的位置信息,确定位置误差。在确定出位置误差后,将其与预先设定好的位置误差阈值进行比对,若位置误差小于或等于位置误差阈值,则确定该测试过程在位置误差方向通过测试。例如,确定预设的位置误差阈值为10cm,那么当位置误差小于或等于10cm时,可以在位置误差方向确定通过测试,若位置误差大于10cm,则确定在位置误差方向不通过测试。
在一可能的实施方式中,还可以基于所述真实位姿,确定位于所述AR设备对应的拍摄视野范围内对象的第一景深均值,并基于所述预测位姿,确定位于所述AR设备对应的拍摄视野范围内对象的第二景深均值;基于所述第一景深均值和所述第二景深均值,确定所述景深误差。
在本公开实施例中,在确定出景深误差后,可以将该测试图像对应的景深误差和预设景深误差阈值进行比对;响应于该测试图像对应的景深误差小于所述预设景深误差阈值,将该测试图像的定位结果确定为定位成功;响应于该测试图像对应的景深误差大于或者等于所述预设景深误差阈值,将该测试图像的定位结果确定为定位失败。
示例性的,针对预测误差为景深误差的情况下,对于每一帧测试图像,在进行三维重建之后,可以采用射线投射(ray-cast)算法计算每一个像素点对应的场景深度,并统计所有像素点对应的场景深度的平均值作为该测试图像的景深均值,并将景深均值的作为参考标准,确定出预设景深误差阈值。在一些可能的实施方式中,还可以基于AR设备拍摄的场景深度中间值(the median value of the depth of scene captured by the camera)确定景深误差。其中,场景深度中值是指某一帧测试图像中AR设备拍摄到的画面所覆盖的场景到AR设备主平面(经过光心,垂直于光轴的平面)的距离。
具体的,将测试图像对应的景深误差和预设景深误差阈值进行比对,例如,确定预设景深误差阈值为景深均值的3%,那么当景深误差小于或等于景深均值的3%时,可以在景深误差方向确定通过测试,若景深误差大于景深均值的3%,则确定在景深误差方向不通过测试。
在本公开实施例中,可以综合上述位置误差与景深误差的测试结果,确定定位结果,具体的,在将该测试图像对应的位置误差和预设位置误差阈值进行比对,以及将该测试图像对应的景深误差和预设景深误差阈值进行比对之后,响应于该测试图像对应的位置误差小于所述预设位置误差阈值、且景深误差小于所述预设景深误差阈值,将该测试图像的定位结果确定为定位成功;响应于该测试图像对应的位置误差大于或者等于所述预设位置误差阈值、或者所述景深误差大于或者等于所述预设景深误差阈值,将该测试图像的定位结果确定为定位失败。
示例性的,当测试图像同时通过位置误差与景深误差测试时,确定该测试图像的定位结果确定为定位成功,当测试图像未通过位置误差与景深误差测试中任一项测试时,将该测试图像的定位结果确定为定位失败。
在本公开实施例中,在确定出测试图像分别对应的定位结果、以及所述耗时信息之后,通过下述方法确定云定位测试结果:
基于多帧所述测试图像分别对应的定位结果,确定定位结果为定位成功的目标测试图像占据所述测试图像总数量的百分比;
响应于所述百分比大于或等于预设的百分比阈值、且所述耗时信息表征的多帧所述测试图像对应的平均定位耗时小于或等于预设耗时阈值,将所述云定位测试结果确定为通过测试;
响应于所述百分比小于所述预设的百分比阈值、或所述耗时信息表征的多帧所述测试图像对应的平均定位耗时大于所述预设耗时阈值,将所述云定位测试结果确定为未通过测试。
示例性的,可以基于定位成功的测试图像数量以及测试图像的耗时信息确定云定位测试结果。具体的,对于一个多帧测试图像,统计定位成功的目标测试图像占据所述测试图像总数量的百分比,即定位成功率S=nsuccess/N,nsuccess为定位结果为定位成功的测试图像数,N为该多帧测试图像中测试图像的总数。在本公开实施例中,定位成功的目标测试图像占据所述测试图像总数量的百分比应不小于90%。
示例性的,可以根据测试过程中的运行日志中多帧测试图像中所有测试图像定位完成的总耗时T,那么,单张测试图像定位的平均耗时为t=T/N,N为该多帧测试图像中测试图像的总数。
在本公开实施例中,移动设备上基于高精度地图3D增强现实系统的云定位应符合下列要求:
a)基于3D高精度地图的云定位成功率不低于90%。成功的定位要求定位位置与真实值之间的误差较小大于10cm或小于摄像机拍摄场景深度中间值的5%(以二者为准较大);
b)如果成功,则定位时间不超过2S。
在本公开实施例中,当定位成功的目标测试图像占据所述测试图像总数量的百分比大于预设的百分比阈值,且多帧所述测试图像对应的平均定位耗时小于或等于预设耗时阈值时,确定云定位测试结果为通过测试,若是定位成功的目标测试图像占据所述测试图像总数量的百分比和多帧所述测试图像对应的平均定位耗时中存在任一项为满足预设阈值时,确定云定位测试结果为未通过测试。
在一些可能的实施方式中,所述测试方法还包括:构建位于所述三维地图中的虚拟对象;
响应于所述虚拟对象位于所述AR设备的拍摄视野范围内,所述测试图像中还包括所述虚拟对象;
所述方法还包括:
基于所述真实位姿、以及所述虚拟对象在所述三维地图中对应的目标位姿,确定所述虚拟对象在所述测试图像对应的图像坐标系中投影图像;
基于所述虚拟对象在所述投影图像中的投影位置、以及所述虚拟对象在所述测试图像中的位置,确定虚拟对象投影误差。
具体的,基于构建在三维地图中的虚拟对象,以及虚拟对象在所述三维地图中对应的目标位姿,确定虚拟对象在测试图像对应的图像坐标系中投影图像,并基于投影图像分别在投影图像和测试图像中的位置信息,确定虚拟对象的投影误差。
参照图2,为本公开实施例所提供的定位方法的示意图。
示例性的,虚拟对象A会预先摆放在三维地图的特定位置上,三维地图本身是现实场景的三维还原,定位后虚拟对象A会投影在现实场景的测试图像上形成投影图像,观察在投影图像中虚拟对象A的投影位置是否位于预先在三维地图上摆放的位置,即可判断定位过程是否正确。
在公开实施例中,所述基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果,包括:
与多帧测试图像分别对应的所述真实位姿和所述预测位姿、所述耗时信息、以及所述虚拟对象投影误差,确定所述云定位测试结果。
具体的,当投影误差超过预设的投影误差阈值时,可以确定在投影误差方面定位失败。由此可以响应于投影误差,以及上述方法涉及的测试结果判定方法,确定云定位测试结果。
示例性的,在投影误差满足预设要求,且上述方法涉及的测试结果为通过测试的情况下,确定云定位测试结果为通过测试。
在本公开提供的一个关于AR设备云定位的测试方法具体示例中,现实场景的光照颜色调节为白光,照度调节为100lx:
测试人员手持AR设备在现实场景内绕行一周,用AR设备拍摄场景视频,从而获取用于测试的多帧测试图像和各帧测试图像分别对应的真实位姿。在拍摄视频期间,可以控制拍摄过程中的移动速度,以使得拍摄瞬间的移动速度较低,避免测试图像出现模糊。
基于与现实场景对应的三维地图,对测试图像进行云定位,得到与各帧测试图像对应的预测位姿,以及对测试图像进行云定位过程中的耗时信息。
根据多帧测试图像分别对应的真实位姿和预测位姿、以及耗时信息进行AR设备云定位的测试方法的示例包括下述A~D四个步骤:
A:基于该帧测试图像对应的真实位姿、和预测位姿,确定预测误差,并基于预测误差与误差阈值的关系,确定该帧测试图像的定位结果。其中,预测误差包括位置误差和景深误差,误差阈值为位置误差不超过10cm,景深误差不超过景深均值的3%。
B:确定测试图像进行云定位过程中的耗时信息,并基于耗时阈值,确定耗时信息是否满足测试条件,其中耗时阈值为2s。
C:基于定位结果和耗时信息,确定云定位测试结果。
D:根据云定位测试结果为成功的测试图像的百分比以及耗时信息小于或等于耗时阈值,确定是否通过测试,其中,测试结果为成功的测试图像的百分比应不小于90%。
基于上述A~D四个步骤可以确定出针对多帧测试图像的测试结果,达到对AR设备云定位过程进行测试的目的。
本公开实施例通过利用AR设备获取现实场景的多帧测试图像、以及多帧测试图像中各帧测试图像分别对应的真实位姿,并基于云服务端部署的三维地图,对所述测试图像进行云定位,得到与各帧测试图像对应的预测位姿,以及云定位过程中的耗时信息,基于真实位姿、预测位姿、以及耗时信息,确定云定位测试结果。由此可以对AR设备的定位过程进行测试,确定该定位过程是否满足预设的定位标准,为后续优化定位方法提供数据支持。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与测试方法对应的测试装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述测试方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种测试装置的示意图,所述装置包括:获取模块310、云定位模块320、测试模块330;其中,
获取模块310,用于利用增强现实AR设备获取现实场景的多帧测试图像、以及获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿;
云定位模块320,用于基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿,以及确定对所述测试图像进行云定位过程中的耗时信息;
测试模块330,用于基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果。
一种可选的实施方式中,参照图4所示,为本公开实施例提供的另一种测试装置的示意图,所述装置还包括:
三维重建模块340,用于基于所述现实场景进行三维重建,得到所述现实场景对应的所述三维地图;
部署模块350,用于将所述三维地图部署在所述云服务端。
一种可选的实施方式中,所述获取模块310具体用于:
在特定的光照条件下,获取所述现实场景的多帧测试图像。
一种可选的实施方式中,所述获取模块310还用于:
控制所述AR设备在所述现实场景内移动,并在移动过程中获取场景视频;
对所述场景视频进行抽帧处理,得到所述多帧测试图像。
一种可选的实施方式中,所述获取模块310还用于:
利用所述AR设备中的惯性测量单元、或者部署在所述现实场景中的位姿测量设备,获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿。
一种可选的实施方式中,所述云定位模块320具体用于:
利用所述AR设备对各帧所述测试图像进行特征提取,得到各帧所述测试图像的特征数据;
向所述云服务端发送所述特征数据;所述特征数据用于所述云服务端基于所述特征数据和所述三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿;
接收所述云服务端发送的所述预测位姿。
一种可选的实施方式中,参照图5所示,为本公开实施例提供的测试装置中,测试模块的具体示意图,所述测试模块330包括:
第一确定单元331,用于针对每帧所述测试图像,基于该帧测试图像对应的真实位姿、和预测位姿,确定预测误差;
第二确定单元332,用于基于多帧所述测试图像分别对应的预测误差、以及耗时信息,确定所述云定位测试结果。
一种可选的实施方式中,参照图6所示,为本公开实施例提供的测试模块中,第二确定单元的具体示意图,所述第二确定单元332包括:
第一确定子单元3321,用于针对多帧所述测试图像中的每帧测试图像,基于该帧测试图像对应的预测误差,确定该帧测试图像对应的定位结果;该帧测试图像对应的定位结果包括:定位成功或定位失败;
第二确定子单元3322,用于基于多帧所述测试图像分别对应的定位结果、以及所述耗时信息,确定所述云定位测试结果。
一种可选的实施方式中,所述第一确定子单元3322具体用于:
将该测试图像对应的位置误差和预设位置误差阈值进行比对;
响应于该测试图像对应的位置误差小于所述预设位置误差阈值,将该测试图像的定位结果确定为定位成功;
响应于该测试图像对应的位置误差大于或者等于所述预设位置误差阈值,将该测试图像的定位结果确定为定位失败。
一种可选的实施方式中,参照图6所示,还包括:
第三确定子单元3323,用于基于该帧测试图像对应的真实位姿对应的所述现实场景中的第一位置、以及所述预测位姿对应的所述现实场景中的第二位置,确定该帧测试图像对应的位置误差。
一种可选的实施方式中,所述第一确定子单元具体用于:
将该测试图像对应的景深误差和预设景深误差阈值进行比对;
响应于该测试图像对应的景深误差小于所述预设景深误差阈值,将该测试图像的定位结果确定为定位成功;
响应于该测试图像对应的景深误差大于或者等于所述预设景深误差阈值,将该测试图像的定位结果确定为定位失败。
一种可选的实施方式中,参照图6所示,还包括:
第四确定子单元3324,用于基于所述真实位姿,确定位于所述AR设备对应的拍摄视野范围内对象的第一景深均值,并基于所述预测位姿,确定位于所述AR设备对应的拍摄视野范围内对象的第二景深均值;基于所述第一景深均值和所述第二景深均值,确定所述景深误差。
一种可选的实施方式中,参照图5所示,所述测试模块330还包括:
第三确定单元333,用于基于多帧所述测试图像分别对应的定位结果,确定定位结果为定位成功的目标测试图像占据所述测试图像总数量的百分比;
第四确定单元334,用于响应于所述百分比大于或等于预设的百分比阈值、且所述耗时信息表征的多帧所述测试图像对应的平均定位耗时小于或等于预设耗时阈值,将所述云定位测试结果确定为通过测试;响应于所述百分比小于所述预设的百分比阈值、或所述耗时信息表征的多帧所述测试图像对应的平均定位耗时大于所述预设耗时阈值,将所述云定位测试结果确定为未通过测试。
一种可选的实施方式中,所述云定位模块320还用于:
在基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位过程中,在云定位日志中记录每帧测试图像对应的单帧执行时间;
响应于触发获取所述耗时信息,从所述云定位日志中读取每帧测试图像对应的单帧执行时间;
基于多帧测试图像分别对应的单帧执行时间,确定所述耗时信息。
一种可选的实施方式中,参照图4所示,还包括:
构建模块360,用于构建位于所述三维地图中的虚拟对象;响应于所述虚拟对象位于所述AR设备的拍摄视野范围内,所述测试图像中还包括所述虚拟对象;
所述云定位模块320具体用于:
基于所述真实位姿、以及所述虚拟对象在所述三维地图中对应的目标位姿,确定所述虚拟对象在所述测试图像对应的图像坐标系中投影图像;
基于所述虚拟对象在所述投影图像中的投影位置、以及所述虚拟对象在所述测试图像中的位置,确定虚拟对象投影误差;
所述测试模块330还用于:
与多帧测试图像分别对应的所述真实位姿和所述预测位姿、所述耗时信息、以及所述虚拟对象投影误差,确定所述云定位测试结果。
本公开实施例通过利用AR设备获取现实场景的多帧测试图像、以及多帧测试图像中各帧测试图像分别对应的真实位姿,并基于云服务端部署的三维地图,对所述测试图像进行云定位,得到与各帧测试图像对应的预测位姿,以及云定位过程中的耗时信息,基于真实位姿、预测位姿、以及耗时信息,确定云定位测试结果。由此可以对AR设备的定位过程进行测试,确定该定位过程是否满足预设的定位标准,为后续优化定位方法提供数据支持。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图7所示,为本公开实施例提供的计算机设备700的结构示意图,包括处理器701、存储器702、和总线703。其中,存储器702用于存储执行指令,包括内存7021和外部存储器7022;这里的内存7021也称内存储器,用于暂时存放处理器701中的运算数据,以及与硬盘等外部存储器7022交换的数据,处理器701通过内存7021与外部存储器7022进行数据交换,当计算机设备700运行时,处理器701与存储器702之间通过总线703通信,使得处理器701在执行以下指令:
利用增强现实AR设备获取现实场景的多帧测试图像、以及获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿;
基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿,以及确定对所述测试图像进行云定位过程中的耗时信息;
基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的测试方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的测试方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的测试方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的AR效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、SLAM、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (18)
1.一种测试方法,其特征在于,包括:
利用增强现实AR设备获取现实场景的多帧测试图像、以及获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿;
基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿,以及确定对所述测试图像进行云定位的耗时信息;
基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果。
2.根据权利要求1所述的方法,其特征在于,还包括:
基于所述现实场景进行三维重建,得到所述现实场景对应的所述三维地图;
将所述三维地图部署在所述云服务端。
3.根据权利要求1或2所述的方法,其特征在于,所述利用增强现实AR设备获取现实场景的多帧测试图像,包括:
在特定的光照条件下,获取所述现实场景的多帧测试图像。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述利用增强现实AR设备获取现实场景的多帧测试图像,包括:
控制所述AR设备在所述现实场景内移动,并在移动过程中获取场景视频;
对所述场景视频进行抽帧处理,得到所述多帧测试图像。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿,包括:
利用所述AR设备中的惯性测量单元、或者部署在所述现实场景中的位姿测量设备,获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿,包括:
利用所述AR设备对各帧所述测试图像进行特征提取,得到各帧所述测试图像的特征数据;
向所述云服务端发送所述特征数据;所述特征数据用于所述云服务端基于所述特征数据和所述三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿;
接收所述云服务端发送的所述预测位姿。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果,包括:
针对每帧所述测试图像,基于该帧测试图像对应的真实位姿、和预测位姿,确定预测误差;
基于多帧所述测试图像分别对应的预测误差、以及耗时信息,确定所述云定位测试结果。
8.根据权利要求7所述的方法,其特征在于,所述基于多帧所述测试图像分别对应的预测误差、以及耗时信息,确定所述云定位测试结果,包括:
针对多帧所述测试图像中的每帧测试图像,基于该帧测试图像对应的预测误差,确定该帧测试图像对应的定位结果;该帧测试图像对应的定位结果包括:定位成功或定位失败;
基于多帧所述测试图像分别对应的定位结果、以及所述耗时信息,确定所述云定位测试结果。
9.根据权利要求8所述的方法,其特征在于,当所述预测误差为位置误差时,所述基于该帧测试图像对应的预测误差,确定该帧测试图像对应的定位结果,包括:
将该测试图像对应的位置误差和预设位置误差阈值进行比对;
响应于该测试图像对应的位置误差小于所述预设位置误差阈值,将该测试图像的定位结果确定为定位成功;
响应于该测试图像对应的位置误差大于或者等于所述预设位置误差阈值,将该测试图像的定位结果确定为定位失败。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
基于该帧测试图像对应的真实位姿对应的所述现实场景中的第一位置、以及所述预测位姿对应的所述现实场景中的第二位置,确定该帧测试图像对应的位置误差。
11.根据权利要求8所述的方法,其特征在于,当所述预测误差为景深误差时,所述基于该帧测试图像对应的预测误差,确定该帧测试图像对应的定位结果,包括:
将该测试图像对应的景深误差和预设景深误差阈值进行比对;
响应于该测试图像对应的景深误差小于所述预设景深误差阈值,将该测试图像的定位结果确定为定位成功;
响应于该测试图像对应的景深误差大于或者等于所述预设景深误差阈值,将该测试图像的定位结果确定为定位失败。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
基于所述真实位姿,确定位于所述AR设备对应的拍摄视野范围内对象的第一景深均值,并基于所述预测位姿,确定位于所述AR设备对应的拍摄视野范围内对象的第二景深均值;基于所述第一景深均值和所述第二景深均值,确定所述景深误差。
13.根据权利要求8-12任一项所述的方法,其特征在于,所述基于多帧所述测试图像分别对应的定位结果、以及所述耗时信息,确定所述云定位测试结果,包括:
基于多帧所述测试图像分别对应的定位结果,确定定位结果为定位成功的目标测试图像占据所述测试图像总数量的百分比;
响应于所述百分比大于或等于预设的百分比阈值、且所述耗时信息表征的多帧所述测试图像对应的平均定位耗时小于或等于预设耗时阈值,将所述云定位测试结果确定为通过测试;
响应于所述百分比小于所述预设的百分比阈值、或所述耗时信息表征的多帧所述测试图像对应的平均定位耗时大于所述预设耗时阈值,将所述云定位测试结果确定为未通过测试。
14.根据权利要求1-13任一项所述的方法,其特征在于,所述确定对所述测试图像进行云定位过程中的耗时信息,包括:
在基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位过程中,在云定位日志中记录每帧测试图像对应的单帧执行时间;
响应于触发获取所述耗时信息,从所述云定位日志中读取每帧测试图像对应的单帧执行时间;
基于多帧测试图像分别对应的单帧执行时间,确定所述耗时信息。
15.根据权利要求1-14任一项所述的方法,其特征在于,还包括:构建位于所述三维地图中的虚拟对象;
响应于所述虚拟对象位于所述AR设备的拍摄视野范围内,所述测试图像中还包括所述虚拟对象;
所述方法还包括:
基于所述真实位姿、以及所述虚拟对象在所述三维地图中对应的目标位姿,确定所述虚拟对象在所述测试图像对应的图像坐标系中投影图像;
基于所述虚拟对象在所述投影图像中的投影位置、以及所述虚拟对象在所述测试图像中的位置,确定虚拟对象投影误差;
所述基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果,包括:
与多帧测试图像分别对应的所述真实位姿和所述预测位姿、所述耗时信息、以及所述虚拟对象投影误差,确定所述云定位测试结果。
16.一种测试装置,其特征在于,包括:
获取模块,用于利用增强现实AR设备获取现实场景的多帧测试图像、以及获取与所述多帧测试图像中各帧测试图像分别对应的真实位姿;
云定位模块,用于基于云服务端部署的与所述现实场景对应的三维地图,对所述测试图像进行云定位,得到与各帧所述测试图像对应的预测位姿,以及确定对所述测试图像进行云定位过程中的耗时信息;
测试模块,用于基于多帧测试图像分别对应的所述真实位姿和所述预测位姿、以及所述耗时信息,确定云定位测试结果。
17.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至15任一项所述的测试方法的步骤。
18.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至15任一项所述的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210592512.6A CN117173344A (zh) | 2022-05-28 | 2022-05-28 | 一种测试方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210592512.6A CN117173344A (zh) | 2022-05-28 | 2022-05-28 | 一种测试方法、装置、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117173344A true CN117173344A (zh) | 2023-12-05 |
Family
ID=88945561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210592512.6A Pending CN117173344A (zh) | 2022-05-28 | 2022-05-28 | 一种测试方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117173344A (zh) |
-
2022
- 2022-05-28 CN CN202210592512.6A patent/CN117173344A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10417829B2 (en) | Method and apparatus for providing realistic 2D/3D AR experience service based on video image | |
JP6687204B2 (ja) | 投影イメージ生成方法およびその装置、イメージピクセルと深度値との間のマッピング方法 | |
CN109643465B (zh) | 用于创建混合现实环境的系统、方法、显示装置、介质 | |
JP6425780B1 (ja) | 画像処理システム、画像処理装置、画像処理方法及びプログラム | |
JP6201476B2 (ja) | 自由視点画像撮像装置およびその方法 | |
CN111126304A (zh) | 一种基于室内自然场景图像深度学习的增强现实导航方法 | |
JP5093053B2 (ja) | 電子カメラ | |
CN109615703A (zh) | 增强现实的图像展示方法、装置及设备 | |
CN111462311A (zh) | 全景图生成方法及装置、存储介质 | |
CN110858414A (zh) | 图像处理方法、装置、可读存储介质与增强现实系统 | |
US20220067968A1 (en) | Motion capture calibration using drones with multiple cameras | |
WO2021005977A1 (ja) | 三次元モデル生成方法及び三次元モデル生成装置 | |
CN115641401A (zh) | 一种三维实景模型的构建方法及相关装置 | |
CN115035235A (zh) | 三维重建方法及装置 | |
CN110544278B (zh) | 刚体运动捕捉方法及装置、agv位姿捕捉系统 | |
JP2023546739A (ja) | シーンの3次元モデルを生成するための方法、装置、およびシステム | |
CN111833457A (zh) | 图像处理方法、设备及存储介质 | |
CN114882106A (zh) | 位姿确定方法和装置、设备、介质 | |
CN114283243A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN108564654B (zh) | 三维大场景的画面进入方式 | |
US10540809B2 (en) | Methods and apparatus for tracking a light source in an environment surrounding a device | |
CN117173756A (zh) | 一种增强现实ar系统、计算机设备及存储介质 | |
CN117173344A (zh) | 一种测试方法、装置、计算机设备及可读存储介质 | |
CN113822936A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
KR102146839B1 (ko) | 실시간 가상현실 구축을 위한 시스템 및 방법 |
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 |