• AI项目八:yolo5+Deepsort实现目标检测与跟踪(CPU版)


    若该文为原创文章,转载请注明原文出处。

    一、DeepSORT简介

       DeepSORT 是一种计算机视觉跟踪算法,用于在为每个对象分配 ID 的同时跟踪对象。DeepSORT 是 SORT(简单在线实时跟踪)算法的扩展。DeepSORT 将深度学习引入到 SORT 算法中,通过添加外观描述符来减少身份切换,从而提高跟踪效率。

    这是提供两个demo,一是跟踪计数人员;二是车辆计数跟踪;

    二、环境搭建

    本人没有GPU的电脑,所以修改一些参数在CPU上跑,只是为了学习验证。

    1、创建虚拟环境

    conda create -n yolov5_deepsort_env python==3.8

    2、激活环境

     conda activate yolov5_deepsort_env

    3、下载代码

    1. 链接:https://pan.baidu.com/s/1CSfqIrDh-r17wDvm_rOF-A?pwd=1234 
    2. 提取码:1234 

    4、安装yolov5

    进入存放的路径,修改成自己的路径:

    cd G:\enpei_Project_Code\02_deepsort\yolov5-deepsort

    安装 

     pip install -r .\requirements.txt  -i https://pypi.tuna.tsinghua.edu.cn/simple

     安装成功:

    接下来验证

    三、测试

    执行

    python .\count_car.py

    结果报错了

    所以下面处理各种错误:

    错误1:ImportError: cannot import name 'EasyDict' from 'easydict' (unknown location)

    原因是easydict版本不对,需要指定版本。

    处理:下载easydict,并重新安装;

    下载地址:

    https://files.pythonhosted.org/packages/4c/c5/5757886c4f538c1b3f95f6745499a24bffa389a805dee92d093e2d9ba7db/easydict-1.9.tar.gz

    下载后解压,并安装,安装指令如下:

    python setup.py install --user

    错误2:RuntimeError: "slow_conv2d_cpu" not implemented for 'Half'

    原因:因为没有Cuda支持,无法使用半精度VAE模块进行推理

    处理:找到文件下的half,全部修改成float

    错误3:AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'

    处理:

    打开D:\Anaconda3\envs\yolov5-6.0\lib\site-packages\torch\nn\modules\upsampling.py(注意路径,为环境下)

    修改代码

    1. def forward(self, input: Tensor) -> Tensor:
    2. return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners)
    3. # return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners,
    4. # recompute_scale_factor=self.recompute_scale_factor)

    错误4:AttributeError: module 'numpy' has no attribute 'float'.

    原因:numpy版本不对,重新安装numpy

    处理:

    1. pip uninstall numpy
    2. pip install numpy==1.20.3

    所有错误处理完后,在次运行

     python .\count_car.py

    代码比较易懂,值得学习,这里不过不解析代码。

    如有侵权,或需要完整代码,请及时联系博主。

  • 相关阅读:
    Retrofit
    制定测试计划和测试用例
    ESP32-S2 st7789 SPI TFT彩屏240X320
    MyBatis 的缓存机制
    Redis 是什么?
    国考省考行测:问题型材料主旨分析,有问题有对策,主旨是对策,有问题无对策,要合理引申对策
    EureKa详解
    ClickHouse与Elasticsearch压测实践
    MyBatis和MyBatis-plus教程
    从TCP到Socket,彻底理解网络编程是怎么回事
  • 原文地址:https://blog.csdn.net/weixin_38807927/article/details/132940167