1.一种倾斜车牌矫正方法,其特征在于包括如下步骤:
步骤1:先准备车牌字符检测数据集,在每一张车牌上标注每一车牌字符的位置矩形框R与类别标签A,A∈B,B为字符索引表;然后基于准备的数据集训练一个用于车牌字符检测的深度卷积神经网络模型M;
步骤2:将倾斜车牌图像I输入到用于车牌字符检测的深度卷积神经网络模型M,输出候选车牌字符集合H={hi|i=1,2,3…,nH},其中,nH表示集合H的元素个数,hi表示集合H的第i个候选车牌字符,hi是由(b,t,r)构成的三元组,b表示候选字符的类别标签,b∈B,t表示候选字符的置信度,t∈[0,1],r是由(x,y,w,h)构成的四元组,r表示候选字符的外接矩形框,x、y、w和h分别表示矩形框的左上角横坐标、左上角纵坐标、宽度和高度;
步骤3:对步骤2得到的车牌字符集合H,将所有字符的中心点两两相连,记Kjl为第j个字符与第l个字符连线段的斜率,由公式(1)计算得到:其中,(exj,eyj)表示集合H中第j个元素的横、纵坐标,(exl,eyl)表示集合H中第l个元素的横、纵坐标,1≤j≤nH,1≤l≤nH,且j≠l;
步骤4:将步骤3得到的Kjl转换为倾斜角度,并按公式(2)计算所属角度区间:其中,arctan(*)为反正切函数;bins表示角度区间等分数量; 返回浮点数的最大近似整数值;Rjl指示Kjl所属的角度区间索引;
步骤5:根据步骤4得到的Rjl,按公式(3)统计车牌各字符的区间投票情况:其中,χ(*)为示性函数,当输入条件为真时返回1,否则返回0;Vjr指示集合H第j个元素在等分区间r内的投票数;
步骤6:确定最终的车牌倾斜率k:
步骤7:根据步骤6得到的最终车牌倾斜率k,利用beam-search算法找到所有主行方向上的字符,并按横坐标由小到大排序,记第一个字符为Cf,最后一个字符为Cl,然后由Cf的左上角顶点坐标、Cf的左下角顶点坐标和Cl的中点坐标计算仿射矩阵X,并用于车牌的倾斜矫正;
步骤8:算法结束。
2.根据权利要求1所述的一种倾斜车牌矫正方法,其特征在于,所述步骤6具体为:步骤6.1:根据步骤5得到的Vjr,按公式(4)计算最多票数区间值τ;
步骤6.2:根据步骤6.1所确定的τ,进一步计算各字符对确定最终车牌倾斜率的贡献权值,如公式(5)所示:其中,Wj为集合H中第j个元素对最终车牌倾斜率的贡献权值;
步骤6.3:根据步骤6.1所确定的τ和步骤6.2所确定的Wj,按公式(6)计算得到最终的车牌倾斜率k: