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自带的相机!

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注