重新检测地面的判定方法及装置与流程

文档序号:15165236发布日期:2018-08-14 17:23阅读:285来源:国知局

本申请涉及图像处理技术领域,尤其涉及一种重新检测地面的判定方法及装置。



背景技术:

目前地面检测已经广泛应用在机器人导航、自动驾驶、体感交互、安防监控等领域中。现有的地面检测技术只适用于相机姿态固定不变的场景中,对于相机存在多视角变化、多姿态调整以及多振动干扰时,先前检测得到的地面方程已经无法确保稳定输出地面,需要重新检测,然而现有地面检测技术,对于何时需要重新检测无法做出准确判定。



技术实现要素:

有鉴于此,本申请提供一种重新检测地面的判定方法及装置,以解决现有技术对于何时需要重新检测无法做出准确判定的问题。

根据本申请实施例的第一方面,提供一种重新检测地面的判定方法,所述方法包括:

从采集设备获取当前图像帧的重力加速度矢量;

如果所述当前图像帧的重力加速度矢量相对上一图像帧的重力加速度矢量有变化,将当前图像帧的标识置位;

根据连续图像帧的被置位的标识的数量,判断所述采集设备是否运动后趋于平稳;

若是,则确定当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度;

若所述相似度小于相似度阈值,则确定需要重新检测地面。

根据本申请实施例的第二方面,提供一种重新检测地面的判定装置,所述装置包括:

获取模块,用于从采集设备获取当前图像帧的重力加速度矢量;

标记模块,用于在所述当前图像帧的重力加速度矢量相对上一图像帧的重力加速度矢量有变化时,将当前图像帧的标识置位;

判断模块,用于根据连续图像帧的被置位的标识的数量,判断所述采集设备是否运动后趋于平稳;

确定相似度模块,用于在判断为是时,确定当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度;

确定重检模块,用于在所述相似度小于相似度阈值时,确定需要重新检测地面。

根据本申请实施例的第三方面,提供一种监控系统,所述系统包括:

采集设备,用于采集当前图像帧的重力加速度矢量;

处理设备,用于从采集设备获取当前图像帧的重力加速度矢量;如果所述当前图像帧的重力加速度矢量相对上一图像帧的重力加速度矢量有变化时,将当前图像帧的标识置位;根据连续图像帧的被置位的标识的数量,判断所述采集设备是否运动后趋于平稳;若是,则确定当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度;若所述相似度小于相似度阈值,则确定需要重新检测地面。

应用本申请实施例,在从采集设备获取的当前图像帧的重力加速度矢量相对上一帧的重力加速度矢量有变化时,可以将当前图像帧的标识置位,然后根据连续图像帧的被置位的标识的数量,判断采集设备是否运动后趋于平稳,若是,确定当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度,若相似度小于相似度阈值,则确定需要重新检测地面。基于上述实现方式,通过统计连续图像帧的重力加速度矢量的变化次数确定采集设备是否运动后趋于平稳,在确定采集设备运动后趋于平稳后,再利用当前图像帧的重力加速度矢量与当前地面方程对应地面的法向量的相似度判定是否需要重新检测地面,可以过滤掉振动干扰。从而本案可以在采集设备存在多视角变化、多姿态调整、多振动干扰时对重新检测的准确把握,确保输出准确的地面,并且本案计算复杂度低、判定准确度高,不需要人工干预。

附图说明

图1a为本申请根据一示例性实施例示出的一种重新检测地面的判定方法的实施例流程图;

图1b为本申请根据图1a所示实施例示出的一种相机坐标系;

图2a为本申请根据一示例性实施例示出的另一种重新检测地面的判定方法的实施例流程图;

图2b为本申请根据图2a所示实施例示出的一种建立网格图;

图2c为本申请根据图2a所示实施例示出的一种地面检测结果图;

图3为本申请根据一示例性实施例示出的一种处理设备的硬件结构图;

图4为本申请根据一示例性实施例示出的一种重新检测地面的判定装置的实施例结构图;

图5为本申请根据一示例性实施例示出的另一种重新检测地面的判定装置的实施例结构图;

图6为本申请根据一示例性实施例示出的一种监控系统图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

