# HoloPredictPose
前端环境部署教程
[toc]
## 前言
在这个项目中,我们运用Hololens2的传感器实时获取人体图像数据,传输给后端进行人体姿态预测模型的处理。同时,我们基于unity进行开发,将unity部署到Hololens2上,以便于观察人体真实动作与模型预测动作的实时效果。
本文的配置将实现把Hololens2设备上的图像数据通过wifi实时地传递到电脑端,方便用深度学习算法对图像进行处理,同时,实现unity动作效果的实时展示。
## 安装工具
1. Windows10 或 Windows11操作系统
2. 一台Hololens2头戴显示设备
3. WIN SDK(最新版)
4. UnityHub & Unity 2020.3.45 [[下载地址](https://unity.cn/releases/full/2020)]
5. Visual Studio 2022 [[下载地址](https://visualstudio.microsoft.com/zh-hans/)]
**必备插件:**
![1](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/1.png)
单个组件:USB设备连接性
![image-20230428180449321](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230428180449321.png)
## 前端项目使用说明
### Unity环境配置与资源导入
①官网下载unity hub
②在hub内下载unity2020.3版本,需要勾选以下模块:
![image-20230427125427514](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230427125427514.png)
③新建unity3Dcore项目,项目名称可以指定为HoloPredictPose
![image-20230427125705194](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230427125705194.png)
④“资源”——“导入包”——“自定义包”,导入HoloPredict.unitypackage
⑤“窗口”——“包管理器”,左上角拉选“Unity注册表”,分别搜索并下载以下三个包:Collections、Animation Rigging、Newtonsoft Json
![image-20230427130855228](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230427130855228.png)
⑥观察控制台没有编译错误,则导入成功
⑦project->Assets->Scenes下双击“0.unity”,即可看到项目预设场景
![image-20230428151654394](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230428151654394.png)
### Unity配置测试
#### 本地测试
资源导入成功后,点击上方三角按钮播放,观察人物动作变化,然后从“游戏”窗口切换到“场景”。若画面中人物动作正常变化,则项目搭建成功,可以进入下一步。
#### 联机测试
*必做步骤,同见[HolopredictPose/后端代码/后端部署.md](https://github.com/sinkers-lan/HoloPredictPose/blob/main/%E5%90%8E%E7%AB%AF%E6%BA%90%E7%A0%81/%E5%90%8E%E7%AB%AF%E9%83%A8%E7%BD%B2.md#%E5%89%8D%E5%90%8E%E7%AB%AF%E8%BF%9E%E6%8E%A5%E6%B5%8B%E8%AF%95)。在前端Unity环境已搭建完毕的情况下,应在部署到Hololens2前先使用后端代码`send_test.py`测试网络通信。
首先,层级窗口中找到![image-20230428183710295](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230428183710295.png)对象并选中,在检查器窗口找到Receive脚本,将目标host更改为后端部署环境的内网IP。8001端口为后端fastapi启动时设置的端口,可以自行更改。帧率可以自由调整。
![image-20230428125247270](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230428125247270.png)
**分别**针对两个对象unitychan和unitychan(1),展开/rig/offsets![image-20230428183817957](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230428183817957.png),选中offsets对象,在检查器窗口找到Player_scripts脚本,取消勾选“Use Local Json”选项。
![image-20230428152127607](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230428152127607.png)
设置完毕后,先运行后端`send_test.py`文件,然后在前端Unity中点击运行。观察到小人正常运动则说明通信成功。如果后端代码报错请检查后端网路传输部分环境,如果前端控制台报网络错误请检查眼镜与后端设备是否处于同一内网环境下,IP和端口填写是否正确。
### 生成与运行
#### 更改生成相关设置
*以下操作的目的是将配置好的项目编译并导入到Hololens2眼镜中
①导入混合现实工具包MRTK,参考教程 [[MRTK导入-参考教程](https://learn.microsoft.com/zh-cn/training/modules/learn-mrtk-tutorials/1-5-exercise-configure-resources?ns-enrollment-type=learningpath&ns-enrollment-id=learn.azure.beginner-hololens-2-tutorials&tabs=openxr)],按照教程步骤做完`导入MRTK Unity基础包`小节的全部内容。
②在“文件”->“生成设置”(File->Build Settings)中,左侧选择”Universal Windows Platform“,点击”切换平台“。然后依次选择以下配置:
![image-20230427153012542](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230427153012542.png)
③点击”玩家设置“(File->Project Settings->Player)
3.1 更改包名,也可以使用默认包名但不建议,此步骤是为了防止相同包名的应用相互覆盖
![image-20230427153522220](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230427153522220.png)
3.2 在Capability中选择以下选项,该步骤的目的使得应用获取网络传输等权限,已经勾选的选项不用取消勾选:
![image-20230427153644030](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230427153644030.png)
![image-20230427154422842](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230427154422842.png)
④为dll库更改平台设置如下:
该dll的作用是流式获取Hololens2的Camera传感器的图像。该dll由[cgsaxner/HoloLens2-Unity-ResearchModeStreamer (github.com)](https://github.com/cgsaxner/HoloLens2-Unity-ResearchModeStreamer)提供,并进行了优化以适应本项目。
![image-20230428134422848](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230428134422848.png)
#### 生成与部署
##### 生成
“文件”——“生成设置”——“生成”,新建一个空文件夹,选择文件夹开始生成。
##### Hololens2配置
参考[使用 Visual Studio 进行部署和调试 - Mixed Reality | Microsoft Learn](https://learn.microsoft.com/zh-cn/windows/mixed-reality/develop/advanced-concepts/using-visual-studio?tabs=hl2)
必须完成的步骤包括:
- Hololens2打开设置->更新和安全->面向开发人员->开启Developer Mode->开启device protal
![Enabling developer mode in the Settings app for Windows Holographic](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/using-windows-portal-img-01.jpg)
![img](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/deviceportal_usbncm_ipaddress.jpg)
- 将上图黄框地址输入电脑浏览器,或对Hololens2使用语音命令使用语音命令“我的 IP 地址是什么?”查看Hololens2的IP地址并输入电脑浏览器,打开设备门户。首次连接到 HoloLens 上的设备门户时,需要创建用户名和密码。**开启开发者模式的传感器流访问权限**。
![image-20230428203231754](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230428203231754.png)
##### 生成解决方案
生成完毕后,打开生成文件夹,双击.sln项目,用visual stutio打开。
将Hololens2用usb链接至计算机,修改设置如下:
![image-20230428184613774](https://sinkers-pic.oss-cn-beijing.aliyuncs.com/img/image-20230428184613774.png)
点击“生成”——“生成解决方案”/“重新生成解决方案"。
生成成功之后,点击”调试“——”开始执行(不调试)“,该操作会将解决方案部署到HoloLens2上,并启动应用。首次执行会要求配对。
以后可以从Hololens2上呼出主面板,点击应用,寻找部署好的应用并启动。
没有合适的资源?快使用搜索试试~ 我知道了~
基于深度学习实时检测人体3D姿态,并基于此预测未来人体动作
共258个文件
py:158个
asset:18个
h:11个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 96 浏览量
2024-05-10
15:11:59
上传
评论
收藏 307.93MB ZIP 举报
温馨提示
本项目利用深度学习技术,实时检测人体3D姿态,并基于此预测未来人体动作。采用mmpose框架与多进程技术实现后端快速预测,利用混合现实Hololens2头戴显示器显示人物动作,做到实时抓取,实时预测,实时显示。 深度学习(Deep Learning,简称DL)是机器学习(Machine Learning,简称ML)领域中一个新的研究方向,其目标是让机器能够像人一样具有分析学习能力,识别文字、图像和声音等数据。深度学习通过学习样本数据的内在规律和表示层次,使机器能够模仿视听和思考等人类活动,从而解决复杂的模式识别难题。 深度学习的核心是神经网络,它由若干个层次构成,每个层次包含若干个神经元。神经元接收上一层次神经元的输出作为输入,通过加权和转换后输出到下一层次神经元,最终生成模型的输出结果。神经网络之间的权值和偏置是神经网络的参数,决定了输入值和输出值之间的关系。 深度学习的训练过程通常涉及反向传播算法,该算法用于优化网络参数,使神经网络能够更好地适应数据。训练数据被输入到神经网络中,通过前向传播算法将数据从输入层传递到输出层,然后计算网络输出结果与实际标签之间的差异,即损失函数。通
资源推荐
资源详情
资源评论
收起资源包目录
基于深度学习实时检测人体3D姿态,并基于此预测未来人体动作 (258个子文件)
ProjectSettings.asset 20KB
QualitySettings.asset 6KB
InputManager.asset 6KB
GraphicsSettings.asset 2KB
Physics2DSettings.asset 2KB
NavMeshAreas.asset 1KB
DynamicsManager.asset 1KB
EditorSettings.asset 1KB
PackageManagerSettings.asset 881B
UnityConnectSettings.asset 853B
AudioManager.asset 416B
TagManager.asset 378B
VFXManager.asset 308B
EditorBuildSettings.asset 260B
TimeManager.asset 202B
XRSettings.asset 158B
PresetManager.asset 146B
ClusterInputManager.asset 114B
packages.config 131B
VideoCameraStreamer.cpp 11KB
ResearchModeFrameStreamer.cpp 9KB
ResearchModeFrameProcessor.cpp 7KB
VideoCameraFrameProcessor.cpp 6KB
HL2RmStreamUnityPlugin.cpp 6KB
TimeConverter.cpp 949B
dllmain.cpp 311B
pch.cpp 20B
player_scripts.cs 23KB
Receive.cs 3KB
StreamerHL2.cs 907B
StartStreamer.cs 533B
model.ckpt-769500.data-00000-of-00001 12.14MB
HL2RmStreamUnityPlugin.dll 145KB
HL2RmStreamUnityPlugin.dll 142KB
HL2RmStreamUnityPlugin.dll 119KB
HL2RmStreamUnityPlugin.vcxproj.filters 1KB
.gitattributes 66B
.gitignore 6KB
.gitignore 1KB
.gitignore 176B
.gitignore 176B
.gitignore 45B
ResearchModeApi.h 7KB
TimeConverter.h 3KB
VideoCameraStreamer.h 2KB
HL2RmStreamUnityPlugin.h 2KB
ResearchModeFrameStreamer.h 1KB
VideoCameraFrameProcessor.h 1KB
ResearchModeFrameProcessor.h 1KB
pch.h 948B
targetver.h 309B
IResearchModeFrameSink.h 216B
IVideoFrameSink.h 198B
download_from_dachuang.iml 403B
py.iml 284B
model.ckpt-769500.index 11KB
out1.json 1.66MB
out0.json 1.65MB
packages-lock.json 8KB
manifest.json 2KB
README.md 8KB
README.md 4KB
README.md 4KB
README.md 3KB
smoothnet_h36m.md 3KB
smoothnet_h36m.md 3KB
README.md 368B
model.ckpt-769500.meta 2.14MB
StartStreamer.cs.meta 243B
Scenes.meta 172B
Scripts.meta 172B
Plugins.meta 172B
StreamingScene.unity.meta 155B
WSATestCertificate.pfx.meta 155B
test.mp4 41.57MB
WSATestCertificate.pfx 2KB
videopose_h36m_27frames_fullconv_semi-supervised_cpn_ft-71be9cde_20210527.pth 65.18MB
videopose_h36m_27frames_fullconv_semi-supervised_cpn_ft-71be9cde_20210527 (1).pth 65.18MB
yolox_x_8x8_300e_coco_20211126_140254-1ef88d67.pth 24.59MB
yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth 19.46MB
litehrnet18_coco_256x192-6bace359_20211230.pth 4.82MB
deepfashion2.py 74KB
deepfashion2.py 74KB
halpe.py 30KB
halpe.py 30KB
coco_wholebody.py 30KB
coco_wholebody.py 30KB
try(2).py 22KB
vis_demo_old.py 20KB
try(3).py 16KB
wflw.py 14KB
wflw.py 14KB
interhand3d.py 13KB
interhand3d.py 13KB
coco_wholebody_face.py 11KB
coco_wholebody_face.py 11KB
mpii_trb.py 10KB
mpii_trb.py 10KB
TrajectoryCNN_test.py 10KB
TrajectoryCNN.py 10KB
共 258 条
- 1
- 2
- 3
资源评论
- nk1202024-10-03怎么能有这么好的资源!只能用感激涕零来形容TAT...
生瓜蛋子
- 粉丝: 3910
- 资源: 7441
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 20个单片机案例.zip、数控稳压电源、IC卡读写仿真、led大屏幕点阵屏、AVR寻迹小车、AVR寻迹小车、LC振荡器等等
- 数据分析基础知识、工具应用与实践案例
- 【源码+数据库】基于ssm框架+mysql实现的Java web在线考试系统
- 基于python + tensorflow 实现的用textcnn方法做情感分析的项目,有数据
- win10按要求设置镜像过程
- XIHE_Meteorological_Data_1730421195.csv
- 基于 python+TuShare数据存储方法及数据分析过程
- 335个单片机源码参考-2024整理.zip
- 基于opencv的人脸识别(硬件实现于esp32-cam)高分项目
- 后台运行的写日志win32程序
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功