一种交通指示牌的识别方法及装置
技术领域
本申请涉及图像识别技术领域,尤其涉及一种交通指示牌的识别方法及装置。
背景技术
目前,在地图导航等领域中,地图导航等软件的制作和维护更新过程一般需要进行道路交通指示牌的识别。如图1所示,由于不同的道路交通指示牌所指示的内容不同,一般可以采用交通标志识别系统(Traffic Sign Recognition System,简称TSR)来识别和输出每种交通指示牌的类别。但是,对于例如限速、限高、限宽、限重、限轴重、解除限速和最低限速等交通指示牌,则不能直接通过交通指示牌的类别就确定交通牌的具体含义,因为此种带有数字,或者数字和字母的交通指示牌的外形和结构基本一致,但其具体的内容不同。例如限速60和限速80的交通指示牌,虽然类型均为限速标志,但具体含义却不同。因此,如何精准的识别此类交通指示牌成为一个亟待解决的问题。
当前对此类交通指示牌的识别一般较为依赖人工作业方式识别,即需要作业人员通过查看每幅图片,在图片中查看是否有需要作业的交通标志,如果有,则按照作业规范制作数据。而上述通过人工作业方式来识别带有数字,或者数字和字母的的交通指示牌的内容的过程中,存在处理速度慢、过程繁琐复杂且容易出现识别结果不准确的问题。
发明内容
本申请的实施例提供一种交通指示牌的识别方法及装置,以解决现有技术中通过人工作业方式来识别交通指示牌的内容的过程中,存在处理速度慢、过程繁琐复杂且容易出现识别结果不准确的问题。
为达到上述目的,本申请采用如下技术方案:
一种交通指示牌的识别方法,包括:
获得包括至少一张图像的图像组和所述图像组中的图像记录的交通指示牌的类型,所述图像组中的图像记录了同一个交通指示牌,所述交通指示牌上至少有数字;
对所述图像组中的图像进行图像识别,输出图像记录的交通指示牌的内容识别结果和内容识别结果的置信度;
根据所述交通指示牌的类型获取该交通指示牌的类型所对应的先验规则,其中,所述先验规则包括数字取值规则,或者,数字取值规则和字母规律规则;
根据获取的所述先验规则对所述内容识别结果的置信度进行更新;
根据所述图像组中的图像对应的所述内容识别结果和更新后的该内容识别结果的置信度,获得所述交通指示牌的识别结果。
一种交通指示牌的识别装置,包括:
图像获取单元,用于获得包括至少一张图像的图像组和所述图像组中的图像记录的交通指示牌的类型,所述图像组中的图像记录了同一个交通指示牌,所述交通指示牌上至少有数字;
图像识别单元,用于对所述图像组中的图像进行图像识别,输出图像记录的交通指示牌的内容识别结果和内容识别结果的置信度;
先验规则获取单元,用于根据所述交通指示牌的类型获取该交通指示牌的类型所对应的先验规则,其中,所述先验规则包括数字取值规则,或者,数字取值规则和字母规律规则;
置信度更新单元,用于根据获取的所述先验规则对所述内容识别结果的置信度进行更新;
交通指示牌识别单元,用于根据所述图像组中的图像对应的所述内容识别结果和更新后的该内容识别结果的置信度,获得所述交通指示牌的识别结果。
本申请实施例提供的一种交通指示牌的识别方法及装置,能够对记录有同一交通指示牌的图像组的图像进行识别,输出图像记录的交通指示牌的内容识别结果和该内容识别结果的置信度;然后根据交通指示牌的类型获取该交通指示牌的类型所对应的先验规则,对内容识别结果的置信度进行更新;从而根据图像组中的图像对应的内容识别结果和更新后的该内容识别结果的置信度,获得交通指示牌的识别结果。可见,本申请可以完成对交通指示牌的自动准确识别,而无需作业人员进行人工标注,避免了通过人工作业方式来识别交通指示牌的内容的过程中,存在的处理速度慢、过程繁琐复杂且容易出现识别结果不准确的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的道路交通指示牌示意图;
图2为本申请实施例中的交通指示牌的示意图;
图3为本申请实施例提供的一种交通指示牌的识别方法的流程图一;
图4为本申请实施例提供的一种交通指示牌的识别方法的流程图二;
图5为本申请实施例中的带有交通指示牌的图像示意图;
图6为本申请实施例中对各图像中包含的交通指示牌中的各字符进行检测和识别的流程图;
图7为本申请实施例提供的一种交通指示牌的识别装置的结构示意图一;
图8为本申请实施例提供的一种交通指示牌的识别装置的结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使本领域的技术人员更好的了解本申请,在本申请中出现的术语有如下解释:
物理点:多幅图像中的同一实际物体目标定义为同一物理点。
卷积神经网络(Convolutional Neural Network,简称CNN):一种前馈神经网络,属于深度学习算法中的一种。
在实现本申请实施例的过程中,发明人发现现有技术对道路交通指示牌的识别一般采用的是用数字和字母内容和背景的颜色不同而分割出道路交通指示牌中的数字和字母内容,但是此种方法并不适用于一些图像数据较不清晰的情况,当图像数据不是非常清晰或者道路交通指示牌本身已经不太清晰的时候,道路交通指示牌的颜色会发生一些色偏,单纯用颜色分割很难分割出完整的数字和字母内容。
如图2所示,在本申请实施例中带有数字的交通指示牌是指限速交通指示牌101、限高交通指示牌102、限宽交通指示牌103、限重交通指示牌104、限轴重交通指示牌105、解除限速交通指示牌106和最低限速交通指示牌107等,但不仅局限于此,应该知道的是,一些带有数字以及数字和字母组合的交通指示牌均属于带有数字的交通指示牌。
本申请实施例中的交通指示牌的识别方法可以应用于地图导航等软件的制作和维护更新,例如一条道路上新增加了交通指示牌,则需要在地图导航等软件中增加该交通指示牌的相关内容,此时需要对带有交通指示牌的图像进行识别。如图3所示,本申请实施例提供一种交通指示牌的识别方法,包括:
步骤201、获得包括至少一张图像的图像组和图像组中的图像记录的交通指示牌的类型,该图像组中的图像记录了同一个交通指示牌,交通指示牌上至少有数字。
步骤202、对图像组中的图像进行图像识别,输出图像记录的交通指示牌的内容识别结果和内容识别结果的置信度。
步骤203、根据交通指示牌的类型获取该交通指示牌的类型所对应的先验规则。
其中,该先验规则包括数字取值规则,或者,数字取值规则和字母规律规则。
步骤204、根据获取的先验规则对内容识别结果的置信度进行更新。
步骤205、根据图像组中的图像对应的内容识别结果和更新后的该内容识别结果的置信度,获得交通指示牌的识别结果。
本申请实施例提供的一种交通指示牌的识别方法,能够对记录有同一交通指示牌的图像组的图像进行识别,输出图像记录的交通指示牌的内容识别结果和该内容识别结果的置信度;然后根据交通指示牌的类型获取该交通指示牌的类型所对应的先验规则,对内容识别结果的置信度进行更新;从而根据图像组中的图像对应的内容识别结果和更新后的该内容识别结果的置信度,获得交通指示牌的识别结果。可见,本申请可以完成对交通指示牌的自动准确识别,而无需作业人员进行人工标注,避免了通过人工作业方式来识别交通指示牌的内容的过程中,存在的处理速度慢、过程繁琐复杂且容易出现识别结果不准确的问题。
为了使本领域的技术人员更好的了解本申请,下面列举一个本申请更为详细的实施例,如图4所示,本申请实施例提供一种交通指示牌的识别方法,包括:
步骤301、获得包括至少一张图像的图像组和图像组中的图像记录的交通指示牌的类型,该图像组中的图像记录了同一个交通指示牌,交通指示牌上至少有数字。
此处的图像组可以是为了进行交通指示牌的识别而预先拍摄采集的一场景中的多幅图像,该多幅图像中可以具有同一物理点的同一交通指示牌。如图5所示,此处以一幅图像为例,在图5中可以看出在一公路的场景中,具有限高交通指示牌(限高3m)。在本申请实施例中,如图5所示的图像还可以有多种。由于说明书附图的限制,此处的图5是以黑白线条图所示,需要知道的是,本申请实施例中的图像还可以是彩色图像或灰度图像等。
步骤302、对图像组中的图像包含的交通指示牌中的各字符进行检测和识别,生成各字符的字符识别结果和字符置信度。
此处的步骤302可以采用目标检测算法来实现,如图6所示,具体可以有如下步骤:
步骤3021、提取图像组中的图像中包含的交通指示牌的候选区域。
步骤3022、通过卷积神经网络对候选区域进行分类任务,确定交通指示牌中各字符的字符识别结果和字符置信度。
此处的交通指示牌中各字符的字符识别结果即为实际的数字的值或者字母的内容,例如在限高3m的交通指示牌中,候选区域中字符识别结果可以分别为“3”和“m”。
步骤3023、通过卷积神经网络对候选区域进行回归任务,确定各字符的位置信息。
此处的各字符的位置信息可以采用二维坐标的方式,例如一幅图像可以由若干个点组成,每个点具有一个位置坐标,对于一个候选区域,可以用该候选区域的左上角和右下角两个位置坐标来确定候选区域在图像中的位置,但不仅局限于此。例如在限高3m的交通指示牌中,候选区域中字符识别结果分别为“3”和“m”,其中字符识别结果“3”的位置坐标可以为“(X1,Y1),(X2,Y2)”,字符识别结果“m”的位置坐标可以为“(X3,Y3),(X4,Y4)”。
这样,通过步骤3022和步骤3023,即可以确定各字符的字符识别结果和各字符的位置信息,如“(3,(X1,Y1),(X2,Y2))”和“(m,(X3,Y3),(X4,Y4))”。
另外,需要知道的是,在基于卷积神经网络的目标检测中,所识别的内容均具有置信度(即字符置信度),置信度的取值一般为0至1。例如,对于一个图像较为模糊的限高3m的交通指示牌,在识别字符“3”时,字符识别结果不一定为3,例如字符识别结果可以为“2”,字符置信度为0.15;字符识别结果还可以为“8”,字符置信度为0.05;字符识别结果还可以为“3”,字符置信度为0.80。此处,需要说明的是,当识别同一个字符时,不同字符识别结果的字符置信度可能不同,但是和等于1。
步骤303、根据各字符的字符识别结果和各字符的位置信息将同一图像中各字符的字符识别结果整合,获得该图像中包含的交通指示牌的内容识别结果。
例如,对于上述限高3m的交通指示牌,各字符识别结果分别为“3”和“m”,根据各字符的字符识别结果和各字符的位置信息“(3,(X1,Y1),(X2,Y2))”和“(m,(X3,Y3),(X4,Y4))”,即可最终获得交通指示牌的内容识别结果“3m”。
步骤304、根据同一图像中各字符的字符置信度,确定该图像中包含的交通指示牌的内容识别结果的置信度。
此处的步骤304可以采用如下方式:
将同一图像中各字符对应的字符置信度的最小值,作为内容识别结果的置信度。
例如对于上述限高3m的交通指示牌,字符“3”的字符置信度为0.95,而字符“m”的字符置信度为0.65,则由于0.65小于0.95,因此以0.65来作为内容识别结果“3m”的置信度。
步骤305、根据交通指示牌的类型获取该交通指示牌的类型所对应的先验规则,并确定图像记录的交通指示牌的内容识别结果是否满足先验规则。
其中,该先验规则包括数字取值规则,或者,数字取值规则和字母规律规则。
例如各类型交通指示牌的数字取值规则可以有很多种,此处仅列举几个实例:
①限速交通指示牌的内容识别结果中数字范围大于等于5,且小于等于120,且为5的倍数。
②限高交通指示牌和限宽交通指示牌的内容识别结果中数字范围小于等于10米。
③各种带有数字的交通指示牌的内容识别结果的数字位数小于等于5位数。
例如各类型交通指示牌的字母规律规则可以有很多种,此处仅列举几个实例:
①限高交通指示牌和限宽交通指示牌的内容识别结果中的字母不会出现“t”。
②限重交通指示牌和限轴重交通指示牌的内容识别结果中的字母不会出现“m”。
对于以上各类型交通指示牌的数字取值规则和字母规律规则,本领域技术人员还可以根据经验设置更多,此处不再赘述。
若图像记录的交通指示牌的内容识别结果满足该先验规则,执行步骤306;否则,若图像记录的交通指示牌的内容识别结果不满足该先验规则,执行步骤307。
步骤306、保持该图像记录的交通指示牌的内容识别结果的置信度不变。
步骤307、将该图像记录的交通指示牌的内容识别结果的置信度更新为零。
在步骤306和步骤307之后,继续执行步骤308。
步骤308、将图像组中的图像对应的内容识别结果以结果内容进行统计,确定各结果内容中内容识别结果的数量。
在步骤308之后,执行步骤309或者步骤310。
步骤309、若数量最大的结果内容为一个,则将数量最大的结果内容作为交通指示牌的识别结果。
此处步骤309是为了选择出数量最大的识别结果。例如,对于限高3m的交通指示牌,各图像中内容识别结果可以有多种,按照不同的结果内容进行统计,如结果内容为“3m”的有10幅图像,“8m”的有1幅图像,“2m”的有2幅图像。则数量最大的结果内容为“3m”,则以“3m”来作为限高3m的交通指示牌的识别结果。
步骤310、若数量最大的结果内容为至少二个,则根据各更新后的该内容识别结果的置信度确定各数量最大的结果内容的平均置信度,并将平均置信度最大的结果内容作为交通指示牌的识别结果。
此处数量最大的结果内容为至少二个表示至少有二个结果内容的数量最大且数量相同。例如,对于限高3m的交通指示牌,各图像中内容识别结果可以有多种,按照不同的结果内容进行统计,如结果内容为“3m”的有5幅图像,“8m”的有5幅图像,“2m”的有2幅图像。可见数量最大的结果内容为“3m”和“8m”,均为5张。此时需要根据各更新后的该内容识别结果的置信度确定各数量最大的结果内容的平均置信度,并将平均置信度最大的结果内容作为交通指示牌的识别结果。
例如结果内容为“3m”的5幅图像的置信度分别为0.85、0.95、0.95、0.90、0.99,则平均置信度为0.928;结果内容为“8m”的5幅图像的置信度分别为0.30、0.35、0.40、0.35、0.30,则平均置信度为0.34。可见,结果内容为“3m”的平均置信度最大,则此处以“3m”作为限高3m的交通指示牌的识别结果。
本申请实施例提供的一种交通指示牌的识别方法,能够对记录有同一交通指示牌的图像组的图像进行识别,输出图像记录的交通指示牌的内容识别结果和该内容识别结果的置信度;然后根据交通指示牌的类型获取该交通指示牌的类型所对应的先验规则,对内容识别结果的置信度进行更新;从而根据图像组中的图像对应的内容识别结果和更新后的该内容识别结果的置信度,获得交通指示牌的识别结果。可见,本申请可以完成对交通指示牌的自动准确识别,而无需作业人员进行人工标注,避免了通过人工作业方式来识别交通指示牌的内容的过程中,存在的处理速度慢、过程繁琐复杂且容易出现识别结果不准确的问题。
对应于上述图3和图4所示的方法实施例,如图7所示,本申请实施例还提供一种交通指示牌的识别装置,包括:
图像获取单元41,用于获得包括至少一张图像的图像组和图像组中的图像记录的交通指示牌的类型,该图像组中的图像记录了同一个交通指示牌,所述交通指示牌上至少有数字。
图像识别单元42,用于对图像组中的图像进行图像识别,输出图像记录的交通指示牌的内容识别结果和内容识别结果的置信度。
先验规则获取单元43,用于根据交通指示牌的类型获取该交通指示牌的类型所对应的先验规则。
其中,先验规则包括数字取值规则,或者,数字取值规则和字母规律规则。
置信度更新单元44,用于根据获取的先验规则对内容识别结果的置信度进行更新。
交通指示牌识别单元45,用于根据图像组中的图像对应的内容识别结果和更新后的该内容识别结果的置信度,获得交通指示牌的识别结果。
具体的,如图8所示,图像识别单元42,包括:
字符检测识别模块421,用于对图像组中的图像包含的交通指示牌中的各字符进行检测和识别,生成各字符的字符识别结果和字符置信度。
整合处理模块422,用于将同一图像中各字符的字符识别结果整合,获得该图像中包含的交通指示牌的内容识别结果。
置信度确定模块423,用于根据同一图像中各字符的字符置信度,确定该图像中包含的交通指示牌的内容识别结果的置信度。
具体的,如图8所示,字符检测识别模块421,包括:
候选区域提取子模块4211,用于提取图像组中的图像中包含的交通指示牌的候选区域。
分类任务执行子模块4212,用于通过卷积神经网络对候选区域进行分类任务,确定交通指示牌中各字符的字符识别结果和字符置信度。
回归任务执行子模块4213,用于通过卷积神经网络对候选区域进行回归任务,确定各字符的位置信息。
另外,整合处理模块422,具体可以根据各字符的字符识别结果和各字符的位置信息将同一图像中各字符的字符识别结果整合,获得该图像中包含的交通指示牌的内容识别结果。
另外,置信度确定模块423,具体可以将同一图像中各字符对应的字符置信度的最小值,作为内容识别结果的置信度。
具体的,如图8所示,置信度更新单元44,包括:
判断模块441,用于确定图像记录的交通指示牌的内容识别结果是否满足先验规则。
置信度处理模块442,用于在图像记录的交通指示牌的内容识别结果满足先验规则时,保持该图像记录的交通指示牌的内容识别结果的置信度不变;在图像记录的交通指示牌的内容识别结果不满足先验规则时,将该图像记录的交通指示牌的内容识别结果的置信度更新为零。
具体的,如图8所示,交通指示牌识别单元45,包括:
结果内容统计模块451,用于将图像组中的图像对应的内容识别结果以结果内容进行统计,确定各结果内容中内容识别结果的数量。
交通指示牌识别结果确定模块452,用于在数量最大的结果内容为一个时,将数量最大的结果内容作为交通指示牌的识别结果;在数量最大的结果内容为至少二个时,根据各更新后的该内容识别结果的置信度确定各数量最大的结果内容的平均置信度,并将平均置信度最大的结果内容作为交通指示牌的识别结果。
值得说明的是,本申请实施例提供的一种交通指示牌的识别装置的具体实现方式可以参见上述图3和图4对应的方法实施例,此处不再赘述。
本申请实施例提供的一种交通指示牌的识别装置,能够对记录有同一交通指示牌的图像组的图像进行识别,输出图像记录的交通指示牌的内容识别结果和该内容识别结果的置信度;然后根据交通指示牌的类型获取该交通指示牌的类型所对应的先验规则,对内容识别结果的置信度进行更新;从而根据图像组中的图像对应的内容识别结果和更新后的该内容识别结果的置信度,获得交通指示牌的识别结果。可见,本申请可以完成对交通指示牌的自动准确识别,而无需作业人员进行人工标注,避免了通过人工作业方式来识别交通指示牌的内容的过程中,存在的处理速度慢、过程繁琐复杂且容易出现识别结果不准确的问题。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。