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

图像处理方法及装置、计算机可读存储介质及电子设备

文献发布时间:2023-06-19 13:26:15


图像处理方法及装置、计算机可读存储介质及电子设备

技术领域

本公开涉及计算机视觉技术领域,具体涉及一种图像处理方法及装置、计算机可读存储介质及电子设备。

背景技术

众所周知,光流算法是计算机视觉技术领域的常规算法,其重要性不言而喻,尤其是计算量相对较小的稀疏光流算法。

然而,现有稀疏光流算法的算法特性,会导致在算法的实际硬件实现过程中,重复访问目标图像帧的诸多区域,进而导致访存随机性较高,访存效率较低。

发明内容

为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种图像处理方法及装置、计算机可读存储介质及电子设备。

在一方面,本公开实施例提供了一种图像处理方法,该图像处理方法包括:确定原始图像帧和原始图像帧对应的多个角点;基于原始图像帧对应的目标图像帧,生成目标图像帧对应的多个图像区域,其中,原始图像帧和目标图像帧具备时序关联关系;基于多个角点和多个图像区域,确定原始图像帧和目标图像帧之间的光流信息。

在另一方面,本公开实施例提供了一种图像处理装置,该图像处理装置包括:第一确定模块,用于确定原始图像帧和原始图像帧对应的多个角点;生成模块,用于基于原始图像帧对应的目标图像帧,生成目标图像帧对应的多个图像区域,其中,原始图像帧和目标图像帧具备时序关联关系;第二确定模块,用于基于多个角点和多个图像区域,确定原始图像帧和目标图像帧之间的光流信息。

在另一方面,本公开实施例提供了一种计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序用于执行上述实施例所提及的图像处理方法。

在另一方面,本公开实施例提供了一种电子设备,该电子设备包括:处理器以及存储器,在存储器中存储有计算机程序指令,该计算机程序指令在被处理器运行时执行上述实施例所提及的图像处理方法。

与现有直接基于原始图像帧对应的多个角点和目标图像帧确定原始图像帧和目标图像帧之间的光流信息的方法相比,本公开实施例提供的图像处理方法,通过将目标图像帧划分为多个图像区域,进而基于目标图像帧对应的多个图像区域和原始图像帧对应的多个角点确定原始图像帧和目标图像帧之间的光流信息的方式,降低了重复访问目标图像帧的次数,进而有效降低了计算量以及对访问带宽的需求。具体地,因将目标图像帧划分为多个图像区域,那么,便可基于先验数据预先绑定多个角点和多个图像区域之间的对应关系,继而针对多个角点中的每个角点,在该角点对应的图像区域中寻找该角点对应的目标点即可,无需再在整幅目标图像帧中寻找,由此便极大降低了寻找该角点对应的目标点时的计算量,也降低了对访问带宽的需求。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1所示为本公开所适用的一示例性场景图。

图2所示为本公开一实施例提供的图像处理方法的流程示意图。

图3所示为本公开一实施例提供的基于多个角点和多个图像区域,确定原始图像帧和目标图像帧之间的光流信息的流程示意图。

图4所示为本公开一实施例提供的基于多个图像区域和多个图像区域各自对应的角点,确定原始图像帧和所述目标图像帧之间的光流信息的流程示意图。

图5所示为本公开一实施例提供的基于图像区域对应的角点、图像区域对应的角点各自在图像区域中的目标点,确定图像区域对应的光流信息的流程示意图。

图6a和图6b所示为本公开一实施例提供的原始图像帧和目标图像帧的示意图。

图7所示为本公开一实施例提供的基于图像区域对应的角点、图像区域对应的角点各自的角点邻域,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域的流程示意图。

图8所示为本公开一实施例提供的基于图像区域和顺序编号信息,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域的流程示意图。

图9所示为本公开一实施例提供的图像处理装置的结构示意图。

图10所示为本公开一实施例提供的电子设备的结构示意图。

具体实施方式

下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。

光流(optical flow)是空间运动物体在观察成像平面上的像素运动的瞬时速度。光流算法是利用图像序列中的像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。

根据所形成的光流场中的二维矢量的疏密程度,可将光流算法分为稠密光流算法和稀疏光流算法。稠密光流算法是针对整个图像进行逐像素点匹配的图像配准方法,其需要计算所有像素点的偏移量,从而形成一个稠密的光流场。与稠密光流算法相反,稀疏光流算法不需要对所有像素点进行逐点计算,其通常需要指定一组点进行跟踪,这组点最好具有某种明显的特性,例如Harris角点等。由此可见,稀疏光流算法的计算量相对较小,且实时性比较好。

