坐标处理方法、装置及电子设备与流程

文档序号:16268699发布日期:2018-12-14 22:06阅读:149来源:国知局
坐标处理方法、装置及电子设备与流程

本公开涉及图像处理技术领域,具体而言,涉及一种坐标处理方法、装置及电子设备。

背景技术

对某一对象进行实时跟踪有十分广泛的应用场景,例如,可以为对象添加增强现实(augmentedreality,ar)素材、辅助建立三维(3dimensions,3d)模型等。但是,经研究发现,现有的实时跟踪方案存在获取的图像中的坐标点不够精准的问题。



技术实现要素:

有鉴于此,本公开的目的在于提供一种坐标处理方法、装置及电子设备。

第一方面,本公开提供了一种坐标处理方法,所述方法包括:

获得跟踪对象的当前帧图像和上一帧图像;

针对所述当前帧图像中的每个点坐标,计算该点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移;

根据所述当前帧图像中的各点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移,计算得到所述当前帧图像相对于所述上一帧图像的整体有序位移;

根据预设平滑阈值以及所述整体有序位移,对所述当前帧图像中的各点坐标进行修正。

可选地,计算得到所述当前帧图像相对于所述上一帧图像的整体有序位移的步骤,包括:

将所述当前帧图像中的各点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移分别进行排序;

在排序后的各所述x轴上的水平位移中心位置取出b个水平位移,在排序后的各所述y轴上的竖直位移中心位置取出b个竖直位移;

计算所述b个水平位移的平均值,记为dx,计算所述b个竖直位移的平均值,记为dy,将所述b个水平位移的平均值dx和所述b个竖直位移的平均值dy作为所述当前帧图像相对于所述上一帧图像的整体有序位移。

可选地,根据预设平滑阈值以及所述整体有序位移,对所述当前帧图像中的各点坐标进行修正的步骤,包括:

计算得到所述当前帧中的各点坐标的无序位移;

根据所述各点坐标的无序位移、预设平滑阈值以及所述整体有序位移,对所述当前帧图像中的各点坐标进行修正。

可选地,所述当前帧中的各点坐标的无序位移通过以下公式计算得到:

其中,dxi指所述当前帧中第i个点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移;dyi指所述当前帧中第i个点坐标相对于所述上一帧图像中对应的点坐标在y轴上的竖直位移;指所述当前帧中第i个点坐标在x轴上的水平无序位移;指所述当前帧中第i个点坐标在y轴上的竖直无序位移。

可选地,在对所述当前帧图像中的各点坐标进行修正之前,所述方法还包括:

对所述预设平滑阈值做归一化处理,得到归一化后的阈值σ,从而根据所述各点坐标的无序位移、归一化后的阈值以及所述整体有序位移,对所述当前帧图像中的各点坐标进行修正。

可选地,所述当前帧图像和上一帧图像均为人脸图像,所述当前图像和上一帧图像中的各点坐标为人脸坐标;

所述对所述预设平滑阈值做归一化处理的步骤,包括:

将所有人脸坐标对标准眼距做归一化处理,从而得到归一化后的阈值σ。

可选地,所述当前帧图像中的各点坐标通过以下公式进行修正

其中,指所述当前帧图像中第i个点坐标修正后的x轴点坐标;指所述当前帧图像中第i个点坐标修正后的y轴点坐标;指当前帧图像中第i个点坐标修正前的x轴点坐标;指当前帧图像中第i个点坐标修正前的y轴点坐标。

第二方面,本公开提供了一种坐标处理装置,所述坐标处理装置包括:

图像获得模块,用于获得跟踪对象的当前帧图像和上一帧图像;

位移计算模块,用于针对所述当前帧图像中的每个点坐标,计算该点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移;根据所述当前帧图像中的各点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移,计算得到所述当前帧图像相对于所述上一帧图像的整体有序位移;

位移修正模块,用于根据预设平滑阈值以及所述整体有序位移,对所述当前帧图像中的各点坐标进行修正。

可选地,所述位移计算模块用于通过以下步骤计算得到所述当前帧图像相对于所述上一帧图像的整体有序位移:

将所述当前帧图像中的各点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移分别进行排序;

在排序后的各所述x轴上的水平位移中心位置取出b个水平位移,在排序后的各所述y轴上的竖直位移中心位置取出b个竖直位移;

计算所述b个水平位移的平均值,记为dx,计算所述b个竖直位移的平均值,记为dy,将所述b个水平位移的平均值dx和所述b个竖直位移的平均值dy作为所述当前帧图像相对于所述上一帧图像的整体有序位移。

第三方面,本公开提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的坐标处理方法

