[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-michalfaber--keras_Realtime_Multi-Person_Pose_Estimation":3,"tool-michalfaber--keras_Realtime_Multi-Person_Pose_Estimation":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":80,"owner_twitter":80,"owner_website":80,"owner_url":81,"languages":82,"stars":95,"forks":96,"last_commit_at":97,"license":98,"difficulty_score":99,"env_os":100,"env_gpu":101,"env_ram":102,"env_deps":103,"category_tags":113,"github_topics":114,"view_count":23,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":124,"updated_at":125,"faqs":126,"releases":157},3736,"michalfaber\u002Fkeras_Realtime_Multi-Person_Pose_Estimation","keras_Realtime_Multi-Person_Pose_Estimation","Keras version of Realtime Multi-Person Pose Estimation project","keras_Realtime_Multi-Person_Pose_Estimation 是一个基于 Keras 框架实现的开源项目，旨在复现经典的“实时多人姿态估计”算法。它能够从图像或视频流中精准识别并定位多个人体的关键关节点（如手肘、膝盖等），广泛应用于动作分析、人机交互及智能监控等领域。\n\n该项目主要解决了原始 C++ 实现依赖复杂、编译困难且运行效率低下的痛点。通过移除对独立 C++ 服务器的依赖，keras_Realtime_Multi-Person_Pose_Estimation 将核心逻辑完全迁移至 Python 环境，显著降低了部署门槛并提升了调试便利性。其独特亮点在于支持将预训练的 Caffe 模型权重无缝转换为 Keras 格式，让开发者无需从头训练即可快速验证效果。\n\n需要注意的是，由于代码架构已不再兼容最新的 TensorFlow 2.0，作者建议有新需求的用户转向其更新的 TensorFlow 版本仓库。因此，keras_Realtime_Multi-Person_Pose_Estimation 更适合希望深入研究 2017 年 CVPR 经典论文原理、需要在","keras_Realtime_Multi-Person_Pose_Estimation 是一个基于 Keras 框架实现的开源项目，旨在复现经典的“实时多人姿态估计”算法。它能够从图像或视频流中精准识别并定位多个人体的关键关节点（如手肘、膝盖等），广泛应用于动作分析、人机交互及智能监控等领域。\n\n该项目主要解决了原始 C++ 实现依赖复杂、编译困难且运行效率低下的痛点。通过移除对独立 C++ 服务器的依赖，keras_Realtime_Multi-Person_Pose_Estimation 将核心逻辑完全迁移至 Python 环境，显著降低了部署门槛并提升了调试便利性。其独特亮点在于支持将预训练的 Caffe 模型权重无缝转换为 Keras 格式，让开发者无需从头训练即可快速验证效果。\n\n需要注意的是，由于代码架构已不再兼容最新的 TensorFlow 2.0，作者建议有新需求的用户转向其更新的 TensorFlow 版本仓库。因此，keras_Realtime_Multi-Person_Pose_Estimation 更适合希望深入研究 2017 年 CVPR 经典论文原理、需要在旧版 TensorFlow\u002FKeras 环境下进行教学演示，或致力于学习模型跨框架迁移技术的开发人员与研究人员使用。对于追求最新生产级部署的用户，建议参考其后续迭代版本。","#### This repository has become incompatible with the latest and recommended version of Tensorflow 2.0 Instead of refactoring this code painfully, I created a new fresh repository with some additional features like:\n- #### Training code for smaller model based on MobilenetV2.\n- #### Visualisation of predictions (heatmaps, pafs) in Tensorboard.\n- #### Additional scripts to convert and test models for Tensorflow Lite.\n\n#### Here is the link to the new repo: [tensorflow_Realtime_Multi-Person_Pose_Estimation](https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Ftensorflow_Realtime_Multi-Person_Pose_Estimation)\n\n---\n\n# Realtime Multi-Person Pose Estimation (DEPRECATED)\nThis is a keras version of [Realtime Multi-Person Pose Estimation](https:\u002F\u002Fgithub.com\u002FZheC\u002FRealtime_Multi-Person_Pose_Estimation) project  \n\n## Introduction\nCode repo for reproducing [2017 CVPR](https:\u002F\u002Farxiv.org\u002Fabs\u002F1611.08050) paper using keras.  \n\nThis is a new improved version. The main objective was to remove\ndependency on separate c++ server which besides the complexity\nof compiling also contained some bugs... and was very slow.\nThe old version utilizing [rmpe_dataset_server](https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Frmpe_dataset_server) is\nstill available under the tag [v0.1](https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Fkeras_Realtime_Multi-Person_Pose_Estimation\u002Freleases\u002Ftag\u002Fv0.1) if you really would like to take a look.\n\n## Results\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_readme_0c165cae44e6.gif\", width=\"720\">\n\u003C\u002Fp>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_readme_9e579912befc.jpg\", width=\"300\", height=\"300\">\n&nbsp;\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_readme_d63d6cce6be0.png\", width=\"300\", height=\"300\">\n\u003C\u002Fdiv>\n\n\n## Contents\n1. [Converting caffe model](#converting-caffe-model-to-keras-model)\n2. [Testing](#testing-steps)\n3. [Training](#training-steps)\n3. [Changes](#changes)\n\n## Require\n1. [Keras](https:\u002F\u002Fkeras.io\u002F)\n2. [Caffe - docker](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fbvlc\u002Fcaffe\u002F) required if you would like to convert caffe model to keras model. You \n don't have to compile\u002Finstall caffe on your local machine.\n\n## Converting Caffe model to Keras model\nAuthors of [original implementation](https:\u002F\u002Fgithub.com\u002FZheC\u002FRealtime_Multi-Person_Pose_Estimation) released already trained caffe model \nwhich you can use to extract weights data.   \n\n- Download caffe model `cd model; sh get_caffe_model.sh`\n- Dump caffe layers to numpy data `cd ..; docker run -v [absolute path to your keras_Realtime_Multi-Person_Pose_Estimation folder]:\u002Fworkspace -it bvlc\u002Fcaffe:cpu python dump_caffe_layers.py`\n  Note that docker accepts only absolute paths so you have to set the full path to the folder containing this project.\n- Convert caffe model (from numpy data) to keras model `python caffe_to_keras.py`  \n\n## Testing steps\n- Convert caffe model to keras model or download already converted keras model https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fllpxd14is7gyj0z\u002Fmodel.h5\n- Run the notebook `demo.ipynb`.\n- `python demo_image.py --image sample_images\u002Fski.jpg` to run the picture demo. Result will be stored in the file result.png. You can use\nany image file as an input.\n\n## Training steps\n\n\n- Install gsutil `curl https:\u002F\u002Fsdk.cloud.google.com | bash`. This is a really helpful tool for downloading large datasets. \n- Download the data set (~25 GB) `cd dataset; sh get_dataset.sh`,\n- Download [COCO official toolbox](https:\u002F\u002Fgithub.com\u002Fpdollar\u002Fcoco) in `dataset\u002Fcoco\u002F` . \n- `cd coco\u002FPythonAPI; sudo python setup.py install` to install pycocotools.\n- Go to the \"training\" folder `cd ..\u002F..\u002F..\u002Ftraining`.\n- Optionally, you can set the number of processes used to generate samples in parallel\n  `dataset.py` -> find the line `df = PrefetchDataZMQ(df, nr_proc=4)`\n- Run the command in terminal `python train_pose.py`\n\n## Changes\n**25\u002F06\u002F2018**\n\n- Performance improvement thanks to replacing c++ server rmpe_dataset_server\nwith [tensorpack dataflow](http:\u002F\u002Ftensorpack.readthedocs.io\u002Ftutorial\u002Fdataflow.html).\nTensorpack is a very efficient library for preprocessing and data loading for tensorflow models.\nDataflow object behaves like a normal Python iterator but it can generate samples using many processes.\nThis significantly reduces latency when GPU waits for\nthe next sample to be processed.\n\n- Masks generated on the fly - no need to run separate scripts to generate masks.\nIn fact most of the mask were only positive (nothing to mask out)\n\n- Masking out the discarded persons who are too close to the main person in the\npicture, so that the network never sees unlabelled people. Previously we filtered out\nkeypoints of such smaller persons but they were still visible in the picture.\n\n- Incorrect handling of masks has been fixed. The rmpe_dataset_server\nsometimes assigned a wrong mask to the image, misleading the network.\n\n\n**26\u002F10\u002F2017**\n\nFixed problem with the training procedure.\n Here are my results after training for 5 epochs = 25000 iterations (1 epoch is ~5000 batches)\n The loss values are quite similar as in the original training - [output.txt](https:\u002F\u002Fgithub.com\u002FZheC\u002FRealtime_Multi-Person_Pose_Estimation\u002Fblob\u002Fmaster\u002Ftraining\u002Fexample_loss\u002Foutput.txt)\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_readme_45f2f9e220b5.png\", width=\"700\">\n\u003C\u002Fp>\n\nResults of running `demo_image --image sample_images\u002Fski.jpg --model training\u002Fweights.best.h5` with model trained only 25000 iterations. Not too bad !!! Training on my single 1070 GPU took around 10 hours.\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_readme_a3d00bb213ac.png\", width=\"300\">\n\u003C\u002Fp>\n\n**22\u002F10\u002F2017**\n\nAugmented samples are fetched from the [server](https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Frmpe_dataset_server). The network never sees the same image twice\n  which was a problem in previous approach (tool rmpe_dataset_transformer)\n  This allows you to run augmentation locally or on separate node.\n  You can start 2 instances, one serving training set and a second one serving validation set (on different port if locally)\n\n## Related repository\n- CVPR'16, [Convolutional Pose Machines](https:\u002F\u002Fgithub.com\u002Fshihenw\u002Fconvolutional-pose-machines-release).\n- CVPR'17, [Realtime Multi-Person Pose Estimation](https:\u002F\u002Fgithub.com\u002FZheC\u002FRealtime_Multi-Person_Pose_Estimation).\n\n## Citation\nPlease cite the paper in your publications if it helps your research:    \n\n    @InProceedings{cao2017realtime,\n      title = {Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields},\n      author = {Zhe Cao and Tomas Simon and Shih-En Wei and Yaser Sheikh},\n      booktitle = {The IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},\n      year = {2017}\n      }\n\t  \n","#### 该仓库已与最新且推荐的 TensorFlow 2.0 版本不兼容。为了避免痛苦地重构代码，我创建了一个全新的仓库，并添加了一些额外功能，例如：\n- #### 基于 MobileNetV2 的小型模型训练代码。\n- #### 在 TensorBoard 中可视化预测结果（热力图、PAFs）。\n- #### 用于转换和测试 TensorFlow Lite 模型的附加脚本。\n\n#### 新仓库的链接如下：[tensorflow_Realtime_Multi-Person_Pose_Estimation](https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Ftensorflow_Realtime_Multi-Person_Pose_Estimation)\n\n---\n\n# 实时多人姿态估计（已弃用）\n这是 [Realtime Multi-Person Pose Estimation](https:\u002F\u002Fgithub.com\u002FZheC\u002FRealtime_Multi-Person_Pose_Estimation) 项目的 Keras 版本。\n\n## 简介\n这是一个使用 Keras 复现 [2017 CVPR](https:\u002F\u002Farxiv.org\u002Fabs\u002F1611.08050) 论文的代码库。\n\n这是一个经过改进的新版本。主要目标是移除对独立 C++ 服务器的依赖，因为该服务器不仅编译复杂，还存在一些 bug，而且速度非常慢。旧版本利用了 [rmpe_dataset_server](https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Frmpe_dataset_server)，如果你真的想查看，仍然可以在 [v0.1](https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Fkeras_Realtime_Multi-Person_Pose_Estimation\u002Freleases\u002Ftag\u002Fv0.1) 标签下找到它。\n\n## 结果\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_readme_0c165cae44e6.gif\", width=\"720\">\n\u003C\u002Fp>\n\n\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_readme_9e579912befc.jpg\", width=\"300\", height=\"300\">\n&nbsp;\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_readme_d63d6cce6be0.png\", width=\"300\", height=\"300\">\n\u003C\u002Fdiv>\n\n\n## 目录\n1. [将 Caffe 模型转换为 Keras 模型](#converting-caffe-model-to-keras-model)\n2. [测试步骤](#testing-steps)\n3. [训练步骤](#training-steps)\n3. [变更记录](#changes)\n\n## 需求\n1. [Keras](https:\u002F\u002Fkeras.io\u002F)\n2. 如果你想将 Caffe 模型转换为 Keras 模型，则需要 [Caffe - docker](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fbvlc\u002Fcaffe\u002F)。你无需在本地机器上编译或安装 Caffe。\n\n## 将 Caffe 模型转换为 Keras 模型\n[原始实现](https:\u002F\u002Fgithub.com\u002FZheC\u002FRealtime_Multi-Person_Pose_Estimation) 的作者已经发布了训练好的 Caffe 模型，你可以使用它来提取权重数据。\n\n- 下载 Caffe 模型 `cd model; sh get_caffe_model.sh`\n- 将 Caffe 层转储为 NumPy 数据 `cd ..; docker run -v [绝对路径到你的 keras_Realtime_Multi-Person_Pose_Estimation 文件夹]:\u002Fworkspace -it bvlc\u002Fcaffe:cpu python dump_caffe_layers.py`\n  注意，Docker 只接受绝对路径，因此你需要设置包含该项目文件夹的完整路径。\n- 将 Caffe 模型（从 NumPy 数据）转换为 Keras 模型 `python caffe_to_keras.py`\n\n## 测试步骤\n- 将 Caffe 模型转换为 Keras 模型，或者下载已经转换好的 Keras 模型 https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fllpxd14is7gyj0z\u002Fmodel.h5\n- 运行笔记本 `demo.ipynb`。\n- `python demo_image.py --image sample_images\u002Fski.jpg` 来运行图片演示。结果将保存在 result.png 文件中。你可以使用任何图像文件作为输入。\n\n## 训练步骤\n\n\n- 安装 gsutil `curl https:\u002F\u002Fsdk.cloud.google.com | bash`。这是一个非常有用的工具，用于下载大型数据集。\n- 下载数据集（约 25 GB）`cd dataset; sh get_dataset.sh`\n- 在 `dataset\u002Fcoco\u002F` 中下载 [COCO 官方工具箱](https:\u002F\u002Fgithub.com\u002Fpdollar\u002Fcoco)。\n- `cd coco\u002FPythonAPI; sudo python setup.py install` 来安装 pycocotools。\n- 进入“training”文件夹 `cd ..\u002F..\u002F..\u002Ftraining`。\n- 你可以选择设置用于并行生成样本的进程数\n  `dataset.py` -> 找到这一行 `df = PrefetchDataZMQ(df, nr_proc=4)`\n- 在终端中运行命令 `python train_pose.py`\n\n## 变更记录\n**2018年6月25日**\n\n- 性能提升，得益于用 [tensorpack dataflow](http:\u002F\u002Ftensorpack.readthedocs.io\u002Ftutorial\u002Fdataflow.html) 替代了 C++ 服务器 rmpe_dataset_server。\n  Tensorpack 是一个非常高效的库，用于 TensorFlow 模型的预处理和数据加载。Dataflow 对象的行为类似于普通的 Python 迭代器，但它可以使用多个进程生成样本。这显著减少了 GPU 等待下一个样本进行处理时的延迟。\n  \n- 动态生成掩码——无需再运行单独的脚本生成掩码。事实上，大多数掩码都是正向的（没有需要遮盖的部分）。\n\n- 掩盖掉那些距离画面中主要人物过近而被丢弃的人，这样网络就永远不会看到未标记的人。以前我们会过滤掉这些较小人物的关键点，但他们仍然会出现在画面中。\n\n- 已修复掩码处理不当的问题。rmpe_dataset_server 有时会为图像分配错误的掩码，从而误导网络。\n\n\n**2017年10月26日**\n\n修复了训练过程中的问题。\n以下是我训练 5 个 epoch（共 25000 次迭代，1 个 epoch 大约 5000 个批次）后的结果：\n损失值与原始训练的结果非常相似——[output.txt](https:\u002F\u002Fgithub.com\u002FZheC\u002FRealtime_Multi-Person_Pose_Estimation\u002Fblob\u002Fmaster\u002Ftraining\u002Fexample_loss\u002Foutput.txt)\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_readme_45f2f9e220b5.png\", width=\"700\">\n\u003C\u002Fp>\n\n使用仅训练了 25000 次迭代的模型运行 `demo_image --image sample_images\u002Fski.jpg --model training\u002Fweights.best.h5` 的结果。还不错！！！在我的单块 1070 显卡上训练大约花了 10 个小时。\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_readme_a3d00bb213ac.png\", width=\"300\">\n\u003C\u002Fp>\n\n**2017年10月22日**\n\n增强后的样本是从 [服务器](https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Frmpe_dataset_server) 获取的。网络永远不会看到相同的图像两次，\n这在之前的方法（工具 rmpe_dataset_transformer）中是一个问题。这使得你可以在本地或在不同的节点上运行数据增强。\n你可以启动两个实例，一个服务于训练集，另一个服务于验证集（如果是在本地，可以使用不同的端口）。\n\n## 相关仓库\n- CVPR'16，[卷积姿态机器](https:\u002F\u002Fgithub.com\u002Fshihenw\u002Fconvolutional-pose-machines-release)。\n- CVPR'17，[实时多人姿态估计](https:\u002F\u002Fgithub.com\u002FZheC\u002FRealtime_Multi-Person_Pose_Estimation)。\n\n## 引用\n如果你的研究受益于此论文，请在你的出版物中引用：\n\n    @InProceedings{cao2017realtime,\n      title = {使用部分亲和场进行实时多人二维姿态估计},\n      author = {曹哲、托马斯·西蒙、魏世恩、亚瑟·谢赫},\n      booktitle = {IEEE 计算机视觉与模式识别会议 (CVPR)},\n      year = {2017}\n      }","# Keras 实时多人姿态估计快速上手指南\n\n> **⚠️ 重要提示**：本仓库（`keras_Realtime_Multi-Person_Pose_Estimation`）已不再兼容最新的 TensorFlow 2.0 版本，处于**弃用（DEPRECATED）**状态。\n>\n> 作者已推出基于 TensorFlow 2.0 的全新重构版本，支持 MobileNetV2 小模型训练、TensorBoard 可视化及 TFLite 转换。\n> **强烈建议新用户直接使用新版仓库**：[tensorflow_Realtime_Multi-Person_Pose_Estimation](https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Ftensorflow_Realtime_Multi-Person_Pose_Estimation)\n>\n> 以下指南仅适用于需要复现 2017 CVPR 论文原始 Keras 版本或维护旧项目的开发者。\n\n---\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐) 或 macOS\n- **GPU**: NVIDIA GPU (可选，用于加速训练和推理)\n- **Docker**: 必须安装（用于转换 Caffe 模型，避免本地编译 Caffe）\n\n### 前置依赖\n请确保已安装以下 Python 库：\n- `Keras` (后端建议使用 TensorFlow 1.x)\n- `OpenCV`\n- `NumPy`\n- `pycocotools` (用于训练数据处理)\n- `gsutil` (用于下载大型数据集)\n\n安装基础 Python 依赖：\n```bash\npip install keras opencv-python numpy\n```\n\n若需进行训练，还需安装 COCO API：\n```bash\n# 下载 COCO official toolbox 到 dataset\u002Fcoco\u002F 目录后执行\ncd dataset\u002Fcoco\u002FPythonAPI\nsudo python setup.py install\n```\n\n---\n\n## 2. 安装与模型转换\n\n本项目核心是将原作者提供的 Caffe 模型权重转换为 Keras 格式。你无需在本地安装 Caffe，只需使用 Docker。\n\n### 步骤一：获取 Caffe 预训练模型\n进入模型目录并下载官方提供的 Caffe 模型文件：\n```bash\ncd model\nsh get_caffe_model.sh\ncd ..\n```\n\n### 步骤二：导出 Caffe 层数据\n使用 Docker 将 Caffe 模型层数据导出为 NumPy 格式。\n**注意**：请将 `[absolute path to your folder]` 替换为你当前项目文件夹的**绝对路径**。\n\n```bash\ndocker run -v [absolute path to your keras_Realtime_Multi-Person_Pose_Estimation folder]:\u002Fworkspace -it bvlc\u002Fcaffe:cpu python dump_caffe_layers.py\n```\n\n### 步骤三：转换为 Keras 模型\n运行转换脚本生成 `.h5` 模型文件：\n```bash\npython caffe_to_keras.py\n```\n\n> **快捷方式**：如果你不想自行转换，可以直接下载作者已转换好的 Keras 模型：\n> [model.h5 (Dropbox)](https:\u002F\u002Fwww.dropbox.com\u002Fs\u002Fllpxd14is7gyj0z\u002Fmodel.h5)\n\n---\n\n## 3. 基本使用\n\n### 图像演示（最快上手）\n使用转换好的模型对单张图片进行姿态估计。\n\n**命令示例**：\n```bash\npython demo_image.py --image sample_images\u002Fski.jpg\n```\n- 输入：任意图片路径（如 `sample_images\u002Fski.jpg`）\n- 输出：结果将保存为当前目录下的 `result.png`\n\n### Jupyter Notebook 演示\n如果你希望通过交互式界面查看热力图（heatmaps）和亲和场（PAFs）的详细过程：\n```bash\njupyter notebook demo.ipynb\n```\n\n---\n\n## 4. 训练步骤（可选）\n\n如需从头训练或微调模型，请按以下步骤操作：\n\n1. **安装谷歌云工具** (用于高速下载数据集)：\n   ```bash\n   curl https:\u002F\u002Fsdk.cloud.google.com | bash\n   ```\n\n2. **下载数据集** (约 25 GB)：\n   ```bash\n   cd dataset\n   sh get_dataset.sh\n   ```\n\n3. **配置数据加载** (可选优化)：\n   编辑 `training\u002Fdataset.py`，找到 `PrefetchDataZMQ` 行，调整并行进程数：\n   ```python\n   df = PrefetchDataZMQ(df, nr_proc=4) # 根据 CPU 核心数调整\n   ```\n\n4. **开始训练**：\n   ```bash\n   cd training\n   python train_pose.py\n   ```\n   *注：在单张 GTX 1070 GPU 上训练 5 个 epoch (约 25000 次迭代) 大约需要 10 小时。*","某智能健身初创团队正在开发一款家庭 AI 私教应用，需要实时捕捉用户运动时的全身骨骼关键点以纠正动作。\n\n### 没有 keras_Realtime_Multi-Person_Pose_Estimation 时\n- **架构臃肿且难维护**：必须依赖独立的 C++ 服务器进行推理，导致系统架构复杂，编译繁琐且容易因环境差异出现 Bug。\n- **实时性差**：C++ 服务与 Python 主程序间的通信开销大，处理多人画面时延迟高，无法流畅反馈用户的快速动作。\n- **模型迁移困难**：原始方案基于 Caffe 框架，难以直接适配团队主流的 Keras\u002FTensorFlow 技术栈，重新训练或微调成本极高。\n- **调试黑盒**：缺乏可视化的中间层数据（如热力图、亲和场），开发人员难以定位姿态识别错误的具体原因。\n\n### 使用 keras_Realtime_Multi-Person_Pose_Estimation 后\n- **纯 Python 轻量化部署**：移除了对 C++ 服务器的依赖，整个流程在 Keras 中运行，大幅简化了部署架构并消除了编译痛点。\n- **流畅的多人实时检测**：优化后的推理速度显著提升，能同时精准追踪画面中多位家庭成员的动作，满足实时交互需求。\n- **无缝衔接现有生态**：直接提供从 Caffe 转换好的 Keras 模型权重，支持基于 MobileNetV2 的轻量级训练，轻松集成到现有流水线。\n- **透明化训练监控**：支持在 TensorBoard 中直观查看预测热力图和亲和场，让算法调优过程有据可依，快速迭代模型精度。\n\nkeras_Realtime_Multi-Person_Pose_Estimation 通过移除冗余的 C++ 依赖并原生融入 Keras 生态，将复杂的多人体态估计任务转化为高效、可解释且易于落地的工程实践。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmichalfaber_keras_Realtime_Multi-Person_Pose_Estimation_273b251c.png","michalfaber","MFaber","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmichalfaber_ff16f049.png","Software\u002FData Engineer",null,"https:\u002F\u002Fgithub.com\u002Fmichalfaber",[83,87,91],{"name":84,"color":85,"percentage":86},"Jupyter Notebook","#DA5B0B",98.8,{"name":88,"color":89,"percentage":90},"Python","#3572A5",1.2,{"name":92,"color":93,"percentage":94},"Shell","#89e051",0,782,369,"2026-03-25T19:29:43","NOASSERTION",4,"Linux","需要 NVIDIA GPU（作者提及使用 GTX 1070 训练），显存未明确说明，CUDA 版本未说明","未说明（数据集约 25GB，建议大内存）",{"notes":104,"python":105,"dependencies":106},"1. 该仓库已弃用，与推荐的 TensorFlow 2.0 版本不兼容，作者建议使用新的 tensorflow_Realtime_Multi-Person_Pose_Estimation 仓库。2. 若需从 Caffe 转换模型，必须安装 Docker 并拉取 bvlc\u002Fcaffe 镜像，无需本地编译 Caffe。3. 训练数据集约 25GB，需使用 gsutil 下载。4. 训练过程使用了 tensorpack 进行多进程数据加载以提升性能。","未说明（基于 Keras，推测为 Python 2.7 或 3.6+）",[107,108,109,110,111,112],"Keras","TensorFlow (与 TF 2.0 不兼容，需旧版本)","Caffe (Docker 镜像 bvlc\u002Fcaffe:cpu，仅转换模型时需要)","pycocotools","tensorpack","gsutil",[13,14],[115,116,117,118,119,120,121,122,123],"pose-estimation","keras","caffe","deep-learning","computer-vision","cvpr-2017","real-time","human-behavior-understanding","human-pose-estimation","2026-03-27T02:49:30.150509","2026-04-06T07:15:00.591010",[127,132,137,142,147,152],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},17107,"加载模型时出现 'ValueError: Cannot create group in read only mode' 错误怎么办？","该错误通常与环境状态或模型保存方式有关。请尝试以下解决方案：\n1. 如果您使用的是 model.save_weights 保存的权重，需要先定义并编译模型，然后使用 model.load_weights 加载权重。\n2. 如果仍然报错，请尝试停用当前 Python 环境并重新启动（deactivate\u002Freactivate environment and reboot Python）。\n3. 确保没有以只读模式错误地访问 HDF5 文件。","https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Fkeras_Realtime_Multi-Person_Pose_Estimation\u002Fissues\u002F100",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},17108,"遇到 'ValueError: The channel dimension of the inputs should be defined. Found `None`' 错误如何解决？","这通常是 Keras 版本兼容性问题导致的。建议将 Keras 升级到特定版本以解决此问题。请运行以下命令：\npip install keras==2.1.2\n升级后重新运行代码，通常可以消除输入通道维度未定义的错误。","https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Fkeras_Realtime_Multi-Person_Pose_Estimation\u002Fissues\u002F50",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},17109,"如何在本地数据上进行训练而不使用数据增强？","虽然 'use_client_gen = False' 已被弃用，且本地生成的 h5 文件格式可能与 DataIterator 不兼容，但您可以参考官方提供的 notebook 来检查数据集格式和结构。请访问以下链接获取指导：\nhttps:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Fkeras_Realtime_Multi-Person_Pose_Estimation\u002Fblob\u002Fmaster\u002Ftraining\u002Finspect_dataset.ipynb\n通过该脚本可以了解如何正确准备本地数据以适配当前的训练流程。","https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Fkeras_Realtime_Multi-Person_Pose_Estimation\u002Fissues\u002F15",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},17110,"这个项目可以在 CPU 上运行吗？为什么我在 CPU 上运行 demo_image.py 时似乎卡住了？","是的，该项目支持在 CPU 上运行。维护者已在 Mac 上测试过 demo_image.py，确认其可以在 CPU 上工作。\n如果您发现程序运行极慢或无响应，可能是因为 CPU 推理速度远低于 GPU，导致处理时间很长。此外，如果偶尔出现系统崩溃，可能是内存不足或特定环境问题。建议先尝试运行 demo.ipynb、demo_video 或 demo_camera，这些在 CPU 上通常表现更稳定。","https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Fkeras_Realtime_Multi-Person_Pose_Estimation\u002Fissues\u002F105",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},17111,"训练过程中对输入图像应用掩码（Masking）是否正确？有什么作用？","在输入图像上应用掩码是作者进行的一项实验，目的是为了避免在多个输出（如 PAF 和 heatmap）上分别应用掩码，从而期望提高训练速度。\n虽然论文通常建议仅在输出端应用掩码，但在输入端应用也是一种可行的策略，这样可以简化计算图（不需要为训练和测试构建两个不同的图）。\n如果您想恢复原始行为或不希望这样做，可以注释掉 training\u002Fdataset.py 文件中第 197 行左右的掩码应用代码。注意：有用户建议在输入图像上使用 128 而不是 0 作为掩码值。","https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Fkeras_Realtime_Multi-Person_Pose_Estimation\u002Fissues\u002F94",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},17112,"运行 inspect_dataset.ipynb 时出现 'KeyError: Unable to open object (Object label doesn't exist)' 错误怎么办？","该错误是因为生成的 HDF5 文件结构与检查脚本预期的不一致。在 generate_hdf5.py 脚本中，数据被存储在名为 'datum' 的组中，而 inspect_dataset.ipynb 可能仍在尝试访问旧的 'label' 组。\n解决方法是检查 generate_hdf5.py 的最新实现，确认数据组的名称（通常是 'datum'），并相应修改 inspect_dataset.ipynb 中的代码，使其读取正确的组名，或者重新生成与脚本版本匹配的 HDF5 文件。","https:\u002F\u002Fgithub.com\u002Fmichalfaber\u002Fkeras_Realtime_Multi-Person_Pose_Estimation\u002Fissues\u002F22",[]]