利用人工智能做射击游戏辅助(二)AlphaPose环境配置

news2024/11/17 15:58:18

一、anaconda安装

官网地址:Free Download | AnacondaAnaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.icon-default.png?t=N7T8https://www.anaconda.com/download

下载之后下一步就可以,这里不多赘述。

二、虚拟环境的创建

在 Anaconda 中,你可以使用 conda 命令来创建、管理和删除虚拟环境。虚拟环境是一个独立的 Python 环境,可以包含特定版本的 Python 解释器和各种 Python 包,以便你可以在不同的项目中使用不同的依赖项。以下是创建和管理 Anaconda 虚拟环境的一些建议操作:

1.创建虚拟环境
conda create --prefix E:\ProjectFiles\python\alphaPose_python3.7 python=3.7
2.安装pytorch

此处需要选择与你机器上CUDA和cuDNN版本一致版本。

在官网地址中找到你要的版本:

Previous PyTorch Versions | PyTorchAn open source machine learning framework that accelerates the path from research prototyping to production deployment.icon-default.png?t=N7T8https://pytorch.org/get-started/previous-versions/这是官网原版的命令:

# CUDA 10.1
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

我们需要删除其中的:torchaudio==0.8.1使用以下命令安装:

pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 -f https://download.pytorch.org/whl/torch_stable.html

安装完成后 

import numpy
import torch
torch.cuda.is_available()
#返回True表示成功
3.安装需要的库
pip install -i https://mirrors.aliyun.com/pypi/simple -r requirements.txt

将requirements.txt中以下三个库删除,前两个我们已经安装,第三个python版本低安装不了。(不影响我们使用)

torch==0.4.0
torchvision==0.2.0
ntpath

4.测试
python demo.py --indir examples/demo --outdir examples/res --sp

--indir为图片输入路径

--outdir为图片输出路径

--sp为使用多线程

5.使用pycharm

将python环境更改为我们的虚拟环境后,

demo.py输入源为图像,其中需要添加否则报错。

args.sp = True  # 是否使用多进程

webcam_demo.py输入源为摄像头,默认webcam为0,机器的默认摄像头,如果需要使用手机摄像头。需要app:ip摄像头,并更改代码:

dataloader_webcam.py中:

        url = "http://admin:admin@192.168.0.101:8081/"
        self.stream = cv2.VideoCapture(url)
        # self.stream = cv2.VideoCapture(int(webcam))

第一次运行可能会遇到错误:

TypeError: Can't parse 'axes'. Sequence item with index 1 has a wrong type

这里我们需要更改代码,对数据类型进行转换:

文件:AlphaPose\AlphaPose-pytorch\fn.py

加入代码:

#此处类型转换是自己添加
tensor_value = torch.tensor(stickwidth)
stickwidth = int(tensor_value.item())
# print(stickwidth)
polygon = cv2.ellipse2Poly((int(mX),int(mY)), (int(length/2), stickwidth), int(angle), 0, 360, 1)

video_demo.py输入源为视频文件,需要添加以下代码:

args.save_video = True  #启动视频保存
args.vis_fast = True #使用更快的渲染方式
args.sp = True  # 是否使用多进程

并且需要指定视频默认位置:

parser.add_argument('--video', dest='video',
                    help='video-name', default="examples/video/15.mp4")
6.效果:

利用人工智能自动打游戏之FPS类型游戏关键技术栈 人体姿势估计

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1083076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BCDD-A03-21-L3、BCDD-A02-33-L1比例方向阀控制器

BCDD-A02-31-L1、BCDD-A02-33-L3、BCDD-A02-21-S5、BCDD-A02-23-D5、BCDD-A03-31-L5、BCDD-A03-33-L1、BCDD-A03-21-L3、BCDD-A03-23-S5是直动式比例换向阀,通过比例电磁铁直接驱动阀芯工作。此类阀工作时是通过电子放大器提供比例电磁铁的驱动电流,比例…

哈夫曼树及哈夫曼编码详解及代码实现[C/C++]

文章目录 哈夫曼树及哈夫曼编码哈夫曼树的定义与原理引例路径长度定义 带权路径长度哈夫曼树哈夫曼树的构造方法构造方法示例 哈夫曼树的代码实现哈夫曼树的结点定义哈夫曼树的构造 哈夫曼编码哈夫曼编码方式哈夫曼编码解码的准确性 哈夫曼编码的代码实现运行示例 哈夫曼树及哈…

Android绑定式服务

Github:https://github.com/MADMAX110/Odometer 启动式服务对于后台操作很合适,不过需要一个更有交互性的服务。 接下来构建这样一个应用: 1、创建一个绑定式服务的基本版本,名为OdometerService 我们要为它增加一个方法getDistance()&#x…

PDF编辑软件哪个好用?PDF文档怎么编辑修改内容

在生活中,为了方便文件传输,会将文件扫描或转换成PDF格式,但是如果需要编辑修改会比较麻烦,这时一款好用的PDF编辑器显得十分重要。今天就带大家了解下PDF编辑软件哪个好用,PDF文档怎么编辑修改内容。 一、PDF编辑软件…

【Android 从入门到出门】第一章:Android开发技能入门指南

🤵‍♂️ 个人主页:艾迦洼的个人主页 ✍🏻作者简介:后端程序猿 😄 希望大家多多支持,如果文章对你有帮助的话,欢迎 💬👍🏻📂 目录 👋第…

