2023.4.20更新 关于报错的解决办法

关于评论出现的问题,我当初测试的时候是没有的(可能是以前跑YOLO的时候已经改过了),于是我换了一台电脑测试,报错了,于是这里更新一下:

报错'Upsample' object has no attribute 'recompute_scale_factor'的解决办法:

找到你的pytorch源码中的upsampling.py文件(我的位置是在anaconda3\envs\torch12\lib\site-packages\torch\nn\modules\upsampling.py),将153行开始的forward函数做修改:

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

这样再根据下文的的说明来操作就有结果了。


虽然基于top-down方法的HRNet网络精度很高(在COCO数据集上最高能达到76.7mAP),但是由于其需要一个额外的detector和网络中始终保持着高分辨率的heatmap的原因,网络在推理时的速度非常的慢,这就使得类似与HRNet的网络不适合部署在低算力的边缘设备上。

而使用buttom-up的方法虽然快,但是其精度与top-down方法还存在一些差距。

YOLO-Pose与其他buttom-up的方法一样,也是一种single shot的方法。然而,它并不使用 heatmap。相反,YOLO-Pose将一个人的所有关键点与anchor联系起来。这就使得它在进行人物检测的同时,可以进行关节点的预测,形成了一个端到端的网络,在保证精度的同时拥有很快的推理速度。下面文章将进行YOLO-Pose的部署与测试,看看这个网络的表现如何。

原文地址:YOLO-Pose: Enhancing YOLO for Multi Person Pose Estimation Using Object Keypoint Similarity Loss

开源地址:edgeai-yolov5

1.部署环境

Windows 11

python 3.7

pytorch 1.13

cuda 11.6

2.选择分支下载源码

进入开源地址是看不到YOLO-Pose源码的,在master分支显示的是YOLOv5的源码,我们想要的源码在名为yolo-pose的分支。这里提供两个方法:

1)clone源码后切换分支

首先从github上clone代码

​git clone https://github.com/TexasInstruments/edgeai-yolov5.git

下载完成后点击vscode的左下角的master

在出现的选项中选择yolo-pose分支

2)切换分支后下载zip

点击GitHub页面左上的分支按钮,在下拉菜单中选择yolo-pose分支

然后下载zip压缩包

3.安装配置yolo-pose运行环境

1)使用conda新建一个python环境,这里不再赘述。

2)使用conda install命令安装pytorch等基础包,同样不再赘述。

3)安装YOLO-Pose要求的包

命令行切换到YOLO-Pose源码路径,运行pip命令

pip install -r requirement.txt

等待安装完成即可。如果出现网络问题安装失败可以尝试清华源下载,在命令行后加上

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

如果pycocotools安装失败,请参考这篇文章。

4.下载官方的模型进行测试

在github的页面或者源码中的readme.md中找到下图所示的表格

注意!这里框出的两个超链接点击后都会下载一个模型文件,但是他们是不一样的!左边是官方训练好的模型,可以直接使用。右边是网络的预训练权重,需要自行训练网络后才能得到要用的模型。模型一定要下载正确,不然测试的时候会出现错误的结果。

这里我们选择左边框的模型下载,下载完成后更名为Yolov5s6_pose_640.pt放入源码的根目录。下面进行模型的测试,切换命令行路径到源码目录,输入:

python detect.py --weights Yolov5s6_pose_640.pt --source data/images --kpt-label

--weights 后跟模型路径;

--source 后跟图片或视频路径,如果要使用摄像头,--source 后写0即可;

--kpt-label 使用yolo-pose模型必须加上,不然会报错。

其他更多的参数(例如conf和iou)请详见detect.py。这里使用了源码自带的两张图片测试,效果如下:

使用摄像头测试:

python detect.py --weights Yolov5s6_pose_640.pt --source 0 --kpt-label

图片这里就不放了,这个模型在我的1050ti旧笔记本上单帧推理速度在40ms多一点,相较于HRNet可以说是非常快了。

