一种图像处理方法、装置、计算机设备及存储介质转让专利

申请号 : CN202110598079.2

文献号 : CN113313112B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 章国锋鲍虎军袁谨刘浩敏

申请人 : 浙江商汤科技开发有限公司

摘要 :

本公开提供了一种图像处理方法、装置、计算机设备和存储介质,其中,该方法包括:获取待处理图像中的第一特征点、以及待处理图像对应的目标参考图像中与第一特征点匹配的第二特征点;将第一特征点投影至预设平面,得到第一特征点在预设平面中的第一投影点,以及将第二特征点投影至预设平面,得到第二特征点在预设平面中的第二投影点;基于第一投影点和第二投影点之间的相对位置关系,从第一特征点中确定属于动态对象的目标特征点;从待处理图像剔除目标特征点,得到图像处理结果。本公开实施例从第一特征点中剔除属于动态对象的目标特征点,在基于剔除了目标特征点的第一特征点进行定位时提升定位准确度和定位精度。

权利要求 :

1.一种图像处理方法,其特征在于,包括:

获取待处理图像中的第一特征点、以及所述待处理图像对应的目标参考图像中与所述第一特征点匹配的第二特征点;

将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点,以及将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点;

基于所述第一投影点和所述第二投影点之间的相对位置关系,从所述第一特征点中确定属于动态对象的目标特征点;其中,所述相对位置关系是基于相机在获取所述目标参考图像和获取所述待处理图像时的角度变化产生的;

所述从所述第一特征点中确定属于动态对象的目标特征点包括:基于所述第一投影点和所述第二投影点之间的相对位置关系,确定从所述第二投影点指向所述第一投影点的投影向量;基于所述投影向量的模长,从所述第一特征点中确定属于动态对象的目标特征点;

从所述待处理图像剔除所述目标特征点,得到图像处理结果。

2.根据权利要求1所述的图像处理方法,其特征在于,所述获取待处理图像中的第一特征点、以及所述待处理图像对应的目标参考图像中与所述第一特征点匹配的第二特征点之前,所述方法还包括:基于预设筛选条件,为所述待处理图像确定所述目标参考图像。

3.根据权利要求2所述的图像处理方法,其特征在于,所述基于预设筛选条件,为所述待处理图像确定所述目标参考图像,包括:检测当前的关键帧图像是否满足所述预设筛选条件;

在所述关键帧图像满足所述预设筛选条件的情况下,将所述关键帧图像作为所述目标参考图像;

在所述关键帧图像不满足所述预设筛选条件的情况下,将第一视频帧图像确定为所述目标参考图像;

其中,所述第一视频帧图像包括:时间戳早于所述待处理图像、且与所述待处理图像的时间戳的时间间隔最短的图像。

4.根据权利要求3所述的图像处理方法,其特征在于,还包括:在所述关键帧图像不满足所述预设筛选条件的情况下,将所述待处理图像确定为新的关键帧图像;

所述新的关键帧图像用于对下一帧待处理图像进行图像处理。

5.根据权利要求3所述的图像处理方法,其特征在于,所述预设筛选条件包括下述至少一种:所述待处理图像和所述关键帧图像的帧编号之间的差值小于预设的帧编号差值阈值;

所述关键帧图像中与所述第一特征点匹配的第二特征点的数量达到预设数量阈值;

所述待处理图像对应的第一拍摄视角与所述关键帧图像对应的第二拍摄视角之间的视角差值小于预设的视角差值阈值。

6.根据权利要求1‑5任一项所述的图像处理方法,其特征在于,所述将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点,包括:基于所述相机在获取所述目标参考图像时在目标场景中的三维位置信息、以及所述相机在获取所述待处理图像时在所述目标场景中的第一朝向信息,确定所述相机在获取所述待处理图像时的粗略位姿信息;

基于所述粗略位姿信息,将所述第一特征点投影至所述预设平面,得到所述第一特征点在所述预设平面中的第一投影点。

7.根据权利要求1‑5任一项所述的图像处理方法,其特征在于,所述将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点,包括:基于相机在获取所述目标参考图像时的第二位姿信息,将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点。

8.根据权利要求1‑5任一项所述的图像处理方法,其特征在于,所述基于所述投影向量的模长,从所述第一特征点中确定属于动态对象的目标特征点,包括:在第1个迭代周期,按照所述投影向量的模长,对多个所述第一特征点分别对应的投影向量进行排序;

基于排序的结果、以及预设剔除比例,从所述投影向量中确定所述第1个迭代周期的目标投影向量;

在第n个迭代周期,判断是否满足预设的迭代停止条件;

如果满足,则基于第(n‑1)个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点;n为大于1的整数;

所述迭代停止条件包括下述至少一种:

迭代周期的数量大于或者等于预设数量;

当前迭代周期确定的模长均值、和前一迭代周期确定的模长均值之间的差值小于预设的差值阈值。

9.根据权利要求8所述的图像处理方法,其特征在于,还包括:在所述第n个迭代周期,若判断不满足所述迭代停止条件,则基于第n‑1个迭代周期确定的目标投影向量,确定模长均值;基于各个投影向量的模长与所述模长均值之间的误差、以及所述预设剔除比例,确定第n个迭代周期的目标投影向量;

在第(n+1)个迭代周期,判断是否满足所述迭代停止条件;

如果满足,则基于第n个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点。

10.根据权利要求1‑5任一项所述的图像处理方法,其特征在于,还包括:基于所述第一特征点中除所述目标特征点外的非目标特征点、所述目标参考图像中与所述非目标特征点匹配的第三特征点、以及相机在获取所述目标参考图像的第二位姿信息,确定所述相机在获取所述待处理图像时的精准位姿信息;

其中,所述第二特征点包括所述第三特征点。

11.根据权利要求10所述的图像处理方法,其特征在于,还包括:根据所述精准位姿信息,将所述第三特征点重投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点;

基于所述第三投影点在所述待处理图像中的位置信息、以及所述非目标特征点在所述待处理图像中的位置信息,确定重投影误差;

基于所述重投影误差,确定新的预设剔除比例;其中,所述新的预设剔除比例用于对下一帧待处理图像进行图像处理。

12.根据权利要求11所述的图像处理方法,其特征在于,所述根据所述精准位姿信息,将所述第三特征点重投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点,包括:根据所述精准位姿信息,确定所述待处理图像对应的第一图像坐标系、与所述预设平面对应的第二图像坐标系之间的转换关系;

基于所述转换关系,将所述第三特征点在所述预设平面中的第二投影点投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点。

13.一种图像处理装置,其特征在于,包括:

获取模块,用于获取待处理图像中的第一特征点、以及所述待处理图像对应的目标参考图像中与所述第一特征点匹配的第二特征点;

第一处理模块,用于将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点,以及将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点;

第二处理模块,用于基于所述第一投影点和所述第二投影点之间的相对位置关系,从所述第一特征点中确定属于动态对象的目标特征点;其中,所述相对位置关系是基于相机在获取所述目标参考图像和获取所述待处理图像时的角度变化产生的;

所述从所述第一特征点中确定属于动态对象的目标特征点包括:基于所述第一投影点和所述第二投影点之间的相对位置关系,确定从所述第二投影点指向所述第一投影点的投影向量;基于所述投影向量的模长,从所述第一特征点中确定属于动态对象的目标特征点;

