代码位置
注意事项:
如果用python3运行的话
1.要把几个python文件中的print后面加括号。
2.license-plate-ocr.py文件中第45行
R,(width,height) = detect(ocr_net, ocr_meta, img_path ,thresh=ocr_threshold, nms=None)
换成:
R,(width,height) = detect(ocr_net, ocr_meta, bytes(img_path,encoding='ytf-8'),thresh=ocr_threshold, nms=None)
3.vehicle-detection.py第45行也是:
R,_ = detect(vehicle_net, vehicle_meta, img_path ,thresh=vehicle_threshold)
换成:
R,_ = detect(vehicle_net, vehicle_meta, bytes(img_path, encoding='utf-8'),thresh=vehicle_threshold)
论文中把车牌识别分为四个子任务:
(1)车辆检测;(2)车牌检测;(3)字符分割;(4)字符识别。
大致流程为:
(1)用YOLO检测出车辆;
(2)对每个有车辆的boundingbox进行resize,喂给WPOD-NET
(3)WPOD-NET 识别出车牌的位置并输出一张240*80的png图片。(如果图片有倾斜,利用仿射变换对图片进行校正。)
(4)最后再用YOLO识别出车牌中的字符。
论文的主要贡献就是WPOD-NET(Warped Planar Object Detection Network.)
它的结构图:
但是这个解决方案对汉字的识别比较差。
准备的解决方案是:
(1)问题主要原因是最后识别字符的YOLO模型训练的数据集中就没有汉字,试试能不能把CCPD中的部分数据集拿过来重新训练最后的YOLO识别模型。
(2)作者给的代码每步都是分离的,那试试能不能把最后YOLO识别模型换成别的文字识别模型。