图像处理方法和装置、机器人与流程

文档序号:14489333阅读:173来源:国知局
图像处理方法和装置、机器人与流程

本申请涉及图像领域,具体而言,涉及一种图像处理方法和装置、机器人。



背景技术:

移动目标的监测与追踪是智能视频系统研究的重要内容,在科技、军事、交通、安全、医疗等领域都发挥了举足轻重的作用。图1至图4展示了相关技术中对视频的图像帧进行处理的过程,相关技术中对图像帧的处理得到的结果精确度低,无法精确跟踪视频中的移动目标。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种图像处理方法和装置、机器人,以至少解决现有技术中无法精确跟踪视频中的移动目标的技术问题。

根据本申请实施例的一个方面,提供了一种图像处理方法,包括:获取第一图像帧的第一颜色值、第二图像帧的第二颜色值和第三图像帧的第三颜色值,其中,所述第一图像帧与所述第二图像帧相邻,所述第二图像帧与所述第三图像帧相邻;根据所述第一颜色值和所述第二颜色值确定目标对象在目标坐标系中的第一位置,并且根据所述第二颜色值和所述第三颜色值确定所述目标对象在所述目标坐标系中的第二位置;根据所述第一位置和所述第二位置确定所述目标对象的移动方向。

进一步地,根据所述第一颜色值和所述第二颜色值确定目标对象在目标坐标系中的第一位置,并且根据所述第二颜色值和所述第三颜色值确定所述目标对象在所述目标坐标系中的第二位置包括:根据所述第二图像帧的所述第二颜色值和所述第一图像帧的递推颜色值获取所述第一位置,其中,所述第一图像帧的递推颜色值根据所述第一图像帧和所述第一图像帧的上一个图像帧的递推颜色值得到,在所述第一图像帧为第一帧图像帧时,所述第一图像帧的递推颜色值根据所述第一颜色值得到;根据所述第三图像帧的所述第三颜色值和所述第二图像帧的递推颜色值获取所述第二位置,其中,所述第二图像帧的递推颜色值根据所述第二图像帧和所述第一图像帧的递推颜色值得到。

进一步地,采用以下公式计算所述第二图像帧的递推颜色值:第二图像帧的递推颜色值=(第二图像帧+r*第一图像帧的递推颜色值)/(1+r),其中,所述r为预设比例值。

进一步地,根据所述第二图像帧的所述第二颜色值和所述第一图像帧的递推颜色值获取所述第一位置包括:根据所述第二图像帧的所述第二颜色值和所述第一图像帧的递推颜色值获取第一矩阵,根据所述第一矩阵计算所述第一位置。

进一步地,根据所述第二图像帧的所述第二颜色值和所述第一图像帧的递推颜色值获取第一矩阵包括:采用以下公式获取所述第一矩阵:第一矩阵=第一系数*第一结果+第二系数*第二结果+第三系数*第三结果+第四系数*第四结果,其中,所述第一系数、所述第二系数、所述第三系数和所述第四系数为预先设置,并且所述第一系数、所述第二系数、所述第三系数和所述第四系数中至少一个不等于零,其中,获取所述第一结果的过程是:将所述第二图像帧的所述第二颜色值与所述第一图像帧的递推颜色值作差,并且求绝对值,得到第一结果;获取所述第二结果的过程是:获取所述第二图像帧的所述第二颜色值与所述第一图像帧的递推颜色值的差值,对所述差值求梯度,并且求绝对值,得到第二结果;获取所述第三结果的过程是:求所述第二颜色值的梯度的绝对值与所述第一图像帧的递推颜色值的梯度之差,并且求绝对值,得到第三结果;获取所述第四结果的过程是:获取所述第二颜色值与所述第一图像帧的递推颜色值之差的梯度矩阵,按照所述梯度矩阵的元素由大到小的顺序保存预设比例的所述元素,将保存预设比例的所述元素之后的新的梯度矩阵的梯度求绝对值,作为第四结果。

进一步地,根据所述第一矩阵计算所述第一位置包括:根据所述第一矩阵的元素的坐标值确定第一坐标点,其中,所述第一坐标点的坐标值是所述第一矩阵的元素中最大的;将所述第一坐标点为中心作矩形框,其中,所述矩形框的边沿的元素的坐标值的平均值与所述矩形框的框内的元素的坐标值的平均值存在预设数值关系;根据预设条件判断所述目标对象是否处于所述矩形框内;如果所述目标对象处于所述矩形框内,将所述第一坐标点作为所述第一位置。

进一步地,所述第一矩阵的每个元素具有红、绿、蓝三个维度,根据所述第一矩阵的元素的坐标值确定第一坐标点包括:将所述第一矩阵中每个元素的红、绿、蓝三个维度的坐标值相加,得到第三矩阵,其中,所述第三矩阵的每个元素具有一个维度;将所述第三矩阵中每个元素的周边预设数量的元素的坐标值求平均值,将所述平均值作为所述第三矩阵中元素的坐标值;将所述第三矩阵中坐标值在第一预设范围之内的元素的坐标值赋值为零,得到第四矩阵;将所述第四矩阵中坐标值最大的元素的坐标作为所述第一坐标点。

