【玩转Modelscope】我XXX没有开挂!

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 本文介绍了一种使用达摩院人体2D关键点检测模型对图片进行处理,识别出图片中人体关键点的方法。此模型可应用于射击游戏中,在达摩院强大图像识别能力的加持下,结合自动截屏和移动鼠标等辅助功能,让你成为射击游戏里的“神枪手”!


1. 简介

本文介绍了一种使用达摩院人体2D关键点检测模型对图片进行处理,识别出图片中人体关键点的方法。此模型可应用于射击游戏中,在达摩院强大图像识别能力的加持下,结合自动截屏和移动鼠标等辅助功能,让你成为射击游戏里的“神枪手”!


2. 操作步骤

参考快速开始,里面有一些关于ModelScope的基本介绍


2.1 环境准备

  • 为了更快的体验产品,使用了ModelScope提供的远程环境,即Notebook进行开发,更加便捷。打开Notebook还挺慢的,需要几分钟等待时间。
  • 如果本地测试,也可以先安装依赖:


# 深度学习依赖
pip install torch torchvision torchaudio
# modelscope模型依赖
pip install "modelscope[cv]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html


2.2 模型准备

本文涉及到的模型包括:

2.3 图片准备

我们找一张有人物的截图图片作为模型调试的实验对象:https://unblocked-games.s3.amazonaws.com/media/posts/1/512-2.jpg

2.4 模型调试

调用达摩院人体2D关键点检测模型代码

importnumpyasnpfrommodelscope.pipelinesimportpipelinefrommodelscope.utils.constantimportTasksfrommodelscope.outputsimportOutputKeysmodel_id='damo/cv_hrnetv2w32_body-2d-keypoints_image'body_2d_keypoints=pipeline(Tasks.body_2d_keypoints, model=model_id)
image_path_or_url='https://unblocked-games.s3.amazonaws.com/media/posts/1/512-2.jpg'output=body_2d_keypoints(image_path_or_url)
poses=np.array(output[OutputKeys.POSES])
scores=np.array(output[OutputKeys.SCORES])
boxes=np.array(output[OutputKeys.BOXES])
print('=== poses ===')
print(poses)
print('=== scores ===')
print(scores)
print('=== boxes ===')
print(boxes)


模型结果如下,其中poses[0][0]对应的是第一个人物头部的坐标,其余同理,可以自行摸索

===poses===[[[142.0859375252.0140686] # 让你的鼠标瞄准这个坐标就完事了!  [149.9296875271.6234436]
  [134.2421875275.5453186]
  [130.3203125302.9984436]
  [134.2421875295.1546936]
  [161.6953125271.6234436]
  [149.9296875302.9984436]
  [130.3203125295.1546936]
  [138.1640625334.3734436]
  [130.3203125385.3578186]
  [134.2421875424.5765686]
  [157.7734375334.3734436]
  [157.7734375393.2015686]
  [161.6953125444.1859436]
  [146.0078125334.3734436]]]
===scores===[[0.8917050.877682150.78836040.443730680.540117440.90697530.86034690.843778130.880357270.8770150.90723520.889524460.866058950.83708550.9151828 ]]
===boxes===[[[108.75222.6000061]
  [180.25473.3999939]]]


3. 结果展示

由于模型输出是一堆坐标,我们借用一小段代码对结果进行可视化:

frommodelscope.preprocessors.imageimportLoadImageimg=LoadImage()(image_path_or_url)['img']
img=LoadImage.convert_to_ndarray(img)
# 画个方框把人框住cv2.rectangle(img, boxes[0][0].astype(int), boxes[0][1].astype(int), (0, 255, 0), 1)
# 标注人体15点,其中0是头部foriinrange(15):
cv2.circle(img, poses[0][i].astype(int), 1, (0, 0, 255), 3)
cv2.imwrite('result.png', img)


4. 串联应用(课外阅读)

通过自动截屏+人体关键点检测+自动移动鼠标,我们可以在射击游戏过程中实现“0秒锁头”,斗宗强者,恐怖如斯!

4.1 自动截屏

参考https://blog.csdn.net/sinat_38682860/article/details/109388556

4.2 自动移动鼠标

参考https://zhuanlan.zhihu.com/p/132694910

5. 结语

标题是“我XXX没有开挂!”,可是这篇文章确实是在教大家作弊了,强烈不建议在公平对抗的环境中使用。在一些其他场景下,比如识别过马路的行人、动态建模虚拟形象等,达摩院模型确实是提升效率的神器。

最后不得不感叹,达摩院模型真强大!

目录
相关文章
|
1月前
|
API 语音技术
ModelScope-FunASR**有支持热词又支持时间戳的模型**。
【2月更文挑战第30天】ModelScope-FunASR**有支持热词又支持时间戳的模型**。
26 2
|
1月前
|
人工智能 API 决策智能
Modelscope结合α-UMi:基于Modelscope的多模型协作Agent
基于单个开源小模型的工具调用Agent,由于模型容量和预训练能力获取的限制,无法在推理和规划、工具调用、回复生成等任务上同时获得比肩大模型等性能。
|
2月前
|
文字识别 并行计算 语音技术
ModelScope问题之下载模型文件报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
206 3
|
2月前
|
数据采集 自然语言处理 搜索推荐
ModelScope问题之模型encoder配置报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
76 0
|
2月前
|
数据采集 机器学习/深度学习 算法
ModelScope问题之恢复模型训练如何解决
ModelScope训练是指在ModelScope平台上对机器学习模型进行训练的活动;本合集将介绍ModelScope训练流程、模型优化技巧和训练过程中的常见问题解决方法。
51 0
|
2月前
|
人工智能 自然语言处理 开发工具
通过ModelScope开源Embedding模型将文本转换为向量
本文介绍如何通过ModelScope魔搭社区中的文本向量开源模型将文本转换为向量,并入库至向量检索服务DashVector中进行向量检索。
|
1月前
|
人工智能 达摩院 自然语言处理
超好用的开源模型平台,ModelScope阿里达摩院
超好用的开源模型平台,ModelScope阿里达摩院
|
2月前
|
人工智能 自然语言处理 搜索推荐
魔搭ModelScope社区作为一个AI模型开源平台,提供了丰富的模型资源和便捷的服务
【2月更文挑战第9天】魔搭ModelScope社区作为一个AI模型开源平台,提供了丰富的模型资源和便捷的服务
160 3
|
2月前
|
API
使用ModelScope平台进行模型验证时
【2月更文挑战第9天】使用ModelScope平台进行模型验证时
59 4
|
1月前
modelscope-funasr怎么拿验证集评估微调后的模型效果呢
【2月更文挑战第19天】modelscope-funasr怎么拿验证集评估微调后的模型效果呢
25 1