第三处理模块,用于从所述待处理图像剔除所述目标特征点,得到图像处理结果。

14.一种计算机设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如权利要求1至12任一项所述的图像处理方法。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如权利要求1至12任一项所述的图像处理方法。

说明书 :

一种图像处理方法、装置、计算机设备及存储介质

技术领域

[0001] 本公开涉及图像处理技术领域,具体而言,涉及一种图像处理方法、装置、计算机设备及存储介质。

背景技术

[0002] 目前,利用同步定位与建图(Simultaneous Localization and Mapping,SLAM)进行定位时,主要基于相机在不同的处理周期采集目标场景得到的图像中包含的特征点实现定位,但是在目标场景中存在动态对象时,相机采集目标场景得到的图像中包含的特征点中就包含这些动态对象对应的特征点,这些动态对象对应的特征点会对定位的精度和准确度造成影响。

发明内容

[0003] 本公开实施例至少提供一种图像处理方法、装置、计算机设备及存储介质。
[0004] 第一方面,本公开实施例提供了一种图像处理方法,包括:
[0005] 获取待处理图像中的第一特征点、以及所述待处理图像对应的目标参考图像中与所述第一特征点匹配的第二特征点;
[0006] 将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点,以及将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点;
[0007] 基于所述第一投影点和所述第二投影点之间的相对位置关系,从所述第一特征点中确定属于动态对象的目标特征点;
[0008] 从所述待处理图像剔除所述目标特征点,得到图像处理结果。
[0009] 这样,可以利用第二投影点指向第一投影点的投影向量将第一特征点中属于动态对象的目标特征点确定出来,并剔除待处理图像中的目标特征点,从而在基于剔除了目标特征点的第一特征点进行定位时,减少动态对象的特征点对定位的准确度和精度造成的干扰,提升定位准确度和定位精度。
[0010] 在一种可能的实施方式中,所述获取待处理图像中的第一特征点、以及所述待处理图像对应的目标参考图像中与所述第一特征点匹配的第二特征点之前,所述方法还包括:
[0011] 基于预设筛选条件,为所述待处理图像确定所述目标参考图像。
[0012] 在一种可能的实施方式中,所述基于预设筛选条件,为所述待处理图像确定所述目标参考图像,包括:
[0013] 检测当前的关键帧图像是否满足所述预设筛选条件;
[0014] 在所述关键帧图像满足所述预设筛选条件的情况下,将所述关键帧图像作为所述目标参考图像;
[0015] 在所述关键帧图像不满足所述预设筛选条件的情况下,将第一视频帧图像确定为所述目标参考图像;
[0016] 其中,所述第一视频帧图像包括:时间戳早于所述待处理图像、且与所述待处理图像的时间戳的时间间隔最短的图像。
[0017] 在一种可能的实施方式中,还包括:在所述关键帧图像不满足所述预设筛选条件的情况下,将所述待处理图像确定为新的关键帧图像;
[0018] 所述新的关键帧图像用于对下一帧待处理图像进行图像处理。
[0019] 这样,保证了目标参考图像和待处理图像之间的信息在满足优化的情况下,尽量的分散,以提升动态对象剔除精度。
[0020] 在一种可能的实施方式中,所述预设筛选条件包括下述至少一种:
[0021] 所述待处理图像和所述关键帧图像的帧编号之间的差值小于预设的帧编号差值阈值;
[0022] 所述关键帧图像中与所述第一特征点匹配的第二特征点的数量达到预设数量阈值;
[0023] 所述待处理图像对应的第一拍摄视角与所述关键帧图像对应的第二拍摄视角之间的视角差值小于预设的视角差值阈值。
[0024] 待处理图像和目标参考图像的帧编号之间的差值小于预设的帧编号差值阈值,保证了在待处理图像和目标参考图像中具有足够数量能够匹配的第一特征点和第二特征点,从而能够更好的将属于动态对象的目标特征点从第一特征点中筛选出来;将具有匹配的第一特征点的第二特征点数量达到预设数量阈值的图像作为待处理图像的目标参考图像,能够更好的将属于动态对象的目标特征点从第一特征点中筛选出来;在待处理图像对应的第一拍摄视角和目标参考图像对应的第二拍摄视角之间的视角差小于预设的视角差阈值的情况下,能够保证待处理图像和目标参考图像中具有大部分相同的目标对象,保证了能够从待处理图像中确定数量足够的第一特征点。
[0025] 在一种可能的实施方式中,所述将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点,包括:
[0026] 基于相机在获取所述目标参考图像时在目标场景中的三维位置信息、以及所述相机在获取所述待处理图像时在所述目标场景中的第一朝向信息,确定所述相机在获取所述待处理图像时的粗略位姿信息;
[0027] 基于所述粗略位姿信息,将所述第一特征点投影至所述预设平面,得到所述第一特征点在所述预设平面中的第一投影点。
[0028] 这样,假定相机在拍摄待处理图像时,相对于相机在拍摄目标参考图像时,仅存在方向的变化,而在目标场景中的位置没有发生变化,进而,可以基于相机在获取目标参考图像时在目标场景中的三维位置信息、以及相机在获取待处理图像时在目标场景中的第一朝向信息,确定相机在获取待处理图像时的粗略位姿信息,这样,利用该假定条件将待处理图像中的第一特征点投影至预设平面,由于该过程只假定对相机朝向进行了更改,而不考虑相机的位移,因此能够简化第一投影点和第二投影点之间的运动一致性的关系表达,降低后续处理过程的复杂度。
[0029] 在一种可能的实施方式中,所述将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点,包括:
[0030] 基于所述相机在获取所述目标参考图像时的第二位姿信息,将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点。
[0031] 在一种可能的实施方式中,所述基于所述第一投影点和所述第二投影点之间的相对位置关系,从所述第一特征点中确定属于动态对象的目标特征点,包括:
[0032] 基于所述第一投影点和所述第二投影点之间的相对位置关系,确定从所述第二投影点指向所述第一投影点的投影向量;
[0033] 基于所述投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点。
[0034] 这样,能够利用投影向量,表征不同的目标对象的不同特征点分别对应的投影向量的运动是否趋向于一致,进而将目标特征点从第一特征点中筛选出来。
[0035] 在一种可能的实施方式中,所述基于所述投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点,包括:
[0036] 在第1个迭代周期,按照所述投影向量的模长,对多个所述第一特征点分别对应的投影向量进行排序;
[0037] 基于排序的结果、以及预设剔除比例,从所述投影向量中确定所述第1个迭代周期的目标投影向量;
[0038] 在第n个迭代周期,判断是否满足预设的迭代停止条件;
[0039] 如果满足,则基于第(n‑1)个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点;n为大于1的整数;
[0040] 所述迭代停止条件包括下述至少一种:
[0041] 迭代周期的数量大于或者等于预设数量;
[0042] 当前迭代周期确定的模长均值、和前一迭代周期确定的模长均值之间的差值小于预设的差值阈值。
[0043] 在一种可能的实施方式中,还包括:
[0044] 在所述第n个迭代周期,若判断不满足所述迭代停止条件,则基于第n‑1个迭代周期确定的目标投影向量,确定模长均值;基于各个投影向量的模长与所述模长均值之间的误差、以及所述预设剔除比例,确定第n个迭代周期的目标投影向量;
[0045] 在第(n+1)个迭代周期,判断是否满足所述迭代停止条件;
[0046] 如果满足,则基于第n个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点。
[0047] 这样,通过上述多个迭代周期的迭代,使得模长均值不断的收敛到一个接近大部分有赢向量的值,进而能够更加准确的将属于动态对象的目标特征点从第一特征点中筛选出来。
[0048] 在一种可能的实施方式中,还包括:
[0049] 基于所述第一特征点中除所述目标特征点外的非目标特征点、所述目标参考图像中与所述非目标特征点匹配的第三特征点、以及相机在获取所述目标参考图像的第二位姿信息,确定所述相机在获取所述待处理图像时的精准位姿信息;
[0050] 其中,所述第二特征点包括所述第三特征点。
[0051] 这样可以实现对相机在获取待处理图像时的位姿进行优化,得到的精准位姿信息准确度更高,提升相机定位的准确性。
[0052] 在一种可能的实施方式中,还包括:
[0053] 根据所述精准位姿信息,将所述第三特征点重投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点;
[0054] 基于所述第三投影点在所述待处理图像中的位置信息、以及所述非目标特征点在所述待处理图像中的位置信息,确定重投影误差;
[0055] 基于所述重投影误差,确定新的预设剔除比例;其中,所述新的预设剔除比例用于对下一帧待处理图像进行图像处理。
[0056] 在一种可能的实施方式中,所述根据所述精准位姿信息,将所述第三特征点重投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点,包括:
[0057] 根据所述精准位姿信息,确定所述待处理图像对应的第一图像坐标系、与所述预设平面对应的第二图像坐标系之间的转换关系;
[0058] 基于所述转换关系,将所述第三特征点在所述预设平面中的第二投影点投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点。
[0059] 这样,基于本周期对待处理图像的剔点结果进行重投影误差计算,确定下一帧待处理图像的剔除比例,从而能够进一步的将属于动态对象对应的目标特征点从后续的图像处理图像中筛查出来,减少由于动态对象存在所造成的定位误差在多帧待处理图像中进行累积。
[0060] 这样,通过调整下一帧待处理图像的预设剔除比例,从而能够进一步的将属于动态对象对应的目标特征点从后续的图像处理图像中筛查出来,提升精度。
[0061] 第二方面,本公开实施例还提供一种图像处理装置,包括:
[0062] 获取模块,用于获取待处理图像中的第一特征点、以及所述待处理图像对应的目标参考图像中与所述第一特征点匹配的第二特征点;
[0063] 第一处理模块,用于将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点,以及将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点;
[0064] 第二处理模块,用于基于所述第一投影点和所述第二投影点之间的相对位置关系,从所述第一特征点中确定属于动态对象的目标特征点;
[0065] 第三处理模块,用于从所述待处理图像剔除所述目标特征点,得到图像处理结果。
[0066] 在一种可能的实施方式中,所述图像处理装置还包括:第四处理模块;所述第四处理模块,用于基于预设筛选条件,为所述待处理图像确定所述目标参考图像。
[0067] 在一种可能的实施方式中,所述第四处理模块,在基于预设筛选条件,为所述待处理图像确定所述目标参考图像时,用于:检测当前的关键帧图像是否满足所述预设筛选条件;
[0068] 在所述关键帧图像满足所述预设筛选条件的情况下,将所述关键帧图像作为所述目标参考图像;
[0069] 在所述关键帧图像不满足所述预设筛选条件的情况下,将第一视频帧图像确定为所述目标参考图像;
[0070] 其中,所述第一视频帧图像包括:时间戳早于所述待处理图像、且与所述待处理图像的时间戳的时间间隔最短的图像。
[0071] 所述第四处理模块,还用于:在所述关键帧图像不满足所述预设筛选条件的情况下,将所述待处理图像确定为新的关键帧图像;
[0072] 所述新的关键帧图像用于对下一帧待处理图像进行图像处理。
[0073] 在一种可能的实施方式中,所述预设筛选条件包括下述至少一种:所述待处理图像和所述关键帧图像的帧编号之间的差值小于预设的帧编号差值阈值;
[0074] 所述关键帧图像中与所述第一特征点匹配的第二特征点的数量达到预设数量阈值;
[0075] 所述待处理图像对应的第一拍摄视角与所述关键帧图像对应的第二拍摄视角之间的视角差值小于预设的视角差值阈值。
[0076] 在一种可能的实施方式中,在将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点时,所述第一处理模块,具体用于基于相机在获取所述目标参考图像时在目标场景中的三维位置信息、以及所述相机在获取所述待处理图像时在所述目标场景中的第一朝向信息,确定所述相机在获取所述待处理图像时的粗略位姿信息;
[0077] 基于所述粗略位姿信息,将所述第一特征点投影至所述预设平面,得到所述第一特征点在所述预设平面中的第一投影点。
[0078] 在一种可能的实施方式中,在将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点时,所述第一处理模块,具体用于基于所述相机在获取所述目标参考图像时的第二位姿信息,将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点。
[0079] 在一种可能的实施方式中,在基于所述第一投影点和所述第二投影点之间的相对位置关系,从所述第一特征点中确定属于动态对象的目标特征点时,所述第二处理模块,具体用于基于所述第一投影点和所述第二投影点之间的相对位置关系,确定从所述第二投影点指向所述第一投影点的投影向量;
[0080] 基于所述投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点。
[0081] 在一种可能的实施方式中,在基于所述投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点时,所述第二处理模块,具体用于在第1个迭代周期,按照所述投影向量的模长,对多个所述第一特征点分别对应的投影向量进行排序;
[0082] 基于排序的结果、以及预设剔除比例,从所述投影向量中确定所述第1个迭代周期的目标投影向量;
[0083] 在第n个迭代周期,判断是否满足预设的迭代停止条件;
[0084] 如果满足,则基于第(n‑1)个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点;n为大于1的整数;
[0085] 所述迭代停止条件包括下述至少一种:
[0086] 迭代周期的数量大于或者等于预设数量;
[0087] 当前迭代周期确定的模长均值、和前一迭代周期确定的模长均值之间的差值小于预设的差值阈值。
[0088] 在一种可能的实施方式中,所述第二处理模块,还用于在所述第n个迭代周期,若判断不满足所述迭代停止条件,则基于第n‑1个迭代周期确定的目标投影向量,确定模长均值;基于各个投影向量的模长与所述模长均值之间的误差、以及所述预设剔除比例,确定第n个迭代周期的目标投影向量;
[0089] 在第(n+1)个迭代周期,判断是否满足所述迭代停止条件;
[0090] 如果满足,则基于第n个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点。
[0091] 在一种可能的实施方式中,所述图像处理装置还包括:确定模块;所述确定模块,用于基于所述第一特征点中除所述目标特征点外的非目标特征点、所述目标参考图像中与所述非目标特征点匹配的第三特征点、以及相机在获取所述目标参考图像的第二位姿信息,确定所述相机在获取所述待处理图像时的精准位姿信息;
[0092] 其中,所述第二特征点包括所述第三特征点。
[0093] 在一种可能的实施方式中,所述图像处理装置还包括:第五处理模块407;所述第五处理模块,用于根据所述精准位姿信息,将所述第三特征点重投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点;
[0094] 基于所述第三投影点在所述待处理图像中的位置信息、以及所述非目标特征点在所述待处理图像中的位置信息,确定重投影误差;
[0095] 基于所述重投影误差,确定新的预设剔除比例;其中,所述新的预设剔除比例用于对下一帧待处理图像进行图像处理。
[0096] 在一种可能的实施方式中,在根据所述精准位姿信息,将所述第三特征点重投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点时,所述第五处理模块,具体用于根据所述精准位姿信息,确定所述待处理图像对应的第一图像坐标系、与所述预设平面对应的第二图像坐标系之间的转换关系;
[0097] 基于所述转换关系,将所述第三特征点在所述预设平面中的第二投影点投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点。
[0098] 第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
[0099] 第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
[0100] 关于上述图像处理装置、计算机设备、及计算机可读存储介质的效果描述参见上述图像处理方法的说明,这里不再赘述。
[0101] 为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0102] 为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0103] 图1示出了本公开实施例所提供的一种图像处理方法的流程图;
[0104] 图2示出了本公开实施例所提供的一种确定目标参考图像的具体方法的流程图;
[0105] 图3示出了本公开实施例所提供的一种预设平面第一投影点与第二投影点的投影向量的示例图;
[0106] 图4示出了本公开实施例所提供的一种图像处理装置的示意图;
[0107] 图5示出了本公开实施例所提供的一种计算机设备的示意图。

