智能车牌识别调度系统

Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.


本项目基于 Quectel Pi M2 智能主控板(RK3576,板载 NPU 6 TOPS)打造边缘侧车牌识别与接客调度终端:通过 USB 摄像头实时识别进出车辆的车牌(蓝牌 / 新能源绿牌),自动完成「登记用车 → 四车位分配 → 到位接客 → 完成 / 超时 / 取消 → 候队自动补位 → 二次接客」全流程调度,关键动作全程语音播报。识别与调度全部在板端 NPU 本地运行,无需联网,画面与数据不离开设备。

开发配件清单

说明:以下为推荐开发配件,实际使用时可根据展示场景灵活调整。

配件名称

数量

规格参数

Quectel Pi M2 智能主控板

1 块

-

USB 摄像头

1 个

UVC 协议,支持 720p MJPG,对准上客通道

扬声器

1 个

2030腔体喇叭8Ω 2W方形喇叭高音质小体积扬声器

HDMI 显示器(可选)

1 个

图形界面运行需要屏幕;SSH 远程调试时可无屏安装

网线

1 根

用于 SSH 登录与安装包推送

Type-C 电源适配器

1 个

主控板供电

杜邦线/螺丝刀

若干

-

配件实物参考

../../../_images/image_IMSnbgAjJoyDpLxAQftcvpMjnAe.webp

快速上手

环境要求

  • Quectel Pi M2 智能主控板,运行出厂 Debian 13 桌面环境(无需任何额外系统配置)。

  • 一台可以进入 M2 桌面的 HDMI 显示器。

  • 一个 USB UVC 摄像头(对准上客通道)和一只喇叭(3.5mm 或蓝牙)。

  • 无需联网、无需安装任何依赖、无需编译——安装包已内置全部运行环境(Python、AI 推理引擎、界面库)、双 RKNN 模型和中英文语音资源(解压后约 360MB)。

  • 普通用户需在 video、audio 用户组,摄像头和声音才能正常使用。

关键技术指标

应用的关键技术指标如下:

项目

参数

车牌检测模型

y5fu 车牌检测(640×640,fp16 精度不量化)

车牌识别模型

rpv3 文字识别(48×160,fp16 精度不量化)

AI 推理

板载 NPU(6 TOPS),检测 + 识别双模型流水线,实测约 9~18 FPS

多帧确认

同一读数 ≥3 票、占比 ≥0.5、平均字符置信度 ≥0.8、读数 ≥7 位才确认;车牌低于 14 像素高的帧不参与表决

调度能力

四车位 A01~A04 分配 · 到位 · 接客完成 · 超时警示(默认 2 分钟)· 取消释放 · FIFO 候队自动补位 · 二次接客

语音与界面

中英双语一键切换;调度语音离线词元拼接播报(如「苏A53D9P,请前往 A01」)

运行方式

完全离线,画面与数据不离开设备

安装体积

安装包约 137MB,解压后约 360MB(内置全部运行环境、模型与语音资源)

硬件连接

完成以下所有硬件的连接操作,连接接口示意图如下:

../../../_images/image_FhR0byb6vobUYax08ZMcrcjxndg.webp
  1. 显示连接:HDMI线一端接主控板HDMI接口,另一端接显示器HDMI接口;

  2. 网络连接:千兆网线一端接主控板千兆网口,另一端接路由器网口(替代方案:通过Wi-Fi接入同一局域网);

  3. 输入设备连接:USB键盘、鼠标接入主控板的两个USB-A接口,无线输入设备则将接收器插入USB口即可;

  4. 供电连接:USB-A电源线的USB-A端接电源适配器,USB-C端接入主控板标注 POWER IN 的电源口。

一键部署

整个应用打包成一个自解压安装包 plate-recognition-installer.run(约 137MB)。把它送到板子上执行一次即可,安装过程约 1~2 分钟。

第 1 步:把安装包送到开发板(两种方式任选其一)

方式 A —— U 盘拷贝(最直观):

  1. 把 plate-recognition-installer.run 拷入 U 盘;

  2. U 盘插入开发板,在文件管理器中把它复制到家目录。

方式 B —— adb 推送(开发调试常用):

adb push plate-recognition-installer.run /home/q/

第 2 步:在开发板终端执行一条命令

打开终端,进入安装包所在目录执行:

./plate-recognition-installer.run
  • 默认安装到当前用户主目录 ~/plate-rec;也可以在命令后跟一个目录参数指定安装位置。

  • root 用户与普通用户均可安装;重复执行会自动清理旧版本并重装。

第 3 步:完成,双击启动

安装完成后,打开文件管理器,进入 plate-rec/code/,双击plate-recognition 即可运行——不是脚本,是编译好的启动器,双击直接执行,不会弹出「运行还是显示」对话框。

  • 重复双击 = 自动重启应用(会先停掉旧实例);

  • 点窗口右上角 × 关闭窗口即可退出;

  • 运行日志自动记录在 ~/.local/state/plate-rec/app.log。

应用使用方法

主界面

