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

基于二次部分整体关系校验的车辆姿态估计方法与装置

文献发布时间:2024-04-18 19:59:31


基于二次部分整体关系校验的车辆姿态估计方法与装置

技术领域

本发明属于目标图像识别技术领域,更具体地,涉及一种基于二次部分整体关系校验的车辆姿态估计方法与装置。

背景技术

随着人工智能技术的飞速发展,在自动驾驶领域已经得到了广泛的应用,在自动驾驶技术领域不仅需要识别路况、路标、识别附近的车辆以及障碍等等。自动驾驶所需要不仅仅是识别出车辆,更需要准确的辨别出车辆的姿态信息才能做出相应的后续的驾驶动作。

部分整体关系发现是一种根据识别对象组成以及之间的关系来进行目标的识别方法,现有的方法主要通过预训练模型得到图像特征,当前的姿态估计方法通常需要进行复杂的标注,甚至需要根据真实的模型数据进行对齐,对于外观日新月异的车辆而言,模型数据严重缺乏,因此,准确的识别车辆以及判断各种车辆的姿态信息的在无人驾驶领域的重要性越来越高。

发明内容

本发明目的在于提供一种基于二次部分整体关系判别的车辆姿态估计方法,以解决目前姿态估计数据标注复杂、适应性不足的问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于二次部分整体关系校验的车辆姿态估计方法,包括:

(1)对待测图像按照车辆组成面进行识别,按照车辆的前、侧、后、顶四个面以及车辆在图中所在区域进行识别;

(2)对车辆的识别出来的面所在区域按照仅相邻的面允许存在重叠区域或者包含关系进行合理性校验;若存在不合理性,则认为该物体不是车辆,结束姿态估计;

(3)对识别出来的车辆的面区域,根据车辆面的组成要素再次进行识别;

(4)对每个面对应的要素按照并按照仅相邻的要素允许存在重叠区域或者包含关系进行合理性校验,若存在不合理性,则认为该物体不是车辆,结束姿态估计;

(5)计算识别的车辆面所在区域像素数量,如果存在某区域像素数量占识别出车辆所在区域像素数量比重大于预设阈值,则针对该区域按照单面进行姿态检测得到最终的车辆姿态估计;

(6)如果不存在某区域像素数量占识别出车辆所在区域像素数量比重大于预设阈值的情况,则按照双面进行姿态检测得到最终的车辆姿态估计。

进一步的,在步骤(5)中,按照单面进行姿态检测的步骤如下:

(5.1)若待检测的区域为车辆前面(正面),则计算该区域的最小包络矩形后,以该矩形的对角线交点为起点,方向正下作为车辆的姿态估计,并结束方法;

(5.2)若待检测的区域为车辆后面,则该区域的最小包络矩形的对角线交点为起点,方向正上作为车辆的姿态估计,并结束方法;

(5.3)若待检测的区域为车辆顶面,则识别有误,结束车辆姿态估计;

(5.4)在识别车侧面的前半区域和后半区域后,分别计算两个区域的最小包络矩形,分别连接矩形对角线交点,取后半区域的矩形对角线交点指向前半区域矩形对角线交点作为车辆姿态估计方向。

进一步的,在步骤(5.1)的针对指定区域的最小包络矩形的步骤如下:

(5.1.1)从0度开始,以指定角度为步长,在[0,90)度的范围内分别计算得到不同旋转角度下的包络矩形;

(5.1.2)分别针对不同旋转角的包络矩形计算其对应面积,选择面积最小的矩形作为指定区域的最小包络矩形,若存在多个最小面积,最小旋转角的包络矩形作为最小包络矩形。

进一步的,在步骤(5.1.1)中计算指定旋转角下的包络矩形方法如下:

(5.1.1.1)在指定区域的下方的任一位置按照指定旋转角画一条与指定区域不相交的直线,向上平移直线,直到该直线首次穿过区域;

