windows下yolov4-deepsort项目tensorflowGPU版本配置+项目实战
目录
- 0. yolov4-deepsort简介
- 1. cuda环境
- 2. 配置项目环境
- 2.1 所需环境
- 2.2 环境配置
- 3. 模型权值的下载
- 4. 运行程序
- 5. 本人项目demo展示
0. yolov4-deepsort简介
该项目为使用YOLOv4、DeepSort和TensorFlow实现的对象跟踪。YOLOv4使用深度卷积神经网络来执行目标检测。
我们可以让YOLOv4的输出将这些对象检测输入深度排序(使用深度关联度量进行简单的在线和实时跟踪),以创建一个高度精确的对象跟踪器。
基于yolov4-deepsort可以进行一些后续的进阶任务。我在yolo+deepsort基础上进行改进,实现路面拥堵的检查,有三个功能:对ROI区域进行目标的计数;对目标车辆的行为做出预测(waitting / break in);对车辆的行车轨迹进行可视化显示。
这里先简单介绍下项目环境的搭建,使用GPU版本可以使检测速度大幅提升,本人帧率达17左右。
原始yolov4-deepsort的git资源:link.
1. cuda环境
由于要使用GPU版本的tensorflow,所以先进行cuda的安装,安装教程可以参看本人的另外一篇博客:windows下cuda10.0+cudnn的配置。cuda的版本可以根据自己需求定,安装步骤基本一致。
2. 配置项目环境
2.1 所需环境
本次项目的所需环境为:
tensorflow-gpu==2.3.0rc0
opencv-python ==4.1.1.26
lxml
tqdm
absl-py
matplotlib
easydict
pillow
2.2 环境配置
利用anaconda进行配置,当然也可以利用官方教程进行配置。
打开anaconda,创建一个名为yolo-deepsort的环境,python为3.7。
进入该环境的终端,cd到项目目录:
输入命令:`pip install -r requirements-gpu.txt
可以直接将对应txt文件中的所有库包安装,当然也可以手动pip。
这里下载速度慢的可以更改镜像源,网上有很多教程。也可以参看本人博客:解决pytorch安装过程中下载总是出错的问题中的修改镜像源章节。
安装后查看所有安装的包,可以点击anaconda里面的对应环境进行查看,也可以终端接着运行conda list
:
看到所有的依赖库都安装好以后环境就搭好了。本人在第一次搭建时遇到了一些小问题,遇到问题可以自己上网查查,安装不成功的库,可以使用本地安装的方法(网络不稳定的时候可以尝试)。
3. 模型权值的下载
yolov4提供了有80种物体的识别权重模型,这些都是人家训练好的,当然如果没有自己所要识别的物品,制作自己的数据集进行训练。下载链接:link.将下载好后的模型放入data文件夹。
4. 运行程序
接着运行下面的代码。这里输入的视频可以改为自己的视频的路径,输出的视频保存路径也自己改下
# Convert darknet weights to tensorflow model
python save_model.py --model yolov4# Run yolov4 deep sort object tracker on video
python object_tracker.py --video ./data/video/test.mp4 --output ./outputs/demo.avi --model yolov4# Run yolov4 deep sort object tracker on webcam (set video flag to 0)
python object_tracker.py --video 0 --output ./outputs/webcam.avi --model yolov4
帧率在16左右,说明GPU环境设置正确,如果只有几帧那么是你的cuda环境没有配置好,重新配置。
本人利用pycharm进行运行程序,一方面可视化效果好,另一方面可以接着他的代码继续修改。打开pycharm,setting自己建好的环境。
x修改对应的路径参数即可。
右击运行。
至此,已经完成了yolov4-deepsort的运行。如果想要使用更高速的训练模型,即刚刚下载的模型,可以接着运行下面的代码,或者更改pycharm中的模型调用的位置。
下面的命令将允许您运行yolov4-tiny模型。Yolov4-tiny允许你获得一个更高的速度(FPS)的跟踪器在精度上有一点成本。确保你已经下载了小权重文件,并将其添加到“data”文件夹中,以便命令能正常工作!
# save yolov4-tiny model
python save_model.py --weights ./data/yolov4-tiny.weights --output ./checkpoints/yolov4-tiny-416 --model yolov4 --tiny# Run yolov4-tiny object tracker
python object_tracker.py --weights ./checkpoints/yolov4-tiny-416 --model yolov4 --video ./data/video/test.mp4 --output ./outputs/tiny.avi --tiny
官方运行结果展示:
5. 本人项目demo展示
下面是本人在原有基础上进行的修改。加入轨迹信息(轨迹还需优化,存在断点),计数判断,roi区域划分:
具体代码在《yolov4-deepsort目标跟踪、ROI计数、绘制轨迹》
该demo左下角记录ROI中检测框的个数,只检测车辆,当ROI里面的车辆达到一定的阈值,将对进入的车辆的行为进行判断并附上标签。视频压缩成gif受上传文件大小限制,画质不是很清楚。
场景一:
场景二:
windows下yolov4-deepsort项目tensorflowGPU版本配置+项目实战相关推荐
- windows下python+django+pycharm+mysql从配置到实战
Mac 基于Python搭建Django应用框架 https://www.jianshu.com/p/b2b9bf41da4f 基于Python搭建Django后台管理系统 https://blog. ...
- windows下rpc框架thrift的环境配置
windows下rpc框架thrift的环境配置 引用链接: https://www.cnblogs.com/49er/p/7193829.html 最近在弄windows下 的Facebook的rp ...
- Windows下SonarQube与Jenkins环境的配置使用
Windows下SonarQube与Jenkins环境的配置使用 首先放个SonarQube官方持续化集成测试环境架构图 图中展示了SonarQube自动化环境的整合,前文根据SonarQube官方的 ...
- Windows下Android开发环境搭建和配置
关于Windows下Android开发环境搭建.配置方面文章,网上一搜一堆,为方便以后参考,权且做个记录,主要关注安装过程中的注意事项.对新手提醒的是,本文介绍SDK开发Android APK环境搭建 ...
- WIN10下通过Anaconda安装TensorFlow-GPU版本和keras
WIN10下通过Anaconda安装TensorFlow-GPU版本和keras 环境 win10 GTX1060 版本 TensorFlow-gpu 1.9 anaconda 5.3.1 keras ...
- Trac系列(1):Windows下Trac的安装与基本配置
Windows下Trac的安装与基本配置 Trac是一个基于Web的,轻量级的项目管理工具,它使用python语言编写.在本文中,将介绍windows下安装.集成配置一个简单的Trac ...
- Windows下VisualSVN Server的安装与配置方法(图文)
这篇文章主要介绍了Windows下VisualSVN Server的安装与配置方法,比较详细,需要的朋友可以参考下 VisualSVN Server是免费的,而VisualSVN是收费的.Visual ...
- 在windows下编译FFMPEG-最新2009版本
转]在windows下编译FFMPEG-最新2009版本 2010-11-17 18:50 大家可以看到,此篇之前有很多个版本的"在windows下编译FFMPEG",那些都是我在 ...
- Windows下用CMake编译JsonCpp及配置(适合新手)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 JsonCpp是什么? JSON是一种轻量级的数据交换格式.它可以表示数字.字符串.有序的值序列 ...
最新文章
- 使用Xcode修改iOS项目工程名和路径名
- 什么是 CAS 机制?
- XML 需要用的空间
- Cloud for Customer的Inplace Edit Container
- Verilog_寻找最高有效位的位置
- 通过django 执行命令或者脚本
- sass编译css(转自阮一峰)
- 看似无聊的python小游戏 我却摸鱼上班玩了一下午!!
- SAP安装前应准备的事项
- TexWorks中添加拼写纠察
- Mac运行node.js连接oracle数据库报DPI-1047: Cannot locate a 64-bit Oracle Client library: “dlopen(libclntsh.dy
- 微信小程序 java四六级英语学习助手系统app
- Pix2Text (P2T) 新版发布,离Mathpix又近了一大步
- SQL Server密码破解工具
- Docker 核心技术(2)- helloworld 镜像
- 【学习笔记】斯坦福SCI写作课 Unit 1
- 多线程模拟火车站售票
- scala学习之scala中一些集合的常用函数
- 【笔记】python的传递实参:位置实参、关键字实参、默认值、等效的函数调用、避免实参错误
- 股票质押式回购 非担保交收 结算备付金 B股转H股
热门文章
- 基于tcp的协议需要设计数据校验码吗_C#与宇电温控表自定义协议通信实例
- python小人画爱心_使用Python画出小人发射爱心的代码
- A Point-Line Feature based Visual SLAM Method in Dynamic Indoor Scene
- MDC功能软件-归控算法介绍
- PyTorch 学习笔记(一):让PyTorch读取你的数据集
- Java 1.1.4 检测字符串是否相等
- MATALB中的最大和最小常量
- 【已解决】Windows Ink中没有便签怎么办
- vue改变了数据却没有自动刷新
- Java实现List数组的几种替代方案