掌桥专利:专业的专利平台
掌桥专利
首页

图像处理方法及相关装置、设备和存储介质

文献发布时间:2023-06-19 19:28:50


图像处理方法及相关装置、设备和存储介质

技术领域

本申请涉及图像处理技术领域,特别是涉及一种图像处理方法及相关装置、设备和存储介质。

背景技术

目前,随着虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)等技术的快速发展,通过利用位姿信息来对三维物体进行渲染,可以获得丰富的视觉体验。

然而,就目前的位姿跟踪而言,因为位姿跟踪算法的精度不高,且计算的噪声较多,使得跟踪得到的位姿并不平滑,这也使得在三维物体在被渲染到屏幕上时发生抖动,严重影响用户体验。

因此,如何减少抖动现象,对于改进用户体验,具有重要的意义。

发明内容

本申请提供一种图像处理方法及相关装置、设备和存储介质。

本申请第一面提供了一种图像处理方法,方法包括获取目标物相对于当前图像帧的初始位姿和目标物相对于第一历史图像帧的历史位姿;基于历史位姿调整初始位姿,得到调整位姿,其中,调整位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量;基于调整位姿,获得目标物相对于当前图像帧的目标位姿;基于目标物相对于当前图像帧的目标位姿,确定目标物在当前图像帧中的显示位置。

因此,通过基于历史位姿调整初始位姿,得到调整位姿,并且设置调整位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量,以此可以减少目标物相对于当前图像帧与历史图像帧之间的位姿变化,故减少目标物在当前图像帧和历史图像帧中的显示位置出现突变的可能性,即使得后续在显示该目标物时,可以减少抖动的现象,改善用户体验。

其中,上述的基于历史位姿调整初始位姿,得到调整位姿,包括:基于初始位姿的第一权重系数和历史位姿的第二权重系数,对历史位姿与初始位姿进行加权处理,得到调整位姿。

因此,通过利用第一权重系数和第二权重系数分别对初始位姿和历史位姿进行加权处理,以此能够得到调整位姿。

其中,上述的第一权重系数与第二权重系数之和为预设数值;和/或,上述的第一权重系数与目标物的位姿变化率为正相关,第二权重系数与位姿变化率为负相关,位姿变化率表示目标物分别相对于至少三帧参考图像帧的位姿的变化快慢,参考图像帧为包括当前图像帧或第二历史图像帧。

因为目标物运动缓慢时,人眼对抖动更加敏感,因此,通过设置第一权重系数与目标物的位姿变化率为正相关,使得目标物运动缓慢时,α较小,以此减小调整位姿与历史位姿的位姿变化量,以此减少抖动现象。另外,因为目标物运动迅速时,人眼对延迟更加敏感,因此通过设置第一权重系数与目标物的位姿变化率为正相关,可以在目标物运动迅速时,调整位姿愈加接近初始位姿,以此可以减少延迟的现象。

其中,上述的基于调整位姿,获得目标物相对于当前图像帧的目标位姿,包括:将调整位姿作为目标物相对于当前图像帧的目标位姿;或者,利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,获得目标物相对于当前图像帧的目标位姿。

因此,通过直接将调整位姿作为目标物相对于当前图像帧的目标位姿,以此在后续利用目标位姿进行显示时,可以减少抖动现象。另外,通过利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,获得目标物相对于当前图像帧的目标位姿,可以在减少抖动现象的同时,也减少延迟的现象。

其中,在利用所述当前图像帧对应的目标补偿位姿对所述调整位姿进行补偿,获得所述目标物相对于所述当前图像帧的目标位姿之前,方法还包括:基于目标物的位姿变化率确定目标补偿位姿,其中,目标补偿位姿与位姿变化率为正相关,位姿变化率表示目标物分别相对于至少两帧参考图像帧的位姿的变化快慢,参考图像帧包括当前图像帧或第二历史图像帧。

因此,通过设置目标补偿位姿与位姿变化率为正相关,以此使得目标物运动迅速时,目标补偿位姿越大,对于减少延迟效果更好。

其中,上述的基于目标物的位姿变化率确定目标补偿位姿,包括:将初始位姿和调整位姿之间的位姿变化作为初始补偿位姿;基于初始补偿位姿与位姿变化率,确定目标补偿位姿。

因此,通过利用初始补偿位姿与位姿变化率,可以使得目标补偿位姿与目标物的位姿变化快慢产生关联关系。

其中,上述的基于初始补偿位姿与位姿变化率,确定目标补偿位姿,包括:基于位姿变化率,确定初始补偿位姿的第三权重系数和第一历史图像帧对应的目标补偿位姿的第四权重系数,其中,第三权重系数与第四权重系数之和为预设数值,第三权重系数与目标物的位姿变化率为正相关;基于第三权重系数和第四权重系数,对初始补偿位姿与第一历史图像帧对应的目标补偿位姿进行加权处理,得到目标补偿位姿。

因此,通过设置第三权重系数与目标物的位姿变化率为正相关,此时,第四权重系数与目标物的位姿变化率为负相关,使得位姿变化较快时,延迟补偿较大,使得目标物快速运动时,能够更加好的减少延迟的现象。

其中,上述的在其中一帧参考图像帧包括当前图像帧的情况下,目标物相对于参考图像帧的位姿包括目标物相对于当前帧图像的初始位姿;在其中一帧参考图像帧包括第二历史图像帧的情况下,目标物相对于参考图像帧的位姿包括目标物相对于第二历史图像帧的目标位姿。

因此,在其中一帧参考图像帧包括当前图像帧的情况下,可以利用目标物相对于当前帧图像的初始位姿,来计算位姿变化率。另外,在其中一帧参考图像帧包括第二历史图像帧的情况下,可以利用目标物相对于第二历史帧图像的目标位姿,来计算位姿变化率。

其中,上述的调整位姿包括旋转分量和平移分量;上述的利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,获得目标物相对于当前图像帧的目标位姿,包括:利用当前图像帧对应的目标补偿位姿对调整位姿的平移分量进行补偿,得到补偿平移分量;基于补偿平移分量和旋转分量获得目标物相对于当前图像帧的目标位姿。

由于对于延迟来讲,平移的影响大于旋转,因此可以对平移分量的处理可以更加注重于降低延迟,因此可以通过利用当前图像帧对应的目标补偿位姿得到补偿平移分量。对于抖动来讲,旋转的影响大于平移,对旋转的处理可以更加注重于消除抖动,因此可以直接利用调整位姿的旋转分量得到目标位姿,以此还能够避免当前图像帧对应的目标补偿位姿包含的少量噪声可能带来的抖动,以进一步提高显示效果。