进一步地,所述方法还包括:获取所述目标对象的特征颜色值;将所述第一图像帧的所述第一颜色值和所述特征颜色值之差作为第一矩阵,将所述第二图像帧的所述第二颜色值和所述特征颜色值之差作为第二矩阵;根据所述第一矩阵计算所述第一位置,并且根据所述第二矩阵计算所述第二位置。

根据本申请实施例的另一方面,还提供了一种图像处理装置,包括:第一获取单元,用于获取第一图像帧的第一颜色值、第二图像帧的第二颜色值和第三图像帧的第三颜色值,其中,所述第一图像帧与所述第二图像帧相邻,所述第二图像帧与所述第三图像帧相邻;第一确定单元,用于根据所述第一颜色值和所述第二颜色值确定目标对象在目标坐标系中的第一位置,并且根据所述第二颜色值和所述第三颜色值确定所述目标对象在所述目标坐标系中的第二位置;第二确定单元,用于根据所述第一位置和所述第二位置确定所述目标对象的移动方向。

进一步地,所述第一确定单元包括:第一获取子单元,用于根据所述第二图像帧的所述第二颜色值和所述第一图像帧的递推颜色值获取所述第一位置,其中,所述第一图像帧的递推颜色值根据所述第一图像帧和所述第一图像帧的上一个图像帧的递推颜色值得到,在所述第一图像帧为第一帧图像帧时,所述第一图像帧的递推颜色值根据所述第一颜色值得到;第二获取子单元,用于根据所述第三图像帧的所述第三颜色值和所述第二图像帧的递推颜色值获取所述第二位置,其中,所述第二图像帧的递推颜色值根据所述第二图像帧和所述第一图像帧的递推颜色值得到。

进一步地,采用以下公式计算所述第二图像帧的递推颜色值:第二图像帧的递推颜色值=(第二图像帧+r*第一图像帧的递推颜色值)/(1+r),其中,所述r为预设比例值。

进一步地,所述第一获取子单元包括:获取模块,用于根据所述第二图像帧的所述第二颜色值和所述第一图像帧的递推颜色值获取第一矩阵,根据所述第一矩阵计算所述第一位置。

进一步地,所述获取模块包括:获取子模块,用于采用以下公式获取所述第一矩阵:第一矩阵=第一系数*第一结果+第二系数*第二结果+第三系数*第三结果+第四系数*第四结果,其中,所述第一系数、所述第二系数、所述第三系数和所述第四系数为预先设置,并且所述第一系数、所述第二系数、所述第三系数和所述第四系数中至少一个不等于零,其中,所述获取子模块用于将所述第二图像帧的所述第二颜色值与所述第一图像帧的递推颜色值作差,并且求绝对值,得到第一结果;所述获取子模块用于获取所述第二图像帧的所述第二颜色值与所述第一图像帧的递推颜色值的差值,对所述差值求梯度,并且求绝对值,得到第二结果;所述获取子模块用于求所述第二颜色值的梯度的绝对值与所述第一图像帧的递推颜色值的梯度之差,并且求绝对值,得到第三结果;所述获取子模块用于获取所述第二颜色值与所述第一图像帧的递推颜色值之差的梯度矩阵,按照所述梯度矩阵的元素由大到小的顺序保存预设比例的所述元素,将保存预设比例的所述元素之后的新的梯度矩阵的梯度求绝对值,作为第四结果。

进一步地,所述获取模块包括:第一确定子模块,用于根据所述第一矩阵的元素的坐标值确定第一坐标点,其中,所述第一坐标点的坐标值是所述第一矩阵的元素中最大的;第二确定子模块,用于将所述第一坐标点为中心作矩形框,其中,所述矩形框的边沿的元素的坐标值的平均值与所述矩形框的框内的元素的坐标值的平均值存在预设数值关系;判断子模块,用于根据预设条件判断所述目标对象是否处于所述矩形框内;第三确定子模块,用于如果所述目标对象处于所述矩形框内,将所述第一坐标点作为所述第一位置。

进一步地,所述第一矩阵的每个元素具有红、绿、蓝三个维度,所述第一确定子模块包括:第一计算小模块,用于将所述第一矩阵中每个元素的红、绿、蓝三个维度的坐标值相加,得到第三矩阵,其中,所述第三矩阵的每个元素具有一个维度;第二计算小模块,用于将所述第三矩阵中每个元素的周边预设数量的元素的坐标值求平均值,将所述平均值作为所述第三矩阵中元素的坐标值;赋值小模块,用于将所述第三矩阵中坐标值在第一预设范围之内的元素的坐标值赋值为零,得到第四矩阵;确定小模块,用于将所述第四矩阵中坐标值最大的元素的坐标作为所述第一坐标点。

进一步地,所述装置还包括:第二获取单元,用于获取所述目标对象的特征颜色值;第一计算单元,用于将所述第一图像帧的所述第一颜色值和所述特征颜色值之差作为第一矩阵,将所述第二图像帧的所述第二颜色值和所述特征颜色值之差作为第二矩阵;第二计算单元,用于根据所述第一矩阵计算所述第一位置,并且根据所述第二矩阵计算所述第二位置。

根据本申请实施例的又一个方面,提供了一种机器人,包括:上述的图像处理装置。