具体地,在稀疏光流算法的实际实现过程中,针对原始图像帧和原始图像帧对应的目标图像帧,需要先获取原始图像帧中的一些特征点(又称为角点)各自的坐标信息,然后计算这些特征点在目标图像帧中的坐标偏移量信息。在实际计算过程中,针对每个特征点,均需要迭代计算其在目标图像帧中的位置,即不断修正,才能最终得到该特征点在目标图像帧中的坐标偏移量信息。由此可见,上述迭代计算过程需要重复访问目标图像帧的诸多区域,进而导致访存效率较低。此外,为满足上述迭代计算过程,亦需要增加访问带宽,进而提高了计算成本。

针对上述技术问题,本公开的基本构思是提出一种图像处理方法及装置、计算机可读存储介质及电子设备。该图像处理方法包括:确定原始图像帧和原始图像帧对应的多个角点;基于原始图像帧对应的目标图像帧,生成目标图像帧对应的多个图像区域,其中,原始图像帧和目标图像帧具备时序关联关系;基于多个角点和多个图像区域,确定原始图像帧和目标图像帧之间的光流信息。与现有直接基于原始图像帧对应的多个角点和目标图像帧确定原始图像帧和目标图像帧之间的光流信息的方法相比,本公开实施例提供的图像处理方法,通过将目标图像帧划分为多个图像区域,进而基于目标图像帧对应的多个图像区域和原始图像帧对应的多个角点确定原始图像帧和目标图像帧之间的光流信息的方式,降低了重复访问目标图像帧的次数,进而有效降低了计算量以及对访问带宽的需求。具体地,因将目标图像帧划分为多个图像区域,那么,便可基于先验数据预先绑定多个角点和多个图像区域之间的对应关系,继而针对多个角点中的每个角点,在该角点对应的图像区域中寻找该角点对应的目标点即可,无需再在整幅目标图像帧中寻找,由此便极大降低了寻找该角点对应的目标点时的计算量,也降低了对访问带宽的需求。

在介绍了本公开的基本原理之后,下面将参考附图来具体介绍本公开的各种非限制性实施例。

图1所示为本公开所适用的一示例性场景图。如图1所示,本公开所适用的场景中包括服务器1和可移动设备2,可移动设备2上装载有图像采集设备21。服务器1与可移动设备2上装载的图像采集设备21之间存在通信连接关系。

具体而言,图像采集设备21用于拍摄可移动设备2的行驶范围内的原始图像帧和原始图像帧对应的目标图像帧,其中,原始图像帧和目标图像帧具备时序关联关系。服务器1用于获取图像采集设备21拍摄的原始图像帧和目标图像帧,并确定原始图像帧对应的多个角点,然后基于目标图像帧生成目标图像帧对应的多个图像区域,继而基于多个角点和多个图像区域,确定原始图像帧和目标图像帧之间的光流信息。由于图1所示的场景利用服务器1实现了图像处理方法,因此,能够有效降低可移动设备2和/或图像采集设备21的计算量。

进一步地,服务器1在确定原始图像帧和目标图像帧之间的光流信息之后,基于光流信息执行图像配准或者目标跟踪步骤,以便辅助可移动设备2的行驶任务。

本公开还适用于另一示例性场景。具体地,本场景与图1所示场景的主要区别在于,本场景直接利用可移动设备2或图像采集设备21执行本公开的图像处理方法,无需再借助服务器1。由于本场景利用可移动设备2或图像采集设备21实现了图像处理方法,无需与服务器1等装置进行数据传输操作,因此,能够充分保证处理实时性。

需要说明的是,上述应用场景中提及的可移动设备2,包括但不限于为车辆、无人机、物流小车、扫地机器人等具备移动能力的设备。此外,应当理解,本公开下述实施例提供的图像处理方法,不局限于上述提及的应用场景,且应用场景中并非必须包含可移动设备2,只要涉及到计算原始图像帧和目标图像帧之间的光流信息的应用场景,均属于本公开实施例的适用范围。

图2所示为本公开一实施例提供的图像处理方法的流程示意图。如图2所示,本公开实施例提供的图像处理方法包括如下步骤。

