Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Track 3D Bounding Boxes and compute Time to Collision

NotificationsYou must be signed in to change notification settings

atharvahude/3D-Vehicle-Time-To-Collision

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository is part of the camera course in the Sensor Fusion Nanodegree. In this project, I implemented several key components to track 3D objects over time, compute Time-to-Collision (TTC) using both Lidar and camera data, and test various detector/descriptor combinations.

Project Overview

This project involves the following tasks:

  1. Matching 3D Objects Over Time
  2. Computing TTC Based on Lidar Measurements
  3. Computing TTC Based on Camera Measurements
  4. Conducting Various Tests with the Framework

1. Matching 3D Objects Over Time

Developed an algorithm to match 3D objects over time using keypoint correspondences. This involved:

  • Extracting keypoints and descriptors from successive frames.
  • Matching these keypoints to track objects across frames.
  • Implementation Details: ThematchBoundingBoxes method incamFusion_Student.cpp correctly assigns the matches based on counts. Check out line 285 for implementation details.

2. Computing TTC Based on Lidar Measurements

Implemented a method to compute the Time-to-Collision (TTC) using Lidar measurements. This process includes:

  • Filtering Lidar points to focus on the region of interest.
  • Calculating TTC using the relative velocity and distance of the objects.
  • Implementation Details: The Lidar-based TTC uses the median distance instead of the closest Lidar point. Check out line 234 inmatching2D_Student.cpp for implementation.

3. Computing TTC Based on Camera Measurements

For camera-based TTC computation:

  • Associated keypoint matches to regions of interest (ROI).
  • Computed TTC based on the keypoint matches within the ROI.
  • Integrated this with the object tracking mechanism.
  • Implementation Details:
    • Associate Keypoint Correspondences with Bounding Boxes: Check out line 137 inmatching2D_Student.cpp.
    • Compute Camera-based TTC: Check out line 175 inmatching2D_Student.cpp.

4. Conducting Various Tests with the Framework

To identify the most suitable detector/descriptor combination for TTC estimation:

  • Tested different combinations of detectors (e.g., SIFT, SURF, ORB) and descriptors.
  • Analyzed the performance and reliability of these combinations.
  • Investigated potential sources of errors from both camera and Lidar sensors.
  • Observations:
    • The TTC Lidar jumped from 12.515 to 15.74 in one instance, indicating an erroneous prediction due to the constant velocity model assumption. This frame is right after another frame with a significant TTC drop, highlighting the limitations of disregarding acceleration.
    • For my experiments, the SHI TOMASI (detector) + BRISK (descriptor) combination gave stable and reliable results.
    • The Lidar predictions remained constant regardless of the descriptor/detector combination.
    • The ORB + BRIEF combination resulted in a Camera TTC of 130 s.

Project Structure

  • src/: Source files for the project, including implementations for keypoint matching, TTC computation, and testing.
  • dat/: contains weights-images/:contains KITTI Sequence (LiDAR + RGB Images)
  • results/: Directory to store output results.
  • CMakeLists.txt: CMake configuration file.
  • README.md: Project documentation.

Dependencies for Running Locally

Basic Build Instructions

  1. Clone this repo.
  2. Download dat and images folders from the driveLink and place in the same repo.
  3. Make a build directory in the top level project directory:mkdir build && cd build
  4. Compile:cmake .. && make
  5. Run it:./3D_object_tracking.

TTC Calculations for Various Detector and Descriptor Combinations

The table below presents Time-to-Collision (TTC) values calculated using different combinations of detectors and descriptors. The TTC values are provided for both Lidar and Camera data across various test scenarios.

Detector, DescriptorLidarTTC 1CameraTTC 1LidarTTC 2CameraTTC 2LidarTTC 3CameraTTC 3LidarTTC 4CameraTTC 4LidarTTC 5CameraTTC 5LidarTTC 6CameraTTC 6LidarTTC 7CameraTTC 7LidarTTC 8CameraTTC 8LidarTTC 9CameraTTC 9LidarTTC 10CameraTTC 10LidarTTC 11CameraTTC 11LidarTTC 12CameraTTC 12LidarTTC 13CameraTTC 13
HARRIS + BRISK12.515610.908212.515610.908215.7465-inf13.124112.916211.1746-inf12.808611.21428.9597811.69489.598635.60618.52157-13.62639.515526.338669.6124112.73848.3988-inf--
HARRIS + BRIEF12.515610.908212.515610.908215.746534.754311.984412.337913.124117.620411.174620.586212.808611.74148.95978nan9.598635.60618.52157-13.62639.515526.63769.6124112.58488.3988-inf
HARRIS + ORB12.515610.908212.515610.908215.746534.754313.124117.620411.1746nan12.808611.21428.9597811.10559.598635.858288.52157-12.6399.515526.529629.6124112.58488.3988-inf--
HARRIS + FREAK12.51568.7539715.746513.369811.984411.959613.124112.372511.174610.293112.808611.81358.9597811.10559.59863nan8.52157-25.27819.515526.717059.6124111.10098.3988-inf--
SHI-TOMASI + BRISK12.515612.795111.984413.13113.124113.246911.174611.571212.808610.95718.9597812.22949.5986312.2418.521579.944339.5155210.32429.6124111.30188.39889.18809----
SHI-TOMASI + BRIEF12.515614.384615.746512.465711.984414.076213.124112.375811.174612.31312.808611.42938.9597811.01879.5986312.56118.5215712.89819.5155212.37899.6124110.73918.39888.36986--
SHI-TOMASI + ORB12.515614.68515.746513.404211.984412.542513.124113.005811.174613.671712.808610.71368.9597812.23989.5986311.87678.5215710.29769.5155212.87659.612419.211938.39888.29931--
SHI-TOMASI + FREAK12.515613.883315.746512.47813.124111.37611.174612.691912.808611.19858.9597812.94059.5986311.54768.5215711.12239.5155210.259.6124112.36678.39887.15473----
FAST + BRISK12.515612.503615.746576.305811.984412.386613.124111.34211.174613.890212.808612.21388.9597811.60419.5986312.23918.5215711.48459.5155212.249.6124110.01928.398812.5199--
FAST + BRIEF12.515610.834212.515610.834215.746529.24111.984411.444113.124110.87311.174613.574112.808613.74498.9597810.79829.5986310.89148.5215711.01059.5155211.3321

[8]ページ先頭

©2009-2025 Movatter.jp