技术架构设计
本项目采用前后端分离架构。前端基于微信小程序开发框架(WXML/WXSS/JavaScript),确保用户交互的流畅性;后端选用 Python Flask/Django 框架,便于快速迭代与 AI 模型集成。在 AI 能力方面,我们集成了 OpenCV、TensorFlow 或 PyTorch 用于图像识别,并结合阿里云或腾讯云 API 增强车牌识别与违法类型分类的准确性。
核心功能模块
用户端小程序模块
- 违法拍摄上传:调用手机摄像头或相册,支持图片与视频的直接上传。
- 证据标注工具:内置画圈、箭头等简易编辑功能,帮助用户高亮关键信息。
- 积分奖励系统:违法证据审核通过后自动发放积分,支持兑换相应奖励。
- 举报查询:提供历史举报记录追踪和状态实时查询。
AI 处理模块
- 图像预处理:自动矫正倾斜、降噪及亮度调整,提升输入质量。
- 车牌识别:基于 YOLOv5 的检测模型,目标准确率需达 90% 以上。
- 违法判定:训练 ResNet 分类模型识别闯红灯、违停等常见违法类型。
- 相似度去重:通过特征提取避免重复举报,减少无效数据。
数据库设计
MySQL 主要表结构设计如下,重点考虑了地理围栏与状态流转:
CREATE TABLE reports (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id VARCHAR(32) NOT NULL,
license_plate VARCHAR(12) NOT NULL,
violation_type ENUM('run_red_light', 'illegal_parking', 'wrong_way') NOT NULL,
image_url TEXT NOT NULL,
geo_point POINT SRID 4326,
status ENUM('pending', 'approved', 'rejected') DEFAULT 'pending',
score INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
关键实现步骤
AI 模型训练
使用公开数据集如 CCPD 车牌数据集和自采集违法图像进行训练。流程主要包括:


