组织介绍

Cloud E-police 一个简洁美观、功能齐全的智能交通警察系统。使用 springboot 开发,前端使用 Vue。支持移动端自适应,配有完备的前台和后台管理功能。

开源地址: Gitee

功能简介

  • ...

项目需求

对单个路口进行捕捉,照片角度不限,可以选择两张合成(一张全景照片,一张车牌号码局部放大照片)

  • 查询车辆:识别已肇事车辆

    识别通过车辆的车牌号码, 若后台查询到有相关肇事记录则报警(告知违章车辆情形)

  • 识别违章行为

    判定是否违章,若违章,记录车牌和车辆违章照片

  • 可视化展示界面

    展示交通流量,车辆违法行为

技术选型

  • 开发语言: Java1.8, Python3.9
  • 前端: Vue, NodeJS
  • 后端: SpringBoot, Mybatis, Python
  • 前后端交互: axios, json
  • 版本控制: Git

技术栈

  • ...

模块划分

模块名 释义 备注
police-brand 识别车牌
police-violation 识别各种违章情况
police-admin 后台管理 包括报警日志, 违章速裁
police-web 前台页面 违章情况可视化展示

实现思路

将 车牌识别 和 违章检测 分开

  1. 拍摄视频
  2. 按帧识别车牌
  3. 肇事记录查询
    1. 按照车牌查询数据库是否有违章记录
    2. 若有记录则报警发送违章情况当前肇事车辆信息
  4. 识别目前违章行为
    1. 将照片放入模型识别
    2. 检测是否有违章行为
    3. 记录违章行为
  5. 将车牌以及违章信息存入数据库
  6. 可视化展示

image-20220122153138203

识别算法

车牌号识别

  • ...

违章识别

  • ...

数据库

车况表 Condition

ID 车牌号 时间 路段 照片

ID 车牌号 时间 路段 照片
数据类型 int varchar timestamp varchar varchar
长度 8 30 100

违章表 Violation

ID 车牌号 闯红灯1 压线2 逆行4 不按照车道8 压停车线16 压双黄线32 违章调头64 遮挡车牌128 (数字代表相应二进制变1要加的十进制数)

ID 时间 违章情况 识别状态 处理状况
数据类型 int timestamp int tinyint tinyint
长度 32 1 1

两表是一对一的关系, 通过 车况表 的时间来对应 违章表 数据

关于 违章表 的违章情况字段解释

以位的形式判断是否违章,例如数据库存储 32 位的违章情况, 那么第一位为 1 代表有该违章情况, 0 则没有

模型判断出来的违章情况以十进制形式加到违章情况中, 存入数据库

拍摄之后视频中的照片存储到 车况表 中,根据识别到的车牌号在 违章表 中查询历史违章情况

照片进行违章识别后,将对应的信息存入 违章表 , 然后将违章图片存入 车况表

前端统计车流量可以根据 车况表 中的车牌号进行去重 distinct 查询

可视化界面

  • 欢迎界面
  • 首页
    • 路况展示(地图 / 视频录像 / 监控)
    • 近月 / 日异常图表展示
    • 违章数量图表展示
  • 违章管理
    • 违章车辆信息图片等信息的展示
    • 对于违章信息的速裁处理(快速处理: 报警 / 医疗协助 / 忽略)
  • 行车日志
    • 行车日志

创新

功能

  • 视频测速,测量车辆驾驶速度
  • 不礼让行人
  • 行程记录

技术

  • 图片防篡改

感谢 & 参考

  • ...

附录1

车辆违规行为举例

压线(压线右转弯)

image-20220122122926828

闯红灯

image-20220122124250829

逆行

img

不按照车道

img

压停车线(斑马线前面那条线)

img

压双黄线(就是压左右车道)

img

违章调头(应该左转但调头)

1

成就
0
Star
0
Fork
成员(5)
8478317 ppl520 1666935142
piplong
浪橙
9346162 powerstot 1624673186
Powerstot
采荼薪樗
VickyD

搜索帮助