(5.1.1.2)在指定区域的上方的任一位置按照指定旋转角画一条与指定区域不相交的直线,向下平移直线,直到该直线首次穿过区域;

(5.1.1.3)在指定区域的左侧任一位置按照指定旋转角+90度画一条与指定区域不相交的直线,向右平移直线,直到该直线首次穿过区域;

(5.1.1.4)在指定区域的右侧任一位置按照指定旋转角+90度画一条与指定区域不相交的直线,向左平移直线,直到该直线首次穿过区域;

(5.1.1.5)将得到的4条直线交叉围起来的矩形即为该旋转角下的包络矩形。

进一步的,在步骤(6)中,按照双面进行姿态检测的步骤如下:

(6.1)确定待检测的两个面,按照以下规则:不考虑顶面;若同时存在前面和后面和侧面,取前面和后面的最小包络矩形面积大的面作为一个待检测面,侧面作为另一个待检测面;若按照此规则后只存在一个待检测面,则按照步骤(5)进行姿态估计;

(6.2)如果检测的面是前面和侧面且侧面包络矩形的旋转角不为0,在该情况下,从侧面的包络矩形对角线交点为坐标轴原点,分别向沿着矩形的边方向向第三和第四象限标注方向,如果侧面包络矩形的对角线交点位于正面包括矩形对角线交点右侧,姿态估计方向为第三象限方向,反之则为第四象限方向;

(6.3)如果检测的面是前面和侧面且侧面包络矩形的旋转角为0,在该情况下,如果侧面最小包络矩形的对角线交点位于前面最小包络矩形对角线交点右侧,则姿态估计的方向为前面最小包络矩形对角线交点水平向左,反之,水平向右;

(6.4)如果检测的面是前面和后面,连接前面和后面包络矩形对角线的交点,取后面矩形对角线交点指向前面矩形对角线交点作为车辆姿态估计方向;

(6.5)如果检测面是后面和侧面且侧面包络矩形的旋转角不为0,在该情况下,从后面的包络矩形对角线交点为坐标轴原点,分别向沿着矩形的边方向向第一和第二象限标注方向;如果侧面包络矩形的对角线交点位于后面包络矩形对角线交点右侧,姿态估计方向为第二象限方向,反之为第一象限方向;

(6.6)如果检测面是后面和侧面且侧面包络矩形的旋转角为0,在该情况下,如果侧面包络矩形的对角线交点位于后面包络矩形对角线交点右侧,车辆姿态估计方向为后面对角线交点水平向右,反之水平向左。

按照本发明的另一方面,还提供了一种基于二次部分整体关系校验的车辆姿态估计装置,包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储能被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成所述的基于二次部分整体关系校验的车辆姿态估计方法。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:

1)采用车辆的逻辑组成关系进行校验,方法实现基于现有的车辆数据即可完成姿态估计,车辆识别以及姿态估计不依赖新型车辆的样本;

2)采用二次整体部分关系的逻辑校验,优化复杂车辆组成的整体部分关系校验逻辑,防止识别误差对姿态估计的影响;

3)采用最小包络矩形法计算姿态估计,不需要智能算法训练过程,实现效率高。

附图说明

图1为本发明实施例中基于二次部分整体关系校验的车辆姿态估计的流程示意图;

图2为本发明实施例中车辆的面识别的示意图;

图3为本发明实施例中车前面的要素识别的示意图;

图4为本发明实施例中单面进行姿态检测(前面)的示意图;

图5为本发明实施例中单面进行姿态检测(后面)的示意图;

图6为本发明实施例中单面进行姿态检测(侧面)的示意图;

图7为本发明实施例中按照单面检测的姿态估计流程示意图;

图8为本发明实施例中以车辆为例的包络矩形以及旋转角示意图;

图9为本发明实施例中包络矩形的计算流程示意图;

图10为本发明实施例中按照双面检测的姿态估计流程示意图;

