0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Deep SORT和YOLO v4

新机器视觉 来源:AI公园 作者:AI公园 2021-03-20 09:51 次阅读

导读

本文来自github,很实用的一个应用。

git仓库地址:https://github.com/LeonLok/Multi-Camera-Live-Object-Tracking

这个存储库包含了我的目标检测和跟踪项目。所有这些都可以托管在云服务器上。

由于有ImageZMQ,你还可以使用自己的异步处理IP相机。

Deep SORT 和 YOLO v4

Check out我的Deep SORT repository:https://github.com/LeonLok/Deep-SORT-YOLOv4,查看我使用的跟踪算法,其中包括Tensorflow 2.0、异步视频处理和低置信度跟踪过滤。

交通流量计数

这个项目是目标计数应用的一个扩展。

功能

使用DETRAC数据集生成的244,617幅图像进行训练。可以在这里找到我创建的转换代码。

我把这篇论文:https://ieeexplore.ieee.org/document/8909903作为数据准备和训练的指南。

每个跟踪id只计数一次。

通过查看被跟踪目标的路径与计数线的交叉点对目标进行计数。

因此,那些跟丢了但用相同的ID重新跟踪的仍然会被计数。

使用低置信度滤波进行跟踪,来自上面同样的论文。

提供更低的假阳性率。

跟踪目标显示平均检测置信度。

跟踪的类别由最常见的检测类别确定。

显示检测结果是可选的(但是隐藏了平均检测置信度)。

可以使用多个IP摄像头。

方向计数可以配置为基于角度。

每一小时的间隔记录计数。

总的计数

基于类别的计数

记录每个计数目标的交叉详细信息

交叉时间

交叉点坐标

交叉角度

可以托管在云服务器上。

注意,由于DETRAC不包含任何摩托车,它们是唯一被忽略的车辆。此外,DETRAC数据集只包含中国的交通图像,因此由于缺乏训练数据,它很难正确地检测出其他国家的某些车辆。例如,它经常会将掀背车误归为suv,或者由于不同的颜色方案而无法识别出租车。

目标计数

这个项目最初打算成为一个应用程序,用于使用我自己的智能手机计算当前在多个房间的人数,服务器被远程托管。下面展示了对人和汽车的检测、跟踪和计数。

功能

对当前视场中的物体进行计数

跟踪可选

支持多个IP相机

每间隔一个小时记录一次当前的计数

当前的总数

当前每个类别的计数

可以托管在云服务器上

使用我自己的智能手机作为IP相机

训练你自己的机动车跟踪模型

我使用DETRAC训练带有v3标注的数据集训练了YOLOv4和Deep SORT模型。我提供了将DETRAC训练图像和v3标注转换为正确格式的脚本,用于训练YOLOv4模型和Deep SORT跟踪模型。

Deep SORT 转换参数

DETRAC图像转换为Market 1501训练格式。

遮挡阈值 - 忽略遮挡比率过高的车辆序列。

截断阈值 - 忽略截断率过高的车辆序列。

出现的次数 - 车辆序列太短(即没有足够的图像)被丢弃后,考虑遮挡和截断比率。

YOLO 转换参数

DETRAC图像被转换成Darknet YOLO训练格式。

遮挡阈值 - 忽略遮挡比率过高的车辆序列。

截断阈值 - 忽略截断率过高的车辆序列。

两种模型都在DETRAC训练集上进行了训练和评估,但由于缺少v3标注,测试集还没有评估,我也没有MATLAB用于Deep SORT的评估软件。到目前为止,对于我的用例来说,它已经足够好了。

使用的硬件

Nvidia GTX 1070 GPU

i7-8700K CPU

为了让大家了解我们的期望,我可以运行两个流量计数流,每个流大约10fps(正如你在流量计数gif中看到的)。当然,这在很大程度上取决于流分辨率以及用于检测和跟踪的帧数。

YOLO v3 vs. YOLO v4

当我第一次开始目标计数项目时,我使用YOLOv3,跟踪帧率大约是10FPS,很难一次运行多个流。使用YOLOv4可以更容易地运行具有更高分辨率的两个流,并提供更好的检测精度。

依赖

Tensorflow-GPU 1.14

Keras 2.3.1

opencv-python 4.2.0

ImageZMQ

numpy 1.18.2

Flask 1.1.1

pillow

这个项目是在Python 3.6上构建和测试的。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 摄像头
    +关注

    关注

    60

    文章

    4851

    浏览量

    95943
  • 应用程序
    +关注

    关注

    37

    文章

    3283

    浏览量

    57767
  • 数据集
    +关注

    关注

    4

    文章

    1208

    浏览量

    24744