在本申请实施例中,获取第一图像帧的第一颜色值、第二图像帧的第二颜色值和第三图像帧的第三颜色值,其中,第一图像帧与第二图像帧相邻,第二图像帧与第三图像帧相邻,根据第一颜色值和第二颜色值确定目标对象在目标坐标系中的第一位置,并且根据第二颜色值和第三颜色值确定目标对象在目标坐标系中的第二位置,根据第一位置和第二位置确定目标对象的移动方向。在本申请实施例中,通过第一图像帧和第二图像帧之间的颜色值的差别确定出目标对象在目标坐标系中的第一位置,通过第二图像帧和第三图像帧之间的颜色值的差别确定出目标对象在目标坐标系中的第二位置,根据第一位置和第二位置的坐标确定目标对象的移动方向,实现了精确跟踪视频中的移动目标的技术效果,进而解决了现有技术中无法精确跟踪视频中的移动目标的技术问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据相关技术的原始图像帧的示意图;

图2是根据相关技术的图像处理方法对原始图像帧进行处理之后得到的图像帧的示意图;

图3是根据相关技术的图像处理方法对原始图像帧进行处理之后得到的图像帧的示意图;

图4是根据相关技术的图像处理方法对原始图像帧进行处理之后得到的图像帧的示意图;

图5是根据本申请实施例的图像处理方法的流程图;

图6是本发明实施例中降低精度及颜色量值之前的图像帧的示意图;

图7是本发明实施例中降低精度及颜色量值之后的图像帧的示意图;

图8是本发明实施例中第二图像帧的示意图;

图9是本发明实施例中第一图像帧的递推颜色值的示意图;

图10是将第二图像帧的第二颜色值与第一图像帧的递推颜色值作差,并且求绝对值,得到的结果的示意图;

图11是本发明实施例中对第二图像帧的第二颜色值与第一图像帧的递推颜色值的差值求梯度,并且对梯度的每个元素求绝对值的结果的示意图;

图12是本发明实施例中第二颜色值的梯度的绝对值的示意图;

图13是本发明实施例中第一图像帧的递推颜色值的梯度的示意图;

图14是本发明实施例中求第二颜色值的梯度的绝对值与第一图像帧的递推颜色值的梯度之差,并且对梯度之差的每个元素求绝对值,得到的结果的示意图;

图15是本发明实施例中按照梯度矩阵的元素由大到小的顺序保存预设比例的元素的示意图;

图16是本发明实施例中将保存预设比例的元素之后的新的梯度矩阵的梯度的每个元素求绝对值的结果的示意图;

图17是本发明实施例中将第一图像帧的第一颜色值减去特征颜色值的结果的示意图;

图18是本发明实施例中根据公式“第一矩阵=第一系数*第一结果+第二系数*第二结果+第三系数*第三结果+第四系数*第四结果+第五系数*第五结果”计算第一矩阵得到第一矩阵表示的图像帧的示意图;

图19是本发明实施例中将第一矩阵的每个元素的红、绿、蓝三个维度的坐标值相加得到的第三矩阵表示的图像帧的示意图;

图20是本发明实施例中第四矩阵中第一坐标点的示意图;

图21是本发明实施例中将矩形框扩张至第一范围的示意图;

图22是本发明实施例中将矩形框收缩至第二范围的示意图;

图23是本发明实施例中将矩形框清除之后的示意图;

图24是本发明实施例中多个矩形框的示意图;

图25是根据本申请实施例的图像处理装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先对本申请实施例所涉及的技术术语作如下解释:

颜色值:一种颜色在某种颜色模式中所对应的值。例如,当使用rgb颜色模式时,白色的颜色值为(255,255,255),红色的颜色值为(255,0,0),绿色的颜色值为(0,255,0),蓝色的颜色值为(0,0,255),黄色的颜色值为(255,255,0),黑色的颜色值为(0,0,0)。

梯度:在单变量的实值函数的情况下,梯度是导数,或者,对于一个线性函数,梯度是线的斜率。在向量微积分中,标量场的梯度是一个向量场。标量场中某一点上的梯度指向标量场增长最快的方向,梯度的长度是这个最大的变化率。

矩阵的梯度:以一个3*3矩阵为例,说明矩阵梯度的算法。

矩阵[x,y]=梯度(c),则其中,x是矩阵的横向梯度,x的第一列的数值是矩阵c的第二列减去矩阵c的第一列,例如-5=(2-7)/1,x的第二列的数值是矩阵c的第二列减去第一列的值加上第三列减去第二列的值再除以2,例如-3=((2-7)+(1-2))/2。x的最后一列的数值等于矩阵c的最后一列减去倒数第二列的值除以1,例如-1=(1-2)/2。

根据本申请实施例,提供了一种图像处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图5是根据本申请实施例的图像处理方法的流程图,如图1所示,该方法包括如下步骤:

步骤s502,获取第一图像帧的第一颜色值、第二图像帧的第二颜色值和第三图像帧的第三颜色值,其中,第一图像帧与第二图像帧相邻,第二图像帧与第三图像帧相邻。

步骤s504,根据第一颜色值和第二颜色值确定目标对象在目标坐标系中的第一位置,并且根据第二颜色值和第三颜色值确定目标对象在目标坐标系中的第二位置。

