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

一、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.rhkb.cn/news/155578.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谷歌云 | 零售行业的生成式 AI:如何跟上步伐并取得领先

【Cloud Ace 是 Google Cloud 全球战略合作伙伴,在亚太地区、欧洲、南北美洲和非洲拥有二十多个办公室。Cloud Ace 在谷歌专业领域认证及专业知识目前排名全球第一位,并连续多次获得 Google Cloud 各类奖项。作为谷歌云托管服务商,我们提供谷…

[Python]图片转字符画——这就是我的表情!!!!!!

背景 偶尔看到一些视频,他们把图片转字符画,平常也没有去关注,今天来捣鼓一下。 研究了一下还超级简单的,都是调用别人写好的框架。 网上也有很多教学。 代码实现 from PIL import Image # 表示字符颜色,由深到浅&am…

Redis 的过期键 | Navicat 技术干货

Redis 是一种高性能的内存数据存储,以其速度和多功能性而闻名。其中一个有用的特性是为键设置过期时间的功能。在 Redis 中,为键设置过期时间对于管理数据和确保过时或临时数据自动从数据库中删除是至关重要的。在本文中,我们将探讨在 redis-…

【AI】深度学习——前馈神经网络——全连接前馈神经网络

文章目录 1.1 全连接前馈神经网络1.1.1 符号说明超参数参数活性值 1.1.2 信息传播公式通用近似定理 1.1.3 神经网络与机器学习结合二分类问题多分类问题 1.1.4 参数学习矩阵求导链式法则更为高效的参数学习反向传播算法目标计算 ∂ z ( l ) ∂ w i j ( l ) \frac{\partial z^{…

应对广告虚假流量,app广告变现该如何风控?

移动广告市场中的虚假流量一直是困扰各移动应用厂商的难题,广告作为app商业化变现最为直接快捷的途径,也引申出了流量作弊与反作弊的纷争。 根据《2021中国异常流量报告》,2021年中国品牌广告市场因异常流量造成的损失约为326亿人民币&#…

用例图 UML从入门到放弃系列之三

1.说明 关于用例图,这篇文章我将直接照搬罗伯特.C.马丁老爷子在《敏捷开发》一书种的第17章,并配上自己的理解,因为这一章写的实在是太精彩了,希望能够分享给大家,共勉。以下是老爷子的原文中文翻译以及豆芽的个人解读…

早安问候语早安心语,别把人生想太难,人生需要鼓励

1、别把人生想的太难,人生需要几分自我的鼓励,不管在什么时候,要有几分信念和信心,生活少不了哭哭笑笑。青山绿水依然在,来来往往人不同,要学会看得惯,还要学会看得开,你内心的平坦是…

【Java学习之道】继承与多态

引言 本文将介绍面向对象编程的核心概念——继承与多态。对于初学者来说,掌握这些基本概念是迈向Java高手的第一步。接下来,让我们一起揭开继承与多态的神秘面纱,感受它们的魅力吧! 一、继承 继承是面向对象编程的一个重要特性…

Linux 文件系统

目录 磁盘文件管理 认识磁盘 抽象认识磁盘 磁盘划分 inode vs 文件名 软硬链接 磁盘文件管理 前面我们说了关于 Linux 文件系统中 “已打开的文件” ,但是在系统中可不光只有已打开的文件,实际上,系统中还存在很多没有打开的文件。 既…

1600*C. Game On Leaves(博弈游戏树)

Problem - 1363C - Codeforces 解析: 我们将目标结点 x 当作树的根,显然,到当 x 的度为 1 的时候,此时行动的人胜利。 我们假设现在的情况为,只剩余三个点,再选择任意一个点,则对方获胜。但是两…

WSL2下的Docker配置和使用

在Windows的Linux子系统(Windows Subsystem for Linux)WSL2中安装、配置和使用 Docker,可以参考官方教程:WSL上的Docker远程容器入门. 重要步骤总结如下: 先决条件 确保你的计算机运行的是 Windows 10(更…

C++11 Qt QFutureWatcher lambda

目录 Lambda 介绍 【QT】Qt之QFutureWatcher 简述 传参: 还可以使用 QProgressDialog 作为阻堵 函数,变成同步; 完成后,关闭; MyQProgressDialog 效果: Lambda 介绍 Lambda 函数也叫匿名函数&…

信创办公–基于WPS的PPT最佳实践系列 (绘制自选图形)

信创办公–基于WPS的PPT最佳实践系列 (绘制自选图形) 目录 应用背景操作步骤1、记忆复制:CTRLD2、微移:CTRL四个方向键 应用背景 如果想将文字转为简单而形象的smartart图形,但是又找不到自己想要的图形,我…

什么是大数据,大数据简介

大数据的概念通俗的说法 大数据,按照我的理解比较通俗易懂的是在数据量很多很大的情况下数据处理速度需要足够快,用我们以前传统意义上的的技术比如关系型数据库mysql没办法处理或者处理起来非常复杂,必须有一些新的处理技术也就是大数据处理…

2024第八届杭州国际智慧城市博览会:建筑与智能,智慧与未来

浙江,中国最具活力的省份之一,将再次迎来一场盛大的智慧城市行业展会。2024年第八届浙江智慧城市博览会,由浙江省土木建筑学会发起主办,以“探索未来,智能引领”为主题,于2024年4月份在美丽的杭州国际博览中…

聚观早报 | 首个“5G-A智慧家庭”发布;李鹏称5G-A是5G发展选择

【聚观365】10月12日消息 首个“5G-A智慧家庭”发布 李鹏称5G-A是5G发展的自然选择 新版努比亚Z50S Pro开售 英特尔锐炫A580显卡全球同步上市 vivo X100系列年底登场 首个“5G-A智慧家庭”发布 在全球移动宽带论坛(MBBF2023)期间,du联合…

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

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

VS编译的时候不生成Release文件夹

方法描述: Build>Configuration Manager>Release 编译》配置管理》选择发布版本 再编译就有了 具体操作过程 第一步: 第二步: 第三步: 特此记录 anlog 2023年10月12日

基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持本地图片上传与回显的功能实现(二)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 排除路径,增加avatar图片 # security配置 security:# 排除路径excludes:# 静态资源- /*.html…

C++——容器适配器

1. 什么是适配器? 容器适配器是C标准库中的一种数据结构,它可以将不同类型的容器(如vector、list、deque等)转换为另一种类型的容器。容器适配器提供了一种简单的方式来重新组织和访问数据,同时隐藏了底层容器的实现细…