其中,上述的历史位姿、初始位姿和调整位姿均包括旋转分量,旋转分量为由多个元素组成的矩阵;上述的基于历史位姿调整初始位姿,得到调整位姿,包括:分别基于历史位姿的旋转分量中的各元素,调整初始位姿的旋转分量中的对应元素,得到调整位姿的旋转分量中的对应元素。

因此,通过基于历史位姿的旋转分量中的各元素来调整初始位姿的旋转分量中的对应元素,以此能够得到调整位姿的旋转分量中的对应元素。

其中,上述的历史位姿是目标物相对于第一历史图像帧的目标位姿;和/或,获取目标物相对于当前图像帧的初始位姿,包括:利用位姿跟踪算法对当前图像帧进行处理,获得目标物相对于当前图像帧的初始位姿。

因此,通过利用位姿跟踪算法对当前图像帧进行处理可以获得当前图像帧的初始位姿,后续便可对初始位姿进行优化,以此减少抖动。

其中,上述的目标物为三维物体;和/或上述的基于目标物相对于当前图像帧的目标位姿,确定目标物在当前图像帧中的显示位置,包括:基于目标物相对于当前图像帧的目标位姿确定目标物在所当前图像帧的投影位置,以作为显示位置;和/或,在基于目标物相对于当前图像帧的目标位姿,确定目标物在当前图像帧中的显示位置之后,方法还包括:在当前图像帧中的显示位置显示目标物。

因此,通过基于目标物相对于当前图像帧的目标位姿,可以确定目标物在所当前图像帧的投影位置,使得后续可以在投影位置显示目标物。另外,通过在所前图像帧中的显示位置显示目标物,实现了对目标物的显示。

本申请第二方面提供了一种图像处理装置,图像处理装置包括获取模块、第一确定模块、第二确定模块和第三确定模块,获取模块用于获取目标物相对于当前图像帧的初始位姿和目标物相对于第一历史图像帧的历史位姿;第一确定模块用于基于历史位姿调整初始位姿,得到调整位姿,其中,调整位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量;第二确定模,用于基于调整位姿,获得目标物相对于当前图像帧的目标位姿;第三确定模块用于基于目标物相对于当前图像帧的目标位姿,确定目标物在当前图像帧中的显示位置。

本申请第三方面提供了一种电子设备,包括相互耦接的处理器和存储器,其中,处理器用于执行存储器存储的计算机程序以执行上述第一方面描述的方法。

本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述第一方面描述的方法。

上述方案,通过基于历史位姿调整初始位姿,得到调整位姿,并且设置调整位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量,以此可以减少目标物相对于当前图像帧与历史图像帧之间的位姿变化,故减少目标物在当前图像帧和历史图像帧中的显示位置出现突变的可能性,即使得后续在显示该目标物时,可以减少抖动的现象,改善用户体验。

附图说明

图1是本申请图像处理方法一实施例的流程示意图;

图2是本申请图像处理方法另一实施例的流程示意图;

图3是本申请图像处理方法又一实施例的流程示意图;

图4是本申请图像处理方法的图像处理流程示意图;

图5是本申请图像处理方法实施例的图像传输过程的示意图;

图6是本申请图像处理装置实施例的框架示意图;

图7是本申请电子设备一实施例的框架示意图;

图8为本申请计算机可读存储介质一实施例的框架示意图。

具体实施方式

下面结合说明书附图,对本申请实施例的方案进行详细说明。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。

本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。

本申请中图像处理方法的设备可以是计算机、手机、平板电脑以及智能眼镜等电子设备。

请参阅图1,图1是本申请图像处理方法一实施例的流程示意图。具体而言,可以包括如下步骤:

步骤S11:获取目标物相对于当前图像帧的初始位姿和目标物相对于第一历史图像帧的历史位姿。

在本申请中,目标物相对于图像帧的位姿,目标物相对于当前图像帧的位姿,可以认为是目标物相对于拍摄当前图像帧时的拍摄设备的位姿,也可以简称为图像帧的位姿。目标物例如是三维物体,如是虚拟三维物体,或者是基于现实的三维物体进行进一步渲染的的三位物体。

在一个实施方式中,可以利用位姿跟踪算法对当前图像帧进行处理,获得目标物相对于当前图像帧的初始位姿。位姿跟踪算法可以是本领域通用的跟踪算法,例如是基于边缘检测的三维跟踪算法。通过利用位姿跟踪算法对当前图像帧进行处理可以获得当前图像帧的初始位姿,后续便可对初始位姿进行优化,以此减少抖动。

步骤S12:基于历史位姿调整初始位姿,得到调整位姿。

历史位姿可以是基于当前图像帧之前的图像帧得到的位姿信息,例如是基于当前图像帧的前一帧图像帧得到的历史位姿。在本申请中,调整位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量。

在一个实施方式中,可以先确定初始位姿与历史位姿间的位姿变化量,然后将初始位姿与历史位姿间的位姿变化量进行缩小,以此得到调整位姿与历史位姿间的位姿变化量,最后基于调整位姿与历史位姿间的位姿变化量和历史位姿得到调整位姿。在另一个实施方式,也可以是为初始位姿和历史位姿分别设置相关的权重系数,以此使得调整位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量。

在一个具体实施方式中,位姿变化量可以是位姿中的平移分量的变化量或者是旋转分量,或者是基于平移分量和旋转分量进行综合后得到的位姿变化量。

步骤S13:基于调整位姿,获得目标物相对于当前图像帧的目标位姿。

在一个具体实施方式中,目标位姿可以直接是调整位姿。

在一个具体实施方式中,还可以对调整位姿进行进一步的优化,以此得到目标位姿。在对调整位姿进行进一步的优化,可以设置目标位姿小于初始位姿,也即目标位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量。

在一个实施方式中,上述的基于历史位姿调整初始位姿,得到调整位姿以及基于调整位姿,获得目标物相对于当前图像帧的目标位姿,可以是利用软件滤波器进行处理的。

步骤S14:基于目标物相对于当前图像帧的目标位姿,确定目标物在当前图像帧中的显示位置。

在确定目标物相对于当前图像帧的目标位姿后,便可通过投影等本领域通用的方式确定目标物在当前图像帧中的显示位置。后续还可以在显示位置对三维物体进行显示。

