视频车牌定位—mtcnn

这段时间一直在弄关于对视频的车牌定位,学了一点Python。真是人生苦短,我用Python啊。

话不多说,进入正题。

对视频进行车牌定位是一类对时间效率要求很高的车牌定位。将视频的每一帧进行处理之后得到图中的类似车牌的位置。当Fps达到30之后,一连串的图片在人眼中就成为了视频,所以对于每一帧的处理时间要在30ms以下。

都说神经网络很火,所以我最先采用的就是利用神经网络的方法来进行车牌定位。

采用的是mtcnn(Multi-task convolutional neural networks)这个算法。mtcnn之前是用来做人脸识别的,关于这一方面有很多文章就不多描述了。

MTCNN3个网络结构组成(P-Net,R-Net,O-Net),如下图所示

ProposalNetwork (P-Net):利用滑动窗口在图片中选出候选车牌并用NMS算法去除掉重叠的窗口
RefineNetwork (R-Net):该网络结构还是通过边界框回归和NMS来去掉那些false-positive区域。该网络结构和P-Net网络结构有差异,多了一个全连接层,所以会取得更好的抑制false-positive的作用。
OutputNetwork (O-Net):该层比R-Net层又多了一层卷积层,所以处理的结果会更加精细。作用和R-Net层作用一样。
第一层详细的网络结构图如下

视频车牌定位—mtcnn_第1张图片


运行结果:

对视频(视频每帧图片大小1080*1920*3)中的车牌基本能够识别出来,然而误检率较高,时间效率较差。

第一层耗时2.2s左右

第二层耗时0.2左右

第三层耗时0.1s左右

与用在人脸识别时达到的15Fps有较大的差距。

代码已经上传到地址如下:

http://download.csdn.net/download/qq_32300341/9953142


你可能感兴趣的:(车牌定位)