步骤S100,确定原始图像帧和原始图像帧对应的多个角点。

可以理解,角点又称为特征点,指的是具有明显特性且有助于计算原始图像帧和目标图像帧之间的光流信息的点。角点的数量可根据图像帧的实际情况确定,本公开实施例对此不进行统一限定。

示例性地,基于用户选择信息,确定原始图像帧。通过对原始图像帧进行初步处理(比如特征点提取处理),得到原始图像帧对应的多个角点。

步骤S200,基于原始图像帧对应的目标图像帧,生成目标图像帧对应的多个图像区域。

示例性地,划分目标图像帧,以得到目标图像帧对应的多个图像区域。

步骤S300,基于多个角点和多个图像区域,确定原始图像帧和目标图像帧之间的光流信息。即,基于多个角点和多个图像区域,确定从原始图像帧到目标图像帧的光流信息。

示例性地,针对多个图像区域中的每个图像区域,以图像区域到角点的匹配逻辑确定多个角点各自对应的目标点,从而基于多个角点和多个角点各自对应的目标点确定原始图像帧和目标图像帧之间的光流信息。

示例性地,原始图像帧和目标图像帧为针对同一场景的、具备时序关联关系的两幅图像帧。比如,图像采集设备拍摄的同一图像序列中的两幅图像帧。

需要说明的是,原始图像帧和目标图像帧是相对应称呼的。举例说明,如果两幅图像帧分别为图像帧M1和图像帧M2,那么,如果要计算从图像帧M1到图像帧M2的光流信息,则可将图像帧M1视为原始图像帧,图像帧M2视为目标图像帧。如果要计算从图像帧M2到图像帧M1的光流信息,则可将图像帧M2视为原始图像帧,图像帧M1视为目标图像帧。由此可见,上述提及的原始图像帧和原始图像帧对应的目标图像帧,可基于实际情况自行指定,本申请实施例对此不进行统一限定。

示例性地,在实际应用过程中,首先确定原始图像帧和原始图像帧对应的多个角点,然后基于原始图像帧对应的目标图像帧,生成目标图像帧对应的多个图像区域,继而基于多个角点和多个图像区域,确定原始图像帧和目标图像帧之间的光流信息。

与现有直接基于原始图像帧对应的多个角点和目标图像帧确定原始图像帧和目标图像帧之间的光流信息的方法相比,本公开实施例提供的图像处理方法,通过将目标图像帧划分为多个图像区域,进而基于目标图像帧对应的多个图像区域和原始图像帧对应的多个角点确定原始图像帧和目标图像帧之间的光流信息的方式,降低了重复访问目标图像帧的次数,进而有效降低了计算量以及对访问带宽的需求。具体地,因将目标图像帧划分为多个图像区域,那么,便可基于先验数据预先绑定多个角点和多个图像区域之间的对应关系,继而针对多个角点中的每个角点,在该角点对应的图像区域中寻找该角点对应的目标点即可,无需再在整幅目标图像帧中寻找,由此便极大降低了寻找该角点对应的目标点时的计算量,也降低了对访问带宽的需求。

图3所示为本公开一实施例提供的基于多个角点和多个图像区域,确定原始图像帧和目标图像帧之间的光流信息的流程示意图。在本公开图2所示实施例的基础上延伸出本公开图3所示实施例,下面着重叙述图3所示实施例与图2所示实施例的不同之处,相同之处不再赘述。

如图3所示,在本公开实施例中,基于多个角点和多个图像区域,确定原始图像帧和目标图像帧之间的光流信息步骤,包括如下步骤。

步骤S310,基于多个角点各自对应的先验数据,确定多个角点各自在目标图像帧中的估计位置信息。

示例性地,先验数据又称为先验知识,是能够预估角点对应的目标点的粗略位置的数据,比如运动估计数据。

比如,利用LK(Lucas–Kanade)光流法得到先验数据,然后基于先验数据确定角点在目标图像帧中的估计位置信息。在一些实施例中,直接将利用LK(Lucas–Kanade)光流法得到的先验数据作为角点在目标图像帧中的估计位置信息。可以理解,给定LK光流法初始值,便可利用LK光流法计算得到先验数据。

下面简述基于LK光流法得到先验数据的原理。