第四方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序运行时控制所述计算机可读存储介质所在电子设备执行上述的坐标处理方法。

本公开提供的坐标处理方法、装置及电子设备,通过计算当前帧图像中的每个点坐标相对于上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移,得出当前帧图像相对于上一帧图像的整体有序位移,进而根据预设平滑阈值以及整体有序位移,对当前帧图像中的各点坐标进行修正,从而显著提高了坐标点的精准性。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本公开提供的一种电子设备的方框示意图。

图2为本公开提供的一种坐标处理方法的流程示意图。

图3为图2中步骤s13的流程示意图。

图4为本公开提供的一种坐标处理装置的方框示意图。

图标:10-电子设备;11-存储器;12-处理器;13-网络模块;20-坐标处理装置;21-图像获得模块;22-位移计算模块;23-位移修正模块。

具体实施方式

经研究发现,由于受限于当前很多移动端实时的应用场景等因素,跟踪处理算法的性能受到严格的限制。这除了会带来跟踪方案中获取的图像中的坐标点不够精准的问题,同时也经常带来坐标点的抖动问题。

为了提高跟踪方案中获取的图像中的坐标点的精准性,可以采用光流进行点的防抖,虽然该种处理方式能够取得很不错的效果,然而最大的缺陷就是时间开销比较大,在实时场景下会占用较多时间。为了提高处理效率,可以采用其他简单的处理方式,如通过平滑算法进行处理,然而,采用其他简单的处理方式,如平滑算法虽然处理效率较快,但是会出现较明显的迟滞问题,在微小运动的情况下甚至会降低点的精度。

有鉴于此,本公开提供一种坐标处理方法、装置及电子设备,通过计算当前帧图像中的每个点坐标相对于上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移,得出当前帧图像相对于上一帧图像的整体有序位移,进而根据预设平滑阈值以及整体有序位移,对当前帧图像中的各点坐标进行修正,从而显著提高了坐标点的精准性。

下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

如图1所示,是本公开提供的电子设备10的一种方框示意图。本公开中的电子设备10可以为服务器、处理设备等具有图像处理功能的设备。如图1所示,电子设备10包括:存储器11、处理器12、网络模块13及坐标处理装置20。

所述存储器11、处理器12以及网络模块13相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有坐标处理装置20,所述坐标处理装置20包括至少一个可以软件或固件(firmware)的形式存储于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,如本公开中的坐标处理装置20,从而执行各种功能应用以及数据处理,即实现本公开中的坐标处理方法。

其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。

所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本公开中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

网络模块13用于通过网络建立电子设备10与外部通信终端之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。

可以理解,图1所示的结构仅为示意,电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

本公开还提供一种计算机可读存储介质,包括计算机程序。所述计算机程序运行时控制所述计算机可读存储介质所在电子设备10执行下面的坐标处理方法。

请结合参阅图2,电子设备10通过以下步骤实现坐标处理。

步骤s11,获得跟踪对象的当前帧图像和上一帧图像。

步骤s12,针对所述当前帧图像中的每个点坐标,计算该点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移。

坐标系可以灵活建立,例如,在图像所在平面内绘制两条相互垂直,并且有公共原点的数轴。其中横轴为x轴,纵轴为y轴。坐标系的原点可以选择为图像中心点,图像右上角、左上角、右下角、左下角等,本公开对此不作限制。

例如,当前帧t图像中第i个点坐标相对于上一帧t-1图像中第i个点坐标在x轴上的水平位移可以记为dxi,在y轴上的竖直位移可以记为dyi

本公开中的水平位移和竖直位移可以理解为具有长度和方向两个属性的向量,相应地,水平位移可以理解为点坐标在直角坐标系中的水平分量。竖直位移可以理解为点坐标在直角坐标系中的垂直分量。

步骤s13,根据所述当前帧图像中的各点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移,计算得到所述当前帧图像相对于所述上一帧图像的整体有序位移。

请结合参阅图3,作为其中一种可选实现方式,步骤s13可以通过以下步骤实现。

步骤s131,将所述当前帧图像中的各点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移分别进行排序。

可选地,本公开中,点坐标在x轴上的水平位移以及在y轴上的竖直位移按照位移长度大小排序。例如,可以按照位移长度由大到小的顺序依次排序。又例如,可以按照位移长度由小到大的顺序依次排序。

步骤s132,在排序后的各所述x轴上的水平位移中心位置取出b个水平位移,在排序后的各所述y轴上的竖直位移中心位置取出b个竖直位移。

步骤s133,计算所述b个水平位移的平均值,记为dx,计算所述b个竖直位移的平均值,记为dy,将所述b个水平位移的平均值dx和所述b个竖直位移的平均值dy作为所述当前帧图像相对于所述上一帧图像的整体有序位移。

可选地,本公开中,将当前帧图像中所有点坐标的平均位移作为当前帧图像的整体有序位移,也可以称为整体有序运动向量。将当前帧图像中各点坐标相对于整体运动的偏差近似地认为是各自的无序位移,也可以称为高频无需运动位移。

步骤s14,根据预设平滑阈值以及所述整体有序位移,对所述当前帧图像中的各点坐标进行修正。

为了进一步提高对各点坐标修正的精准性,可选地,根据预设平滑阈值以及所述整体有序位移,对所述当前帧图像中的各点坐标进行修正的步骤包括:计算得到所述当前帧中的各点坐标的无序位移,根据所述各点坐标的无序位移、预设平滑阈值以及所述整体有序位移,对所述当前帧图像中的各点坐标进行修正。

其中,当前帧中的各点坐标的无序位移可以通过以下公式计算得到:

其中,dxi指所述当前帧中第i个点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移。dyi指所述当前帧中第i个点坐标相对于所述上一帧图像中对应的点坐标在y轴上的竖直位移。指所述当前帧中第i个点坐标在x轴上的水平无序位移。指所述当前帧中第i个点坐标在y轴上的竖直无序位移。

为了消除尺度变化的影响,本公开中在对所述当前帧图像中的各点坐标进行修正之前,对所述预设平滑阈值做归一化处理,得到归一化后的阈值σ,从而根据所述各点坐标的无序位移、归一化后的阈值以及所述整体有序位移,对所述当前帧图像中的各点坐标进行修正。

鉴于人脸图像为跟踪方案中较为核心的图像。可选地,本公开中的当前帧图像和上一帧图像均为人脸图像,所述当前图像和上一帧图像中的各点坐标为人脸坐标。相应地,所述对所述预设平滑阈值做归一化处理的步骤可以包括:将所有人脸坐标对标准眼距做归一化处理,从而得到归一化后的阈值σ。

可选地,当前帧图像中的各点坐标通过以下公式进行修正

其中,指所述当前帧图像中第i个点坐标修正后的x轴点坐标。指所述当前帧图像中第i个点坐标修正后的y轴点坐标;指当前帧图像中第i个点坐标修正前的x轴点坐标;指当前帧图像中第i个点坐标修正前的y轴点坐标。即为修正后的、防抖的点坐标。

经研究发现,本公开提供的坐标处理方法不仅精准度较高,而且相比较于采用光流进行处理的方案,大大减少了计算量,在实际移动端的测试中,明显提升了人脸点跟踪帧率,并降低了机器功耗。同时,该方法有效规避了普通平滑算法固有的迟滞的现象,维持了点坐标的精度。

在上述基础上,如图4所示,本公开提供了一种坐标处理装置20,所述坐标处理装置20包括:图像获得模块21、位移计算模块22和位移修正模块23。

其中,图像获得模块21用于获得跟踪对象的当前帧图像和上一帧图像。

由于图像获得模块21和图2中步骤s11的实现原理类似,因而在此不作更多说明。

位移计算模块22用于针对所述当前帧图像中的每个点坐标,计算该点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移;根据所述当前帧图像中的各点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移,计算得到所述当前帧图像相对于所述上一帧图像的整体有序位移。

由于位移计算模块22和图2中步骤s12和步骤s13的实现原理类似,因而在此不作更多说明。

位移修正模块23用于根据预设平滑阈值以及所述整体有序位移,对所述当前帧图像中的各点坐标进行修正。

由于位移修正模块23和图2中步骤s14的实现原理类似,因而在此不作更多说明。

可选地,所述位移计算模块22用于通过以下步骤计算得到所述当前帧图像相对于所述上一帧图像的整体有序位移:将所述当前帧图像中的各点坐标相对于所述上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移分别进行排序。在排序后的各所述x轴上的水平位移中心位置取出b个水平位移,在排序后的各所述y轴上的竖直位移中心位置取出b个竖直位移。计算所述b个水平位移的平均值,记为dx,计算所述b个竖直位移的平均值,记为dy,将所述b个水平位移的平均值dx和所述b个竖直位移的平均值dy作为所述当前帧图像相对于所述上一帧图像的整体有序位移。

本公开中的坐标处理方法、装置及电子设备10,通过计算当前帧图像中的每个点坐标相对于上一帧图像中对应的点坐标在x轴上的水平位移,以及在y轴上的竖直位移,得出当前帧图像相对于上一帧图像的整体有序位移,进而根据预设平滑阈值以及整体有序位移,对当前帧图像中的各点坐标进行修正,从而显著提高了坐标点的精准性。

在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本公开的可选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1