总览

  • 对智慧城市的想法感到兴奋吗? 您会喜欢本教程,内容是构建自己的车辆检测系统。
  • 首先,我们将了解如何在视频中检测运动物体,然后再进入实践部分。

介绍

我喜欢智慧城市的想法。关于自动化智能能源系统,电网,一键式访问端口的想法–这是一个令人着迷的概念!老实说,对于数据科学家来说,这是一个梦想,我很高兴世界各地的许多城市都在朝着变得更加智能化的方向迈进。

智慧城市的核心组件之一是自动交通管理。 这让我开始思考是否可以使用数据科学知识来构建可以在智能交通管理中发挥作用的车辆检测模型?

考虑一下–如果您可以将车辆检测系统集成到交通信号灯摄像头中,则可以轻松地同时跟踪许多有用的东西:

  • 白天在交通路口有多少辆车?
  • 交通事故发生时间?
  • 什么样的车辆在交叉路口行驶(重型车辆,小汽车等)?
  • 有没有一种方法可以优化交通量并通过其他街道进行分流

等等。 应用无止境!

我们人类可以轻松地从复杂场景中瞬间检测和识别物体。 但是,将思维过程转化为机器,需要我们学习使用计算机视觉算法进行对象检测的技术。

因此在本文中,我们将构建一个自动车辆检测器和计数器模型。下面是实际效果图

实时车辆检测https://www.zhihu.com/video/1239875427575193600

激动吗?那就让我们开始吧!

注意:如果你是深度学习和计算机视觉新手? 以下是两门热门课程,可以启动您的深度学习之旅:

机器学习和数据科学课程-Analytics Vidhya​courses.analyticsvidhya.com

Certified Computer Vision with Deep Learning Course​courses.analyticsvidhya.com

目录

  • 视频检测运动对象背后的理论
  • 在视频中检测对象的真实世界用例
  • 您应该了解的有关视频对象检测的基本概念
    • 帧差异
    • 图像阈值
    • 轮廓查找
    • 图像膨胀
  • 使用OpenCV构建车辆检测系统

检测视频中的运动对象的想法

目标检测是计算机视觉中一个引人入胜的领域。当我们处理视频数据时,它达到了一个全新的水平。复杂性提高了一个等级,但是带来的成就奖励也是如此!

我们可以使用目标检测算法执行超有用的高价值任务,例如监视,交通管理,打击犯罪等。 这是一个展示想法的GIF:

我们可以在目标检测中执行许多子任务,例如计算目标数目,找到目标的相对大小或找到目标之间的相对距离。 所有这些子任务都很重要,因为它们有助于解决一些最棘手的现实问题。

如果您想从头开始学习目标检测算法,建议您参考以下教程:

A Step-by-Step Introduction to the Basic Object Detection Algorithms (Part 1)​www.analyticsvidhya.com

A Friendly Introduction to Real-Time Object Detection using the Powerful SlimYOLOv3 Framework​www.analyticsvidhya.com

object detection Archives - Analytics Vidhya​www.analyticsvidhya.com

让我们看一下一些令人兴奋的现实世界中的目标检测实例吧。

视频中对象检测的实际用例

如今,视频目标检测已广泛应用于各个行业。使用范围从视频监视到体育广播再到机器人导航。

这是个好消息-涉及视频目标检测和跟踪的未来用例时,可能性无穷无尽。 在这里,我列出了一些有趣的应用程序:

  • 人群计数
  • 车辆牌照检测和识别
  • 运动比赛中的球跟踪
  • 机器人
  • 交通管理(我们将在本文中看到的一个例子)

您应该了解的有关视频目标检测的基本概念

在开始构建视频检测系统之前,您应该了解一些关键概念。一旦熟悉了这些基本概念,就可以针对您选择的任何用例构建自己的检测系统。

那么,您该如何检测视频中的运动物体?

我们的目标是捕获运动对象的坐标并在视频中突出显示该对象。 考虑以下视频中的这一帧:

我们希望模型能够检测视频中的运动对象,如上图所示。 检测到正在行驶的汽车,并在汽车周围创建一个边界框。

有多种技术可以解决此问题。 您可以训练用于目标检测的深度学习模型,也可以选择一个预先训练的模型并在数据上进行微调。但是,这些是有监督的学习方法,它们需要标记的数据来训练目标检测模型。

