USB摄像机运动捕捉ThreeDPoseTracker说明

您所在的位置:网站首页 动作捕捉软件下载安装苹果 USB摄像机运动捕捉ThreeDPoseTracker说明

USB摄像机运动捕捉ThreeDPoseTracker说明

2024-07-16 05:25| 来源: 网络整理| 查看: 265

USB摄像机运动捕捉ThreeDPoseTracker说明

什么是ThreeDPoseTracker

首先,请观看下面的视频。

https://www.bilibili.com/video/BV1SA411n7Sh/

 ThreeDPoseTracker v0.1.0影片简介

如果环顾四周,可能会更容易理解。 我试图仅使用USB相机进行运动捕捉-仅使用USB Cam进行运动捕捉-[NT Kyoto 2020]

https://www.bilibili.com/video/BV1SA411n7Sh/

 

ThreeDPoseTracker是Windows 10的应用程序,允许您仅使用USB摄像机或舞蹈之类的视频执行运动捕捉。如果是笔记本电脑,则使用内置摄像头不需要任何其他设备。但是,它需要一个(非常)强大的图形环境。具体来说,我想要GTX1050或更高版本。即使小于此值,我认为它也不起作用,但是会很慢。 为了更详细地说明该应用程序,我们将使用机器学习学习的姿势估计模型(骨架为ResNet-34),以从图像中输出人体的关节坐标,并从电影或照相机的图像中使用关节坐标的模型。进行估算,并根据该值来化身。 最初,我试图积累各种功能,但是由于它处于没有太多保留的状态,因此我停止了正在处理的代码,仅提取了这次可以使用的功能v0总结为.1.0。

 

操作环境

已确认Windows10 Pro Ver.1909 Corei7-7700HQ 内存16G 图形卡GTX 1070及 更高版本。 我认为CPU和GPU稍弱一点也可以。GTX1060或1050,速度稍慢,但我认为它可以工作。在上述环境中约为20 Fps。RTX2070 Super的工作速率约为30 Fps。我们还为没有图形卡的PC提供了低质量模型,该模型以估计精度为代价,但以准确性为代价来寻求亮度。您可以感受到气氛。您仍然需要现代的CPU。如果您想尝试,请参阅下面的“尝试低质量”模型。

 

安装

让我们立即安装它。从下面的URL下载zip文件。

https://digital-standard.com/threedpose/ThreeDPoseTracker_Win_x64_v0_1_0.zip

(2020/07/23 Ver.0.2.0发布。请参考以下文章以获取0.2.0的更改和下载) https://www.bilibili.com/read/cv7336545

下载并解压缩以创建一个名为“ ThreeDPoseTracker_Win_x64_v0_1_0”的文件夹。 没有安装文件,因此请将该文件夹放置在桌面上或您喜欢的任何位置。 可执行文件是此文件夹中的“ ThreeDPoseTracker.exe”。执行后,将显示Windows保护对话框。 通过单击屏幕上的“详细信息”并单击“运行”按钮来执行。

屏幕说明

启动时,将显示以下屏幕。

首先,让我们继续前进,不要考虑任何事情。请从下面的URL下载示例视频。 https://github.com/digital-standard/ThreeDPoseUnityBarracuda/blob/master/Assets/Video/onegai_darling.mp4

下载后,单击屏幕顶部的“加载电影”,然后打开文件加载对话框,选择之前下载的onegai_darling.mp4。

并通过此视频,Unity-chan成功开始跳舞,并成功开始。如果到目前为止有错误,Unity-chan无法正常工作,等等,如果PC的规格不足或规格应该足够,则需要尝试从Github上的源启动..

 

功能说明

从这里,我们将解释ThreeDPoseTracker的功能。 下面显示的菜单显示在屏幕顶部。

①输入装置

在此设置输入设备。仅mp4视频文件和USB摄像机可以用作输入。如果在启动应用程序时连接了USB摄像头,则摄像头名称将添加到此下拉菜单的第二个及后续项目中。请注意,即使在应用程序启动后连接了相机,也不会反映出来。有关更多信息,请参阅有关视频文件中的估计和使用USB摄像机的章节。

②应用程序设置(配置)

ThreeDPoseTracker显示一个对话框,用于配置整个应用程序的设置。有关设置的详细信息,请参阅下面的“配置”屏幕。

③头像设置(头像)

ThreeDPoseTracker可以添加由Vroid Studio等创建的VRM文件。您可以从下拉菜单中选择要使用的头像。您还可以设置每个化身的显示大小和显示位置,以及骨骼的显示/不显示。有关详细信息,请参见头像屏幕。