图11为本发明实施例中按照双面检测的姿态估计(前面和侧面)的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施示例仅仅用以解释本发明,并不用于限定本发明。

图1是按照本发明的基于二次部分整体关系校验的车辆姿态估计流程图,根据本发明的步骤:

(1)对待测图像按照车辆组成面进行识别,按照车辆的前、侧、后、顶四个面以及车辆在图中所在区域进行识别。

以图2为例,识别出车辆的前面、顶面、以及侧面。

(2)对车辆的识别出来的面所在区域按照仅相邻的面允许存在重叠区域或者包含关系进行合理性校验。若存在不合理性,则认为该物体不是车辆,结束姿态估计。

同样以图2为例,该图识别出3个面,之间不存在包含关系。即前面不包含顶面或侧面、顶面不包含前面或侧面、侧面不包含前面或侧面。识别出的3个面也不存在相邻合理性的问题,即前面和顶面可以相邻、顶面和侧面可以相邻、前面和侧面可以相邻。假如识别的前面和后面的区域存在重叠,则认定该图片识别的不合理,需要识别的对象不是汽车,则结束姿态估计。

(3)对识别出来的车辆的面区域,根据车辆面的组成要素再次进行识别。

分别针对图2例子中的3个面以组成要素进行识别,以图3车前面的要素识别为例,识别车前面的车灯、进气盖、引擎盖、前挡风玻璃。

(4)对每个面对应的要素按照并按照仅相邻的要素允许存在重叠区域或者包含关系进行合理性校验,若存在不合理性,则认为该物体不是车辆,结束姿态估计。

以图3前面为例进行实施说明,识别出了车灯、进气盖、引擎盖、前挡风玻璃4种元素,仅进气盖和车灯存在重叠区域,所以认为该识别为车辆的前面合理。加入识别出的车灯和前挡风玻璃有重叠区域,则认定该图片识别的不合理,需要识别的对象不是汽车,则结束姿态估计。

(5)计算识别的车辆面所在区域像素数量,如果存在某区域像素数量占识别出车辆所在区域像素数量比重大于预设阈值,则针对该区域按照单面进行姿态检测得到最终的车辆姿态估计。

在本例中设定一个阈值80%,如果识别出某一面的像素除以识别出的3个面所占区域的像素总和大于80%,则针对该面所在的区域按照单面进行姿态检测得到最终的车辆姿态估计。

具体地,在步骤(5)中,按照单面进行姿态检测的流程如图7所示,步骤如下:

(5.1)若待检测的区域为车辆前面(正面),则计算该区域的最小包络矩形后,以该矩形的对角线交点为起点,方向正下作为车辆的姿态估计,并结束方法。

以图4为例进行说明,待检测区域为正面,通过步骤(5.1.1)、(5.1.2)计算得出最小包络矩形,然后连接矩形的对角线,选择对角线的交点方向正下方作为车辆姿态估计的方向。

具体地,在步骤(5.1)的针对指定区域的最小包络矩形的步骤如下:

(5.1.1)从0度开始,以指定角度为步长,在[0,90)度的范围内分别计算得到不同旋转角度下的包络矩形。

以图8为例进行说明,以标准水平的矩形作为旋转角0度,绕左下角旋转的角度作为旋转角,本例以1度作为角度步长,则分别需要计算0、1、2…89度共90个旋转角下的包络矩形。

具体地,在步骤(5.1.1)中计算指定旋转角下的包络矩形示意如图9所示,该示意图计算该车辆图片区域的包络矩形。方法流程如下:

(5.1.1.1)在指定区域的下方的任一位置按照指定旋转角画一条与指定区域不相交的直线,向上平移直线,直到该直线首次穿过区域。

在图9中,先在示例图形下方按照指定旋转角画图中直线a,然后向上平移直线,直到该直线首次穿过示例图所在区域。

(5.1.1.2)在指定区域的上方的任一位置按照指定旋转角画一条与指定区域不相交的直线,向下平移直线,直到该直线首次穿过区域。