步骤s506,根据第一位置和第二位置确定目标对象的移动方向。

一个视频文件通常由多个图像帧组成,第一图像帧、第二图像帧和第三图像帧为同一个视频文件中任意相邻的三个图像帧。每个图像帧都是由若干个像素点构成的,每个像素点的颜色值即构成了图像帧的颜色值。第一图像帧中的像素点的颜色值为第一颜色值,第二图像帧中的像素点的颜色值为第二颜色值,第三图像帧中的像素点的颜色值为第三颜色值。

一般来说,可以用矩阵表示图像帧的颜色值,例如,图像帧ti的颜色值为矩阵mi,矩阵mi的元素对应着图像帧ti的每个像素点的颜色值。由于颜色值的取值与颜色模式有关,为了方便叙述,在本发明实施例中,如无特殊说明,均采用rgb颜色模式。需要说明的是,本发明实施例所提供的图像处理方法在其他颜色模式下也能够使用,只需要将颜色值的大小根据颜色模式作调整即可。当采用rgb颜色模式时,矩阵m1的每个元素都有三个维度,例如,矩阵m1的第10行第20列的元素是(255,255,0),则表示图像帧t1中位于第10行第20列的像素点的颜色值是(255,255,0)。

目标对象是视频文件中需要跟踪的对象,目标对象是运动/移动的,在同一个坐标系中,不同时刻目标对象的位置是不同的,根据不同的图像帧中目标对象的位置,即可确定出目标对象的移动方向,进而能够确定出目标对象的移动速度等信息。

一般来说,目标对象的颜色值与背景的颜色值是不相同的,当目标对象移动时,会导致图像帧的颜色值发生变化,如果用矩阵表示图像帧的像素点的颜色值,那么在目标对象移动的前后,矩阵的元素的值会发生变化。也就是说,如果观察到不同的图像帧的颜色值发生变化,则说明视频中存在移动的人或者物体。

在本申请实施例中,通过第一图像帧和第二图像帧之间的颜色值的差别确定出目标对象在目标坐标系中的第一位置,通过第二图像帧和第三图像帧之间的颜色值的差别确定出目标对象在目标坐标系中的第二位置,根据第一位置和第二位置的坐标确定目标对象的移动方向,解决了现有技术中无法精确跟踪视频中的移动目标的技术问题,实现了精确跟踪视频中的移动目标的技术效果。

在执行上述步骤s502之前,可以先降低视频文件的精度,这样能够提高计算机的运算速度,再将视频的颜色值降低(例如,由256色降低为64色),以方便比较不同帧的颜色差值。图6是本发明实施例中降低精度及颜色量值之前的图像帧的示意图,图7是本发明实施例中降低精度及颜色量值之后的图像帧的示意图。

可选地,根据第一颜色值和第二颜色值确定目标对象在目标坐标系中的第一位置,并且根据第二颜色值和第三颜色值确定目标对象在目标坐标系中的第二位置包括:根据第二图像帧的第二颜色值和第一图像帧的递推颜色值获取第一位置,其中,第一图像帧的递推颜色值根据第一图像帧和第一图像帧的上一个图像帧的递推颜色值得到,在第一图像帧为第一帧图像帧时,第一图像帧的递推颜色值根据第一颜色值得到;根据第三图像帧的第三颜色值和第二图像帧的递推颜色值获取第二位置,其中,第二图像帧的递推颜色值根据第二图像帧和第一图像帧的递推颜色值得到。

可选地,采用以下公式计算第二图像帧的递推颜色值:第二图像帧的递推颜色值=(第二图像帧+r*第一图像帧的递推颜色值)/(1+r),其中,r为预设比例值。

第n+1图像帧的递推颜色值、第n+1图像帧与第n图像帧的递推颜色值这三者之间存在如下关系:

第n+1图像帧的递推颜色值=(第n+1图像帧+r*第n图像帧的递推颜色值)/(1+r)。r为预设比例值,r的取值范围为(0,1)。例如,r可以取0.9。

对该式的等号的左右两边同时求梯度,得:

第n+1图像帧的递推颜色值的梯度=(第n+1图像帧的梯度+r*第n图像帧的递推颜色值的梯度)/(1+r)。

当使用矩阵表示图像的颜色值时,对于矩阵求梯度详见上面说明。

可选地,根据第二图像帧的第二颜色值和第一图像帧的递推颜色值获取第一位置包括:根据第二图像帧的第二颜色值和第一图像帧的递推颜色值获取第一矩阵,根据第一矩阵计算第一位置。

根据第二图像帧的第二颜色值和第一图像帧的递推颜色值获取第一矩阵,根据第一矩阵计算第一位置。同理,根据第三图像帧的第三颜色值和第二图像帧的递推颜色值获取第二矩阵,根据第二矩阵计算第二位置。根据第一位置与第二位置在同一个坐标系中坐标值的变化,确定出移动的人或物体(即目标对象)的移动方向、移动速度等。

