1.一种基于heatmap提取关键点的交通信号灯的识别方法,其特征在于,步骤如下:
s1、获取由包含红绿灯的图片样本组成的图像数据集,每一张图片样本均具有标注,所述标注包括红绿灯的外包矩形框以及红绿灯指示方向类别;
s2、以resnet_50网络作为骨架网络构建交通信号灯识别模型,resnet_50网络的输出的第一特征图经过连续三层反卷积后输出第二特征图,第二特征图分别输入第一输出网络、第二输出网络和第三输出网络中;所述第一输出网络将第二特征图连续通过两个卷积层后得到heatmap,所述heatmap由所有红绿灯指示方向类别各自的热图组成,提取heatmap中每一个红绿灯指示方向类别的热图,判断热图中每一个位置的值是否不小于周围的八个近邻位置,若满足则将其作为一个热点;针对每一个红绿灯指示方向类别的热图中的热点,通过设置阈值筛除热点位置的值小于阈值的热点,剩余的热点作为该红绿灯指示方向类别的热图中的红绿灯外包矩形框中心点进行输出;所述第二输出网络将第二特征图连续通过两个卷积层后输出每个红绿灯外包矩形框中心点的偏移量;所述第三输出网络将第二特征图连续通过两个卷积层后输出每个红绿灯外包矩形框的高度和宽度;
s3:利用所述图像数据集,通过最小化总损失函数对所述交通信号灯识别模型进行训练;单个图片样本的总损失函数ldet为:
ldet=lk+αoffloff+αsizelsize
其中:αoff和αsize为权重系数;
lk为外包矩形框中心点的损失,且:
ln为外包矩形框n的损失:
式中:n表示图片样本中红绿灯的外包矩形框n的个数,
loff为外包矩形框中心点偏移量损失,且:
式中:
lsize为外包矩形框大小损失,且:
式中:
s4、将含有交通信号灯的待识别图片输入所述交通信号灯识别模型中,由所述第一输出网络输出不同红绿灯指示方向类别的红绿灯外包矩形框中心点,由所述第二输出网络输出每个红绿灯外包矩形框中心点的偏移量,由所述第三输出网络输出每个红绿灯外包矩形框的高度和宽度;在heatmap中,根据输出的红绿灯外包矩形框的中心点、偏移量以及高度和宽度,得到红绿灯外包矩形框的标定框,并将标定框重新映射至待识别图片中。
2.如权利要求1所述的基于heatmap提取关键点的交通信号灯的识别方法,其特征在于,所述s1中,图片样本为汽车行驶过程中由行车记录仪拍摄到的包含红绿灯的图片或者由路口监控摄像头拍摄到的包含红绿灯的图片。
3.如权利要求1所述的基于heatmap提取关键点的交通信号灯的识别方法,其特征在于,所述s1中,每个图片样本的标注内容为(c,x1,y1,x2,y2),c表示红绿灯指示方向类别,(x1,y1)和(x2,y2)分别表示红绿灯外包矩形框的左上角坐标和右下角坐标。
4.如权利要求1所述的基于heatmap提取关键点的交通信号灯的识别方法,其特征在于,所述s2中,交通信号灯识别模型内各网络层的参数如下:
所述resnet50网络的输入图片大小为512*512*3,输出的第一特征图大小为16*16*2048;
所述第一特征图经过连续三层反卷积后输出的第二特征图大小为128*128*64;
所述第一输出网络输出的heatmap大小为128*128*c;c表示红绿灯指示方向类别标签个数;最大池化层的窗口大小为3×3;
所述第二输出网络输出的每个红绿灯外包矩形框中心点的偏移量特征大小为128*128*2;
所述第三输出网络输出的每个红绿灯外包矩形框的高度和宽度特征大小为128*128*2。
5.如权利要求1所述的基于heatmap提取关键点的交通信号灯的识别方法,其特征在于,所述s3中,红绿灯外包矩形框n的中心点偏移量实际值计算公式为:
其中:
经过r倍下采样后的整型坐标。
6.如权利要求l所述的基于heatmap提取关键点的交通信号灯的识别方法,其特征在于,所述s4中,heatmap中红绿灯外包矩形框的标定框为:
其中:(x1,y1)、(x2,y2)分别表示标定框的左上角和右下角坐标,
7.如权利要求1所述的基于heatmap提取关键点的交通信号灯的识别方法,其特征在于,所述权重系数αoff和αsize分别设置为1和0.1。
8.如权利要求1所述的基于heatmap提取关键点的交通信号灯的识别方法,其特征在于,所述超参数α、β分别设置为2和4。
9.一种基于heatmap提取关键点的交通信号灯的识别装置,其特征在于,包括存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,用于当执行所述计算机程序时,实现如权利要求1~8任一项所述的基于heatmap提取关键点的交通信号灯的识别方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1~8任一项所述的基于heatmap提取关键点的交通信号灯的识别方法。