在一个具体实施方式中,上述的历史位姿是目标物相对于第一历史图像帧的目标位姿。也即,历史位姿可以是经过调整后的位姿,而不是利用位姿跟踪算法直接得到的位姿。以此使得在确定当前图像帧的目标位姿时,目标位姿也是基于历史图像帧的目标位姿得到的,以此进一步减少不同图像帧之间的位姿变化量,改善三维物体的抖动的现象。

因此,通过基于历史位姿调整初始位姿,得到调整位姿,并且设置调整位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量,以此可以减少目标物相对于当前图像帧与历史图像帧之间的位姿变化,故减少目标物在当前图像帧和历史图像帧中的显示位置出现突变的可能性,即使得后续在显示该目标物时,可以减少抖动的现象,改善用户体验。

在一个实施例中,上述步骤提及的“于历史位姿调整初始位姿,得到调整位姿”具体包括:基于初始位姿的第一权重系数和历史位姿的第二权重系数,对历史位姿与初始位姿进行加权处理,得到调整位姿。

在一个具体实施方式中,第一权重系数与第二权重系数之和为预设数值,预设数值例如是1。

在一个具体实施方式中,可以通过以下公式(1)得到调整位姿。

其中,

因此,通过利用第一权重系数和第二权重系数分别对初始位姿和历史位姿进行加权处理,以此能够得到调整位姿。

在一个实施方式中,第一权重系数与目标物的位姿变化率为正相关,第二权重系数与位姿变化率为负相关。位姿变化率表示目标物分别相对于至少三帧参考图像帧的位姿的变化快慢。参考图像帧的位姿,可以是参考图像帧的初始位姿或者目标位姿。参考图像帧包括当前图像帧时,参考图像帧的位姿可以是初始位姿,参考图像帧为历史图像帧时,参考图像帧的位姿可以是目标位姿。目标物分别相对于至少三帧参考图像帧的位姿的变化,可以确定两个位姿变化量,例如基于第一参考图像帧P

在一个具体实施方式中,对公式(1)进行变换,可以得到等价的公式(2)如下:

因为目标物运动缓慢时,由于人眼对抖动更加敏感。因此,通过设置第一权重系数与目标物的位姿变化率为正相关,使得目标物运动缓慢时,α较小,以此减小调整位姿与历史位姿的位姿变化量,以此减少抖动现象。另外,因为目标物运动迅速时,人眼对延迟更加敏感,因此通过设置第一权重系数与目标物的位姿变化率为正相关,可以在目标物运动迅速时,调整位姿愈加接近初始位姿,以此可以减少延迟的现象。

在一个具体实施方式中,在其中一帧参考图像帧包括当前图像帧的情况下,目标物相对于参考图像帧的位姿包括目标物相对于当前帧图像的初始位姿。此时,目标物相对于其他的参考图像帧的位姿也可以初始位姿,即是通过位姿跟踪算法得到的。因此,可以利用目标物相对于当前帧图像的初始位姿,来计算位姿变化率。

在一个具体实施方式中,在其中一帧参考图像帧为第二历史图像帧的情况下,目标物相对于参考图像帧的位姿包括目标物相对于第二历史图像帧的目标位姿。第二历史图像帧可以包括第一历史图像帧。在另一个具体实施方式中,在参考图像帧不包括当前图像帧的情况下,全部参考图像帧均为第二历史图像帧,此时可以目标物相对于第二历史图像帧的目标位姿来计算位姿变化率。因此,可以利用目标物相对于第二历史帧图像的目标位姿,来计算位姿变化率。

在一个实施例中,上述步骤提及的“基于调整位姿,获得目标物相对于当前图像帧的目标位姿”具体包括步骤S131或者是步骤S132。

步骤S131:将调整位姿作为目标物相对于当前图像帧的目标位姿。

在本步骤中,可以直接将调整位姿作为目标物相对于当前图像帧的目标位姿,以此在后续利用目标位姿进行显示时,可以减少抖动现象。

步骤S132:利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,获得目标物相对于当前图像帧的目标位姿。

在本步骤中,因为调整位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量,此时会出现延迟的现象,因此可以利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,以此获得目标物相对于当前图像帧的目标位姿。目标补偿位姿可以是预先确定的,也可以是通过软件滤波器得到的。可以理解的,目标补偿位姿的获得方式不受限制。

因此,通过利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,获得目标物相对于当前图像帧的目标位姿,可以在减少抖动现象的同时,减少延迟的现象。

在一个实施方式中,在“利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,获得目标物相对于当前图像帧的目标位姿”之前,还可以执行:基于目标物的位姿变化率确定目标补偿位姿。并且,设置目标补偿位姿与位姿变化率为正相关。以此,使得目标物运动迅速时,目标补偿位姿越大,对于减少延迟效果更好。

请参阅图2,图2是本申请图像处理方法另一实施例的流程示意图。在本实施例中,上述步骤提及的“基于目标物的位姿变化率确定目标补偿位姿”具体包括步骤S21和步骤S22。

步骤S21:将初始位姿和调整位姿之间的位姿变化作为初始补偿位姿。

由于初始位姿和调整位姿之间的位姿变化可以认为是真实的延迟,因此可以将初始位姿和调整位姿之间的位姿变化作为初始补偿位姿,方便后续确定目标补偿位姿。

步骤S22:基于初始补偿位姿与位姿变化率,确定目标补偿位姿。

在一个具体实施方式中,可以通过以下公式(3)得到目标补偿位姿。

其中,

通过利用初始补偿位姿与位姿变化率,可以使得目标补偿位姿与目标物的位姿变化快慢产生关联关系。

在一个实施方式中,上述步骤提及的“基于初始补偿位姿与位姿变化率,确定目标补偿位姿”具体包括步骤S221和步骤S222。

步骤S221:基于位姿变化率,确定初始补偿位姿的第三权重系数和第一历史图像帧对应的目标补偿位姿的第四权重系数。

在本实施方式中,可以为初始补偿位姿设置第三权重系数以及为第一历史图像帧对应的目标补偿位姿设置第四权重系数。并且,第三权重系数与第四权重系数之和为预设数值,预设数值例如是1,还可以设置第三权重系数与目标物的位姿变化率为正相关,此时,第四权重系数与目标物的位姿变化率为负相关。通过上述设置方式,可以使得当前图像帧对应的目标补偿位姿能够与位姿变化率产生关联关系。

步骤S222:基于第三权重系数和第四权重系数,对初始补偿位姿与第一历史图像帧对应的目标补偿位姿进行加权处理,得到目标补偿位姿。

在一个具体实施方式中,可以通过以下公式(4)得到目标补偿位姿。

其中,

