Giter Site home page Giter Site logo

huangcongqing / 3d-lidar-multi-object-tracking Goto Github PK

View Code? Open in Web Editor NEW
346.0 7.0 87.0 14.46 MB

🔥3D-MOT(点云多目标检测和追踪C++) (2020 · 秋) 代码有详细注解

License: MIT License

CMake 0.29% C++ 98.18% C 1.52%
kitti pcl ros-melodic lidar pointcloud-segmentation pointcloud mot

3d-lidar-multi-object-tracking's Introduction

3D-LIDAR-Multi-Object-Tracking

3D-MOT(多目标检测和追踪) 代码有详细注解 (2020 · 秋) 更多内容,请参见公众号:双愚

参考:https://github.com/k0suke-murakami/object_tracking

@双愚 , 若fork或star请注明来源

微信交流群二维码每周都更新一次,请关注公众号【双愚】后台回复目标检测加群

image

版本(建议先看kitti分支)

  • main : 使用个人采集数据集
  • kitti : 使用kitti数据集,初学者建议切换看这个分支,无须自己配置🎉️🎉️🎉️🎉️🎉️

两文件夹介绍

此仓库的两文件夹

目录

├── src
│   ├── groundremove
│   │   └──extract_ground.cpp // 提取地面 没有使用?!!!
│   │   └── gaus_blur.cpp           //高斯模糊  #include "ground_removal.h"
│   │   └── ground_removal.cpp   //地面去除 #include "gaus_blur.h"  各种函数的集合,没有主函数
│   │   └── main.cpp  //  #include "ground_removal.h"
│   └──  cluster
│          ├── box_fitting.cpp        //  Bounding Box Fitting 边界框拟合
│          ├── component_clustering.cpp// 利用连通组件聚类来区分提升点中的每个可能的对象。
│          ├── main.cpp          //  #include "component_clustering.h"  "box_fitting.h"
└── tracking
    ├── Eigen
    │   ├── ...
    ├── ukf.cpp        //  Unscented Kalman Filter (UKF)无损滤波器
    ├── imm_ukf_jpda.cpp//   #include "ukf.h" IMM-UK-JPDAF的“耦合”滤波器
    └── main.cpp         //  #include "imm_ukf_jpda.h"

Intro

This package includes Ground Removal, Object Clustering, Bounding Box, IMM-UKF-JPDAF, Track Management and Object Classification for 3D-LIDAR multi object tracking. The idea is mainly come from this paper.

代码对应论文:3D-LIDAR Multi Object Tracking for Autonomous Driving(Master论文)

更多内容,请参见公众号:双愚

下面介绍用kitti数据集相关操作

Setup

Frameworks and Packages

Make sure you have the following is installed:

Dataset

数据集已处理好,放在百度网盘上,需要自己下载

编译

将本仓库下的2个文件夹(object_tracking/object_tracking0)移动到catkin_wp/src下,然后执行下面操作

// 创建环境变量 src中运行
mkdir -p catkin_wp/src
cd catkin_wp/src
catkin_init_workspace

// 编译(需要回到工作空间catkin_wp)
cd ..
catkin_make  // 产生build和devel文件夹


//设置环境变量,找到src里的功能包(每个新的shell窗口都要执行以下source devel/setup.bash)
source devel/setup.bash  // 不同shell,不同哦.sh  .zsh           通过设置gedit ~/.zshrc,不用每次都source

详情可参考:https://www.yuque.com/docs/share/e59d5c91-b46d-426a-9957-cd262f5fc241?# 《09.创建工作空间与功能包※※※》

修改配置文件

举例:修改输入topic对应的frame_id(有好几处,可以全局搜索进行修改)

cd object_tracking/src/groundremove/main.cpp

#第8行      "/kitti/velo/pointcloud" --话题名(可以根据不同数据集修改topic话题名) 
ros::Subscriber sub = nh.subscribe("/kitti/velo/pointcloud", 160, cloud_cb); 

# 修改frame_id = "velo_link"

Start

各模块代码路径:

PLEASE make sure you load the files, src/ego_velo.txt and src/ego_yaw.txt in src/imm_ukf_jpda.cpp l68, l69

Terminal 1
roscore
Terminal 2

--loop循环paly不推荐加,tracking和上一帧有关,误差越来越大

# kitti官方 注意修改路径path
rosbag play path/kitti_2011_09_26_drive_0005_synced.bag --loop


Terminal 3
rviz

arch

Terminal 4

#  推荐运行launch
roslaunch  object_tracking test.launch
#  复杂不推荐
rosrun object_tracking ground
rosrun object_tracking cluster
rosrun object_tracking tracking

Result

arch

Youtube Clip

IMAGE ALT TEXT HERE

License

Copyright (c) 双愚. All rights reserved.

Licensed under the MIT License.

应同学建议,创建了星球 【自动驾驶感知(PCL/ROS+DL)】 专注于自动驾驶感知领域,包括传统方法(PCL点云库,ROS)和深度学习(目标检测+语义分割)方法。同时涉及Apollo,Autoware(基于ros2),BEV感知,三维重建,SLAM(视觉+激光雷达) ,模型压缩(蒸馏+剪枝+量化等),自动驾驶模拟仿真,自动驾驶数据集标注&数据闭环等自动驾驶全栈技术,欢迎扫码二维码加入,一起登顶自动驾驶的高峰!

image

最后,如果您想要支持我的工作,请扫描下面的二维码

image

3d-lidar-multi-object-tracking's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

3d-lidar-multi-object-tracking's Issues

链接失效

您好:
感谢能开源该项目,学习到了很多,但是,代码分析笔记:[https://www.yuque.com/docs/share/c125da75-50fd-4d49-bfc9-08ba42fc3188?#,这个链接于4月4日失效了]
希望能够修复!感激不尽!

订阅的“/gps/odom”的回调函数似乎并没有执行

请问在tracking中订阅的“/gps/odom”的回调函数似乎并没有执行啊,所以自车的速度和偏航角并没有输入吗?既然没有用到原始代码中的两个.txt文件,那这个地方相对于原始代码是有改进的地方吗?

question

没人发现roslaunch打开rivz界面之后,他的点云图是反着跑的吗,聚类范围车后大于车前

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.