[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-zhulf0804--PointPillars":3,"tool-zhulf0804--PointPillars":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,2,"2026-04-10T11:13:16",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},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",[19,14,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},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",[18,13,14,20],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",75644,"2026-04-15T10:48:40",[19,13,20,18],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":29,"last_commit_at":63,"category_tags":64,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,"2026-04-03T21:50:24",[20,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":71,"readme_en":72,"readme_zh":73,"quickstart_zh":74,"use_case_zh":75,"hero_image_url":76,"owner_login":77,"owner_name":78,"owner_avatar_url":79,"owner_bio":80,"owner_company":81,"owner_location":82,"owner_email":83,"owner_twitter":81,"owner_website":81,"owner_url":84,"languages":85,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":102,"env_os":103,"env_gpu":104,"env_ram":103,"env_deps":105,"category_tags":113,"github_topics":114,"view_count":10,"oss_zip_url":81,"oss_zip_packed_at":81,"status":22,"created_at":118,"updated_at":119,"faqs":120,"releases":151},7742,"zhulf0804\u002FPointPillars","PointPillars","A Simple PointPillars PyTorch Implementation for 3D LiDAR(KITTI) Detection.","PointPillars 是一个基于 PyTorch 实现的开源项目，专注于利用 3D 激光雷达（LiDAR）点云数据进行快速物体检测，特别针对 KITTI 数据集进行了优化。它核心解决了自动驾驶感知中如何高效、准确地将稀疏且无序的点云数据转化为可识别的三维目标（如车辆、行人和骑行者）这一难题。\n\n与依赖复杂框架的实现不同，PointPillars 的最大亮点在于其“轻量化”与“易用性”。用户无需安装 Spconv、MMDetection 或 MMDetection3D 等重型依赖库即可直接运行，代码结构单一清晰，非常适合希望深入理解点云检测算法原理的学习者。此外，该项目不仅支持将模型导出为 ONNX 和 TensorRT 格式以加速部署，还展示了在 KITTI 验证集上优于部分官方版本的检测精度。\n\n这款工具非常适合人工智能研究人员、自动驾驶算法开发者以及高校学生使用。对于想要从零开始复现经典论文、进行算法对比研究，或者需要将检测模型快速落地到嵌入式设备的工程师来说，PointPillars 提供了一个简洁高效的起点。无论是用于学术探索还是原型开发，它都能帮助用户以更低的门槛掌握前沿","PointPillars 是一个基于 PyTorch 实现的开源项目，专注于利用 3D 激光雷达（LiDAR）点云数据进行快速物体检测，特别针对 KITTI 数据集进行了优化。它核心解决了自动驾驶感知中如何高效、准确地将稀疏且无序的点云数据转化为可识别的三维目标（如车辆、行人和骑行者）这一难题。\n\n与依赖复杂框架的实现不同，PointPillars 的最大亮点在于其“轻量化”与“易用性”。用户无需安装 Spconv、MMDetection 或 MMDetection3D 等重型依赖库即可直接运行，代码结构单一清晰，非常适合希望深入理解点云检测算法原理的学习者。此外，该项目不仅支持将模型导出为 ONNX 和 TensorRT 格式以加速部署，还展示了在 KITTI 验证集上优于部分官方版本的检测精度。\n\n这款工具非常适合人工智能研究人员、自动驾驶算法开发者以及高校学生使用。对于想要从零开始复现经典论文、进行算法对比研究，或者需要将检测模型快速落地到嵌入式设备的工程师来说，PointPillars 提供了一个简洁高效的起点。无论是用于学术探索还是原型开发，它都能帮助用户以更低的门槛掌握前沿的 3D 感知技术。","# [PointPillars: Fast Encoders for Object Detection from Point Clouds](https:\u002F\u002Farxiv.org\u002Fabs\u002F1812.05784) \n\nA Simple PointPillars PyTorch Implenmentation for 3D Lidar(KITTI) Detection. [[Zhihu](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F521277176)]\n\n- It can be run without installing [Spconv](https:\u002F\u002Fgithub.com\u002Ftraveller59\u002Fspconv), [mmdet](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection) or [mmdet3d](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d). \n- Only one detection network (PointPillars) was implemented in this repo, so the code may be more easy to read. \n- Sincere thanks for the great open-source architectures [mmcv](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv), [mmdet](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection) and [mmdet3d](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d), which helps me to learn 3D detetion and implement this repo.\n\n## News\n\n- **2025-02** Making PointPillars a python package out of the code is supported.\n- **2024-04** Exporting PointPillars to ONNX & TensorRT is supported on branch [feature\u002Fdeployment](https:\u002F\u002Fgithub.com\u002Fzhulf0804\u002FPointPillars\u002Ftree\u002Ffeature\u002Fdeployment).\n\n    ![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fzhulf0804_PointPillars_readme_cbb48d96cf0c.png)\n\n## mAP on KITTI validation set (Easy, Moderate, Hard)\n\n| Repo | Metric | Overall | Pedestrian | Cyclist | Car |\n| :---: | :---: | :---: | :---: | :---: | :---: |\n| this repo | 3D-BBox | 73.3259 62.7834 59.6278 | 51.4642 47.9446 43.8040 | 81.8677 63.6617 60.9126 | 86.6456 76.7439 74.1668 | \n| [mmdet3d v0.18.1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1) | 3D-BBox  | 72.0537, 60.1114, 55.8320 | 52.0263, 46.4037, 42.4841 | 78.7231, 59.9526, 57.2489 | 85.4118, 73.9780, 67.7630 |\n| this repo | BEV | 77.8540 69.8003 66.6699 | 59.1687 54.3456 50.5023 | 84.4268 67.1409 63.7409 | 89.9664 87.9145 85.7664 | \n| [mmdet3d v0.18.1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1) | BEV | 76.6485, 67.7609, 64.5605 | 59.0778, 53.3638, 48.4230 | 80.9328, 63.3447, 60.0618 | 89.9348, 86.5743, 85.1967 |\n| this repo | 2D-BBox | 80.5097 74.6120 71.4758 | 64.6249 61.4201 57.5965 | 86.2569 73.0828 70.1726 | 90.6471 89.3330 86.6583 |\n| [mmdet3d v0.18.1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1) | 2D-BBox | 78.4938, 73.4781, 70.3613 | 62.2413, 58.9157, 55.3660 | 82.6460, 72.3547, 68.4669 | 90.5939, 89.1638, 87.2511 |\n| this repo | AOS | 74.9647 68.1712 65.2817 | 49.3777 46.7284 43.8352 | 85.0412 69.1024 66.2801 | 90.4752 88.6828 85.7298 |\n| [mmdet3d v0.18.1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1) | AOS | 72.41, 66.23, 63.55 | 46.00, 43.22, 40.94 | 80.85, 67.20, 63.63 | 90.37, 88.27, 86.07 |\n\n- **Note: Here, we report [mmdet3d v0.18.1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1) (2022\u002F02\u002F09-2022\u002F03\u002F01) performance based on the officially provided [checkpoint](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1\u002Fconfigs\u002Fpointpillars#kitti). Much improvements were made in the [mmdet3d v1.0.0rc1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv1.0.0rc1)**. \n\n## Detection Visualization\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fzhulf0804_PointPillars_readme_469f507f27d5.png)\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fzhulf0804_PointPillars_readme_a5b133d63e42.png)\n\n## [Install] \n\nInstall PointPillars as a python package and all its dependencies as follows:\n\n```\ncd PointPillars\u002F\npip install -r requirements.txt\npython setup.py build_ext --inplace\npip install .\n```\n\n## [Datasets]\n\n1. Download\n\n    Download [point cloud](https:\u002F\u002Fs3.eu-central-1.amazonaws.com\u002Favg-kitti\u002Fdata_object_velodyne.zip)(29GB), [images](https:\u002F\u002Fs3.eu-central-1.amazonaws.com\u002Favg-kitti\u002Fdata_object_image_2.zip)(12 GB), [calibration files](https:\u002F\u002Fs3.eu-central-1.amazonaws.com\u002Favg-kitti\u002Fdata_object_calib.zip)(16 MB)和[labels](https:\u002F\u002Fs3.eu-central-1.amazonaws.com\u002Favg-kitti\u002Fdata_object_label_2.zip)(5 MB)。Format the datasets as follows:\n    ```\n    kitti\n        |- training\n            |- calib (#7481 .txt)\n            |- image_2 (#7481 .png)\n            |- label_2 (#7481 .txt)\n            |- velodyne (#7481 .bin)\n        |- testing\n            |- calib (#7518 .txt)\n            |- image_2 (#7518 .png)\n            |- velodyne (#7518 .bin)\n    ```\n\n2. Pre-process KITTI datasets First\n\n    ```\n    cd PointPillars\u002F\n    python pre_process_kitti.py --data_root your_path_to_kitti\n    ```\n\n    Now, we have datasets as follows:\n    ```\n    kitti\n        |- training\n            |- calib (#7481 .txt)\n            |- image_2 (#7481 .png)\n            |- label_2 (#7481 .txt)\n            |- velodyne (#7481 .bin)\n            |- velodyne_reduced (#7481 .bin)\n        |- testing\n            |- calib (#7518 .txt)\n            |- image_2 (#7518 .png)\n            |- velodyne (#7518 .bin)\n            |- velodyne_reduced (#7518 .bin)\n        |- kitti_gt_database (# 19700 .bin)\n        |- kitti_infos_train.pkl\n        |- kitti_infos_val.pkl\n        |- kitti_infos_trainval.pkl\n        |- kitti_infos_test.pkl\n        |- kitti_dbinfos_train.pkl\n    ```\n\n## [Training]\n\n```\ncd PointPillars\u002F\npython train.py --data_root your_path_to_kitti\n```\n\n## [Evaluation]\n\n```\ncd PointPillars\u002F\npython evaluate.py --ckpt pretrained\u002Fepoch_160.pth --data_root your_path_to_kitti \n```\n\n## [Test]\n\n```\ncd PointPillars\u002F\n\n# 1. infer and visualize point cloud detection\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path your_pc_path \n\n# 2. infer and visualize point cloud detection and gound truth.\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path your_pc_path --calib_path your_calib_path  --gt_path your_gt_path\n\n# 3. infer and visualize point cloud & image detection\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path your_pc_path --calib_path your_calib_path --img_path your_img_path\n\n\ne.g. \na. [infer on val set 000134]\n\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.bin\n\nor\n\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.bin \\\n               --calib_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.txt \\\n               --img_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.png \\\n               --gt_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134_gt.txt\n\nb. [infer on test set 000002]\n\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path pointpillars\u002Fdataset\u002Fdemo_data\u002Ftest\u002F000002.bin\n\nor \n\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path pointpillars\u002Fdataset\u002Fdemo_data\u002Ftest\u002F000002.bin \\\n               --calib_path pointpillars\u002Fdataset\u002Fdemo_data\u002Ftest\u002F000002.txt \\\n               --img_path pointpillars\u002Fdataset\u002Fdemo_data\u002Ftest\u002F000002.png\n```\n\n## Acknowledements\n\nThanks for the open source code [mmcv](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv), [mmdet](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection) and [mmdet3d](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d).\n","# [PointPillars：用于点云目标检测的快速编码器](https:\u002F\u002Farxiv.org\u002Fabs\u002F1812.05784) \n\n一个简单的基于PyTorch的PointPillars实现，用于3D激光雷达（KITTI）目标检测。[[知乎](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F521277176)]\n\n- 无需安装[Spconv](https:\u002F\u002Fgithub.com\u002Ftraveller59\u002Fspconv)、[mmdet](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection)或[mmdet3d](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d)即可运行。\n- 此仓库仅实现了单一的检测网络（PointPillars），因此代码更加易于阅读。\n- 衷心感谢优秀的开源架构[mmcv](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv)、[mmdet](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection)和[mmdet3d](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d)，它们帮助我学习3D目标检测并完成了本仓库的实现。\n\n## 新闻\n\n- **2025-02** 支持将PointPillars代码打包成Python包。\n- **2024-04** 在分支[feature\u002Fdeployment](https:\u002F\u002Fgithub.com\u002Fzhulf0804\u002FPointPillars\u002Ftree\u002Ffeature\u002Fdeployment)上支持将PointPillars导出为ONNX和TensorRT格式。\n\n    ![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fzhulf0804_PointPillars_readme_cbb48d96cf0c.png)\n\n## KITTI验证集上的mAP（Easy, Moderate, Hard）\n\n| 仓库 | 指标 | 总体 | 行人 | 自行车 | 汽车 |\n| :---: | :---: | :---: | :---: | :---: | :---: |\n| 本仓库 | 3D-BBox | 73.3259 62.7834 59.6278 | 51.4642 47.9446 43.8040 | 81.8677 63.6617 60.9126 | 86.6456 76.7439 74.1668 | \n| [mmdet3d v0.18.1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1) | 3D-BBox  | 72.0537, 60.1114, 55.8320 | 52.0263, 46.4037, 42.4841 | 78.7231, 59.9526, 57.2489 | 85.4118, 73.9780, 67.7630 |\n| 本仓库 | BEV | 77.8540 69.8003 66.6699 | 59.1687 54.3456 50.5023 | 84.4268 67.1409 63.7409 | 89.9664 87.9145 85.7664 | \n| [mmdet3d v0.18.1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1) | BEV | 76.6485, 67.7609, 64.5605 | 59.0778, 53.3638, 48.4230 | 80.9328, 63.3447, 60.0618 | 89.9348, 86.5743, 85.1967 |\n| 本仓库 | 2D-BBox | 80.5097 74.6120 71.4758 | 64.6249 61.4201 57.5965 | 86.2569 73.0828 70.1726 | 90.6471 89.3330 86.6583 |\n| [mmdet3d v0.18.1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1) | 2D-BBox | 78.4938, 73.4781, 70.3613 | 62.2413, 58.9157, 55.3660 | 82.6460, 72.3547, 68.4669 | 90.5939, 89.1638, 87.2511 |\n| 本仓库 | AOS | 74.9647 68.1712 65.2817 | 49.3777 46.7284 43.8352 | 85.0412 69.1024 66.2801 | 90.4752 88.6828 85.7298 |\n| [mmdet3d v0.18.1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1) | AOS | 72.41, 66.23, 63.55 | 46.00, 43.22, 40.94 | 80.85, 67.20, 63.63 | 90.37, 88.27, 86.07 |\n\n- **注：此处报告的是[mmdet3d v0.18.1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1)（2022年2月9日至2022年3月1日）基于官方提供的[checkpoint](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv0.18.1\u002Fconfigs\u002Fpointpillars#kitti)的性能。在[mmdet3d v1.0.0rc1](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d\u002Ftree\u002Fv1.0.0rc1)中进行了大量改进**。\n\n## 检测可视化\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fzhulf0804_PointPillars_readme_469f507f27d5.png)\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fzhulf0804_PointPillars_readme_a5b133d63e42.png)\n\n## [安装] \n\n按以下步骤安装PointPillars及其所有依赖项：\n\n```\ncd PointPillars\u002F\npip install -r requirements.txt\npython setup.py build_ext --inplace\npip install .\n```\n\n## [数据集]\n\n1. 下载\n\n    下载[点云](https:\u002F\u002Fs3.eu-central-1.amazonaws.com\u002Favg-kitti\u002Fdata_object_velodyne.zip)（29GB）、[图像](https:\u002F\u002Fs3.eu-central-1.amazonaws.com\u002Favg-kitti\u002Fdata_object_image_2.zip)（12 GB）、[标定文件](https:\u002F\u002Fs3.eu-central-1.amazonaws.com\u002Favg-kitti\u002Fdata_object_calib.zip)（16 MB）和[标注](https:\u002F\u002Fs3.eu-central-1.amazonaws.com\u002Favg-kitti\u002Fdata_object_label_2.zip)（5 MB）。按照如下格式整理数据集：\n    ```\n    kitti\n        |- training\n            |- calib (#7481 .txt)\n            |- image_2 (#7481 .png)\n            |- label_2 (#7481 .txt)\n            |- velodyne (#7481 .bin)\n        |- testing\n            |- calib (#7518 .txt)\n            |- image_2 (#7518 .png)\n            |- velodyne (#7518 .bin)\n    ```\n\n2. 首先预处理KITTI数据集\n\n    ```\n    cd PointPillars\u002F\n    python pre_process_kitti.py --data_root your_path_to_kitti\n    ```\n\n    现在，我们得到如下数据集：\n    ```\n    kitti\n        |- training\n            |- calib (#7481 .txt)\n            |- image_2 (#7481 .png)\n            |- label_2 (#7481 .txt)\n            |- velodyne (#7481 .bin)\n            |- velodyne_reduced (#7481 .bin)\n        |- testing\n            |- calib (#7518 .txt)\n            |- image_2 (#7518 .png)\n            |- velodyne (#7518 .bin)\n            |- velodyne_reduced (#7518 .bin)\n        |- kitti_gt_database (# 19700 .bin)\n        |- kitti_infos_train.pkl\n        |- kitti_infos_val.pkl\n        |- kitti_infos_trainval.pkl\n        |- kitti_infos_test.pkl\n        |- kitti_dbinfos_train.pkl\n    ```\n\n## [训练]\n\n```\ncd PointPillars\u002F\npython train.py --data_root your_path_to_kitti\n```\n\n## [评估]\n\n```\ncd PointPillars\u002F\npython evaluate.py --ckpt pretrained\u002Fepoch_160.pth --data_root your_path_to_kitti \n```\n\n## [测试]\n\n```\ncd PointPillars\u002F\n\n# 1. 推理并可视化点云检测结果\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path your_pc_path \n\n# 2. 推理并可视化点云检测结果及真实标签\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path your_pc_path --calib_path your_calib_path  --gt_path your_gt_path\n\n# 3. 推理并可视化点云与图像联合检测结果\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path your_pc_path --calib_path your_calib_path --img_path your_img_path\n\n\n例如：\na. [在验证集000134上进行推理]\n\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.bin\n\n或者\n\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.bin \\\n               --calib_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.txt \\\n               --img_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.png \\\n               --gt_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134_gt.txt\n\nb. [在测试集000002上进行推理]\n\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path pointpillars\u002Fdataset\u002Fdemo_data\u002Ftest\u002F000002.bin\n\n或者 \n\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path pointpillars\u002Fdataset\u002Fdemo_data\u002Ftest\u002F000002.bin \\\n               --calib_path pointpillars\u002Fdataset\u002Fdemo_data\u002Ftest\u002F000002.txt \\\n               --img_path pointpillars\u002Fdataset\u002Fdemo_data\u002Ftest\u002F000002.png\n```\n\n## 致谢\n\n感谢开源代码[mmcv](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmcv)、[mmdet](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection)和[mmdet3d](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmdetection3d)。","# PointPillars 快速上手指南\n\nPointPillars 是一个基于 PyTorch 的轻量级 3D 激光雷达（LiDAR）目标检测实现，专为 KITTI 数据集设计。该仓库代码简洁，无需安装 Spconv、MMDetection 或 MMDetection3D 等复杂依赖即可运行，适合快速学习与部署。\n\n## 环境准备\n\n- **操作系统**：Linux (推荐 Ubuntu 18.04+)\n- **Python 版本**：3.7 - 3.9\n- **核心依赖**：\n  - PyTorch (建议 1.8+)\n  - CUDA (需与 PyTorch 版本匹配)\n  - NumPy, OpenCV, Pillow 等基础科学计算库\n\n> **提示**：国内用户建议使用清华源或阿里源加速 pip 包下载。\n> ```bash\n> pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 安装步骤\n\n克隆仓库后，按以下顺序执行命令进行安装：\n\n```bash\ncd PointPillars\u002F\npip install -r requirements.txt\npython setup.py build_ext --inplace\npip install .\n```\n\n## 基本使用\n\n### 1. 数据准备\n\n下载 KITTI 数据集（点云、图像、标定文件、标签），并整理为以下目录结构：\n\n```text\nkitti\n    |- training\n        |- calib\n        |- image_2\n        |- label_2\n        |- velodyne\n    |- testing\n        |- calib\n        |- image_2\n        |- velodyne\n```\n\n执行预处理脚本生成模型所需的信息文件：\n\n```bash\ncd PointPillars\u002F\npython pre_process_kitti.py --data_root your_path_to_kitti\n```\n*注：将 `your_path_to_kitti` 替换为实际数据集路径。*\n\n### 2. 模型训练\n\n使用预处理后的数据开始训练：\n\n```bash\ncd PointPillars\u002F\npython train.py --data_root your_path_to_kitti\n```\n\n### 3. 推理与可视化\n\n使用预训练权重（如 `pretrained\u002Fepoch_160.pth`）对单帧点云进行推理和可视化：\n\n**仅点云检测：**\n```bash\npython test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path your_pc_path\n```\n\n**点云 + 图像 + 真值联合可视化（推荐）：**\n```bash\npython test.py --ckpt pretrained\u002Fepoch_160.pth \\\n               --pc_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.bin \\\n               --calib_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.txt \\\n               --img_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134.png \\\n               --gt_path pointpillars\u002Fdataset\u002Fdemo_data\u002Fval\u002F000134_gt.txt\n```\n\n*注：`your_pc_path` 需替换为具体的 `.bin` 点云文件路径。*","某自动驾驶初创团队正在开发一款面向城市低速场景的无人配送车，急需在嵌入式计算平台上实现实时的 3D 障碍物检测功能。\n\n### 没有 PointPillars 时\n- **部署门槛极高**：团队必须安装 Spconv、MMDetection3D 等重型依赖库，环境配置复杂且极易出现版本冲突，导致开发进度停滞。\n- **推理速度不达标**：现有的复杂 3D 检测模型在车载芯片上运行缓慢，无法满足配送车在动态人流中每秒 10 帧以上的实时安全要求。\n- **代码调试困难**：开源方案往往封装过深或逻辑分散，工程师难以快速定位点云特征提取中的问题，定制化修改耗时费力。\n- **端侧落地受阻**：缺乏便捷的模型导出工具，无法将训练好的 PyTorch 模型高效转换为 TensorRT 引擎以适配边缘设备。\n\n### 使用 PointPillars 后\n- **轻量化快速集成**：无需安装 Spconv 等大型框架，仅凭轻量级 PyTorch 实现即可完成环境搭建，团队两天内便跑通了 KITTI 数据集验证。\n- **实时性能显著提升**：利用其独特的“支柱”编码结构，模型在保持高精度（3D-BBox mAP 超 73%）的同时，推理速度大幅提升，完美满足实时避障需求。\n- **源码清晰易改**：单一网络结构的代码逻辑直观透明，算法工程师能迅速理解数据流，针对配送车特有的低矮障碍物进行了针对性优化。\n- **无缝端侧部署**：借助支持的 ONNX 与 TensorRT 导出功能，模型顺利部署至车载计算单元，延迟降低至毫秒级，确保了行驶安全。\n\nPointPillars 以其极简的架构设计和高效的推理性能，成功帮助团队跨越了从算法验证到嵌入式实车部署的关键鸿沟。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fzhulf0804_PointPillars_cbb48d96.png","zhulf0804","ZhuLifa","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fzhulf0804_7f757b47.jpg","Keep running on the way. \r\n",null,"Beijing · China","zhulf0804@gmail.com","https:\u002F\u002Fgithub.com\u002Fzhulf0804",[86,90,94],{"name":87,"color":88,"percentage":89},"Python","#3572A5",74.3,{"name":91,"color":92,"percentage":93},"Cuda","#3A4E3A",17.7,{"name":95,"color":96,"percentage":97},"C++","#f34b7d",8,845,183,"2026-04-13T08:53:05","MIT",4,"未说明","需要 NVIDIA GPU (隐含，因涉及 CUDA\u002FTensorRT\u002FSpconv 等 3D 检测常用组件)，具体型号和显存未说明",{"notes":106,"python":103,"dependencies":107},"该实现无需安装 Spconv、mmdet 或 mmdet3d 即可运行。支持将模型导出为 ONNX 和 TensorRT 格式。数据集需手动下载 KITTI 点云、图像、标定文件和标签，并运行预处理脚本生成 .pkl 信息文件。",[108,109,110,111,112],"torch","mmcv","mmdet","mmdet3d (可选，非必需)","spconv (可选，非必需)",[18],[115,116,117],"kitty","lidar-detection","pointpillars","2026-03-27T02:49:30.150509","2026-04-16T01:49:42.041255",[121,126,131,136,141,146],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},34661,"在 Windows 系统上运行时遇到路径分隔符错误或 DLL 加载失败怎么办？","该代码此前仅在 Linux 上测试过，Windows 的路径分隔符（\\）与 Linux（\u002F）不同导致报错。解决方法：\n1. 在 pre_process_kitti.py 文件中，将所有硬编码的 '\u002F' 替换为 os.path.sep。例如，将 '\u002F'.join(lidar_path.split('\u002F')[-3:]) 修改为 os.path.sep.join(lidar_path.split(os.path.sep)[-3:])。\n2. 重新处理 KITTI 数据集：python pre_process_kitti.py --data_root your_path_to_kitti。","https:\u002F\u002Fgithub.com\u002Fzhulf0804\u002FPointPillars\u002Fissues\u002F10",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},34662,"如何使用自己的点云数据（.bin 文件）进行推理？数据格式和范围有什么要求？","可以使用命令 python test.py --ckpt pretrained\u002Fepoch_160.pth --pc_path your_file.bin 进行推理。注意事项：\n1. bin 文件需正确读入为 (n, 4) 的数组。\n2. 点云数据的主要范围应在 [0, -39.68, -3, 69.12, 39.68, 1] 之间，分别对应 x(0, 69.12), y(-39.68, 39.68), z(-3, 1)。如果数据范围不符，可能需要修改代码中的过滤逻辑。","https:\u002F\u002Fgithub.com\u002Fzhulf0804\u002FPointPillars\u002Fissues\u002F7",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},34663,"运行测试脚本时出现 'TypeError: tuple indices must be integers or slices, not str' 错误是什么原因？","这通常是因为模型在推理过程中没有检测到任何物体（如车、行人等），导致返回结果为空元组 ([], [], []) 而不是字典，后续代码尝试用字符串键访问元组时报错。解决方案是检查输入场景是否包含有效物体，或者在代码中增加对空检测结果的异常处理逻辑（判断 result 是否为空或类型是否正确）。","https:\u002F\u002Fgithub.com\u002Fzhulf0804\u002FPointPillars\u002Fissues\u002F21",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},34664,"训练模型需要多长时间？支持断点续训吗？","使用默认参数在单张 RTX 3090 GPU 上训练 160 个 epoch 大约需要 20 小时。目前代码暂不支持断点续训（model resuming），作者计划在未来更新代码以支持此功能。","https:\u002F\u002Fgithub.com\u002Fzhulf0804\u002FPointPillars\u002Fissues\u002F13",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},34665,"遇到 'ModuleNotFoundError: No module named ops.voxel_op' 错误如何解决？","这通常是由于操作系统路径分隔符差异引起的（特别是在 Windows 上）。请检查 pre_process_kitti.py 等文件中的路径拼接方式，将所有 '\u002F' 替换为 os.path.sep，并重新运行数据处理脚本。如果问题依旧，建议直接在 Linux 环境（如 Ubuntu 18.04）下运行以避免兼容性问题。","https:\u002F\u002Fgithub.com\u002Fzhulf0804\u002FPointPillars\u002Fissues\u002F11",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},34666,"在 Ubuntu 22.04 和新显卡（如 3080Ti\u002F3090）上编译 setup.py 失败怎么办？","在新版 Ubuntu 和高性能 GPU 上编译可能遇到环境问题。虽然具体错误日志被截断，但常见建议包括：确保本地安装的 torch 版本与 CUDA 版本匹配，避免使用预编译包导致的冲突；检查是否安装了必要的构建工具（如 build-essential, cmake 等）。如果遇到特定编译错误，建议尝试在 Ubuntu 18.04 等经过验证的环境中运行，或详细查看报错信息调整本地 PyTorch 安装方式。","https:\u002F\u002Fgithub.com\u002Fzhulf0804\u002FPointPillars\u002Fissues\u002F17",[152],{"id":153,"version":154,"summary_zh":81,"released_at":155},271976,"v1.0.0","2025-02-14T13:10:48"]