因此,通过第三权重系数与目标物的位姿变化率为正相关,此时,第四权重系数与目标物的位姿变化率为负相关,使得位姿变化较快时,延迟补偿较大,使得目标物快速运动时,能够更加好的减少延迟的现象。

在一个实施例中,上述实施例提及的权重系数α(第一权重系数或第三权重系数)可以通过以下公式(5)至公式(7)得到。

其中,τ为信号变化幅度;T

通过上述公式(5)至公式(7),可以确定权重系数α与位姿变化率正相关,位姿变化率越快(越大),τ越小,α越大;反之,位姿变化率越慢(越小),τ越大,α越小。

请参阅图3,图3是本申请图像处理方法又一实施例的流程示意图。在本实施例中,上述实施例提及的调整位姿包括旋转分量和平移分量。上述步骤提及的“利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,获得目标物相对于当前图像帧的目标位姿”包括:步骤S31和步骤S32。

步骤S31:利用当前图像帧对应的目标补偿位姿对调整位姿的平移分量进行补偿,得到补偿平移分量。

在本实施例中,当前图像帧对应的目标补偿位姿,可以是对调整位姿的平移分量进行补偿的位姿分量。具体可以是将初始位姿的平移分量和调整位姿的平移分量之间的平移分量位姿变化作为初始平移分量补偿位姿,然后基于初始平移分量补偿位姿与位姿变化率,确定目标补偿位姿。此时,位姿变化率可以是平移分量的位姿变化率。

步骤S32:基于补偿平移分量和旋转分量获得目标物相对于当前图像帧的目标位姿。

在得到补偿平移分量,便可以将补偿平移分量和旋转分量作为目标位姿的平移分量和旋转分量,以此获得目标物相对于当前图像帧的目标位姿。

由于对于延迟来讲,平移的影响大于旋转,因此可以对平移分量的处理可以更加注重于降低延迟,因此可以通过利用当前图像帧对应的目标补偿位姿得到补偿平移分量。对于抖动来讲,旋转的影响大于平移,对旋转的处理可以更加注重于消除抖动,因此可以直接利用调整位姿的旋转分量得到目标位姿,以此还能够避免当前图像帧对应的目标补偿位姿包含的少量噪声可能带来的抖动,以进一步提高显示效果。

在一个实施例中,上述实施例提及的历史位姿、初始位姿和调整位姿均包括旋转分量。上述步骤提及的“基于历史位姿调整初始位姿,得到调整位姿”具体包括:分别基于历史位姿的旋转分量中的各元素,调整初始位姿的旋转分量中的对应元素,得到调整位姿的旋转分量中的对应元素。

历史位姿的旋转分量或者是初始位姿的旋转分量中的元素,对应于旋转分量的表达不同,也对应不同;对于旋转分量用旋转矩阵表示时,元素即为旋转矩阵的各个元素;对于旋转分量用四元数表示时,元素即为四元数中每个数(a、bi、cj和dk)。具体的调整方法可以参阅上述实施例步骤的相关描述,此处不再赘述。

在一个具体实施方式中,旋转分量用旋转矩阵表示,调整的过程可以如下表示:

其中,r11、r12、r13、r21、r22、r23、r31、r32和r33分别为旋转矩阵的各个元素,F表示对元素进行调整,F(R)为调整位姿的旋转分量中的对应元素。

因此,通过基于历史位姿的旋转分量中的各元素来调整初始位姿的旋转分量中的对应元素,以此能够得到调整位姿的旋转分量中的对应元素。

在一个实施例中,上述实施例提及的步骤“基于目标物相对于当前图像帧的目标位姿,确定目标物在当前图像帧中的显示位置”具体包括:基于目标物相对于当前图像帧的目标位姿确定目标物在所当前图像帧的投影位置,以作为显示位置。在确定目标物相对于当前图像帧的目标位姿以后,可以利用本领域通用的投影方法,来对目标物在所当前图像帧进行投影,以此确定目标物在所当前图像帧的投影位置,例如可以通过Open GraphicsLibrary(OpenGL)对目标物进行投影,以此得到投影位置,并将投影位置作为显示位置。因此,通过基于目标物相对于当前图像帧的目标位姿,可以确定目标物在所当前图像帧的投影位置,使得后续可以在投影位置显示目标物。

在一个实施例中,在步骤“基于目标物相对于当前图像帧的目标位姿,确定目标物在当前图像帧中的显示位置”之后,还可以继续执行:在当前图像帧中的显示位置显示目标物。在当前图像帧中的显示位置显示目标物可以是本领域通用的渲染方法,例如是利用OpenGL对目标物进行渲染,此处不再赘述。因此,通过在当前图像帧中的显示位置显示目标物,实现了对目标物的显示。

请参阅图4,图4是本申请图像处理方法的图像处理流程示意图。在本实施例中,三维物体与图像帧之间的相对位姿简称为图像帧的位姿。在本实施例中,三维物体43的原始位姿为P

当前图像帧41经过跟踪器44利用位姿跟踪算法计算后,得到当前图像帧41的初始位姿P

在本实施例中,跟踪器44的输入位姿是上一图像帧利用跟踪器44得到的初始位姿。对三维物体43进行渲染时,利用图像帧对应的目标位姿进行渲染。以此,可以实现跟踪和显示分离,减少二者混用可能带来的误差,提高显示效果。

在一个实施例中,在利用位姿跟踪算法获取当前图像帧的初始位姿时,具体可以包括步骤S51至步骤S53。

步骤S51:通过第一处理器为目标物生成与当前图像帧对应的原始参考图,并从原始参考图中提取第一目标区域的像素数据。

当前图像帧例如是通过执行主体的图像获取装置如摄像头等获得,或者是其他设备获取当前图像帧后,将当前图像帧传输给执行主体。本申请不对获取当前帧方式做出具体限定。

第一处理器可以是具有图像数据功能处理,例如是图形处理器(Graphicsprocessing unit,GPU)、中央处理器(central processing unit,CPU)或者是网络处理器(Neural-network Processing Unit,NPU)等处理器。

通过第一处理器为目标物生成与当前图像帧对应的原始参考图,具体可以是对目标物进行渲染,例如是在开放图形库(Open Graphics Library,OpenGL)中对目标物进行渲染,以此为目标物生成与当前图像帧对应的原始参考图。目标物例如是虚拟三维物体。在一个具体实施方式中,原始参考图包括原始深度图。在另一个具体实施方式中,原始参考图可以包括原始深度图和原始掩模图。在其他的实施方式中,原始参考图还可以是其他类型的图像,例如是经由特征提取网络提取的特征图等等。