C#(Csharp)我的基础教程(三)(我的菜鸟教程笔记)-控件对象与窗体容器集合(Control)的探究与学习

目录 1、窗体类(主代码文件窗体设计器后台代码文件)2、控件对象与窗体容器集合(Control) 1、窗体类(主代码文件窗体设计器后台代码文件) 主窗体对象的创建:在Program类里面: Appli…

Windows操作系统登录双因素认证解决方案 安当加密

实现Windows操作系统登录双因素认证,可以通过安当ASP身份认证平台进行设置。安当ASP身份认证平台提供了多种双因素认证方式,包括USB Key ID、OTP(动态口令)等,可以灵活选择和配置。 以下是使用安当ASP身份认证平台的US…

2023 家电行业品牌社媒营销洞察报告

过去三年的疫情,给人们的生活和消费方式都带来了极大的改变。直播电商、社交电商的兴起,也带动了传统线下家电零售商向线上渠道发展,传统大家电“重获新生”,新兴小家电“冉冉升起”,成为了业绩增长的新引擎。 2023年&…

c++视觉处理---拉普拉斯金字塔和高斯金字塔

拉普拉斯金字塔和高斯金字塔 拉普拉斯金字塔(Laplacian Pyramid)和高斯金字塔(Gaussian Pyramid)是两种不同类型的图像金字塔,用于多尺度图像处理和特征提取。它们之间的主要区别在于它们所包含的信息和用途&#xff…

ROS仿真软件Turtlebot-Gazebo的安装使用以及错误处理[机器人避障]

很多时候由于机器人价格比较贵,而且会因为环境因素、操作失误或者摔坏等,所以我们可以先在仿真软件上做测试,也可以避免这些问题,虽然没有那么真实感,可毕竟是免费的嘛。我们可以在这些仿真的机器人身上去学习如何控制…

格式化硬盘时提示“此驱动器正在使用”解决占用问题

Windows 11 或 Windows 10 的大多数问题都有一个很好的解决方案——格式化系统驱动器并重新安装 Windows。或者有时,我们可能只想擦除数据驱动器上的所有文件和文件夹,例如。D 盘、E 盘等。为此,我们只需右键单击 Windows 文件资源管理器的 P…

深度学习batch、batch_size、epoch、iteration以及小样本中episode、support set、query set关系

batch、batch_size、epoch、iteration关系: epoch:整个数据集 batch: 整个数据集分成多少小块进行训练 batch_size: 一次训练(1 batch)需要 batch_size个样本 iteration: 整个数据集需要用b…

深度学习简述

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据…

MT8390(Genio 700)安卓核心板参数_联发科MTK智能模组

MT8390安卓核心板是一款功能强大且高度集成的平台,专为广泛的人工智能(AI)和物联网(IoT)应用案例而设计。它具备高性能边缘处理、先进的多媒体和连接能力、多个高分辨率摄像头、连接的触摸屏显示以及多任务高级操作系统的使用。 MT8390安卓核心板采用了高性能的八核…

保护互联网数据安全:关键方法与最佳实践

在当今数字化时代,互联网数据安全已经成为个人、企业和组织的首要任务之一。随着信息技术的迅猛发展,网络威胁也不断演进,因此保护互联网数据安全变得尤为关键。本文将介绍一些关键方法和最佳实践,帮助您确保互联网数据的安全性。…

从零学算法(LCR 187. 破冰游戏)

社团共有 num 为成员参与破冰游戏,编号为 0 ~ num-1。成员们按照编号顺序围绕圆桌而坐。社长抽取一个数字 target,从 0 号成员起开始计数,排在第 target 位的成员离开圆桌,且成员离开后从下一个成员开始计数。请返回游戏结束时最后…

第五节 C++ 循环结构(算法)

文章目录 前言介绍1. for 语句1.1 语法结构1.2 语法流程的执行过程1.2.1 案例 1:循环的正序输入和倒序输入1.2.2 案例2 : 求1~n的平方数1.2.3 案例 3: 求输入a和b,求a~b区间数. 1.3 for 循环案例练习1.3.1 求最大值与最小值1.3.2 计算奇数和和偶数和1.3.3 计算平均气温与最高气…

day03_if_循环

今日内容 1.if.elseif 2.循环 3.控制关键词 复习 一 运算符算术,赋值,关系,逻辑,三目!,非,取反的作用boolean r !true; //falseboolean r2 !(1 > 0);// false 二 键盘录入1) 导包 import java.util.Scanner;2) 创建扫描器 Scanner scanner new Scanner(System.in);3) 调…

3.5 高速以太网

思维导图: 3.5.1 100BASE-T以太网 **3.5 高速以太网** 随着技术进步,以太网的传输速度不断增加。从早期的10 Mbit/s的速度,增长到了1 Gbit/s甚至更快。以下是一些关于高速以太网技术的简介。 **3.5.1 100BASE-T以太网** - **定义**&#…

信息系统项目管理师第四版学习笔记——项目沟通管理

管理基础 沟通模型的关键要素包括:编码、信息和反馈信息、媒介、噪声、解码。 在编制书面或口头信息的时候,应使用书面沟通的5C原则,以减轻理解错误:正确的语法和拼写(Correctness)、简洁的表述(Concise)、清晰的目的和表述(Cla…