原文标题:多摄像头实时目标跟踪和计数,使用YOLOv4,Deep SORT和Flask

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详解Linux sort命令之掌握排序技巧与实用案例

    在linux系统使用过程中,提供了sort排序命令,支持常用的排序功能。 常用参数 sort命令支持很多参数,常用参数如下:   短参数 长参数 说明 -n – number-sort 按字符串数值
    的头像 发表于 01-09 10:10 133次阅读

    ADC12D1800RFRB开发板上有一块V4的FPGA,请问此FPGA是负责AD数据采集吗?

    ADC12D1800RFRB开发板上有一块V4的FPGA,请问此FPGA是负责AD数据采集吗?AD数据采集后,此FPGA负责将数据从FMC送出,供其它开发板进行信号处理?
    发表于 01-03 08:25

    助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4

    学习如何在 MYIR 的 ZU3EG FPGA 开发板上部署 Tiny YOLO v4,对比 FPGA、GPU、CPU 的性能,助力 AIoT 边缘计算应用。 一、 为什么选择 FPGA:应对
    发表于 12-06 17:18

    后摩尔时代的创新:在米尔FPGA上实现Tiny YOLO V4,助力AIoT应用

    学习如何在MYIR的ZU3EGFPGA开发板上部署TinyYOLOv4,对比FPGA、GPU、CPU的性能,助力AIoT边缘计算应用。(文末有彩蛋)一、为什么选择FPGA:应对7nm制程与AI限制在
    的头像 发表于 11-22 01:00 794次阅读
    后摩尔时代的创新:在米尔FPGA上实现Tiny <b class='flag-5'>YOLO</b> <b class='flag-5'>V4</b>,助力AIoT应用

    《DNK210使用指南 -CanMV版 V1.0》第四十一章 YOLO2物体检测实验

    第四十一章 YOLO2物体检测实验 在上一章节中,介绍了利用maix.KPU模块实现YOLO2的人手检测,本章将继续介绍利用maix.KPU模块实现YOLO2的物体检测。通过本章的学习,读者将学习到
    发表于 11-14 09:22

    《DNK210使用指南 -CanMV版 V1.0》第四十章 YOLO2人手检测实验

    第四十章 YOLO2人手检测实验 在上一章节中,介绍了利用maix.KPU模块实现YOLO2的人脸检测,本章将继续介绍利用maix.KPU模块实现YOLO2的人手检测。通过本章的学习,读者将学习到
    发表于 11-14 09:20

    《DNK210使用指南 -CanMV版 V1.0》第三十九章 YOLO2人脸检测实验

    第三十九章 YOLO2人脸检测实验 从本章开始,将通过几个实例介绍Kendryte K210上的KPU,以及CanMV下KPU的使用方法,本章将先介绍YOLO2网络的人脸检测应用在CanMV上的实现
    发表于 11-13 09:37

    Efinity入门使用-v4

    :Efinity入门使用-v4 文章出处:【微信公众号:易灵思FPGA技术交流】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 11-06 15:56 358次阅读

    RISCV 操作常见问题集 - v4

    。 原文标题:RISCV 操作常见问题集 - v4
    的头像 发表于 11-01 11:06 328次阅读

    特斯拉正积极测试其V4超级充电桩

    近日,特斯拉在快速充电技术领域的最新动态引发了广泛关注。据悉,特斯拉正积极测试其现有的V4超级充电桩(基于V3充电柜构建)的潜力,旨在突破300千瓦的充电功率上限,这一举措标志着特斯拉在提升充电速度方面迈出了重要一步。
    的头像 发表于 08-06 16:52 840次阅读

    怎样才能在调用deep_sleep_set_option(4)后手动打开RF?

    请教下,怎样才能在调用deep_sleep_set_option(4)后 手动打开RF,而不是要通过其他deep_sleep_set_option()来打开RF,我想在自己想要发射广播包的时候打开RF,主要其他模式太耗电
    发表于 07-22 07:26

    ESP32-S3进入deep sleep后功耗过高怎么解决?

    环境:window11 vscode 版本库:v5.0-rc1* 芯片:ESP32-S3 使用官方提供的deep sleep例程,测试低功耗时,测出的功耗为8μA左右。这是正常的。 但如果在该基础上
    发表于 06-07 06:03

    X-CUBE-CRYPTOLIB V4库文件无法添加,链接错误的原因?

    看官方介绍,V4版本的静态库是支持多个编译器的,芯片是stm32h743,我用的是arm-none-eabi-gcc,版本是gcc version 13.2.1 20231009 (Arm GNU
    发表于 05-31 07:54

    stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?

    stm32cubemx 生成mdk-arm v4 项目文件无法打开
    发表于 05-14 06:43

    Linux的sort命令介绍

    版本信息并退出 4.常用示例(1)对 /etc/passwd 进行排序。 cat /etc/passwd | sort adm:x:3:4:adm:/var/adm:/sbin/nologin
    发表于 04-08 07:16