可选地,根据第二图像帧的第二颜色值和第一图像帧的递推颜色值获取第一矩阵包括:采用以下公式获取第一矩阵:第一矩阵=第一系数*第一结果+第二系数*第二结果+第三系数*第三结果+第四系数*第四结果,其中,第一系数、第二系数、第三系数和第四系数为预先设置,并且第一系数、第二系数、第三系数和第四系数中至少一个不等于零,其中,获取第一结果的过程是:将第二图像帧的第二颜色值与第一图像帧的递推颜色值作差,并且求绝对值,得到第一结果;获取第二结果的过程是:获取第二图像帧的第二颜色值与第一图像帧的递推颜色值的差值,对差值求梯度,并且求绝对值,得到第二结果;获取第三结果的过程是:求第二颜色值的梯度的绝对值与第一图像帧的递推颜色值的梯度之差,并且求绝对值,得到第三结果;获取第四结果的过程是:获取第二颜色值与第一图像帧的递推颜色值之差的梯度矩阵,按照梯度矩阵的元素由大到小的顺序保存预设比例的元素,将保存预设比例的元素之后的新的梯度矩阵的梯度求绝对值,作为第四结果。

根据第三图像帧的第三颜色值和第二图像帧的递推颜色值获取第二矩阵的过程具体是这样的:采用以下公式获取第二矩阵:第二矩阵=第一系数*第一结果′+第二系数*第二结果′+第三系数*第三结果′+第四系数*第四结果′,其中,获取第一结果′的过程是:将第三图像帧的第三颜色值与第二图像帧的递推颜色值作差,并且求绝对值,得到第一结果′;获取第二结果′的过程是:获取第三图像帧的第三颜色值与第二图像帧的递推颜色值的差值,对差值求梯度,并且求绝对值,得到第二结果′;获取第三结果′的过程是:求第三颜色值的梯度的绝对值与第二图像帧的递推颜色值的梯度之差,并且求绝对值,得到第三结果′;获取第四结果′的过程是:获取第三颜色值与第二图像帧的递推颜色值之差的梯度矩阵,按照梯度矩阵的元素由大到小的顺序保存预设比例的元素,将保存预设比例的元素之后的新的梯度矩阵的梯度求绝对值,作为第四结果′。

考虑到第一矩阵和第二矩阵计算的过程是相似的,下面以对第一矩阵的计算为例进行详细说明,对第二矩阵的计算与对第一矩阵的计算同理,不再赘述。

当使用矩阵表示图像帧的颜色值时,递推颜色值也是一个矩阵,由于对矩阵求梯度的结果仍旧是矩阵,对矩阵的梯度求梯度的结果仍旧是矩阵,对矩阵进行加减乘除运算后得到的结果仍旧是矩阵,因此第一结果、第二结果、第三结果和第四结果均为矩阵。

在采用上述公式计算第一矩阵的过程中,第一系数、第二系数、第三系数和第四系数这四个系数可以均不为零,也可以部分为零。也就是说,在计算第一矩阵的过程中,需要获取第一结果、第二结果、第三结果、第四结果中的至少一个,可以根据实际情况选择计算其中的某一个或者某几个。

由于在获取第一结果、第二结果、第三结果、第四结果中的任何一个时都存在误差,通过使用多个加权的方法计算第一矩阵,能够降低误差,提高计算第一矩阵的精度值。

第一系数、第二系数、第三系数和第四系数的取值可以有多组,例如,第一系数=1.5、第二系数=1.0、第三系数=1.0、第四系数=1.0,等等。

考虑到将颜色值差的影响平均化,可以使用下述公式计算第一矩阵:

第一矩阵=第一系数*㏒a(第一结果)+第二系数*㏒a(第二结果)+第三系数*

㏒a(第三结果)+第四系数*㏒a(第四结果),其中,a可以取2、e(自然对数的底)、5、10等数值。

获取第一结果的过程是:将第二图像帧的第二颜色值与第一图像帧的递推颜色值作差,并且求绝对值,得到第一结果。

图8是本发明实施例中第二图像帧的示意图。图9是本发明实施例中第一图像帧的递推颜色值的示意图。图10是将第二图像帧的第二颜色值与第一图像帧的递推颜色值作差,并且求绝对值,得到的结果的示意图。

获取第二结果的过程是:获取第二图像帧的第二颜色值与第一图像帧的递推颜色值的差值,对差值求梯度,并且求绝对值,得到第二结果。

图11是本发明实施例中对第二图像帧的第二颜色值与第一图像帧的递推颜色值的差值求梯度,并且对梯度的每个元素求绝对值的结果的示意图。

获取第三结果的过程是:求第二颜色值的梯度的绝对值与第一图像帧的递推颜色值的梯度之差,并且求绝对值,得到第三结果。

图12是本发明实施例中第二颜色值的梯度的绝对值的示意图。图13是本发明实施例中第一图像帧的递推颜色值的梯度的示意图。图14是本发明实施例中求第二颜色值的梯度的绝对值与第一图像帧的递推颜色值的梯度之差,并且对梯度之差的每个元素求绝对值,得到的结果的示意图。

