Mediapipe的Unity实现
Posted river_of_sebajun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mediapipe的Unity实现相关的知识,希望对你有一定的参考价值。
Mediapipe是Google的轻量ML框架,包括了人体姿态识别、手势识别、头发分割等多种功能。Mediapipe支持跨平台,目前提供了Python、android、ios、JS等多种解决方案,但暂不支持Unity。
Github有大牛做了Unity的实现,链接。
这个项目将MediaPipe API (c++)移植到c#,这样就可以从Unity调用它。当需要在循环中调用多个api时,这种方法可能会牺牲性能,但它提供了使用MediaPipe的可能性。
直接将代码Clone到本地,用Unity(2021.3.3f1)打开会缺失环境,DLL的配置等。
作者也提供了all-in-one的package。
其中最新的版本v0.10.1是首次预编译好的包。
下载第一个,打开后,得到
使用时,直接用Unity Hub对应的Unity版本打开这个文件夹新建一个文件夹,其中Samples~
后面的~
要删掉,不然在Unity Editor资源里看不到这个文件夹。
我直接打开是有错的,显示的错误是找不到某个目录下的txt等文件,但实际上这些文件存在的。测试后,运行时,Model Complexity不能选Lite,要选为Full;Running Mode选Sync才是实时的,但是Sync延迟比较明显,换NonBlockingSync(无阻塞同步),延迟会降低,但是会帧一闪一闪的,个人理解是降低了每帧里处理的图像的数量,所以延迟降低,但会闪帧。
延迟情况,用USB3.0而不是2.0,会好一点。
此外,运行时需关闭本机的其他相机应用,比如Windows自带的相机!
基于Unity引擎利用OpenCV和MediaPipe的面部表情和人体运动捕捉系统
基于Unity引擎利用OpenCV和MediaPipe的面部表情和人体运动捕捉系统
前言
之前做的一个项目——使用Python利用OpenCV图像捕捉,配合强大的Mediapipe库来实现手势,人体动作检测与识别;将识别结果实时同步至Unity中,实现手部,人物模型在Unity中运动身体结构识别
项目地址:
Mediapipe+OpenCV与Unity引擎实现动作捕捉
OpenCV+Mediapipe人物动作捕捉与Unity引擎的结合
但是这个项目的实现利用了OpenCV图像捕捉和Mediapipe库来实现人体动作检测与识别,实现效果和准确度还不错,但是问题在于过于简陋的火柴人无法绑定到模型(模型骨骼)
项目概述
这次增加了模型的绑定,利用Mediapipe这个强大的库可以实现识别面部表情的捕捉和人体结构运动的捕捉,基于以上的特性加入到Unity的人物模型中,实现实时的面部表情和人体运行的捕捉
项目实现效果
2D面部表情实时捕捉
可以更换模型加入绿背应用于不同场景
3D人体动作实时捕捉
3D人体动作实时捕捉视频地址:https://live.csdn.net/v/234978
补充
项目目前问题很多,等待完善后会发布到GitHub
引用
本博客使用的3D模型资源来自Unity—Chan!
3D模型资源来自:
博客中使用到的2D模型资源来自Live2D
以上是关于Mediapipe的Unity实现的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV+Mediapipe人物动作捕捉与Unity引擎的结合
OpenCV+Mediapipe手势动作捕捉与Unity引擎的结合