[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-karfly--learnable-triangulation-pytorch":3,"tool-karfly--learnable-triangulation-pytorch":62},[4,18,26,35,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,2,"2026-04-10T11:39:34",[14,15,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":32,"last_commit_at":41,"category_tags":42,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[43,13,15,14],"插件",{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[52,15,13,14],"语言模型",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,61],"视频",{"id":63,"github_repo":64,"name":65,"description_en":66,"description_zh":67,"ai_summary_zh":68,"readme_en":69,"readme_zh":70,"quickstart_zh":71,"use_case_zh":72,"hero_image_url":73,"owner_login":74,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":78,"owner_location":79,"owner_email":80,"owner_twitter":79,"owner_website":79,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":10,"env_os":91,"env_gpu":92,"env_ram":91,"env_deps":93,"category_tags":99,"github_topics":79,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":101,"updated_at":102,"faqs":103,"releases":143},6768,"karfly\u002Flearnable-triangulation-pytorch","learnable-triangulation-pytorch","This repository is an official PyTorch implementation of the paper \"Learnable Triangulation of Human Pose\" (ICCV 2019, oral). Proposed method archives state-of-the-art results in multi-view 3D human pose estimation!","learnable-triangulation-pytorch 是一个基于 PyTorch 的开源项目，旨在解决多视角下的 3D 人体姿态估计难题。它复现了 ICCV 2019 口头报告论文《Learnable Triangulation of Human Pose》中的核心算法，通过在多个摄像头视图间进行智能三角测量，将 2D 关键点检测提升至高精度的 3D 空间坐标重建。\n\n该工具主要攻克了传统几何三角测量方法在噪声干扰下精度不足的痛点。其独特技术亮点在于提出了两种创新的“可学习三角测量”方法：代数法（Algebraic）和体积法（Volumetric）。这两种方法能够将三角测量过程融入神经网络进行端到端训练，从而在 Human3.6M 等基准数据集上取得了超越以往最先进水平的效果。\n\n该项目非常适合计算机视觉领域的研究人员、算法工程师以及高校开发者使用。对于希望深入探索多视角几何深度学习、复现顶会论文成果或构建高精度动作捕捉系统的团队来说，这是一个极具价值的参考实现。项目依赖简单，提供了完整的预训练模型、配置文件及数据预处理指南，支持用户快速上手实验与二次开发。虽然目前主要支持 ","learnable-triangulation-pytorch 是一个基于 PyTorch 的开源项目，旨在解决多视角下的 3D 人体姿态估计难题。它复现了 ICCV 2019 口头报告论文《Learnable Triangulation of Human Pose》中的核心算法，通过在多个摄像头视图间进行智能三角测量，将 2D 关键点检测提升至高精度的 3D 空间坐标重建。\n\n该工具主要攻克了传统几何三角测量方法在噪声干扰下精度不足的痛点。其独特技术亮点在于提出了两种创新的“可学习三角测量”方法：代数法（Algebraic）和体积法（Volumetric）。这两种方法能够将三角测量过程融入神经网络进行端到端训练，从而在 Human3.6M 等基准数据集上取得了超越以往最先进水平的效果。\n\n该项目非常适合计算机视觉领域的研究人员、算法工程师以及高校开发者使用。对于希望深入探索多视角几何深度学习、复现顶会论文成果或构建高精度动作捕捉系统的团队来说，这是一个极具价值的参考实现。项目依赖简单，提供了完整的预训练模型、配置文件及数据预处理指南，支持用户快速上手实验与二次开发。虽然目前主要支持 Human3.6M 数据集，但其架构设计为后续扩展其他多视角场景奠定了坚实基础。","[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002F190505754\u002F3d-human-pose-estimation-on-human36m)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002F3d-human-pose-estimation-on-human36m?p=190505754)\n\n# Learnable Triangulation of Human Pose\nThis repository is an official PyTorch implementation of the paper [\"Learnable Triangulation of Human Pose\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F1905.05754) (ICCV 2019, oral). Here we tackle the problem of 3D human pose estimation from multiple cameras. We present 2 novel methods — Algebraic and Volumetric learnable triangulation — that **outperform** previous state of the art.\n\nIf you find a bug, have a question or know to improve the code - please open an issue!\n\n:arrow_forward: [ICCV 2019 talk](https:\u002F\u002Fyoutu.be\u002Fzem03fZWLrQ?t=3477)\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"http:\u002F\u002Fwww.youtube.com\u002Fwatch?v=z3f3aPSuhqg\">\n    \u003Cimg width=680 src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkarfly_learnable-triangulation-pytorch_readme_1376cdff7c25.jpg\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n# How to use\nThis project doesn't have any special or difficult-to-install dependencies. All installation can be done with:\n```bash\npip install -r requirements.txt\n```\n\n## Data\nSorry, only [Human3.6M](http:\u002F\u002Fvision.imar.ro\u002Fhuman3.6m\u002Fdescription.php) dataset training\u002Fevaluation is available right now. We cannot add [CMU Panoptic](http:\u002F\u002Fdomedb.perception.cs.cmu.edu\u002F), sorry for that.\n\n#### Human3.6M\n1. Download and preprocess the dataset by following the instructions in [mvn\u002Fdatasets\u002Fhuman36m_preprocessing\u002FREADME.md](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fblob\u002Fmaster\u002Fmvn\u002Fdatasets\u002Fhuman36m_preprocessing\u002FREADME.md).\n2. Download pretrained backbone's weights from [here](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002Fhv-uH_7TY0ONpg) and place them here: `.\u002Fdata\u002Fpretrained\u002Fhuman36m\u002Fpose_resnet_4.5_pixels_human36m.pth` (ResNet-152 trained on COCO dataset and finetuned jointly on MPII and Human3.6M).\n3. If you want to train Volumetric model, you need rough estimations of the pelvis' 3D positions both for train and val splits. In the paper we estimate them using the Algebraic model. You can use the [pretrained](#model-zoo) Algebraic model to produce predictions or just take [precalculated 3D skeletons](#model-zoo).\n\n## Model zoo\nIn this section we collect pretrained models and configs. All **pretrained weights** and **precalculated 3D skeletons** can be downloaded at once [from here](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002FjbsyN8XVzD-Y7Q) and placed to `.\u002Fdata\u002Fpretrained`, so that eval configs can work out-of-the-box (without additional setting of paths). Alternatively, the table below provides separate links to those files.\n\n**Human3.6M:**\n\n| Model                | Train config                                                                                                                                                  | Eval config                                                                                                                                                 | Weights                                                                                    | Precalculated results                                                                                                                                  | MPJPE (relative to pelvis), mm |\n|----------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------:|-------------------------------:|\n| Algebraic            |         [train\u002Fhuman36m_alg.yaml](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fblob\u002Fmaster\u002Fexperiments\u002Fhuman36m\u002Ftrain\u002Fhuman36m_alg.yaml)         |         [eval\u002Fhuman36m_alg.yaml](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fblob\u002Fmaster\u002Fexperiments\u002Fhuman36m\u002Feval\u002Fhuman36m_alg.yaml)         | [link](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002F3TJMKaa6iKaymw) | [train](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002F2Gwk7JZ_QWpFvw), [val](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002FZsQ4GV5EX_Wsog)  | 22.5                           |\n| Volumetric (softmax) | [train\u002Fhuman36m_vol_softmax.yaml](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fblob\u002Fmaster\u002Fexperiments\u002Fhuman36m\u002Ftrain\u002Fhuman36m_vol_softmax.yaml) | [eval\u002Fhuman36m_vol_softmax.yaml](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fblob\u002Fmaster\u002Fexperiments\u002Fhuman36m\u002Feval\u002Fhuman36m_vol_softmax.yaml) | [link](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002FMvD3orcBc6wqRA) |                                               —                                                                                                        | **20.4**                       |\n\n## Train\nEvery experiment is defined by `.config` files. Configs with experiments from the paper can be found in the `.\u002Fexperiments` directory (see [model zoo](#model-zoo)).\n\n#### Single-GPU\nTo train a Volumetric model with softmax aggregation using **1 GPU**, run:\n```bash\npython3 train.py \\\n  --config experiments\u002Fhuman36m\u002Ftrain\u002Fhuman36m_vol_softmax.yaml \\\n  --logdir .\u002Flogs\n```\n\nThe training will start with the config file specified by `--config`, and logs (including tensorboard files) will be stored in `--logdir`.\n\n#### Multi-GPU (*in testing*)\nMulti-GPU training is implemented with PyTorch's [DistributedDataParallel](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Fnn.html#distributeddataparallel). It can be used both for single-machine and multi-machine (cluster) training. To run the processes use the PyTorch [launch utility](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch\u002Fblob\u002Fmaster\u002Ftorch\u002Fdistributed\u002Flaunch.py).\n\nTo train a Volumetric model with softmax aggregation using **2 GPUs on single machine**, run:\n```bash\npython3 -m torch.distributed.launch --nproc_per_node=2 --master_port=2345 \\\n  train.py  \\\n  --config experiments\u002Fhuman36m\u002Ftrain\u002Fhuman36m_vol_softmax.yaml \\\n  --logdir .\u002Flogs\n```\n\n## Tensorboard\nTo watch your experiments' progress, run tensorboard:\n```bash\ntensorboard --logdir .\u002Flogs\n```\n\n## Evaluation\nAfter training, you can evaluate the model. Inside the same config file, add path to the learned weights (they are dumped to `logs` dir during training):\n```yaml\nmodel:\n    init_weights: true\n    checkpoint: {PATH_TO_WEIGHTS}\n```\n\nAlso, you can change other config parameters like `retain_every_n_frames_test`.\n\nRun:\n```bash\npython3 train.py \\\n  --eval --eval_dataset val \\\n  --config experiments\u002Fhuman36m\u002Feval\u002Fhuman36m_vol_softmax.yaml \\\n  --logdir .\u002Flogs\n```\nArgument `--eval_dataset` can be `val` or `train`. Results can be seen in `logs` directory or in the tensorboard.\n\n# Results\n* We conduct experiments on two available large multi-view datasets: Human3.6M [\\[2\\]](#references) and CMU Panoptic [\\[3\\]](#references).\n* The main metric is **MPJPE** (Mean Per Joint Position Error) which is L2 distance averaged over all joints.\n\n## Human3.6M\n* We significantly improved upon the previous state of the art (error is measured relative to pelvis, without alignment).\n* Our best model reaches **17.7 mm** error in absolute coordinates, which was unattainable before.\n* Our Volumetric model is able to estimate 3D human pose using **any number of cameras**, even using **only 1 camera**. In single-view setup, we get results comparable to current state of the art [\\[6\\]](#references) (49.9 mm vs. 49.6 mm).\n\n\u003Cbr>\nMPJPE relative to pelvis:\n\n|                             \t|  MPJPE (averaged across all actions), mm\t|\n|-----------------------------\t|:--------:\t|\n| Multi-View Martinez [\\[4\\]](#references)          |   57.0   \t|\n| Pavlakos et al. [\\[8\\]](#references)   \t          |   56.9   \t|\n| Tome et al. [\\[4\\]](#references)                 \t|   52.8   \t|\n| Kadkhodamohammadi & Padoy [\\[5\\]](#references)   \t|   49.1   \t|\n| [Qiu et al.](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fmultiview-human-pose-estimation-pytorch) [\\[9\\]](#references)   \t|   26.2   \t|\n| RANSAC (our implementation) \t|   27.4   \t|\n| **Ours, algebraic**          \t|   22.4   \t|\n| **Ours, volumetric**         \t| **20.5** \t|\n\n\u003Cbr>\nMPJPE absolute (scenes with invalid ground-truth annotations are excluded):\n\n|                             \t|  MPJPE (averaged across all actions), mm \t|\n|-----------------------------\t|:--------:\t|\n| RANSAC (our implementation) \t|   22.8   \t|\n| **Ours, algebraic**          \t|   19.2   \t|\n| **Ours, volumetric**         \t| **17.7** \t|\n\n\u003Cbr>\nMPJPE relative to pelvis (single-view methods):\n\n|                             \t| MPJPE (averaged across all actions), mm \t|\n|-----------------------------\t|:-----------------------------------:\t|\n| Martinez et al. [\\[7\\]](#references)                  \t|                 62.9               \t|\n| Sun et al. [\\[6\\]](#references)                  \t|                 **49.6**                \t|\n| **Ours, volumetric single view** \t|                 **49.9**                \t|\n\n\n## CMU Panoptic\n* Our best model reaches **13.7 mm** error in absolute coordinates for 4 cameras\n* We managed to get much smoother and more accurate 3D pose annotations compared to dataset annotations (see [video demonstration](http:\u002F\u002Fwww.youtube.com\u002Fwatch?v=z3f3aPSuhqg))\n\n\u003Cbr>\nMPJPE relative to pelvis [4 cameras]:\n\n|                             \t|  MPJPE, mm \t|\n|-----------------------------\t|:--------:\t|\n| RANSAC (our implementation) \t|   39.5   \t|\n| **Ours, algebraic**          \t|   21.3   \t|\n| **Ours, volumetric**         \t| **13.7** \t|\n\n# Method overview\nWe present 2 novel methods of learnable triangulation: Algebraic and Volumetric.\n\n## Algebraic\n![algebraic-model](docs\u002Falgebraic-model.svg)\n\nOur first method is based on Algebraic triangulation. It is similar to the previous approaches, but differs in 2 critical aspects:\n1. It is **fully differentiable**. To achieve this, we use soft-argmax aggregation and triangulate keypoints via a differentiable SVD.\n2. The neural network additionally predicts **scalar confidences for each joint**, passed to the triangulation module, which successfully deals with outliers and occluded joints.\n\nFor the most popular Human3.6M dataset, this method already dramatically reduces error by **2.2 times (!)**, compared to the previous art.\n\n\n## Volumetric\n![volumetric-model](docs\u002Fvolumetric-model.svg)\n\nIn Volumetric triangulation model, intermediate 2D feature maps are densely unprojected to the volumetric cube and then processed with a 3D-convolutional neural network. Unprojection operation allows **dense aggregation from multiple views** and the 3D-convolutional neural network is able to model **implicit human pose prior**.\n\nVolumetric triangulation additionally improves accuracy, drastically reducing the previous state-of-the-art error by **2.4 times!** Even compared to the best parallelly developed [method](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fmultiview-human-pose-estimation-pytorch) by MSRA group, our method still offers significantly lower error of **21 mm**.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkarfly_learnable-triangulation-pytorch_readme_96d31962c712.gif\">\n\u003C\u002Fp>\n\n\n# Cite us!\n```bibtex\n@inproceedings{iskakov2019learnable,\n  title={Learnable Triangulation of Human Pose},\n  author={Iskakov, Karim and Burkov, Egor and Lempitsky, Victor and Malkov, Yury},\n  booktitle = {International Conference on Computer Vision (ICCV)},\n  year={2019}\n}\n```\n\n# Contributors\n - [Karim Iskakov](https:\u002F\u002Fgithub.com\u002Fkarfly)\n - [Egor Burkov](https:\u002F\u002Fgithub.com\u002Fshrubb)\n - [Victor Lempitsky](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=gYYVokYAAAAJ&hl=ru)\n - [Yury Malkov](https:\u002F\u002Fgithub.com\u002Fyurymalkov)\n - [Rasul Kerimov](https:\u002F\u002Fgithub.com\u002Frrkarim)\n - [Ivan Bulygin](https:\u002F\u002Fgithub.com\u002Fblufzzz)\n\n# News\n- **26 Nov 2019:** Updataed [precalculated results](#model-zoo) (see [this issue](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fissues\u002F37)).\n- **18 Oct 2019:** Pretrained models (algebraic and volumetric) for Human3.6M are released.\n- **8 Oct 2019:** Code is released!\n\n# References\n* [\\[1\\]](#references) R. Hartley and A. Zisserman. **Multiple view geometry in computer vision**.\n* [\\[2\\]](#references) C. Ionescu, D. Papava, V. Olaru, and C. Sminchisescu. **Human3.6m: Large scale datasets and predictive methods for 3d human sensing in natural environments**.\n* [\\[3\\]](#references) H. Joo, T. Simon, X. Li, H. Liu, L. Tan, L. Gui, S. Banerjee, T.  S. Godisart, B. Nabbe, I. Matthews, T. Kanade,S. Nobuhara, and Y. Sheikh. **Panoptic studio: A massively multiview system for social interaction capture**.\n* [\\[4\\]](#references) D. Tome, M. Toso, L. Agapito, and C. Russell.  **Rethinking Pose in 3D: Multi-stage Refinement and Recovery for Markerless Motion Capture**.\n* [\\[5\\]](#references) A. Kadkhodamohammadi and N. Padoy. **A generalizable approach for multi-view 3D human pose regression**.\n* [\\[6\\]](#references) X. Sun, B. Xiao, S. Liang, and Y. Wei. **Integral human pose regression**.\n* [\\[7\\]](#references) J. Martinez, R. Hossain, J. Romero, and J. J. Little. **A simple yet effective baseline for 3d human pose estimation**.\n* [\\[8\\]](#references) G. Pavlakos, X. Zhou, K. G. Derpanis, and  K. Daniilidis. **Harvesting multiple views for marker-less 3D human pose annotations**.\n* [\\[9\\]](#references) H. Qiu, C. Wang, J. Wang, N. Wang and W. Zeng. (2019). **Cross View Fusion for 3D Human Pose Estimation**, [GitHub](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fmultiview-human-pose-estimation-pytorch)\n","[![PWC](https:\u002F\u002Fimg.shields.io\u002Fendpoint.svg?url=https:\u002F\u002Fpaperswithcode.com\u002Fbadge\u002F190505754\u002F3d-human-pose-estimation-on-human36m)](https:\u002F\u002Fpaperswithcode.com\u002Fsota\u002F3d-human-pose-estimation-on-human36m?p=190505754)\n\n# 可学习的人体姿态三角测量\n本仓库是论文《可学习的人体姿态三角测量》（ICCV 2019，口头报告）的官方 PyTorch 实现。我们在此解决从多摄像头进行三维人体姿态估计的问题。我们提出了两种新颖的方法——代数式和体积式可学习三角测量——它们**优于**现有的最先进方法。\n\n如果您发现任何错误、有疑问或知道如何改进代码，请随时提交 issue！\n\n:arrow_forward: [ICCV 2019 演讲](https:\u002F\u002Fyoutu.be\u002Fzem03fZWLrQ?t=3477)\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"http:\u002F\u002Fwww.youtube.com\u002Fwatch?v=z3f3aPSuhqg\">\n    \u003Cimg width=680 src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkarfly_learnable-triangulation-pytorch_readme_1376cdff7c25.jpg\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n# 使用方法\n该项目没有任何特殊或难以安装的依赖。只需运行以下命令即可完成所有安装：\n```bash\npip install -r requirements.txt\n```\n\n## 数据\n抱歉，目前仅支持 [Human3.6M](http:\u002F\u002Fvision.imar.ro\u002Fhuman3.6m\u002Fdescription.php) 数据集的训练和评估。我们暂时无法添加 [CMU Panoptic](http:\u002F\u002Fdomedb.perception.cs.cmu.edu\u002F) 数据集，敬请谅解。\n\n#### Human3.6M\n1. 按照 [mvn\u002Fdatasets\u002Fhuman36m_preprocessing\u002FREADME.md](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fblob\u002Fmaster\u002Fmvn\u002Fdatasets\u002Fhuman36m_preprocessing\u002FREADME.md) 中的说明下载并预处理数据集。\n2. 从 [这里](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002Fhv-uH_7TY0ONpg) 下载预训练主干网络的权重，并将其放置到 `.\u002Fdata\u002Fpretrained\u002Fhuman36m\u002Fpose_resnet_4.5_pixels_human36m.pth`（在 COCO 数据集上训练并在 MPII 和 Human3.6M 上联合微调的 ResNet-152）。\n3. 如果您想训练体积模型，需要为训练集和验证集提供骨盆的粗略三维位置估计。在论文中，我们使用代数模型来估计这些位置。您可以使用 [预训练的](#model-zoo) 代数模型生成预测结果，或者直接使用 [预先计算好的三维骨架](#model-zoo)。\n\n## 模型库\n本节收集了预训练模型和配置文件。所有 **预训练权重** 和 **预先计算的三维骨架** 都可以一次性从 [这里](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002FjbsyN8XVzD-Y7Q) 下载，并放置到 `.\u002Fdata\u002Fpretrained` 目录下，这样评估配置就可以开箱即用，无需额外设置路径。当然，您也可以通过下方表格中的单独链接获取这些文件。\n\n**Human3.6M：**\n\n| 模型                | 训练配置                                                                                                                                                  | 评估配置                                                                                                                                                 | 权重                                                                                    | 预先计算的结果                                                                                                                                  | MPJPE（相对于骨盆），mm |\n|----------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------:|-------------------------------:|\n| 代数式            |         [train\u002Fhuman36m_alg.yaml](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fblob\u002Fmaster\u002Fexperiments\u002Fhuman36m\u002Ftrain\u002Fhuman36m_alg.yaml)         |         [eval\u002Fhuman36m_alg.yaml](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fblob\u002Fmaster\u002Fexperiments\u002Fhuman36m\u002Feval\u002Fhuman36m_alg.yaml)         | [链接](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002F3TJMKaa6iKaymw) | [训练](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002F2Gwk7JZ_QWpFvw), [验证](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002FZsQ4GV5EX_Wsog)  | 22.5                           |\n| 体积式（softmax） | [train\u002Fhuman36m_vol_softmax.yaml](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fblob\u002Fmaster\u002Fexperiments\u002Fhuman36m\u002Ftrain\u002Fhuman36m_vol_softmax.yaml) | [eval\u002Fhuman36m_vol_softmax.yaml](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fblob\u002Fmaster\u002Fexperiments\u002Fhuman36m\u002Feval\u002Fhuman36m_vol_softmax.yaml) | [链接](https:\u002F\u002Fdisk.yandex.ru\u002Fd\u002FMvD3orcBc6wqRA) |                                               —                                                                                                        | **20.4**                       |\n\n## 训练\n每个实验都由 `.config` 文件定义。论文中实验的配置文件位于 `.\u002Fexperiments` 目录下（参见 [模型库](#model-zoo)）。\n\n#### 单 GPU\n要使用 **1 个 GPU** 训练带有 softmax 聚合的体积模型，请运行：\n```bash\npython3 train.py \\\n  --config experiments\u002Fhuman36m\u002Ftrain\u002Fhuman36m_vol_softmax.yaml \\\n  --logdir .\u002Flogs\n```\n\n训练将按照 `--config` 指定的配置文件开始，日志（包括 TensorBoard 文件）将存储在 `--logdir` 目录中。\n\n#### 多 GPU（测试中）\n多 GPU 训练是通过 PyTorch 的 [DistributedDataParallel](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Fnn.html#distributeddataparallel) 实现的。它既可用于单机训练，也可用于多机（集群）训练。要启动这些进程，请使用 PyTorch 的 [launch 工具](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch\u002Fblob\u002Fmaster\u002Ftorch\u002Fdistributed\u002Flaunch.py)。\n\n要在 **单机上使用 2 个 GPU** 训练带有 softmax 聚合的体积模型，请运行：\n```bash\npython3 -m torch.distributed.launch --nproc_per_node=2 --master_port=2345 \\\n  train.py  \\\n  --config experiments\u002Fhuman36m\u002Ftrain\u002Fhuman36m_vol_softmax.yaml \\\n  --logdir .\u002Flogs\n```\n\n## TensorBoard\n要查看实验进度，请运行 TensorBoard：\n```bash\ntensorboard --logdir .\u002Flogs\n```\n\n## 评估\n训练完成后，您可以对模型进行评估。在相同的配置文件中，添加已学习权重的路径（这些权重会在训练过程中保存到 `logs` 目录）：\n```yaml\nmodel:\n    init_weights: true\n    checkpoint: {PATH_TO_WEIGHTS}\n```\n\n此外，您还可以调整其他配置参数，例如 `retain_every_n_frames_test`。\n\n运行：\n```bash\npython3 train.py \\\n  --eval --eval_dataset val \\\n  --config experiments\u002Fhuman36m\u002Feval\u002Fhuman36m_vol_softmax.yaml \\\n  --logdir .\u002Flogs\n```\n`--eval_dataset` 参数可以设置为 `val` 或 `train`。评估结果可以在 `logs` 目录或 TensorBoard 中查看。\n\n# 结果\n* 我们在两个可用的大型多视角数据集上进行了实验：Human3.6M [\\[2\\]](#references) 和 CMU Panoptic [\\[3\\]](#references)。\n* 主要指标是 **MPJPE**（平均关节位置误差），即所有关节上的 L2 距离的平均值。\n\n## Human3.6M\n* 我们显著超越了之前的最先进水平（误差以骨盆为参考，未进行对齐）。\n* 我们的最佳模型在绝对坐标下的误差达到了 **17.7 mm**，这是此前无法达到的。\n* 我们的体积模型能够使用 **任意数量的摄像头** 来估计 3D 人体姿态，甚至仅使用 **1 台摄像头** 也能实现。在单视角设置下，我们的结果与当前最先进的方法 [\\[6\\]](#references) 相当（49.9 mm vs. 49.6 mm）。\n\n\u003Cbr>\n以骨盆为参考的 MPJPE：\n\n|                             \t|  MPJPE（所有动作平均），mm\t|\n|-----------------------------\t|:--------:\t|\n| 多视角 Martinez [\\[4\\]](#references)          |   57.0   \t|\n| Pavlakos 等人 [\\[8\\]](#references)   \t          |   56.9   \t|\n| Tome 等人 [\\[4\\]](#references)                 \t|   52.8   \t|\n| Kadkhodamohammadi & Padoy [\\[5\\]](#references)   \t|   49.1   \t|\n| [Qiu 等人](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fmultiview-human-pose-estimation-pytorch) [\\[9\\]](#references)   \t|   26.2   \t|\n| RANSAC（我们的实现） \t|   27.4   \t|\n| **我们，代数法**          \t|   22.4   \t|\n| **我们，体积法**         \t| **20.5** \t|\n\n\u003Cbr>\n绝对坐标下的 MPJPE（排除了地面真值标注无效的场景）：\n\n|                             \t|  MPJPE（所有动作平均），mm \t|\n|-----------------------------\t|:--------:\t|\n| RANSAC（我们的实现） \t|   22.8   \t|\n| **我们，代数法**          \t|   19.2   \t|\n| **我们，体积法**         \t| **17.7** \t|\n\n\u003Cbr>\n以骨盆为参考的 MPJPE（单视角方法）：\n\n|                             \t| MPJPE（所有动作平均），mm \t|\n|-----------------------------\t|:-----------------------------------:\t|\n| Martinez 等人 [\\[7\\]](#references)                  \t|                 62.9               \t|\n| Sun 等人 [\\[6\\]](#references)                  \t|                 **49.6**                \t|\n| **我们，体积法单视角** \t|                 **49.9**                \t|\n\n## CMU Panoptic\n* 我们的最佳模型在 4 台摄像机的情况下，绝对坐标的误差达到了 **13.7 mm**。\n* 与数据集原版标注相比，我们成功获得了更加平滑和精确的 3D 姿态标注（详见 [视频演示](http:\u002F\u002Fwww.youtube.com\u002Fwatch?v=z3f3aPSuhqg)）。\n\n\u003Cbr>\n以骨盆为参考的 MPJPE [4 台摄像机]：\n\n|                             \t|  MPJPE，mm \t|\n|-----------------------------\t|:--------:\t|\n| RANSAC（我们的实现） \t|   39.5   \t|\n| **我们，代数法**          \t|   21.3   \t|\n| **我们，体积法**         \t| **13.7** \t|\n\n# 方法概述\n我们提出了两种新颖的可学习三角测量方法：代数法和体积法。\n\n## 代数法\n![algebraic-model](docs\u002Falgebraic-model.svg)\n\n我们的第一种方法基于代数三角测量。它与先前的方法类似，但在两个关键方面有所不同：\n1. 它是 **完全可微分的**。为此，我们使用软最大聚合，并通过可微分的奇异值分解来三角测量关键点。\n2. 神经网络还会额外预测 **每个关节的标量置信度**，并将其传递给三角测量模块，从而有效处理异常值和被遮挡的关节。\n\n对于最流行的 Human3.6M 数据集，这种方法已经将误差大幅降低了 **2.2 倍（！）**，相比之前的技术有了显著提升。\n\n## 体积法\n![volumetric-model](docs\u002Fvolumetric-model.svg)\n\n在体积三角测量模型中，中间的 2D 特征图会被密集地反投影到体积立方体中，然后由 3D 卷积神经网络进行处理。反投影操作允许 **来自多个视角的密集聚合**，而 3D 卷积神经网络则能够建模 **隐式的 3D 人体姿态先验**。\n\n体积三角测量进一步提升了精度，将之前的最先进误差大幅降低了 **2.4 倍！** 即使与 MSRA 团队同期开发的最佳方法 [\\[6\\]](#references) 相比，我们的方法仍然提供了显著更低的误差，仅为 **21 mm**。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkarfly_learnable-triangulation-pytorch_readme_96d31962c712.gif\">\n\u003C\u002Fp>\n\n\n# 引用我们！\n```bibtex\n@inproceedings{iskakov2019learnable,\n  title={Learnable Triangulation of Human Pose},\n  author={Iskakov, Karim and Burkov, Egor and Lempitsky, Victor and Malkov, Yury},\n  booktitle = {International Conference on Computer Vision (ICCV)},\n  year={2019}\n}\n```\n\n# 贡献者\n - [Karim Iskakov](https:\u002F\u002Fgithub.com\u002Fkarfly)\n - [Egor Burkov](https:\u002F\u002Fgithub.com\u002Fshrubb)\n - [Victor Lempitsky](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=gYYVokYAAAAJ&hl=ru)\n - [Yury Malkov](https:\u002F\u002Fgithub.com\u002Fyurymalkov)\n - [Rasul Kerimov](https:\u002F\u002Fgithub.com\u002Frrkarim)\n - [Ivan Bulygin](https:\u002F\u002Fgithub.com\u002Fblufzzz)\n\n# 新闻\n- **2019年11月26日：** 更新了 [预计算结果](#model-zoo)（参见 [此问题](https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fissues\u002F37)）。\n- **2019年10月18日：** 发布了 Human3.6M 的预训练模型（代数法和体积法）。\n- **2019年10月8日：** 代码正式发布！\n\n# 参考文献\n* [\\[1\\]](#references) R. Hartley 和 A. Zisserman. **计算机视觉中的多视图几何**。\n* [\\[2\\]](#references) C. Ionescu、D. Papava、V. Olaru 和 C. Sminchisescu. **Human3.6m：用于自然环境中 3D 人体感知的大规模数据集及预测方法**。\n* [\\[3\\]](#references) H. Joo、T. Simon、X. Li、H. Liu、L. Tan、L. Gui、S. Banerjee、T. S. Godisart、B. Nabbe、I. Matthews、T. Kanade、S. Nobuhara 和 Y. Sheikh. **Panoptic 工作室：用于社交互动捕捉的超大规模多视角系统**。\n* [\\[4\\]](#references) D. Tome、M. Toso、L. Agapito 和 C. Russell. **重新思考 3D 姿态：无标记运动捕捉的多阶段细化与恢复**。\n* [\\[5\\]](#references) A. Kadkhodamohammadi 和 N. Padoy. **一种可推广的多视角 3D 人体姿态回归方法**。\n* [\\[6\\]](#references) X. Sun、B. Xiao、S. Liang 和 Y. Wei. **整体人体姿态回归**。\n* [\\[7\\]](#references) J. Martinez、R. Hossain、J. Romero 和 J. J. Little. **一种简单而有效的 3D 人体姿态估计基线**。\n* [\\[8\\]](#references) G. Pavlakos、X. Zhou、K. G. Derpanis 和 K. Daniilidis. **利用多视角获取无标记 3D 人体姿态标注**。\n* [\\[9\\]](#references) H. Qiu、C. Wang、J. Wang、N. Wang 和 W. Zeng. （2019）。**跨视角融合用于 3D 人体姿态估计**，[GitHub](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fmultiview-human-pose-estimation-pytorch)","# learnable-triangulation-pytorch 快速上手指南\n\n本项目是 ICCV 2019 论文《Learnable Triangulation of Human Pose》的官方 PyTorch 实现，主要用于从多视角摄像头数据中进行高精度的人体 3D 姿态估计。\n\n## 环境准备\n\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **Python**: Python 3.6+\n*   **深度学习框架**: PyTorch (需支持 CUDA)\n*   **其他依赖**: 项目无特殊难安装的依赖，主要通过 `pip` 管理。\n\n> **提示**：国内用户建议使用清华或阿里镜像源加速 PyTorch 及 pip 包的安装。\n\n## 安装步骤\n\n1.  **克隆仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch.git\n    cd learnable-triangulation-pytorch\n    ```\n\n2.  **安装依赖**\n    使用 pip 安装所需库（国内用户可添加 `-i` 参数指定镜像源）：\n    ```bash\n    pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n3.  **准备数据与预训练权重 (以 Human3.6M 为例)**\n    *   **数据集**: 目前仅支持 Human3.6M。请参照 `mvn\u002Fdatasets\u002Fhuman36m_preprocessing\u002FREADME.md` 下载并预处理数据。\n    *   **骨干网络权重**: 下载预训练的 ResNet-152 权重，并放置于 `.\u002Fdata\u002Fpretrained\u002Fhuman36m\u002Fpose_resnet_4.5_pixels_human36m.pth`。\n    *   **模型权重**: 若直接评估，可从 [Model Zoo](#model-zoo) 下载预训练模型放入 `.\u002Fdata\u002Fpretrained` 目录。\n\n## 基本使用\n\n### 1. 训练模型 (单卡)\n\n以下命令演示如何使用 **Volumetric (Softmax)** 方法在单张 GPU 上进行训练：\n\n```bash\npython3 train.py \\\n  --config experiments\u002Fhuman36m\u002Ftrain\u002Fhuman36m_vol_softmax.yaml \\\n  --logdir .\u002Flogs\n```\n\n*   `--config`: 指定实验配置文件。\n*   `--logdir`: 指定日志和检查点保存路径。\n\n### 2. 多卡训练 (可选)\n\n若需使用多张 GPU（例如 2 张），请使用 PyTorch 分布式启动工具：\n\n```bash\npython3 -m torch.distributed.launch --nproc_per_node=2 --master_port=2345 \\\n  train.py  \\\n  --config experiments\u002Fhuman36m\u002Ftrain\u002Fhuman36m_vol_softmax.yaml \\\n  --logdir .\u002Flogs\n```\n\n### 3. 模型评估\n\n训练完成后，修改配置文件中的权重路径，或直接运行评估命令：\n\n```bash\npython3 train.py \\\n  --eval --eval_dataset val \\\n  --config experiments\u002Fhuman36m\u002Feval\u002Fhuman36m_vol_softmax.yaml \\\n  --logdir .\u002Flogs\n```\n\n*   `--eval_dataset`: 可设为 `val` (验证集) 或 `train` (训练集)。\n*   结果将输出至日志目录或通过 TensorBoard 查看。\n\n### 4. 查看训练进度\n\n使用 TensorBoard 可视化损失曲线和评估指标：\n\n```bash\ntensorboard --logdir .\u002Flogs\n```\n\n然后在浏览器中访问显示的地址（通常为 `http:\u002F\u002Flocalhost:6006`）。","某智能体育分析团队正在开发一套基于多机位视频的职业运动员动作捕捉系统，旨在从多个摄像机视角重建高精度的 3D 人体骨骼数据以辅助训练。\n\n### 没有 learnable-triangulation-pytorch 时\n- **重建精度受限**：传统几何三角测量法对相机标定误差极其敏感，导致生成的 3D 关节点在快速运动中出现明显抖动或漂移。\n- **遮挡处理乏力**：当运动员身体部分被遮挡时，旧算法难以利用多视图间的上下文信息进行合理推断，常造成骨骼断裂或关键点丢失。\n- **调优成本高昂**：为了提升效果，工程师需手动设计复杂的滤波规则和启发式权重，耗费大量时间却难以突破精度瓶颈。\n- **无法达到业界标杆**：在 Human3.6M 等标准数据集上的测试结果显示，现有方案误差较大，无法满足专业级生物力学分析的需求。\n\n### 使用 learnable-triangulation-pytorch 后\n- **精度显著提升**：利用其提出的“代数”与“体积”可学习三角测量方法，自动优化多视图融合权重，将平均关节位置误差（MPJPE）降至行业领先水平。\n- **鲁棒性大幅增强**：模型能端到端地学习如何处理遮挡和噪声，即使在部分摄像头视野受阻时，也能输出平滑、连贯的 3D 动作序列。\n- **开发流程简化**：直接加载预训练的 ResNet 骨干网络权重即可在 Human3.6M 数据集上复现 SOTA 结果，无需手动编写繁琐的后处理逻辑。\n- **学术成果落地**：轻松复用 ICCV 2019 口头报告论文中的先进架构，让团队迅速具备国际一流的 3D 姿态估计能力。\n\nlearnable-triangulation-pytorch 通过将传统的几何三角测量转化为可学习的神经网络模块，彻底解决了多视角 3D 人体姿态估计中精度与鲁棒性难以兼得的核心难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkarfly_learnable-triangulation-pytorch_1376cdff.jpg","karfly","Karim Iskakov","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fkarfly_270163a1.jpg","AI researcher","Entrepreneur",null,"kar.iskakov@gmail.com","https:\u002F\u002Fgithub.com\u002Fkarfly",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,1134,183,"2026-03-31T15:03:46","MIT","未说明","训练和评估支持单卡或多卡（Multi-GPU），具体型号和显存大小未说明，需支持 PyTorch DistributedDataParallel",{"notes":94,"python":95,"dependencies":96},"该项目没有特殊或难以安装的依赖，可通过 pip install -r requirements.txt 一键安装。目前仅支持 Human3.6M 数据集的训练和评估，不支持 CMU Panoptic 数据集。训练 Volumetric 模型时需要骨盆 3D 位置的粗略估计（可使用预训练 Algebraic 模型生成或直接下载预计算结果）。多 GPU 训练处于测试阶段，使用 PyTorch 原生 launch 工具启动。","3.x (通过 python3 命令调用)",[97,98],"torch","tensorboard",[15,100],"其他","2026-03-27T02:49:30.150509","2026-04-12T09:07:19.859003",[104,109,114,119,124,129,134,139],{"id":105,"question_zh":106,"answer_zh":107,"source_url":108},30537,"如何在自己的数据集（例如使用两个不同位置的普通网络摄像头拍摄的数据）上运行该项目？需要修改哪些文件？","该项目支持自定义数据集。你需要准备包含相机参数（投影矩阵）的数据格式。虽然项目没有针对特定自定义设置的详细文档，但核心逻辑在于提供正确的相机内参和外参。你可以参考项目中处理 Human3.6M 或 CMU Panoptic 数据集的代码（如 `human36m.py`），了解如何构建数据加载器。对于只有两个相机的情况，确保在训练配置中正确指定了使用的相机 ID，并移除了任何缺失投影矩阵的相机，这通常不会对结果产生太大影响。","https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fissues\u002F67",{"id":110,"question_zh":111,"answer_zh":112,"source_url":113},30538,"是否有工具可以可视化 Human3.6M 数据集的评估结果（如论文视频所示）？","项目目前没有独立的可视化工具。你需要编写单独的程序来可视化数据。可以参考 `train.py` 文件中关于如何可视化一个 batch 的示例代码（见第 177 行附近）。评估结果通常保存为 `.pkl` 文件，其结构由代码决定。你可以查看 `train.py` 第 353 行附近，了解结果字典（results-dict）是如何被转储和填充的，然后编写脚本读取该 pickle 文件并调用类似的可视化函数进行渲染。","https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fissues\u002F51",{"id":115,"question_zh":116,"answer_zh":117,"source_url":118},30539,"推理（测试）时是否需要相机的世界位置信息或相机参数？能否用于“野外”（in the wild）图像测试？","是的，该方法在推理时仍然需要相机参数（包括内参和外参\u002F世界位置）。这是一个基于多视图几何的方法，必须知道相机相对于世界坐标系的姿态才能进行三角测量。如果你想在自定义图像上测试，必须首先通过标定或其他方法获取这些相机的参数，并按照数据集格式（如 Human3.6M 的格式）组织输入数据，否则无法得到正确的 3D 姿态预测。","https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fissues\u002F16",{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},30540,"如何生成或获取边界框（bounding box）文件？","Issues 中未直接提供生成边界框的具体脚本或预生成的文件下载链接。通常，这类 3D 姿态估计项目依赖于 2D 姿态检测器（如 Mask R-CNN 或 HRNet）先检测出 2D 关键点和边界框。建议检查项目的预处理脚本或数据加载部分（如 `human36m.py`），看是否集成了 2D 检测步骤，或者参考相关论文的实现细节，使用标准的 2D 人体检测模型在你的图像上生成边界框，然后将其转换为项目所需的格式。","https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fissues\u002F26",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},30541,"是否提供基于较小骨干网络（如 ResNet-18）的预训练权重？","维护者明确表示不计划发布针对较小骨干网络（如 ResNet-18）的预训练权重代码或模型。项目主要关注于展示方法的有效性，因此提供的预训练模型通常基于较大的骨干网络。如果需要使用小模型，用户可能需要自行按照论文描述的训练策略（例如先在 COCO 上预训练，再在 MPII 和 Human3.6M 上联合微调）进行训练。","https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fissues\u002F49",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},30542,"在不同数据集（如 MPI-INF-3DHP, HumanEva-I）上是否有计划发布新的“真值”（ground truth）姿态数据？","用户提议利用该方法生成更准确的“真值”数据以修正现有数据集的标注错误（如 Human3.6M 中 S9 _subject 的问题）。虽然维护者认可该方法的结果可能优于原始真值，但在 Issues 中并未确认具体的发布计划。目前的建议是用户可以通过“留一法”（leave-one-subject-out）的训练和测试策略，自行在特定数据集上生成经过优化的姿态数据，以避免记忆训练集中的标注错误。","https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fissues\u002F19",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},30543,"训练阶段是如何安排的？2D 骨干网络和体积骨干网络是分开训练还是端到端联合训练？","根据论文描述，网络训练分为不同阶段：2D 骨干网络使用 10^-4 的学习率，而体积骨干网络使用单独的 10^-3 学习率。虽然具体实现细节需参考代码，但讨论指出 2D 热图损失（MSE）与测试时取最大值中心（center of max）的目标并不完全一致。如果直接使用 MSE 训练热图并在测试时取最大值，可能会因为噪声导致质心偏移。因此，理解其训练策略对于复现结果至关重要，通常涉及分阶段优化或特定的损失函数设计来协调 2D 和 3D 目标。","https:\u002F\u002Fgithub.com\u002Fkarfly\u002Flearnable-triangulation-pytorch\u002Fissues\u002F4",{"id":140,"question_zh":141,"answer_zh":142,"source_url":123},30544,"在 Human3.6M 验证集上的评估时间大概是多少？","在单张 Nvidia Tesla P40 GPU 上，完整 Human3.6M 验证集的评估时间参考如下：代数方法（Algebraic）约为 1 小时 29 分钟，体积方法（Volumetric）约为 2 小时 1 分钟。如果你发现评估时间异常长，请检查使用的 bash 命令是否正确，或者尝试使用多 GPU 分布式测试来加速。",[144,149],{"id":145,"version":146,"summary_zh":147,"released_at":148},214829,"v1.1","新增了Human3.6M预训练模型。","2019-10-18T15:46:40",{"id":150,"version":151,"summary_zh":152,"released_at":153},214830,"v1.0","初始代码发布。","2019-10-08T14:03:30"]