获取第四结果的过程是:获取第二颜色值与第一图像帧的递推颜色值之差的梯度矩阵,按照梯度矩阵的元素由大到小的顺序保存预设比例的元素,将保存预设比例的元素之后的新的梯度矩阵的梯度求绝对值,作为第四结果。即,第二颜色值与第一图像帧的递推颜色值之差为一个矩阵,对这个矩阵求梯度,即得到第二颜色值与第一图像帧的递推颜色值之差的梯度矩阵,梯度矩阵中包含多个元素,将多个元素从大到小进行排列,将预设比例的元素保持不变,其余均清零,例如,预设比例为前10%,其余90%的元素均清零,这样处理之后,得到新的梯度矩阵,对这个新的梯度矩阵求梯度,得到另一个矩阵(为方便叙述,使用mt表示),将矩阵mt中的所有元素取绝对值,得到第四结果。

图15是本发明实施例中按照梯度矩阵的元素由大到小的顺序保存预设比例的元素的示意图。图16是本发明实施例中将保存预设比例的元素之后的新的梯度矩阵的梯度的每个元素求绝对值的结果的示意图。

可选地,方法还包括:获取目标对象的特征颜色值;将第一图像帧的第一颜色值和特征颜色值之差作为第一矩阵,将第二图像帧的第二颜色值和特征颜色值之差作为第二矩阵;根据第一矩阵计算第一位置,并且根据第二矩阵计算第二位置。

以目标对象为人的手掌为例,则目标对象的特征颜色值可以定义为(250,200,125)±(50,50,50)。将第一图像帧的第一颜色值减去特征颜色值的结果作为第一矩阵,根据第一矩阵计算第一位置。将第二图像帧的第二颜色值减去特征颜色值的结果作为第二矩阵,根据第二矩阵计算第二位置。图17是本发明实施例中将第一图像帧的第一颜色值减去特征颜色值的结果的示意图。

作为一种可选的实施例,可以将使用公式“第一矩阵=第一系数*第一结果+第二系数*第二结果+第三系数*第三结果+第四系数*第四结果+第五系数*第五结果”计算第一矩阵,使用公式“第二矩阵=第一系数*第一结果′+第二系数*第二结果′+第三系数*第三结果′+第四系数*第四结果′+第五系数*第五结果′”计算第二矩阵。图18是本发明实施例中根据公式“第一矩阵=第一系数*第一结果+第二系数*第二结果+第三系数*第三结果+第四系数*第四结果+第五系数*第五结果”计算第一矩阵得到第一矩阵表示的图像帧的示意图。其中,第一系数、第二系数、第三系数、第四系数和第五系数中至少一个不等于零(例如:第一系数=1.5,第二系数=1,第三系数=1,第四系数=1,第五系数=-1),第一结果、第二结果、第三结果、第四结果、第一结果′、第二结果′、第三结果′和第四结果′的由来详见上文,将第一图像帧的第一颜色值和特征颜色值之差作为第五结果,将第二图像帧的第二颜色值减去特征颜色值的结果作为第五结果′。

由于在获取第一结果、第二结果、第三结果、第四结果、第五结果、第一结果′、第二结果′、第三结果′、第四结果′和第五结果′中的任何一个时都存在误差,通过使用多个加权的方法计算第一矩阵和第二矩阵,能够降低误差,提高计算第一矩阵和第二矩阵的精度值,从而在根据第一矩阵计算第一位置和根据第二矩阵计算第二位置时,计算出的第一位置和第二位置的精度高,因此,根据第一位置和第二位置跟踪目标对象的精度高。

可选地,根据第二图像帧的第二颜色值和第一图像帧的递推颜色值获取第一矩阵,根据第一矩阵计算第一位置包括:根据第一矩阵的元素的坐标值确定第一坐标点,其中,第一坐标点的坐标值是第一矩阵的元素中最大的;将第一坐标点为中心作矩形框,其中,矩形框的边沿的元素的坐标值的平均值与矩形框的框内的元素的坐标值的平均值存在预设数值关系;根据预设条件判断目标对象是否处于矩形框内;如果目标对象处于矩形框内,将第一坐标点作为第一位置。

可选地,第一矩阵的每个元素具有红、绿、蓝三个维度,根据第一矩阵的元素的坐标值确定第一坐标点包括:将第一矩阵中每个元素的红、绿、蓝三个维度的坐标值相加,得到第三矩阵,其中,第三矩阵的每个元素具有一个维度;将第三矩阵中每个元素的周边预设数量的元素的坐标值求平均值,将平均值作为第三矩阵中元素的坐标值;将第三矩阵中坐标值在第一预设范围之内的元素的坐标值赋值为零,得到第四矩阵;将第四矩阵中坐标值最大的元素的坐标作为第一坐标点。

如前文所述,可以用矩阵表示图像帧的颜色值,例如,图像帧ti的颜色值为矩阵mi,矩阵mi的元素对应着图像帧ti的每个像素点的颜色值。当采用rgb颜色模式时,表示图像帧ti的颜色值的矩阵mi的每个元素都有红、绿、蓝三个维度,第一矩阵的每个元素也有红、绿、蓝三个维度。在本申请实施例中,将第一矩阵的每个元素的红、绿、蓝三个维度的坐标值相加,得到第三矩阵,例如,第一矩阵中的第8行第5列的元素的坐标值为(3,10,25),3+10+25=38,则第三矩阵的第8行第5列的元素的坐标值为(38)。图19是本发明实施例中将第一矩阵的每个元素的红、绿、蓝三个维度的坐标值相加得到的第三矩阵表示的图像帧的示意图。

