问题标签 [pose]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 在屏幕中心的 AR 中创建锚点,并相对于相机将其移动近或远,就像 magicplan 一样
我想创建一个与magicplan 相同的应用程序,并想绘制与magicplan 相同的连续绿色垂直管道,该管道会随着相机的移动而远近。
我已经尝试过下面的代码,但它将节点保持在屏幕的中心。请帮助我如何实现这一目标。
trigonometry - 从posenet坐标计算躯干偏航
我想计算我的身体旋转的角度。我正在使用posenet来跟踪姿势。
因此,例如,如果我站直,它会给出 0 度,但如果我将躯干稍微向右倾斜,角度可能是 20 度或 30 度?我将如何计算这个?
任何指针或来源?我遇到的所有链接都是针对头部的,但没有一个是针对身体姿势的。
c - Intel realsense T265 姿势配置 C API
我正在尝试使用带有 T265 的 Intel realsense 创建一个简单的姿势数据应用程序。由于 C 示例数据库非常有限,我真的很难从这个 API 开始。
无论如何,这是我的代码:
这是我从控制台得到的:
有 2 个连接的 RealSense 设备。
使用设备 0,Intel RealSense T265 序列号:我的摄像头序列号 固件版本:0.2.0.951
调用 rs2_pipeline_start_with_config(pipe:00000000021 90DB0, config:0000000002190E30) 时引发 rs_error:未连接设备
我总是在 rs2_pipeline_start_with_config 函数中失败。我尝试了不同的配置参数,但结果是一样的。我还要提一下,我可以毫无问题地运行随 SDK 一起提供的 C++ 姿势示例。但我想让它使用 C 运行。
另外,我不知道为什么它可以识别两个具有相同序列号的相同设备,而只有一个 T265 连接到我的 PC。
javascript - Posenet P5.js 的视频输入(而不是网络摄像头)
我正在尝试创建一个网络程序,该程序使用 P5.js 和 ML5.js 中的 Posenet 使用身体的特定部分进行绘制。我已经成功创建了网络模型,该模型在设置中使用 createCapture(VIDEO) 使用实时摄像机源,如下所示
(完整的代码可以在https://glitch.com/edit/#!/makeyourmark-final看到)
但是,为了更容易测试,我想在本地使用本地视频,我尝试以这种方式实现它:
(完整的代码可以在https://glitch.com/edit/#!/makeyourmark-video看到)
该错误似乎是不相关的(例如“未捕获的类型错误:无法读取未定义的属性‘自动播放’”,当它已经在自动播放时)
有什么办法可以解决这个问题吗?任何见解/解决方案表示赞赏。
谢谢!
tensorflow - 检测完整的姿势图像
我从 tensorflow movenet Pose detection 得到这张照片,现在我想看看图像是否是完整的姿势。如您所见,该图像不是完整的姿势图像,因此我没有此图像。所以任何人都可以分享这个任务的代码。
python - 视觉里程计 - 旋转和平移问题
我试图通过从图像中提取特征并计算相机姿势来重建相机的轨迹,但是轨迹并不像我预期的那样。对于我的视觉里程计系统,我使用的是英特尔相机 D435i,它可以提取颜色和深度帧。我的代码是用 python 编写的,使用的所有重要函数都来自 OpenCV 库。
我正在使用一个数据集,其中相机只是简单地移动,因此我希望旋转是单位矩阵并且平移向前。但是,这不是我在计算它们时得到的原因。
这是我的方法:
- 读取彩色帧,将它们转换为灰度并应用 CLAHE 方法来减少光对比
- 使用 SIFT 从第 t 帧和第 t+1 帧中提取特征
- 使用 FLANN 匹配它们并应用 Lowe 比率检验过滤异常值
- 使用相机固有矩阵 (K) 和像素深度 (s)(从深度帧中获取)将特征的 2D 像素坐标 (u1p, v1p) 转换为 3D 世界坐标:
归一化:x_y_norm = (K^-1) * [u1p ,v1p, 1] 缩放:x_y_norm_s *= x_y_norm
之后我尝试了两种方法:PNP和基本矩阵
A) PNP: 4. 使用函数cv2.solvePNPRansac()得到旋转向量和平移向量。函数的输入是帧 t(对象点)的归一化和缩放的关键点和帧 t+1(图像点)的归一化关键点。然后使用函数cv2.Rodrigues()计算旋转矩阵
B) 基本矩阵: 4. 使用cv2.findEssentialMat()并将关键点的标准化 xy 坐标作为输入。通过检查奇异值来检查基本矩阵是否计算正确。使用cv2.recoverPose()来获得旋转和平移(这里我也使用了标准化的 xy 坐标作为输入)。
- 计算轨迹如下(假设第二个 camera_pose 是 [R|t] 并且第一个位姿是单位矩阵,如书中多视图几何中所述):
camera_pose[t+1] = pose[t] * pose[t+1]^-1 (通过将先前和当前位姿相乘来从初始位置获取位姿,如将相对相机旋转和平移与已知位姿相结合中所述)
position = pose[t+1] * [0,0,0,1](从原点计算的位置)
轨迹[:,t+1] = 位置[0:3]
我希望有人可以帮助我,因为我不知道我的错误在哪里,而且 PnP 方法和基本矩阵方法都不起作用。
编辑:对于这两种方法,我添加了从数据集的前 15 帧中获得的轨迹图片(在 ZX 和 XY 平面中)以及包含旋转矩阵和某些帧的平移向量的文本文件的提取. ZX-Plane 应显示在正方向上形成一条线的点,因为我的数据集仅显示相机直接移动的图像,但显示的是随机轨迹。绿点是旧相机姿势,红点是当前姿势。我还添加了一个在第一帧中提取的特征并与第二帧匹配的示例,它们看起来也不错。
mediapipe - PoseNet vs MediaPipe POSE - flipHorizontal: true - MediaPipe Pose 的类似代码
在 PoseNet 中,您可以使用 flipHorizontal: true 来翻转图像。MediaPipe Pose 中是否有类似的命令,是否有示例代码?
PoseNet 中的示例: const pose = await model.estimateSinglePose(video, { flipHorizontal: true, })
python - 相对相机位姿估计的错误结果
我试图估计两个图像之间相机姿势的差异。特别是我用同一个相机(已知的内在参数矩阵K)拍了两张照片。第二个是在绕 y 轴旋转 24 度、垂直于地板并沿 x 和 z 轴平移约 5 厘米后拍摄的。
在 python 中,我使用 SIFT 提取特征,然后应用 RANSAC 过滤内点。从内点开始,我使用 cv2.findEssentialMatrix 计算了基本矩阵,然后使用 cv2.decomposeEssentialMat 对其进行分解。它返回 2 个矩阵,但选择一个矩阵对我来说不是问题,因为我知道我正在寻找的那个是代表围绕 y 轴的主要旋转并且理论上不围绕其他两个轴旋转的那个。我遇到的第一个问题是,平均而言,算法相当不错,估计旋转 23-26 度,但有时结果差异太大,比如 30 或 10 度。这是由于选择了内点而发生的,但我尝试调整特征匹配器中的 Lowe 比率和 ransac 中的阈值,但没有任何改进。有没有办法改善这一点?
我遇到的另一个问题是翻译向量。从一方面来看,它没有假设预期值,我认为这与上面的部分有关。此外,相机兼作深度相机,因此我可以访问每个特征与相机平面的距离,我希望这可以用来从基本矩阵分解产生的单位向量传递到 3D 向量(例如以米为单位)。
我留下一些代码来帮助阅读。
我也搜索了这些函数的源代码,但没有找到。我希望有人能在这些问题上启发我,真的很感激。
google-mlkit - camera2 API Byte Buffer 输出上实时视频的姿势检测
我正在尝试在我的 camera2 API 输出上实现 ml 套件的姿势检测,但无法实现它。我已经从 ml kit 库制作了图形叠加类,但无法在输出上设置姿势。
python - 当我从动作中删除 python 生成的关键帧时,Blender 姿势(lib)会消失
我尝试让rain 2字符读取文本,使用某种带有文本的python lipsync,代码:
这行得通,但是当我手动删除“Face.Mouth.Talk.001”动作中的关键帧时,我的 lib 姿势会丢失那里的数据,它们不适用。我想要的是了解动作和姿势之间的关系(在网站上找不到解释,可能是因为我的英语不好)。为什么一开始姿势在起作用,没有关键帧,在被关键帧和关键帧删除后,它们消失了?姿势是否总是在某些隐藏帧中键入?