得到原始参考图以后,可以从原始参考图中提取第一目标区域的像素数据,并且第一目标区域包含目标物投影至当前图像帧的第一投影区域。也即,第一目标区域的范围不小于目标物投影至当前图像帧的范围。在本实施例中,将原始参考图中的像素点称为第一像素点,当前图像帧的像素点称为第二像素点,该第一像素点与第二像素点具有对应关系,例如是一一对应,原始参考图与当前图像帧的大小相同,相同像素坐标的第一像素点和第二像素点具有对应关系。原始参考图中各第一像素点的像素值表示当前图像帧中与第一像素点对应的第二像素点与目标物之间的位置相关信息。在一个具体实施方式中,原始参考图中各第一像素点的像素值例如是深度信息,此时原始深度图中对应第一投影区域的各第一像素点的像素值表示目标物的对应投影点与当前图像帧的拍摄装置(例如摄像头)的距离。第一投影区域以外的深度值则可以为0。在一个具体实施方式中,像素数据还包括像素点的像素坐标,以及像素点的位置信息,例如像素点为顶点,像素点为左上顶点,右下顶点等等。

步骤S52:将第一目标区域的像素数据从第一处理器传输至第二处理器。

第二处理器例如GPU、CPU或者是NPU等等。在一个具体实施例中,第一处理器为GPU,第二处理器为CPU。不同处理器之间的数据传输方法,可以是计算机领域通用的传输方法,此处不再赘述。

步骤S53:通过第二处理器基于第一目标区域的像素数据生成与当前图像帧对应的目标参考图,并基于所述目标参考图确定当前图像帧的初始位姿。

原始参考图的第一像素点与目标参考图的第三像素点具有对应的关系,例如原始参考图与目标参考图的大小相同,相同像素坐标的像素点互相对应。

第二处理器在接收到第一目标区域的像素数据以后,即可以利用第一目标区域的像素数据生成与当前图像帧对应的目标参考图。例如是利用第一目标区域的像素数据中每个像素点的像素坐标和像素值,以此得到与当前图像帧对应的目标参考图。

第二处理器在接收到第一目标区域的像素数据以后,表明第二处理器已经获取了关于目标物的相关数据,因此在本实例中,目标参考图能够用于确定目标物与当前图像帧之间的相对位姿。目标物与当前图像帧之间的相对位姿,也即目标物相对于当前图像帧的位姿,可以理解为目标物与拍摄当前图像帧时的拍摄装置之间的相对位姿。

目标参考图例如是关于目标物的目标深度图、目标掩码图,则可以利用目标深度图、目标掩码图来获取目标物与当前图像帧之间的相对位姿。目标参考图和原始参考图的大小可以相等。

因此,通过限定仅将目标区域的像素数据从第一处理器传输至第二处理器,而不是将整个原始参考图传输至第二处理器,以此可以降低需要传输的数据量,提高了数据传输的速度,使得第二处理器能够更加快速的获得目标参考图,以此提高了第二处理器整体的图像数据的处理速度。

在一个实施例中,上述步骤“基于第一目标区域的像素数据生成与当前图像帧对应的目标参考图”,包括步骤S531和步骤S532。

步骤S531:确定第一目标区域在原始参考图的目标位置。

在一个实施方式中,当第一目标区域是规则的图形时,可以是确定第一目标区域的各个顶点的像素坐标,然后确定各个顶点围成的区域内的像素点的像素坐标,以此确定第一目标区域在原始参考图的目标位置。在一个具体实施方式中,当第一目标区域是矩形时,还可以确定第一目标区域左顶点的像素坐标,然后基于第一目标区域宽和高确定第一目标区域的四个顶点的像素坐标,以此确定第一目标区域在原始参考图的目标位置

在一个具体实施方式中,确定第一目标区域在原始参考图的目标位置,具体可以确定第一目标区域内的每一个第一像素点的像素坐标,以此确定第一目标区域在原始参考图的目标位置。

在一个具体实施方式中,可以是确定第一目标区域的边缘第一像素点在原始参考图的目标位置,然后可以确定全部边缘第一像素点围成的区域内的第一像素点的像素坐标,以此第一目标区域在原始参考图的目标位置。

在一个具体实施方式中,第一目标区域为矩形,矩形的宽度为w,高度为h,第一目标区域的左上顶点像素点在原始参考图的坐标为(u,v),原始参考图的宽为c,高为r,位于(x,y)处的像素点为表示为p(x,y)。目标位置可以表示为R(u,v,w,h)。

在一个具体实施方式中,可以通过以下公式(1)确定第一目标区域在原始参考图的目标位置。

