[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-haofeixu--gmflow":3,"tool-haofeixu--gmflow":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":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":75,"owner_website":82,"owner_url":83,"languages":84,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":10,"env_os":97,"env_gpu":98,"env_ram":99,"env_deps":100,"category_tags":106,"github_topics":107,"view_count":23,"oss_zip_url":112,"oss_zip_packed_at":112,"status":16,"created_at":113,"updated_at":114,"faqs":115,"releases":151},2775,"haofeixu\u002Fgmflow","gmflow","[CVPR'22 Oral] GMFlow: Learning Optical Flow via Global Matching","GMFlow 是一款基于深度学习的光流估计开源工具，旨在精准计算视频序列中像素点的运动轨迹。传统方法在处理大位移运动或复杂场景时往往精度不足且计算繁琐，而 GMFlow 创新性地将光流估计重构为“全局匹配”问题，通过端到端的架构显著提升了预测的准确性与鲁棒性。\n\n该工具特别适合计算机视觉领域的研究人员、算法工程师以及需要处理视频运动分析的开发者使用。其核心亮点在于灵活模块化设计，将特征提取、增强、匹配及优化等环节解耦，方便用户按需定制模型。在性能方面，GMFlow 仅需一次细化操作即可在极具挑战性的 Sintel 基准测试中超越需多次迭代的经典模型 RAFT，同时在高端 GPU 上运行效率极高，大幅减少了串行计算带来的延迟。此外，它还原生支持双向光流计算与遮挡检测，无需重复推理网络，进一步简化了工作流程。无论是用于学术探索还是实际的视频分析任务，GMFlow 都提供了一个高效、精准且易于扩展的解决方案。","# GMFlow\n\n\nOfficial PyTorch implementation of paper:\n\n[**GMFlow: Learning Optical Flow via Global Matching**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2111.13680), **CVPR 2022, Oral**\n\nAuthors: [Haofei Xu](https:\u002F\u002Fhaofeixu.github.io\u002F), [Jing Zhang](https:\u002F\u002Fscholar.google.com.hk\u002Fcitations?user=9jH5v74AAAAJ), [Jianfei Cai](https:\u002F\u002Fjianfei-cai.github.io\u002F), [Hamid Rezatofighi](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=VxAuxMwAAAAJ), [Dacheng Tao](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=RwlJNLcAAAAJ)\n\n\n**11\u002F15\u002F2022 Update: Check out our new work: [Unifying Flow, Stereo and Depth Estimation](https:\u002F\u002Fhaofeixu.github.io\u002Funimatch\u002F) and code: [unimatch](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Funimatch) for extending GMFlow to stereo and depth tasks. [More pretrained GMFlow models](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Funimatch\u002Fblob\u002Fmaster\u002FMODEL_ZOO.md) with different speed-accuracy trade-offs are also released. Check out our [Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1r5m-xVy3Kw60U-m5VB-aQ98oqqg_6cab?usp=sharing) and [HuggingFace](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fhaofeixu\u002Funimatch) demo to play with GMFlow in your browser!**\n\n\n\n**A [video introduction](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV18A4y1R7PL) (in Chinese) of GMFlow is available at bilibili!**\n\n\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F19343475\u002F174446408-520b8a6c-9714-4ff3-978c-98e23ab29c1f.mp4\n\n\n\n\n\nWe streamline the optical flow estimation pipeline by reformulating optical flow as a **global matching** problem.\n\n\n\n\n\u003Cp align=\"center\">\u003Cimg width=90% src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhaofeixu_gmflow_readme_fdc0df440023.png\">\u003C\u002Fp>\n\n\n\n\n\n## Highlights\n\n- **Flexible & Modular design**\n\n  We decompose the end-to-end optical flow framework into five components:\n\n  feature extraction, feature enhancement, feature matching, flow propagation and flow refinement.\n\n  One can easily construct a customized optical flow model by combining different components.\n\n- **High accuracy**\n\n  With only one refinement, GMFlow outperforms 31-refinements RAFT on the challenging Sintel benchmark.\n\n- **High efficiency**\n\n  A basic GMFlow model (without refinement) runs at 57ms (V100) or 26ms (A100) for Sintel data (436x1024). \n\n  GMFlow gains more speedup than RAFT on high-end GPUs (e.g., A100) since GMFlow doesn't require a large number of sequential computation.\n\n  GMFlow also simplifies backward flow computation without requiring to forward the network twice. The bidirectional flow can be used for occlusion detection with forward-backward consistency check.\n\n  \u003Cp align=\"center\">\u003Cimg width=90% src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhaofeixu_gmflow_readme_83a4b6d18af9.png\">\u003C\u002Fp>\n\n  \n\n\n## Installation\n\nOur code is based on pytorch 1.9.0, CUDA 10.2 and python 3.8. Higher version pytorch should also work well.\n\nWe recommend using [conda](https:\u002F\u002Fwww.anaconda.com\u002Fdistribution\u002F) for installation:\n\n```\nconda env create -f environment.yml\nconda activate gmflow\n```\n\n## Demos\n\nAll pretrained models can be downloaded from [google drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1d5C5cgHIxWGsFR1vYs5XrQbbUiZl9TX2\u002Fview?usp=sharing).\n\n\n\nYou can run a trained model on a sequence of images and visualize the results:\n\n```\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--inference_dir demo\u002Fsintel_market_1 \\\n--output_path output\u002Fgmflow-norefine-sintel_market_1 \\\n--resume pretrained\u002Fgmflow_sintel-0c07dcb3.pth\n```\n\nYou can also predict bidirectional flow with `--pred_bidir_flow` enabled and use `--fwd_bwd_consistency_check` for forward-backward consistency check. More examples can be found in [scripts\u002Fdemo.sh](scripts\u002Fdemo.sh).\n\n\n\n## Datasets\n\nThe datasets used to train and evaluate GMFlow are as follows:\n\n* [FlyingChairs](https:\u002F\u002Flmb.informatik.uni-freiburg.de\u002Fresources\u002Fdatasets\u002FFlyingChairs.en.html#flyingchairs)\n* [FlyingThings3D](https:\u002F\u002Flmb.informatik.uni-freiburg.de\u002Fresources\u002Fdatasets\u002FSceneFlowDatasets.en.html)\n* [Sintel](http:\u002F\u002Fsintel.is.tue.mpg.de\u002F)\n* [KITTI](http:\u002F\u002Fwww.cvlibs.net\u002Fdatasets\u002Fkitti\u002Feval_scene_flow.php?benchmark=flow)\n* [HD1K](http:\u002F\u002Fhci-benchmark.iwr.uni-heidelberg.de\u002F) \n\nBy default the dataloader [datasets.py](data\u002Fdatasets.py) assumes the datasets are located in folder `datasets` and are organized as follows:\n\n```\ndatasets\n├── FlyingChairs_release\n│   └── data\n├── FlyingThings3D\n│   ├── frames_cleanpass\n│   ├── frames_finalpass\n│   └── optical_flow\n├── HD1K\n│   ├── hd1k_challenge\n│   ├── hd1k_flow_gt\n│   ├── hd1k_flow_uncertainty\n│   └── hd1k_input\n├── KITTI\n│   ├── testing\n│   └── training\n├── Sintel\n│   ├── test\n│   └── training\n```\n\nIt is recommended to symlink your dataset root to `datasets`:\n\n```shell\nln -s $YOUR_DATASET_ROOT datasets\n```\n\nOtherwise, you may need to change the corresponding paths in [datasets.py](data\u002Fdatasets.py).\n\n\n\n## Evaluation\n\nYou can evaluate a trained GMFlow model by running:\n\n```\nCUDA_VISIBLE_DEVICES=0 python main.py --eval --val_dataset things sintel --resume pretrained\u002Fgmflow_things-e9887eda.pth \n```\n\nMore evaluation scripts can be found in [scripts\u002Fevaluate.sh](scripts\u002Fevaluate.sh).\n\n\n\nFor submission to Sintel and KITTI online test sets, you can run [scripts\u002Fsubmission.sh](scripts\u002Fsubmission.sh).\n\n\n\n## Training\n\nAll training scripts on FlyingChairs, FlyingThings3D, Sintel and KITTI datasets can be found in [scripts\u002Ftrain_gmflow.sh](scripts\u002Ftrain_gmflow.sh) and [scripts\u002Ftrain_gmflow_with_refine.sh](scripts\u002Ftrain_gmflow_with_refine.sh).\n\nNote that the basic GMFlow model (without refinement) can be trained on 4x 16GB V100 GPUs. For training GMFlow with refinement, 8x 16GB V100 or 4x 32GB V100 or 4x 40GB A100 GPUs are required by default. You may need to tune the batch size and training iterations according to your hardware. \n\n\n\nWe support using tensorboard to monitor and visualize the training process. You can first start a tensorboard session with\n\n```shell\ntensorboard --logdir checkpoints\n```\n\nand then access [http:\u002F\u002Flocalhost:6006](http:\u002F\u002Flocalhost:6006) in your browser.\n\n\n\n## Citation\n\nIf you find our work useful in your research, please consider citing our paper:\n\n```\n@inproceedings{xu2022gmflow,\n  title={GMFlow: Learning Optical Flow via Global Matching},\n  author={Xu, Haofei and Zhang, Jing and Cai, Jianfei and Rezatofighi, Hamid and Tao, Dacheng},\n  booktitle={Proceedings of the IEEE\u002FCVF Conference on Computer Vision and Pattern Recognition},\n  pages={8121-8130},\n  year={2022}\n}\n```\n\n\n\n## Acknowledgements\n\nThis project would not have been possible without relying on some awesome repos : [RAFT](https:\u002F\u002Fgithub.com\u002Fprinceton-vl\u002FRAFT), [LoFTR](https:\u002F\u002Fgithub.com\u002Fzju3dv\u002FLoFTR), [DETR](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fdetr), [Swin](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSwin-Transformer), [mmdetection](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection) and [Detectron2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fdetectron2\u002Fblob\u002Fmain\u002Fprojects\u002FTridentNet\u002Ftridentnet\u002Ftrident_conv.py). We thank the original authors for their excellent work.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","# GMFlow\n\n\nPyTorch官方实现，对应论文：\n\n[**GMFlow: 通过全局匹配学习光流**](https:\u002F\u002Farxiv.org\u002Fabs\u002F2111.13680)，**CVPR 2022，口头报告**\n\n作者：[Haofei Xu](https:\u002F\u002Fhaofeixu.github.io\u002F)、[Jing Zhang](https:\u002F\u002Fscholar.google.com.hk\u002Fcitations?user=9jH5v74AAAAJ)、[Jianfei Cai](https:\u002F\u002Fjianfei-cai.github.io\u002F)、[Hamid Rezatofighi](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=VxAuxMwAAAAJ)、[Dacheng Tao](https:\u002F\u002Fscholar.google.com\u002Fcitations?user=RwlJNLcAAAAJ)\n\n\n**2022年11月15日更新：请查看我们的新工作：[统一光流、立体视觉和深度估计](https:\u002F\u002Fhaofeixu.github.io\u002Funimatch\u002F)及代码：[unimatch](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Funimatch)，用于将GMFlow扩展到立体视觉和深度任务。我们还发布了更多具有不同速度-精度权衡的预训练GMFlow模型，详情请见：[MODEL_ZOO.md](https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Funimatch\u002Fblob\u002Fmaster\u002FMODEL_ZOO.md)。快来体验我们的[Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1r5m-xVy3Kw60U-m5VB-aQ98oqqg_6cab?usp=sharing)和[HuggingFace](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fhaofeixu\u002Funimatch)演示，在浏览器中玩转GMFlow吧！**\n\n\n\n**GMFlow的[视频介绍](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV18A4y1R7PL)（中文）已在bilibili上线！**\n\n\n\nhttps:\u002F\u002Fuser-images.githubusercontent.com\u002F19343475\u002F174446408-520b8a6c-9714-4ff3-978c-98e23ab29c1f.mp4\n\n\n\n\n\n我们通过将光流问题重新表述为**全局匹配**问题，简化了光流估计的整个流程。\n\n\n\n\n\u003Cp align=\"center\">\u003Cimg width=90% src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhaofeixu_gmflow_readme_fdc0df440023.png\">\u003C\u002Fp>\n\n\n\n\n\n## 亮点\n\n- **灵活且模块化的设计**\n\n  我们将端到端的光流框架分解为五个组件：特征提取、特征增强、特征匹配、光流传播和光流精炼。用户可以通过组合不同的组件轻松构建自定义的光流模型。\n\n- **高精度**\n\n  仅需一次精炼，GMFlow在极具挑战性的Sintel基准测试上就超越了需要31次精炼的RAFT。\n\n- **高效性**\n\n  基础GMFlow模型（无精炼）处理Sintel数据（436x1024）时，运行时间仅为57毫秒（V100）或26毫秒（A100）。由于GMFlow不需要大量顺序计算，因此在高端GPU（如A100）上比RAFT获得更高的加速效果。此外，GMFlow还简化了反向光流的计算，无需两次前向传播网络即可得到双向光流。利用正反向一致性检查，双向光流还可用于遮挡检测。\n\n  \u003Cp align=\"center\">\u003Cimg width=90% src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhaofeixu_gmflow_readme_83a4b6d18af9.png\">\u003C\u002Fp>\n\n  \n\n\n## 安装\n\n我们的代码基于PyTorch 1.9.0、CUDA 10.2和Python 3.8。更高版本的PyTorch也应该可以正常运行。\n\n我们建议使用[conda](https:\u002F\u002Fwww.anaconda.com\u002Fdistribution\u002F)进行安装：\n\n```\nconda env create -f environment.yml\nconda activate gmflow\n```\n\n## 演示\n\n所有预训练模型均可从[Google Drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1d5C5cgHIxWGsFR1vYs5XrQbbUiZl9TX2\u002Fview?usp=sharing)下载。\n\n\n\n您可以在一系列图像上运行训练好的模型并可视化结果：\n\n```\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--inference_dir demo\u002Fsintel_market_1 \\\n--output_path output\u002Fgmflow-norefine-sintel_market_1 \\\n--resume pretrained\u002Fgmflow_sintel-0c07dcb3.pth\n```\n\n您还可以通过启用`--pred_bidir_flow`来预测双向光流，并使用`--fwd_bwd_consistency_check`进行正反向一致性检查。更多示例可在[scripts\u002Fdemo.sh](scripts\u002Fdemo.sh)中找到。\n\n\n\n## 数据集\n\n用于训练和评估GMFlow的数据集如下：\n\n* [FlyingChairs](https:\u002F\u002Flmb.informatik.uni-freiburg.de\u002Fresources\u002Fdatasets\u002FFlyingChairs.en.html#flyingchairs)\n* [FlyingThings3D](https:\u002F\u002Flmb.informatik.uni-freiburg.de\u002Fresources\u002Fdatasets\u002FSceneFlowDatasets.en.html)\n* [Sintel](http:\u002F\u002Fsintel.is.tue.mpg.de\u002F)\n* [KITTI](http:\u002F\u002Fwww.cvlibs.net\u002Fdatasets\u002Fkitti\u002Feval_scene_flow.php?benchmark=flow)\n* [HD1K](http:\u002F\u002Fhci-benchmark.iwr.uni-heidelberg.de\u002F) \n\n默认情况下，数据加载器[datasets.py](data\u002Fdatasets.py)假设数据集位于`datasets`文件夹中，并按以下方式组织：\n\n```\ndatasets\n├── FlyingChairs_release\n│   └── data\n├── FlyingThings3D\n│   ├── frames_cleanpass\n│   ├── frames_finalpass\n│   └── optical_flow\n├── HD1K\n│   ├── hd1k_challenge\n│   ├── hd1k_flow_gt\n│   ├── hd1k_flow_uncertainty\n│   └── hd1k_input\n├── KITTI\n│   ├── testing\n│   └── training\n├── Sintel\n│   ├── test\n│   └── training\n```\n\n建议将您的数据集根目录符号链接到`datasets`：\n\n```shell\nln -s $YOUR_DATASET_ROOT datasets\n```\n\n否则，您可能需要修改[datasets.py](data\u002Fdatasets.py)中的相应路径。\n\n\n\n## 评估\n\n您可以通过以下命令评估训练好的GMFlow模型：\n\n```\nCUDA_VISIBLE_DEVICES=0 python main.py --eval --val_dataset things sintel --resume pretrained\u002Fgmflow_things-e9887eda.pth \n```\n\n更多评估脚本可在[scripts\u002Fevaluate.sh](scripts\u002Fevaluate.sh)中找到。\n\n\n\n对于提交至Sintel和KITTI在线测试集的任务，您可以运行[scripts\u002Fsubmission.sh](scripts\u002Fsubmission.sh)。\n\n\n\n## 训练\n\n关于FlyingChairs、FlyingThings3D、Sintel和KITTI数据集的所有训练脚本，均收录于[scripts\u002Ftrain_gmflow.sh](scripts\u002Ftrain_gmflow.sh)和[scripts\u002Ftrain_gmflow_with_refine.sh](scripts\u002Ftrain_gmflow_with_refine.sh)中。请注意，基础GMFlow模型（无精炼）可在4张16GB显存的V100 GPU上训练。而若要训练带有精炼的GMFlow，则默认需要8张16GB显存的V100 GPU、4张32GB显存的V100 GPU，或4张40GB显存的A100 GPU。您可能需要根据硬件情况调整批量大小和训练轮数。\n\n\n\n我们支持使用TensorBoard监控和可视化训练过程。您可以先启动一个TensorBoard会话：\n\n```shell\ntensorboard --logdir checkpoints\n```\n\n然后在浏览器中访问[http:\u002F\u002Flocalhost:6006](http:\u002F\u002Flocalhost:6006)。\n\n\n\n## 引用\n\n如果您在研究中使用了我们的工作，请考虑引用我们的论文：\n\n```\n@inproceedings{xu2022gmflow,\n  title={GMFlow: Learning Optical Flow via Global Matching},\n  author={Xu, Haofei and Zhang, Jing and Cai, Jianfei and Rezatofighi, Hamid and Tao, Dacheng},\n  booktitle={Proceedings of the IEEE\u002FCVF Conference on Computer Vision and Pattern Recognition},\n  pages={8121-8130},\n  year={2022}\n}\n```\n\n\n\n## 致谢\n\n没有以下几个优秀的开源项目，本项目将无法实现：[RAFT](https:\u002F\u002Fgithub.com\u002Fprinceton-vl\u002FRAFT)、[LoFTR](https:\u002F\u002Fgithub.com\u002Fzju3dv\u002FLoFTR)、[DETR](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fdetr)、[Swin](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002FSwin-Transformer)、[mmdetection](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection)以及[Detectron2](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fdetectron2\u002Fblob\u002Fmain\u002Fprojects\u002FTridentNet\u002Ftridentnet\u002Ftrident_conv.py)。我们感谢原作者们的杰出贡献。","# GMFlow 快速上手指南\n\nGMFlow 是一个基于全局匹配（Global Matching）范式的光流估计模型，由 CVPR 2022 Oral 论文提出。该模型具有高精度、高效率的特点，无需多次迭代细化即可在 Sintel 等基准测试中超越传统方法。\n\n## 环境准备\n\n本项目基于 **PyTorch 1.9.0**、**CUDA 10.2** 和 **Python 3.8** 开发，更高版本的 PyTorch 通常也能兼容。\n\n**前置依赖：**\n*   NVIDIA GPU（推荐 V100 或 A100 以获得最佳性能）\n*   Conda 包管理器（推荐）\n*   CUDA Toolkit（版本需与 PyTorch 匹配）\n\n## 安装步骤\n\n推荐使用 Conda 创建隔离环境并安装依赖：\n\n```bash\n# 克隆仓库（如果尚未克隆）\ngit clone https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Fgmflow.git\ncd gmflow\n\n# 创建并激活虚拟环境\nconda env create -f environment.yml\nconda activate gmflow\n```\n\n> **提示**：如果 `environment.yml` 下载缓慢，可手动创建环境后，使用国内镜像源（如清华源）安装核心依赖：\n> `pip install torch torchvision torchaudio -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n## 基本使用\n\n### 1. 下载预训练模型\n所有预训练模型可通过 [Google Drive](https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1d5C5cgHIxWGsFR1vYs5XrQbbUiZl9TX2\u002Fview?usp=sharing) 下载。将下载的权重文件（例如 `gmflow_sintel-0c07dcb3.pth`）放置在 `pretrained\u002F` 目录下。\n\n### 2. 运行推理示例\n以下命令演示了如何对一组图像进行光流估计并可视化结果：\n\n```bash\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--inference_dir demo\u002Fsintel_market_1 \\\n--output_path output\u002Fgmflow-norefine-sintel_market_1 \\\n--resume pretrained\u002Fgmflow_sintel-0c07dcb3.pth\n```\n\n### 3. 双向光流与遮挡检测（可选）\nGMFlow 支持高效计算双向光流并进行前后向一致性检查，用于遮挡区域检测：\n\n```bash\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--inference_dir demo\u002Fsintel_market_1 \\\n--output_path output\u002Fgmflow-bidir-sintel_market_1 \\\n--resume pretrained\u002Fgmflow_sintel-0c07dcb3.pth \\\n--pred_bidir_flow \\\n--fwd_bwd_consistency_check\n```\n\n运行完成后，结果图像将保存至指定的 `output_path` 目录中。","某自动驾驶团队正在开发高速场景下的动态障碍物追踪系统，需要实时计算连续帧之间的像素级运动矢量以预测车辆轨迹。\n\n### 没有 gmflow 时\n- **精度不足导致误判**：传统光流算法（如早期 RAFT 版本）在车辆高速移动或纹理重复区域容易丢失匹配点，导致对前方突然变道的车辆判断延迟。\n- **推理速度瓶颈**：为了满足精度要求，旧模型往往需要进行数十次迭代细化，在车载嵌入式设备上耗时过长，无法达到实时帧率。\n- **遮挡处理复杂**：缺乏原生的双向一致性检查机制，工程师需额外编写复杂代码来识别被遮挡区域，增加了系统的不稳定性。\n- **显存占用过高**：串行计算结构导致在高阶 GPU 上并行度低，不仅速度慢，还占用了大量显存资源，影响了其他感知任务的运行。\n\n### 使用 gmflow 后\n- **全局匹配提升精度**：gmflow 将光流估计重构为全局匹配问题，仅需一次细化即可在 Sintel 基准测试中超越旧模型 31 次迭代的效果，精准捕捉高速运动物体。\n- **端到端高效推理**：得益于非串行的架构设计，gmflow 在 A100 等高端显卡上推理仅需 26 毫秒，轻松满足自动驾驶的实时性需求。\n- **原生遮挡检测**：利用 gmflow 内置的双向光流计算和前后向一致性检查功能，团队无需额外开发即可快速定位并过滤遮挡区域，提升了追踪鲁棒性。\n- **资源利用率优化**：模块化设计大幅减少了顺序计算依赖，显著降低了显存压力，使得同一硬件平台上能部署更多感知模型。\n\ngmflow 通过全局匹配机制，在保证极高精度的同时实现了实时推理，彻底解决了高速动态场景下光流估计“快而不准”或“准而不快”的行业难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhaofeixu_gmflow_83a4b6d1.png","haofeixu","Haofei Xu","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fhaofeixu_61543b50.jpg","PhD student at ETH Zurich & University of Tübingen, working on 3D Vision","ETH Zurich","Switzerland","haofei.xu@inf.ethz.ch","https:\u002F\u002Fhaofeixu.github.io\u002F","https:\u002F\u002Fgithub.com\u002Fhaofeixu",[85,89],{"name":86,"color":87,"percentage":88},"Python","#3572A5",91.4,{"name":90,"color":91,"percentage":92},"Shell","#89e051",8.6,780,58,"2026-03-26T15:00:47","Apache-2.0","Linux","必需 NVIDIA GPU。基础模型训练需 4x 16GB V100；带细化（refinement）的模型训练需 8x 16GB V100、4x 32GB V100 或 4x 40GB A100。推理示例使用 CUDA_VISIBLE_DEVICES，表明需要 CUDA 支持。官方基于 CUDA 10.2 构建，更高版本亦可。","未说明（根据显存需求推断，建议系统内存 32GB+ 以支持多卡训练）",{"notes":101,"python":102,"dependencies":103},"1. 官方代码基于 PyTorch 1.9.0 和 CUDA 10.2 开发，但指出更高版本的 PyTorch 也能正常工作。\n2. 强烈建议使用 conda 通过提供的 environment.yml 文件创建环境。\n3. 数据集默认存放在 'datasets' 文件夹下，建议通过软链接指向实际数据路径。\n4. 推理和训练脚本均依赖 CUDA 可见设备设置（CUDA_VISIBLE_DEVICES）。","3.8",[104,105],"torch==1.9.0","cuda==10.2",[14,26],[108,109,110,111],"optical-flow","global-matching","transformer","cvpr2022",null,"2026-03-27T02:49:30.150509","2026-04-06T05:36:25.065699",[116,121,126,131,136,141,146],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},12839,"GMFlow 光流法适用于哪些场景？能否直接用于视频补帧或多帧抠图？","理论上，任何光流算法（包括 GMFlow）都可以应用于视频补帧、多帧抠图等下游任务。但该项目主要关注光流估计本身，并未直接包含这些下游应用的具体实现。视频演示通常是为了展示光流的通用用途，实际应用中需要结合专门的补帧或抠图项目来使用 GMFlow 生成的光流场。","https:\u002F\u002Fgithub.com\u002Fhaofeixu\u002Fgmflow\u002Fissues\u002F5",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},12835,"如何在 KITTI、HPatches 和 ETH3D 数据集上复现最佳结果？应该使用哪些预训练权重和超参数？","为了在 KITTI 数据集上获得表 4 报告的最佳结果，需要使用特定的预训练权重和超参数。对于 HPatches 和 ETH3D 评估，用户反馈显示：GMFlow 在与光流数据集相似的图像（低变形率场景）上表现优异（接近 SOTA），但在几何变形极端的情况下表现挣扎。具体测试结果参考：HPatches 所有场景平均误差约为 42.85；ETH3D 在不同阈值下的错误率从 1.64 (rate 3) 到 10.64 (rate 15) 不等。建议根据具体任务的变形程度选择合适的权重。","https:\u002F\u002Fgithub.com\u002Fhaofeixu\u002Fgmflow\u002Fissues\u002F24",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},12836,"如何将 GMFlow 修改用于立体匹配（Stereo Matching）任务？","要将 GMFlow 扩展到立体匹配任务，需要将 Transformer 中的 2D 交叉注意力替换为 1D 交叉注意力，并将 2D 全局匹配替换为 1D 全局匹配。维护者已发布相关细节和代码，您可以访问 https:\u002F\u002Fhaofeixu.github.io\u002Funimatch\u002F 和 https:\u002F\u002Fgithub.com\u002Fautonomousvision\u002Funimatch 获取完整的实现方案和代码。","https:\u002F\u002Fgithub.com\u002Fhaofeixu\u002Fgmflow\u002Fissues\u002F19",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},12837,"如何利用推理出的光流重建下一帧图像以评估光流准确性？","重建操作使用的是反向扭曲（backward warping）。如果您想利用光流文件（如 frame_0003.flo）重建前一帧（frame_0003.png），您应该使用该光流去扭曲后一帧图像（frame_0004.png）。即：使用 frame_0003.flo 将 frame_0004.png 扭曲，从而得到重建的 frame_0003.png。代码中可使用 `gmflow.geometry` 模块下的 `flow_warp` 函数实现。","https:\u002F\u002Fgithub.com\u002Fhaofeixu\u002Fgmflow\u002Fissues\u002F33",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},12838,"如何在自定义的顺序数据集上测试模型并可视化光流结果？静态像素的光流图为什么不是白色的？","要在自定义数据集上测试，需计算 EPE 并使用颜色映射可视化光流（颜色表示方向，强度表示大小）。如果完全静态的像素在可视化中显示为彩色而非白色，这是因为预测的光流值并非精确为零（训练数据中此类情况极少）。解决方法是设置一个阈值，将小于该阈值的预测光流强制设为 0，然后再进行可视化。","https:\u002F\u002Fgithub.com\u002Fhaofeixu\u002Fgmflow\u002Fissues\u002F30",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},12840,"在计算相似度矩阵时，是否可以先对特征向量归一化再点积，且不再除以 c**0.5？","是的，这种处理方式是可行的。您可以先将每个像素点的特征向量模归一化为 1，然后直接进行点积运算得到相似性矩阵，此时不需要再除以通道数的平方根（c**0.5）。这种方法去除了特征向量长度的影响，理论上与原始方法等价。","https:\u002F\u002Fgithub.com\u002Fhaofeixu\u002Fgmflow\u002Fissues\u002F17",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},12841,"如何确定不同数据集（如 Things, Sintel）的训练迭代次数？这些是最佳迭代数吗？","训练迭代次数（例如 Things 数据集 800K，Sintel 数据集 200K）是根据验证集上的性能表现经验确定的。虽然不一定是绝对的数学最优解，但这些数值是在大量实验中被证明能产生最佳或接近最佳结果的配置。建议先使用这些推荐值进行训练，若需微调可根据具体硬件资源和收敛情况适当调整。","https:\u002F\u002Fgithub.com\u002Fhaofeixu\u002Fgmflow\u002Fissues\u002F3",[]]