在本文中,我们将重点介绍视频中对象检测的无监督方式,即不使用任何标记数据的目标检测。我们将使用帧差分技术。 让我们了解它的工作原理!

帧差分

视频是一组按正确顺序堆叠在一起的帧。 因此,当我们看到一个对象在视频中移动时,这意味着该对象在每个连续帧中都位于不同的位置。

如果我们假设除了那个物体,没有其他物体在一对连续的帧中移动,那么第一帧与第二帧的像素差异将突出显示移动物体的像素。 现在,我们将获得运动对象的像素和坐标。 大致来说,这就是帧差分方法的工作方式。

让我们举个例子。 考虑视频中的以下两帧:

您能发现两帧之间的差异吗?

是的–握笔的手的位置从第1帧更改为第2帧。其余目标完全没有移动。 因此,正如我前面提到的,要定位运动对象,我们将执行帧差分。 结果将如下所示:

您可以看到最初出现手的突出显示区域或白色区域。 除此之外,记事本还沿其边缘突出了一点。 这可能是由于手的运动引起的照明变化。 建议去除对静止物体的不必要检测。 因此,我们需要在帧上执行某些图像预处理步骤。

图像阈值

在该方法中,基于阈值为灰度图像的像素值分配代表黑色和白色的两个值之一。 因此,如果像素的值大于阈值,则为其分配一个值,否则为其分配另一个值。

在我们的情况下,我们将在上一步中对差异帧的输出图像应用图像阈值处理:

寻找轮廓

轮廓用于识别图像中具有相同颜色或强度的区域的形状。 轮廓就像是感兴趣区域周围的边界。 因此,如果在阈值化步骤之后在图像上应用轮廓,则会得到运动目标的轮廓

白色区域被灰色边界包围,仅是轮廓。 我们可以轻松获得这些轮廓的坐标。 这意味着我们可以获取突出显示区域的位置。

请注意,存在多个突出显示的区域,每个区域都被轮廓包围。 在我们的情况下,具有最大面积的轮廓是所需区域。 因此,最好具有尽可能少的轮廓。

在上图中,白色区域仍然存在一些不必要的碎片。 仍有改进的余地。 想法是合并附近的白色区域以减少轮廓,为此,我们可以使用另一种称为图像扩张的技术。

图像扩张

这是对图像的卷积运算,其中内核(矩阵)在整个图像上传递。 只是为了给您直观感,右边的图像是左边图像的放大版:

因此,让我们对图像进行图像放大,然后再次找到轮廓:

事实证明,很多碎片区域相互融合。 现在,我们可以再次在该图像中找到轮廓:

在这里,我们只有四个候选轮廓,可以从中选择面积最大的轮廓。 您还可以在原始框架上绘制这些轮廓,以查看轮廓围绕移动对象的程度:

[具体实现代码下载地址](https://pan.baidu.com/s/1oUYOL8CdQ1bt31_IKcLN6g)

提取码:6ndc

[参考链接地址](Build your own Vehicle Detection Model using OpenCV and Python)

车辆销售系统用例_使用OpenCV和Python构建自己的车辆检测模型相关推荐

  1. opencv python 多帧降噪算法_使用OpenCV和Python构建自己的车辆检测模型

    介绍 我喜欢智慧城市的理念.自动智能能源系统.电网.一键接入端口的想法等等.这是一个令人着迷的概念!老实说,这是一个数据科学家的梦想,我很高兴世界上很多城市都在朝着更智能的方向发展. 智能城市的核心组 ...

  2. opencv 轮廓放大_使用OpenCV和Python构建自己的车辆检测模型

    总览 对智慧城市的想法感到兴奋吗? 您会喜欢本教程,内容是构建自己的车辆检测系统. 首先,我们将了解如何在视频中检测运动物体,然后再进入实践部分. 介绍 我喜欢智慧城市的想法.关于自动化智能能源系统, ...

  3. python车辆检测_使用OpenCV和Python构建自己的车辆检测模型

    总览对智慧城市的想法感到兴奋吗? 您会喜欢本教程,内容是构建自己的车辆检测系统. 首先,我们将了解如何在视频中检测运动物体,然后再进入实践部分. 介绍 我喜欢智慧城市的想法.关于自动化智能能源系统,电 ...

  4. opencv 车辆识别_人工智能实战项目:使用OpenCV和Python构建自己的车辆检测模型

    总览 对智慧城市的想法感到兴奋吗?您会喜欢本教程的内容,以构建自己的车辆检测系统 在深入研究实现部分之前,我们将首先了解如何检测视频中的移动对象. 我们将使用OpenCV和Python来构建自动车辆检 ...

  5. 基于opencv的车辆检测python_使用OpenCV和Python构建自己的车辆检测模型

    作者|PRATEEK JOSHI 编译|Flin 来源|analyticsvidhya 概述 你对智慧城市的想法感到兴奋吗?如果是的话,你会喜欢这个关于建立你自己的车辆检测系统的教程的 在深入实现部分 ...

  6. 车辆销售系统用例_中远房产销售管理系统用例图

    1. 中远房产销售管理系统用例示意图 用例描述: ( 1 )前置条件:依托于五家渠中远房产公司的要求,结合毕业论文设计需要,我们开 发这个销售管理系统. ( 2 )后置条件:购房申请人通过次平台可买到 ...

  7. 车辆销售系统用例_服装销售系统 数据流图 用例图 类图都有

    项目编号: 2014-19 项目名称:连锁零售运动装管理系统 项目描述: 随着社会经济的迅速发展和科学技术的全面进步以及计算机 事业的飞速发展, 以计算机科学与通信技术为基础的信息管理系统正处于蓬 勃 ...

  8. 车辆销售系统用例_销售模块用例图

    销售模块用例图 销售模块包括以下内容: (1)所有成功登录用户都可以应用特价商品查看程序查看特价商品. (2)前台销售用户可以应用前台销售程序进行商品现金销售操作. (3)信用销售用户可以应用信用销售 ...

  9. 使用opencv和python进行智能图像处理_使用OpenCV在Python中进行图像处理

    编辑推荐: 本文将先讨论一些图像处理,然后再继续介绍可以方便使用图像处理的不同应用程序/场景,希望对您的学习有所帮助. 本文来自于tecdat ,由火龙果软件Alice编辑.推荐. 介绍 在本教程中, ...

最新文章

  1. 人工智能正在推动芯片的复兴
  2. 解决RedHat中ifconfig命令不能使用的问题
  3. python orm benchmark_python 编写ORM
  4. Sql 删除不保留日志
  5. 来来来!DD带大家一起赢台MacBook Pro回家过年!
  6. 如何做一个优秀的销售代表
  7. 三种场景不建议放在关系型数据库中
  8. 中国联通也来“爆料”:多款5G手机将于9月上市 包括小米、vivo等
  9. CSS中调用JS函数和变量
  10. SAP License:浅谈利用借贷做销售业务调整处理
  11. Android传感器编程入门(三)
  12. r语言聚类分析_R语言实现tSNE聚类分析
  13. ros_arduino_bridge功能包集的使用
  14. Python+pyecharts研究周杰伦歌词中的 秘密
  15. CHD6.3环境中,集中kylin3.0,错误解决.NoClassDefFoundError: org/apache/commons/configuration/ConfigurationE
  16. 如何编写android ANE
  17. 邮件服务器专用术语,邮件群发中的常见术语
  18. sox和lame音频处理器
  19. Unbound classpath container: ‘JRE System Library’已解决
  20. SCOI2012 喵星球上的点名 BZOJ 2754

热门文章

  1. STM32:win10装CH340驱动、获取删除权限
  2. python图像压缩主成分分析实例_python机器学习API介绍13: 数据降维及主成分分析...
  3. html语言汇总,第三讲HTML语言全面介绍汇总.ppt
  4. 数据分析结果解读_物流数据分析的行业特点有哪些?
  5. python求众数程序_求众数(python实现)
  6. 解决实例化Servlet类[com.mu.servlet.HelloServlet]异常
  7. 实验2-4-2 生成3的乘方表 (C语言)
  8. THREE.JS OrbitControls的参数设置
  9. 微信小程序下载图片保存到本地
  10. layuit 框架_Layui|经典模块化前端框架