[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-CharlesShang--TFFRCNN":3,"tool-CharlesShang--TFFRCNN":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 真正成长为懂上",159636,2,"2026-04-17T23:33:34",[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":77,"owner_email":78,"owner_twitter":79,"owner_website":79,"owner_url":80,"languages":81,"stars":106,"forks":107,"last_commit_at":108,"license":109,"difficulty_score":110,"env_os":111,"env_gpu":112,"env_ram":113,"env_deps":114,"category_tags":124,"github_topics":125,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":132,"updated_at":133,"faqs":134,"releases":169},9016,"CharlesShang\u002FTFFRCNN","TFFRCNN","FastER RCNN built on tensorflow","TFFRCNN 是一个基于 TensorFlow 框架实现的 Faster R-CNN 目标检测开源项目。它旨在解决图像中多物体的精准定位与识别问题，将经典的深度学习检测算法移植到 TensorFlow 生态中，让开发者能更便捷地利用该框架进行训练和推理。\n\n这款工具特别适合计算机视觉领域的研究人员、算法工程师以及希望深入理解目标检测原理的开发者使用。相较于原始实现，TFFRCNN 对代码库进行了重构，使各个 Python 模块相互独立，显著提升了代码的可读性与二次开发的便利性。\n\n在技术亮点方面，TFFRCNN 不仅支持经典的 VGG16 骨干网络，还扩展了对 ResNet 系列及 PVANet 的支持，并集成了硬样本挖掘（Hard Example Mining）和数据增强等实用策略，有助于提升模型在复杂场景下的检测精度。此外，它还提供了对 KITTI 数据集的支持以及位置敏感 ROI 池化等前沿实验性功能。对于想要从零开始复现论文结果、定制专属检测模型或学习 TensorFlow 底层实现的用户来说，TFFRCNN 提供了一个结构清晰、功能丰富的优质起点。","# TFFRCNN\n\nThis is an experimental **T**ensor **F**low implementation of **F**aster **RCNN** (**TFFRCNN**), mainly based on the work of [smallcorgi](https:\u002F\u002Fgithub.com\u002Fsmallcorgi\u002FFaster-RCNN_TF) and [rbgirshick](https:\u002F\u002Fgithub.com\u002Frbgirshick\u002Fpy-faster-rcnn). I have re-organized the libraries under `lib` path, making each of python modules independent to each other, so you can understand, re-write the code easily.\n\nFor details about R-CNN please refer to the paper [Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks](http:\u002F\u002Farxiv.org\u002Fpdf\u002F1506.01497v3.pdf) by Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun.\n\n### What's New\n\n- [x] Resnet networks support\n- [x] KITTI object detection dataset support\n- [x] **P**osition **S**ensitive **ROI Pooling** (psroi_pooling), not testing yet\n- [x] Hard Example Mining\n- [x] Data Augment\n- [x] PVANet\n- [x] Tensorflow 1.0\n- [ ] R-FCN\n- [ ] Multi-layer Architecture (HyperNet)\n- [ ] more hacks...\n\n### Acknowledgments: \n\n1. [py-faster-rcnn](https:\u002F\u002Fgithub.com\u002Frbgirshick\u002Fpy-faster-rcnn)\n\n2. [Faster-RCNN_TF](https:\u002F\u002Fgithub.com\u002Fsmallcorgi\u002FFaster-RCNN_TF)\n\n3. [ROI pooling](https:\u002F\u002Fgithub.com\u002Fzplizzi\u002Ftensorflow-fast-rcnn)\n\n### Requirements: software\n\n1. Requirements for Tensorflow (see: [Tensorflow](https:\u002F\u002Fwww.tensorflow.org\u002F))\n\n2. Python packages you might not have: `cython`, `python-opencv`, `easydict` (recommend to install: [Anaconda](https:\u002F\u002Fwww.continuum.io\u002Fdownloads))\n\n### Requirements: hardware\n\n1. For training the end-to-end version of Faster R-CNN with VGG16, 3G of GPU memory is sufficient (using CUDNN)\n\n### Installation (sufficient for the demo)\n\n1. Clone the Faster R-CNN repository\n  ```Shell\n  git clone https:\u002F\u002Fgithub.com\u002FCharlesShang\u002FTFFRCNN.git\n  ```\n\n2. Build the Cython modules\n    ```Shell\n    cd TFFRCNN\u002Flib\n    make # compile cython and roi_pooling_op, you may need to modify make.sh for your platform\n    ```\n\n### Demo\n\n*After successfully completing [basic installation](#installation-sufficient-for-the-demo)*, you'll be ready to run the demo.\n\nTo run the demo\n```Shell\ncd $TFFRCNN\npython .\u002Ffaster_rcnn\u002Fdemo.py --model model_path\n```\nThe demo performs detection using a VGG16 network trained for detection on PASCAL VOC 2007.\n\n### Download list\n\n1. [VGG16 trained on ImageNet](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0ByuDEGFYmWsbNVF5eExySUtMZmM)\n\n2. [VGG16 - TFFRCNN (0.689 mAP on VOC07)](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F0B_xFdh9onPagX0JWRlR0cTZ5OGc\u002Fview?usp=sharing).\n\n3. [VGG16 - TFFRCNN (0.748 mAP on VOC07)](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F0B_xFdh9onPagVmt5VHlCU25vUEE\u002Fview?usp=sharing)\n\n4. [Resnet50 trained on ImageNet](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F0B_xFdh9onPagSWU1ZTAxUTZkZTQ\u002Fview?usp=sharing)\n\n5. [Resnet50 - TFFRCNN (0.712 mAP on VOC07)](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F0B_xFdh9onPagbXk1b0FIeDRJaU0\u002Fview?usp=sharing)\n\n6. [PVANet trained on ImageNet, converted from caffemodel](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B_xFdh9onPagQnJBdWl3VGQxam8)\n\n### Training on Pascal VOC 2007\n\n1. Download the training, validation, test data and VOCdevkit\n\n    ```Shell\n    wget http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2007\u002FVOCtrainval_06-Nov-2007.tar\n    wget http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2007\u002FVOCtest_06-Nov-2007.tar\n    wget http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2007\u002FVOCdevkit_08-Jun-2007.tar\n    ```\n\n2. Extract all of these tars into one directory named `VOCdevkit`\n\n    ```Shell\n    tar xvf VOCtrainval_06-Nov-2007.tar\n    tar xvf VOCtest_06-Nov-2007.tar\n    tar xvf VOCdevkit_08-Jun-2007.tar\n    ```\n\n3. It should have this basic structure\n\n    ```Shell\n    $VOCdevkit\u002F                           # development kit\n    $VOCdevkit\u002FVOCcode\u002F                   # VOC utility code\n    $VOCdevkit\u002FVOC2007                    # image sets, annotations, etc.\n    # ... and several other directories ...\n    ```\n\n4. Create symlinks for the PASCAL VOC dataset\n\n    ```Shell\n    cd $TFFRCNN\u002Fdata\n    ln -s $VOCdevkit VOCdevkit2007\n    ```\n\n5. Download pre-trained model [VGG16](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0ByuDEGFYmWsbNVF5eExySUtMZmM) and put it in the path `.\u002Fdata\u002Fpretrain_model\u002FVGG_imagenet.npy`\n\n6. Run training scripts \n\n    ```Shell\n    cd $TFFRCNN\n    python .\u002Ffaster_rcnn\u002Ftrain_net.py --gpu 0 --weights .\u002Fdata\u002Fpretrain_model\u002FVGG_imagenet.npy --imdb voc_2007_trainval --iters 70000 --cfg  .\u002Fexperiments\u002Fcfgs\u002Ffaster_rcnn_end2end.yml --network VGGnet_train --set EXP_DIR exp_dir\n    ```\n\n7. Run a profiling\n\n    ```Shell\n    cd $TFFRCNN\n    # install a visualization tool\n    sudo apt-get install graphviz  \n    .\u002Fexperiments\u002Fprofiling\u002Frun_profiling.sh \n    # generate an image .\u002Fexperiments\u002Fprofiling\u002Fprofile.png\n    ```\n\n### Training on KITTI detection dataset\n\n1. Download the KITTI detection dataset\n\n    ```\n    http:\u002F\u002Fwww.cvlibs.net\u002Fdatasets\u002Fkitti\u002Feval_object.php\n    ```\n\n2. Extract all of these tar into `.\u002FTFFRCNN\u002Fdata\u002F` and the directory structure looks like this:\n    \n    ```\n    KITTI\n        |-- training\n                |-- image_2\n                    |-- [000000-007480].png\n                |-- label_2\n                    |-- [000000-007480].txt\n        |-- testing\n                |-- image_2\n                    |-- [000000-007517].png\n                |-- label_2\n                    |-- [000000-007517].txt\n    ```\n\n3. Convert KITTI into Pascal VOC format\n    \n    ```Shell\n    cd $TFFRCNN\n    .\u002Fexperiments\u002Fscripts\u002Fkitti2pascalvoc.py \\\n    --kitti $TFFRCNN\u002Fdata\u002FKITTI --out $TFFRCNN\u002Fdata\u002FKITTIVOC\n    ```\n\n4. The output directory looks like this:\n\n    ```\n    KITTIVOC\n        |-- Annotations\n                |-- [000000-007480].xml\n        |-- ImageSets\n                |-- Main\n                    |-- [train|val|trainval].txt\n        |-- JPEGImages\n                |-- [000000-007480].jpg\n    ```\n\n5. Training on `KITTIVOC` is just like on Pascal VOC 2007\n\n    ```Shell\n    python .\u002Ffaster_rcnn\u002Ftrain_net.py \\\n    --gpu 0 \\\n    --weights .\u002Fdata\u002Fpretrain_model\u002FVGG_imagenet.npy \\\n    --imdb kittivoc_train \\\n    --iters 160000 \\\n    --cfg .\u002Fexperiments\u002Fcfgs\u002Ffaster_rcnn_kitti.yml \\\n    --network VGGnet_train\n    ```\n\n\n","# TFFRCNN\n\n这是一个基于 TensorFlow 的 Faster R-CNN 实验性实现（TFFRCNN），主要参考了 [smallcorgi](https:\u002F\u002Fgithub.com\u002Fsmallcorgi\u002FFaster-RCNN_TF) 和 [rbgirshick](https:\u002F\u002Fgithub.com\u002Frbgirshick\u002Fpy-faster-rcnn) 的工作。我重新组织了 `lib` 目录下的代码库，使每个 Python 模块相互独立，便于理解和修改。\n\n有关 R-CNN 的详细信息，请参阅 Shaoqing Ren、Kaiming He、Ross Girshick 和 Jian Sun 发表的论文《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》（http:\u002F\u002Farxiv.org\u002Fpdf\u002F1506.01497v3.pdf）。\n\n### 新特性\n\n- [x] 支持 ResNet 网络\n- [x] 支持 KITTI 目标检测数据集\n- [x] **P**osition **S**ensitive **ROI Pooling**（psroi_pooling），尚未测试\n- [x] 困难样本挖掘\n- [x] 数据增强\n- [x] PVANet\n- [x] TensorFlow 1.0\n- [ ] R-FCN\n- [ ] 多层架构（HyperNet）\n- [ ] 更多技巧...\n\n### 致谢：\n\n1. [py-faster-rcnn](https:\u002F\u002Fgithub.com\u002Frbgirshick\u002Fpy-faster-rcnn)\n\n2. [Faster-RCNN_TF](https:\u002F\u002Fgithub.com\u002Fsmallcorgi\u002FFaster-RCNN_TF)\n\n3. [ROI pooling](https:\u002F\u002Fgithub.com\u002Fzplizzi\u002Ftensorflow-fast-rcnn)\n\n### 软件要求\n\n1. TensorFlow 的依赖项（详见：[TensorFlow](https:\u002F\u002Fwww.tensorflow.org\u002F)）\n\n2. 您可能尚未安装的 Python 包：`cython`、`python-opencv`、`easydict`（建议安装 [Anaconda](https:\u002F\u002Fwww.continuum.io\u002Fdownloads)）\n\n### 硬件要求\n\n1. 使用 VGG16 训练端到端版本的 Faster R-CNN 时，3GB 显存即可（使用 CUDNN）。\n\n### 安装（适用于演示）\n\n1. 克隆 Faster R-CNN 仓库：\n   ```Shell\n   git clone https:\u002F\u002Fgithub.com\u002FCharlesShang\u002FTFFRCNN.git\n   ```\n\n2. 构建 Cython 模块：\n   ```Shell\n   cd TFFRCNN\u002Flib\n   make # 编译 cython 和 roi_pooling_op，您可能需要根据您的平台修改 make.sh\n   ```\n\n### 演示\n\n*在成功完成 [基本安装](#installation-sufficient-for-the-demo)* 后，您就可以运行演示了。\n\n运行演示：\n```Shell\ncd $TFFRCNN\npython .\u002Ffaster_rcnn\u002Fdemo.py --model model_path\n```\n该演示使用在 PASCAL VOC 2007 数据集上训练的 VGG16 网络进行目标检测。\n\n### 下载列表\n\n1. [在 ImageNet 上预训练的 VGG16](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0ByuDEGFYmWsbNVF5eExySUtMZmM)\n\n2. [VGG16 - TFFRCNN（VOC07 上 mAP 为 0.689）](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F0B_xFdh9onPagX0JWRlR0cTZ5OGc\u002Fview?usp=sharing)\n\n3. [VGG16 - TFFRCNN（VOC07 上 mAP 为 0.748）](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F0B_xFdh9onPagVmt5VHlCU25vUEE\u002Fview?usp=sharing)\n\n4. [在 ImageNet 上预训练的 ResNet50](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F0B_xFdh9onPagSWU1ZTAxUTZkZTQ\u002Fview?usp=sharing)\n\n5. [ResNet50 - TFFRCNN（VOC07 上 mAP 为 0.712）](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F0B_xFdh9onPagbXk1b0FIeDRJaU0\u002Fview?usp=sharing)\n\n6. [在 ImageNet 上预训练并从 caffemodel 转换而来的 PVANet](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0B_xFdh9onPagQnJBdWl3VGQxam8)\n\n### 在 PASCAL VOC 2007 上训练\n\n1. 下载训练、验证、测试数据及 VOCdevkit：\n   ```Shell\n   wget http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2007\u002FVOCtrainval_06-Nov-2007.tar\n   wget http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2007\u002FVOCtest_06-Nov-2007.tar\n   wget http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2007\u002FVOCdevkit_08-Jun-2007.tar\n   ```\n\n2. 将所有 tar 文件解压到名为 `VOCdevkit` 的目录中：\n   ```Shell\n   tar xvf VOCtrainval_06-Nov-2007.tar\n   tar xvf VOCtest_06-Nov-2007.tar\n   tar xvf VOCdevkit_08-Jun-2007.tar\n   ```\n\n3. 目录结构应如下所示：\n   ```Shell\n   $VOCdevkit\u002F                           # 开发工具包\n   $VOCdevkit\u002FVOCcode\u002F                   # VOC 工具代码\n   $VOCdevkit\u002FVOC2007                    # 图像集、标注等\n   # ... 还有其他几个目录 ...\n   ```\n\n4. 为 PASCAL VOC 数据集创建符号链接：\n   ```Shell\n   cd $TFFRCNN\u002Fdata\n   ln -s $VOCdevkit VOCdevkit2007\n   ```\n\n5. 下载预训练模型 [VGG16](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0ByuDEGFYmWsbNVF5eExySUtMZmM)，并将其放置在路径 `.\u002Fdata\u002Fpretrain_model\u002FVGG_imagenet.npy` 中。\n\n6. 运行训练脚本：\n   ```Shell\n   cd $TFFRCNN\n   python .\u002Ffaster_rcnn\u002Ftrain_net.py --gpu 0 --weights .\u002Fdata\u002Fpretrain_model\u002FVGG_imagenet.npy --imdb voc_2007_trainval --iters 70000 --cfg .\u002Fexperiments\u002Fcfgs\u002Ffaster_rcnn_end2end.yml --network VGGnet_train --set EXP_DIR exp_dir\n   ```\n\n7. 运行性能分析：\n   ```Shell\n   cd $TFFRCNN\n   # 安装可视化工具\n   sudo apt-get install graphviz  \n   .\u002Fexperiments\u002Fprofiling\u002Frun_profiling.sh \n   # 生成图像 .\u002Fexperiments\u002Fprofiling\u002Fprofile.png\n   ```\n\n### 在 KITTI 目标检测数据集上训练\n\n1. 下载 KITTI 目标检测数据集：\n   ```\n   http:\u002F\u002Fwww.cvlibs.net\u002Fdatasets\u002Fkitti\u002Feval_object.php\n   ```\n\n2. 将所有 tar 文件解压到 `.\u002FTFFRCNN\u002Fdata\u002F` 目录中，目录结构如下：\n   ```\n   KITTI\n       |-- training\n               |-- image_2\n                   |-- [000000-007480].png\n               |-- label_2\n                   |-- [000000-007480].txt\n       |-- testing\n               |-- image_2\n                   |-- [000000-007517].png\n               |-- label_2\n                   |-- [000000-007517].txt\n   ```\n\n3. 将 KITTI 转换为 PASCAL VOC 格式：\n   ```Shell\n   cd $TFFRCNN\n   .\u002Fexperiments\u002Fscripts\u002Fkitti2pascalvoc.py \\\n   --kitti $TFFRCNN\u002Fdata\u002FKITTI --out $TFFRCNN\u002Fdata\u002FKITTIVOC\n   ```\n\n4. 输出目录结构如下：\n   ```\n   KITTIVOC\n       |-- Annotations\n               |-- [000000-007480].xml\n       |-- ImageSets\n               |-- Main\n                   |-- [train|val|trainval].txt\n       |-- JPEGImages\n               |-- [000000-007480].jpg\n   ```\n\n5. 在 `KITTIVOC` 上的训练方式与在 PASCAL VOC 2007 上的训练相同：\n   ```Shell\n   python .\u002Ffaster_rcnn\u002Ftrain_net.py \\\n   --gpu 0 \\\n   --weights .\u002Fdata\u002Fpretrain_model\u002FVGG_imagenet.npy \\\n   --imdb kittivoc_train \\\n   --iters 160000 \\\n   --cfg .\u002Fexperiments\u002Fcfgs\u002Ffaster_rcnn_kitti.yml \\\n   --network VGGnet_train\n   ```","# TFFRCNN 快速上手指南\n\nTFFRCNN 是一个基于 TensorFlow 的 Faster R-CNN 实验性实现。该项目重构了代码库，使各 Python 模块相互独立，便于理解、修改和二次开发。支持 VGG16、ResNet、PVANet 等骨干网络，并兼容 PASCAL VOC 和 KITTI 数据集。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐 Ubuntu)\n- **GPU**: 训练 VGG16 端到端版本至少需要 3GB 显存（需安装 CUDA 和 cuDNN）\n- **Python**: 建议通过 [Anaconda](https:\u002F\u002Fwww.continuum.io\u002Fdownloads) 管理环境\n\n### 前置依赖\n确保已安装以下软件包：\n- **TensorFlow**: 参考 [官方文档](https:\u002F\u002Fwww.tensorflow.org\u002F) 安装（本项目基于 TF 1.0+）\n- **Python 库**:\n  ```bash\n  pip install cython python-opencv easydict\n  ```\n  *注：国内用户可使用清华源加速安装：`pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple ...`*\n\n## 安装步骤\n\n1. **克隆仓库**\n   ```Shell\n   git clone https:\u002F\u002Fgithub.com\u002FCharlesShang\u002FTFFRCNN.git\n   cd TFFRCNN\n   ```\n\n2. **编译 Cython 模块**\n   进入 `lib` 目录并执行编译（可能需要根据平台修改 `make.sh`）：\n   ```Shell\n   cd lib\n   make\n   ```\n   *此步骤将编译 `cython` 模块和 `roi_pooling_op`。*\n\n## 基本使用\n\n### 运行演示 (Demo)\n在完成上述安装后，即可运行预训练模型进行目标检测演示。\n\n1. **下载预训练模型**\n   下载在 PASCAL VOC 2007 上训练的 VGG16 模型：\n   - [VGG16 - TFFRCNN (0.748 mAP)](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F0B_xFdh9onPagVmt5VHlCU25vUEE\u002Fview?usp=sharing)\n   \n   将下载的文件放置于项目目录中，记下路径（例如 `model_path`）。\n\n2. **执行检测脚本**\n   ```Shell\n   cd $TFFRCNN\n   python .\u002Ffaster_rcnn\u002Fdemo.py --model model_path\n   ```\n   *该命令将加载 VGG16 网络并对默认图片进行检测。*\n\n### 快速开始训练 (PASCAL VOC 2007)\n\n若需从头训练，请按以下步骤操作：\n\n1. **准备数据集**\n   ```Shell\n   # 下载数据\n   wget http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2007\u002FVOCtrainval_06-Nov-2007.tar\n   wget http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2007\u002FVOCtest_06-Nov-2007.tar\n   wget http:\u002F\u002Fhost.robots.ox.ac.uk\u002Fpascal\u002FVOC\u002Fvoc2007\u002FVOCdevkit_08-Jun-2007.tar\n   \n   # 解压到同一目录 VOCdevkit\n   tar xvf VOCtrainval_06-Nov-2007.tar\n   tar xvf VOCtest_06-Nov-2007.tar\n   tar xvf VOCdevkit_08-Jun-2007.tar\n   ```\n\n2. **创建软链接**\n   ```Shell\n   cd $TFFRCNN\u002Fdata\n   ln -s $VOCdevkit VOCdevkit2007\n   ```\n\n3. **准备预训练权重**\n   下载 [ImageNet 预训练的 VGG16](https:\u002F\u002Fdrive.google.com\u002Fopen?id=0ByuDEGFYmWsbNVF5eExySUtMZmM)，并重命名为 `VGG_imagenet.npy` 放入 `.\u002Fdata\u002Fpretrain_model\u002F` 目录。\n\n4. **启动训练**\n   ```Shell\n   cd $TFFRCNN\n   python .\u002Ffaster_rcnn\u002Ftrain_net.py --gpu 0 --weights .\u002Fdata\u002Fpretrain_model\u002FVGG_imagenet.npy --imdb voc_2007_trainval --iters 70000 --cfg .\u002Fexperiments\u002Fcfgs\u002Ffaster_rcnn_end2end.yml --network VGGnet_train --set EXP_DIR exp_dir\n   ```","某自动驾驶初创团队的算法工程师正在开发一套路侧感知系统，需要从监控视频流中实时、精准地识别车辆与行人以辅助决策。\n\n### 没有 TFFRCNN 时\n- **框架迁移成本高**：团队熟悉 TensorFlow 生态，但主流高性能实现多基于 Caffe 或 PyTorch，强行跨框架移植代码导致调试周期长达数周。\n- **模型迭代效率低**：缺乏模块化设计，想要替换骨干网络（如从 VGG16 升级为 ResNet）需重构大量底层逻辑，难以快速验证新架构效果。\n- **复杂场景漏检率高**：面对密集车流或小目标行人，基础检测器缺乏“困难样本挖掘”（Hard Example Mining）机制，导致关键目标频繁漏检。\n- **数据增强支持弱**：原生流程缺少灵活的数据增强配置，模型在光照变化或恶劣天气下的泛化能力不足，实地测试表现不稳定。\n\n### 使用 TFFRCNN 后\n- **原生无缝集成**：直接利用基于 TensorFlow 重构的独立模块，无需跨语言转换，环境搭建与代码理解时间缩短 80%。\n- **架构灵活切换**：借助内置的 ResNet 与 PVANet 支持，仅需修改配置文件即可一键切换骨干网络，快速将 mAP 从 0.689 提升至 0.748。\n- **精准捕捉难点**：启用硬例挖掘功能后，模型自动聚焦难分类样本，显著降低了密集路况下的车辆漏检率与行人误报率。\n- **鲁棒性大幅增强**：结合内置数据增强策略，系统在夜间及雨雾场景中的识别稳定性得到质的飞跃，满足车规级测试要求。\n\nTFFRCNN 通过提供模块化、可定制的 TensorFlow 原生实现，让团队在保持技术栈统一的同时，高效突破了高精度实时检测的性能瓶颈。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FCharlesShang_TFFRCNN_d3c84583.png","CharlesShang","Charles Shang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FCharlesShang_902e538e.png","It's a big universe. ","Tsinghua University","Beijing","shangchong90@gmail.com",null,"https:\u002F\u002Fgithub.com\u002FCharlesShang",[82,86,90,94,98,102],{"name":83,"color":84,"percentage":85},"Python","#3572A5",90.8,{"name":87,"color":88,"percentage":89},"C++","#f34b7d",6.7,{"name":91,"color":92,"percentage":93},"C","#555555",1.2,{"name":95,"color":96,"percentage":97},"Shell","#89e051",0.7,{"name":99,"color":100,"percentage":101},"Cuda","#3A4E3A",0.6,{"name":103,"color":104,"percentage":105},"Makefile","#427819",0,872,410,"2026-02-13T11:58:03","MIT",4,"Linux","需要 NVIDIA GPU，显存至少 3GB（使用 VGG16 模型训练时），需支持 CUDNN","未说明",{"notes":115,"python":116,"dependencies":117},"该项目基于 TensorFlow 1.0 版本。安装时需要编译 Cython 模块和 ROI pooling 算子（需运行 make 命令，可能需要根据平台修改 make.sh）。支持 VGG16、ResNet 和 PVANet 骨干网络。训练前需手动下载预训练模型文件（如 ImageNet 上的 VGG16 权重）并放置到指定目录。","未说明 (推荐通过 Anaconda 安装)",[118,119,120,121,122,123],"tensorflow>=1.0","cython","python-opencv","easydict","numpy","matplotlib",[14,15],[126,127,128,129,130,131],"detection","rcnn","tensorflow","pvanet","faster-rcnn","pedestrian","2026-03-27T02:49:30.150509","2026-04-18T17:04:12.859394",[135,140,145,150,154,159,164],{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},40434,"如何在 lib 目录下成功执行 make 编译（特别是遇到 gcc 版本相关问题时）？","在 lib 目录运行 make 时，确保已正确安装 CUDA 库（如 libcublas, libcudnn 等）并被 TensorFlow 识别。如果遇到编译错误，请检查 gcc\u002Fg++ 版本兼容性。部分用户在使用较旧版本（如 gcc 4.7）时遇到问题，建议尝试升级编译器或使用与 TensorFlow 预编译版本匹配的编译器环境。同时确认 Cython 扩展（如 bbox.c, nms.c）已正确生成。","https:\u002F\u002Fgithub.com\u002FCharlesShang\u002FTFFRCNN\u002Fissues\u002F37",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},40429,"运行 demo 时遇到 'undefined symbol' 错误（如 _ZN10tensorflow7strings6StrCatB5cxx11...）怎么办？","这是由 GCC 编译器 ABI 版本不兼容导致的。解决方法是在编译 roi_pooling layer 和 psroi_pooling layer 时，向 g++ 命令添加标志 \"-D_GLIBCXX_USE_CXX11_ABI=0\"。这通常能解决 TensorFlow 预编译二进制文件与自定义算子编译环境之间的符号未定义问题。","https:\u002F\u002Fgithub.com\u002FCharlesShang\u002FTFFRCNN\u002Fissues\u002F2",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},40430,"训练时出现 'AttributeError: NoneType object has no attribute model_checkpoint_path' 错误如何解决？","该错误通常是因为程序试图恢复不存在的预训练模型。可以在运行训练脚本时添加参数 '--restore 0' 来跳过模型恢复步骤，从头开始训练。例如：python train_net.py --restore 0。","https:\u002F\u002Fgithub.com\u002FCharlesShang\u002FTFFRCNN\u002Fissues\u002F39",{"id":151,"question_zh":152,"answer_zh":153,"source_url":149},40431,"训练过程中遇到 'Resource exhausted: OOM' (显存不足) 错误怎么办？","显存不足可能由硬件资源限制引起。除了减小 batch size 或图像输入尺寸外，有用户反馈该问题可能与电源供电不足有关（特别是在使用高功耗 GPU 如 GTX 1060\u002F1080 时）。如果软件层面调整无效，建议检查电源功率是否足够（例如从 500W 升级到 600W），以确保 GPU 在高负载下稳定运行。",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},40432,"将骨干网络从 VGG 替换为 ResNet50 或 ResNet101 后，mAP 提升不明显或结果很差的原因是什么？","如果使用转换后的 ResNet 模型效果不佳，可能是模型权重转换不准确（特别是 Batch Normalization 层的参数）。此外，根据社区反馈，在 Pascal VOC 07 数据集上，ResNet101 的 mAP 约为 70.4%，而原始论文报告使用 07+12 数据训练可达 73.8%。瓶颈可能在于训练数据量不足，而非模型结构本身。ResNet50 和 ResNet101 在此任务上的差距可能很小（约 0.6%），但 ResNet101 模型体积大得多。","https:\u002F\u002Fgithub.com\u002FCharlesShang\u002FTFFRCNN\u002Fissues\u002F7",{"id":160,"question_zh":161,"answer_zh":162,"source_url":163},40433,"为什么我的训练速度随着迭代次数增加而变慢，尽管日志显示每步耗时不变？","这是一个已知现象，虽然单步迭代时间（如 0.2s\u002Fiter）在日志中看起来恒定，但总耗时随迭代次数非线性增加。维护者已关闭相关议题，表明这可能是由于数据加载队列堆积、内存碎片化或 TensorFlow 会话状态累积导致的正常行为，通常不影响最终模型收敛，无需特殊处理。","https:\u002F\u002Fgithub.com\u002FCharlesShang\u002FTFFRCNN\u002Fissues\u002F4",{"id":165,"question_zh":166,"answer_zh":167,"source_url":168},40435,"如何获取模型的 mAP（平均精度均值）评估结果？","项目本身可能在训练结束后自动输出 mAP，或者需要运行专门的评估脚本。如果在训练日志中未看到 mAP，请检查是否调用了评估函数。有用户反映训练 70k 次迭代后 mAP 仅为 50% 甚至更低，这可能与学习率设置、数据增强策略或预训练模型质量有关。建议参考官方 README 中的评估步骤，并确保测试集标注格式正确。","https:\u002F\u002Fgithub.com\u002FCharlesShang\u002FTFFRCNN\u002Fissues\u002F3",[]]