将第三矩阵中每个元素的周边预设数量的元素的坐标值求平均值,将平均值作为第三矩阵中元素的坐标值,例如预设数量为9时,将以元素a为中心的三行三列的9个元素的坐标值求平均值,将求得的平均值替换元素a的坐标。替换完成之后,将替换后的第三矩阵的坐标值从大到小进行排序,坐标值在第一预设范围之内的元素的坐标值赋值为零,得到第四矩阵。第一预设范围可以为坐标值在排序中位于后面90%,等。

将第四矩阵中坐标值最大的元素的坐标作为第一坐标点。图20是本发明实施例中第四矩阵中第一坐标点的示意图。

以第一坐标点为中心作矩形框,并且对矩形框由小到大进行扩张,对矩形框的扩张可以有多种方式,例如,方式一:以第一坐标点为中心作矩形框,对矩形框由小到大进行扩张,直至矩形框的边沿的元素的坐标值的平均值与矩形框的框内的元素的坐标值的平均值满足预设数值关系(例如,矩形框的边沿的元素的坐标值的平均值等于矩形框的框内的元素的坐标值的平均值与某个预设比例值的乘积),此时,停止对矩形框的扩张。方式二:以第一坐标点为中心作矩形框,对矩形框由小到大进行扩张,在扩张过程中,只要发现坐标值大于0的元素,就将矩形框扩张直至矩形框包含该元素,图21是本发明实施例中将矩形框扩张至第一范围的示意图。扩张完成后,再对矩形框进行收缩,直至矩形框的边沿的元素的坐标值的平均值与矩形框的框内的元素的坐标值的平均值满足预设数值关系,图22是本发明实施例中将矩形框收缩至第二范围的示意图。图23是本发明实施例中将矩形框清除之后的示意图。

当矩形框的扩张(或收缩)完成之后,保存矩形框的中心点、长度和高度等信息,然后将矩形框清除,使用同样的方法继续找下一个矩形框。图24是本发明实施例中多个矩形框的示意图。假如一共找出多个矩形框,则求每个矩形框的框内的元素的坐标值的平均值,筛选出框内的元素的坐标值的平均值最大的矩形框km,然后判断目标对象是否处于矩形框km内。

可以通过判断矩形框km是否满足预设条件来判断目标对象是否处于矩形框km中。预设条件可以为以下多个中的任意一个或者多个:(1)矩形框的框内的元素的坐标值的平均值大于某个预设值;(2)矩形框的面积在某个预设范围之内;(3)矩形框的长与高之比在某个预设范围之内;(4)矩形框的长或者高的数值大小在某个预设范围之内。

如果判断出目标对象处于矩形框km中,将第一坐标点的坐标作为第一位置的坐标。

使用同样的方法,根据第三图像帧的第三颜色值和第二图像帧的递推颜色值获取第二矩阵,根据第二矩阵计算第二位置。

根据第一位置和第二位置在同一个坐标系中的坐标,确定目标对象的移动方向、移动速度等信息。

根据本发明实施例,还提供了一种图像处理装置。该图像处理装置可以执行上述图像处理方法,上述图像处理方法也可以通过该图像处理装置实施。

图25是根据本申请实施例的图像处理装置的示意图。如图25所示,该装置包括:第一获取单元10、第一确定单元20和第二确定单元30。

第一获取单元10,用于获取第一图像帧的第一颜色值、第二图像帧的第二颜色值和第三图像帧的第三颜色值,其中,第一图像帧与第二图像帧相邻,第二图像帧与第三图像帧相邻。

第一确定单元20,用于根据第一颜色值和第二颜色值确定目标对象在目标坐标系中的第一位置,并且根据第二颜色值和第三颜色值确定目标对象在目标坐标系中的第二位置。

第二确定单元30,用于根据第一位置和第二位置确定目标对象的移动方向。

一个视频文件通常由多个图像帧组成,第一图像帧、第二图像帧和第三图像帧为同一个视频文件中任意相邻的三个图像帧。每个图像帧都是由若干个像素点构成的,每个像素点的颜色值即构成了图像帧的颜色值。第一图像帧中的像素点的颜色值为第一颜色值,第二图像帧中的像素点的颜色值为第二颜色值,第三图像帧中的像素点的颜色值为第三颜色值。

一般来说,可以用矩阵表示图像帧的颜色值,例如,图像帧ti的颜色值为矩阵mi,矩阵mi的元素对应着图像帧ti的每个像素点的颜色值。由于颜色值的取值与颜色模式有关,为了方便叙述,在本发明实施例中,如无特殊说明,均采用rgb颜色模式。需要说明的是,本发明实施例所提供的图像处理方法在其他颜色模式下也能够使用,只需要将颜色值的大小根据颜色模式作调整即可。当采用rgb颜色模式时,矩阵m1的每个元素都有三个维度,例如,矩阵m1的第10行第20列的元素是(255,255,0),则表示图像帧t1中位于第10行第20列的像素点的颜色值是(255,255,0)。

目标对象是视频文件中需要跟踪的对象,目标对象是运动/移动的,在同一个坐标系中,不同时刻目标对象的位置是不同的,根据不同的图像帧中目标对象的位置,即可确定出目标对象的移动方向,进而能够确定出目标对象的移动速度等信息。