LK光流法的应用须满足三个假设条件:灰度不变假设、小运动假设和空间一致性假设。其中,灰度不变假设指的是,在不同图像的重叠区域中,重叠像素点的灰度值是恒定不变的。小运动假设指的是,运动比较轻微时,像素位置随时间的变化不会过于剧烈。此时,前后两帧间位置的变化导致的灰度值变化可以近似为灰度对位置的偏导数。空间一致性假设指的是,真实场景中相邻的区域即使投影到二维图像中,仍然是相邻的图像区域。

上述提及的小运动假设不容易满足,在实际应用中容易遇到间隔帧出现较大变化的情况,从而对计算结果造成较大的误差。为了减缓这一假设不成立情况所导致的问题,可以在计算中缩小图像的尺寸,从而使得像素点的运动减少(图像尺寸减半时,像素运动自然也同时减半)。也就是说,通过对图像尺寸进行缩放,建立图像金字塔,可以使得L-K金字塔算法应用于较大的运动。

由此可见,LK光流法主要包括三个步骤:建立金字塔,金字塔跟踪以及迭代过程。具体如下。

首先需要对原始图像(即上述提及的原始图像帧)建立金字塔。其中,原始图像位于底层,其上每一层均基于上一层进行计算。金字塔中每一层均是上一层的下采样。

然后对于最高层的图像计算出其上的光流。通过上一层(L+1层)的计算结果对下一层(L层)的图像进行平移,并在L层的基础上计算出该层的残余光流向量。由于金字塔中每一层的尺寸均是上一层的一半,因此其每一层的光流均是其上一层的二分之一。通过L+1层计算出的光流作为初值计算L层的光流,可以保证每一层的残余光流向量较小。对于每一层进行迭代光流计算,最终得到的光流也即是所有层光流的叠加。

需要说明的是,由于顶层图像尺寸较小,其初始的光流估计量可以设置为0。即,给定一个初始值0,便可得到最终的先验数据。

步骤S320,基于多个角点各自的估计位置信息和多个图像区域,确定多个角点各自对应的图像区域隶属信息。

示例性地,角点对应的图像区域隶属信息指的是,能够表征角点对应的目标点隶属于哪一具体图像区域的信息。比如,目标图像帧共包括4个图像区域,分别为图像区域1、2、3和4,如果基于角点A的估计位置信息确定角点A对应的目标点应隶属于图像区域3,那么,角点A对应的图像区域隶属信息可以为:角点A隶属于图像区域3。

步骤S330,基于多个角点各自对应的图像区域隶属信息,确定多个图像区域各自对应的角点。

举例说明,原始图像帧共对应7个角点,分别为角点A、B、C、D、E、F和G,目标图像帧共包括4个图像区域,分别为图像区域1、2、3和4。在实际应用过程中,基于上述步骤S320确定7个角点各自对应的图像区域隶属信息为:角点A隶属于图像区域1,角点B隶属于图像区域1,角点C隶属于图像区域1,角点D隶属于图像区域2,角点E隶属于图像区域3、角点F隶属于图像区域4和角点G隶属于图像区域4。那么,基于上述图像区域隶属信息,便可得到,图像区域1对应的角点为角点A、B和C,图像区域2对应的角点为角点D,图像区域3对应的角点为角点E,图像区域4对应的角点为角点F和G。

步骤S340,基于多个图像区域和多个图像区域各自对应的角点,确定原始图像帧和所述目标图像帧之间的光流信息。

示例性地,针对多个图像区域中的每个图像区域,基于该图像区域以及该图像区域对应的角点,确定该图像区域对应的角点各自对应的目标点,进而最终基于原始图像帧对应的角点和角点对应的目标点确定原始图像帧和所述目标图像帧之间的光流信息。

本公开实施例提供的图像处理方法,能够预先确定多个角点和多个图像区域之间的隶属关系,进而基于隶属关系在每个图像区域中寻找该图像区域对应的角点所对应的目标点。由此可见,本公开实施例能够在保证计算精度的前提下极大降低计算量。

图4所示为本公开一实施例提供的基于多个图像区域和多个图像区域各自对应的角点,确定原始图像帧和所述目标图像帧之间的光流信息的流程示意图。在本公开图3所示实施例的基础上延伸出本公开图4所示实施例,下面着重叙述图4所示实施例与图3所示实施例的不同之处,相同之处不再赘述。

如图4所示,在本公开实施例中,基于多个图像区域和多个图像区域各自对应的角点,确定原始图像帧和所述目标图像帧之间的光流信息步骤,包括如下步骤。