在图9中,先在示例图形上方按照指定旋转角画图中直线b,然后向下平移直线,直到该直线首次穿过示例图所在区域。

(5.1.1.3)在指定区域的左侧任一位置按照指定旋转角+90度画一条与指定区域不相交的直线,向右平移直线,直到该直线首次穿过区域。

在图9中,先在示例图形左侧按照指定旋转角+90度画图中直线c,然后向右平移直线,直到该直线首次穿过示例图所在区域。

(5.1.1.4)在指定区域的右侧任一位置按照指定旋转角+90度画一条与指定区域不相交的直线,向左平移直线,直到该直线首次穿过区域。

在图9中,先在示例图形右侧按照指定旋转角+90度画图中直线d,然后向左平移直线,直到该直线首次穿过示例图所在区域。

(5.1.1.5)将得到的4条直线交叉围起来的矩形即为该旋转角下的包络矩形。

在图9中,前4步分别得到的4条直线,该四条直线围起来的矩形区域(图中阴影部分)即为该旋转角下的包络矩形。

(5.1.2)分别针对不同旋转角的包络矩形计算其对应面积,选择面积最小的矩形作为指定区域的最小包络矩形,若存在多个最小面积,最小旋转角的包络矩形作为最小包络矩形。

对上述例子中的90个包络矩形计算其面积,若最小面积仅有1个,则其对应的矩形即为最小包络矩形。若此时存在多个相等面积的最小包络矩形,则最小旋转角度的包络矩形作为最小包络矩形。

(5.2)若待检测的区域为车辆后面,则该区域的最小包络矩形的对角线交点为起点,方向正上作为车辆的姿态估计,并结束方法。

以图5为例进行说明,待检测区域为后面,通过步骤(5.1.1)、(5.1.2)计算得出最小包络矩形,然后连接矩形的对角线,选择对角线的交点方向正上方作为车辆姿态估计的方向。

(5.3)若待检测的区域为车辆顶面,则识别有误,结束车辆姿态估计。

当检测区域仅为车辆顶面时,认定识别出现错误,认为该物体不为车辆,则结束针对本车辆图片的姿态估计。

(5.4)在识别车侧面的前半区域和后半区域后,分别计算两个区域的最小包络矩形,分别连接矩形对角线交点,取后半区域的矩形对角线交点指向前半区域矩形对角线交点作为车辆姿态估计方向。

以图6为例说明,待检测图像区域仅为侧面,分别对车辆的前半区域和后半区域进行识别,在分别计算其对应的最小包络矩形并连接各自的对角线,取后半区域的矩形对角线交点指向前半区域矩形对角线交点作为车辆姿态估计方向。

(6)如果不存在某区域像素数量占识别出车辆所在区域像素数量比重大于预设阈值的情况,则按照双面进行姿态检测得到最终的车辆姿态估计。

以图2为例进行说明,在本例中设定比例阈值80%,由于不存在某一面的像素所占比例大于80%,所以按照双面进行姿态检测得到最终的车辆姿态估计。

具体地,在步骤(6)中,按照双面进行姿态检测流程如图10所示,步骤如下:

(6.1)确定待检测的两个面,按照以下规则:不考虑顶面;若同时存在前面和后面和侧面,取前面和后面的最小包络矩形面积大的面作为一个待检测面,侧面作为另一个待检测面。若按照此规则后只存在一个待检测面,则按照步骤(5)进行姿态估计。

以图2为例进行说明,图中识别到了前面,顶面以及侧面,根据确定待检测两个面的规则,首先不考虑顶面,因此只考虑识别区域的前面和侧面;当前未同时识别到前面、后面和侧面,所以依然只考虑识别区域的前面和侧面;此时存在2个待检测面,因此按照后续步骤进行。