一般来说,目标对象的颜色值与背景的颜色值是不相同的,当目标对象移动时,会导致图像帧的颜色值发生变化,如果用矩阵表示图像帧的像素点的颜色值,那么在目标对象移动的前后,矩阵的元素的值会发生变化。也就是说,如果观察到不同的图像帧的颜色值发生变化,则说明视频中存在移动的人或者物体。

在本申请实施例中,通过第一图像帧和第二图像帧之间的颜色值的差别确定出目标对象在目标坐标系中的第一位置,通过第二图像帧和第三图像帧之间的颜色值的差别确定出目标对象在目标坐标系中的第二位置,根据第一位置和第二位置的坐标确定目标对象的移动方向,解决了现有技术中无法精确跟踪视频中的移动目标的技术问题,实现了精确跟踪视频中的移动目标的技术效果。

可选地,第一确定单元10包括:第一获取子单元,用于根据第二图像帧的第二颜色值和第一图像帧的递推颜色值获取第一位置,其中,第一图像帧的递推颜色值根据第一图像帧和第一图像帧的上一个图像帧的递推颜色值得到,在第一图像帧为第一帧图像帧时,第一图像帧的递推颜色值根据第一颜色值得到;第二获取子单元,用于根据第三图像帧的第三颜色值和第二图像帧的递推颜色值获取第二位置,其中,第二图像帧的递推颜色值根据第二图像帧和第一图像帧的递推颜色值得到。

可选地,采用以下公式计算第二图像帧的递推颜色值:第二图像帧的递推颜色值=(第二图像帧+r*第一图像帧的递推颜色值)/(1+r),其中,r为预设比例值。

可选地,第一获取子单元包括:获取模块,用于根据第二图像帧的第二颜色值和第一图像帧的递推颜色值获取第一矩阵,根据第一矩阵计算第一位置。

可选地,获取模块包括:获取子模块,用于采用以下公式获取第一矩阵:第一矩阵=第一系数*第一结果+第二系数*第二结果+第三系数*第三结果+第四系数*第四结果,其中,第一系数、第二系数、第三系数和第四系数为预先设置,并且第一系数、第二系数、第三系数和第四系数中至少一个不等于零,其中,获取子模块用于将第二图像帧的第二颜色值与第一图像帧的递推颜色值作差,并且求绝对值,得到第一结果;获取子模块用于获取第二图像帧的第二颜色值与第一图像帧的递推颜色值的差值,对差值求梯度,并且求绝对值,得到第二结果;获取子模块用于求第二颜色值的梯度的绝对值与第一图像帧的递推颜色值的梯度之差,并且求绝对值,得到第三结果;获取子模块用于获取第二颜色值与第一图像帧的递推颜色值之差的梯度矩阵,按照梯度矩阵的元素由大到小的顺序保存预设比例的元素,将保存预设比例的元素之后的新的梯度矩阵的梯度求绝对值,作为第四结果。

可选地,获取模块包括:第一确定子模块,用于根据第一矩阵的元素的坐标值确定第一坐标点,其中,第一坐标点的坐标值是第一矩阵的元素中最大的;第二确定子模块,用于将第一坐标点为中心作矩形框,其中,矩形框的边沿的元素的坐标值的平均值与矩形框的框内的元素的坐标值的平均值存在预设数值关系;判断子模块,用于根据预设条件判断目标对象是否处于矩形框内;第三确定子模块,用于如果目标对象处于矩形框内,将第一坐标点作为第一位置。

可选地,第一矩阵的每个元素具有红、绿、蓝三个维度,第一确定子模块包括:第一计算小模块,用于将第一矩阵中每个元素的红、绿、蓝三个维度的坐标值相加,得到第三矩阵,其中,第三矩阵的每个元素具有一个维度;第二计算小模块,用于将第三矩阵中每个元素的周边预设数量的元素的坐标值求平均值,将平均值作为第三矩阵中元素的坐标值;赋值小模块,用于将第三矩阵中坐标值在第一预设范围之内的元素的坐标值赋值为零,得到第四矩阵;确定小模块,用于将第四矩阵中坐标值最大的元素的坐标作为第一坐标点。

可选地,装置还包括:第二获取单元,用于获取目标对象的特征颜色值;第一计算单元,用于将第一图像帧的第一颜色值和特征颜色值之差作为第一矩阵,将第二图像帧的第二颜色值和特征颜色值之差作为第二矩阵;第二计算单元,用于根据第一矩阵计算第一位置,并且根据第二矩阵计算第二位置。

本申请实施例还提供了一种机器人,该机器人包括上述的图像处理装置。

该机器人的图像处理装置通过第一图像帧和第二图像帧之间的颜色值的差别确定出目标对象在目标坐标系中的第一位置,通过第二图像帧和第三图像帧之间的颜色值的差别确定出目标对象在目标坐标系中的第二位置,根据第一位置和第二位置的坐标确定目标对象的移动方向,实现了精确跟踪视频中的移动目标的技术效果,进而解决了现有技术中无法精确跟踪视频中的移动目标的技术问题。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

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

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

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

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

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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