1. XLPNet简介2. 相关地址链接
2.1 预览版
内容用法效果保存结果展示说明 2.2 完整版 3. 前言
3.1 不正经的前言3.2 正经的前言 4. 其他
关于XLPNet的设计理念
1. XLPNet简介
一个诞生于2022年,基于纯卷积神经网络结构的车牌检测与识别系统XLPNet分为车牌检测与车牌字符识别两部分,具备轻量化、运行高效的特点算法上具备一些新颖的设计与思考,并非现有方案的简单集成基于pytorch构建完整的网络结构与训练体系,支持GPU/多GPU训练提供完整的opencv调用程序(包括python版本和C++版本),可以完全摆脱深度学习框架的限制,便于在多种不同平台和系统(Windows/Linux/Raspbian)直接或间接部署使用
2. 相关地址链接
2.1 预览版
如果你想试一试XLPNet的效果(目前仅完善了检测部分),但又不想部署任何的环境,那么请不要错过这个!
XLPDetection_opencv_exe
一个在windows系统下可直接运行的车牌检测程序,可以直接对单张车牌图片或者文件夹中图片进行检测(基于opencv库调用XLPNet检测部分网络并进行后处理)。
链接: XLPDetection_opencv_exe
提取码:ozt1
XLPNet_opencv_exe.exe 车牌检测程序可执行程序opencv_world440.dll opencv动态链接库weights 放置模型文件images 放置待测图片outputs 放置保存的检测结果图 用法
方法一:直接拖动一张图片到exe程序上,程序将自动运行,输出检测结果。
- 按键’s’可以保存当前检测结果图,保存在outputs文件夹中按键‘n’或者’ESC’可以直接退出程序注意按键之前注意要切换成英文模型来输入
- 按键’s’可以保存当前检测结果图,保存在outputs文件夹中(保存时将按顺序自动命名)按键’n’可以直接进行下一张检测,不保存按键’ESC’直接退出程序
拖动这两个中的一个到XLPNet_opencv_exe.exe上
效果
以下展示以文件夹作为输入(方法二)的运行结果:
保存结果展示
说明
以上使用的是一个轻量化的模型,仅3.2M;以上结果是基于Intel i5-3470 CPU的运行速度,其中网络前向推理耗时约280ms,后处理约2ms;此外测试了在AMD Ryzen 7 4800H CPU上的运行速度,整体耗时约55ms。 2.2 完整版
完整程序即将上传github,敬请期待
3. 前言 3.1 不正经的前言正经人谁还搞CV?正经搞CV的谁还搞目标检测、字符识别?正经搞目标检测识别的谁还搞车牌?
实不相瞒,我就是那个断断续续做了三年多车牌检测与识别的不正经CVer。才疏学浅,闲来做这么一个开源的小项目,一为总结过去的所学,二为分享当前的所思所想,难免贻笑大方,自然也权当玩笑了。
3.2 正经的前言- 跨入深度学习时代以来,车牌检测与识别(自动车牌识别,ALPR)相关的学术文章、技术文献纵不以万计,也足可称得上“成百上千”,但目标检测、文本检测与识别等领域的发展,仍旧能够给予ALPR技术不竭的更新思路、前进动力;自本科毕设开始,车牌检测与识别就是我的一个课题,硕士课题仍然是ALPR相关。期间对于现有的基于深度学习技术的ALPR方案(包括论文、开源项目等)做过了较为详细的整理研究,发现技术上大同小异,主流方案即是采用通用目标检测技术来定位车牌,采用文本识别技术识别车牌字符;任务本身不是特别有难度,现有方法又有这么多,那还有什么做的必要呢?我的理由有三:
(1)目前通用检测算法基本都是回归边界框,但结合工程经验来看,边界框定位的形式不如采用角点定位的形式来的精度高;
(2)目前很多通用检测算法较难在精度和速度间取得一个均衡(当然yolo系列、NanoDet等做的很好),此外也很难脱离pytorch等深度学习框架直接部署使用;
(3)识别部分现在要想取得高准确率往往采用循环神经网络RNN(LSTM)的方式来处理,不仅速度受限,而且部署也是很麻烦;想法必须经过实践检验才有意义,因此我计划做一个开源的车牌检测与识别方案XLPNet,融入这几年的经验和理念,使其在理论性上具备一定创新性,同时也兼顾一定的工程需要。
LOGO整体是黄黑配色,让人联想到道路警示牌的颜色,实际上这个配色也源自我的偶像李小龙先生在电影遗作《死亡游戏》中的服装,给人警醒之感;字母X一般认为表示未知,表示无限可能,因此选用X作为首字母,X中黄色闪电寓意XLPNet运行快速,橙色寓意道路,呼应XLPNet的使用场景;综上,黄黑配色寓意警醒、自觉、自知,X寓意无限可能,寓意简单、直接、非传统的设计理念。



