用于自动驾驶的标识牌识别方法及装置
技术领域
本申请涉及导航
技术领域
,尤其涉及一种用于自动驾驶的标识牌识别方法及装置。背景技术
随着自动驾驶技术的发展,相关技术的组合导航系统例如GNSS/IMU组合导航系统在很多特殊场景无法提供准确可靠的定位结果,进一步影响后续规划、控制。GNSS(GlobalNavigation Satellite System,全球导航卫星系统)是一种基于卫星的卫星定位系统,IMU导航系统是一种基于IMU(Inertial Measurement Unit,惯性测量单元)的惯性导航系统。
相关技术的基于高精地图的定位技术可以从视觉信息中提取出视觉传感器获得的的道路因素(比如:标识牌,车道线等),与高精地图中的相应因素进行匹配,修正组合导航的结果。图像作为主要的视觉信息,在通过深度学习模型识别出道路上的标识牌的边界框后,用以EPNP(Efficient Perspective-n-Point)为基础的2D-3D匹配技术,可以计算出自车在高精地图中的相对位置,保持特殊场景定位不丢失。
而相关技术的标识牌识别技术,受到深度学习模型、相机等软硬件的限制,无法准确地识别到标识牌的边界框,导致获得的标识牌的顶点位置存在偏差,使得相关技术的基于高精地图的定位技术也存在误差。
发明内容
为解决或部分解决相关技术中存在的问题,本申请提供一种用于自动驾驶的标识牌识别方法及装置,能够精准地获得标识牌的边界框,提高获得标识牌顶点位置的精度。
本申请第一方面提供一种用于自动驾驶的标识牌识别方法,所述方法包括:
获取标识牌的边界框及边界框的多个顶点;
根据所述标识牌的边界框,获取包括边界框外侧n个像素宽度的图像,n为大于深度学习模型识别的边界框的统计像素偏移误差值的正整数;
在所述图像上生成多个角点块,所述多个角点块的每个角点块以所述多个顶点的每个顶点为中心,2m+1个像素为边长,m为小于n的正整数;
根据所述多个角点块的每个角点块的梯度信息,获得所述每个角点块的边缘信息;
根据所述每个角点块的边缘信息,获得所述每个角点块的交点;
根据所述每个角点块的交点,重新获得所述标识牌的边界框。
优选的,所述方法还包括:
如果所述重新获得的所述标识牌的边界框,与所述获取的标识牌的边界框的物理几何关系一致,确定所述重新获得的标识牌的边界框为所述标识牌的边界框。
优选的,所述根据所述每个角点块的交点,重新获得所述标识牌的边界框,包括:
根据所述每个角点块的边缘信息,获得所述每个角点块的交点的置信度;
对于所述每个角点块的交点,如果所述交点的置信度大于设定阈值,根据置信度大于设定阈值的交点,重新获得所述标识牌的边界框。
优选的,所述交点的置信度为角点块的交点的两条边上包含的边缘像素的总个数与角点块的交点的两条边上包含的像素的总个数的比值。
优选的,所述n为深度学习模型识别的边界框的统计像素偏移误差值的2倍的正整数。
本申请第二方面提供一种用于自动驾驶的标识牌识别装置,所述装置包括:
第一获取模块,用于获取标识牌的边界框及边界框的多个顶点;
第二获取模块,用于根据所述第一获取模块获取的标识牌的边界框,获取包括边界框外侧n个像素宽度的图像,n为大于深度学习模型识别的边界框的统计像素偏移误差值的正整数;
生成模块,用于在所述第二获取模块获取的图像上生成多个角点块,所述多个角点块的每个角点块以所述多个顶点的每个顶点为中心,2m+1个像素为边长,m为小于n的正整数;
角点块处理模块,用于根据所述多个角点块的每个角点块的梯度信息,获得所述生成模块生成的每个角点块的边缘信息;
交点模块,用于根据所述角点块处理模块获得的每个角点块的边缘信息,获得所述每个角点块的交点;
边界框模块,用于根据所述交点模块获得的每个角点块的交点,重新获得所述标识牌的边界框。
优选的,所述装置还包括:
边界框确定模块,用于如果所述边界框模块重新获得的所述标识牌的边界框,与所述第一获取模块获取的标识牌的边界框的物理几何关系一致,确定所述重新获得的标识牌的边界框为所述标识牌的边界框。
优选的,所述角点块处理模块,还用于根据所述每个角点块的边缘信息,获得所述生成模块生成的每个角点块的交点的置信度;
所述边界框模块,还用于对于所述交点模块获得的每个角点块的交点,如果所述角点块处理模块获得的交点的置信度大于设定阈值,根据置信度大于设定阈值的交点,重新获得所述标识牌的边界框。
本申请第三方面提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
本申请第四方面提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
本申请提供的技术方案可以包括以下有益效果:
本申请的技术方案,根据每个角点块的边缘信息,获得每个角点块的交点的置信度;对于每个角点块的交点,如果交点的置信度大于设定阈值,根据置信度大于设定阈值的交点,重新获得标识牌的边界框;如果重新获得的标识牌的边界框,与获取的标识牌的边界框的物理几何关系一致,确定重新获得的标识牌的边界框为标识牌的边界框,利用图像的梯度信息、标识牌的边界框的物理几何关系、交点的置信度,对标志牌的边界框及顶点进行像素级别的优化,能够避免标识牌过小、重叠,以及其它物体例如杆或架遮挡标识牌带来的识别误差,通过交点的置信度的阈值限制,保证优化的可靠性,能够精准地获得标识牌的真正边界框,提高获得标识牌顶点位置的精度,提高与高精地图匹配的精度,保证自动驾驶厘米级的定位和稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的用于自动驾驶的标识牌识别方法的流程示意图;
图2是本申请实施例示出的用于自动驾驶的标识牌识别方法的另一流程示意图;
图3是本申请实施例示出的用于自动驾驶的标识牌识别方法的另一流程示意图;
图4是本申请实施例示出的深度学习模型输出的标识牌的边界框的示意图;
图5是本申请实施例示出的用于自动驾驶的标识牌识别装置的结构示意图;
图6是本申请实施例示出的用于自动驾驶的标识牌识别装置的另一结构示意图;
图7是本申请实施例示出的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的实施方式。虽然附图中显示了本申请的实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
本申请实施例提供一种用于自动驾驶的标识牌识别方法,能够精准地获得标识牌的边界框,提高获得标识牌顶点位置的精度。
以下结合附图详细描述本申请实施例的技术方案。
实施例一:
图1是本申请实施例示出的用于自动驾驶的标识牌识别方法的流程示意图。
参见图1,一种用于自动驾驶的标识牌识别方法,包括:
在步骤S101中,获取标识牌的边界框及边界框的多个顶点。
在一实施方式中,自动驾驶车辆设有拍摄设备,拍摄设备包括但不限于单目相机。单目相机设置于车辆的合适位置,例如,单目相机可以设置于车辆的前挡风玻璃处或者设置于车辆的后视镜处,以便车辆自动行驶过程单目相机能够拍摄包含道路标识牌的图像。
在一实施方式中,可以通过深度学习模型,获取标识牌的边界框及边界框的多个顶点,边界框的多个顶点是边界框的多个角点。可以向深度学习模型输入包含道路标识牌的图像,通过深度学习模型对包含道路标识牌的图像进行识别,输出标识牌的边界框及边界框的多个顶点;获取深度学习模型输出的标识牌的边界框及边界框的多个顶点。
在步骤S102中,根据标识牌的边界框,获取包括边界框外侧n个像素宽度的图像,n为大于深度学习模型识别的边界框的统计像素偏移误差值的正整数。
在一实施方式中,根据深度学习模型识别标识牌的边界框的统计像素偏移误差值,向标识牌的边界框的外侧四周扩大n个像素,获取包括边界框外侧四周n个像素宽度的图像,即在边界框外侧四周多获取n个像素,获得边界框加n个像素宽度的图像。n的大小可以根据深度学习模型识别标识牌的边界框的统计像素偏移误差值设置,n为大小大于统计像素偏移误差值的正整数。
在步骤S103中,在图像上生成多个角点块,多个角点块的每个角点块以多个顶点的每个顶点为中心,2m+1个像素为边长,m为小于n的正整数。
在一实施方式中,以边界框的多个顶点中的一个顶点为中心,2m+1个像素为边长,在步骤S102获取的图像上的一个顶点生成一个角点块,对于边界框的多个顶点的每个顶点,在每个顶点生成一个角点块。
在一实施方式中,可以根据深度学习模型识别图像的边界框的统计像素偏移误差值设置m的大小,其中,m的大小大于统计像素偏移误差值,小于n。边长为2m+1个像素的角点块在扩大n个像素的图像内,因此,2m+1也小于n。
在步骤S104中,根据多个角点块的每个角点块的梯度信息,获得每个角点块的边缘信息。
在一实施方式中,对步骤S103生成的多个角点块的图像进行边缘检测,通过梯度计算获得每个角点块的梯度信息;根据每个角点块的梯度信息,获得每个角点块的边缘信息。角点块的边缘信息即为标识牌顶点两侧的角点块内标识牌真实的边,包括水平方向的边、垂直方向的边。
在步骤S105中,根据每个角点块的边缘信息,获得每个角点块的交点。
在一实施方式中,可以根据每个角点块的水平方向的边与垂直方向的边,获得水平方向的边与垂直方向的边的交点,即获得每个角点块的交点。可以根据角点块的水平方向和垂直方向的直线方程,获得角点块水平方向和垂直方向两条边的交点,即获得每个角点块的交点。
在步骤S106中,根据每个角点块的交点,重新获得标识牌的边界框。
在一实施方式中,以每个角点块的交点为标识牌的边界框的多个新顶点,连接多个新顶点,可以重新获得标识牌的边界框。
本申请实施例示出的用于自动驾驶的标识牌识别方法,根据标识牌的边界框,获取包括边界框外侧n个像素宽度的图像,n为大于深度学习模型识别的边界框的统计像素偏移误差值的正整数,能够防止识别到的边界框在标识牌的内部;在图像上生成多个角点块,多个角点块的每个角点块以多个顶点的每个顶点为中心,2m+1个像素为边长,m为小于n的正整数;根据多个角点块的每个角点块的梯度信息,获得每个角点块的边缘信息;根据每个角点块的边缘信息,获得每个角点块的交点;根据每个角点块的交点,重新获得标识牌的边界框;利用图像的梯度信息,对标志牌的边界框及顶点进行像素级别的优化,能够精准地获得标识牌的真正边界框,提高获得标识牌顶点位置的精度,提高与高精地图匹配的精度,保证自动驾驶厘米级的定位和稳定性。
实施例二:
图2是本申请实施例示出的用于自动驾驶的标识牌识别方法的另一流程示意图。
参见图2,一种用于自动驾驶的标识牌识别方法,包括:
在步骤S201中,获取标识牌的边界框及边界框的多个顶点。
该步骤可以参见步骤S101的描述,此处不再赘述。
在步骤S202中,根据标识牌的边界框,获取包括边界框外侧n个像素宽度的图像,n为大于深度学习模型识别的边界框的统计像素偏移误差值的正整数。
在一实施方式中,如图4所示,深度学习模型根据标识牌图像输出的标识牌的边界框401的右下角并没有完全包含整个标识牌,可以根据深度学习模型识别标识牌的边界框的统计像素偏移误差值,向标识牌的边界框401的外侧四周扩大n个像素,获取包括边界框401外侧四周n个像素宽度的图像,即在边界框401外侧四周多获取n个像素,获得边界框401加n个像素宽度的图像,n个像素宽度的像素可能包括标识牌,也可能包括背景。n的大小可以根据深度学习模型识别标识牌的边界框的统计像素偏移误差值设置,n为深度学习模型识别的边界框的统计像素偏移误差值的2倍的正整数。
在一实施方式中,为了保证后续提取的角点块中包含真正的标识牌的顶点,n的大小可适度放大。根据经验,本申请实施例的n的大小设置为20。
需要说明的是,本申请实施例的标识牌并非限制为如图4所示的实际为矩形的路牌,也包括例如三角形、圆形等形状的路牌。
在步骤S203中,在图像上生成多个角点块,多个角点块的每个角点块以多个顶点的每个顶点为中心,2m+1个像素为边长,m为小于n的正整数。
在一实施方式中,以边界框的多个顶点中的一个顶点为中心,2m+1个像素为边长,在步骤S202获取的图像上的一个顶点生成一个正方形的角点块,对于边界框的多个顶点的每个顶点,每个顶点生成一个面积相同的正方形的角点块。
在一实施方式中,可以根据深度学习模型识别图像的边界框的统计像素偏移误差值设置m的大小,其中,m的大小大于统计像素偏移误差值,小于n。根据经验,本申请实施例的m的大小设置为12,因此,正方形的边长为12*2+1=25个像素,正方形的角点块的大小为25*25个像素。
在步骤S204中,根据多个角点块的每个角点块的梯度信息,获得每个角点块的边缘信息。
该步骤可以参见步骤S104的描述,此处不再赘述。
在步骤S205中,根据每个角点块的边缘信息,获得每个角点块的交点。
该步骤可以参见步骤S105的描述,此处不再赘述。
在步骤S206中,根据每个角点块的交点,重新获得标识牌的边界框。
该步骤可以参见步骤S106的描述,此处不再赘述。
在步骤S207中,如果重新获得的标识牌的边界框,与获取的标识牌的边界框的物理几何关系一致,确定重新获得的标识牌的边界框为标识牌的边界框。
在一实施方式中,如果重新获得的标识牌的边界框与步骤S101中获取的标识牌的边界框的物理几何关系一致,则以重新获得的标识牌的边界框最终确定为标识牌的边界框。例如,假设步骤S101中获取的标识牌的边界框为矩形。如果重新获得的标识牌的边界框也为矩形,重新获得的标识牌的边界框的大小与步骤S101中获取的标识牌的边界框的大小近似相等,则重新获得的标识牌的边界框与步骤S101中获取的标识牌的边界框的物理几何关系一致,以重新获得的标识牌的边界框最终确定为标识牌的边界框。
在一实施方式中,如果重新获得的标识牌的边界框与步骤S101中获取的标识牌的边界框的物理几何关系不一致,则以步骤S101中获取的标识牌的边界框最终确定为标识牌的边界框。
本申请实施例示出的用于自动驾驶的标识牌识别方法,如果重新获得的标识牌的边界框,与获取的标识牌的边界框的物理几何关系一致,确定重新获得的标识牌的边界框为标识牌的边界框,利用图像的梯度信息,对标志牌的边界框及顶点进行像素级别的优化,利用标识牌的边界框的物理几何关系,能够避免标识牌过小、重叠,以及其它物体例如杆或架遮挡标识牌带来的识别误差,能够精准地获得标识牌的真正边界框,提高获得标识牌顶点位置的精度,提高与高精地图匹配的精度,保证自动驾驶厘米级的定位和稳定性。
实施例三:
图3是本申请实施例示出的用于自动驾驶的标识牌识别方法的另一流程示意图。
参见图3,一种用于自动驾驶的标识牌识别方法,包括:
在步骤S301中,获取标识牌的边界框及边界框的多个顶点。
该步骤可以参见步骤S101的描述,此处不再赘述。
在步骤S302中,根据标识牌的边界框,获取包括边界框外侧n个像素宽度的图像,n为大于深度学习模型识别的边界框的统计像素偏移误差值的正整数。
该步骤可以参见步骤S202的描述,此处不再赘述。
在步骤S303中,在图像上生成多个角点块,多个角点块的每个角点块以多个顶点的每个顶点为中心,2m+1个像素为边长,m为小于n的正整数。
该步骤可以参见步骤S203的描述,此处不再赘述。
在步骤S304中,根据多个角点块的每个角点块的梯度信息,获得每个角点块的边缘信息。
该步骤可以参见步骤S104的描述,此处不再赘述。
在步骤S305中,根据每个角点块的边缘信息,获得每个角点块的交点。
该步骤可以参见步骤S105的描述,此处不再赘述。
在步骤S306中,根据每个角点块的边缘信息,获得每个角点块的交点的置信度。
在一实施方式中,可以根据每个角点块水平方向和垂直方向两条边的交点,每个角点块的边缘信息,可以获得每个角点块的两条边的交点的置信度。交点的置信度为角点块的交点的两条边上包含的边缘像素的总个数与角点块的交点的两条边上包含的像素的总个数的比值。
在一实施方式中,可以采用不同的边缘检测算子,因此,获得的角点块的边缘信息可能不同,交点的两条边上包含的边缘像素的总个数可能不同,获得的角点块的交点的置信度也可能不同,本申请实施例以最大的置信度、最小的置信度、或多个置信度的平均值确定为该角点块的交点的置信度。
在步骤S307中,对于每个角点块的交点,如果交点的置信度大于设定阈值,根据置信度大于设定阈值的交点,重新获得标识牌的边界框。
在一实施方式中,如果角点块的交点的置信度大于设定阈值,则重新确定置信度大于设定阈值的交点为标识牌的边界框的新的顶点。对于每个角点块的交点,如果每个角点块的交点的置信度大于设定阈值,则重新确定置信度大于设定阈值的交点为标识牌的边界框的新的多个顶点,以重新确定的标识牌的边界框的多个顶点,重新获得标识牌的边界框。
在一实施方式中,如果角点块的交点的置信度小于或等于设定阈值,则弃用该角点块的交点,保留步骤S101获取的边界框的顶点。以保留的一个或多个顶点和重新确定的标识牌的边界框的一个或多个顶点,重新获得标识牌的边界框。
在步骤S308中,如果重新获得的标识牌的边界框,与获取的标识牌的边界框的物理几何关系一致,确定重新获得的标识牌的边界框为标识牌的边界框。
该步骤可以参见步骤S207的描述,此处不再赘述。
本申请实施例示出的用于自动驾驶的标识牌识别方法,根据每个角点块的边缘信息,获得每个角点块的交点的置信度;对于每个角点块的交点,如果交点的置信度大于设定阈值,根据置信度大于设定阈值的交点,重新获得标识牌的边界框;如果重新获得的标识牌的边界框,与获取的标识牌的边界框的物理几何关系一致,确定重新获得的标识牌的边界框为标识牌的边界框,利用图像的梯度信息、标识牌的边界框的物理几何关系、交点的置信度,对标志牌的边界框及顶点进行像素级别的优化,能够避免标识牌过小、重叠,以及其它物体例如杆或架遮挡标识牌带来的识别误差,通过交点的置信度的阈值限制,保证优化的可靠性,能够精准地获得标识牌的真正边界框,提高获得标识牌顶点位置的精度,提高与高精地图匹配的精度,保证自动驾驶厘米级的定位和稳定性。
实施例四:
与前述应用功能实现方法实施例相对应,本申请还提供了一种用于自动驾驶的标识牌识别装置、电子设备及相应的实施例。
图5是本申请实施例示出的用于自动驾驶的标识牌识别装置的结构示意图。
参见图5,一种用于自动驾驶的标识牌识别装置,包括第一获取模块501、第二获取模块502、生成模块503、角点块处理模块504、交点模块505、边界框模块506。
第一获取模块501,用于获取标识牌的边界框及边界框的多个顶点。
在一实施方式中,自动驾驶车辆设有拍摄设备,拍摄设备包括但不限于单目相机。单目相机设置于车辆的合适位置,例如,单目相机可以设置于车辆的前挡风玻璃处或者设置于车辆的后视镜处,以便车辆自动行驶过程单目相机能够拍摄包含道路标识牌的图像。
在一实施方式中,第一获取模块501可以通过深度学习模型,获取标识牌的边界框及边界框的多个顶点,边界框的多个顶点是边界框的多个角点。第一获取模块501可以向深度学习模型输入包含道路标识牌的图像,通过深度学习模型对包含道路标识牌的图像进行识别,输出标识牌的边界框及边界框的多个顶点;获取深度学习模型输出的标识牌的边界框及边界框的多个顶点。
第二获取模块501,用于根据第一获取模块501获取的标识牌的边界框,获取包括边界框外侧n个像素宽度的图像,n为大于深度学习模型识别的边界框的统计像素偏移误差值的正整数。
在一实施方式中,第二获取模块501根据深度学习模型识别标识牌的边界框的统计像素偏移误差值,向标识牌的边界框的外侧四周扩大n个像素,获取包括边界框外侧四周n个像素宽度的图像,即在边界框外侧四周多获取n个像素,获得边界框加n个像素宽度的图像。第二获取模块501可以根据深度学习模型识别标识牌的边界框的统计像素偏移误差值设置n的大小,n为大小大于统计像素偏移误差值的正整数。
生成模块503,用于在第二获取模块502获取的图像上生成多个角点块,多个角点块的每个角点块以多个顶点的每个顶点为中心,2m+1个像素为边长,m为小于n的正整数。
在一实施方式中,生成模块503以边界框的多个顶点中的一个顶点为中心,2m+1个像素为边长,在第二获取模块502获取的图像上的一个顶点生成一个角点块,对于边界框的多个顶点的每个顶点,生成模块503在每个顶点生成一个角点块。
在一实施方式中,生成模块503可以根据深度学习模型识别图像的边界框的统计像素偏移误差值设置m的大小,其中,m的大小大于统计像素偏移误差值,小于n。
角点块处理模块504,用于根据多个角点块的每个角点块的梯度信息,获得生成模块503生成的每个角点块的边缘信息。
在一实施方式中,角点块处理模块504可以对生成模块503生成的多个角点块的图像进行边缘检测,通过梯度计算获得每个角点块的梯度信息;根据每个角点块的梯度信息,获得每个角点块的边缘信息。角点块处理模块504获得的角点块的边缘信息即为标识牌顶点两侧的角点块内标识牌真实的边,包括水平方向的边、垂直方向的边。
交点模块505,用于根据角点块处理模块504获得的每个角点块的边缘信息,获得每个角点块的交点。
在一实施方式中,交点模块505可以根据角点块处理模块504获得的每个角点块的水平方向的边与垂直方向的边,获得水平方向的边与垂直方向的边的交点,即获得每个角点块的交点。交点模块505可以根据角点块的水平方向和垂直方向的直线方程,获得角点块水平方向和垂直方向两条边的交点,即获得每个角点块的交点。
边界框模块506,用于根据交点模块505获得的每个角点块的交点,重新获得标识牌的边界框。
在一实施方式中,边界框模块506以交点模块505获得的每个角点块的交点为标识牌的边界框的多个新顶点,连接多个新顶点,可以重新获得标识牌的边界框。
本申请实施例示出的技术方案,根据标识牌的边界框,获取包括边界框外侧n个像素宽度的图像,n为大于深度学习模型识别的边界框的统计像素偏移误差值的正整数,能够防止识别到的边界框在标识牌的内部;在图像上生成多个角点块,多个角点块的每个角点块以多个顶点的每个顶点为中心,2m+1个像素为边长,m为小于n的正整数;根据多个角点块的每个角点块的梯度信息,获得每个角点块的边缘信息;根据每个角点块的边缘信息,获得每个角点块的交点;根据每个角点块的交点,重新获得标识牌的边界框;利用图像的梯度信息,对标志牌的边界框及顶点进行像素级别的优化,能够精准地获得标识牌的真正边界框,提高获得标识牌顶点位置的精度,提高与高精地图匹配的精度,保证自动驾驶厘米级的定位和稳定性。
实施例五:
图6是本申请实施例示出的用于自动驾驶的标识牌识别装置的另一结构示意图。
参见图6,一种用于自动驾驶的标识牌识别装置,包括第一获取模块501、第二获取模块502、生成模块503、角点块处理模块504、交点模块505、边界框模块506、边界框确定模块601。
第一获取模块501、第二获取模块502、生成模块503、交点模块505的功能可以参见图5所示。
角点块处理模块504,用于根据多个角点块的每个角点块的梯度信息,获得生成模块503生成的每个角点块的边缘信息;根据每个角点块的边缘信息,获得每个角点块的交点的置信度。
在一实施方式中,角点块处理模块504可以对包括多个角点块的图像进行图像微分处理,对生成模块503生成的多个角点块的图像进行边缘检测,通过梯度计算获得每个角点块的梯度信息;根据每个角点块的梯度信息,获得每个角点块的边缘信息。角点块处理模块504获得的角点块的边缘信息即为标识牌顶点两侧的角点块内标识牌真实的边,包括水平方向的边、垂直方向的边。
在一实施方式中,角点块处理模块504可以根据交点模块505获得的每个角点块水平方向和垂直方向两条边的交点,每个角点块的边缘信息,可以获得每个角点块的两条边的交点的置信度。交点的置信度为角点块的交点的两条边上包含的边缘像素的总个数与角点块的交点的两条边上包含的像素的总个数的比值。
在一实施方式中,角点块处理模块504可以采用不同的边缘检测算子,因此,角点块处理模块504获得的角点块的边缘信息可能不同,交点的两条边上包含的边缘像素的总个数可能不同,获得的角点块的交点的置信度也可能不同,本申请实施例角点块处理模块504以最大的置信度、最小的置信度、或多个置信度的平均值确定为该角点块的交点的置信度。
边界框模块506,用于对于交点模块505获得的每个角点块的交点,如果角点块处理模块504获得的交点的置信度大于设定阈值,根据置信度大于设定阈值的交点,重新获得标识牌的边界框。
在一实施方式中,如果角点块处理模块504获得的角点块的交点的置信度大于设定阈值,边界框模块506则重新确定置信度大于设定阈值的交点为标识牌的边界框的新的顶点。对于交点模块505获得的每个角点块的交点,如果角点块处理模块504获得的每个角点块的交点的置信度大于设定阈值,边界框模块506则重新确定置信度大于设定阈值的交点为标识牌的边界框的新的多个顶点,以重新确定的标识牌的边界框的多个顶点,重新获得标识牌的边界框。
边界框确定模块601,用于如果边界框模块506重新获得的标识牌的边界框,与第一获取模块501获取的标识牌的边界框的物理几何关系一致,确定重新获得的标识牌的边界框为标识牌的边界框。
在一实施方式中,如果边界框模块506重新获得的标识牌的边界框与第一获取模块501获取的标识牌的边界框的物理几何关系一致,边界框确定模块601则以重新获得的标识牌的边界框最终确定为标识牌的边界框。例如,假设第一获取模块501获取的标识牌的边界框为矩形。如果边界框模块506重新获得的标识牌的边界框也为矩形,重新获得的标识牌的边界框的大小比第一获取模块501获取的标识牌的边界框的大小近似相等,则边界框模块506重新获得的标识牌的边界框与第一获取模块501获取的标识牌的边界框的物理几何关系一致,边界框确定模块601以重新获得的标识牌的边界框最终确定为标识牌的边界框。
本申请实施例示出的技术方案,根据每个角点块的边缘信息,获得每个角点块的交点的置信度;对于每个角点块的交点,如果交点的置信度大于设定阈值,根据置信度大于设定阈值的交点,重新获得标识牌的边界框;如果重新获得的标识牌的边界框,与获取的标识牌的边界框的物理几何关系一致,确定重新获得的标识牌的边界框为标识牌的边界框,利用图像的梯度信息、标识牌的边界框的物理几何关系、交点的置信度,对标志牌的边界框及顶点进行像素级别的优化,能够避免标识牌过小、重叠,以及其它物体例如杆或架遮挡标识牌带来的识别误差,通过交点的置信度的阈值限制,保证优化的可靠性,能够精准地获得标识牌的真正边界框,提高获得标识牌顶点位置的精度,提高与高精地图匹配的精度,保证自动驾驶厘米级的定位和稳定性。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
图7是本申请实施例示出的电子设备的结构示意图。
参见图7,电子设备70包括存储器701和处理器702。
处理器702可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器701可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器702或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器701可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器701可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器701上存储有可执行代码,当可执行代码被处理器702处理时,可以使处理器702执行上文述及的方法中的部分或全部。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当可执行代码(或计算机程序、或计算机指令代码)被电子设备(或电子设备、服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。