图1a为本申请根据一示例性实施例示出的一种重新检测地面的判定方法的实施例流程图,该实施例可以应用于监控系统的处理设备(例如pc机)上,该监控系统还包括采集设备,本申请实施例中的处理设备可以通过网络与采集设备交互,采集设备可以包括深度相机以及重力加速度计,通过深度相机可以采集深度图,通过重力加速度计可以获取重力加速度矢量,因此处理设备可以从采集设备获取当前图像帧和当前图像帧的重力加速度矢量,如图1a所示,该重新检测地面的判定方法包括如下步骤:

步骤101:从采集设备获取当前图像帧的重力加速度矢量,如果当前图像帧的重力加速度矢量相对上一帧的重力加速度矢量有变化,将当前图像帧的标识置位。

在一实施例中,重力加速度矢量以相机坐标系为参考,如图1b所示,相机坐标系可以以深度相机光心o为坐标原点,深度相机光轴为zc轴,xc轴和yc轴组成的面为深度相机平面,且xc轴与yc轴之间垂直。基于此,可以通过计算当前图像帧的重力加速度矢量与上一帧的重力加速度矢量之间的相似度判断是否有变化,若计算得到的相似度大于某一阈值,则确定当前图像帧的重力加速度矢量有变化。

其中,可以将余弦相似度作为当前图像帧的重力加速度矢量与上一帧的重力加速度矢量之间的相似度,余弦相似度计算公式为:

其中,当前图像帧的重力加速度矢量与上一帧的重力加速度矢量均为单位向量。

在一实施例中,可以预先设置m位二进制变量,每一二进制位对应一帧图像的标识,通过该二进制变量的移位实现标识位的逐帧顺序存储与更新,从而,通过统计该二进制变量中被置位的标识的数量,得到第一数量。这种通过二进制变量移位的形式记录标识位的方式,可以提高设备内存利用率。

在一示例性场景中,预先设置的16位二进制变量0000000000000000,在确定当前图像帧的重力加速度矢量有变化时,将该变量的最低位置为1,否则,保持0不变,接着下一帧到来时,将该变量向左移一位,此时下一帧成为当前帧,判断该帧的重力加速度矢量是否变化,以此类推,每确定一帧图像的重力加速度矢量是否变化后,该变量向左移一位。

步骤102:根据连续图像帧的被置位的标识的数量,判断采集设备是否运动后趋于平稳,若否,则执行步骤103,若是,则执行步骤104。

在一实施例中,可以通过先统计包括当前图像帧之前连续m帧的被置位的标识的第一数量,若第一数量大于第一数量阈值,则确定采集设备存在运动,并继续统计包括当前图像帧之前连续n帧的被置位的标识的第二数量,其中n小于m,若第二数量小于第二数量阈值,则确定采集设备运动后趋于平稳,否则,确定采集设备未平稳。

其中,若第一数量大于第一数量阈值,表示采集设备在连续m帧的时间段内存在运动(例如,视角变化、姿态调整等运动),可以继续统计当前图像帧之前连续n帧的被置位的标识的第二数量,以进一步确定采集设备是否停止运动,趋于平稳,在第二数量小于第二数量阈值时,表示采集设备已经趋于平稳。由于要及时获知设备在运动后何时趋于平稳,所以要及时监测一定帧数(上述n帧)内重力加速度矢量变化的帧数是否降低(上述小于第二数量阈值的情况),若出现降低说明此时设备已逐渐趋于平稳,因此,用于确定采集设备是否运动后趋于平稳的图像帧数n小于用于确定采集设备运动与否的图像帧数m,且此n帧的统计为最新的监测数据。

基于上述所示的场景,如果当前的二进制变量为1111111101000000,统计包括当前图像帧之前连续m=16帧的被置位的标识有9个二进制数为1的位数,因此第一数量为9,如果第一数量阈值为5,由于第一数量9大于第一数量阈值5,所以可以确定采集设备存在运动,继续统计包括当前图像帧之前连续n=8帧的被置位的标识有1个二进制数为1的位数,因此第二数量为1,如果第二数量阈值为2,由于第二数量1小于第二数量阈值2,所以可以确定采集设备已经趋于平稳。

步骤103:利用当前地面方程确定当前图像帧中的地面。

其中,如果采集设备不平稳,表示仍然在运动,不需要重新检测,直接利用当前地面方程确定当前图像帧的地面即可。

步骤104:确定当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度。

其中,可以将余弦相似度作为当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度,计算公式为:

其中,当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量均为单位向量。

步骤105:若相似度小于相似度阈值,则确定需要重新检测地面。

在一实施例中,在实际应用中,地面方程对应的地面法向量应该与采集设备采集的重力加速度矢量很相近,这样利用地面方程确定的地面才是准确的地面。因此,若计算得到的相似度小于第三阈值,表示当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量相差很大,需要重新确定当前图像帧的地面方程。

在一实施例中,每次在确定需要重新检测地面之后,可以将重检次数加1,在上述统计包括当前图像帧之前连续n帧的被置位的标识的第二数量之后,确定第二数量相对第二数量阈值的倍数,若该倍数大于预设倍数,则将重检次数清零;否则,判断重检次数是否大于第二数量,若是,则将相似度阈值替换为宽松阈值,并将重检次数清零,以避免不必要的重新检测。

其中,预设倍数可以根据实际需求进行设置,例如可以为2倍。在第二数量相对第二数量阈值的倍数大于预设倍数时,表示采集设备的平稳阶段结束,将重检次数清零;否则,如果记录的重检次数大于该第二数量,表示重检次数过多,此时场景检测困难,需要将相似度阈值替换为宽松阈值,以避免不必要的重新检测。场景检测困难一般存在两种情形:1、采集设备输出的重力加速度矢量误差较大;2、深度相机仰角较大,导致地面距离相机纵深较大,采集的深度图中露出的地面较少且较远,进而导致确定的地面方程误差较大。

本实施例中,在从采集设备获取的当前图像帧的重力加速度矢量相对上一帧的重力加速度矢量有变化时,可以将当前图像帧的标识置位,然后根据连续图像帧的被置位的标识的数量,判断采集设备是否运动后趋于平稳,若是,确定当前图像帧的重力加速度矢量与当前地面方程法向量的相似度,若相似度小于相似度阈值,则确定需要重新检测地面。基于上述实现方式,通过统计连续图像帧的重力加速度矢量的变化次数确定采集设备是否运动后趋于平稳,在确定采集设备运动后趋于平稳后,再利用当前图像帧的重力加速度矢量与当前地面方程对应地面的法向量的相似度判定是否需要重新检测地面,可以过滤掉振动干扰。从而本案可以在采集设备存在多视角变化、多姿态调整、多振动干扰时对重新检测的准确把握,确保输出准确的地面,并且本案计算复杂度低、判定准确度高,不需要人工干预。

图2a为本申请根据一示例性实施例示出的另一种重新检测地面的判定方法的实施例流程图,本实施例利用本申请实施例提供的上述方法,以在当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度大于相似度阈值情况下,如何进一步评估地面方程的实际检测效果为例进行示例性说明。在本申请实施例中,在从采集设备获取当前图像帧的重力加速度矢量之后,将评估帧数加1,该评估帧数用于统计每次确定重新检测地面后,获取的图像帧的数量。由此可知,每次在确定需要重新检测地面之后,需要将评估帧数清零,以用于在重新检测地面之后重新统计评估帧数。

如图2a所示,该重新检测地面的判定方法包括如下步骤:

步骤201:若当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度大于相似度阈值,则确定当前图像帧中的网格点到当前地面方程对应地面的距离。

在一实施例中,在当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度大于或等于相似度阈值的情况下,表示当前采集设备仍然处于平稳阶段,且当前地面方程(之前确定的地面方程)符合当前图像帧的要求,可以进一步利用当前地面方程确定出的当前图像帧的地面来检验地面方程的准确度。

在一实施例中,处理设备可以先在当前图像帧中以预设步长建立由水平网格线和垂直网格线组成的网格,所述网格点为水平网格线与垂直网格线的交点。

其中,预设步长指的是两个网格点的水平或垂直方向像素索引值的之间差值,可以根据实际经验设置,由于深度图中相邻点之间的深度值相差比较小,因此通过建立网格,可以用水平网格线与垂直网格线之间的交点的深度值表示其附近点的深度值。

在一示例性场景中,如图2b所示,深度相机采集的深度图的分辨率为640×480,以深度图的左上角顶点为坐标原点o建立像素坐标系,水平方向为x轴,垂直方向为y轴,并在深度图中以预设步长建立网格,从而可得,网格的四个顶点的像素坐标分别为(0,0)、(639,0)、(0,479)以及(639,479)。