【YOLO-Pose】在Windows上的部署与测试(调用摄像头)相关推荐

  1. Zabbix agent 在windows上安装部署

    Zabbix agent 在windows上安装部署 1.下载与解压 地址: http://www.zabbix.com/downloads/2.4.4/zabbix_agents_2.4.4.win ...

  2. Kettle Carte集群 在windows 上的部署与运行

    本片文章主要是关于使用Kettle的UI界面: Spoon来实现基于集群的对数据库中的数据表数据进行排序的试验. 以及在实验过程中所要开启的Carte服务的一些配置文件的设置, 还有基于Windows ...

  3. 第一章 Oracle 11g 数据库——在Windows 上安装部署

    一,安装文档,安装包准备 1,安装服务器端的文件 2,client客户端文件的安装(根据自己操作系统选择) 3,服务器和客户端安装时要区分64位和32位 将文件win32_11gR2_database ...

  4. windows c语言 redis,windows上使用VS2012 C++语言调用Redis的解决方案

    最近我在VS2012上进行Redis开发遇到一些困扰. 编译Redis的lib库没问题.但是使用这些lib库就不太顺利了. 在网上查来查去也没解决.不过其实Redis的客户端项目RedisCli.vc ...

  5. mnist数据集在caffe(windows)上的训练与测试及对自己手写数字的分类

    以下出自http://www.cnblogs.com/yixuan-xu/p/5858595.html 我按照大神的运算步骤完全正确,只是为了加深理解,自己又重新写了一遍,详情请看上述大神博客. 对m ...

  6. windows上查看和设置weblogic的编码格式

    程序在本机上运行是正常的,但是在windows上的部署weblogic时请求出现了乱码,需要将编码格式改为utf-8 在网上找了很多办法,基本上都是linux上部署出现的乱码,发现在我这边没什么用 首 ...

  7. 【AI达人创造营】红细胞形状异常检测在Edgeboard上的部署

    [AI达人创造营]红细胞形状异常检测在Edgeboard上的部署 此项目是基于PaddleDetection做的红细胞形状异常检测,属于医学中目标检测类的项目.此项目是在由百度大脑研发的EdgeBoa ...

  8. windows上hadoop安装(cygwin等)

    http://cjnetwork.iteye.com/blog/1474745 hadoop运行方式 1.本机方式:不做任何配置 2.伪分布式:pseudo distributed 3.全分布式:fu ...

  9. windows上配置TensorRT yolov5 -6.0部署 tensorrtx视频流推理

    目录 前言 前置环境 一,TensorRT下载安装 二,tensorrtx正常windows部署,图片推理 2.1 VS配置(这一步骤二和三通用) 2.2 导出wts模型 2.3 生成engine引擎 ...

最新文章

  1. 谷歌深度学习公开课任务 5: Word2VecCBOW
  2. python生成斐波那契_python学习-生成器(generator)及斐波那契;yield
  3. 万维钢新书《你有你的计划,世界另有计划》_《丑小鸭定理》读书笔记
  4. Android --- 数据库存储的是正确的时间格式(2021-06-17 21:47:23)但是在获取的时候变成了(2021-06-17T13:47:23.000+00:00)
  5. 36、Power Query-多条件合并查询
  6. Ubuntu18.04挂载exfat格式移动硬盘
  7. Dlib学习笔记:解决dlib array2d转 OpenCV Mat时颜色失真
  8. java调C接口_java通过jni调用C程序接口
  9. 【Alpha】开发日志Day8-0719
  10. mysql和jfinal的区别_mysql与JFinal的数据关系-阿里云开发者社区
  11. TensorFlow相关工具
  12. 软件测试开发实战| Java版本,Gson解析json比较常用的2种方式
  13. Zend_Db_Statement 一行无用代码
  14. cad图纸解析java_Java库以编程方式将AutoCAD .dwg文件转换为PDF或图像?
  15. 分享Visual Studio 2019专业版、企业版密匙
  16. 集美大学第七届天梯赛校选题解
  17. python大学生信息管理系统_基于Python的高等学校社团信息管理系统
  18. php仿阿里巴巴,php实现的仿阿里巴巴实现同类产品翻页
  19. 利用python在网上接单赚钱,兼职也能月入过万,还不赶紧学起来...
  20. Android运行报错Manifest merger failed : uses-sdk:minSdkVersion 26 cannot be smaller than version 28 decl

热门文章

  1. R Studio 安装stringi 报错download of package ‘stringi’ failed
  2. 解决typora 或markdown文档图片失效问题
  3. Unity打包apk报错: Cannot fit requested classes in a single dex file (# methods: 73376 > 65536)的解决办法
  4. [c++]-uint8_t,uint16_t,uint32_t,uint64_t代表含义及其标准定义
  5. seetaface6 GPU版本windows编译
  6. PaaS architecture
  7. office 打开wps乱_wps文档用word打开排版不对怎么办
  8. 在 iphone 手机浏览器无法下载(主要指 safari 和 chrome ) excel ,但是可以直接预览 excel
  9. Java中的各种锁和数据库中的锁
  10. debug protractor