车牌检测和识别,很久没关注了。作者提出了一个一体化的深度网络,同时进行车牌的检测和识别,在识别时不需要字符分割,而是使用带有CTC的RNN网络,具体的实现细节在论文的参考论文【14】中。
模型首先使用卷积层应用到输入图像,之后提取车牌proposals,接下来使用RoI池化层和MLP进行车牌检测和bbox回归,同时使用带有CTC的RNN进行牌照识别,网络的结构如图1所示:
车牌检测网络:
车牌检测判断提供的RoIs是否为车牌,两个fc层加一个dropout层将特征图转化为向量,编码的特征用于车牌打分和bbox回归。
车牌识别网络:
为了避免进行字符分割,将车牌识别作为序列标记问题,带有CTC损失的双向RNN(BRNN),用于标记序列特征,如图2所示:
对于RoI池化后的特征,先经过两个卷积层,两个卷积层之间有一个矩形池化层,这对于识别窄字符有效,这些操作将车牌区域特征变换为序列
BRNN应用到V,两个相互分离的RNN,其中一个前向处理特征序列,另外一个后向处理序列。两个隐含的状态级联一起,输入具有37个输出的线性变换中。接下来是Softmax层,将37个输出转换到概率,对应26个字母,10个数字及一个非字符类的概率。经过BRNN编码,特征序列转换到与L具有相同长度的概率估计
CTC层被用来做序列解码,通过BRNN的输出序列寻找具有最大概率的近似最优路径,即,
整个检测和识别网络多任务损失为:
实验结果