在一实施例中,针对确定当前图像帧中的网格点到当前地面方程对应地面的距离的过程,先针对深度图中的每个网格点,根据该网格点在当前图像帧中的像素坐标,确定该网格点在相机坐标系下的空间坐标,并利用该空间坐标计算该网格点到当前地面方程对应地面的距离,公式如下:

其中,当前地面方程可以用公式ax+by+cz+d=0表示,a、b、c、d为当前地面方程的常量系数,在相机坐标系下b<0,也就是令该平面方程法向量方向是向上的,(x′,y′,z′)为该网格点的空间坐标。

步骤202:根据距离确定真正地面点和不可能地面点。

在一实施例中,可以将距离的绝对值小于某一阈值的网格点确定为真正地面点;不可能地面点指的是在地面方程对应地面下方的点,由于地面下方的点,其与当前地面方程对应地面的距离应该为负数,因此将距离为负数且小于一定负阈值的点确定为不可能地面点。

步骤203:判断不可能地面点的数量与真正地面点的数量的比值是否大于第一占比阈值,若是,则执行步骤204,否则,执行步骤205。

步骤204:确定需要重新检测地面。

针对上述步骤201至步骤204的过程,在当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度大于相似度阈值的情况下,可以进一步通过不可能地面点的数量与真正地面点的数量的比值来评估当前地面方程的检测效果,从而通过实际检测效果评估当前地面方程,进一步保证输出准确的地面,避免了特殊情况下有偏差的检测。

步骤205:判断评估帧数是否小于预设数量,若是,则执行步骤206,否则,执行步骤208。

步骤206:根据距离确定可能地面点。

在一实施例中,可以将距离大于某一正阈值,但该距离相对该正阈值的倍数小于某一预设倍数的网格点确定为可能地面点,并针对每个可能地面点pmay做以下操作:

pmay在深度图中的坐标为(xmay,ymay),深度值为dep,其上方的点pmayup坐标为(xmay,ymay-step),深度值为depup,若depup-dep>thredepmay,则记录下该可能的地面点;否则,丢弃该点pmay,其中,thredepmay为另一正阈值。

其中,将距离大于某一正阈值,但该距离相对该正阈值的倍数小于某一预设倍数的网格点确定为可能地面点之后,为了排除地面上物体对地面的干扰,进一步通过地面点深度值在图像垂直方向上的变化规律进行筛选,其变化规律为:地面点在深度图中越靠下,其纵深越小,相应深度值也越小。

在又一示例性场景中,如图2c中白亮区域为利用当前地面方程确定的地面区域,在物体之间的空隙处标出的三处区域实际为地面,但利用当前地面方程并没有检测出来,因此被确定为可能地面点,而深度图中间的物体底部靠近地面的区域(如图2c中右侧标出)的点距地面的距离满足大于正阈值,且距离相对阈值的倍数小于预设倍数的条件,但并不是可能地面点,属于干扰点,通过地面点深度值在图像垂直方向上的变化规律可以将该区域的干扰点从可能地面点中丢弃掉。

步骤207:判断可能地面点的数量与真正地面点的数量的比值是否大于第二占比阈值,若是,则返回执行步骤204,否则,执行步骤208。

针对上述步骤205至步骤207的过程,在不可能地面点的数量与真正地面点的数量的比值小于第一占比阈值,且评估帧数小于预设数量的情况下,可以进一步通过可能地面点的数量与真正地面点的数量的比值来评估当前地面方程的检测效果,从而通过实际检测效果评估当前地面方程,进一步保证输出准确的地面,避免了特殊情况下有偏差的检测。

步骤208:利用当前地面方程确定当前图像帧中的地面。

在一实施例中,在不可能地面点的数量与真正地面点的数量的比值小于第一占比阈值,且评估帧数大于预设数量,或者在可能地面点的数量与真正地面点的数量的比值小于第二占比阈值的情况下,表示当前地面方程符合当前图像帧的要求,可以用当前地面方程确定当前图像帧的地面。