主界面分为三区:左上是实时识别画面,带「检测中 / 候选中 / 已确认」三状态车牌标注,顶部横幅显示当前调度事件(下方小字记录最近 3 条历史);右上是识别面板,含候选车牌多帧投票、已确认通行事件卡片(车牌特写、置信度与确认时间)和实时统计;底部横贯全宽的是接客调度区:A01~A04 四张车位状态卡(空闲 / 已分配 / 接客中)、订单队列和操作按钮。

../../../_images/image_TVxbb45qUouvsdxiNWccMYycnmf.webp

开始调度:登记 → 分配 → 到位

点击「登记乘客用车」输入车牌(7~8 位)即完成登记:有空闲车位时立即分配,横幅显示并语音播报「车牌,请前往 A01」;车位已满时订单自动进入候车队列等待。

司机到位后在订单条目上点「到位」,车位卡变为「接客中」;接客结束点「接客完成」,订单完成、车位释放,候车队列头部的订单自动补位。重复登记进行中的订单会被拒绝;识别到已分配车辆时,若距上次播报超过 15 秒,会自动重播一次「请前往」提醒。

超时与取消

分配后默认 2 分钟未到位的订单会超时红显,并语音警示「已超时未到位,可取消分配」;此时可以点「取消」释放车位给候队订单,也可以继续等待司机到位。

未登记车辆与补登记

摄像头识别到未登记车牌时,横幅提示「发现未登记车辆,可在队列中补登记」(每车 60 秒冷却),队列中会出现未登记条目,点「补登记」即转为正式订单等待车位。

二次接客

完成接客的车辆再次「登记乘客用车」即开启全新订单,重新走分配 → 到位 → 完成流程。演示视频最后一段演示了苏A53D9P 完成首单后再次登记接客的二次接客闭环。

预演模式

点底部「预演模式」按钮(或 run.sh --demo),应用自动按计划表错峰登记演示车辆并驱动到位、完成、超时、取消、补位、二次接客全流程,零手动操作跑通所有调度分支,适合展会演示与快速验收。旁边的「预置演示车辆」按钮则一键登记 9 辆演示车辆,供手动体验各操作。

摄像头与视频

支持三种输入源:「打开视频」选择本地车辆视频回放分析(暂停即冻结识别,不丢帧不误判);「摄像头识别」自动发现 USB UVC 摄像头并实时识别(自动跳过无法出流的 ISP 节点,USB 设备优先)。识别过程按会话归档,会话结束后可「导出记录」,导出确认事件(JSON / CSV)与车牌特写截图。

中英文切换

点窗口上方语言按钮(EN / 中文)即可一键切换界面与语音语言,无需重启。

../../../_images/image_NKMjb5zNToKjLixaEswcKV6jn7f.webp

应用演示

演示视频

完整流程演示视频(三段式,约 3 分 12 秒,1280×820):先介绍项目定位——边缘侧车牌识别与接客调度终端;再逐项介绍登记分配、到位接客、超时取消、候队补位等核心功能;最后在板上整体预演接客调度全流程(错峰登记与分配、到位接客、超时警示、取消释放、候队补位、二次接客),配调度语音播报与字幕;车牌识别与调度全部在板端 NPU 本地完成。

plate-recognition-demo

常见问题排查

启动后画面全黑或提示「未找到可用摄像头」

USB 摄像头刚插入时需要几秒完成枚举与就绪,稍等后重试「摄像头识别」;仍不行请确认摄像头为 UVC 协议、换个 USB 口再试。应用只启用实测能出帧的设备,板上无法出流的 ISP 摄像头节点会被自动跳过。

车牌迟迟不确认

这是多帧确认机制在起作用:同一读数需累计不少于 3 帧,且占比、字符置信度、读数长度同时达标才会确认;半可见车牌或低于 14 像素高的帧不参与表决。请调整摄像头角度与距离,让车牌完整、清晰入画,即可正常确认。

识别到车牌但提示「未登记」

该车牌还没有登记用车订单。在队列中点「补登记」转为正式订单,或用「登记乘客用车」提前录入车牌。

没有声音

应用按 paplay → root 会话 su → aplay 三级回退自动选择可用音频通道;普通用户桌面会话下跟随系统输出设备(蓝牙耳机也可用)。请检查扬声器接线与系统音量。确认不需要语音时,可用 PLATE_VOICE=0 启动整体关闭。

双击启动器没反应

应用为 NPU 单实例设计,重复双击会先停掉旧实例再重新拉起,短时间连续点击可能表现为「没反应」。请等 2~3 秒再看窗口;仍无反应时查看 ~/.local/state/plate-rec/app.log。

想查看运行日志

双击启动的运行日志自动追加在 ~/.local/state/plate-rec/app.log;调度全量事件另落盘在安装目录 data/dispatch_log.jsonl,会话结束时同时保存调度快照 dispatch_snapshot_*.json。

技术支持与贡献

如在使用或二次开发过程中遇到问题,建议提供:系统固件版本、摄像头型号、完整界面提示与 app.log 日志片段。欢迎在 移远官方论坛 提交技术咨询,我们的技术支持团队将及时为您解答。

项目开源地址: https://github.com/Quectel-Pi/demo-ai-plate-watch-dispatch