[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-prs-eth--OverlapPredator":3,"tool-prs-eth--OverlapPredator":65},[4,17,27,35,48,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"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 真正成长为懂上",151314,2,"2026-04-11T23:32:58",[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},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"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,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[26,43,44,45,14,46,15,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":54,"last_commit_at":55,"category_tags":56,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,43,46],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":54,"last_commit_at":63,"category_tags":64,"status":16},5773,"cs-video-courses","Developer-Y\u002Fcs-video-courses","cs-video-courses 是一个精心整理的计算机科学视频课程清单，旨在为自学者提供系统化的学习路径。它汇集了全球知名高校（如加州大学伯克利分校、新南威尔士大学等）的完整课程录像，涵盖从编程基础、数据结构与算法，到操作系统、分布式系统、数据库等核心领域，并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。\n\n面对网络上零散且质量参差不齐的教学资源，cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容，仅收录真正的大学层级课程，排除了碎片化的简短教程或商业广告，确保用户能接触到严谨的学术内容。\n\n这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员，以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽，不仅包含传统的软件工程与网络安全，还细分了生成式 AI、大语言模型、计算生物学等新兴学科，并直接链接至官方视频播放列表，让用户能一站式获取高质量的教育资源，免费享受世界顶尖大学的课堂体验。",79792,"2026-04-08T22:03:59",[46,26,43,13],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":80,"owner_twitter":80,"owner_website":81,"owner_url":82,"languages":83,"stars":100,"forks":101,"last_commit_at":102,"license":103,"difficulty_score":104,"env_os":105,"env_gpu":106,"env_ram":107,"env_deps":108,"category_tags":115,"github_topics":116,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":122,"updated_at":123,"faqs":124,"releases":160},6750,"prs-eth\u002FOverlapPredator","OverlapPredator","[CVPR 2021, Oral] PREDATOR: Registration of 3D Point Clouds with Low Overlap. ","OverlapPredator 是一款专为低重叠率场景设计的 3D 点云配准开源工具，其核心算法论文曾入选 CVPR 2021 口头报告。在三维视觉任务中，当两个扫描得到的点云数据重合部分很少时，传统方法往往难以准确对齐，而 OverlapPredator 正是为了解决这一难题而生。它能够智能识别点云中微小的重叠区域，并计算出精确的空间变换矩阵，从而实现高精度的模型拼接。\n\n该工具特别适合计算机视觉领域的研究人员、算法工程师以及从事自动驾驶、机器人导航和三维重建开发的专业技术人员使用。其独特的技术亮点在于引入了注意力机制来预测点云的重叠度与可匹配性评分，使网络能够聚焦于关键的重叠区域，显著提升了在复杂环境下的鲁棒性。项目提供了基于 PyTorch 的完整实现，支持在 3DMatch、KITTI 等主流数据集上进行训练与评估，并预训练了多种模型供直接调用。无论是希望复现前沿学术成果，还是需要在实际工程中解决低重叠点云对齐问题，OverlapPredator 都是一个值得尝试的高效解决方案。","## PREDATOR: Registration of 3D Point Clouds with Low Overlap (CVPR 2021, Oral)\nThis repository represents the official implementation of the paper:\n\n### [PREDATOR: Registration of 3D Point Clouds with Low Overlap](https:\u002F\u002Farxiv.org\u002Fabs\u002F2011.13005)\n\n\\*[Shengyu Huang](https:\u002F\u002Fshengyuh.github.io), \\*[Zan Gojcic](https:\u002F\u002Fzgojcic.github.io\u002F), [Mikhail Usvyatsov](https:\u002F\u002Faelphy.github.io), [Andreas Wieser](https:\u002F\u002Fgseg.igp.ethz.ch\u002Fpeople\u002Fgroup-head\u002Fprof-dr--andreas-wieser.html), [Konrad Schindler](https:\u002F\u002Fprs.igp.ethz.ch\u002Fgroup\u002Fpeople\u002Fperson-detail.schindler.html)\\\n|[ETH Zurich](https:\u002F\u002Figp.ethz.ch\u002F) | \\* Equal contribution\n\nFor implementation using MinkowskiEngine backbone, please check [this](https:\u002F\u002Fgithub.com\u002FShengyuH\u002FOverlapPredator.Mink)\n\nFor more information, please see the [project website](https:\u002F\u002Foverlappredator.github.io)\n\n![Predator_teaser](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fprs-eth_OverlapPredator_readme_10d6582f15bf.jpg)\n\n\n\n### Contact\nIf you have any questions, please let us know: \n- Shengyu Huang {shengyu.huang@geod.baug.ethz.ch}\n- Zan Gojcic {zan.gojcic@geod.baug.ethz.ch}\n\n## News\n- 2021-08-09: We've updated arxiv version of our [paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F2011.13005) with improved performance!\n- 2021-06-02: Fix feature gathering bug in k-nn graph, please see improved performance in this [issue](https:\u002F\u002Fgithub.com\u002Foverlappredator\u002FOverlapPredator\u002Fissues\u002F15). Stay tunned for updates on other experiments!\n- 2021-05-31: Check our video and poster on [project page](https:\u002F\u002Foverlappredator.github.io)! \n- 2021-03-25: Camera ready is on arXiv! I also gave a talk on Predator(中文), you can find the recording here: [Bilibili](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1UK4y1U7Gs), [Youtube](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=AZQGJa6R_4I&t=1563s) \n- 2021-02-28: MinkowskiEngine-based PREDATOR [release](https:\u002F\u002Fgithub.com\u002FShengyuH\u002FOverlapPredator.Mink.git)\n- 2020-11-30: Code and paper release\n\n\n## Instructions\nThis code has been tested on \n- Python 3.8.5, PyTorch 1.7.1, CUDA 11.2, gcc 9.3.0, GeForce RTX 3090\u002FGeForce GTX 1080Ti\n\n**Note**: We observe random data loader crashes due to memory issues, if you observe similar issues, please consider reducing the number of workers or increasing CPU RAM. We now released a sparse convolution-based Predator, have a look [here](https:\u002F\u002Fgithub.com\u002FShengyuH\u002FOverlapPredator.Mink.git)!\n\n### Requirements\nTo create a virtual environment and install the required dependences please run:\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Foverlappredator\u002FOverlapPredator.git\nvirtualenv predator; source predator\u002Fbin\u002Factivate\ncd OverlapPredator; pip install -r requirements.txt\ncd cpp_wrappers; sh compile_wrappers.sh; cd ..\n```\nin your working folder.\n\n### Datasets and pretrained models\nFor KITTI dataset, please follow the instruction on [KITTI Odometry website](http:\u002F\u002Fwww.cvlibs.net\u002Fdatasets\u002Fkitti\u002Feval_odometry.php) to download the KITTI odometry training set.\n\nWe provide \n- preprocessed 3DMatch pairwise datasets (voxel-grid subsampled fragments together with their ground truth transformation matrices)\n- raw dense 3DMatch datasets\n- modelnet dataset\n- pretrained models on 3DMatch, KITTI and Modelnet\n\nThe preprocessed data and models can be downloaded by running:\n```shell\nsh scripts\u002Fdownload_data_weight.sh\n```\n\nTo download raw dense 3DMatch data, please run:\n```shell\nwget --no-check-certificate --show-progress https:\u002F\u002Fshare.phys.ethz.ch\u002F~gsg\u002Fpairwise_reg\u002F3dmatch.zip\nunzip 3dmatch.zip\n```\n\nThe folder is organised as follows:\n\n- `3dmatch`\n    - `train`\n        - `7-scenes-chess`\n            - `fragments`\n                - `cloud_bin_*.ply`\n                - ...\n            - `poses`\n                - `cloud_bin_*.txt`\n                - ...\n        - ...\n    - `test`\n\n### 3DMatch(Indoor)\n#### Train\nAfter creating the virtual environment and downloading the datasets, Predator can be trained using:\n```shell\npython main.py configs\u002Ftrain\u002Findoor.yaml\n```\n\n#### Evaluate\nFor 3DMatch, to reproduce Table 2 in our main paper, we first extract features and overlap\u002Fmatachability scores by running: \n```shell\npython main.py configs\u002Ftest\u002Findoor.yaml\n```\nthe features together with scores will be saved to ```snapshot\u002Findoor\u002F3DMatch```. The estimation of the transformation parameters using RANSAC can then be carried out using:\n```shell\nfor N_POINTS in 250 500 1000 2500 5000\ndo\n  python scripts\u002Fevaluate_predator.py --source_path snapshot\u002Findoor\u002F3DMatch --n_points $N_POINTS --benchmark 3DMatch --exp_dir snapshot\u002Findoor\u002Fest_traj --sampling prob\ndone\n```\ndependent on ```n_points``` used by RANSAC, this might take a few minutes. The final results are stored in ```snapshot\u002Findoor\u002Fest_traj\u002F{benchmark}_{n_points}_prob\u002Fresult```. To evaluate PREDATOR on 3DLoMatch benchmark, please also change ```3DMatch``` to ```3DLoMatch``` in ```configs\u002Ftest\u002Findoor.yaml```.\n\n#### Demo\nWe prepared a small demo, which demonstrates the whole Predator pipeline using two random fragments from the 3DMatch dataset. To carry out the demo, please run:\n```shell\npython scripts\u002Fdemo.py configs\u002Ftest\u002Findoor.yaml\n```\n\nThe demo script will visualize input point clouds, inferred overlap regions, and point cloud aligned with the estimated transformation parameters:\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fprs-eth_OverlapPredator_readme_d7277eaf7a90.png\" alt=\"demo\" width=\"750\"\u002F>\n\n### ModelNet(Synthetic)\n#### Train\nTo train PREDATOR on ModelNet, please run:\n```\npython main.py configs\u002Ftrain\u002Fmodelnet.yaml\n```\n\nWe provide a small script to evaluate Predator on ModelNet test set, please run:\n```\npython main.py configs\u002Ftest\u002Fmodelnet.yaml\n```\nThe rotation and translation errors could be better\u002Fworse than the reported ones due to randomness in RANSAC. \n\n### KITTI(Outdoor)\nWe provide a small script to evaluate Predator on KITTI test set, after configuring KITTI dataset, please run:\n```\npython main.py configs\u002Ftest\u002Fkitti.yaml\n```\nthe results will be saved to the log file.\n\n\n### Custom dataset\nWe have a few tips for train\u002Ftest on custom dataset\n\n- If it's similar indoor scenes, please run ```demo.py``` first to check the generalisation ability before retraining\n- Remember to voxel-downsample the data in your data loader, see ```kitti.py``` for reference \n\n### Citation\nIf you find this code useful for your work or use it in your project, please consider citing:\n\n```shell\n@InProceedings{Huang_2021_CVPR,\n    author    = {Huang, Shengyu and Gojcic, Zan and Usvyatsov, Mikhail and Wieser, Andreas and Schindler, Konrad},\n    title     = {Predator: Registration of 3D Point Clouds With Low Overlap},\n    booktitle = {Proceedings of the IEEE\u002FCVF Conference on Computer Vision and Pattern Recognition (CVPR)},\n    month     = {June},\n    year      = {2021},\n    pages     = {4267-4276}\n}\n```\n\n### Acknowledgments\nIn this project we use (parts of) the official implementations of the followin works: \n\n- [FCGF](https:\u002F\u002Fgithub.com\u002Fchrischoy\u002FFCGF) (KITTI preprocessing)\n- [D3Feat](https:\u002F\u002Fgithub.com\u002FXuyangBai\u002FD3Feat.pytorch) (KPConv backbone)\n- [3DSmoothNet](https:\u002F\u002Fgithub.com\u002Fzgojcic\u002F3DSmoothNet) (3DMatch preparation)\n- [MultiviewReg](https:\u002F\u002Fgithub.com\u002Fzgojcic\u002F3D_multiview_reg) (3DMatch benchmark)\n- [SuperGlue](https:\u002F\u002Fgithub.com\u002Fmagicleap\u002FSuperGluePretrainedNetwork) (Transformer part)\n- [DGCNN](https:\u002F\u002Fgithub.com\u002FWangYueFt\u002Fdgcnn) (self-gnn)\n- [RPMNet](https:\u002F\u002Fgithub.com\u002Fyewzijian\u002FRPMNet) (ModelNet preprocessing and evaluation)\n\n We thank the respective authors for open sourcing their methods. We would also like to thank reviewers, especially reviewer 2 for his\u002Fher valuable inputs. \n","## PREDATOR：低重叠度三维点云配准（CVPR 2021，口头报告）\n本仓库是论文的官方实现：\n\n### [PREDATOR：低重叠度三维点云配准](https:\u002F\u002Farxiv.org\u002Fabs\u002F2011.13005)\n\n\\*[黄圣宇](https:\u002F\u002Fshengyuh.github.io)， \\*[赞·戈伊契奇](https:\u002F\u002Fzgojcic.github.io\u002F)，[米哈伊尔·乌斯维亚佐夫](https:\u002F\u002Faelphy.github.io)，[安德烈亚斯·维瑟](https:\u002F\u002Fgseg.igp.ethz.ch\u002Fpeople\u002Fgroup-head\u002Fprof-dr--andreas-wieser.html)，[康拉德·辛德勒](https:\u002F\u002Fprs.igp.ethz.ch\u002Fgroup\u002Fpeople\u002Fperson-detail.schindler.html)\\\n|[苏黎世联邦理工学院](https:\u002F\u002Figp.ethz.ch\u002F) | \\* 共同第一作者\n\n如需使用 MinkowskiEngine 作为骨干网络的实现，请查看 [此链接](https:\u002F\u002Fgithub.com\u002FShengyuH\u002FOverlapPredator.Mink)。\n\n更多信息请访问 [项目官网](https:\u002F\u002Foverlappredator.github.io)。\n\n![Predator_teaser](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fprs-eth_OverlapPredator_readme_10d6582f15bf.jpg)\n\n\n\n### 联系方式\n如有任何问题，请联系我们：\n- 黄圣宇 {shengyu.huang@geod.baug.ethz.ch}\n- 赞·戈伊契奇 {zan.gojcic@geod.baug.ethz.ch}\n\n## 最新消息\n- 2021-08-09：我们更新了 arXiv 上的 [论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F2011.13005)，性能得到进一步提升！\n- 2021-06-02：修复了 k-nn 图中的特征提取 bug，请参阅此 [issue](https:\u002F\u002Fgithub.com\u002Foverlappredator\u002FOverlapPredator\u002Fissues\u002F15) 中的改进效果。敬请关注其他实验的更新！\n- 2021-05-31：请在 [项目页面](https:\u002F\u002Foverlappredator.github.io) 上观看我们的视频和海报！\n- 2021-03-25：最终版已发布于 arXiv！我还就 Predator 进行了中文演讲，录像可在以下平台观看：[Bilibili](https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1UK4y1U7Gs)、[Youtube](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=AZQGJa6R_4I&t=1563s)。\n- 2021-02-28：基于 MinkowskiEngine 的 PREDATOR [发布](https:\u002F\u002Fgithub.com\u002FShengyuH\u002FOverlapPredator.Mink.git)。\n- 2020-11-30：代码与论文正式发布。\n\n\n## 使用说明\n该代码已在以下环境中测试通过：\n- Python 3.8.5，PyTorch 1.7.1，CUDA 11.2，gcc 9.3.0，GeForce RTX 3090\u002FGeForce GTX 1080Ti\n\n**注意**：我们观察到数据加载器因内存问题而随机崩溃。若遇到类似情况，请尝试减少工作进程数或增加 CPU 内存。目前我们已发布基于稀疏卷积的 Predator 实现，详情请见 [此处](https:\u002F\u002Fgithub.com\u002FShengyuH\u002FOverlapPredator.Mink.git)！\n\n### 环境要求\n请在您的工作目录中运行以下命令以创建虚拟环境并安装所需依赖：\n```shell\ngit clone https:\u002F\u002Fgithub.com\u002Foverlappredator\u002FOverlapPredator.git\nvirtualenv predator; source predator\u002Fbin\u002Factivate\ncd OverlapPredator; pip install -r requirements.txt\ncd cpp_wrappers; sh compile_wrappers.sh; cd ..\n```\n\n### 数据集与预训练模型\n对于 KITTI 数据集，请按照 [KITTI Odometry 官网](http:\u002F\u002Fwww.cvlibs.net\u002Fdatasets\u002Fkitti\u002Feval_odometry.php) 的说明下载 KITTI 奥多米测训练集。\n\n我们提供：\n- 预处理过的 3DMatch 成对数据集（体素网格下采样后的片段及其真实变换矩阵）\n- 原始密集型 3DMatch 数据集\n- ModelNet 数据集\n- 在 3DMatch、KITTI 和 ModelNet 上的预训练模型\n\n可通过运行以下命令下载预处理数据及模型：\n```shell\nsh scripts\u002Fdownload_data_weight.sh\n```\n\n若需下载原始密集型 3DMatch 数据，请执行：\n```shell\nwget --no-check-certificate --show-progress https:\u002F\u002Fshare.phys.ethz.ch\u002F~gsg\u002Fpairwise_reg\u002F3dmatch.zip\nunzip 3dmatch.zip\n```\n\n文件夹组织如下：\n\n- `3dmatch`\n    - `train`\n        - `7-scenes-chess`\n            - `fragments`\n                - `cloud_bin_*.ply`\n                - …\n            - `poses`\n                - `cloud_bin_*.txt`\n                - …\n        - …\n    - `test`\n\n### 3DMatch（室内）\n#### 训练\n创建虚拟环境并下载数据集后，可使用以下命令训练 Predator：\n```shell\npython main.py configs\u002Ftrain\u002Findoor.yaml\n```\n\n#### 评估\n对于 3DMatch，为复现主论文中的表 2，我们首先通过运行以下命令提取特征及重叠\u002F匹配度分数：\n```shell\npython main.py configs\u002Ftest\u002Findoor.yaml\n```\n特征及分数将保存至 ```snapshot\u002Findoor\u002F3DMatch```。随后可使用 RANSAC 估计变换参数，具体操作如下：\n```shell\nfor N_POINTS in 250 500 1000 2500 5000\ndo\n  python scripts\u002Fevaluate_predator.py --source_path snapshot\u002Findoor\u002F3DMatch --n_points $N_POINTS --benchmark 3DMatch --exp_dir snapshot\u002Findoor\u002Fest_traj --sampling prob\ndone\n```\n根据 RANSAC 使用的点数不同，此过程可能需要几分钟。最终结果将存储在 ```snapshot\u002Findoor\u002Fest_traj\u002F{benchmark}_{n_points}_prob\u002Fresult``` 中。若要在 3DLoMatch 基准上评估 PREDATOR，请在 ```configs\u002Ftest\u002Findoor.yaml``` 中将 `3DMatch` 更改为 `3DLoMatch`。\n\n#### 演示\n我们准备了一个小型演示，展示了使用 3DMatch 数据集中两个随机片段的完整 Predator 流程。要运行演示，请执行：\n```shell\npython scripts\u002Fdemo.py configs\u002Ftest\u002Findoor.yaml\n```\n\n演示脚本将可视化输入点云、推断出的重叠区域以及根据估计变换参数对齐后的点云：\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fprs-eth_OverlapPredator_readme_d7277eaf7a90.png\" alt=\"demo\" width=\"750\"\u002F>\n\n### ModelNet（合成数据）\n#### 训练\n要在 ModelNet 上训练 PREDATOR，请运行：\n```shell\npython main.py configs\u002Ftrain\u002Fmodelnet.yaml\n```\n\n我们提供一个小型脚本来评估 Predator 在 ModelNet 测试集上的表现，请运行：\n```shell\npython main.py configs\u002Ftest\u002Fmodelnet.yaml\n```\n由于 RANSAC 的随机性，旋转和平移误差可能会比报告的结果更好或更差。\n\n### KITTI（室外）\n我们提供一个小型脚本来评估 Predator 在 KITTI 测试集上的表现。配置好 KITTI 数据集后，请运行：\n```shell\npython main.py configs\u002Ftest\u002Fkitti.yaml\n```\n结果将保存到日志文件中。\n\n### 自定义数据集\n针对自定义数据集的训练和测试，我们有以下几点建议：\n- 若数据集场景与室内相似，请先运行 `demo.py` 检查模型的泛化能力，再进行重新训练。\n- 请务必在数据加载器中对数据进行体素下采样，可参考 `kitti.py`。\n\n### 引用\n若您在工作中使用了本代码或将其应用于项目中，请考虑引用以下内容：\n\n```shell\n@InProceedings{Huang_2021_CVPR,\n    author    = {Huang, Shengyu and Gojcic, Zan and Usvyatsov, Mikhail and Wieser, Andreas and Schindler, Konrad},\n    title     = {Predator: Registration of 3D Point Clouds With Low Overlap},\n    booktitle = {Proceedings of the IEEE\u002FCVF Conference on Computer Vision and Pattern Recognition (CVPR)},\n    month     = {June},\n    year      = {2021},\n    pages     = {4267-4276}\n}\n```\n\n### 致谢\n在本项目中，我们使用了以下工作的官方实现（部分）：\n\n- [FCGF](https:\u002F\u002Fgithub.com\u002Fchrischoy\u002FFCGF)（KITTI 数据预处理）\n- [D3Feat](https:\u002F\u002Fgithub.com\u002FXuyangBai\u002FD3Feat.pytorch)（KPConv 主干网络）\n- [3DSmoothNet](https:\u002F\u002Fgithub.com\u002Fzgojcic\u002F3DSmoothNet)（3DMatch 数据准备）\n- [MultiviewReg](https:\u002F\u002Fgithub.com\u002Fzgojcic\u002F3D_multiview_reg)（3DMatch 基准测试）\n- [SuperGlue](https:\u002F\u002Fgithub.com\u002Fmagicleap\u002FSuperGluePretrainedNetwork)（Transformer 部分）\n- [DGCNN](https:\u002F\u002Fgithub.com\u002FWangYueFt\u002Fdgcnn)（自注意力图神经网络）\n- [RPMNet](https:\u002F\u002Fgithub.com\u002Fyewzijian\u002FRPMNet)（ModelNet 数据预处理与评估）\n\n我们感谢各位作者开源他们的方法。同时，我们也感谢审稿人，尤其是第 2 位审稿人提供的宝贵意见。","# OverlapPredator 快速上手指南\n\nOverlapPredator 是 CVPR 2021 Oral 论文《PREDATOR: Registration of 3D Point Clouds with Low Overlap》的官方实现，专为解决**低重叠率 3D 点云配准**问题而设计。\n\n## 1. 环境准备\n\n本代码已在以下环境中测试通过，建议尽量匹配该配置以避免兼容性问题：\n- **系统**: Linux (推荐)\n- **Python**: 3.8.5\n- **PyTorch**: 1.7.1\n- **CUDA**: 11.2\n- **编译器**: gcc 9.3.0\n- **显卡**: GeForce RTX 3090 \u002F GTX 1080Ti\n\n**前置依赖注意**：\n- 需要安装 `virtualenv` 用于创建隔离环境。\n- 编译 C++ 扩展需要 `gcc` 和对应的 CUDA Toolkit。\n- **内存提示**：数据加载器可能因内存不足崩溃，如遇此问题请减少 `workers` 数量或增加物理内存。\n\n## 2. 安装步骤\n\n请按顺序执行以下命令完成环境搭建和依赖安装：\n\n```shell\n# 1. 克隆仓库\ngit clone https:\u002F\u002Fgithub.com\u002Foverlappredator\u002FOverlapPredator.git\ncd OverlapPredator\n\n# 2. 创建并激活虚拟环境\nvirtualenv predator\nsource predator\u002Fbin\u002Factivate\n\n# 3. 安装 Python 依赖\n# 国内用户可使用清华源加速：pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\npip install -r requirements.txt\n\n# 4. 编译 C++ 封装器\ncd cpp_wrappers\nsh compile_wrappers.sh\ncd ..\n```\n\n## 3. 基本使用\n\n### 3.1 下载数据与预训练模型\n项目提供了脚本一键下载预处理后的 3DMatch 数据集及预训练权重（包含 3DMatch, KITTI, ModelNet）：\n\n```shell\nsh scripts\u002Fdownload_data_weight.sh\n```\n\n*注：如需原始稠密 3DMatch 数据，需单独使用 `wget` 下载（见原文 README），通常直接使用上述脚本下载的预处理数据即可开始训练或测试。*\n\n### 3.2 快速演示 (Demo)\n最简单的使用方式是运行官方提供的 Demo 脚本。它将加载两个随机的 3DMatch 点云片段，展示重叠区域推断及配准对齐效果：\n\n```shell\npython scripts\u002Fdemo.py configs\u002Ftest\u002Findoor.yaml\n```\n运行后将在可视化窗口中看到输入点云、推断的重叠区域以及配准后的结果。\n\n### 3.3 模型评估 (Evaluate)\n使用预训练模型在 3DMatch 测试集上进行评估（复现论文 Table 2 结果）：\n\n**第一步：提取特征与重叠分数**\n```shell\npython main.py configs\u002Ftest\u002Findoor.yaml\n```\n特征将保存至 `snapshot\u002Findoor\u002F3DMatch`。\n\n**第二步：执行 RANSAC 配准评估**\n```shell\nfor N_POINTS in 250 500 1000 2500 5000\ndo\n  python scripts\u002Fevaluate_predator.py --source_path snapshot\u002Findoor\u002F3DMatch --n_points $N_POINTS --benchmark 3DMatch --exp_dir snapshot\u002Findoor\u002Fest_traj --sampling prob\ndone\n```\n最终结果将保存在 `snapshot\u002Findoor\u002Fest_traj\u002F{benchmark}_{n_points}_prob\u002Fresult` 目录下。\n\n### 3.4 模型训练 (Train)\n如需从头训练模型（以室内场景 3DMatch 为例）：\n\n```shell\npython main.py configs\u002Ftrain\u002Findoor.yaml\n```\n\n*其他数据集（如 ModelNet 或 KITTI）只需将配置文件替换为 `configs\u002Ftrain\u002Fmodelnet.yaml` 或 `configs\u002Ftest\u002Fkitti.yaml` 即可。*","某自动驾驶团队正在处理城市复杂路况下的多帧激光雷达数据，试图将重叠率极低的相邻扫描片段拼接成完整的高精度地图。\n\n### 没有 OverlapPredator 时\n- **配准频繁失败**：当车辆快速行驶导致前后两帧点云重叠区域小于 30% 时，传统算法（如 ICP 或 FPFH）无法找到足够的对应点，直接导致配准计算发散或报错。\n- **人工干预成本高**：工程师不得不手动筛选关键帧或增加采集密度以强制提高重叠率，这大幅增加了数据采集时间和后期清洗工作量。\n- **地图出现断层**：在隧道入口或急转弯等特征稀疏场景，生成的局部地图经常出现错位或断裂，无法满足厘米级建图需求。\n- **计算资源浪费**：系统为了尝试匹配成功，往往需要暴力搜索大量错误的对应点对，导致 CPU\u002FGPU 负载飙升且耗时漫长。\n\n### 使用 OverlapPredator 后\n- **低重叠率下精准对齐**：OverlapPredator 利用注意力机制专门提取重叠区域的特征，即使在重叠率仅为 10%-20% 的极端情况下，也能稳定计算出正确的变换矩阵。\n- **流程全自动化**：无需再人为设定重叠阈值或筛选数据，系统可直接处理原始连续帧，显著缩短了从数据采集到成图的整体周期。\n- **复杂场景鲁棒性强**：在纹理重复或缺乏明显几何特征的室内\u002F隧道环境中，生成的地图连贯平滑，彻底消除了因配准错误导致的地图断层。\n- **推理效率显著提升**：通过聚焦于高匹配可能性的区域，OverlapPredator 减少了无效计算，在保持高精度的同时将单次配准耗时降低了数倍。\n\nOverlapPredator 的核心价值在于突破了传统算法对点云重叠率的依赖瓶颈，让低质量、大跨度的三维数据也能实现高效精准的自动拼接。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fprs-eth_OverlapPredator_10d6582f.jpg","prs-eth","Photogrammetry and Remote Sensing Lab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fprs-eth_e20772a5.png","",null,"https:\u002F\u002Fprs.igp.ethz.ch","https:\u002F\u002Fgithub.com\u002Fprs-eth",[84,88,92,96],{"name":85,"color":86,"percentage":87},"Python","#3572A5",64.3,{"name":89,"color":90,"percentage":91},"C++","#f34b7d",35.6,{"name":93,"color":94,"percentage":95},"Shell","#89e051",0.1,{"name":97,"color":98,"percentage":99},"Batchfile","#C1F12E",0,593,86,"2026-04-11T10:09:07","MIT",4,"Linux","需要 NVIDIA GPU，测试环境为 GeForce RTX 3090 或 GTX 1080Ti，需支持 CUDA 11.2","未说明（文档提示数据加载器可能因内存问题崩溃，建议增加 CPU RAM 或减少 worker 数量）",{"notes":109,"python":110,"dependencies":111},"1. 代码已在 Python 3.8.5, PyTorch 1.7.1, CUDA 11.2, gcc 9.3.0 环境下测试通过。\n2. 安装时需要编译 C++ 扩展（运行 cpp_wrappers\u002Fcompile_wrappers.sh）。\n3. 观察到数据加载器可能因内存问题随机崩溃，如遇此问题请减少 worker 数量或增加系统内存。\n4. 提供基于 MinkowskiEngine 的稀疏卷积版本作为替代方案。","3.8.5",[112,113,114],"torch==1.7.1","MinkowskiEngine (可选，用于稀疏卷积版本)","gcc==9.3.0",[15,46],[117,118,119,120,121],"point-cloud","registration","3dvision","transformer","attention-mechanism","2026-03-27T02:49:30.150509","2026-04-12T07:50:43.811517",[125,130,135,140,145,150,155],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},30446,"为什么运行 evaluate_predator.py 时，两次运行的召回率结果不一致？","这是正常现象。所有不依赖 RANSAC 的指标（如内点率、特征匹配召回率等）在两次运行中是一致的。结果的随机性来源于 Open3D 实现的 RANSAC 算法，该算法在采样点时具有随机性，且目前无法设置随机种子。这是 Open3D 本身的问题，而非本方法的问题。如果需要确定性结果，建议使用其他可以设置随机种子的 RANSAC 实现。","https:\u002F\u002Fgithub.com\u002Fprs-eth\u002FOverlapPredator\u002Fissues\u002F16",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},30447,"下载 3DMatch 数据集或权重文件时遇到 403 Forbidden 错误怎么办？","这通常是由于服务器链接变更或临时故障导致的。请尝试拉取最新的代码更改，并使用以下修正后的链接重新下载：\n\nwget --no-check-certificate --show-progress https:\u002F\u002Fshare.phys.ethz.ch\u002F~gseg\u002FPredator\u002Fdata.zip\nwget --no-check-certificate --show-progress https:\u002F\u002Fshare.phys.ethz.ch\u002F~gseg\u002FPredator\u002Fweights.zip\nunzip data.zip\nunzip weights.zip\nrm data.zip\nrm weights.zip\n\n注意链接中的路径大小写可能已调整（例如 gsg 改为 gseg）。如果仍然无法下载，可能是服务器暂时不可用，请稍后重试。","https:\u002F\u002Fgithub.com\u002Fprs-eth\u002FOverlapPredator\u002Fissues\u002F55",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},30448,"3DLoMatch 和 3DMatch 数据集有什么区别？训练和测试时如何使用？","3DLoMatch 和 3DMatch 基于相同的数据源，主要区别在于重叠率阈值不同。预处理后的 3DMatch 训练集已经包含了重叠率在 10%-30% 以及大于 30% 的所有数据对。因此，训练模型时直接使用完整的训练数据集即可，无需额外设置阈值。测试时，可以使用专门的 'benchmarks' 文件夹中的数据（包含 3DLoMatch 测试集）来评估模型在低重叠率场景下的性能。","https:\u002F\u002Fgithub.com\u002Fprs-eth\u002FOverlapPredator\u002Fissues\u002F44",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},30449,"编译 C++ 扩展模块后，运行时报错 AttributeError: module 'cpp_wrappers...' has no attribute 'batch_query' 如何解决？","这通常是因为旧的编译文件残留导致的。请尝试删除构建文件夹（build folder）以及所有的 *.so 文件，然后重新运行编译脚本。具体步骤如下：\n1. 删除 build 文件夹。\n2. 删除 cpp_wrappers 目录下所有的 .so 文件。\n3. 重新运行 `sh compile_wrappers.sh` 进行编译。","https:\u002F\u002Fgithub.com\u002Fprs-eth\u002FOverlapPredator\u002Fissues\u002F11",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},30450,"configs 目录下的 train_info.pkl 文件是如何生成的？其中的相对变换矩阵是如何计算的？","该文件是通过预处理数据集生成的。假设你有预处理好的数据集（包含片段及其相对于固定坐标系的变化矩阵），程序会计算任意两个重叠片段之间的相对变换矩阵（旋转和平移）以及重叠率，并将这些信息存储为 pkl 文件中的一个元素。\n\n关于相对变换矩阵的计算：如果 T_1 @ X_1 = T_2 @ X_2（其中 T_1 和 T_2 是片段相对于全局坐标系的变换矩阵），那么从片段 2 到片段 1 的相对变换为 T_1^{-1} @ T_2。文件名通常由原始 3DMatch 数据集的场景名称加上片段索引组成，没有特殊含义。","https:\u002F\u002Fgithub.com\u002Fprs-eth\u002FOverlapPredator\u002Fissues\u002F34",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},30451,"为什么验证集上的 matchability_precision（可匹配性精度）较低，网络似乎难以学习可匹配性分数？","可匹配性（Matchability）对于网络来说确实是一个难以学习的概念，因为它可能依赖于特定点云对的全局上下文信息。在 Predator 项目中，这不是主要关注点，因此采用了一种基于直觉的解决方案，虽然能产生合理的结果，但精度可能有限（如验证集上约为 0.4）。目前这种描述子和检测器紧密耦合的方式可能不是学习可匹配性的最佳途径，未来可能会有更原则性的方法出现。","https:\u002F\u002Fgithub.com\u002Fprs-eth\u002FOverlapPredator\u002Fissues\u002F37",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},30452,"项目中发现自注意力 GNN 存在 Bug 修复后，对模型有什么影响？","之前实现的 GNN 中存在一个 Bug，导致 PREDATOR 的性能低于预期。该 Bug 已在 Pull Request #14 中修复。修复后，团队在 3DMatch 数据集上重新训练了模型，获得了更高的性能表现。需要注意的是，由于 GNN 架构的变更，旧的预训练模型将不再适用，请务必使用最新版本的代码和对应的预训练模型。该修复适用于所有骨干网络（MinkowskiEngine 和 KPConv）的模型。","https:\u002F\u002Fgithub.com\u002Fprs-eth\u002FOverlapPredator\u002Fissues\u002F15",[]]