{"id":13439065,"url":"https://github.com/HuangCongQing/3D-LIDAR-Multi-Object-Tracking","last_synced_at":"2025-03-20T07:32:03.999Z","repository":{"id":42940135,"uuid":"307561415","full_name":"HuangCongQing/3D-LIDAR-Multi-Object-Tracking","owner":"HuangCongQing","description":"🔥3D-MOT(点云多目标检测和追踪C++)  （2020 · 秋） 代码有详细注解","archived":false,"fork":false,"pushed_at":"2024-03-12T02:46:39.000Z","size":14804,"stargazers_count":387,"open_issues_count":10,"forks_count":90,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-10-22T18:23:11.296Z","etag":null,"topics":["kitti","lidar","mot","pcl","pointcloud","pointcloud-segmentation","ros-melodic"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HuangCongQing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-27T02:17:19.000Z","updated_at":"2024-10-22T00:27:28.000Z","dependencies_parsed_at":"2024-10-23T00:07:27.446Z","dependency_job_id":null,"html_url":"https://github.com/HuangCongQing/3D-LIDAR-Multi-Object-Tracking","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HuangCongQing%2F3D-LIDAR-Multi-Object-Tracking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HuangCongQing%2F3D-LIDAR-Multi-Object-Tracking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HuangCongQing%2F3D-LIDAR-Multi-Object-Tracking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HuangCongQing%2F3D-LIDAR-Multi-Object-Tracking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HuangCongQing","download_url":"https://codeload.github.com/HuangCongQing/3D-LIDAR-Multi-Object-Tracking/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221739655,"owners_count":16872767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kitti","lidar","mot","pcl","pointcloud","pointcloud-segmentation","ros-melodic"],"created_at":"2024-07-31T03:01:10.852Z","updated_at":"2024-10-27T22:30:19.557Z","avatar_url":"https://github.com/HuangCongQing.png","language":"C++","funding_links":[],"categories":["C++","3. Perception"],"sub_categories":["3.2 Tracking"],"readme":"\u003c!--\n * @Author: HCQ\n * @Date: 2020-10-27 10:18:56\n * @LastEditTime: 2021-01-31 21:06:06\n * @LastEditors: Please set LastEditors\n * @Description: 3D-LIDAR Multi Object Tracking for Autonomous Driving（Master论文）\n * @FilePath: /3D-LIDAR-Multi-Object-Tracking/README.md\n--\u003e\n\n# 3D-LIDAR-Multi-Object-Tracking\n\n3D-MOT(多目标检测和追踪) 代码有详细注解 （2020 · 秋）\n更多内容,请参见公众号:双愚\n\n参考：https://github.com/k0suke-murakami/object_tracking\n* 🔥pcl学习：https://github.com/HuangCongQing/pcl-learning\n* 🔥ros学习：https://github.com/HuangCongQing/ROS\n* 🔥想学习**深度学习方向点云目标检测\u0026语义分割**可参考：https://github.com/HuangCongQing/3D-Point-Clouds\n\n\n@[双愚](https://github.com/HuangCongQing/3D-LIDAR-Multi-Object-Tracking) , 若fork或star请注明来源\n\n\n**微信交流群二维码每周都更新一次，请关注公众号【双愚】后台回复目标检测加群**\n* 更多自动驾驶相关交流群，欢迎扫码加入：[自动驾驶感知(PCL/ROS+DL)：技术交流群汇总(新版)](https://mp.weixin.qq.com/s?__biz=MzI4OTY1MjA3Mg==\u0026mid=2247486575\u0026idx=1\u0026sn=3145b7a5e9dda45595e1b51aa7e45171\u0026chksm=ec2aa068db5d297efec6ba982d6a73d2170ef09a01130b7f44819b01de46b30f13644347dbf2#rd)\n\n\n![image](https://github.com/HuangCongQing/3D-LIDAR-Multi-Object-Tracking/assets/20675770/e752a1f2-c03e-4a9e-b4c4-63ebea6b555b)\n\n  \n\n#### 版本(建议先看kitti分支)\n\n* [main](https://github.com/HuangCongQing/3D-LIDAR-Multi-Object-Tracking) : 使用个人采集数据集\n* [kitti](https://github.com/HuangCongQing/3D-LIDAR-Multi-Object-Tracking/tree/kitti) : **使用kitti数据集,初学者建议切换看这个分支,无须自己配置**🎉️🎉️🎉️🎉️🎉️\n\n### 两文件夹介绍\n\n此仓库的两文件夹\n\n* [object_tracking](object_tracking): **代码有详细注解,建议先看这个入门**🎉️🎉️🎉️🎉️\n* [object_tracking0](object_tracking0):原始代码(包含全部代码)\n\n目录\n\n```shell\n\n├── src\n│   ├── groundremove\n│   │   └──extract_ground.cpp // 提取地面 没有使用？！！！\n│   │   └── gaus_blur.cpp           //高斯模糊  #include \"ground_removal.h\"\n│   │   └── ground_removal.cpp   //地面去除 #include \"gaus_blur.h\"  各种函数的集合，没有主函数\n│   │   └── main.cpp  //  #include \"ground_removal.h\"\n│   └──  cluster\n│          ├── box_fitting.cpp        //  Bounding Box Fitting 边界框拟合\n│          ├── component_clustering.cpp// 利用连通组件聚类来区分提升点中的每个可能的对象。\n│          ├── main.cpp          //  #include \"component_clustering.h\"  \"box_fitting.h\"\n└── tracking\n    ├── Eigen\n    │   ├── ...\n    ├── ukf.cpp        //  Unscented Kalman Filter (UKF)无损滤波器\n    ├── imm_ukf_jpda.cpp//   #include \"ukf.h\" IMM-UK-JPDAF的“耦合”滤波器\n    └── main.cpp         //  #include \"imm_ukf_jpda.h\"\n```\n\n### Intro\n\nThis package includes **Ground Removal, Object Clustering, Bounding Box, IMM-UKF-JPDAF, Track Management and Object Classification** for 3D-LIDAR multi object tracking.\nThe idea is mainly come from this [paper](https://repository.tudelft.nl/islandora/object/uuid:f536b829-42ae-41d5-968d-13bbaa4ec736?collection=education).\n\n代码对应论文：[3D-LIDAR Multi Object Tracking for Autonomous Driving（Master论文）](https://repository.tudelft.nl/islandora/object/uuid:f536b829-42ae-41d5-968d-13bbaa4ec736?collection=education)\n\n* **论文阅读笔记：https://t.zsxq.com/10VBokCzF   《3D-LIDAR Multi Object Tracking for Autonomous Driving（Master论文）》**\n* 代码分析笔记：https://t.zsxq.com/10VBokCzF  《Code（3D-LIDAR Multi Object Tracking）》\n\n更多内容,请参见公众号:**双愚**\n\n下面介绍用kitti数据集相关操作\n\n### Setup\n\n##### Frameworks and Packages\n\nMake sure you have the following is installed:\n\n- [ROS Kinetic](http://wiki.ros.org/kinetic)\n- [PCL 1.7.2](http://pointclouds.org/downloads/)\n- [Open CV 3.2](https://opencv.org/)【PCL自带opencv，不用安装】\n\n##### Dataset\n\n数据集已处理好，放在百度网盘上，需要自己下载\n\n* kitti_2011_09_26_drive_0005_synced.bag\n* 链接: https://pan.baidu.com/s/1sYWHzF11RpyEW25cQ_iNGA  密码: b6pd\n\n### 编译\n\n将本仓库下的2个文件夹（object_tracking/object_tracking0）移动到catkin_wp/src下，然后执行下面操作\n\n```shell\n// 创建环境变量 src中运行\nmkdir -p catkin_wp/src\ncd catkin_wp/src\ncatkin_init_workspace\n\n// 编译（需要回到工作空间catkin_wp）\ncd ..\ncatkin_make  // 产生build和devel文件夹\n\n\n//设置环境变量，找到src里的功能包(每个新的shell窗口都要执行以下source devel/setup.bash)\nsource devel/setup.bash  // 不同shell，不同哦.sh  .zsh           通过设置gedit ~/.zshrc，不用每次都source\n```\n\n详情可参考：https://www.yuque.com/docs/share/e59d5c91-b46d-426a-9957-cd262f5fc241?# 《09.创建工作空间与功能包※※※》\n\n### 修改配置文件\n\n举例：修改输入**topic**和**对应的**`frame_id(有好几处,可以全局搜索进行修改)`\n\n```bash\ncd object_tracking/src/groundremove/main.cpp\n\n#第8行      \"/kitti/velo/pointcloud\" --话题名(可以根据不同数据集修改topic话题名) \nros::Subscriber sub = nh.subscribe(\"/kitti/velo/pointcloud\", 160, cloud_cb); \n\n# 修改frame_id = \"velo_link\"\n\n```\n\n### Start\n\n各模块代码路径：\n\n* [src/groundremove](object_tracking/src/groundremove)\n* [src/cluster](object_tracking/src/cluster)\n* [tracking](object_tracking/tracking)\n\n#### ~~PLEASE make sure you load the files, `src/ego_velo.txt` and `src/ego_yaw.txt` in `src/imm_ukf_jpda.cpp` l68, l69~~\n\n##### Terminal 1\n\n```\nroscore\n```\n\n##### Terminal 2\n\n`--loop`循环paly不推荐加，tracking和上一帧有关，误差越来越大\n\n```\n# kitti官方 注意修改路径path\nrosbag play path/kitti_2011_09_26_drive_0005_synced.bag --loop\n\n\n```\n\n##### Terminal 3\n\n```\nrviz\n```\n\n![arch](object_tracking/pic/setting.png)\n\n##### Terminal 4\n\n```\n\n#  推荐运行launch\nroslaunch  object_tracking test.launch\n#  复杂不推荐\nrosrun object_tracking ground\nrosrun object_tracking cluster\nrosrun object_tracking tracking\n\n```\n\n### Result\n\n![](https://cdn.nlark.com/yuque/0/2021/png/232596/1612101391954-0ff20177-dc25-4b69-8530-e76254c4dc64.png)\n\n![arch](object_tracking//pic/result2.png)\n\n###### Youtube [Clip](https://www.youtube.com/watch?v=zzFpTVk2Uj0)\n\n[![IMAGE ALT TEXT HERE](https://img.youtube.com/vi/zzFpTVk2Uj0/0.jpg)](https://www.youtube.com/watch?v=zzFpTVk2Uj0)\n\n### License\n\nCopyright (c) [双愚](https://github.com/HuangCongQing/3D-LIDAR-Multi-Object-Tracking). All rights reserved.\n\nLicensed under the [MIT](./LICENSE) License.\n\n应同学建议，创建了星球 **【自动驾驶感知(PCL/ROS+DL)】** 专注于自动驾驶感知领域，包括传统方法(PCL点云库,ROS)和深度学习（目标检测+语义分割）方法。同时涉及Apollo，Autoware(基于ros2)，BEV感知，三维重建，SLAM(视觉+激光雷达) ，模型压缩（蒸馏+剪枝+量化等），自动驾驶模拟仿真，自动驾驶数据集标注\u0026数据闭环等自动驾驶全栈技术，欢迎扫码二维码加入，一起登顶自动驾驶的高峰！\n\n![image](https://github.com/HuangCongQing/HuangCongQing/assets/20675770/304e0c4d-89d2-4cee-a2a9-3c690611c9d9)\n\n\n\n**最后，如果您想要支持我的工作，请扫描下面的二维码**\n\n![image](https://user-images.githubusercontent.com/20675770/174442478-705129f7-ca4d-4e89-9b21-7e1b84817940.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHuangCongQing%2F3D-LIDAR-Multi-Object-Tracking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHuangCongQing%2F3D-LIDAR-Multi-Object-Tracking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHuangCongQing%2F3D-LIDAR-Multi-Object-Tracking/lists"}