具体实施方式

[0108] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0109] 经研究发现,在采用同步定位与建图(Simultaneous Localization and Mapping,SLAM)进行定位时,通过图像采集装置周期性的采集目标场景得到每一采集周期对应的采样图像,提取相邻处理周期分别对应的采样图像中的特征点,然后利用不同采样图像之间能够匹配的特征点分别在不同采样图像中的位置、以及相邻处理周期中前一处理周期采集的采样图像对应的相机位姿,确定相邻处理周期中后一处理周期采集的采样图像对应的相机位姿,并基于相机位姿建图。在该过程中,由于在目标场景中可能会存在动态对象,而SLAM在基于对象的特征点进行定位时,由于动态对象的特征点会对定位结果造成干扰,给定位的准确度和精度带来不利影响。
[0110] 基于上述研究,本公开提供了一种图像处理方法、装置、计算机设备以及存储介质,能够基于动态对象与静态对象对应的特征点在预设平面上运动的不一致性,将属于动态对象的目标特征点从第一特征点中剔除,减少动态对象的特征点对定位的准确度和精度造成的干扰,提升定位准确度和定位精度。
[0111] 针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
[0112] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0113] 为便于对本实施例进行理解,首先对本公开实施例所公开的一种图像处理方法进行详细介绍,本公开实施例所提供的图像处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该图像处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
[0114] 下面对本公开实施例提供的图像处理方法加以说明。
[0115] 参见图1所示,为本公开实施例提供的图像处理方法的流程图,所述方法包括步骤S101~S104,其中:
[0116] S101:获取待处理图像中的第一特征点、以及所述待处理图像对应的目标参考图像中与所述第一特征点匹配的第二特征点;
[0117] S102:将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点,以及将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点;
[0118] S103:基于所述第一投影点和所述第二投影点之间的相对位置关系,从所述第一特征点中确定属于动态对象的目标特征点;
[0119] S104:从所述待处理图像剔除所述目标特征点,得到图像处理结果。
[0120] 本公开实施例通过将待处理图像中的第一特征点、以及目标参考图像中与第一特征点对应的第二特征点分别投影至预设平面,得到第一特征点在预设平面中的第一投影点和第二特征点在预设平面中的第二投影点;然后基于第二投影点与第一投影点的相对位置关系,从第一特征点中确定属于动态对象的目标特征点,并将动态对象的目标特征点从第一特征点剔除从而能够基于动态对象与静态对象对应的特征点在预设平面上运动的不一致性,将属于动态对象的目标特征点从第一特征点中剔除,减少动态对象的特征点对定位的准确度和精度造成的干扰,提升定位准确度和定位精度。
[0121] 下面对上述S101~S104加以详细说明。
[0122] 针对上述S101,具体实施时,待处理图像,例如为在基于SLAM进行定位时获取的任一帧视频帧图像、或者对目标场景进行扫描获取的视频中确定的任一帧图像。
[0123] 示例性的,在获取待处理图像时,例如可以利用相机对目标场景进行采集得到目标场景的视频,并从视频包括的视频帧图像中确定待处理图像。
[0124] 在具体实施中,目标场景可以根据图像处理应用的具体场景进行确定;示例性的,目标场景可以包括:体育场馆、街区、办公场所中任一种。
[0125] 在对目标场景进行视频采集时,例如可以利用安装在目标场景内的相机,也可以利用能够在目标场景内移动的终端设备中安装的相机获取目标场景的视频。
[0126] 在获取了目标场景的视频后,可以依次将每帧视频帧图像作为待处理图像,并在视频中确定待处理图像的目标参考图像;其中,为待处理图像确定的目标参考图像,通常时间戳早于待处理图像的视频帧图像。
[0127] 另外,获取目标场景的视频的过程和确定待处理图像,并对待处理图像进行图像处理的过程可以同步,也可以异步;若将两个过程同步进行,则可以在获取目标场景的视频的同时,从获取的视频帧图像中确定待处理图像。若将两个过程异步进行,可以先获取视频,在获取视频后,再从获取的视频中确定待处理图像。
[0128] 待处理图像对应的目标参考图像,例如可以采用下述方式获得:
[0129] 基于预设筛选条件,为所述待处理图像确定所述目标参考图像。
[0130] 参见图2所示,本公开实施例提供一种基于预设筛选条件,为所述待处理图像确定所述目标参考图像的具体方法,包括:
[0131] S201:检测当前的关键帧图像是否满足所述预设筛选条件;
[0132] S202:在所述关键帧图像满足所述预设筛选条件的情况下,将所述关键帧图像作为所述目标参考图像;
[0133] S203:在所述关键帧图像不满足所述预设筛选条件的情况下,将第一视频帧图像确定为所述目标参考图像;
[0134] 其中,所述第一视频帧图像包括:时间戳早于所述待处理图像、且与所述待处理图像的时间戳的时间间隔最短的图像。
[0135] 另外,在所述关键帧图像不满足所述预设筛选条件的情况下,还包括:
[0136] S204:将所述待处理图像确定为新的关键帧图像;
[0137] 所述新的关键帧图像用于对下一帧待处理图像进行图像处理。
[0138] 在具体实施中,在对一段视频中的各帧图像进行处理时,例如可以将视频中的第1帧视频帧图像确定为当前的关键帧图像,然后针对视频中的第2帧视频帧图像,检测该当前的关键帧图像(第1帧视频帧图像)是否满足预设筛选条件;确定满足预设筛选条件,将该当前的关键帧图像作为第2帧视频帧图像的目标参考图像,并利用该目标参考图像对第2帧视频帧图像进行处理。
[0139] 针对视频中的第3帧视频帧图像,检测该当前的关键帧图像(第1帧视频帧图像)是否满足预设筛选条件;确定满足预设筛选条件,将该当前的关键帧图像作为第3帧视频帧图像的目标参考图像,并利用该目标参考图像对第3帧视频帧图像进行处理。
[0140] 如此依次对第4~第8帧视频帧图像进行处理,当前的关键帧图像(第1帧视频帧图像)均能够满足预设筛选条件,因此,使用当前的关键帧图像(第1帧视频帧图像)对第4~第8帧视频帧图像进行处理。
[0141] 针对视频中的第9帧视频帧图像,检测该当前的关键帧图像(第1帧视频帧图像)是否满足预设筛选条件;该当前的关键帧图像(第1帧视频帧图像)不满足预设筛选条件,则将第8帧视频帧图像作为第9帧视频帧图像的目标参考图像,并利用该目标参考图像(第8帧视频帧图像)对第9帧视频帧图像进行处理。
[0142] 将第9帧视频帧图像作为新的关键帧图像。
[0143] 针对视频中的第10帧视频帧图像,检测该当前的关键帧图像(第9帧视频帧图像)是否满足预设筛选条件;确定满足预设筛选条件,将该当前的关键帧图像作为第10帧视频帧图像的目标参考图像,并利用该目标参考图像对第10帧视频帧图像进行处理。
[0144] ……如此执行上述过程,直至视频中需要进行处理的所有视频帧图像均完成图像处理过程。
[0145] 在上述过程中,在检测当前的关键帧图像是否满足所述预设筛选条件时,是在基于时序的图像序列中,从时间、空间和跟踪质量三个维度,依据特征点光流跟踪的结果,确定是否满足预设筛选条件。
[0146] 预设的筛选条件包括但不限于下述(1)、(2)、(3)中的至少一种:
[0147] (1):所述待处理图像和所述关键帧图像的帧编号之间的差值小于预设的帧编号差值阈值。
[0148] 其中,按照相机采集目标场景所获取的视频中各帧视频帧图像的时间顺序为每一周期采集目标场景的视频帧图像进行编号,得到各帧视频帧图像的帧编号。示例性的,相机每隔0.03秒采集一次目标场景,从第一个处理周期开始为每一周期的视频帧图像设置帧编号,例如第一个处理周期的视频帧图像的帧编号为“1”,第二个处理周期的视频帧图像的帧编号为“2”,第三个处理周期的视频帧图像的帧编号为“3”……以此类推,第二十个处理周期的视频帧图像的帧编号就是“20”,第二十个处理周期的视频帧图像的帧编号与第一个处理周期的视频帧图像的帧编号的之间的差值就为19(20‑1=19)。
[0149] 若待处理图像和当前的关键帧图像的帧编号之间的差值小于预设的帧编号差值阈值,则将该当前的关键帧图像作为目标参考图像,这样保证了在待处理图像和目标参考图像中具有足够数量能够匹配的第一特征点和第二特征点,从而能够更好的将属于动态对象的目标特征点从第一特征点中筛选出来,并且,在将目标特征点从第一特征点筛选出来后,能够更好的利用第一特征点中剩余的其他第一特征点对待处理图像进行后续的处理,如深度估计处理、定位处理等。
[0150] (2):所述关键帧图像中与所述第一特征点匹配的第二特征点的数量达到预设数量阈值。
[0151] 示例性的,在对待处理图像进行特征点提取,得到待处理图像中的特征点,并对目标参考图像进行特征点提取,得到目标参考图像中的特征点后,还会对待处理图像中的特征点和目标参考图像中的特征点进行匹配。确定待处理图像中的第一特征点、和在目标参考图像中能够与第一特征点匹配成功的第二特征点。第一特征点和第二特征点匹配成功,即第一特征点和第二特征点表征同一对象上的同一特征点。若当前的关键帧图像中与第一特征点匹配的第二特征点的数量达到预设数量阈值,则将当前的关键帧图像作为目标参考图像,从而能够更好的将属于动态对象的目标特征点从第一特征点中筛选出来。
[0152] 例如,对待处理图像中进行特征提取得到的特征点包括:A1~A100;对当前的关键帧图像进行特征提取得到的特征点包括B1~B200,假设预设数量阈值为80;若能够从A1~A100中为B1~B200中的至少80个特征点确定匹配的特征点,则将当前的关键帧图像作为待处理图像的目标参考图像;若不能从A1~A100中,为B1~B200中的至少80个特征点确定匹配的特征点,则不能将当前的关键帧图像作为待处理图像的目标参考图像。
[0153] (3):所述待处理图像对应的第一拍摄视角与所述关键帧图像对应的第二拍摄视角之间的视角差值小于预设的视角差值阈值。
[0154] 在待处理图像对应的第一拍摄视角和目标参考图像对应的第二拍摄视角之间的视角差小于预设的视角差阈值的情况下,能够保证待处理图像和目标参考图像中具有大部分相同的目标对象,保证了能够从待处理图像中确定数量足够的第一特征点。
[0155] 示例性的,在确定目标参考图像时,可以将第一帧图像直接设为第一帧参考帧图像。若待处理图像和该第一帧参考帧图像的时间间隔大于预设阈值,即所述待处理图像和所述该第一帧参考帧图像之间的图像间隔数量大于阈值,则将待处理图像设为新的参考帧图像;所述待处理图像的第一特征点和第一帧参考帧图像之间的第二特征点的成功匹配的数量小于数量阈值,将待处理图像设为新的参考帧图像;待处理图像对应的第一拍摄视角与第一帧关键帧图像对应的第二拍摄视角之间的视角差值大于或者等于预设的视角差值阈值,将待处理图像设为新的参考帧图像。
[0156] 在上述示例中,第一特征点为对待处理图像进行特征点提取处理得到的在待处理图像中的特征点;其中第一特征点包括:目标场景中的静态对象的关键点和/或动态对象的特征点,例如可以通过哈瑞斯harris角点检测、尺度不变特征变换(Scale Invariant Feature Transform,SIFT)等特征点提取算法提取第一图像中的第一特征点。
[0157] 目标参考图像为相机在历史处理周期采集目标场景得到的图像,第二特征点为对目标参考图像进行特征点提取处理得到的在目标参考图像中,且与第一特征点匹配的特征点。第二特征点的提取方法与第一特征点的提取方法类似,这里不再赘述。目标参考图像的第二特征点通过角点检测得到,而第一特征点例如可以通过光流跟踪算法(Lucas‑Kanade,LK)来跟踪待处理图像的当前关键帧图像来获得。
[0158] 示例性的,目标场景中存在一个静态对象“苹果”和一个动态对象“行人”,该“苹果”上存在三个关键点A、B、C,该“行人”上存在两个关键点D、E;则待处理图像中存在“苹果”的关键点A对应的第一特征点A’,关键点B对应的第一特征点B’,关键点C对应的第一特征点C’,存在“行人”的关键点D对应的第一特征点的D’,关键点E对应的第一特征点E’;目标参考图像中存在“苹果”的关键点A对应的第二特征点A”,关键点B对应的第二特征点B”,关键点C对应的第二特征点C”,存在“行人”的关键点D对应的第二特征点的D”,关键点E对应的第二特征点E”;A’和A”都用来表征目标场景中“苹果”的关键点A,B’和B”都用来表征目标场景中“苹果”的关键点B,C’和C”都用来表征目标场景中“苹果”关键点C,D’和D”都用来表征目标场景中“行人”的关键点D,E’和E”都用来表征目标场景中“行人”的关键点E。
[0159] 另外,若在对当前的待处理图像进行图像处理之前,已经对其目标参考图像进行了图像处理的过程,也即,在历史的处理周期中,已经将目标参考图像作为待处理图像进行过图像处理,由于已经对目标参考图像进行了特征提取处理,可以在历史周期中对目标参考图像进行特征提取处理得到的特征点进行保存;在当前的处理周期,可以仅对当前的待处理图像进行特征提取处理;从预先保存的数据中,读取目标参考图像的特征点,然后将待处理图像的特征点和目标参考图像的特征点进行匹配,确定第一特征点和第二特征点。
[0160] 针对上述S102,预设平面可以是在目标场景对应的场景坐标系中预先确定的平面。例如目标场景中包括空旷的“地面”、“墙面”、“天花板”等至少一个具有大面积平面的对象,可以将其中的至少一个对象表面所在的平面作为预设平面。
[0161] 这里在对同一帧待处理图像进行图像处理时,通常仅确定一个预设平面;不同的待处理图像可以对应不同的预设平面。例如在目标场景中,某区域对应的天花板较为平滑,但对应地面上摆放的物体较多,在该种情况下,可以将天花板的表面所在的平面作为预设平面;在该目标场景中的另一区域,天花板上具有较多的装饰物,但地面较为空旷,在该种情况下,可以将地面的表面所在的平面作为预设平面。具体可以根据目标场景的实际情况确定。
[0162] 在目标场景中确定了预设平面后,预设平面在目标场景对应的场景坐标系中的具体位姿就已经确定,也即,能够确定场景坐标系与预设平面之间的转换关系。在相机获取待处理图像时在目标场景中的粗略位姿信息、以及获取目标参考图像时在目标场景中的第二位姿信息确定的情况下,即能够将第一特征点投影至预设平面,得到第一特征点在预设平面中的第一投影点,以及将第二特征点投影至预设平面,得到第二特征点在预设平面中的第二投影点。
[0163] 具体地,本公开实施例在将第一特征点投影至预设平面的时候,为待处理图像确定的粗略位姿信息,是一个估算位姿。在确定该粗略位姿信息时,假定相机在拍摄待处理图像时,相对于相机在拍摄目标参考图像时,仅存在方向的变化,而在目标场景中的位置没有发生变化,进而,可以基于相机在获取目标参考图像时在目标场景中的三维位置信息、以及相机在获取待处理图像时在目标场景中的第一朝向信息,确定相机在获取待处理图像时的粗略位姿信息。然后基于粗略位姿信息将第一特征点投影至预设平面,得到第一特征点在预设平面中的第一投影点。
[0164] 此处,相机在获取待处理图像时在目标场景中的第一朝向信息,例如可以通过与相机连接的朝向计获得。例如,在通过手机中的相机采集待处理图像时,朝向计部署在手机中;可以通过调用朝向计对外提供的接口,读取在获取待处理图像时朝向计确定朝向信息,作为第一朝向信息。
[0165] 另外,由于已经在历史的处理周期中,确定了时间戳早于待处理图像的其他图像的位姿信息,因此,在将时间戳早于待处理图像的其他某张图像作为待处理图像的目标参考图像时,相机获取目标参考图像时的第二位姿信息已知。此时,可以基于所述相机在获取所述目标参考图像时的第二位姿信息,将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点。这里,第二位姿信息,是对目标参考图像进行精确位姿估计后得到的与目标参考图像对应的位姿信息;示例性的,若后续处理过程中,将当前待处理图像作为目标参考图像,则目标参考图像的第二位姿信息,例如为当前待处理图像的精准位姿信息。精准位姿信息的确定方式可参见下述实施例所述,在此不再赘述。
[0166] 在确定了相机获取目标参考图像时的第二位姿信息后,能够基于该第二位姿信息,将第二特征点投影至预设平面,得到第二特征点在预设平面中的第二投影点。
[0167] 示例性的,本公开实施例以基于粗略位姿信息,将第一特征点投影至预设平面为例:基于预设平面在场景坐标系下的位姿信息,以及粗略位姿信息,确定相机和预设平面之间的相对位姿信息;然后基于该相对位姿信息、以及相机的成像原理,确定预设平面和相机在获取待处理图像时的图像坐标系之间的转换关系,然后根据该转换关系,将第一特征点投影至预设平面中。
[0168] 将第二特征点投影至预设平面的具体过程与上述第一特征点投影至预设平面的具体过程类似,在此不再赘述。
[0169] 针对上述S103,在从第一特征点确定属于动态对象的目标特征点时,例如可以采用下述方式:
[0170] 基于第一投影点和第二投影点之间的相对位置关系,确定从第二投影点指向第一投影点的投影向量;基于投影向量,从第一特征点中确定属于动态对象的目标特征点。
[0171] 其中,相对位置关系是基于相机在获取目标参考图像和相机获取待处理图像时的角度变化产生的,对于静态特征点而言,在相机发生角度变化时,不同的静态特征点在预设平面的投影点的位移趋向于一致;而对于动态特征点而言,在相机角度发生变化时,在非特殊情况下,动态特征点在预设平面的投影点的位移、与静态特征点在预设平面的投影点的位移不一致,也即,可以利用不同特征点在预设平面中的运动不一致性,从第一特征点中确定目标特征点。
[0172] 示例性的,静态对象对应的投影点的位移是相机的反向位移;动态对象对应的投影点的位移是相机的反向位移、以及在相机角度变化的过程中动态对象自身的位移叠加后的位移。
[0173] 如图3所示为本公开实施例提供的一种预设平面第一投影点与第二投影点的投影向量的示例图,第一投影点A对应有匹配的第二投影点A’,第一投影点B有匹配的第二投影点B’,第一投影点C有匹配的第二投影点C’,第一投影点D有匹配的第二投影点D’,第一投影点E有匹配的第二投影点E’;投影向量是从第二投影点指向第一投影点的向量,既有大小又有方向。
[0174] 其中,第一投影点A、第一投影点B、第一投影点C、以及第一投影点D均为静态对象对应的投影点;第一投影点E为动态对象的投影点;从图3可知,第二投影点A’至第一投影点A的投影向量、第二投影点B’至第一投影点B的投影向量、第二投影点C’至第一投影点C的投影向量、第二投影点D’至第一投影点D的投影向量D的大小、方向均趋向于一致;第二投影点E’至第一投影点E的投影向量则与上述投影向量的大小、方向均不相同。
[0175] 在基于投影向量,从第一特征点中确定属于动态对象的目标特征点时,例如可以采用下述方式:
[0176] 在第1个迭代周期,按照所述投影向量的模长,对多个所述第一特征点分别对应的投影向量进行排序;
[0177] 基于排序的结果、以及预设剔除比例,从所述投影向量中确定所述第1个迭代周期的目标投影向量;
[0178] 在第n个迭代周期,判断是否满足预设的迭代停止条件;
[0179] 如果满足,则基于第(n‑1)个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点;n为大于1的整数;
[0180] 其中,所述迭代停止条件包括下述至少一种:
[0181] 迭代周期的数量大于或者等于预设数量;
[0182] 当前迭代周期确定的模长均值、和前一迭代周期确定的模长均值之间的差值小于预设的差值阈值。
[0183] 另外,在所述第n个迭代周期,若判断不满足所述迭代停止条件,则基于第n‑1个迭代周期确定的目标投影向量,确定模长均值;基于各个投影向量的模长与所述模长均值之间的误差、以及所述预设剔除比例,确定第n个迭代周期的目标投影向量;
[0184] 在第(n+1)个迭代周期,判断是否满足所述迭代停止条件;
[0185] 如果满足,则基于第n个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点。
[0186] 在具体实施行中,属于静态对象的所述投影向量仅仅由于相机的运动而形成,在预设平面上的方向和模长都相同,而属于动态对象的目标投影向量同时合成了相机的运动和动态物体的运动,在所述预设平面上的方向和模长会明显区别于静态对象的投影向量,基于此差异性,采用上述方法,可以从所述第一特征点中确定属于动态对象的目标特征点。
[0187] 在本公开实施例中,在第1个迭代周期中,在基于排序的结果、以及预设剔除比例,从所述投影向量中确定所述第1个迭代周期的目标投影向量时,例如可以按照模长从大到小的顺序,将投影向量进行排序。然后,根据预设剔除比例,按照模长从大到小的顺序,从多个投影向量中剔除模长较长的多个投影向量,剩余的其他投影向量即为第1个迭代周期确定的目标投影向量。
[0188] 在第n个迭代周期中,若判断满足所述迭代停止条件,则在基于第(n‑1)个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点时,例如可以从多个第一特征点中,确定目标投影向量对应的第一特征点,将目标投影向量对应的第一特征点,从待处理图像中的多个第一特征点中删除,剩下的其他第一特征点即为目标特征点。
[0189] 在第n个迭代周期中,若判断不满足所述迭代停止条件,则在基于各个投影向量的模长与所述模长均值之间的误差、以及所述预设剔除比例,确定第n个迭代周期的目标投影向量时,例如可以采用下述方式:
[0190] 基于各个投影向量的模长与模长均值之间的误差从大到小的顺序,对各个投影向量进行排序。
[0191] 然后,根据预设剔除比例,按照误差从大到小的顺序,从多个投影向量中剔除误差较大的多个投影向量,剩余的其他投影向量即为第n个迭代周期确定的目标投影向量。
[0192] 另外,预设的剔除比例可以是预先确定的,也可以是上一处理周期对其他的待处理图像进行图像处理的过程中确定的。其中,在预设的剔除比例为基于上一周期对其他的待处理图像进行图像处理过程中确定的情况,具体可以参见下述实施例,在此不在赘述。
[0193] 例如,第一特征点有100个,所形成的投影向量共100个;预设剔除比例为20%。执行下述迭代周期:
[0194] a1:在第1个迭代周期:按照100个投影向量的模长,对100个投影向量进行排序;
[0195] 根据预设剔除比例,按照模长从大到小的顺序,从100投影向量中剔除模长较长的20个投影向量,剩余的其他80个投影向量即为第1个迭代周期确定的目标投影向量。
[0196] a2:在第2个迭代周期:判断不满足预设的迭代停止条件。
[0197] 基于第1个迭代周期确定的80个目标投影向量,确定模长均值,并确定100个投影向量的模长与所述模长均值之间的误差。
[0198] 基于100个投影向量的模长分别与模长均值之间的误差从大到小的顺序,对100个投影向量进行排序。
[0199] 然后,按照误差从大到小的顺序,从100个投影向量中剔除误差较大的20个投影向量,剩余的其他80个投影向量即为第2个迭代周期确定的目标投影向量。
[0200] a3:在第3个迭代周期:判断不满足预设的迭代停止条件。
[0201] 基于第2个迭代周期确定的80个目标投影向量,确定模长均值,并确定100个投影向量的模长与所述模长均值之间的误差。
[0202] 基于100个投影向量的模长分别与模长均值之间的误差从大到小的顺序,对100个投影向量进行排序。
[0203] 然后,按照误差从大到小的顺序,从100个投影向量中剔除误差较大的20个投影向量,剩余的其他80个投影向量即为第3个迭代周期确定的目标投影向量。
[0204] ai:在第i个迭代周期:判断满足预设的迭代停止条件。
[0205] 根据第(i‑1)个迭代周期确定的80目标投影向量,从多个第一特征点中,确定目标投影向量对应的80个第一特征点,将目标投影向量对应的80个第一特征点,从待处理图像中的100第一特征点中删除,剩下的其他20个第一特征点即为目标特征点。
[0206] 通过上述多个迭代周期的迭代,使得模长均值不断的收敛到一个接近大部分有赢向量的值,进而能够更加准确的将属于动态对象的目标特征点从第一特征点中筛选出来。
[0207] 在本公开另一实施例提供的图像处理方法中,还包括:基于所述第一特征点中除所述目标特征点外的非目标特征点、所述目标参考图像中与所述非目标特征点匹配的第三特征点、以及相机在获取所述目标参考图像的第二位姿信息,确定所述相机在获取所述待处理图像时的精准位姿信息;
[0208] 其中,所述第二特征点包括所述第三特征点。
[0209] 这样,可以实现对相机在获取待处理图像时的位姿进行优化,得到的精准位姿信息准确度更高,提升相机定位的准确性。
[0210] 在本公开另一实施例中,由于存在一种动态对象运动的特殊情况,例如动态物体向着远离或者靠近相机所在的方向移动,在该特殊情况下,为动态对象确定的投影向量、和静态对象确定的投影向量大小和方向均趋向于一致;为了减少这样的动态对象存在后续处理周期中对待处理图像的定位精度造成影响,减少误差在多个处理周期中的累积,本公开实施例还可以基于本周期对待处理图像的剔点结果进行重投影误差计算,确定下一帧待处理图像的预设剔除比例,从而能够进一步的将属于动态对象对应的目标特征点从后续的图像处理图像中筛查出来。
[0211] 具体地,在得到待处理图像的精准位姿信息后,还包括:本公开另一实施例中,还可以根据所述精准位姿信息,将所述第三特征点重投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点;
[0212] 基于所述第三投影点在所述待处理图像中的位置信息、以及所述非目标特征点在所述待处理图像中的位置信息,确定重投影误差;
[0213] 基于所述重投影误差,确定新的预设剔除比例;其中,所述新的预设剔除比例用于对下一帧待处理图像进行图像处理。
[0214] 示例性的,如果重投影误差小于预设的误差阈值,说明当前的待处理图像中存在动态对象的可能性较小,可以相应减小下一帧待处理图像的预设剔除比例,或者保持下一帧待处理图像的预设剔除比例不变。如果重投影误差大于或者等于预设的误差阈值,说明当前的待处理图像中存在动态对象的可能性较大,可以相应增加下一帧待处理图像的预设剔除比例,从而能够在对下一帧待处理图像进行处理时,更充分的将属于动态对象的特征点剔除。
[0215] 在具体实施例中,在根据精准位姿信息,将第三特征点重投影至待处理图像中,得到第三特征点在待处理图像中的第三投影点时,例如可以根据所述精准位姿信息,确定所述待处理图像对应的第一图像坐标系、与所述预设平面对应的第二图像坐标系之间的转换关系;
[0216] 基于所述转换关系,将所述第三特征点在所述预设平面中的第二投影点投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点。
[0217] 本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0218] 基于同一发明构思,本公开实施例中还提供了与图像处理方法对应的图像处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述图像处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0219] 参照图4所示,为本公开实施例提供的一种图像处理装置的示意图,所述装置包括:获取模块401、第一处理模块402、第二处理模块403、以及第三处理模块404;其中,[0220] 获取模块401,用于获取待处理图像中的第一特征点、以及所述待处理图像对应的目标参考图像中与所述第一特征点匹配的第二特征点;
[0221] 第一处理模块402,用于将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点,以及将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点;
[0222] 第二处理模块403,用于基于所述第一投影点和所述第二投影点之间的相对位置关系,从所述第一特征点中确定属于动态对象的目标特征点;
[0223] 第三处理模块404,用于从所述待处理图像剔除所述目标特征点,得到图像处理结果。
[0224] 在一种可能的实施方式中,所述图像处理装置还包括:第四处理模块405;所述第四处理模块405,用于基于预设筛选条件,为所述待处理图像确定所述目标参考图像。
[0225] 在一种可能的实施方式中,所述第四处理模块405,在基于预设筛选条件,为所述待处理图像确定所述目标参考图像时,用于:检测当前的关键帧图像是否满足所述预设筛选条件;
[0226] 在所述关键帧图像满足所述预设筛选条件的情况下,将所述关键帧图像作为所述目标参考图像;
[0227] 在所述关键帧图像不满足所述预设筛选条件的情况下,将第一视频帧图像确定为所述目标参考图像;
[0228] 其中,所述第一视频帧图像包括:时间戳早于所述待处理图像、且与所述待处理图像的时间戳的时间间隔最短的图像。
[0229] 所述第四处理模块405,还用于:在所述关键帧图像不满足所述预设筛选条件的情况下,将所述待处理图像确定为新的关键帧图像;
[0230] 所述新的关键帧图像用于对下一帧待处理图像进行图像处理。
[0231] 在一种可能的实施方式中,所述预设筛选条件包括下述至少一种:所述待处理图像和所述关键帧图像的帧编号之间的差值小于预设的帧编号差值阈值;
[0232] 所述关键帧图像中与所述第一特征点匹配的第二特征点的数量达到预设数量阈值;
[0233] 所述待处理图像对应的第一拍摄视角与所述关键帧图像对应的第二拍摄视角之间的视角差值小于预设的视角差值阈值。
[0234] 在一种可能的实施方式中,在将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点时,所述第一处理模块402,具体用于基于相机在获取所述目标参考图像时在目标场景中的三维位置信息、以及所述相机在获取所述待处理图像时在所述目标场景中的第一朝向信息,确定所述相机在获取所述待处理图像时的粗略位姿信息;
[0235] 基于所述粗略位姿信息,将所述第一特征点投影至所述预设平面,得到所述第一特征点在所述预设平面中的第一投影点。
[0236] 在一种可能的实施方式中,在将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点时,所述第一处理模块402,具体用于基于所述相机在获取所述目标参考图像时的第二位姿信息,将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点。
[0237] 在一种可能的实施方式中,在基于所述第一投影点和所述第二投影点之间的相对位置关系,从所述第一特征点中确定属于动态对象的目标特征点时,所述第二处理模块403,具体用于基于所述第一投影点和所述第二投影点之间的相对位置关系,确定从所述第二投影点指向所述第一投影点的投影向量;
[0238] 基于所述投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点。
[0239] 在一种可能的实施方式中,在基于所述投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点时,所述第二处理模块403,具体用于在第1个迭代周期,按照所述投影向量的模长,对多个所述第一特征点分别对应的投影向量进行排序;
[0240] 基于排序的结果、以及预设剔除比例,从所述投影向量中确定所述第1个迭代周期的目标投影向量;
[0241] 在第n个迭代周期,判断是否满足预设的迭代停止条件;
[0242] 如果满足,则基于第(n‑1)个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点;n为大于1的整数;
[0243] 所述迭代停止条件包括下述至少一种:
[0244] 迭代周期的数量大于或者等于预设数量;
[0245] 当前迭代周期确定的模长均值、和前一迭代周期确定的模长均值之间的差值小于预设的差值阈值。
[0246] 在一种可能的实施方式中,所述第二处理模块403,还用于在所述第n个迭代周期,若判断不满足所述迭代停止条件,则基于第n‑1个迭代周期确定的目标投影向量,确定模长均值;基于各个投影向量的模长与所述模长均值之间的误差、以及所述预设剔除比例,确定第n个迭代周期的目标投影向量;
[0247] 在第(n+1)个迭代周期,判断是否满足所述迭代停止条件;
[0248] 如果满足,则基于第n个迭代周期确定的目标投影向量,从所述第一特征点中确定属于所述动态对象的目标特征点。
[0249] 在一种可能的实施方式中,所述图像处理装置还包括:确定模块406;所述确定模块406,用于基于所述第一特征点中除所述目标特征点外的非目标特征点、所述目标参考图像中与所述非目标特征点匹配的第三特征点、以及相机在获取所述目标参考图像的第二位姿信息,确定所述相机在获取所述待处理图像时的精准位姿信息;
[0250] 其中,所述第二特征点包括所述第三特征点。
[0251] 在一种可能的实施方式中,所述图像处理装置还包括:第五处理模块407;所述第五处理模块407,用于根据所述精准位姿信息,将所述第三特征点重投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点;
[0252] 基于所述第三投影点在所述待处理图像中的位置信息、以及所述非目标特征点在所述待处理图像中的位置信息,确定重投影误差;
[0253] 基于所述重投影误差,确定新的预设剔除比例;其中,所述新的预设剔除比例用于对下一帧待处理图像进行图像处理。
[0254] 在一种可能的实施方式中,在根据所述精准位姿信息,将所述第三特征点重投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点时,所述第五处理模块407,具体用于根据所述精准位姿信息,确定所述待处理图像对应的第一图像坐标系、与所述预设平面对应的第二图像坐标系之间的转换关系;
[0255] 基于所述转换关系,将所述第三特征点在所述预设平面中的第二投影点投影至所述待处理图像中,得到所述第三特征点在所述待处理图像中的第三投影点。
[0256] 关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0257] 本公开实施例还提供了一种计算机设备,如图5所示,为本公开实施例提供的计算机设备结构示意图,包括:
[0258] 处理器51和存储器52;所述存储器52存储有处理器51可执行的机器可读指令,处理器51用于执行存储器52中存储的机器可读指令,所述机器可读指令被处理器51执行时,处理器51执行下述步骤:
[0259] 获取待处理图像中的第一特征点、以及所述待处理图像对应的目标参考图像中与所述第一特征点匹配的第二特征点;
[0260] 将所述第一特征点投影至预设平面,得到所述第一特征点在所述预设平面中的第一投影点,以及将所述第二特征点投影至所述预设平面,得到所述第二特征点在所述预设平面中的第二投影点;
[0261] 基于所述第一投影点和所述第二投影点之间的相对位置关系,从所述第一特征点中确定属于动态对象的目标特征点;
[0262] 从所述待处理图像剔除所述目标特征点,得到图像处理结果。
[0263] 上述存储器52包括内存521和外部存储器522;这里的内存521也称内存储器,用于暂时存放处理器51中的运算数据,以及与硬盘等外部存储器522交换的数据,处理器51通过内存521与外部存储器522进行数据交换。
[0264] 上述指令的具体执行过程可以参考本公开实施例中所述的图像处理方法的步骤,此处不再赘述。
[0265] 本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的图像处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0266] 本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的图像处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0267] 其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
[0268] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0269] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0270] 另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0271] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0272] 最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。