本实施例中,在当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度大于相似度阈值情况下,可以先通过不可能地面点的数量与真正地面点的数量的比值来评估当前地面方程的检测效果。如果不可能地面点的数量与真正地面点的数量的比值小于第一占比阈值,且评估帧数(用于统计每次确定重新检测地面后,获取的图像帧的数量)小于预设数量的情况下,可以进一步通过可能地面点的数量与真正地面点的数量的比值来评估当前地面方程的检测效果,从而通过可能地面点和不可能地面点的占比评估当前地面方程的检测效果,进一步保证输出准确的地面,避免了特殊情况下有偏差的检测。

与前述重新检测地面的判定方法的实施例相对应,本申请还提供了重新检测地面的判定装置的实施例。

本申请重新检测地面的判定装置的实施例可以应用在处理设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请根据一实施例性实施例示出的一种处理设备的硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。

图4为本申请根据一示例性实施例示出的一种重新检测地面的判定装置的实施例结构图,该实施例可以应用在处理设备上,如图4所示,该重新检测地面的判定装置包括:

获取模块41,用于从采集设备获取当前图像帧的重力加速度矢量;

标记模块42,用于在所述当前图像帧的重力加速度矢量相对上一图像帧的重力加速度矢量有变化时,将当前图像帧的标识置位;

判断模块43,用于根据连续图像帧的被置位的标识的数量,判断所述采集设备是否运动后趋于平稳;

确定相似度模块44,用于在判断为是时,确定当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度;

确定重检模块45,用于在所述相似度小于相似度阈值时,确定需要重新检测地面。

在一可选的实现方式中,所述判断模块43,具体用于统计包括当前图像帧之前连续m帧的被置位的标识的第一数量;若所述第一数量大于第一数量阈值,则确定采集设备存在运动,并继续统计包括当前图像帧之前连续n帧的被置位的标识的第二数量,其中n小于m;若所述第二数量小于第二数量阈值,则确定所述采集设备运动后趋于平稳;否则,确定所述采集设备未平稳。

在一可选的实现方式中,所述装置还包括(图4中未示出):

计数模块,用于每次在所述确定重检模块45确定需要重新检测地面之后,将重检次数加1;

替换阈值模块,用于在所述判断模块43继续统计包括当前图像帧之前连续n帧的被置位的标识的第二数量之后,确定所述第二数量相对所述第二数量阈值的倍数;若所述倍数大于预设倍数,则将所述重检次数清零;若所述倍数小于预设倍数,则判断所述重检次数是否大于所述第二数量;若是,则将所述相似度阈值替换为宽松阈值,并将所述重检次数清零。

图5为本申请根据一示例性实施例示出的另一种重新检测地面的判定装置的实施例结构图,基于上述图4所示实施例的基础上,如图5所示,该重新检测地面的判定装置还包括:

第一评估模块46,具体用于在所述确定相似度模块确定当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度之后,在所述相似度大于相似度阈值时,确定当前图像帧中的网格点到当前地面方程对应地面的距离,其中,在当前图像帧中以预设步长建立由水平网格线和垂直网格线组成的网格,所述网格点为所述水平网格线与所述垂直网格线的交点;根据所述距离确定真正地面点和不可能地面点,其中,所述不可能地面点指的是在地面方程对应地面下方的点;若不可能地面点的数量与真正地面点的数量的比值大于第一占比阈值,则确定需要重新检测地面。

在一可选的实现方式中,所述装置还包括(图5中未示出):

统计模块,用于在从采集设备获取当前图像帧的重力加速度矢量之后,将评估帧数加1;

所述装置还包括(图5中未示出):

第二评估模块,用于在不可能地面点的数量与真正地面点的数量的比值小于第一占比阈值,且所述评估帧数小于预设数量时,根据所述距离确定可能地面点;若可能地面点的数量与真正地面点的数量的比值大于第一占比阈值,则确定需要重新检测地面。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

图6为本申请根据一示例性实施例示出的一种监控系统图,如图6所示,该监控系统包括:采集设备和处理设备;

其中,采集设备60,用于采集当前图像帧的重力加速度矢量;

处理设备70,用于从采集设备获取当前图像帧的重力加速度矢量;如果所述当前图像帧的重力加速度矢量相对上一图像帧的重力加速度矢量有变化时,将当前图像帧的标识置位;根据连续图像帧的被置位的标识的数量,判断所述采集设备是否运动后趋于平稳;若是,则确定当前图像帧的重力加速度矢量与当前地面方程对应的地面法向量的相似度;若所述相似度小于相似度阈值,则确定需要重新检测地面。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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