步骤S341,针对多个图像区域中的每个图像区域,确定图像区域对应的角点各自在图像区域中的目标点。

示例性地,针对每个角点,利用该角点的先验数据,确定该角点的目标点。比如,角点的坐标为(x,y),该角点对应的先验数据为(Δx,Δy),则该角点的目标点的坐标即为(x+Δx,y+Δy)。

步骤S342,基于图像区域对应的角点、图像区域对应的角点各自在图像区域中的目标点,确定图像区域对应的光流信息。

可以理解,图像区域对应的光流信息指的是,该图像区域和原始图像帧之间的光流信息。

需要说明的是,光流信息可以视为位移信息(又称位移量信息)。具体地,针对原始图像帧中的多个角点以及目标图像帧中的多个目标点,多个角点与各自对应的目标点之间的位移信息,即为光流信息。

步骤S343,基于多个图像区域各自对应的光流信息,确定原始图像帧和目标图像帧之间的光流信息。

举例说明,将多个图像区域各自对应的光流信息综合在一起,即为原始图像帧和目标图像帧之间的光流信息。注意,这里提及的综合在一起,指的是简单的组合一起,无需进行数据变换以及数据拼接等操作。

如前所述,光流信息可以视为位移信息(又称位移量信息),即,可以理解为,光流为位移量。

也就是说,本公开实施例通过将目标图像帧划分为多个图像区域,然后基于多个图像区域各自对应的角点确定多个图像区域各自对应的光流信息,继而基于多个图像区域各自对应的光流信息确定原始图像帧和目标图像帧之间的光流信息的方式,优化了原始图像帧和目标图像帧之间的光流信息的确定过程,避免了根据角点随机读取目标图像帧的随机区域的情况。

图5所示为本公开一实施例提供的基于图像区域对应的角点、图像区域对应的角点各自在图像区域中的目标点,确定图像区域对应的光流信息的流程示意图。在本公开图4所示实施例的基础上延伸出本公开图5所示实施例,下面着重叙述图5所示实施例与图4所示实施例的不同之处,相同之处不再赘述。

如图5所示,在本公开实施例中,基于图像区域对应的角点、图像区域对应的角点各自在图像区域中的目标点,确定图像区域对应的光流信息步骤,包括如下步骤。

步骤S3421,基于图像区域对应的角点,确定图像区域对应的角点各自的角点邻域。

示例性地,基于利用LK光流法确定图像区域对应的角点,以及角点的角点邻域。

步骤S3422,基于图像区域对应的角点、图像区域对应的角点各自的角点邻域,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域。

示例性地,角点邻域为以角点为中心,向远离角点的四周周向扩展预设距离得到的区域。同理,目标点邻域为以目标点为中心,向远离目标点的四周周向扩展预设距离得到的区域。

步骤S3423,基于图像区域对应的角点、图像区域对应的角点各自的角点邻域、图像区域对应的角点各自在图像区域中的目标点和目标点邻域,确定图像区域对应的光流信息。

比如,针对图像区域对应的每个角点,基于该角点的角点区域,以及该角点对应的目标点的目标点区域,确定该角点区域和该目标点区域之间的光流信息(又称位移信息),那么,该图像区域对应的所有角点对应的光流信息,即为该图像区域对应的光流信息。

由于角点邻域能够提高角点对应的信息量,目标点邻域能够提高目标点对应的信息量,因此,与单纯利用角点寻找目标点,进而基于角点和目标点确定光流信息的方式相比,本公开实施例能够利用角点邻域和目标点邻域,进一步提高得到的光流信息的精准度,进而为提高后续基于光流信息进行的图像配准、目标跟踪等操作的精准度提供了数据基础。

为进一步明确角点邻域和目标点邻域的含义,下面结合图6a和图6b举例说明。

图6a和图6b所示为本公开一实施例提供的原始图像帧和目标图像帧的示意图。具体地,图6a所示为原始图像帧,图6b所示为目标图像帧。如图6a所示,原始图像帧中共包括4个角点,分别为角点A1、A2、A3和A4,其余未标号的点可以理解为是常规的像素点。如图6b所示,目标图像帧被划分为4个图像区域,分别为图像区域1、2、3和4,并且,目标图像帧中共包括4个目标点,分别为目标点B1、B2、B3和B4,其余未标号的点可以理解为是常规的像素点。可以理解,角点A1与目标点B1对应,角点A2与目标点B2对应,角点A3与目标点B3对应,角点A4与目标点B4对应。

