Persian License Plate Recognition 项目介绍
项目概述
Persian License Plate Recognition (简称PLPR) 系统是一种最先进的解决方案,专门用于图像和视频流中波斯车牌的检测和识别。该系统通过利用深度学习模型和用户友好的界面,在各种场景中提供可靠的性能。PLPR 系统主要应用于交通监控、自动车辆识别等领域,具有很高的准确性和效率。
主要特性
- 先进的检测技术:系统采用 YOLOv5 模型,实现高精度的车牌检测。
- 波斯字符识别:定制训练的模型确保精确识别波斯文字符。
- 实时处理:能够实时处理视频流。
- 用户友好的界面:直观的图形用户界面简化了与系统的交互。
主界面介绍
- 1 输入视图:显示视频或摄像头的输入。
- 2 检测到的车牌高亮:在检测到的车牌周围画出矩形框。
- 3 车牌图片显示:显示检测到的车牌的捕捉图像。
- 4 提取的文字:显示从车牌图片中识别的文字。
- 5 车主信息:列出车主的注册信息。
- 6 车牌状态:指示车牌是否被允许通行、禁止通行或未注册。
- 7 最近记录表:展示最近10个记录,并提供添加未注册车牌或查看车主信息的选项。
住户管理
负责维护和更新住户车辆的信息,管理出入许可,并跟踪住户车辆在场地内的移动情况。
出入口管理
该模块负责管控车辆的进出,确保只有获得授权的车辆可以进入,同时保持所有车辆活动的日志以供安全和管理用途。
系统流程图解
- 开始:系统初始化。
- 输入源:接收图像或视频流。
- 车牌检测:YOLOv5 模型识别车牌。
- 字符识别:定制模型识别波斯字符。
- 数据库检查:与数据库比较车牌状态和车主信息。
- 显示结果:在 GUI 中显示检测和识别结果。
- 记录日志:更新最近记录表和数据库。
- 结束/重复:继续处理新的输入或结束操作。
系统硬件要求
为了确保 Persian License Plate Recognition 系统的最佳性能,建议以下硬件配置:
- 处理器:Intel Core i5(第8代)或更高。
- 内存:8 GB RAM 或更多。
- 图形处理器:具有至少4 GB VRAM的独立GPU(如 NVIDIA GTX 1060 或同等配置),以支持高效的实时处理和深度学习模型计算。
- 存储:至少20 GB可用空间的 SSD,用于软件、模型和数据集。
- 操作系统:与 Windows 10/11、Linux(Ubuntu 18.04或更高)以及 macOS(10.14 Mojave或更高)兼容。
快速开始
安装步骤
- 克隆项目库并进入其目录:
git clone https://github.com/mtkarimi/smart-resident-guard.git cd smart-resident-guard
- 安装所需的 Python 包:
pip install -r requirements.txt
视频源配置
要自定义处理的视频源,可以在 cv2.VideoCapture(0)
中修改,其中 0
表示默认的网络摄像头输入。若使用特定的视频文件,将参数更改为 params.video
,它会从 config.ini
中获取视频路径。在 config.ini
中,将 video
参数设置为你的视频文件路径,例如 video = anpr_video.mp4
,并用你的视频文件路径替换 anpr_video.mp4
。
对于流媒体视频源,更新 config.ini
文件中的流地址,比如用你的流地址替换现有视频路径,例如 rtps = rtsp://172.17.0.1:8554/webCamStream
。这种灵活的视频源选择确保了在不同操作需求下的无缝集成和测试。
运行应用程序
使用以下命令启动应用程序:
python home-yolo.py
系统使用
用户可以通过系统的 GUI 上传和处理图像或视频流,显示检测到的车牌和识别的文本。同时系统还允许进行参数调整以优化性能。
项目特别感谢
向所有开放源代码项目和社区表示衷心的感谢,正是因为他们,这个项目才能实现。特别鸣谢包括:
- 使用 YOLOv5 和 PyTorch 实现的核心检测和识别模型。
- PySide6 和 OpenCV 为应用程序界面及图像处理提供技术支持。
- Pillow 提供了增强的图像处理功能。
致谢
该项目建立在 AI 和开放源代码社区的努力基础上。感谢他们分享知识和工具,这些对项目的成功至关重要。