整体思路:1. 利用u-net图像分割得到二值化图像,2. 再使用cv2进行边缘检测获得车牌区域坐标,并将车牌图形矫正,3. 利用卷积神经网络cnn进行车牌多标签端到端识别,具体描述可见CSDN博客:https://blog.csdn.net/qq_32194791/article/details/106748685
我使用了来自CCPD(你可以点击此处查看CCPD介绍)的车牌图片进行模型评估,并得到了最终结果。模型的FPS在我的机器(GTX1050 以及 Intel(R)Core(TM) i7-8750H CPU @ 2.20GHz)上只达到了14,
使用u-net和cv2的网络模型在ccpd上的评估结果如下表所示,只有当IOU大于等于0.7的时候,在大部分的论文里面是将IOU设置为大于0.5就会被判定为检测正确,但是我使用了更高的门槛,只有达到0.7才会被认为检测正确。同时也可以看到模型的表现在base和weather两个数据集上表现优秀。
表一:在CCPD上的车牌定位评估结果指标\数据集类型 | base | weather | tilt | rotate | fn | db | challenge |
---|---|---|---|---|---|---|---|
AP | 98.69 | 96.44 | 75.81 | 87.97 | 63.35 | 37.67 | 74.51 |
值得注意的是,这里我的识别结果是直接针对所有的图片,因为在大部分的论文中在评估识别模型的时候,一般会选择在检测阶段IOU大于0.6或者其他数值的车牌图片来进行进一步的识别评估。
同时经过评估也发现,大部分的字符错误都集中在第一个字符错误,如果只考虑后面六位字母数字的字符那么结果可以会更好。
表二:在CCPD上的车牌字符识别评估结果指标\数据集类型 | base | weather | tilt | rotate | fn | db | challenge |
---|---|---|---|---|---|---|---|
AP | 92.43 | 85.66 | 44.7 | 64.82 | 30.46 | 13.26 | 24.65 |