参照图6a和图6b可得见,角点A1被一矩形框包覆,那么可以理解,该矩形框所圈定的区域即为角点邻域。同理,目标点B1亦被一矩形框包覆,那么可以理解,该矩形框所圈定的区域即为目标点邻域。

图7所示为本公开一实施例提供的基于图像区域对应的角点、图像区域对应的角点各自的角点邻域,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域的流程示意图。在本公开图5所示实施例的基础上延伸出本公开图7所示实施例,下面着重叙述图7所示实施例与图5所示实施例的不同之处,相同之处不再赘述。

如图7所示,在本公开实施例中,基于图像区域对应的角点、图像区域对应的角点各自的角点邻域,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域步骤,包括如下步骤。

步骤S34221,基于图像区域对应的角点、图像区域对应的角点各自的角点邻域,确定图像区域对应的角点各自的顺序编号信息。

举例说明,如果一图像区域对应有3个角点,那么,可以对该3个角点进行编号(比如基于阿拉伯数字或英文字母编号),即,得到该3个角点各自的编号信息。

因角点区域能够更好地表征角点的光流特性,因此,本公开实施例基于角点和角点的角点邻域确定角点的顺序编号信息的方式,能够提高顺序编号信息的合理性,进而进一步降低后续计算光流信息的图像帧访存量。

步骤S34222,基于图像区域和顺序编号信息,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域。

也就是说,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域,充分利用了顺序编号信息。其中,步骤S34222的具体实现方式可参见下述图8所示实施例。

本公开实施例提供的图像处理方法,通过基于图像区域对应的角点、图像区域对应的角点各自的角点邻域,确定图像区域对应的角点各自的顺序编号信息,继而基于图像区域和顺序编号信息,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域的方式,实现了基于图像区域对应的角点、图像区域对应的角点各自的角点邻域,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域的目的。由于图像区域对应的角点对应有编号,那么,在角点和预估目标点的计算匹配过程中,便可参考编号执行匹配操作,避免了随机读取目标图像帧的图像区域的情况,进而实现了高效快速地确定角点对应的目标点的目的。

图8所示为本公开一实施例提供的基于图像区域和顺序编号信息,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域的流程示意图。在本公开图7所示实施例的基础上延伸出本公开图8所示实施例,下面着重叙述图8所示实施例与图7所示实施例的不同之处,相同之处不再赘述。

如图8所示,在本公开实施例中,基于图像区域和顺序编号信息,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域步骤,包括如下步骤。

步骤S351,基于图像区域对应的角点对应的先验数据,确定图像区域中的至少一个预估目标点和至少一个预估目标点各自的预估目标点邻域。

如前所述,先验数据指的是能够预估角点对应的目标点的粗略位置的数据。那么,基于图像区域对应的角点对应的先验数据,便可计算得到图像区域中的至少一个预估目标点和至少一个预估目标点各自的预估目标点邻域。

也就是说,针对每个角点,基于该角点对应的先验数据,能够生成该角点对应的至少一个预估目标点和至少一个预估目标点各自的预估目标点邻域。比如,角点的坐标信息加先验数据位移信息,便可得到至少一个预估目标点的坐标。针对每个预估目标点,基于该预估目标点的坐标,再加一个预设偏移量,便可得到该预估目标点对应的预估目标点邻域。基于上述原理,以此类推,便可得到多个预估目标点以及多个预估目标点各自对应的预估目标点邻域。

步骤S352,针对至少一个预估目标点中的每个预估目标点,按照顺序编号信息,将预估目标点和预估目标点的预估目标点邻域与图像区域对应的角点、图像区域对应的角点各自的角点邻域进行匹配,得到匹配结果。

示例性地,针对至少一个预估目标点中的每个预估目标点,按照顺序编号信息,将预估目标点和预估目标点的预估目标点邻域与图像区域对应的角点、图像区域对应的角点各自的角点邻域进行匹配,待寻找到该预估目标点对应的角点后,便可将该角点和该预估目标点绑定,并从角点序列中删除该角点,以简化后续计算。最终,得到图像区域对应的角点各自匹配的目标点。

步骤S353,基于至少一个预估目标点各自对应的匹配结果,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域。

本公开实施例借助原始图像帧中的角点的稀疏性,以角点为基准,将通过划分目标图像帧得到的图像区域中的预估目标点与角点匹配计算。与现有基于原始图像帧中的角点依次在目标图像帧中作循环迭代计算的方式相比,本公开实施例能够充分利用角点的稀疏性和不变性,进而实现减少读取的带宽以及重复访问目标图像帧的次数的目的。

示例性地,基于上述任一实施例提及的图像处理方法得到原始图像帧和目标图像帧之间的光流信息之后,可基于光流信息实现原始图像帧和目标图像帧的图像配准操作,亦可以基于光流信息实现目标跟踪操作等,本公开实施例对此不进行统一限定。

上文结合图2至图8,详细描述了本公开的方法实施例,下面结合图9和图10,详细描述本公开的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。

图9所示为本公开一实施例提供的图像处理装置的结构示意图。如图9所示,本公开实施例提供的图像处理装置包括:第一确定模块100、生成模块200和第二确定模块300。具体地,第一确定模块100用于确定原始图像帧和原始图像帧对应的多个角点。生成模块200用于基于原始图像帧对应的目标图像帧,生成目标图像帧对应的多个图像区域,其中,原始图像帧和目标图像帧具备时序关联关系。第二确定模块300用于基于多个角点和多个图像区域,确定原始图像帧和目标图像帧之间的光流信息。

在一些实施例中,第二确定模块300还用于,基于多个角点各自对应的先验数据,确定多个角点各自在目标图像帧中的估计位置信息,基于多个角点各自的估计位置信息和多个图像区域,确定多个角点各自对应的图像区域隶属信息,基于多个角点各自对应的图像区域隶属信息,确定多个图像区域各自对应的角点,基于多个图像区域和多个图像区域各自对应的角点,确定原始图像帧和所述目标图像帧之间的光流信息。

在一些实施例中,第二确定模块300还用于,针对多个图像区域中的每个图像区域,基于图像区域,确定图像区域对应的角点各自在图像区域中的目标点,基于图像区域对应的角点、图像区域对应的角点各自在图像区域中的目标点,确定图像区域对应的光流信息,基于多个图像区域各自对应的光流信息,确定原始图像帧和目标图像帧之间的光流信息。

在一些实施例中,第二确定模块300还用于,基于图像区域对应的角点,确定图像区域对应的角点各自的角点邻域,基于图像区域对应的角点、图像区域对应的角点各自的角点邻域,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域,基于图像区域对应的角点、图像区域对应的角点各自的角点邻域、图像区域对应的角点各自在图像区域中的目标点和目标点邻域,确定图像区域对应的光流信息。

在一些实施例中,第二确定模块300还用于,基于图像区域对应的角点、图像区域对应的角点各自的角点邻域,确定图像区域对应的角点各自的顺序编号信息,基于图像区域和顺序编号信息,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域。

在一些实施例中,第二确定模块300还用于,基于图像区域对应的角点对应的先验数据,确定图像区域中的至少一个预估目标点和至少一个预估目标点各自的预估目标点邻域,针对至少一个预估目标点中的每个预估目标点,按照顺序编号信息,将预估目标点和预估目标点的预估目标点邻域与图像区域对应的角点、图像区域对应的角点各自的角点邻域进行匹配,得到匹配结果,基于至少一个预估目标点各自对应的匹配结果,确定图像区域对应的角点各自在图像区域中的目标点和目标点邻域。

下面,参考图10来描述根据本公开实施例的电子设备。图10所示为本公开一实施例提供的电子设备的结构示意图。如图10所示,电子设备40包括一个或多个处理器401和存储器402。

处理器401可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备40中的其他组件以执行期望的功能。

存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器401可以运行所述程序指令,以实现上文所述的本公开的各个实施例的图像处理方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如目标图像帧等各种内容。

在一个示例中,电子设备40还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。

该输入装置403可以包括例如键盘、鼠标等等。

该输出装置404可以向外部输出各种信息,包括原始图像帧和目标图像帧之间的光流信息等。该输出装置404可以包括例如显示器、通信网络及其所连接的远程输出设备等等。

当然,为了简化,图10中仅示出了该电子设备40中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备40还可以包括任何其他适当的组件。

除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的图像处理方法中的步骤。

所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。

此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的图像处理方法中的步骤。

所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

技术分类

06120113677128