[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-fidler-lab--polyrnn-pp-pytorch":3,"tool-fidler-lab--polyrnn-pp-pytorch":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":81,"owner_twitter":80,"owner_website":82,"owner_url":83,"languages":80,"stars":84,"forks":85,"last_commit_at":86,"license":80,"difficulty_score":87,"env_os":88,"env_gpu":89,"env_ram":90,"env_deps":91,"category_tags":98,"github_topics":99,"view_count":23,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":107,"updated_at":108,"faqs":109,"releases":139},3209,"fidler-lab\u002Fpolyrnn-pp-pytorch","polyrnn-pp-pytorch","PyTorch training\u002Ftool code for Polygon-RNN++ (CVPR 2018)","polyrnn-pp-pytorch 是经典论文 Polygon-RNN++（CVPR 2018）的官方 PyTorch 复现版本，旨在通过人工智能技术大幅提升图像分割数据集的标注效率。在传统流程中，研究人员需要手动逐点描绘物体轮廓，耗时且枯燥；而 polyrnn-pp-pytorch 能够根据用户点击的起始点，自动预测并生成闭合的多边形边界框，将繁琐的手工绘制转化为高效的人机交互式修正，显著缩短了数据准备周期。\n\n该工具主要面向计算机视觉领域的研究人员、算法工程师以及需要构建高质量分割数据集的开发团队。它不仅提供了完整的模型训练代码，支持从基础的极大似然估计（MLE）到强化学习（RL）、评估器（Evaluator）及图神经网络（GGNN）等多种先进训练策略，还配备了基于 Flask 的本地演示工具，让用户能直观体验实时标注过程。其核心技术亮点在于结合了卷积 LSTM 与图神经网络，并采用了共享编码器架构，在保持高精度的同时实现了极快的推理速度（单次交互仅需约 0.3 秒）。如果你正在从事语义分割相关研究或需要处理大规模标注任务，polyrnn-pp-pytorch 提供了一个经过验证","polyrnn-pp-pytorch 是经典论文 Polygon-RNN++（CVPR 2018）的官方 PyTorch 复现版本，旨在通过人工智能技术大幅提升图像分割数据集的标注效率。在传统流程中，研究人员需要手动逐点描绘物体轮廓，耗时且枯燥；而 polyrnn-pp-pytorch 能够根据用户点击的起始点，自动预测并生成闭合的多边形边界框，将繁琐的手工绘制转化为高效的人机交互式修正，显著缩短了数据准备周期。\n\n该工具主要面向计算机视觉领域的研究人员、算法工程师以及需要构建高质量分割数据集的开发团队。它不仅提供了完整的模型训练代码，支持从基础的极大似然估计（MLE）到强化学习（RL）、评估器（Evaluator）及图神经网络（GGNN）等多种先进训练策略，还配备了基于 Flask 的本地演示工具，让用户能直观体验实时标注过程。其核心技术亮点在于结合了卷积 LSTM 与图神经网络，并采用了共享编码器架构，在保持高精度的同时实现了极快的推理速度（单次交互仅需约 0.3 秒）。如果你正在从事语义分割相关研究或需要处理大规模标注任务，polyrnn-pp-pytorch 提供了一个经过验证的高效解决方案。","# PolygonRNN++\n\nThis is the official PyTorch reimplementation of Polygon-RNN++ (CVPR 2018). This repository allows you to train new Polygon-RNN++ models, and run our demo tool on local machines. For technical details, please refer to:\n\n**Efficient Interactive Annotation of Segmentation Datasets with Polygon-RNN++**  \n[David Acuna](http:\u002F\u002Fwww.cs.toronto.edu\u002F~davidj\u002F)\\*, [Huan Ling](http:\u002F\u002F\u002Fwww.cs.toronto.edu\u002F~linghuan\u002F)\\*, [Amlan Kar](http:\u002F\u002Fwww.cs.toronto.edu\u002F~amlan\u002F)\\*, [Sanja Fidler](http:\u002F\u002Fwww.cs.toronto.edu\u002F~fidler\u002F) (\\* denotes equal contribution)   \nCVPR 2018  \n**[[Paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1803.09693)] [[Video](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=evGqMnL4P3E)] [[Project Page](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002F)] [[Demo](http:\u002F\u002Fwww.cs.toronto.edu\u002F~amlan\u002Fdemo\u002F)]**  \n\u003Cimg src = \"Docs\u002Fmodel.png\" width=\"56%\"\u002F>\n\u003Cimg src = \"Docs\u002Fpolydemo.gif\" width=\"42%\"\u002F>\n\n# Where is the code?\nTo get the code, please [signup](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002Fcode_signup\u002F) here. We will be using GitHub to keep track of issues with the code and to update on availability of newer versions (also available on website and through e-mail to signed up users).\n\nIf you use this code, please cite:\n\n    @inproceedings{AcunaCVPR18,\n    title={Efficient Interactive Annotation of Segmentation Datasets with Polygon-RNN++},\n    author={David Acuna and Huan Ling and Amlan Kar and Sanja Fidler},\n    booktitle={CVPR},\n    year={2018}\n    }\n\n    @inproceedings{CastrejonCVPR17,\n    title = {Annotating Object Instances with a Polygon-RNN},\n    author = {Lluis Castrejon and Kaustav Kundu and Raquel Urtasun and Sanja Fidler},\n    booktitle = {CVPR},\n    year = {2017}\n    }\n\n# Contents\n1. [Reproduction Results](#results)\n2. [Environment Setup](#environment-setup)\n3. [Tool](#tool)\n    1. [Backend](#backend)\n    2. [Frontend](#frontend)\n4. [Testing Models](#testing-models)\n5. [Training Models](#training-models)\n    1. [Data](#data)\n    2. [Training MLE Model](#training-mle-model)\n    3. [Training RL Model](#training-rl-model)\n    4. [Training Evaluator](#training-evaluator)\n    5. [Training GGNN](#training-ggnn)\n\n# Results\nThese are the reproduction results from this repository as compared to the paper\n\n| Training Type | Num first points | LSTM Beam Size | Before | Now   |\n|:-------------:|:----------------:|:--------------:|:------:|:-----:|\n| MLE + Att     | 1                | 1              | 65.43  | 66.35 |\n| MLE + Att + RL | 1               | 1              | 67.17  | 67.45 |\n| MLE + Att + Evaluator | 5        | 1              | 69.72  | 71.05 |\n| MLE + Att + Evaluator | 5        | 8              | 70.21  | 70.91 |\n| MLE + Att + Evaluator + GGNN | 5 | 8              | 71.38  | 72.05 |\n| MLE + Att + Evaluator + GGNN | 5 | 1              |   -    | 72.08 |\n| MLE + Att + Evaluator + GGNN (Shared Encoder) | 5 | 8 | -  | 72.22 |\n| MLE + Att + Evaluator + GGNN (Shared Encoder) | 5 | 1 | -  | **72.33** |\n\n**Note:** Benchmarked forward pass speed for the tool (with 5 first points and 1 beam size) is 0.3 seconds per interaction on a TitanXp\n\n**Note:** Shared Encoder refers to sharing the Resnet between the graph network and the convLSTM network. In the original paper, the two networks were kept separate.\n\n# Environment Setup\nAll the code has been run and tested on Ubuntu 16.04, Python 2.7.12, Pytorch 0.4.0, CUDA 9.0, TITAN X\u002FXp and GTX 1080Ti GPUs\n\n- Get code after [signing up](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002Fcode_signup\u002F)\n- Go into the downloaded code directory\n```\ncd \u003Cpath_to_downloaded_directory>\n```\n- Setup python environment\n```\nvirtualenv env\nsource env\u002Fbin\u002Factivate\npip install -r requirements.txt\n```\n- Add the project to PYTHONPATH\n```\nexport PYTHONPATH=$PWD\n```\n\n# Tool\n- [Setup](#environment-setup) your environment\n- Download the MLE+RL+Evaluator+GGNN model after getting access by [signing up](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002Fcode_signup\u002F)\n\n## Backend\n- Launch backend (flask server) with,\n```\npython Tool\u002Ftool.py --exp Experiments\u002Ftool.json --reload \u003Cpath_to_model> --port \u003Cport> --image_dir Tool\u002Ffrontend\u002Fstatic\u002Fimg\u002F\n```\n\n## Frontend\n- Edit Tool\u002Ffrontend\u002Fstatic\u002Fjs\u002Fpolygon.js and change globalFolder to the appropriate\ndirectory based on where you cloned the repository.\n- With python2.7, run\n```\ncd Tool\u002Ffrontend\u002F\npython -m SimpleHTTPServer\n```\n- On your browser, navigate to localhost:8000. You should see a page like\n\u003Cimg src = \"Docs\u002Ftool.png\" width=\"100%\"\u002F>\n\n**Note:** Replace SimpleHTTPServer with http.server if you are using python3 for the server\n\n**Note:** You can setup your own image directory by editing Tool\u002Ffrontend\u002Fstatic\u002Fjs\u002Fpolygon.js and passing that path to Tool\u002Ftool.py\nfrom the command line. This image directory MUST contain the pre-defined images that are defined in Tool\u002Ffrontend\u002Findex.html\n\n# Testing Models\n- [Setup](#environment-setup) your environment\n- Download pretrained models after getting access by [signing up](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002Fcode_signup\u002F)\n\n```\npython Scripts\u002Fprediction\u002Fgenerate_annotation.py --exp \u003Cpath_to_corresponding_experiment> --reload \u003Cpath_to_checkpoint> --output_dir \u003Cpath_to_store_predictions>\n```\n- If you are testing a RL checkpoint, then the experiment file would correspond be the RL experiment file, and similarly for other stages of the model\n- You can check predicted\u002FGT masks for every instance in the output_dir\n- To get scores, run\n```\npython Scripts\u002Fget_scores.py --pred \u003Cpath_to_preds> --output \u003Cpath_to_file_to_save_results>\n```\n\n# Training Models\n\n## Data \n\n### Cityscapes\n- Download the Cityscapes dataset (leftImg8bit\\_trainvaltest.zip) from the official [website](https:\u002F\u002Fwww.cityscapes-dataset.com\u002Fdownloads\u002F) [11 GB]\n- Our processed annotation files are included in the download file you get after signing up\n- From the root directory, run the following command with appropriate paths to get the annotation files ready for your machine\n```\npython Scripts\u002Fdata\u002Fchange_paths.py --city_dir \u003Cpath_to_downloaded_leftImg8bit_folder> --json_dir \u003Cpath_to_downloaded_annotation_file> --out_dir \u003Coutput_dir>\n```\n\n### Custom Dataset\nTo train on your custom datasets, you have one of two options:\n- Prepare annotation data similar to our annotation files and use our default DataProvider\n- Implement your own DataProvider following the cityscapes implementation for your own data\n\n## Training\n- [Setup](#environment-setup) your environment\n- Download the pre-trained Pytorch Resnet-50 from [here](https:\u002F\u002Fdownload.pytorch.org\u002Fmodels\u002Fresnet50-19c8e357.pth)\n- **Note** - While resuming training, always resume from end of epoch checkpoints to produce reproducible results!\n\n### Training MLE model\n- Edit the experiment file at Experiments\u002Fmle.json and change paths for your machine\n- From the root directory, run\n```\npython Scripts\u002Ftrain\u002Ftrain_ce.py --exp Experiments\u002Fmle.json --resume \u003Coptional_if_resuming_training>\n```\n- You can view progress on Tensorboard (logs are at \u003Cexperiment\\_dir>\u002Flogs\u002F)\n\n### Training RL model\n- Edit the experiment file at Experiments\u002Frl.json and change paths for your machine\n- In the experiment file, set xe\\_initializer to the best MLE model\n- From the root directory, run\n```\npython Scripts\u002Ftrain\u002Ftrain_rl.py --exp Experiments\u002Frl.json --resume \u003Coptional_if_resuming_training>\n```\n- **Note** - You might have to play with hyperparameters a bit to achieve stable training, especially temperature, lr and lr\\_decay\n\n### Training Evaluator\n- Edit the experiment file at Experiments\u002Fevaluator.json and change paths for your machine\n- In the experiment file, set xe\\_initializer to the best RL model\n- From the root directory, run\n```\npython Scripts\u002Ftrain\u002Ftrain_evaluator.py --exp Experiments\u002Fevaluator.json --resume \u003Coptional_if_resuming_training>\n```\n\n### Training GGNN\n- Edit the experiment file at Experiments\u002Fggnn.json and change paths for your machine\n- In the experiment file, set xe\\_initializer to the best Evaluator model\n- From the root directory, run\n```\npython Scripts\u002Ftrain\u002Ftrain_ggnn.py --exp Experiments\u002Fggnn.json --resume \u003Coptional_if_resuming_training>\n```\n","# PolygonRNN++\n\n这是Polygon-RNN++（CVPR 2018）的官方 PyTorch 重实现。该仓库允许您训练新的 Polygon-RNN++ 模型，并在本地机器上运行我们的演示工具。有关技术细节，请参阅：\n\n**使用 Polygon-RNN++ 高效交互式标注分割数据集**  \n[David Acuna](http:\u002F\u002Fwww.cs.toronto.edu\u002F~davidj\u002F)\\*, [Huan Ling](http:\u002F\u002F\u002Fwww.cs.toronto.edu\u002F~linghuan\u002F)\\*, [Amlan Kar](http:\u002F\u002Fwww.cs.toronto.edu\u002F~amlan\u002F)\\*, [Sanja Fidler](http:\u002F\u002Fwww.cs.toronto.edu\u002F~fidler\u002F) (\\* 表示共同第一作者)   \nCVPR 2018  \n**[[论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1803.09693)] [[视频](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=evGqMnL4P3E)] [[项目页面](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002F)] [[演示](http:\u002F\u002Fwww.cs.toronto.edu\u002F~amlan\u002Fdemo\u002F)]**  \n\u003Cimg src = \"Docs\u002Fmodel.png\" width=\"56%\"\u002F>\n\u003Cimg src = \"Docs\u002Fpolydemo.gif\" width=\"42%\"\u002F>\n\n# 代码在哪里？\n要获取代码，请在此处 [注册](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002Fcode_signup\u002F)。我们将使用 GitHub 来跟踪代码中的问题，并更新新版本的可用性（也可在网站上查看，并通过电子邮件通知已注册用户）。\n\n如果您使用此代码，请引用：\n\n    @inproceedings{AcunaCVPR18,\n    title={Efficient Interactive Annotation of Segmentation Datasets with Polygon-RNN++},\n    author={David Acuna and Huan Ling and Amlan Kar and Sanja Fidler},\n    booktitle={CVPR},\n    year={2018}\n    }\n\n    @inproceedings{CastrejonCVPR17,\n    title = {Annotating Object Instances with a Polygon-RNN},\n    author = {Lluis Castrejon and Kaustav Kundu and Raquel Urtasun and Sanja Fidler},\n    booktitle = {CVPR},\n    year = {2017}\n    }\n\n# 目录\n1. [复现结果](#results)\n2. [环境设置](#environment-setup)\n3. [工具](#tool)\n    1. [后端](#backend)\n    2. [前端](#frontend)\n4. [测试模型](#testing-models)\n5. [训练模型](#training-models)\n    1. [数据](#data)\n    2. [训练 MLE 模型](#training-mle-model)\n    3. [训练 RL 模型](#training-rl-model)\n    4. [训练评估器](#training-evaluator)\n    5. [训练 GGNN](#training-ggnn)\n\n# 结果\n以下是本仓库与论文中结果的复现对比\n\n| 训练类型 | 初始点数 | LSTM 束宽 | 之前 | 现在   |\n|:-------------:|:----------------:|:--------------:|:------:|:-----:|\n| MLE + Att     | 1                | 1              | 65.43  | 66.35 |\n| MLE + Att + RL | 1               | 1              | 67.17  | 67.45 |\n| MLE + Att + 评估器 | 5        | 1              | 69.72  | 71.05 |\n| MLE + Att + 评估器 | 5        | 8              | 70.21  | 70.91 |\n| MLE + Att + 评估器 + GGNN | 5 | 8              | 71.38  | 72.05 |\n| MLE + Att + 评估器 + GGNN | 5 | 1              |   -    | 72.08 |\n| MLE + Att + 评估器 + GGNN（共享编码器） | 5 | 8 | -  | 72.22 |\n| MLE + Att + 评估器 + GGNN（共享编码器） | 5 | 1 | -  | **72.33** |\n\n**注：** 工具的前向传播速度基准测试（初始5个点，束宽为1）在 TitanXp 上为每次交互0.3秒。\n\n**注：** 共享编码器是指在图网络和 convLSTM 网络之间共享 Resnet。而在原始论文中，这两个网络是分开的。\n\n# 环境设置\n所有代码均已在 Ubuntu 16.04、Python 2.7.12、Pytorch 0.4.0、CUDA 9.0、TITAN X\u002FXp 和 GTX 1080Ti GPU 上运行并测试过。\n\n- 在 [注册](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002Fcode_signup\u002F) 后获取代码\n- 进入下载的代码目录\n```\ncd \u003Cpath_to_downloaded_directory>\n```\n- 设置 Python 环境\n```\nvirtualenv env\nsource env\u002Fbin\u002Factivate\npip install -r requirements.txt\n```\n- 将项目添加到 PYTHONPATH\n```\nexport PYTHONPATH=$PWD\n```\n\n# 工具\n- 按照 [环境设置](#environment-setup) 准备好您的环境\n- 在 [注册](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002Fcode_signup\u002F) 获得访问权限后，下载 MLE+RL+评估器+GGNN 模型\n\n## 后端\n- 使用以下命令启动后端（flask 服务器）：\n```\npython Tool\u002Ftool.py --exp Experiments\u002Ftool.json --reload \u003Cpath_to_model> --port \u003Cport> --image_dir Tool\u002Ffrontend\u002Fstatic\u002Fimg\u002F\n```\n\n## 前端\n- 编辑 Tool\u002Ffrontend\u002Fstatic\u002Fjs\u002Fpolygon.js，将 globalFolder 改为与您克隆仓库位置相对应的目录。\n- 使用 python2.7，运行\n```\ncd Tool\u002Ffrontend\u002F\npython -m SimpleHTTPServer\n```\n- 在浏览器中访问 localhost:8000。您应该会看到如下页面：\n\u003Cimg src = \"Docs\u002Ftool.png\" width=\"100%\"\u002F>\n\n**注：** 如果您使用的是 Python 3 作为服务器，则需将 SimpleHTTPServer 替换为 http.server。\n\n**注：** 您可以通过编辑 Tool\u002Ffrontend\u002Fstatic\u002Fjs\u002Fpolygon.js 并将路径传递给 Tool\u002Ftool.py 来设置您自己的图像目录。该图像目录必须包含 Tool\u002Ffrontend\u002Findex.html 中定义的预设图像。\n\n# 测试模型\n- 按照 [环境设置](#environment-setup) 准备好您的环境\n- 在 [注册](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002Fcode_signup\u002F) 获得访问权限后，下载预训练模型。\n\n```\npython Scripts\u002Fprediction\u002Fgenerate_annotation.py --exp \u003Cpath_to_corresponding_experiment> --reload \u003Cpath_to_checkpoint> --output_dir \u003Cpath_to_store_predictions>\n```\n- 如果您正在测试 RL 检查点，则实验文件应对应 RL 实验文件，其他阶段的模型也是如此。\n- 您可以在 output_dir 中检查每个实例的预测掩码和真实标签掩码。\n- 要获取分数，运行\n```\npython Scripts\u002Fget_scores.py --pred \u003Cpath_to_preds> --output \u003Cpath_to_file_to_save_results>\n```\n\n# 训练模型\n\n## 数据 \n\n### Cityscapes\n- 从官方网站 [下载](https:\u002F\u002Fwww.cityscapes-dataset.com\u002Fdownloads\u002F) Cityscapes 数据集（leftImg8bit_trainvaltest.zip）[11 GB]\n- 我们的处理后的标注文件包含在您注册后获得的下载文件中。\n- 从根目录运行以下命令，使用适当的路径准备标注文件以供您的机器使用：\n```\npython Scripts\u002Fdata\u002Fchange_paths.py --city_dir \u003Cpath_to_downloaded_leftImg8bit_folder> --json_dir \u003Cpath_to_downloaded_annotation_file> --out_dir \u003Coutput_dir>\n```\n\n### 自定义数据集\n要在您的自定义数据集上进行训练，您有两种选择：\n- 准备类似于我们标注文件的标注数据，并使用我们的默认 DataProvider\n- 根据 Cityscapes 的实现方式，为您的数据实现自己的 DataProvider\n\n## 训练\n- 按照 [环境设置](#environment-setup) 准备好您的环境\n- 从 [这里](https:\u002F\u002Fdownload.pytorch.org\u002Fmodels\u002Fresnet50-19c8e357.pth) 下载预训练的 PyTorch Resnet-50\n- **注意** - 继续训练时，务必从 epoch 结束的检查点开始恢复，以确保结果可重复！\n\n### 训练 MLE 模型\n- 编辑 Experiments\u002Fmle.json 中的实验文件，更改适用于您机器的路径。\n- 从根目录运行\n```\npython Scripts\u002Ftrain\u002Ftrain_ce.py --exp Experiments\u002Fmle.json --resume \u003Coptional_if_resuming_training>\n```\n- 您可以在 TensorBoard 上查看训练进度（日志位于 \u003Cexperiment_dir>\u002Flogs\u002F）。\n\n### 训练强化学习模型\n- 编辑 Experiments\u002Frl.json 中的实验配置文件，并根据你的机器修改路径。\n- 在实验配置文件中，将 xe_initializer 设置为最佳的最大似然估计（MLE）模型。\n- 从根目录运行：\n```\npython Scripts\u002Ftrain\u002Ftrain_rl.py --exp Experiments\u002Frl.json --resume \u003C可选，若要恢复训练>\n```\n- **注意**：你可能需要调整一些超参数以实现稳定的训练，尤其是温度、学习率和学习率衰减。\n\n### 训练评估器\n- 编辑 Experiments\u002Fevaluator.json 中的实验配置文件，并根据你的机器修改路径。\n- 在实验配置文件中，将 xe_initializer 设置为最佳的强化学习模型。\n- 从根目录运行：\n```\npython Scripts\u002Ftrain\u002Ftrain_evaluator.py --exp Experiments\u002Fevaluator.json --resume \u003C可选，若要恢复训练>\n```\n\n### 训练 GGNN\n- 编辑 Experiments\u002Fggnn.json 中的实验配置文件，并根据你的机器修改路径。\n- 在实验配置文件中，将 xe_initializer 设置为最佳的评估器模型。\n- 从根目录运行：\n```\npython Scripts\u002Ftrain\u002Ftrain_ggnn.py --exp Experiments\u002Fggnn.json --resume \u003C可选，若要恢复训练>\n```","# Polyrnn-pp-pytorch 快速上手指南\n\nPolygonRNN++ 是一个用于高效交互式图像分割标注的深度学习模型（CVPR 2018）。本指南基于官方 PyTorch 复现版本，帮助开发者快速搭建环境并运行演示工具。\n\n> **注意**：源代码和预训练模型需要先在[官方页面注册](http:\u002F\u002Fwww.cs.toronto.edu\u002Fpolyrnn\u002Fcode_signup\u002F)获取下载权限。\n\n## 环境准备\n\n本项目已在以下环境中测试通过，建议尽量匹配该配置以避免兼容性问题：\n\n*   **操作系统**: Ubuntu 16.04\n*   **Python**: 2.7.12 (前端服务需注意 Python 版本差异)\n*   **深度学习框架**: PyTorch 0.4.0\n*   **CUDA**: 9.0\n*   **GPU**: TITAN X\u002FXp 或 GTX 1080Ti\n\n**前置依赖**：\n*   `virtualenv` (用于创建隔离环境)\n*   `git` (用于克隆代码，若已手动下载可忽略)\n\n## 安装步骤\n\n### 1. 获取代码与数据\n注册并下载代码包后，解压并进入目录：\n```bash\ncd \u003Cpath_to_downloaded_directory>\n```\n\n### 2. 配置 Python 环境\n创建虚拟环境并安装依赖：\n```bash\nvirtualenv env\nsource env\u002Fbin\u002Factivate\npip install -r requirements.txt\n```\n*(注：国内用户可使用 `-i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple` 加速 pip 安装)*\n\n### 3. 设置环境变量\n将项目路径加入 `PYTHONPATH`：\n```bash\nexport PYTHONPATH=$PWD\n```\n\n### 4. 下载预训练模型\n从注册后获得的链接中下载完整的 **MLE+RL+Evaluator+GGNN** 模型文件，并记录其路径，后续启动工具时需要用到。\n\n## 基本使用\n\n本部分介绍如何启动官方的交互式标注演示工具（包含后端服务和前端页面）。\n\n### 1. 启动后端服务\n运行 Flask 服务器加载模型。请替换 `\u003Cpath_to_model>` 为你的模型文件路径，`\u003Cport>` 为指定端口（如 5000）：\n```bash\npython Tool\u002Ftool.py --exp Experiments\u002Ftool.json --reload \u003Cpath_to_model> --port \u003Cport> --image_dir Tool\u002Ffrontend\u002Fstatic\u002Fimg\u002F\n```\n\n### 2. 配置前端\n编辑前端配置文件 `Tool\u002Ffrontend\u002Fstatic\u002Fjs\u002Fpolygon.js`，将 `globalFolder` 变量修改为你当前代码仓库的绝对路径。\n\n### 3. 启动前端服务器\n进入前端目录并启动简易 HTTP 服务器：\n```bash\ncd Tool\u002Ffrontend\u002F\npython -m SimpleHTTPServer\n```\n*(注：如果你使用的是 Python 3，请将命令改为 `python -m http.server`)*\n\n### 4. 访问界面\n打开浏览器访问 `http:\u002F\u002Flocalhost:8000`，即可看到交互式标注界面。你可以上传图片（需预先放置在指定的 image_dir 中）并体验模型自动勾勒多边形轮廓的功能。","某自动驾驶数据标注团队正在处理城市道路场景的海量图像，需要为车辆、行人及交通标志生成高精度的多边形分割掩码以训练感知模型。\n\n### 没有 polyrnn-pp-pytorch 时\n- 标注员必须手动逐点点击物体边缘来绘制多边形，面对复杂轮廓（如被遮挡的车辆）时，单个样本耗时往往超过 2 分钟。\n- 由于完全依赖人工操作，不同标注员对边缘的判断标准不一，导致数据集的几何一致性差，严重影响模型训练效果。\n- 随着数据量激增，单纯依靠堆砌人力导致标注成本呈线性暴涨，项目预算难以支撑大规模数据集的构建。\n- 传统的全自动分割算法在边界处理上过于粗糙，无法直接用于生产，仍需大量人工后期修补，效率提升有限。\n\n### 使用 polyrnn-pp-pytorch 后\n- 标注员只需点击物体的起始点和几个关键控制点，polyrnn-pp-pytorch 即可利用强化学习模型自动预测并闭合剩余的多边形轮廓，单次交互仅需约 0.3 秒。\n- 该工具基于 CVPR 2018 验证的架构，能智能贴合物体真实边缘，显著减少了人为抖动和偏差，确保了数据集的高质量与标准化。\n- 人机协作模式将单张图片的平均标注时间从分钟级压缩至秒级，在同等预算下，团队的数据产出效率提升了数倍。\n- 支持本地部署 Flask 后端与前端演示工具，团队可灵活集成到现有标注平台中，并利用预训练的 MLE+RL+GGNN 模型直接获得业界领先的 72%+ 精度。\n\npolyrnn-pp-pytorch 通过将繁琐的像素级描边转化为高效的交互式修正，从根本上解决了高精度分割数据标注成本高、周期长的核心痛点。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffidler-lab_polyrnn-pp-pytorch_3fedd098.png","fidler-lab","Sanja Fidler's Lab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffidler-lab_a7400c2d.png","Sanja Fidler's lab at the University of Toronto",null,"fidler@cs.toronto.edu","www.cs.toronto.edu\u002F~fidler\u002Fstudents.html","https:\u002F\u002Fgithub.com\u002Ffidler-lab",702,107,"2025-10-09T07:47:16",4,"Linux (Ubuntu 16.04)","必需，NVIDIA GPU (TITAN X\u002FXp, GTX 1080Ti)，CUDA 9.0","未说明",{"notes":92,"python":93,"dependencies":94},"代码需注册后下载；训练需预训练 ResNet-50 模型；前端服务在 Python 3 下需使用 http.server 替代 SimpleHTTPServer；建议使用虚拟环境管理依赖。","2.7.12 (支持 Python 3 用于前端服务器)",[95,96,97],"torch==0.4.0","flask","virtualenv",[14,51,13],[100,101,102,103,104,105,106],"cvpr2018","pytorch","deep-learning","instance-segmentation","polygon-rnn","annotation","labelling","2026-03-27T02:49:30.150509","2026-04-06T05:37:27.007933",[110,115,120,125,130,134],{"id":111,"question_zh":112,"answer_zh":113,"source_url":114},14787,"在图像中选择对象后程序报错或进度条卡住不动怎么办？","这通常是因为加载了错误的模型文件。请确保使用包含 'ggnn' 字样的模型（例如 ggnn_epoch5_step14000），不要使用仅用于评估的模型（evaluator model），因为后者不包含 GGNN 组件。如果必须使用其他模型，需要在 tool.json 中将后端共享标志设置为 false，但强烈建议使用共享模型（shared_resnet），因为它更快且效果更好。","https:\u002F\u002Fgithub.com\u002Ffidler-lab\u002Fpolyrnn-pp-pytorch\u002Fissues\u002F3",{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},14788,"如何在不同的主机上分别运行后端和前端以解决连接问题？","如果在远程服务器运行后端，而在本地通过 SSH 隧道访问时遇到进度条无限加载或页面停滞的问题，尝试将后端和前端分离部署。具体解决方法是编辑前端目录下的 'index.html' 文件，将其中的 'backend' 地址值从 'localhost' 修改为后端服务器的实际 IP 地址。","https:\u002F\u002Fgithub.com\u002Ffidler-lab\u002Fpolyrnn-pp-pytorch\u002Fissues\u002F14",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},14789,"RNN 中的序列结束标记（EOS-token）是如何实现和处理的？","1. 在测试阶段，系统会找到第一个 EOS 标记，并只保留该位置之前的多边形顶点数据（通常通过 np.max 处理索引列表）。2. 目前代码在达到 EOS 标记后不会立即停止 RNN 运行，而是继续预测直到达到最大序列长度，随后通过 get_masked_poly 函数丢弃 EOS 之后的多余顶点。如需优化性能，理论上可以修改代码使其在遇到 EOS 时立即停止。","https:\u002F\u002Fgithub.com\u002Ffidler-lab\u002Fpolyrnn-pp-pytorch\u002Fissues\u002F20",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},14790,"如何获取代码访问权限或查找下载后的标注文件路径？","该项目代码不公开直接下载。您需要使用学术邮箱（academic email）进行注册，以便维护者验证您的身份。验证通过后，维护者会将代码或包含路径信息的文件发送给您。如果您已注册但未收到回复，可能需要耐心等待或检查垃圾邮件文件夹。","https:\u002F\u002Fgithub.com\u002Ffidler-lab\u002Fpolyrnn-pp-pytorch\u002Fissues\u002F34",{"id":131,"question_zh":132,"answer_zh":133,"source_url":114},14791,"应该选择哪个版本的 GGNN 模型文件（epoch5 还是 epoch8）？","建议优先使用 'ggnn_epoch5_step14000.pth'。有用户反馈较新的模型（如 epoch8）可能会报出模型架构与代码不匹配的错误。如果必须使用其他版本，请确保代码配置与该模型架构完全兼容。",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},14792,"训练 RL 模型时为什么命令中使用 mle.json 而不是 rl.json？","虽然逻辑上训练 RL 模型应使用 rl.json 配置，但官方提供的训练命令示例中使用了 mle.json（python Scripts\u002Ftrain\u002Ftrain_rl.py --exp Experiments\u002Fmle.json ...）。这可能是为了先加载 MLE 预训练权重或特定实验设置。如果不确定，请检查 rl.json 和 mle.json 的具体差异，通常需要根据实验目的调整配置文件中的路径和参数，或者确认是否应先完成 MLE 阶段训练。","https:\u002F\u002Fgithub.com\u002Ffidler-lab\u002Fpolyrnn-pp-pytorch\u002Fissues\u002F31",[]]