In this final project, , I completed four major tasks:
- First, I matched 3D objects in different frames using Features extractions and matching.
- Second, I compute TTC based on Lidar by calculating the mean distance to the ego car and using the constant velocity equations
- then i calculated TTC using camera for all matched 3D objects using keypoint and bounding boxes in the current
- the performance evaluation :
- TTC using Lidar isn't always correct because there are some of outliers
- also in camera TTC could be infected according to error in keypoint matching
- for the perforamce and speed of matching please check my project to get the best detectors & descriptors : https://github.com/mohamedayman2030/Camera-Based-2D-Feature-tracking
in the following example you will see the change on TTC in Lidar & camera estimation on the frames
- cmake >= 2.8
- All OSes: click here for installation instructions
- make >= 4.1 (Linux, Mac), 3.81 (Windows)
- Linux: make is installed by default on most Linux distros
- Mac: install Xcode command line tools to get make
- Windows: Click here for installation instructions
- OpenCV >= 4.1
- This must be compiled from source using the
-D OPENCV_ENABLE_NONFREE=ON
cmake flag for testing the SIFT and SURF detectors. - The OpenCV 4.1.0 source code can be found here
- This must be compiled from source using the
- gcc/g++ >= 5.4
- Linux: gcc / g++ is installed by default on most Linux distros
- Mac: same deal as make - install Xcode command line tools
- Windows: recommend using MinGW
- Clone this repo.
- Make a build directory in the top level project directory:
mkdir build && cd build
- Compile:
cmake .. && make
- Run it:
./3D_object_tracking
. hint : you need to download yolo weights from yolo website