④保存运动(记录BVH)

记录并保存BVH格式的运动数据。FPS在操作过程中显示FPS值,因此在创建动作时请参考该值。

⑤关闭(关闭菜单)

关闭菜单。可以通过按ESC键或空格键显示已关闭的菜单。 隐藏菜单后,单击鼠标左键将更改相机位置,如下图所示(第四次还原)。使用鼠标滚轮进行缩放,然后单击鼠标右键以切换头像。一个小的播放功能增加了。我认为将来会消失。

估计在视频文件中

要从电影文件进行估算,请在源设备设置为“电影文件”的情况下单击“加载电影”按钮。当文件选择对话框打开时,选择mp4视频文件。选择后,视频将被加载并自动播放。在视频开始播放和估算开始之间存在一点时间间隔(如果规格不够,可能会花费很长时间)。如果要从视频的开头开始,则必须事先在视频的开头添加裕量时间,或者重复播放视频并从第二次开始使用它。 另外,在电影回放委员会中,在“加载电影”按钮旁边显示“暂停”按钮,帧数/总帧数和“跳过”按钮。按下“暂停”按钮可暂停视频。再按一次可恢复。但是,此时,化身开始移动之前会有一个滞后。您可以通过输入帧数并在暂停期间按“跳过”按钮来移动指定的帧。当您按下“暂停”按钮时,播放从该帧开始,但是仍然存在延迟。

 

使用USB相机

如果在启动应用程序时将USB摄像头连接到PC,则这些摄像头将被添加到源设备的下拉列表中。选择要使用的摄像机,然后单击“启动摄像机”按钮以切换为来自摄像机的输入。如果要切换到其他摄像机或视频,可以再次选择将其更改。但是,如果您做得太多,就会生病。 我主要使用游戏笔记本电脑,但内置相机似乎不够好。外接USB相机会更好一些,因为它的价格为几千日元。实际上,我用于主摄像头的相机的价格为3000日元(不幸的是,由于电晕需求,价格有所上涨)。

估计好

不幸的是,它不是可以从任何图像执行完美姿势估计的人。但是,如果在某种程度上设置了条件,则可以像在示例影片中那样估计它,并且可以将其用作运动捕捉。我想在这里展示这些条件。

①一个人

只能估计一个主题。越靠近中心,灵敏度越好。以下是肢体,但是在下图中显示了两个人时,将估计人在图像左侧的姿势。这可能是因为它靠近中心(但并非总是如此)。 此外,在该图像中,在估计右脚方面存在问题。左边的人是主要人物,但是右边的人的右脚则靠近中心。因此,右脚的位置将是正确的人的脚。这不是因为当前使用的机器学习(AI)模型正在学习人体的结构(连接),而是仅通过选择看起来像手臂或腿的图像模式即可。采用中心侧的脚。但是,在电影和照相机的情况下,如果它在移动,可能会变得模糊或看不清,并且可能会受到图像的影响。无论如何,单独解决都不会发生这样的问题。

②拍下全身照

无论如何,请确保您可以看到整个身体。启动应用程序时,左上方有一个白色小窗口(请参见下图)。执行后,背景中显示的一部分视频被剪切并显示在此小窗口中。此处显示的图像将是AI的输入数据。如果整个身体都不适合此图像,则无法正确估计。从示例视频的大小来看,可以将它放大一些,但是当距离越来越近时,如果您举手,它会伸出来。如果您举起双手并且指尖伸出,则太大了。在很多情况下都没有问题,但是如果结果看起来很猛烈,请稍稍降低一下效果或在输入图像尺寸的设置屏幕(稍后说明)上将``源剪切比例''调整为0.9或0.8可能会更好。即使距离很远,也可以通过图像垂直长度的大约50%的大小来判断。如果距离比该距离更远,则几乎无法进行估计(因为它不在学习数据中,因此一开始就没有被学习)。对于普通相机,必须将其分开2 m或更大。

③简单的背景

我希望您理解这一点,但是背景应该很简单。有点混乱也可以,但是特别是如果这个人后面什么都没有,那么准确性会更好。例如,在下图中,无法看到人的右臂。并且在该图像的情况下,杆状物体从肩部伸出。由于看不到右臂,因此我可以积极寻找右臂,并将此棍棒判断为右臂。有东西)。我在上一章中写道,我没有关注身体的联系,但似乎有点担心。另外,即使在脚下或双脚之间有物体,也会有许多错误的识别。

④简单的衣服

您也可以理解这一点,但是最好还是简单一些。我觉得Panichi很简单容易,但是对于某些人来说可能并不那么容易。最好穿背景色不同的裤子和T恤,这样您才能清楚地看到自己的身材。牛仔裤也很好。 长裙特别糟糕。我不知道我的脚的位置。此外,除了短裙之外,它很难。只要您面向前方,短裙就可以了,但是如果您打开双腿并转向侧面,则决定会很尴尬。下图显示了人类可以判断左脚和右脚,但是对于机器而言却相当困难。如果您将腿伸得更远,会变得很烦人(有些人即使看到也可能不理解)。如果在上面穿黑色紧身裤,将很难理解前后关系。黑色紧身裤的水平裙摆是一个恶魔之门。这是很多。如果您错误地识别了左脚和右脚,它们将立即切换,这将导致动作闪烁,并且外观会变得更糟。 您要面对的是向前还是向后,很大程度上取决于您是否可以看到自己的脸(这似乎不仅仅由您的脸来判断)。当长发的人跳舞时,脸通常是隐藏的。此时,如果判断为朝后,则左右将换为该帧,因此该虚拟形象将是暴力的。另外,如果您在头后部戴上鲜艳的或闪光的帽子,即使您向后看也可能被判断为向前。

⑤关于视频

快速动作和跳舞的视频意外地模糊,并且没有显示四肢(请参见下图)。即使在某种程度上看不到,我仍在学习估计,但是有一个限制。在体育视频中,您可能看不到几乎所有的手臂动作。在这种情况下,必须事先设计慢速记录。而且,在运动过程中对诸如高脚踢和动作之类的特殊姿势的识别也相当不准确(学习数据中也未包括这一点)。 此外,视频将在彩色方面提供更好的效果。如果只有黑白,那是没有帮助的(我有一个工作时会学习黑白的模型,最好再学习黑白)。

⑥其他

无法准确估计坐姿,尤其是坐姿,坐姿或睡眠姿势。我也不擅长倒立。而且,正如我在上面所写,如果您鞠躬至看不见脸的程度,您将不确定正面和背面,并且会发狂。

配置画面

本节介绍用于为整个应用程序进行设置的“配置”屏幕。

·         显示源图像 设置是显示还是隐藏作为在整个屏幕上显示的源设备而加载的视频以及USB摄像机的图像。

·         显示输入图像 将输入图像显示或隐藏到AI(左上角的小窗口)。

·         拖放时 播放视频时,请跳过视频打开时未处理的帧。关闭并播放时,将播放所有帧,因此,如果处理缓慢,将像慢动作一样播放。

·         电影文件重复播放模式 播放电影时,如果将其打开,则会重复播放电影。

·         使用相机时的镜像使用 USB相机时,如果打开,则相机的输入将处于镜像状态。

·         源剪切比例 输入图像以源图像图像的高度为1的比例剪切。例如,如果视频中的人太小,请指定1或更大的值以将其放大。

源剪切中心位置 从以源图像的中心为原点,图像高度为1的比率指定的位置切出输入图像。如果视频的右侧有跳舞的人,请进行调整,以使位置为中心。下图显示了x的移动量指定为0.3的情况,它是上图中的放大倍率下的外观差异。想象一下,显示图像的相机以0.3的纵横比向右移动。如果它是负值,它将向左移动,并且Y轴也应如此。

·         低通滤波器 这是用于抑制跳跃和水泡的滤波器。如果是高度质量模型,则0到0.2是合适的。它越大,它变得越平滑,但是延迟和运动变得松散。

·         训练有素的模型 选择用于姿势估计的模型。如果规格足够,请选择“高度质量”。如果您更改此项目,请重新启动应用程序。如果规格不足,请参阅下面的“尝试低质量”模型。

·         恢复设置将 设置恢复到初始状态。头像设置也将被初始化。请直接退出应用程序。

·         使用Unity Video Capture启用 Unity Video Capture。这将使当前显示的屏幕(不包括菜单和设置屏幕)成为USB摄像机的输出,以便可以将其作为其他应用程序(例如Zoom(虚拟摄像机))作为摄像机输入来处理。有关详细信息,请参阅使用Unity Capture进行缩放输出。

·         显示背景 设置显示还是隐藏应用程序背景图像。默认图像是外国城堡的图像。

·         背景图像文件 切换背景图像。如果不存在图像或该项目为空,则将显示默认图像。

·         背景比例调整 背景图像的尺寸。无法更改图像位置,因此请调整原始图像以调整位置。

·         背景颜色如果 隐藏所有源图像,输入图像和背景图像,则它将变为纯色背景。可以使用RGB(0至255)指定背景色。当您不想在绿色背景或背景上放置任何东西时,请使用。

使用VMC协议使用VMC协议 发送化身骨骼信息和虚拟跟踪器。这是示例代码。不发送混合形状。VMC协议也无法接收。尽管它仍然是测试实现,但我已经确认EVMC4U可以接收数据(实际上,我对此了解不多)。

·         IP 指定运行VMC协议服务器的PC的IP地址。通常,应保持原样为127.0.0.1。

·         端口 指定VMC协议的服务器端口号。我不知道正常数字是多少,但是大概是39539。

·         Rot ThreeDPoseTracker将其背面旋转180度。通过检查进行180度校正。

·         “确定”,“取消”和“应用” 对话框是半透明的,并且不通过“应用”按钮关闭屏幕即可反映状态,因此您可以在检查时进行设置。使用“确定”和“应用”按钮保存设置。

尝试低质量模型

如果您的PC没有足够的规格,请使用低质量型号。从“配置”屏幕上的“训练模型”下拉菜单中选择“低质量和更快”,然后重新启动应用程序。 不幸的是,低质量模型在姿势估计方面非常不准确,但是它的运行速度很高。它可以在没有图形卡的PC上运行。但是,除非在某种程度上是新CPU,否则它可能无法工作(如果没有i5-7500的图形卡,则约为12 fps。使用i3或更低版本可能很难运行)。请认为您可以理解它的感觉。实际上,我并没有真正意识到存在各种落后和背景。 相反,在高规格PC上运行低质量模型还为时过早。由于运动也会变得很疯狂,因此对于低通滤波器,将其设置为0.5或更高的极值。但是,我认为移动它没有太大意义。此应用程序中使用的模型仍有提高准确性的空间。特别是,我们要提高此低质量模型的准确性。

使用Unity Capture进行缩放输出

如果启用Unity Video Capture,则可以将屏幕图像输出到使用摄像头的应用程序,例如“缩放”。但是,您需要在PC上安装Unity Capture驱动程序。从下面的Github存储库中使用DownloadZip下载zip文件。解压缩后,以管理员权限执行InstallCustomName.bat。您也可以更改相机名称。此应用使用此批处理文件的默认名称Unity Video Capture。 在“缩放”侧,通过将相机设置为Unity Video Capture将显示ThreeDPoseTracker的屏幕。但是,缩放的分布会大大降低图像质量,因此详细的细节将丢失。如果与“缩放”共享屏幕,则图像质量将清晰输出,但将以15 fps的速度输出。 不幸的是,如果启用了Unity Capture且ThreeDPoseTracker窗口退到了后面,则下次激活该窗口时,屏幕将变成白色且稳定。由于操作继续进行,因此分发没有问题,但是您无法更改设置等。请关闭窗口并强制其完成。原因目前未知。从一开始使用OBS可能会更快。 https://github.com/schellingb/UnityCapture

头像

使用ThreeDPoseTracker,您可以切换和操作多个化身。可以通过从头像的下拉菜单中选择头像来更改它。在初始状态下,有两个样本,即unity-chan和yukihiko-chan(我的真实头像)。请不要以违反公共秩序和道德的方式使用它们。

添加头像

ThreeDPoseTracker可以添加VRM格式的头像。它主要基于VRoid Studio创建的VRM文件。首先,从下面下载示例Tait.vrm文件。 https://github.com/digital-standard/ThreeDPoseTracker/tree/master/Avatars

下载完成后,单击“添加头像”按钮。显示如下所示的对话框。单击“文件”按钮,然后选择您先前下载的Tait.vrm文件。可以保留其他项目(此屏幕上的项目与下一部分的“头像设置”屏幕相同,因此请参阅该屏幕)。单击“添加”按钮以关闭对话框,并等待一段时间以加载VRM文件并切换化身(这将需要一些时间)。新加载的头像已添加到下拉菜单的最后一行。此后,它将按添加顺序增加,但是如果添加太多,将需要一些时间才能开始。

头像设置

本节介绍可为头像设置的项目。

·         VRM文件 指定VRM文件所在的文件路径。“文件”按钮打开一个选择对话框。如果在启动时找不到该文件,则不会读取该文件。如果在应用程序运行时对其进行更改,它将反映在应用程序重新启动的地方。

·         头像名称 设置在头像下拉菜单中显示的名称。

·         默认位置 设置头像的显示位置。例如,如果要在视频中排列舞者和化身,请将X指定为0.8,它将看起来像化身和舞者。

·         深度比例 设置前后的移动比例。ThreeDPoseTracker不会告诉您人距相机有多远。深度的原点始终是髋关节位置和相对值(垂直和水平是图像坐标)。因此,判断是否以从高度计算的速率来回移动,无论其远近。幸运的是,可以获得3D距离,因此即使身体弯曲,也可以计算出大约的高度。当您跳舞或跳跃时,一个人的身体会伸展很多,但是那一面是粗糙的。。。前后移动不是简单的比率,而是当前的简单比率。您可以在此处更改比率。增大此值将在前后前后稍稍更改该值。

·         比例 显示化身的大小。尺寸越大,头像越大。

·         面部方向 校正化身的面部方向。在大多数情况下,您只需要微调y。如果输入一个负值,它应该向上转动,但不能正常工作。重新启动应用程序后,该设置将反映出来。

·         骨架 姿势估计AI结果以绿线(Skeleton)显示(严格地不仅限于AI结果)。切换显示/不显示。

·         默认位置 设置骨骼的显示位置。

·         比例 设置骨架的大小。

·         删除 从菜单中删除加载的头像。不能删除unity-chan和yukihiko-chan(下一发行版中可能不包含unity-chan)。

·         “确定”,“取消”和“应用” 对话框是半透明的,并且无需关闭“应用”按钮即可反映状态,因此您可以在检查时进行设置。使用“确定”和“应用”按钮保存设置。

保存动作

您可以通过单击菜单中的“记录BVH”按钮以BVH格式保存运动。但是仍然是测试实现。单击“记录BVH”按钮时,显示将变为“记录”,并开始记录。再次单击退出,将打开保存对话框。可以使用Blender等将运动文件读取为运动数据。

https://www.bilibili.com/video/BV1SA411n7Sh/

(有时我问是否要使用ThreeDPose保存运动,所以我尝试了一下(被问到时我一点也不知道)。我使用BVH工具将其带到Blender,但我想知道它是否可管理。代码有点简单。)

 

最后

最初,我只是将它作为一种业余爱好,所以我一直在尝试添加许多无用的功能,但是一旦我丢失了这些代码,并将它们放到了可以直接使用的应用程序中。由于存在很多错误,并且尚未确定应用程序的方向,因此它是v0.1.0的预发布版本。如果将其作为应用程序放在一起,则公司可能会发布正式版本。 顺便说一句,此应用程序的源位于以下存储库中(正在构建中)。根据Github上写的许可对代码进行许可。我还负责姿势估计,因此并非全部免费。如果要添加功能并将其用于商业目的,请购买许可证或申请工作。如果您确实要免费添加功能并将其用于商业用途,则将免费传递此应用程序版本,因此,如果您请求合并或提取请求,则可以将其添加到应用程序中并在以后发布(不能保证提供担保)。 )。

https://github.com/digital-standard/ThreeDPoseTracker

我将来可能会做的事情

·         向前和向后运动都太合适,因此请确保正确计算了运动

·         我想改善肘关节的弯曲度。这可能是不可能的

·         手腕的旋转仍然很奇怪。固定

·         我设法从左到右切换腿。我认为这可以通过逻辑来完成

·         妥善保存动作

·         全面的VMC协议支持。也许我不会这样做

·         Kaela根据主题的跟踪功能

·         估算过程太繁琐。如果可以改进,我想输出到OpenVR

·         其他附加功能(例如在后台显示电源背景)

https://www.bilibili.com/video/BV1SA411n7Sh/

(我使用姿势估计和化身制作了一个平台。我将为此做下一个LT(尽管我没有计划)。

 

这是一个类似LT的演示。在深夜LT独自一人。

有音频,是具有缩放录制功能的视频。)

执照

无论是否获利,都可以随意使用ThreeDPoseTracker的此可执行文件。使用此可执行文件的分发和运动数据也可以免费获得。 请遵循Github上的许可以获取Github上的源代码。

Unitychan 我们遵循团结灿许可条款。 Https://Unity-chan.Com/contents/license_jp/

免责声明

对于因使用本软件而造成的任何损害,对软件或硬件的其他损害,或因无法使用该软件而造成的损害,制造商概不负责。 ..



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3