其中,n=(x

第一目标区域内的各像素点可以表示为:

p

并且x

x

y

x

y

其中,x

在一个实施方式中,步骤S531具体包括步骤S5311和步骤S5312。

步骤S5311:基于像素数据中各像素值的序号,确定各像素值对应的第一像素点的第一位置。

在本实施例中,像素数据包含若干不同序号的像素值,每个序号的像素值表示第一目标区域中一第一像素点的像素值,并且,序号是基于对应的第一像素点在原始参考图中的第一位置确定的。例如,序号可以是第一像素点在第一目标区域内的排列顺序,从第一目标区域的第一行左边第一个的第一像素点开始,其序号为1,左边第二个的第一像素点的序号为2,以此类推。在确定完第一行的第一像素点的序号后,也是从第二行的左边第一个第一像素点继续确定序号,例如,第一行最右边的第一像素点的序号为50,则第二行的左边第一个第一像素点的序号为51。或者是,第一行的第一个第一像素点从左边开始算起,其序号为11,第一行的第二个第一像素点的序号为12,第二行的第一个第一像素点的序号为21,第二行的第二个第一像素点的序号为22,并以此类推。

以此,便可以根据第一目标区域左上顶点的坐标,依据像素数据中各像素值的序号,确定像素值对应的第一像素点的第一位置,即每一个第一像素点的像素坐标。也即,通过确定排序的方式,可以对应确定像素值对应的第一像素点的第一位置。

例如,第一目标区域为矩形,矩形的宽度为w,高度为h,第一目标区域的左上顶点像素点在原始参考图的坐标为(u,v),原始参考图的宽为c,高为r。x

步骤S5312:基于第一位置,得到目标位置。

可以理解的,在确定每一个第一像素点的第一位置以后,便可相应确定由确定第一位置的第一像素点组成的第一目标区域在原始参考图的目标位置。具体确定目标位置的方法,可以参阅上述步骤S131,此处不再赘述。

步骤S532:基于像素数据,确定目标参考图位于目标位置的第二目标区域中的第三像素点的像素值。

在本实施例中,目标参考图与原始参考图的像素点具有对应的关系,且将目标参考图中的像素点称为第三像素点。因此,在确定第一目标区域在原始参考图的目标位置,也可以相应地在目标参考图确定目标位置对应的第二目标区域,具体可以是根据第一目标区域的第一像素点在原始参考图的像素坐标,在目标参考图中确定对应的第三像素点组成的区域为第二目标区域。例如,第一目标区域的某一像素点在原始参考图的像素坐标为(50,50),则可以依据该像素坐标,在目标参考图中的确定像素坐标为(50,50)的像素点为对应的第三像素点。

确定第一目标区域和第二目标区域的像素点的对应关系以后,能够第一目标区域的像素数据,对应确定目标参考图位于目标位置的第二目标区域中的第三像素点的像素值。例如是将第二目标区域中具有对应关系的第三像素点均设置为与第一目标区域的第一像素点的像素值相同。

因此,通过确定第一目标区域在原始参考图的目标位置,并且确定目标参考图位于目标位置的第二目标区域中的第三像素点的像素值,以此实现了目标物投影至当前图像帧的第一投影区域的图像数据在第一处理器和第二处理器之间的传输。

在一个具体实施方式中,响应于目标参考图包括目标深度图,可以将目标深度图位于目标位置以外的第三像素点的像素值设为预设深度值。预设深度值例如是0。可以理解的,因为目标位置以外的第三像素点与目标物没有关联,因此可以直接将目标深度图位于目标位置以外的第三像素点的像素值设为预设深度值,以此能够得到完整的目标深度图。

在一个具体实施方式中,响应于目标参考图包括目标掩码图,可以将目标掩码图位于目标位置的第三像素点的像素值设置为第一像素值,将目标掩码图位于目标位置以外的第三像素点的像素值设为第二像素值,第二像素值表示第三像素点不属于目标物的投影点,第二像素值例如是0。对于目标掩码图而言,目标位置以外的第三像素点均与与目标物没有关联,因此可以直接将目标掩码图位于目标位置以外的第三像素点的像素值设为第二像素值,并且用第二像素值表示第三像素点不属于目标物的投影点,以此便能将相应确定像素值不为第二像素值的第三像素点是属于目标物的投影点。

在一个实施例中,在执行上述的步骤“从原始参考图中提取第一目标区域的像素数据”之前,还可以执行步骤S61和步骤S62。

步骤S61:为目标物体生成包围目标物的包围框。

在一个具体实施方式中,包围框包围的空间区域大于目标物占据的区域,包围框例如是正方体、长方体等规则的形状。具体的,例如是在OpenGL为目标物生成包围目标物的包围框。在另一个具体实施方式中,包围框可以是直接是目标物的轮廓。

步骤S62:将包围框投影至当前图像帧的第二投影区域作为第一目标区域。

因为包围框能够包围目标物,因此将包围框投影至当前图像帧的第二投影区域,也必然包含投影至当前图像帧的,因此可以将第二投影区域作为第一目标区域。

因此,通过为目标物体生成包围目标物的包围框,以此在将第二投影区域作为第一目标区域时,可以确定第二投影区域包含第一投影区域。当包围框是规则的形状时,则第二投影区域也是规则的形状,以此可以通过确定第二投影区域各个顶点的像素坐标,即可确定第二投影区域,以此能够快速确定第二投影区域。

在一个实施例中,上述提及的步骤“基于像素数据,确定目标参考图位于目标位置的第二目标区域中的第三像素点的像素值”具体包括步骤S71至步骤S73。

在本实施例中,原始参考图包括原始深度图,像素数据包括从原始深度图提取第一目标区域的像素值得到的第一像素数据。原始深度图中对应第一投影区域的各第一像素点的像素值表示目标物的对应投影点与当前图像帧的拍摄装置的距离。当第一目标区域大于第一投影区域时,第一目标区域中除第一投影区域以外的区域的第一像素点的像素值可以为预设深度值。在本实施例中,目标参考图包括目标深度图。

步骤S71:从第一像素数据中获取第一目标区域中各第一像素点的像素值,以分别作为目标深度图位于目标位置的第二目标区域中与第一像素点对应的第三像素点的像素值。

第一目标区域中各第一像素点与位于目标位置的第二目标区域中的第三像素点可以是具有对应关系的,例如是位置相同。例如,第一目标区域中各第一像素点的像素坐标与第二目标区域对应的第三像素点的像素坐标均相同。以此,通过从第一像素数据中获取第一目标区域中各第一像素点的像素值,便可将第一目标区域中各第一像素点的像素值分别作为位于目标位置的第二目标区域中的第三像素点的像素值。例如,第一目标区域的一第一像素点的坐标为(50,50),像素值为A,则可以确定目标位置也为(50,50),进而确定目标位置的像素值也为A。在一个具体实施方式中,还可以将第二目标区域以外的第三像素点的像素值的设置为预设深度值。以此,通过将第一目标区域中各像素点的像素值分别作为目标深度图位于目标位置的第二目标区域中对应像素点的像素值,以此可以实现通过第二处理器实现目标深度图的重建,进而实现了深度图在第一处理器和第二处理器之间的传输。

在一个具体实施方式中,可以建立大小与原始深度图相同的目标深度图,然后将目标深度图的每个第三像素点的像素值都设置为预设深度值,例如是0。此时,设第一目标区域中各第一像素点的像素值为

在一个实施方式中,目标参考图还包括目标掩码图,且原始参考图不包含原始掩码图。上述提及的步骤“基于像素数据,确定目标参考图位于目标位置的第二目标区域中的第三像素点的像素值”还包括步骤S72和步骤S73。

步骤S72:确定目标深度图中第一投影区域的第二位置。

确定目标深度图中第一投影区域的第二位置,可以是基于第一投影区域的第三像素点的像素数据确定。例如,第一投影区域的第三像素点的像素数据包括像素坐标,以此便可基于第一投影区域的第三像素点的像素数据包括像素坐标,相应确定目标深度图中第一投影区域的第二位置。

在一个具体实施方式中,上述提及的步骤“确定目标深度图中第一投影区域的第二位置”具体包括步骤S721和步骤S722。

步骤S721:从目标深度图中查找出像素值不为预设深度值的第三像素点。

步骤S722:基于查找出的第三像素点在目标深度图中的位置,确定第二位置。

在原始深度图中,目标物的第一投影区域以外的区域均可以认为没有深度值,因此第一投影区域以外的区域的第一像素点的深度值均可以设置为预设深度值。因此,可以从目标深度图中查找出像素值不为预设深度值的第三像素点,然后相应确定查找出的第三像素点在目标深度图中的位置,进而,基于查找出的第三像素点在目标深度图中的位置,确定整个目标深度图中第一投影区域的第二位置。因此,通过从目标深度图中查找出像素值不为预设深度值的第三像素点,可以确定目标深度图中第一投影区域的第二位置。

步骤S73:确定目标掩码图中位于第二位置的区域为第一投影区域,将目标掩码图的第一投影区域中的第三像素点的像素值设为第一像素值。

目标掩码图和目标深度图的像素点具有对应的关系,例如目标掩码图和目标深度图均为相同大小的图像。此时,可以基于目标深度图中第一投影区域的第二位置,确定目标掩码图中位于第二位置的区域。然后可以将目标掩码图的第一投影区域中的第三像素点的像素值设为第一像素值,第一像素值表示与第三像素点对应的第二像素点属于目标物的投影点,第一像素值例如是1,目标掩码图的第一投影区域以外的区域的第三像素点的像素值可以设置为第二像素值,第二像素值例如为0,以此可以得到目标掩码图。

在一个具体实施方式中,目标深度图的第二目标区域中对应于第一投影区域的区域深度值不为预设深度值(预设深度值例如为0)。此时,可以依据以下公式(2)将目标掩码图的第一投影区域中的像素点的像素值设为第一像素值,第一像素值例如为1。

其中,D

因此,通过将目标掩码图的第一投影区域中的第三像素点的像素值设为第一像素值,并将第一像素值设置为表示与第三像素点对应的第二像素点属于目标物的投影点,实现通过第二处理器实现目标掩码图的重建,进而实现了掩码图在第一处理器和第二处理器之间的传输。

在一个实施例中,目标参考图还包括目标掩码图,原始参考图包含原始掩码图。上述的像素数据还包括从原始掩码图提取第一目标区域的像素值得到的第二像素数据。在此情况下,上述提及的步骤“基于像素数据,确定目标参考图位于目标位置的第二目标区域中的第三像素点的像素值”还可以包括:从第二像素数据中获取第一目标区域中各第一像素点的像素值,以分别作为目标掩码图位于目标位置的第二目标区域中与第一像素点对应的第三像素点的像素值。

在本实施例中,原始掩码图中的第一目标区域的第一投影区域的第一像素点的像素值可以是为第一像素值,第一投影区域以外的第一像素点的像素值可以设置为第二像素值,第二像素值例如为0。此时,通过从第二像素数据中获取第一目标区域中各第一像素点的像素值,并分别作为目标掩码图位于目标位置的第二目标区域中与第一像素点对应的第三像素点的像素值,实现了目标位置的像素点的数据传输,且因为第一目标区域包含第一投影区域,因此也实现了第一投影区域的像素点的数据传输,以此实现了掩码图的重建。

以下结合附图示例性说明本申请的图像数据处理方法。

参阅图5,图5是本申请图像数据处理方法实施例的图像传输过程的示意图。在本实施例中,第一处理器为GPU,第二处理器为CPU。目标物501存在对应的包围框502。通过利用渲染模块509进行渲染,渲染模块例如是OpenGL,可以得到原始深度图(depth)503和原始掩模图(mask)504。原始深度图503中的框505即为对包围框502进行投影得到的第一目标区域,框505内的区域506即为对目标物投影得到的第一投影区域。通过将第一目标区域的像素数据从GPU传输至CPU。CPU便可基于第一目标区域的像素数据得到目标深度图507,然后基于目标深度图507得到目标掩码图508,以此实现了深度图和掩码图在GPU和CPU之间的数据传输。

在一个实施例中,在步骤“通过第二处理器基于第一目标区域的像素数据生成与当前图像帧对应的目标参考图”之后,还可以继续执行以下步骤S81和步骤S82的至少一个步骤。

步骤S81:通过第二处理器基于目标参考图确定目标物与当前图像帧之间的相对位姿。

目标物与当前图像帧之间的相对位姿,可以理解为目标物与拍摄当前图像帧时的拍摄装置之间的相对位姿。

对于目标参考图包括目标深度图,可以利用目标参考图中的第一投影区域的第三像素点的像素坐标,结合投影矩阵和深度值,得到第一投影区域的与第三像素点对应的第二像素点对应的三维点的三维坐标,然后利用三维点的三维坐标来确定目标物与当前图像帧之间的相对位姿。具体的位姿计算方法可以是本领域的计算方法,此处不再赘述。

对于目标参考图还包括目标掩码图,则可以利用目标掩码图来获得目标物的轮廓,然后利用本领域中通用的位姿计算方法求解目标物与当前图像帧之间的相对位姿。

步骤S82:通过第二处理器基于目标物与当前图像帧之间的相对位姿对当前图像帧进行渲染,以将目标物显示在当前图像帧的第一投影区域上。

在确定目标物与拍摄装置之间的相对位姿后,基于目标物与当前图像帧之间的相对位姿对当前图像帧进行渲染,将目标物显示在当前图像帧的第一投影区域上。渲染方法可以是本领域通用的渲染方法,此处不再赘述。

因此,通过得到目标参考图,后续可以利用目标参考图确定目标物与当前图像帧之间的相对位姿。另外,通过确定目标物与当前图像帧之间的相对位姿,后续可以利用目标物与当前图像帧之间的相对位姿对目标物进行渲染,使得目标物显示在当前图像帧的第一投影区域上。

参阅图6,图6是本申请图像处理装置实施例的框架示意图。图像处理装置60包括获取模块61、第一确定模块62、第二确定模块63和第三确定模块64。获取模块61用于获取目标物相对于当前图像帧的初始位姿和目标物相对于第一历史图像帧的历史位姿;第一确定模块62用于基于历史位姿调整初始位姿,得到调整位姿,其中,调整位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量;第二确定模块63用于基于调整位姿,获得目标物相对于当前图像帧的目标位姿;第三确定模块64用于基于目标物相对于当前图像帧的目标位姿,确定目标物在当前图像帧中的显示位置。

其中,上述的第一确定模块62用于基于历史位姿调整初始位姿,得到调整位姿,包括:基于初始位姿的第一权重系数和历史位姿的第二权重系数,对历史位姿与初始位姿进行加权处理,得到调整位姿。

其中,上述的述第一权重系数与第二权重系数之和为预设数值;上述的第一权重系数与目标物的位姿变化率为正相关,第二权重系数与位姿变化率为负相关,位姿变化率表示目标物分别相对于至少三帧参考图像帧的位姿的变化快慢,参考图像帧包括当前图像帧或第二历史图像帧。

其中,上述的第二确定模块63用于基于调整位姿,获得目标物相对于当前图像帧的目标位姿,包括:将调整位姿作为目标物相对于当前图像帧的目标位姿;或者,利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,获得目标物相对于当前图像帧的目标位姿。

其中,在第二确定模块63用于利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,获得目标物相对于当前图像帧的目标位姿之前,图像处理装置60的目标补偿位姿确定模块用于基于目标物的位姿变化率确定目标补偿位姿,其中,目标补偿位姿与位姿变化率为正相关,位姿变化率表示目标物分别相对于至少两帧参考图像帧的位姿的变化快慢,参考图像帧包括当前图像帧或第二历史图像帧。

其中,上述的目标补偿位姿确定模块用于基于目标物的位姿变化率确定目标补偿位姿,包括:将初始位姿和调整位姿之间的位姿变化作为初始补偿位姿;基于初始补偿位姿与位姿变化率,确定目标补偿位姿。

其中,上述的目标补偿位姿确定模块用于基于初始补偿位姿与位姿变化率,确定目标补偿位姿,包括:基于位姿变化率,确定初始补偿位姿的第三权重系数和第一历史图像帧对应的目标补偿位姿的第四权重系数,其中,第三权重系数与第四权重系数之和为预设数值,第三权重系数与目标物的位姿变化率为正相关;基于第三权重系数和第四权重系数,对初始补偿位姿与第一历史图像帧对应的目标补偿位姿进行加权处理,得到目标补偿位姿。

其中,在其中一帧参考图像帧包括当前图像帧的情况下,目标物相对于参考图像帧的位姿包括目标物相对于当前帧图像的初始位姿;在其中一帧参考图像帧为第二历史图像帧的情况下,目标物相对于参考图像帧的位姿包括目标物相对于第二历史图像帧的目标位姿。

其中,上述的整位姿包括旋转分量和平移分量;上述的第二确定模块63用于利用当前图像帧对应的目标补偿位姿对调整位姿进行补偿,获得目标物相对于当前图像帧的目标位姿,包括:利用当前图像帧对应的目标补偿位姿对调整位姿的平移分量进行补偿,得到补偿平移分量;基于补偿平移分量和旋转分量获得目标物相对于当前图像帧的目标位姿。

其中,上述的历史位姿、初始位姿和调整位姿均包括旋转分量,旋转分量为由多个元素组成的矩阵;上述的第一确定模块62用于基于历史位姿调整初始位姿,得到调整位姿,包括:分别基于历史位姿的旋转分量中的各元素,调整初始位姿的旋转分量中的对应元素,得到调整位姿的旋转分量中的对应元素。

其中,上述的历史位姿是目标物相对于第一历史图像帧的目标位姿;上述的获取模块61用于获取目标物相对于当前图像帧的初始位姿,包括:利用位姿跟踪算法对当前图像帧进行处理,获得目标物相对于当前图像帧的初始位姿。

其中,上述的目标物为三维物体;和/或,上述的第三确定模块64用于基于目标物相对于当前图像帧的目标位姿,确定目标物在当前图像帧中的显示位置,包括:基于目标物相对于当前图像帧的目标位姿确定目标物在所当前图像帧的投影位置,以作为显示位置;在第三确定模块64用于基于目标物相对于当前图像帧的目标位姿,确定目标物在当前图像帧中的显示位置之后,图像处理装置60的显示模块还用于在当前图像帧中的显示位置显示目标物。

请参阅图7,图7是本申请电子设备一实施例的框架示意图。电子设备70包括相互耦接的存储器701和处理器702,处理器702用于执行存储器701中存储的程序指令,以实现上述任一图像处理方法实施例的步骤。在一个具体的实施场景中,电子设备70可以包括但不限于:微型计算机、服务器,此外,电子设备70还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。

具体而言,处理器702用于控制其自身以及存储器701以实现上述任一图像处理方法实施例的步骤。处理器702还可以称为CPU(Central Processing Unit,中央处理单元)。处理器702可能是一种集成电路芯片,具有信号的处理能力。处理器702还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器702可以由集成电路芯片共同实现。

请参阅图8,图8为本申请计算机可读存储介质一实施例的框架示意图。计算机可读存储介质80存储有能够被处理器运行的程序指令801,程序指令801用于实现上述任一图像处理方法实施例的步骤。

上述方案,通过基于历史位姿调整初始位姿,得到调整位姿,并且设置调整位姿与历史位姿间的位姿变化量小于初始位姿与历史位姿间的位姿变化量,以此可以减少目标物相对于当前图像帧与历史图像帧之间的位姿变化,故减少目标物在当前图像帧和历史图像帧中的显示位置出现突变的可能性,即使得后续在显示该目标物时,可以减少抖动的现象,改善用户体验。

本公开涉及增强现实领域,通过获取现实环境中的目标对象的图像信息,进而借助各类视觉相关算法实现对目标对象的相关特征、状态及属性进行检测或识别处理,从而得到与具体应用匹配的虚拟与现实相结合的AR效果。示例性的,目标对象可涉及与人体相关的脸部、肢体、手势、动作等,或者与物体相关的标识物、标志物,或者与场馆或场所相关的沙盘、展示区域或展示物品等。视觉相关算法可涉及视觉定位、SLAM、三维重建、图像注册、背景分割、对象的关键点提取及跟踪、对象的位姿或深度检测等。具体应用不仅可以涉及跟真实场景或物品相关的导览、导航、讲解、重建、虚拟效果叠加展示等交互场景,还可以涉及与人相关的特效处理,比如妆容美化、肢体美化、特效展示、虚拟模型展示等交互场景。

可通过卷积神经网络,实现对目标对象的相关特征、状态及属性进行检测或识别处理。上述卷积神经网络是基于深度学习框架进行模型训练而得到的网络模型。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 基于图像识别的图像处理方法、装置、设备及存储介质
  • 夜景图像处理方法、装置、电子设备及存储介质
  • 一种图像处理方法及其装置、设备和存储介质
  • 人脸图像的处理方法及装置、电子设备和存储介质
  • 抓拍检索方法、图像处理方法、装置、设备及存储介质
  • 图像处理装置、图像处理方法和存储相关程序的存储介质
  • 图像数据处理方法及相关装置、设备和存储介质
技术分类

06120115928970