(6.2)如果检测的面是前面和侧面且侧面包络矩形的旋转角不为0,在该情况下,从侧面的包络矩形对角线交点为坐标轴原点,分别向沿着矩形的边方向向第三和第四象限标注方向,如果侧面包络矩形的对角线交点位于正面包括矩形对角线交点右侧,姿态估计方向为第三象限方向,反之则为第四象限方向。

根据图2的举例,按照双面检测的姿态估计的结果如图11所示,检测面是前面和侧面,根据步骤(5.1.1)、(5.1.2)计算出侧面的最小包络矩形旋转角为9度,从侧面的包络矩形对角线交点为坐标轴原点,分别向沿着矩形的边方向向第三和第四象限标注方向,形成图中的2个方向箭头,此时由于侧面包络矩形的对角线交点位于正面包括矩形对角线交点右侧,因此选择第三象限方向的箭头作为姿态估计的方向。

(6.3)如果检测的面是前面和侧面且侧面包络矩形的旋转角为0,在该情况下,如果侧面最小包络矩形的对角线交点位于前面最小包络矩形对角线交点右侧,则姿态估计的方向为前面最小包络矩形对角线交点水平向左,反之,水平向右。

同样对于检测面是前面和侧面的情况,如果侧面的旋转角为0,则认为检测的车辆是在横向水平运动,前面仅作为判别方向的依据,此时如果侧面最小包络矩形的对角线交点位于前面最小包络矩形对角线交点右侧,则姿态估计的方向为侧面最小包络矩形对角线交点水平向左,反之,水平向右。

(6.4)如果检测的面是前面和后面,连接前面和后面包络矩形对角线的交点,取后面矩形对角线交点指向前面矩形对角线交点作为车辆姿态估计方向。

如果检测的两个面是前面和后面,则认定车辆为俯视图,分别计算两个面的最小包络矩形后,连接前面和后面包络矩形对角线的交点,取后面矩形对角线交点指向前面矩形对角线交点作为车辆姿态估计方向。

(6.5)如果检测面是后面和侧面且侧面包络矩形的旋转角不为0,在该情况下,从后面的包络矩形对角线交点为坐标轴原点,分别向沿着矩形的边方向向第一和第二象限标注方向。如果侧面包络矩形的对角线交点位于后面包络矩形对角线交点右侧,姿态估计方向为第二象限方向,反之为第一象限方向。

如果检测面是侧面和后面,且计算出侧面的最小包络矩形旋转角不为0,则认为车辆在斜向远离,从侧面的包络矩形对角线交点为坐标轴原点,分别向沿着矩形的边方向向第一和第二象限标注方向,此时如果侧面包络矩形的对角线交点位于正面包括矩形对角线交点右侧,选择第一象限方向的箭头作为姿态估计的方向。此时如果侧面包络矩形的对角线交点位于正面包括矩形对角线交点左侧,选择第一象限方向的箭头作为姿态估计的方向。

(6.6)如果检测面是后面和侧面且侧面包络矩形的旋转角为0,在该情况下,如果侧面包络矩形的对角线交点位于后面包络矩形对角线交点右侧,车辆姿态估计方向为后面对角线交点水平向右,反之水平向左。

同样对于检测面试后面和侧面的情况,如果侧面的旋转角为0,则认为检测的车辆是在横向水平运动,后面仅作为判别方向的依据,此时如果侧面最小包络矩形的对角线交点位于有面最小包络矩形对角线交点右侧,则姿态估计的方向为侧面最小包络矩形对角线交点水平向右,反之,如果侧面最小包络矩形的对角线交点位于有面最小包络矩形对角线交点左侧,则姿态估计的方向为侧面最小包络矩形对角线交点水平向左。

进一步地,本发明还提供了一种基于二次部分整体关系校验的车辆姿态估计装置,包括至少一个处理器和存储器,所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储能被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于完成所述的基于二次部分整体关系校验的车辆姿态估计方法。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 基于多尺度注意力增强U-Net的电离图自动描迹方法
  • 一种基于图像处理的垂测电离图E区描迹自动判读方法
技术分类

06120116518204