CN117788659A - 渲染图像的方法、装置、电子设备及存储介质 - Google Patents
渲染图像的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117788659A CN117788659A CN202211151275.6A CN202211151275A CN117788659A CN 117788659 A CN117788659 A CN 117788659A CN 202211151275 A CN202211151275 A CN 202211151275A CN 117788659 A CN117788659 A CN 117788659A
- Authority
- CN
- China
- Prior art keywords
- pose
- current frame
- frame
- updated
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000009877 rendering Methods 0.000 title claims abstract description 60
- 239000011159 matrix material Substances 0.000 claims abstract description 42
- 238000005457 optimization Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 29
- 238000001914 filtration Methods 0.000 claims description 19
- 230000000694 effects Effects 0.000 abstract description 17
- 230000005484 gravity Effects 0.000 abstract description 13
- 238000006073 displacement reaction Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本公开实施例提供了一种渲染图像的方法、装置、电子设备及存储介质,其中,该方法包括:确定当前帧的初始位姿;若当前帧对应的为非初始化阶段,则根据初始位姿、待更新关键帧组,确定当前帧的优化位姿,以基于优化位姿进行图像渲染;其中,初始位姿中包括与当前帧对应的旋转矩阵,待更新关键帧组中的至少一个待应用关键帧是基于当前帧和至少一个历史帧确定的。本公开实施例的技术方案,实现了在图像采集设备中的传感器精度不足的前提下,显著提高SLAM系统的跟踪精度的效果,同时,在位姿优化过程中,保持位姿在重力方向的一致性,提高了AR场景中物体放置的准确率。
Description
技术领域
本公开实施例涉及图像处理技术领域,尤其涉及一种渲染图像的方法、装置、电子设备及存储介质。
背景技术
随着计算机视觉技术的发展,同步定位和建图(Simultaneous Localization andMapping,SLAM)算法被广泛应用于增强现实、虚拟现实、自动驾驶以及机器人或无人机的定位导航等领域。
现有技术中,根据SLAM算法,可以构建出多种类型的系统以执行相应的渲染任务,例如,基于滤波的SLAM系统以及基于特征点的SLAM系统等。然而,在实际应用过程中,基于SLAM算法的系统对接收到的视频图像进行解析处理,以实现位姿跟踪,在确定每一帧的初始位姿时,需要依靠相机中的传感器所采集的信息进行确定,这种方式的缺点在于:基于SLAM算法的系统对于位姿信息的精度要求较高,而传感器的精度不能满足系统的处理要求,这就导致系统渲染得到的图像效果较差,影响用户的使用体验。
发明内容
本公开提供一种渲染图像的方法、装置、电子设备及存储介质,以实现在图像采集设备中的传感器精度不足的前提下,显著提高SLAM系统的跟踪精度的效果。
第一方面,本公开实施例提供了一种渲染图像的方法,该方法包括:
确定当前帧的初始位姿;
若所述当前帧对应的为非初始化阶段,则根据所述初始位姿、待更新关键帧组,确定所述当前帧的优化位姿,以基于所述优化位姿进行图像渲染;
其中,所述初始位姿中包括与所述当前帧对应的旋转矩阵,所述待更新关键帧组中的至少一个待应用关键帧是基于当前帧和至少一个历史帧确定的。
第二方面,本公开实施例还提供了一种渲染图像的装置,该装置包括:
初始位姿确定模块,用于确定当前帧的初始位姿;
图像渲染模块,用于若所述当前帧对应的为非初始化阶段,则根据所述初始位姿、待更新关键帧组,确定所述当前帧的优化位姿,以基于所述优化位姿进行图像渲染;其中,所述初始位姿中包括与所述当前帧对应的旋转矩阵,所述待更新关键帧组中的至少一个待应用关键帧是基于当前帧和至少一个历史帧确定的。
第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例任一所述的渲染图像的方法。
第四方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例任一所述的渲染图像的方法。
本公开实施例的技术方案,通过确定当前帧的初始位姿,进一步的,若当前帧对应的为非初始化阶段,则根据初始位姿、待更新关键帧组,确定当前帧的优化位姿,以基于优化位姿进行图像渲染,不仅提高了位姿的优化精度,优化了图像的渲染效果,还实现了在图像采集设备中的传感器精度不足的前提下,显著提高SLAM系统的跟踪精度的效果,同时,在位姿优化过程中,保持位姿在重力方向的一致性,提高了AR场景中物体放置的准确率。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是本公开实施例所提供的一种渲染图像的方法流程示意图;
图2是本公开实施例所提供的一种渲染图像的方法流程示意图;
图3是本公开实施例所提供的一种渲染图像的方法流程示意图;
图4是本公开实施例所提供的一种渲染图像的装置结构示意图;
图5是本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
在介绍本技术方案之前,可以先对应用场景进行示例性说明。示例性的,当用户利用移动端的摄像装置拍摄视频,并将拍摄后的视频上传至基于SLAM算法的系统,或者,在数据库中选择目标视频,并将视频主动上传至基于SLAM算法的系统后,系统即可对视频进行解析处理,然而,现有的SLAM系统对位姿精度的要求越来越高,基于当前的摄像装置中的陀螺仪或惯性测量单元等传感器采集的相机位置信息和旋转信息已经无法满足SLAM系统的精度要求,如果精度不准,则无法实现较为准确的定位跟踪。此时,基于本公开实施例的方案,可以对基于摄像装置采集的当前帧的初始位姿进行优化,并基于优化位姿进行图像渲染,从而实现了在图像采集设备中的传感器精度不足的前提下,显著提高了SLAM系统的跟踪精度,得到更加优异的图像渲染效果。
图1是本公开实施例所提供的一种渲染图像的方法流程示意图,本公开实施例适用于基于SLAM系统对视频进行处理,在视频采集装置的传感器精度较低的前提下,对当前帧的初始位姿进行优化,以基于优化后的位姿进行图像渲染的情形,该方法可以由渲染图像的装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是移动终端、PC端或服务器等。
如图1所示,所述方法包括:
S110、确定当前帧的初始位姿。
在本实施例中,执行本公开实施例提供的渲染图像的方法的装置,可以集成在支持特效视频处理功能的应用软件中,且该软件可以安装至电子设备中,可选的,电子设备可以是移动终端或者PC端等。应用软件可以是对图像/视频处理的一类软件,其具体的应用软件在此不再一一赘述,只要可以实现图像/视频处理即可。还可以是专门研发的应用程序,来实现添加特效并将特效进行展示的软件中,亦或是集成在相应的页面中,用户可以通过PC端中集成的页面来实现对特效视频的处理。
需要说明的是,本实施例的技术方案可以在基于移动端实时摄像的过程中执行,也可以在系统接收到用户主动上传的视频数据后执行,同时,本公开实施例的方案可以应用于增强现实(Augmented Reality,AR)、虚拟现实(Virtual Reality,VR)以及自动驾驶等多种应用场景内。
在本实施例中,当接收或获取到视频数据时,可以将此视频数据划分为若干个视频帧,并按照每一帧上的时间戳顺序对这些帧进行排序,可以将这些帧中的任意一帧作为当前帧。相应的,初始位姿可以为拍摄当前帧时刻,相机坐标系相对于世界坐标系发生的平移和旋转变换。需要说明的是,初始位姿可以为6自由度位姿数据,包括3个自由度的平移和3个自由度的空间旋转,即为相机在空间中的3个位置坐标和在空间中的3个旋转角度。
在实际应用中,当前帧可以为基于视频数据解析得到的多个帧中的任意一帧,可以为这些帧中的首帧,也可以为这些帧中的非首帧。由于在首帧之前没有其他参考帧,首帧的初始位姿即为首帧的实际采集位姿;而在非首帧之前存在多个历史帧,非首帧的初始位姿可以根据历史帧的位姿进行确定,因此,在确定当前帧的初始位姿时,还可以确定当前帧是否为首帧,进而可以针对性地确定当前帧的初始位姿。
可选的,确定当前帧的初始位姿,包括:若当前帧为首帧,则将当前帧的第一实采位姿作为初始位姿;若当前帧为非首帧,则根据当前帧的第一实采位姿、前一帧的历史实采位姿以及历史优化位姿,确定当前帧的初始位姿。
其中,第一实采位姿可以为在拍摄当前帧时所对应的相机位姿。在实际应用中,当前帧可以基于相机拍摄后得到,在相机实际拍摄当前帧时所对应的相机位置信息和旋转角度信息即为第一实采位姿。历史实采位姿可以为在拍摄前一帧时所对应的相机位姿。历史优化位姿可以为与前一帧相对应的,经过位姿优化处理后得到的位姿。
在实际应用中,在确定当前帧的初始位姿时,可以首先确定当前帧是否为当前接收的视频数据中的首帧,若当前帧为首帧,由于在当前帧之前没有历史帧进行参考,则可以将在拍摄当前帧时的相机位姿作为初始位姿;若当前帧为非首帧,则可以根据前一帧所对应的位姿对当前帧的实采位姿进行处理,并将处理后得到位姿作为当前帧的初始位姿。这样设置的好处在于:基于当前帧在多个视频帧中的位置不同,可以精准地确定当前帧中的初始位姿,从而提高了定位精度。
需要说明的是,若当前帧为非首帧时,可以参考前一帧的位姿,基于前一帧与当前帧之间的位姿差异,从而最终确定当前帧的初始位姿。
可选的,根据当前帧的第一实采位姿、前一帧的历史实采位姿以及历史优化位姿,确定当前帧的初始位姿,包括:根据第一实采位姿和历史实采位姿,确定第一差异位姿;根据前一帧的历史优化位姿和第一差异位姿,确定当前帧的初始位姿。
在实际应用中,由于第一实采位姿和历史实采位姿均为6自由度位姿,因此,第一实采位姿可以包括与当前帧相对应的相机位置坐标和旋转角度,历史实采位姿可以包括与前一帧相对应的相机位置坐标和旋转角度,为了确定当前帧与前一帧之间的位姿差异,可以将第一实采位姿与历史实采位姿进行差值处理,具体来说,将第一实采位姿中包括的相机位置坐标和旋转角度与历史实采位姿中包括的相机位置坐标和旋转角度进行差值处理,可以将差值处理后得到的位置坐标和旋转角度作为第一差异位姿。进一步的,将第一差异位姿中包括的位置坐标和旋转角度与历史优化位姿中包括的位置坐标和旋转角度进行相加,可以将相加之后的位置坐标和旋转角度作为当前帧的初始位姿。这样设置的好处在于:基于前一帧的位姿确定当前帧的初始位姿,可以减小位姿累积误差的影响,提高位姿的优化精度。
S120、若当前帧对应的为非初始化阶段,则根据初始位姿、待更新关键帧组,确定当前帧的优化位姿,以基于优化位姿进行图像渲染。
其中,初始位姿中包括与当前帧对应的旋转矩阵。
在本实施例中,初始位姿中包括采集当前帧时相机的空间位置坐标和相机与空间中三个坐标轴的旋转角。对于当前帧在不同坐标系之间的空间位置关系,可以通过平移向量来表示,对于当前帧在不同坐标系之间相应坐标轴的旋转关系,则可以通过旋转矩阵来表示,因此,当前帧的变换矩阵可以包括平移向量和旋转矩阵。
在本实施例中,非初始化阶段可以为对当前帧进行三角化处理后,并确定与当前帧相对应的点云数据之后的阶段。在实际应用中,当系统从陀螺仪或惯性测量单元获取多个视频帧时,由于这些视频帧没有相应的点云数据,则无法对这些视频帧的初始位姿进行优化。非初始化阶段可以为位姿跟踪阶段。
其中,待更新关键帧组可以为预先构建的,包括多个关键帧的集合。需要说明的是,待更新关键帧组中所保留的关键帧均为系统筛选后的视频帧图像,每一关键帧所对应的位姿均有对应的特征点,并且,每一关键帧的位姿均为优化后的位姿,因此,可以基于待更新关键帧组对当前帧的初始位姿进行优化,以得到当前帧的优化位姿。
还需说明的是,由于初始位姿中包括与当前帧对应的旋转矩阵,因此,在确定当前帧的优化位姿时,还可以将旋转矩阵对位姿优化过程的影响考虑进去,从而可以提高优化位姿的优化精度,进一步提高系统的定位精度。
可选的,根据初始位姿、待更新关键帧组,确定当前帧的优化位姿,包括:基于待更新关键帧组对初始位姿和初始位姿中的旋转矩阵进行优化,得到当前帧的优化位姿。
在实际应用中,基于待更新关键帧组对初始位姿进行优化,可以首先确定当前帧中的点云数据,并基于待更新关键帧组对这些点云数据进行处理,从而可以实现对初始位姿的优化。本领域技术人员应当理解,带有相机位姿和空间点的图优化称为BA,能够有效地求解大范围的定位与建图问题,然而,随着规模的不断扩大,计算效率会大幅下降,在这一过程中,特征点的优化问题占了较多的部分,经过若干次迭代之后,特征点就会收敛,此时再进行优化没有更大的意义。因此,在实际过程中,在优化几次后,便可以把特征点固定住,将其看做位姿估计的约束,即,不再优化特征点的位姿。基于此可以理解,优化后的位姿图即是在只考虑位姿的情况下,所构建的一个只有轨迹的图优化,而位姿节点之间的边,由两个关键帧之间通过特征匹配后得到的运动估计来给定初始值,一旦初始值确定,则不再优化路标点的位置,只关心相机位姿之间的联系。
在本实施例中,利用上述增量式的BA问题构造方法来对当前帧的初始位姿进行优化,可以使同步定位与建图系统提供较高的BA速度,从而保证了系统对各视频帧进行处理的实时性。
可选的,基于待更新关键帧组对当前帧的初始位姿优化,可以采用光束平差法对当前帧的初始位姿进行优化。
其中,光束平差法(Bundle Adjustment)可以根据所有点在图像中的投影作为标准,同时提炼出描述场景结构的3D点坐标、相对运动参数和相机的光学参数。可以理解为,对场景中任意三维点P,由从每个视图所对应的摄像机的光心发射出来并经过图像中P对应的像素后的光线,都将交于P这一点,对于所有三维点,则形成相当多的光束,在实际应用过程中,由于噪声等因素的存在,每条光线几乎不可能汇聚于一点,因此,在求解的过程中,需要不断对待求信息进行调整,从而使最终光线能够交于点P。可以理解,光束平差法最终的目的即是减少作为观测图像的各待应用关键帧,与参考图像或预测图像的点之间位置投影变换的误差,从而获得最佳的三维结构和运动(如相机矩阵)参数估计。
需要说明的是,光束平差法通常利用BA模型的稀疏性进行计算,在计算过程中,可以涉及最速下降法、Newton型方法、LM方法等,本公开实施例对此不作具体的限定。
在实际应用中,确定当前帧的优化位姿,不仅要基于待更新关键帧组对当前帧的初始位姿进行优化,还要对与当前帧对应的旋转矩阵进行优化,从而最终确定当前帧的优化位姿。这样设置的好处在于:可以使得当前帧的优化位姿更加准确,并且,可以避免对图像中特征点进行提取与匹配所带来的计算开销。
可选的,基于待更新关键帧对初始位姿和初始位姿中的旋转矩阵进行优化,得到当前帧的待更新位姿或优化位姿,包括:基于初始位姿,确定当前帧的旋转矩阵;在基于待更新关键帧组对当前帧的初始位姿优化过程中,保持旋转矩阵在第一方向上对齐,得到优化位姿或待更新位姿。
在本实施例中,在当前帧的采集过程中,相机中的陀螺仪或惯性测量单元等传感器获取当前帧的旋转信息,从而可以确定与当前帧相对应的旋转角度,进而将各旋转角度进行参数化处理,即可得到当前帧的初始旋转矩阵。需要说明的是,此时的初始旋转矩阵为使用四元数表示的旋转形式,由于旋转信息为3自由度,当旋转角度在四维空间中进行优化时,四维空间内包含4个自由度,会存在一定的约束,如,四元数的模长为1,因此,可以将初始旋转矩阵由四元数投影到更满足旋转优化条件的三维空间内,得到包含3个自由度的向量,进而对旋转三维向量进行处理,即可得到当前帧的旋转矩阵。
在本实施例中,任意物体的重力方向均是相同的,在三维空间坐标系中,重力方向可以与Z轴方向是一致的。在对初始位姿旋转信息进行优化时,旋转信息中的3个旋转角分别为与X轴、Y轴以及Z轴的夹角,可以用α、β和γ来表示。当对α进行优化时,β和γ也会随之发生变化,此时,当前帧的重力方向同样会发生变化,这样是不利于位姿优化的,因此,可以在位姿优化过程中,将旋转矩阵与重力方向对齐,即可得到更加准确的优化位姿,可以将重力方向作为第一方向,该重力方向可以为陀螺仪或惯性测量单元获取的重力方向。示例性的,保持旋转矩阵在第一方向上对齐,可以为将旋转矩阵确定为(0,0,1)。
在实际应用中,在确定初始位姿后,可以基于初始位姿中的旋转信息,确定相应的旋转矩阵,并保持旋转矩阵在第一方向上对齐,然后,通过待更新关键帧组中的各关键帧对当前帧的初始位姿进行优化,从而得到当前帧的优化位姿或待更新位姿。这样设置的好处在于:在对初始位姿进行优化时,将旋转信息在重力方向上对齐,可以保证优化位姿的重力方向是保持不变的,提高了位姿的优化精度。
在本实施例中,在确定当前帧的优化位姿后,即可基于优化位姿进行图像渲染。示例性的,可以基于优化位姿对地图数据进行更新,也可以基于优化位姿确定AR场景中目标物体的具体渲染位置。
本公开实施例的技术方案,通过确定当前帧的初始位姿,进一步的,若当前帧对应的为非初始化阶段,则根据初始位姿、待更新关键帧组,确定当前帧的优化位姿,以基于优化位姿进行图像渲染,不仅提高了位姿的优化精度,优化了图像的渲染效果,还实现了在图像采集设备中的传感器精度不足的前提下,显著提高SLAM系统的跟踪精度的效果,同时,在位姿优化过程中,保持位姿在重力方向的一致性,提高了AR场景中物体放置的准确率。
图2是本公开实施例所提供的一种渲染图像的方法流程示意图,在前述实施例的基础上,若当前帧对应的为初始化阶段时,可以根据当前帧的初始位姿、待更新关键帧组以及滤波确定的待输出位姿,确定优化位姿。其具体的实施方式可以参见本实施例技术方案。其中,与上述实施例相同或者相应的技术术语在此不再赘述。
如图2所示,该方法具体包括如下步骤:
S210、确定当前帧的初始位姿。
S220、若当前帧对应的为初始化阶段,则根据当前帧的初始位姿、待更新关键帧组以及滤波确定的待输出位姿,确定当前帧的优化位姿。
其中,初始化阶段可以为基于系统中接收到的多个连续帧图像,无法通过点云数据对当前帧的初始位姿进行优化的阶段。初始化阶段可以为系统仅接收少量连续帧图像,并且未对这些图像进行三角化处理的阶段。
在本实施例中,滤波可以为位姿跟踪的一种方式,可以基于当前时刻的位姿估计下一时刻的预测位姿。滤波可以为任意滤波,可选的,可以为卡尔曼滤波或粒子滤波等。
在实际应用中,当系统处于初始化阶段时,每一帧的初始位姿均通过相机中的传感器获取的位置信息和旋转信息确定,由于在初始化阶段,每一帧均不存在相应的点云数据,无法实现对当前帧初始位姿的优化,因此,可以基于滤波的方式确定每一帧的输出位姿,从而基于每一帧的输出位姿,确定当前帧的优化位姿,这样在初始化阶段也可以实现位姿的优化。
可选的,根据当前帧的初始位姿、待更新关键帧组以及滤波确定的待输出位姿,确定当前帧的优化位姿,包括:基于滤波确定当前帧的待输出位姿;基于待更新关键帧组对当前帧的初始位姿和初始位姿中的旋转矩阵进行对齐,得到当前帧的待更新位姿;通过对待输出位姿和待更新位姿对齐,确定当前帧的优化位姿。
在本实施例中,当确定当前帧的初始位姿后,基于滤波可以对初始位姿进行分析,即可得到当前帧在下一时刻的预测位姿,可以将此预测位姿作为待输出位姿。
在本实施例中,在待更新关键帧组对当前帧的初始位姿优化的过程中,保持初始位姿中的旋转矩阵在第一方向上对齐,可以将此时得到的位姿作为待更新位姿。
需要说明的是,由于基于滤波确定的待输出位姿和基于待更新关键帧组确定的待更新位姿,是当前帧基于不同方式确定的优化位姿,为了保证基于两种位姿优化方式所确定的位姿的一致性,可以对待输出位姿和待更新位姿对齐,并将对齐后确定的位姿作为当前帧的优化位姿。这样设置的好处在于:可以在初始化阶段同样实现位姿的跟踪优化,并且,还可以保证初始化阶段和非初始化阶段的输出位姿的一致性。
可选的,通过对待输出位姿和待更新位姿对齐,确定当前帧的优化位姿,包括:基于待输出位姿和待更新位姿,确定第二差异位姿;基于第二差异位姿对当前帧的待更新位姿进行处理,得到当前帧的优化位姿。
在本实施例中,第二差异位姿可以为待输出位姿与待更新位姿之间的差异值。第二差异位姿可以用任何参数表示,可以的,可以为ΔR。
在实际应用中,待更新位姿是当前帧经过三角化处理后,通过待更新关键帧组对当前帧中的点云数据进行处理后得到的。在确定第二差异位姿后,可以将该差异位姿与待更新位姿中的全部点云数据进行相乘处理,得到更新后的点云数据,并基于更新后的点云数据确定当前帧的优化位姿。这样设置的好处在于:可以保证初始化阶段输出的优化位姿与非初始化输出的优化位姿的一致性。
S230、若当前帧对应的为非初始化阶段,则根据初始位姿、待更新关键帧组,确定当前帧的优化位姿,以基于优化位姿进行图像渲染。
本公开实施例的技术方案,通过确定当前帧的初始位姿,进一步的,若当前帧对应的为初始化阶段,则根据当前帧的初始位姿、待更新关键帧组以及滤波确定的待输出位姿,确定当前帧的优化位姿,若当前帧对应的为非初始化阶段,则根据初始位姿、待更新关键帧组,确定当前帧的优化位姿,以基于优化位姿进行图像渲染,实现了在初始化阶段同样可以进行位姿优化,并且,保证了初始化阶段输出的优化位姿与非初始化阶段输出的优化位姿的一致性,优化了图像渲染效果。
图3是本公开实施例所提供的一种渲染图像的方法流程示意图,在前述实施例的基础上,在根据待更新关键帧组对当前帧的初始位姿进行优化之前,可以预先构建待更新关键帧组,以基于构建完成的待更新关键帧组对当前帧的初始位姿进行处理。其具体的实施方式可以参见本实施例技术方案。其中,与上述实施例相同或者相应的技术术语在此不再赘述。
如图3所示,该方法具体包括如下步骤:
S310、确定当前帧的初始位姿。
S320、在首次接收到多个连续帧图像时,确定至少一个待应用关键帧。
在本实施例中,确定当前帧的优化位姿之前,首先可以在接收或获取的视频数据中定位出待更新关键帧组。其中,待更新关键帧组为包括多个关键帧的集合,并且可以实时或周期性的对待更新关键帧组中图像进行更新。同时,在待更新关键帧组中包括至少一个待应用关键帧,本领域技术人员应当理解,在计算机视觉技术领域内,关键帧用于代表与其相邻的多个帧,相当于SLAM的骨架,是在局部一系列普通帧中选出一帧作为局部帧的代表,因此,在关键帧中至少记录着视频画面的局部信息。同时,利用关键帧执行后续的图像渲染处理过程,也可以有效减少需要优化的视频帧数,从而提升系统的图像处理效率。
其中,多个连续帧图像可以是系统从接收的视频数据中解析出来的图像。示例性的,系统在接收到视频数据后,可以将视频数据存储至预设序列中,具体来说,该预设序列可以按照视频数据中每一帧的顺序进行存储,如,上述视频中每一帧的顺序是先帧1,然后帧2…再是帧n-1,最后是帧n,上述预设序列按照上述顺序,即以帧1、帧2…帧n-1和帧n的顺序存储上述视频,多个连续帧图像即为帧1、帧2…帧n-1和帧n,本领域技术人员应当理解,多个连续帧图像可以根据实际情况确定。
在本实施例中,在确定待应用关键帧时,一种方式可以为:在接收到多个连续帧图像后,可以将这些连续帧图像进行预处理,并将预处理后的全部连续帧图像均作为待应用关键帧,进而基于这些待应用关键帧确定待更新关键帧组;另一种方式可以为:在接收到多个连续帧图像并对这些连续帧图像进行预处理后,对预处理后的连续帧图像进行筛选,将满足筛选条件的连续帧凸显作为待应用关键帧,并基于各待应用关键帧构建待更新关键帧组。
在实际应用中,预处理包括去除旋转影响的操作,由于在多帧连续的视频帧中,画面可能会出现旋转的情况,进一步的,旋转会影响帧的像素距离差,但是仅有旋转无法进行同步定位与建图初始化,因此,可以进行预处理,并利用去除旋转影响的像素距离差筛选窗口内的至少一个初始关键帧,从而保证窗口中的帧之间有足够公视的前提下拥有足够的视差进行同步定位与建图初始化,可以理解为,通过去除旋转操作,减少了旋转对同步定位与建图初始化的影响,提高了同步定位与建图初始化的精度。进一步的,系统利用预先构建的自适应大小的滑动窗口,即可在去除旋转影响的上述多个连续帧图像中筛选出至少一个待应用关键帧。
示例性的,系统预先构建一个大小可调的滑动窗口,如,5帧图像帧大小的~10帧图像帧大小的滑动窗口,利用该滑动窗口,即可在去除旋转影响的多个连续帧图像中筛选出至少一个初始关键帧,例如,当前上述滑动窗口的长度为5帧,系统利用去除旋转影响的像素距离差筛选出上述滑动窗口内的初始关键帧,例如,对从接收的视频中解析出来的帧1、帧2…帧25进行筛选,筛选出帧6、帧7、帧10、帧12以及帧13作为上述初始关键帧。基于此,若通过这5帧图像帧的大小无法正确进行同步定位与建图初始化,则增加滑动窗口大小为6帧,并按照上述方式继续筛选去除旋转影响后的初始关键帧,进行初始化计算以及滑动窗口,直至同步定位与建图初始化完成。可以理解,所得到的至少一个初始化关键帧即是待更新关键帧组中的各待应用关键帧。
S330、基于至少一个待应用关键帧,确定待更新关键帧组。
需要说明的是,为了对待更新关键帧组进行更新优化,可以在确定系统接收到的当前帧为待应用关键帧后,将该待应用关键帧添加至待更新关键帧组中,从而实现对待更新关键帧组的更新。可选的,可以根据预设帧数和当前帧对待更新关键帧组进行更新,若至少一个待应用关键帧的数量小于预设帧数,则将当前帧更新至待更新关键帧组中,以得到更新后的待更新关键帧组;若至少一个待应用关键帧的数量大于预设帧数,则将当前帧更新至待更新关键帧组中,并将与当前时刻间隔最长的待应用关键帧从待更新关键帧组中移除,得到更新后的待更新关键帧组。
S340、若当前帧对应的为非初始化阶段,则根据初始位姿、待更新关键帧组,确定当前帧的优化位姿,以基于优化位姿进行图像渲染。
在确定所述当前帧的优化位姿之后,还包括:确定当前帧是否为关键帧;若是,则根据与待更新关键帧组相对应的帧数量以及各待应用关键帧的时间戳,对待更新关键帧组中的待应用关键帧进行更新,以基于更新后的待更新关键帧组确定下一帧的优化位姿。
需要说明的是,在确定当前帧是否为关键帧之前,还可以基于角点检测算法确定当前帧中的待处理点云数据,以基于至少一个待应用关键帧对待处理点云数据进行处理,得到当前帧的优化位姿,以及确定当前帧是否为关键帧。
在本实施例中,确定当前帧是否为关键帧的方式有多种,下面对各种方式逐一进行说明。
可选的,在确定当前帧时候为关键帧时,可以确定当前帧的目标特征点,以及当前帧与至少一个待应用关键帧的位移视差;在目标特征点的数量达到第一预设数量阈值,且位移视差大于第一预设位移视差阈值,则确定当前帧为关键帧。
其中,由于相机处于不断运动的状态,因此,所拍摄物体在图像上产生运动,从而形成位移视差,可以理解,通过位移视差至少可以判断各帧图像中物体的远近。目标特征点即是从各帧图像中的物体上所确定出来的点,例如,某一帧图像上存在多级阶梯,系统根据预先训练好的特征点确定算法,即可从其中每一节阶梯上确定出相应的多个特征点,这些特征点即是目标特征点。在本实施例中,系统还可以针对目标特征点的数量这一参数预先设置一个阈值,该阈值即是第一预设数量阈值,同样地,针对位移视差这一参数也预先设置一个阈值,该阈值即是第一预设位移视差阈值。基于此,当系统从当前帧中确定出目标特征点,并确定当前帧与至少一个待应用关键帧之间的位移视差后,即可对目标特征点的数量以及位移视差值进行判断,当两者均大于相对应的预设阈值时,则确定当前帧为关键帧。
可选的,确定当前帧与至少一个待应用关键帧的共视特征点,并基于共视特征点在当前帧中降采样处理,确定目标特征点;以及,确定当前帧与待应用关键帧的位移偏差;若所述目标特征点的数量小于当前帧中待处理特征点的数量,且位移偏差小于第二预设位移偏差,则确定当前帧为关键帧。
其中,系统在接收到当前帧并确定出其画面中的多个特征点后,还可以将这些特征点与至少一个待应用关键帧对应画面中的特征点进行比对,从而确定出这些图像中的共视特征点。在本实施例中,系统同样可以针对位移偏差这一参数预设设置一个阈值,该阈值即是第二预设位移偏差。基于此,当系统从当前帧中确定出目标特征点,并确定出确定当前帧与待应用关键帧之间的位移偏差后,即可将目标特征点的数量与当前帧中待处理特征点的数量进行比对,同时将当前帧与待应用关键帧之间的位移偏差与第二预设位移偏差进行比对,当上述两个参数均小于其对应的比对对象时,则确定当前帧为关键帧。
可选的,对当前帧的待处理点云数据降采样处理,得到目标特征点;确定当前帧与至少一个待应用关键帧的位移偏差;若目标特征点的数量小于等于共视特征点的数量,且位移偏差小于第三预设位移偏差,则确定当前帧为关键帧;
在本实施例中,系统可以针对位移偏差这一参数预先设置一个阈值,该阈值即是第三预设位移偏差,进一步的,将目标特征点的数量,与多个视频帧之间共视特征点的数量进行比对,并将位移偏差与第三预设位移偏差进行比对,当上述两个参数均小于其相应的比对对象时,则确定当前帧为关键帧。
进一步的,当确定当前帧为关键帧时,可以确定待更新关键帧组中所包含的关键帧的数量,若当前数量小于待更新关键帧组的预设数量阈值,则可以直接将当前帧添加至待更新关键帧组中,以实现对待更新关键帧组的更新,从而基于更新后的待更新关键帧组确定下一帧的优化位姿;若当前数量等于待更新关键帧组的预设数量阈值,在将当前帧添加至待更新关键帧组后,会超出预设数量阈值,因此,可以确定待更新关键帧组内各待应用关键帧的时间戳,将各时间戳与当前时刻进行比对,将距离当前时刻最远的待应用关键帧从待更新关键帧组内移除,从而保证待更新关键帧组中的帧数量始终保持在预设数量阈值,实现对待更新关键帧组的更新,以基于更新后的待更新关键帧组确定下一帧的优化位姿。这样设置的好处在于:可以保证待更新关键组内帧数量的一致性,从而保证焦点跟踪的一致性和准确性,并且,通过严格控制待更新关键帧组中关键帧的数量,也间接地控制了位姿特征点的数量,从而有效地控制后续的计算效率,便于同步定位与建图系统对移动端所拍摄图像的实时处理。
本公开实施例的技术方案,通过确定当前帧的初始位姿,在首次接收到多个连续帧图像时,确定至少一个待应用关键帧,基于至少一个待应用关键帧,确定待更新关键帧组,进一步的,若当前帧对应的为非初始化阶段,则根据初始位姿、待更新关键帧组,确定当前帧的优化位姿,以基于优化位姿进行图像渲染,不仅提高了位姿的优化精度,优化了图像的渲染效果,还实现了在图像采集设备中的传感器精度不足的前提下,显示提高SLAM系统的跟踪精度的效果。
图4是本公开实施例所提供的一种渲染图像的装置结构示意图,如图4所示,所述装置包括:初始位姿确定模块410和图像渲染模块420。
其中,初始位姿确定模块410,用于确定当前帧的初始位姿;
图像渲染模块420,用于若所述当前帧对应的为非初始化阶段,则根据所述初始位姿、待更新关键帧组,确定所述当前帧的优化位姿,以基于所述优化位姿进行图像渲染;其中,所述初始位姿中包括与所述当前帧对应的旋转矩阵,所述待更新关键帧组中的至少一个待应用关键帧是基于当前帧和至少一个历史帧确定的。
在上述各技术方案的基础上,初始位姿确定模块410包括初始位姿确定第一子模块和初始位姿确定第二子模块。
初始位姿确定第一子模块,用于若所述当前帧为首帧,则将所述当前帧的第一实采位姿作为所述初始位姿;
初始位姿确定第二子模块,用于若所述当前帧为非首帧,则根据所述当前帧的第一实采位姿、前一帧的历史实采位姿以及历史优化位姿,确定所述当前帧的初始位姿。
在上述各技术方案的基础上,初始位姿确定第二子模块包括第一差异位姿确定单元和初始位姿确定单元。
第一差异位姿确定单元,用于根据所述第一实采位姿和所述历史实采位姿,确定第一差异位姿;
初始位姿确定单元,用于根据所述前一帧的历史优化位姿和所述第一差异位姿,确定所述当前帧的初始位姿。
在上述各技术方案的基础上,所述装置还包括:优化位姿确定模块。
优化位姿确定模块,用于若所述当前帧对应于的初始化阶段,则根据所述当前帧的初始位姿、待更新关键帧组以及滤波确定的待输出位姿,确定所述当前帧的优化位姿。
在上述各技术方案的基础上,优化位姿确定模块包括待输出位姿确定子模块、待更新位姿确定子模块和优化位姿确定子模块。
待输出位姿确定子模块,用于基于滤波确定所述当前帧的待输出位姿;
待更新位姿确定子模块,用于基于所述待更新关键帧组对所述当前帧的初始位姿和所述初始位姿中的旋转矩阵进行对齐,得到所述当前帧的待更新位姿;
优化位姿确定子模块,用于通过对所述待输出位姿和所述待更新位姿对齐,确定所述当前帧的优化位姿。
在上述各技术方案的基础上,优化位姿确定子模块包括第二差异位姿确定单元和待更新位姿处理单元。
第二差异位姿确定单元,用于基于所述待输出位姿和所述待更新位姿,确定第二差异位姿;
待更新位姿处理单元,用于基于所述第二差异位姿对所述当前帧的待更新位姿进行处理,得到所述当前帧的优化位姿。
在上述各技术方案的基础上,图像渲染模块420,还用于基于所述待更新关键帧对所述初始位姿和所述初始位姿中的旋转矩阵进行优化,得到所述当前帧的优化位姿。。
在上述各技术方案的基础上,图像渲染模块420包括旋转矩阵确定单元和优化位姿确定单元。
旋转矩阵确定单元,用于基于所述初始位姿,确定所述当前帧的旋转矩阵;
优化位姿确定单元,用于在基于所述待更新关键帧组对所述当前帧的初始位姿优化过程中,保持所述旋转矩阵在第一方向上对齐,得到所述优化位姿或待更新位姿。
在上述各技术方案的基础上,所述装置还包括:待应用关键帧确定模块和待更新关键帧组确定模块。
待应用关键帧确定模块,用于在所述根据所述初始位姿、待更新关键帧组,确定所述当前帧的优化位姿之前,在首次接收到多个连续帧图像时,确定至少一个待应用关键帧;
待更新关键帧组确定模块,用于基于所述至少一个待应用关键帧,确定所述待更新关键帧组。
在上述各技术方案的基础上,所述装置还包括:关键帧确定模块和待应用关键帧更新模块。
关键帧确定模块,用于在确定所述当前帧的优化位姿之后,确定所述当前帧是否为关键帧;
待应用关键帧更新模块,用于若是,则根据与所述待更新关键帧组相对应的帧数量以及各待应用关键帧的时间戳,对所述待更新关键帧组中的待应用关键帧进行更新,以基于更新后的待更新关键帧组确定下一帧的优化位姿。
本公开实施例的技术方案,通过确定当前帧的初始位姿,进一步的,若当前帧对应的为非初始化阶段,则根据初始位姿、待更新关键帧组,确定当前帧的优化位姿,以基于优化位姿进行图像渲染,不仅提高了位姿的优化精度,优化了图像的渲染效果,还实现了在图像采集设备中的传感器精度不足的前提下,显著提高SLAM系统的跟踪精度的效果,同时,在位姿优化过程中,保持位姿在重力方向的一致性,提高了AR场景中物体放置的准确率。
本公开实施例所提供的渲染图像的装置可执行本公开任意实施例所提供的渲染图像的方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
图5是本公开实施例所提供的一种电子设备的结构示意图。下面参考图5,其示出了适于用来实现本公开实施例的电子设备(例如图5中的终端设备或服务器)500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。编辑/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本公开实施例提供的电子设备与上述实施例提供的视频确定方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的渲染图像的方法。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:确定当前帧的初始位姿;
若所述当前帧对应的为非初始化阶段,则根据所述初始位姿、待更新关键帧组,确定所述当前帧的优化位姿,以基于所述优化位姿进行图像渲染;
其中,所述初始位姿中包括与所述当前帧对应的旋转矩阵,所述待更新关键帧组中的至少一个待应用关键帧是基于当前帧和至少一个历史帧确定的。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:确定当前帧的初始位姿;
若所述当前帧对应的为非初始化阶段,则根据所述初始位姿、待更新关键帧组,确定所述当前帧的优化位姿,以基于所述优化位姿进行图像渲染;
其中,所述初始位姿中包括与所述当前帧对应的旋转矩阵,所述待更新关键帧组中的至少一个待应用关键帧是基于当前帧和至少一个历史帧确定的。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (13)
1.一种渲染图像的方法,其特征在于,包括:
确定当前帧的初始位姿;
若所述当前帧对应的为非初始化阶段,则根据所述初始位姿、待更新关键帧组,确定所述当前帧的优化位姿,以基于所述优化位姿进行图像渲染;
其中,所述初始位姿中包括与所述当前帧对应的旋转矩阵,所述待更新关键帧组中的至少一个待应用关键帧是基于当前帧和至少一个历史帧确定的。
2.根据权利要求1所述的方法,其特征在于,所述确定当前帧的初始位姿,包括:
若所述当前帧为首帧,则将所述当前帧的第一实采位姿作为所述初始位姿;
若所述当前帧为非首帧,则根据所述当前帧的第一实采位姿、前一帧的历史实采位姿以及历史优化位姿,确定所述当前帧的初始位姿。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前帧的第一实采位姿、前一帧的历史实采位姿以及历史目标位姿,确定所述当前帧的初始位姿,包括:
根据所述第一实采位姿和所述历史实采位姿,确定第一差异位姿;
根据所述前一帧的历史优化位姿和所述第一差异位姿,确定所述当前帧的初始位姿。
4.根据权利要求1所述的方法,其特征在于,还包括:
若所述当前帧对应于的初始化阶段,则根据所述当前帧的初始位姿、待更新关键帧组以及滤波确定的待输出位姿,确定所述当前帧的优化位姿。
5.根据权利要求4所述的方法,其特征在于,所述根据所述当前帧的初始位姿、待更新关键帧组以及滤波确定的待输出位姿,确定所述当前帧的优化位姿,包括:
基于滤波确定所述当前帧的待输出位姿;
基于所述待更新关键帧组对所述当前帧的初始位姿和所述初始位姿中的旋转矩阵进行对齐,得到所述当前帧的待更新位姿;
通过对所述待输出位姿和所述待更新位姿对齐,确定所述当前帧的优化位姿。
6.根据权利要求5所述的方法,其特征在于,所述通过对所述待输出位姿和所述待更新位姿对齐,确定所述当前帧的优化位姿,包括:
基于所述待输出位姿和所述待更新位姿,确定第二差异位姿;
基于所述第二差异位姿对所述当前帧的待更新位姿进行处理,得到所述当前帧的优化位姿。
7.根据权利要求1所述的方法,其特征在于,所述根据所述初始位姿、待更新关键帧组,确定所述当前帧的优化位姿,包括:
基于所述待更新关键帧对所述初始位姿和所述初始位姿中的旋转矩阵进行优化,得到所述当前帧的优化位姿。
8.根据权利要求1或7所述的方法,其特征在于,所述基于所述待更新关键帧对所述初始位姿和所述初始位姿中的旋转矩阵进行优化,得到所述当前帧的待更新位姿或优化位姿,包括:
基于所述初始位姿,确定所述当前帧的旋转矩阵;
在基于所述待更新关键帧组对所述当前帧的初始位姿优化过程中,保持所述旋转矩阵在第一方向上对齐,得到所述优化位姿或待更新位姿。
9.根据权利要求1所述的方法,其特征在于,在所述根据所述初始位姿、待更新关键帧组,确定所述当前帧的优化位姿之前,还包括:
在首次接收到多个连续帧图像时,确定至少一个待应用关键帧;
基于所述至少一个待应用关键帧,确定所述待更新关键帧组。
10.根据权利要求9所述的方法,其特征在于,在确定所述当前帧的优化位姿之后,还包括:
确定所述当前帧是否为关键帧;
若是,则根据与所述待更新关键帧组相对应的帧数量以及各待应用关键帧的时间戳,对所述待更新关键帧组中的待应用关键帧进行更新,以基于更新后的待更新关键帧组确定下一帧的优化位姿。
11.一种渲染图像的装置,其特征在于,包括:
初始位姿确定模块,用于确定当前帧的初始位姿;
图像渲染模块,用于若所述当前帧对应的为非初始化阶段,则根据所述初始位姿、待更新关键帧组,确定所述当前帧的优化位姿,以基于所述优化位姿进行图像渲染;其中,所述初始位姿中包括与所述当前帧对应的旋转矩阵,所述待更新关键帧组中的至少一个待应用关键帧是基于当前帧和至少一个历史帧确定的。
12.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的渲染图像的方法。
13.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-10中任一所述的渲染图像的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211151275.6A CN117788659A (zh) | 2022-09-21 | 2022-09-21 | 渲染图像的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211151275.6A CN117788659A (zh) | 2022-09-21 | 2022-09-21 | 渲染图像的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117788659A true CN117788659A (zh) | 2024-03-29 |
Family
ID=90398561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211151275.6A Pending CN117788659A (zh) | 2022-09-21 | 2022-09-21 | 渲染图像的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117788659A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118674786A (zh) * | 2024-08-22 | 2024-09-20 | 浙江吉利控股集团有限公司 | 图像位姿数据的确定方法、装置、设备、介质及程序产品 |
-
2022
- 2022-09-21 CN CN202211151275.6A patent/CN117788659A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118674786A (zh) * | 2024-08-22 | 2024-09-20 | 浙江吉利控股集团有限公司 | 图像位姿数据的确定方法、装置、设备、介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107888828B (zh) | 空间定位方法及装置、电子设备、以及存储介质 | |
JP7236565B2 (ja) | 位置姿勢決定方法、装置、電子機器、記憶媒体及びコンピュータプログラム | |
US11557083B2 (en) | Photography-based 3D modeling system and method, and automatic 3D modeling apparatus and method | |
CN110084832B (zh) | 相机位姿的纠正方法、装置、系统、设备和存储介质 | |
CN111292420B (zh) | 用于构建地图的方法和装置 | |
CN111127563A (zh) | 联合标定方法、装置、电子设备及存储介质 | |
CN109461208B (zh) | 三维地图处理方法、装置、介质和计算设备 | |
CN110660098B (zh) | 基于单目视觉的定位方法和装置 | |
CN113029128B (zh) | 视觉导航方法及相关装置、移动终端、存储介质 | |
JP7182020B2 (ja) | 情報処理方法、装置、電子機器、記憶媒体およびプログラム | |
JP7351892B2 (ja) | 障害物検出方法、電子機器、路側機器、及びクラウド制御プラットフォーム | |
CN109040525B (zh) | 图像处理方法、装置、计算机可读介质及电子设备 | |
CN108444452B (zh) | 目标经纬度和拍摄装置的三维空间姿态的检测方法及装置 | |
CN114119692A (zh) | 一种刚性物体几何信息恢复方法、装置及存储介质 | |
CN117788659A (zh) | 渲染图像的方法、装置、电子设备及存储介质 | |
CN112818898B (zh) | 模型训练方法、装置和电子设备 | |
CN111833459B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN116071280A (zh) | 视频补全方法、装置、介质和电子设备 | |
CN115937383B (zh) | 渲染图像的方法、装置、电子设备及存储介质 | |
CN115588085A (zh) | 轴线重建方法、设备及存储介质 | |
CN114707392A (zh) | 一种局部slam构建方法、全局slam构建方法和构建装置 | |
CN115134579B (zh) | 一种虚拟视点的生成方法、装置、存储介质及电子设备 | |
CN112880675B (zh) | 用于视觉定位的位姿平滑方法、装置、终端和移动机器人 | |
CN116148883B (zh) | 基于稀疏深度图像的slam方法、装置、终端设备及介质 | |
CN117079172A (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 |