随着城市交通量的迅猛增加,车流量统计已成为智能交通系统中一项关键技术和热门研究方向。高效而精确的车流量检测可以交通管理者和决策者,以及驾驶员提供数据支撑,从而为交通调度,降低拥堵情况的发生,提高道路利用率有非常重要的意义。

车流量统计主要有以下几种方式:

  • 人工统计,需要消耗大量的人力且当工作人员在长时间计数后会因疲惫造成漏检或重复计数,统计结果具有不可验证性。

  • 通过安装可接触式或不可接触式的传感器于路面进行车辆计数,可接触式传感器一般铺设于道路下方,当车辆经过时,传感器内部的电压,磁场或压力会发生变换弯成车辆计数。但这类传感器的安装和维护费用很高,现在已不再大量铺设。不可接触式的包括超声,红外,雷达传感器等,这类容易受到恶劣天气的影响使检测精度降低。

  • 基于视频的车流量统计,也就是本项目中实现的方法。

该项目对输入的视频进行处理,主要包括以下几个步骤:

  • 使用yoloV3模型进行目标检测

  • 然后使用SORT算法进行目标追踪,使用卡尔曼滤波器进行目标位置预测,并利用匈牙利算法对比目标的相似度,完成车辆目标追踪,

  • 利用虚拟线圈的思想实现车辆目标的计数,完成车流量的统计。

    项目流程如下图所示:


总结

  • 目标跟踪方法:使用的是sort算法,其中使用卡尔曼滤波器对目标位置进行估计,利用匈牙利算法进行目标关联
  • 车流量计数:使用虚拟线圈算法对车辆进行计数

智慧交通day02-车流量检测实现01:总览相关推荐

  1. 智慧交通day02-车流量检测实现14:代码汇总+问题修正

    代码+权重文件+资源https://download.csdn.net/download/qq_39237205/43072746https://download.csdn.net/download/ ...

  2. 智慧交通day02-车流量检测实现06:目标估计模型-卡尔曼滤波(汇总)

    from __future__ import print_function from numba import jit import numpy as np from scipy.optimize i ...

  3. 智慧交通day02-车流量检测实现12:基于yoloV3的目标检测

    在本章节代码编写中,发现之前的代码所处的环境是python3,因此导致了cv2.dnn.readNetFromDarknet()在代码运行中导致了i[0]的获值失败,故总结如下: cv2.dnn.re ...

  4. 智慧交通day02-车流量检测实现11:yoloV3模型

    yoloV3以V1,V2为基础进行的改进,主要有:利用多尺度特征进行目标检测:先验框更丰富:调整了网络结构:对象分类使用logistic代替了softmax,更适用于多标签分类任务. 1.算法简介 Y ...

  5. 智慧交通day02-车流量检测实现10:多目标追踪实现

    在这里我们主要实现了一个多目标跟踪器,管理多个卡尔曼滤波器对象,主要包括以下内容: 初始化:最大检测数,目标未被检测的最大帧数 目标跟踪结果的更新,即跟踪成功和失败的目标的更新 初始化 def __i ...

  6. 智慧交通day02-车流量检测实现09:SORT/deepSORT

    SORT和DeepSORT是多目标跟踪中两个知名度比较高的算法.DeepSORT是原团队对SORT的改进版本.现在来解析一下SORT和DeepSORT的基本思路. 1.SORT SORT核心是卡尔曼滤 ...

  7. 智慧交通day02-车流量检测实现08:目标跟踪中的数据关联(将检测框bbox与卡尔曼滤波器的跟踪框进行关联匹配)

    # 将YOLO模型的检测框和卡尔曼滤波的跟踪框进行匹配 def associate_detection_to_tracker(detections,trackers,iou_threshold=0.3 ...

  8. 智慧交通day02-车流量检测实现07:匈牙利算法

    匈牙利算法(Hungarian Algorithm)与KM算法(Kuhn-Munkres Algorithm)是用来解决多目标跟踪中的数据关联问题,匈牙利算法与KM算法都是为了求解二分图的最大匹配问题 ...

  9. 智慧交通day02-车流量检测实现06:目标估计模型-卡尔曼滤波

    在这里我们主要完成卡尔曼滤波器进行跟踪的相关内容的实现. 初始化:卡尔曼滤波器的状态变量和观测输入 更新状态变量 根据状态变量预测目标的边界框 初始化: 状态量x的设定是一个七维向量: 分别表示目标中 ...

最新文章

  1. 【对接】《前后端对接联调数据、调试接口过程乌龙大合集》
  2. android怎么判断程序进入了后台,Android检测应用程序是否进入后台
  3. c语言中malloc分配矩阵,malloc,分配矩阵
  4. 动手学深度深度学习-pycharm中配置mxnet开发环境
  5. java集群_JAVA架构师学习:实践ZooKeeper 应用场景与集群管理,辛勤总结
  6. P4899-[IOI2018]werewolf 狼人【Kruskal重构树,主席树】
  7. python每行输出14个数_python – 计算pandas中每行的一些值的列数
  8. AGC 030 B - Tree Burning
  9. java hasnextdouble_scanner.nextInt()与scanner.nextDouble
  10. go mysql recover_Go基础系列:defer、panic和recover
  11. 23种设计模式(六)单一职责之桥模式
  12. 苹果M1芯片版Mac出现重装系统Bug,如何正确重装 macOS
  13. 网络空间安全复习归纳
  14. sql注入工具、检测及手工注入集合
  15. OD调试检测研究笔记(以E盾简化版作研究时写的笔记)
  16. Android shape属性大全
  17. 2021北京家庭摇号官网信息汇总
  18. SpringCloud微服务,euraka、feign、hystrix组件学习
  19. kfc小程序_利用实验室成长的“未来之肉”将肯德基转换为3D打印鸡肉
  20. 学习 Python 编程的 11 个受用终身的技巧

热门文章

  1. [导入]Gemini翻譯為中文時的注意事項
  2. php柱状图实现年龄分布,考官雅思写作小作文满分范文 柱状图:年龄分布
  3. 【python】逻辑运算符总结
  4. Hbase读写数据的原理解析
  5. xcode8 快捷键失效
  6. Linux进程全解6——进程的诞生和消亡
  7. php是一种,PHP是一种什么型的语言:()
  8. 统计文章中字母出现频率
  9. JVM自动内存管理机制——Java内存区域(下)
  10. Stupid cat Doge (分形图)