[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-ahmetgunduz--Real-time-GesRec":3,"tool-ahmetgunduz--Real-time-GesRec":61},[4,18,26,36,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},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 真正成长为懂上",150720,2,"2026-04-11T11:33:10",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"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,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"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",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":76,"owner_url":77,"languages":78,"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":100,"github_topics":102,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":113,"updated_at":114,"faqs":115,"releases":150},6654,"ahmetgunduz\u002FReal-time-GesRec","Real-time-GesRec"," Real-time Hand Gesture Recognition with PyTorch on EgoGesture, NvGesture, Jester, Kinetics and UCF101","Real-time-GesRec 是一个基于 PyTorch 开发的开源项目，专注于实现视频流中的实时手部手势识别与分类。它支持在 EgoGesture、NvGesture 等多个主流数据集上进行模型的训练、微调及测试。\n\n针对动态手势识别中“起止时间不确定”、“需避免重复识别”以及“设备算力受限”三大难题，Real-time-GesRec 提出了一种高效的双层架构：首先利用轻量级卷积神经网络（CNN）作为检测器定位手势，随后通过深度 CNN 进行分类。该项目创新性地引入滑动窗口机制，使原本适用于离线处理的模型能够高效在线运行，并采用 Levenshtein 距离作为评估指标，以更全面地衡量检测准确率。其核心分类模型在深度模态下曾达到业界领先的离线识别精度。\n\n该工具非常适合计算机视觉领域的研究人员、AI 开发者以及需要部署实时交互功能的应用工程师使用。无论是进行学术算法验证，还是开发体感控制、人机交互等实际应用，Real-time-GesRec 都提供了包括 ResNet-10、ResNeXt-101 在内的多种预训练模型和完整代码库，帮助用户快速构建低延迟、高精度的手势识别系统。","# Real-time Hand Gesture Recognition with 3D CNNs\nPyTorch implementation of the article [Real-time Hand Gesture Detection and Classification Using Convolutional Neural Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1901.10323) and [Resource Efficient 3D Convolutional Neural Networks](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1904.02422.pdf), codes and pretrained models.\n\n\n\u003Cdiv align=\"center\" style=\"width:image width px;\">\n  \u003Cimg  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fahmetgunduz_Real-time-GesRec_readme_7765bd009562.gif\" width=500 alt=\"simulation results\">\n\u003C\u002Fdiv>\n\nFigure: A real-time simulation of the architecture with input video from EgoGesture dataset (on left side) and real-time (online) classification scores of each gesture (on right side) are shown, where each class is annotated with different color. \n\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fahmetgunduz_Real-time-GesRec_readme_355b3a28c3a6.png)](https:\u002F\u002Fstar-history.com\u002F#ahmetgunduz\u002FReal-time-GesRec&Date)\n\n\nThis code includes training, fine-tuning and testing on EgoGesture and nvGesture datasets.  \nNote that the code only includes ResNet-10, ResNetL-10, ResneXt-101, C3D v1, whose other versions can be easily added.\n\n## Abstract\nReal-time recognition of dynamic hand gestures from video streams is a challenging task since (i) \nthere is no indication when a gesture starts and ends in the video, (ii) performed gestures should \nonly be recognized once, and (iii) the entire architecture should be designed considering the memory \nand power budget. In this work, we address these challenges by proposing a hierarchical structure \nenabling offline-working convolutional neural network (CNN) architectures to operate online efficiently\nby using sliding window approach. The proposed architecture consists of two models: (1) A detector which \nis a lightweight CNN architecture to detect gestures and (2) a classifier which is a deep CNN to classify \nthe detected gestures. In order to evaluate the single-time activations of the detected gestures, we propose\nto use the Levenshtein distance as an evaluation metric since it can measure misclassifications, multiple detections,\nand missing detections at the same time. We evaluate our architecture on two publicly available datasets - EgoGesture\nand NVIDIA Dynamic Hand Gesture Datasets - which require temporal detection and classification of the performed hand gestures.\nResNeXt-101 model, which is used as a classifier, achieves the state-of-the-art offline classification accuracy of 94.04% and \n83.82% for depth modality on EgoGesture and NVIDIA benchmarks, respectively. In real-time detection and classification,\nwe obtain considerable early detections while achieving performances close to offline operation. The codes and pretrained models used in this work are publicly available. \n\n\n\n## Requirements\n\n* [PyTorch](http:\u002F\u002Fpytorch.org\u002F)\n\n```bash\nconda install pytorch torchvision cuda80 -c soumith\n```\n\n* Python 3\n\n### Pretrained models\n[Pretrained_models_v1 (1.08GB)](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F11MJWXmFnx9shbVtsaP1V8ak_kADg0r7D\u002Fview?usp=sharing): The best performing models in [paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1901.10323)\n\n[Pretrained_RGB_models_for_det_and_clf (371MB)(Google Drive)](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1V23zvjAKZr7FUOBLpgPZkpHGv8_D-cOs\u002Fview?usp=sharing)\n[Pretrained_RGB_models_for_det_and_clf (371MB)(Baidu Netdisk)](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F114WKw0lxLfWMZA6SYSSJlw) -code:p1va\n\n[Pretrained_models_v2 (15.2GB)](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1rSWnzlOwGXjO_6C7U8eE6V43MlcnN6J_\u002Fview?usp=sharing): All models in [paper](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F8982092) with efficient 3D-CNN Models\n## Preparation\n\n### EgoGesture\n\n* Download videos by following [the official site](http:\u002F\u002Fwww.nlpr.ia.ac.cn\u002Fiva\u002Fyfzhang\u002Fdatasets\u002Fegogesture.html).\n* We will use extracted images that is also provided by the owners\n\n* Generate n_frames files using ```utils\u002Fego_prepare.py``` \n\nN frames format is as following: \"path to the folder\" \"class index\" \"start frame\" \"end frame\"\n\n```bash\nmkdir annotation_EgoGesture\npython utils\u002Fego_prepare.py training trainlistall.txt all\npython utils\u002Fego_prepare.py training trainlistall_but_None.txt all_but_None\npython utils\u002Fego_prepare.py training trainlistbinary.txt binary\npython utils\u002Fego_prepare.py validation vallistall.txt all\npython utils\u002Fego_prepare.py validation vallistall_but_None.txt all_but_None\npython utils\u002Fego_prepare.py validation vallistbinary.txt binary\npython utils\u002Fego_prepare.py testing testlistall.txt all\npython utils\u002Fego_prepare.py testing testlistall_but_None.txt all_but_None\npython utils\u002Fego_prepare.py testing testlistbinary.txt binary\n```\n\n* Generate annotation file in json format similar to ActivityNet using ```utils\u002Fegogesture_json.py```\n\n```bash\npython utils\u002Fegogesture_json.py 'annotation_EgoGesture' all\npython utils\u002Fegogesture_json.py 'annotation_EgoGesture' all_but_None\npython utils\u002Fegogesture_json.py 'annotation_EgoGesture' binary\n```\n\n### nvGesture\n\n* Download videos by following [the official site](https:\u002F\u002Fresearch.nvidia.com\u002Fpublication\u002Fonline-detection-and-classification-dynamic-hand-gestures-recurrent-3d-convolutional).\n\n* Generate n_frames files using ```utils\u002Fnv_prepare.py``` \n\nN frames format is as following: \"path to the folder\" \"class index\" \"start frame\" \"end frame\"\n\n```bash\nmkdir annotation_nvGesture\npython utils\u002Fnv_prepare.py training trainlistall.txt all\npython utils\u002Fnv_prepare.py training trainlistall_but_None.txt all_but_None\npython utils\u002Fnv_prepare.py training trainlistbinary.txt binary\npython utils\u002Fnv_prepare.py validation vallistall.txt all\npython utils\u002Fnv_prepare.py validation vallistall_but_None.txt all_but_None\npython utils\u002Fnv_prepare.py validation vallistbinary.txt binary\n```\n\n* Generate annotation file in json format similar to ActivityNet using ```utils\u002Fnv_json.py```\n\n```bash\npython utils\u002Fnv_json.py 'annotation_nvGesture' all\npython utils\u002Fnv_json.py 'annotation_nvGesture' all_but_None\npython utils\u002Fnv_json.py 'annotation_nvGesture' binary\n```\n\n### Jester\n\n* Download videos by following [the official site](https:\u002F\u002F20bn.com\u002Fdatasets\u002Fjester).\n\n* N frames and class index  file is already provided annotation_Jester\u002F{'classInd.txt', 'trainlist01.txt', 'vallist01.txt'}\n\nN frames format is as following: \"path to the folder\" \"class index\" \"start frame\" \"end frame\"\n\n* Generate annotation file in json format similar to ActivityNet using ```utils\u002Fjester_json.py```\n\n```bash\npython utils\u002Fjester_json.py 'annotation_Jester'\n```\n\n\n## Running the code\n* Offline testing (offline_test.py) and training (main.py)\n```bash\nbash run_offline.sh\n```\n\n* Online testing\n```bash\nbash run_online.sh\n```\n\n## Citation\n\nPlease cite the following articles if you use this code or pre-trained models:\n\n```bibtex\n@article{kopuklu_real-time_2019,\n\ttitle = {Real-time Hand Gesture Detection and Classification Using Convolutional Neural Networks},\n\turl = {http:\u002F\u002Farxiv.org\u002Fabs\u002F1901.10323},\n\tauthor = {Köpüklü, Okan and Gunduz, Ahmet and Kose, Neslihan and Rigoll, Gerhard},\n  year={2019}\n}\n```\n\n```bibtex\n@article{kopuklu2020online,\n  title={Online Dynamic Hand Gesture Recognition Including Efficiency Analysis},\n  author={K{\\\"o}p{\\\"u}kl{\\\"u}, Okan and Gunduz, Ahmet and Kose, Neslihan and Rigoll, Gerhard},\n  journal={IEEE Transactions on Biometrics, Behavior, and Identity Science},\n  volume={2},\n  number={2},\n  pages={85--97},\n  year={2020},\n  publisher={IEEE}\n}\n```\n\n## Acknowledgement\nWe thank Kensho Hara for releasing his [codebase](https:\u002F\u002Fgithub.com\u002Fkenshohara\u002F3D-ResNets-PyTorch), which we build our work on top.\n","# 基于3D CNN的实时手势识别\n本文提供了文章[使用卷积神经网络进行实时手势检测与分类](https:\u002F\u002Farxiv.org\u002Fabs\u002F1901.10323)和[资源高效的3D卷积神经网络](https:\u002F\u002Farxiv.org\u002Fpdf\u002F1904.02422.pdf)的PyTorch实现，包含代码及预训练模型。\n\n\n\u003Cdiv align=\"center\" style=\"width:image width px;\">\n  \u003Cimg  src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fahmetgunduz_Real-time-GesRec_readme_7765bd009562.gif\" width=500 alt=\"simulation results\">\n\u003C\u002Fdiv>\n\n图：架构的实时仿真展示了来自EgoGesture数据集的输入视频（左侧）以及每种手势的实时（在线）分类得分（右侧），其中每个类别以不同颜色标注。\n\n\n## 星标历史\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fahmetgunduz_Real-time-GesRec_readme_355b3a28c3a6.png)](https:\u002F\u002Fstar-history.com\u002F#ahmetgunduz\u002FReal-time-GesRec&Date)\n\n\n该代码涵盖了在EgoGesture和nvGesture数据集上的训练、微调及测试。  \n请注意，代码目前仅包含ResNet-10、ResNetL-10、ResneXt-101和C3D v1，其他版本可轻松添加。\n\n## 摘要\n从视频流中实时识别动态手势是一项极具挑战性的任务，原因在于：(i) 视频中手势的起始与结束时间并无明确标记；(ii) 已执行的手势应仅被识别一次；(iii) 整体架构的设计需兼顾内存与功耗限制。在本工作中，我们提出了一种分层结构，通过滑动窗口方法使离线运行的卷积神经网络（CNN）架构能够高效地在线运作。所提出的架构由两个模型组成：(1) 一个用于检测手势的轻量级CNN架构；(2) 一个用于对检测到的手势进行分类的深度CNN。为评估检测到的手势是否仅被激活一次，我们建议使用Levenshtein距离作为评估指标，因为它可以同时衡量误分类、多次检测和漏检等问题。我们在两个公开可用的数据集——EgoGesture和NVIDIA动态手势数据集——上对我们的架构进行了评估，这两个数据集均要求对手势的时序性检测与分类。作为分类器的ResNeXt-101模型，在EgoGesture和NVIDIA基准测试中，分别达到了94.04%和83.82%的离线分类准确率。在实时检测与分类方面，我们实现了显著的早期检测，同时性能接近离线运行水平。本工作中使用的代码及预训练模型已公开提供。\n\n\n\n## 需求\n\n* [PyTorch](http:\u002F\u002Fpytorch.org\u002F)\n\n```bash\nconda install pytorch torchvision cuda80 -c soumith\n```\n\n* Python 3\n\n### 预训练模型\n[Pretrained_models_v1 (1.08GB)](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F11MJWXmFnx9shbVtsaP1V8ak_kADg0r7D\u002Fview?usp=sharing)：在[论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1901.10323)中表现最佳的模型\n\n[Pretrained_RGB_models_for_det_and_clf (371MB)(Google Drive)](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1V23zvjAKZr7FUOBLpgPZkpHGv8_D-cOs\u002Fview?usp=sharing)\n[Pretrained_RGB_models_for_det_and_clf (371MB)(百度网盘)](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F114WKw0lxLfWMZA6SYSSJlw) -密码:p1va\n\n[Pretrained_models_v2 (15.2GB)](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1rSWnzlOwGXjO_6C7U8eE6V43MlcnN6J_\u002Fview?usp=sharing)：包含[论文](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F8982092)中所有模型，并采用高效的3D-CNN架构\n## 准备工作\n\n### EgoGesture\n\n* 按照[官方网站](http:\u002F\u002Fwww.nlpr.ia.ac.cn\u002Fiva\u002Fyfzhang\u002Fdatasets\u002Fegogesture.html)下载视频。\n* 我们将使用数据集提供方提供的提取图像。\n\n* 使用```utils\u002Fego_prepare.py```生成n_frames文件\n\nn_frames格式如下：“文件夹路径” “类别索引” “起始帧” “结束帧”\n\n```bash\nmkdir annotation_EgoGesture\npython utils\u002Fego_prepare.py training trainlistall.txt all\npython utils\u002Fego_prepare.py training trainlistall_but_None.txt all_but_None\npython utils\u002Fego_prepare.py training trainlistbinary.txt binary\npython utils\u002Fego_prepare.py validation vallistall.txt all\npython utils\u002Fego_prepare.py validation vallistall_but_None.txt all_but_None\npython utils\u002Fego_prepare.py validation vallistbinary.txt binary\npython utils\u002Fego_prepare.py testing testlistall.txt all\npython utils\u002Fego_prepare.py testing testlistall_but_None.txt all_but_None\npython utils\u002Fego_prepare.py testing testlistbinary.txt binary\n```\n\n* 使用```utils\u002Fegogesture_json.py```生成类似ActivityNet格式的JSON标注文件\n\n```bash\npython utils\u002Fegogesture_json.py 'annotation_EgoGesture' all\npython utils\u002Fegogesture_json.py 'annotation_EgoGesture' all_but_None\npython utils\u002Fegogesture_json.py 'annotation_EgoGesture' binary\n```\n\n### nvGesture\n\n* 按照[官方网站](https:\u002F\u002Fresearch.nvidia.com\u002Fpublication\u002Fonline-detection-and-classification-dynamic-hand-gestures-recurrent-3d-convolutional)下载视频。\n* 使用```utils\u002Fnv_prepare.py```生成n_frames文件\n\nn_frames格式如下：“文件夹路径” “类别索引” “起始帧” “结束帧”\n\n```bash\nmkdir annotation_nvGesture\npython utils\u002Fnv_prepare.py training trainlistall.txt all\npython utils\u002Fnv_prepare.py training trainlistall_but_None.txt all_but_None\npython utils\u002Fnv_prepare.py training trainlistbinary.txt binary\npython utils\u002Fnv_prepare.py validation vallistall.txt all\npython utils\u002Fnv_prepare.py validation vallistall_but_None.txt all_but_None\npython utils\u002Fnv_prepare.py validation vallistbinary.txt binary\n```\n\n* 使用```utils\u002Fnv_json.py```生成类似ActivityNet格式的JSON标注文件\n\n```bash\npython utils\u002Fnv_json.py 'annotation_nvGesture' all\npython utils\u002Fnv_json.py 'annotation_nvGesture' all_but_None\npython utils\u002Fnv_json.py 'annotation_nvGesture' binary\n```\n\n### Jester\n\n* 按照[官方网站](https:\u002F\u002F20bn.com\u002Fdatasets\u002Fjester)下载视频。\n* n_frames和类别索引文件已在annotation_Jester\u002F{'classInd.txt', 'trainlist01.txt', 'vallist01.txt'}中提供。\n\nn_frames格式如下：“文件夹路径” “类别索引” “起始帧” “结束帧”\n\n* 使用```utils\u002Fjester_json.py```生成类似ActivityNet格式的JSON标注文件\n\n```bash\npython utils\u002Fjester_json.py 'annotation_Jester'\n```\n\n\n## 运行代码\n* 离线测试（offline_test.py）和训练（main.py）\n```bash\nbash run_offline.sh\n```\n\n* 在线测试\n```bash\nbash run_online.sh\n```\n\n## 引用\n\n如果您使用此代码或预训练模型，请引用以下文章：\n\n```bibtex\n@article{kopuklu_real-time_2019,\n\ttitle = {基于卷积神经网络的实时手势检测与分类},\n\turl = {http:\u002F\u002Farxiv.org\u002Fabs\u002F1901.10323},\n\tauthor = {Köpüklü, Okan 和 Gunduz, Ahmet 和 Kose, Neslihan 和 Rigoll, Gerhard},\n  year={2019}\n}\n```\n\n```bibtex\n@article{kopuklu2020online,\n  title={包含效率分析的在线动态手势识别},\n  author={K{\\\"o}p{\\\"u}kl{\\\"u}, Okan 和 Gunduz, Ahmet 和 Kose, Neslihan 和 Rigoll, Gerhard},\n  journal={IEEE 生物特征、行为与身份科学汇刊},\n  volume={2},\n  number={2},\n  pages={85--97},\n  year={2020},\n  publisher={IEEE}\n}\n```\n\n## 致谢\n我们感谢 Kensho Hara 发布了他的 [代码库](https:\u002F\u002Fgithub.com\u002Fkenshohara\u002F3D-ResNets-PyTorch)，我们的工作正是建立在其基础上。","# Real-time-GesRec 快速上手指南\n\nReal-time-GesRec 是一个基于 PyTorch 的实时手势识别开源项目，实现了利用 3D CNN 进行动态手势的检测与分类。该项目支持 EgoGesture、nvGesture 和 Jester 数据集，提供轻量级检测器和深度分类器的分层架构，适用于资源受限环境下的实时应用。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐) 或 macOS\n*   **Python**: Python 3.x\n*   **深度学习框架**: PyTorch (需支持 CUDA)\n*   **硬件**: 建议配备 NVIDIA GPU 以加速训练和推理\n\n### 依赖安装\n\n推荐使用 Conda 管理环境。您可以使用以下命令安装核心依赖（注意：原命令指定了较旧的 `cuda80`，建议根据您本地的 CUDA 版本调整，或直接安装最新版 PyTorch）：\n\n```bash\nconda install pytorch torchvision cudatoolkit -c pytorch\n```\n\n> **提示**：国内用户建议使用清华源或中科大源加速下载：\n> ```bash\n> conda install pytorch torchvision cudatoolkit -c pytorch -c https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fcloud\u002Fpytorch\u002F\n> ```\n\n## 安装步骤\n\n### 1. 克隆项目代码\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fahmetgunduz\u002FReal-time-GesRec.git\ncd Real-time-GesRec\n```\n\n### 2. 下载预训练模型\n\n项目提供了多个版本的预训练模型，可根据需求选择下载并放入项目根目录：\n\n*   **v1 版本 (论文最佳表现)**: [Google Drive 链接](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F11MJWXmFnx9shbVtsaP1V8ak_kADg0r7D\u002Fview?usp=sharing) (1.08GB)\n*   **RGB 专用模型 (检测 + 分类)**: \n    *   [Google Drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1V23zvjAKZr7FUOBLpgPZkpHGv8_D-cOs\u002Fview?usp=sharing)\n    *   [百度网盘](https:\u002F\u002Fpan.baidu.com\u002Fs\u002F114WKw0lxLfWMZA6SYSSJlw) (提取码: `p1va`)\n*   **v2 版本 (包含高效 3D-CNN 模型)**: [Google Drive 链接](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1rSWnzlOwGXjO_6C7U8eE6V43MlcnN6J_\u002Fview?usp=sharing) (15.2GB)\n\n### 3. 数据集准备 (可选)\n\n如果您需要使用 EgoGesture、nvGesture 或 Jester 数据集进行训练或测试，需先下载视频数据并按以下步骤生成标注文件。\n\n#### EgoGesture 数据集\n1. 从 [官网](http:\u002F\u002Fwww.nlpr.ia.ac.cn\u002Fiva\u002Fyfzhang\u002Fdatasets\u002Fegogesture.html) 下载视频及提取的图片。\n2. 生成帧数文件和 JSON 标注：\n\n```bash\nmkdir annotation_EgoGesture\n# 生成 N frames 文件\npython utils\u002Fego_prepare.py training trainlistall.txt all\npython utils\u002Fego_prepare.py training trainlistall_but_None.txt all_but_None\npython utils\u002Fego_prepare.py training trainlistbinary.txt binary\npython utils\u002Fego_prepare.py validation vallistall.txt all\npython utils\u002Fego_prepare.py validation vallistall_but_None.txt all_but_None\npython utils\u002Fego_prepare.py validation vallistbinary.txt binary\npython utils\u002Fego_prepare.py testing testlistall.txt all\npython utils\u002Fego_prepare.py testing testlistall_but_None.txt all_but_None\npython utils\u002Fego_prepare.py testing testlistbinary.txt binary\n\n# 生成 JSON 标注文件\npython utils\u002Fegogesture_json.py 'annotation_EgoGesture' all\npython utils\u002Fegogesture_json.py 'annotation_EgoGesture' all_but_None\npython utils\u002Fegogesture_json.py 'annotation_EgoGesture' binary\n```\n\n#### nvGesture 数据集\n1. 从 [官网](https:\u002F\u002Fresearch.nvidia.com\u002Fpublication\u002Fonline-detection-and-classification-dynamic-hand-gestures-recurrent-3d-convolutional) 下载视频。\n2. 生成帧数文件和 JSON 标注：\n\n```bash\nmkdir annotation_nvGesture\n# 生成 N frames 文件\npython utils\u002Fnv_prepare.py training trainlistall.txt all\npython utils\u002Fnv_prepare.py training trainlistall_but_None.txt all_but_None\npython utils\u002Fnv_prepare.py training trainlistbinary.txt binary\npython utils\u002Fnv_prepare.py validation vallistall.txt all\npython utils\u002Fnv_prepare.py validation vallistall_but_None.txt all_but_None\npython utils\u002Fnv_prepare.py validation vallistbinary.txt binary\n\n# 生成 JSON 标注文件\npython utils\u002Fnv_json.py 'annotation_nvGesture' all\npython utils\u002Fnv_json.py 'annotation_nvGesture' all_but_None\npython utils\u002Fnv_json.py 'annotation_nvGesture' binary\n```\n\n#### Jester 数据集\n1. 从 [官网](https:\u002F\u002F20bn.com\u002Fdatasets\u002Fjester) 下载视频。\n2. 生成 JSON 标注文件（帧数文件已提供）：\n\n```bash\npython utils\u002Fjester_json.py 'annotation_Jester'\n```\n\n## 基本使用\n\n项目主要支持离线测试\u002F训练和在线（实时）测试两种模式。\n\n### 离线测试与训练\n运行以下脚本启动离线模式的训练或测试流程（具体配置可在 `run_offline.sh` 中调整）：\n\n```bash\nbash run_offline.sh\n```\n\n### 在线实时测试\n运行以下脚本启动实时手势检测与分类演示（需连接摄像头或输入视频流）：\n\n```bash\nbash run_online.sh\n```\n\n运行成功后，您将看到类似 README 中的演示效果：左侧显示输入视频流，右侧实时显示各类手势的分类得分曲线。","某智能座舱开发团队正在为新款电动汽车构建一套无需触摸的方向盘控制系统，旨在让驾驶员通过简单的手势即可调节音量或切换导航。\n\n### 没有 Real-time-GesRec 时\n- **响应严重滞后**：传统静态图像识别方案无法理解连续动作的时间维度，导致系统必须在手势完全结束后才能开始分析，造成明显的操作延迟。\n- **误触与重复执行**：缺乏有效的时序检测机制，系统难以判断手势的起止边界，常常将同一个挥手动作识别为多次指令，或把无意的手部移动误判为命令。\n- **资源占用过高**：为了追求精度强行部署大型 3D 模型，导致车载嵌入式芯片内存爆满、功耗激增，甚至影响车辆其他核心功能的运行稳定性。\n- **开发周期漫长**：团队需从零搭建复杂的滑动窗口逻辑并手动标注海量视频帧，难以在有限的项目周期内完成模型训练与调优。\n\n### 使用 Real-time-GesRec 后\n- **毫秒级实时反馈**：利用其基于滑动窗口的层级架构，Real-time-GesRec 能在手势进行过程中即时捕捉特征，实现了接近“零延迟”的在线分类与响应。\n- **精准单次触发**：内置的检测器与分类器协同工作，结合 Levenshtein 距离评估优化，确保每个动态手势仅被准确识别一次，彻底杜绝了误触和重复指令。\n- **高效资源利用**：通过轻量级的 ResNet-10 检测网络配合高效的 3D CNN 分类器，该工具在保持高精度的同时大幅降低了显存占用和算力需求，完美适配车规级芯片。\n- **快速落地部署**：直接复用官方提供的在 EgoGesture 和 NvGesture 数据集上预训练的模型，团队省去了繁琐的数据预处理环节，将算法集成时间缩短了数周。\n\nReal-time-GesRec 通过平衡时序感知能力与计算效率，成功将高难度的动态手势识别转化为可落地的实时交互体验。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fahmetgunduz_Real-time-GesRec_b118a207.png","ahmetgunduz","Ahmet Gündüz","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fahmetgunduz_150be2b5.png","Data Scientist | Bogazici, TUM & LMU",null,"https:\u002F\u002Fgithub.com\u002Fahmetgunduz",[79,83],{"name":80,"color":81,"percentage":82},"Python","#3572A5",92.3,{"name":84,"color":85,"percentage":86},"Shell","#89e051",7.7,695,177,"2026-04-02T04:11:02","MIT","未说明","需要 NVIDIA GPU (命令中包含 cuda80)，具体显存大小未说明，建议 CUDA 8.0+",{"notes":94,"python":95,"dependencies":96},"该工具基于 PyTorch 实现，支持 EgoGesture、nvGesture 和 Jester 数据集。运行前需下载视频数据并运行提供的 Python 脚本生成标注文件。预训练模型文件大小从 371MB 到 15.2GB 不等，需根据需求自行下载。代码包含离线训练\u002F测试和在线实时检测两种模式。","3",[97,98,99],"pytorch","torchvision","cuda80",[14,101],"视频",[103,104,97,105,106,107,108,109,110,111,112],"gesture-recognition","cnn","video-processing","machine-learning","deep-neural-networks","hand-gesture-recognition","resnet","jester","egogesture","nvgesture","2026-03-27T02:49:30.150509","2026-04-11T23:24:19.765115",[116,121,126,131,136,141,145],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},30048,"在线模式下连续做两次相同手势时，为什么第二次无法被检测到？","这通常是由于基于规则的过滤器（rule-based filter）导致的。在调试时发现，虽然动作被早期检测到了，但被代码中的逻辑忽略（具体参考 online_test.py 第 316 行附近的逻辑）。当同一个手势连续出现时，系统可能将其视为同一事件的延续而非新事件，从而过滤掉了第二次预测。建议检查并调整 online_test.py 中的过滤规则或状态重置逻辑。","https:\u002F\u002Fgithub.com\u002Fahmetgunduz\u002FReal-time-GesRec\u002Fissues\u002F9",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},30049,"数据集目录中缺少 'n_frames' 文件夹导致 FileNotFoundError 错误，该如何解决？","该问题通常是因为代码版本过旧或数据集路径配置不正确。维护者已更新代码以修复此问题（提交记录 55eb514）。请尝试拉取最新的仓库代码（git pull）。如果问题依旧，请检查数据集结构，确认是否需要手动创建包含视频帧的 'n_frames' 目录，或者确认 annotation 文件中的路径是否与实际文件结构（如 sk_color_all 等目录）匹配。","https:\u002F\u002Fgithub.com\u002Fahmetgunduz\u002FReal-time-GesRec\u002Fissues\u002F7",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},30050,"使用 Jester 预训练模型微调 EgoGesture 数据集时，出现 'size mismatch' 维度不匹配错误怎么办？","这是因为 Jester（27 类）和 EgoGesture（83 类）的手势类别数量不同，导致全连接层（fc.weight 和 fc.bias）形状不匹配。解决方法是在运行脚本时正确设置类别参数。确保在命令行参数中设置 '--n_classes 83' 和 '--n_finetune_classes 83'，以便模型初始化时适配新的类别数量，从而加载预训练权重时只匹配骨干网络部分，重新初始化分类头。","https:\u002F\u002Fgithub.com\u002Fahmetgunduz\u002FReal-time-GesRec\u002Fissues\u002F50",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},30051,"加载预训练模型进行离线测试时，出现 conv1.weight 形状不匹配错误（如 [64, 3, 7, 7, 7] vs [64, 3, 3, 7, 7]），如何解决？","这通常是由于参数配置错误导致的，特别是验证样本数量的设置。用户反馈发现将参数 'n_val_samples' 设置为 1 可以解决此问题。请检查你的 bash 启动脚本或命令行参数，确保添加或修改为 '--n_val_samples 1'。","https:\u002F\u002Fgithub.com\u002Fahmetgunduz\u002FReal-time-GesRec\u002Fissues\u002F11",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},30052,"如何使用 Depth（深度）模态的预训练模型来训练 Color（RGB）模态的模型？","直接加载 Depth 模型权重到 RGB 模型会报错，因为输入通道数不匹配（Depth 通常为 1 通道，RGB 为 3 通道）。你不能直接使用 '--pretrain_path' 加载不同模态的权重。正确的做法是：要么从头训练 RGB 模型，要么寻找专门针对 RGB 模态训练的预训练模型（如 jester_resnext_101_RGB_32.pth）。如果必须迁移学习，需要手动修改模型代码，仅加载骨干网络中不依赖输入通道数的层，或者修改第一层卷积以适应通道变化，但这通常需要自定义脚本而非简单的命令行参数。","https:\u002F\u002Fgithub.com\u002Fahmetgunduz\u002FReal-time-GesRec\u002Fissues\u002F66",{"id":142,"question_zh":143,"answer_zh":144,"source_url":130},30053,"训练过程中遇到 'CUDA out of memory' 显存不足错误，应该如何调整？","最直接有效的解决方案是减小批处理大小（batch_size）。在启动脚本中将 '--batch_size' 参数调小（例如从 64 改为 32 或 16，甚至更小如 1），直到显存占用低于显卡上限。虽然这可能会增加训练所需的 epoch 数量，但能保证代码正常运行并收敛。此外，确保没有在其他程序中占用大量显存。",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},30054,"模型预测结果随机或每次重新加载 .pth 文件后预测结果发生变化，可能的原因是什么？","这种情况通常是因为模型处于训练模式（training mode）而非评估模式（eval mode），导致 Dropout 或 BatchNorm 层行为不一致。在加载预训练模型后进行推理前，务必调用 model.eval()。此外，检查所有参数设置（如 num_classes, sample_size, norm_value 等）是否与预训练模型训练时的配置完全一致，任何不匹配都可能导致输出异常。","https:\u002F\u002Fgithub.com\u002Fahmetgunduz\u002FReal-time-GesRec\u002Fissues\u002F2",[]]