Vehicle and cyclist detections

A) Deep learning is a subset of machine learning where it teaches computers to filter inputs layer-by-layer and learn how to predict and classify information automatically.

Here we train an SSD vehicle detector,

We download 1500 vehicle images. 1000 images are allocated as training data.

We slightly blur the test data (500 photos) in order to mimic the noise in real life.

To improve the accuracy, data augmentation is effective by randomly transforming the original data during training. By using data augmentation, you can add more variety to the training data without increasing the number of inputs. For example, randomly flipping the image and associated box labels horizontally, randomly scale the image, associated box labels and jitter image color.

The results of identifying vehicles based on Single Shot Detector (SSD) are shown below


B) Deep learning is a powerful machine learning tool. Engineers can use it to train robust object detectors. We train the Faster R-CNN (regions with convolutional neural networks) object detector. 

Data Augmentation is deployed to improve network accuracy by randomly transforming the original data during training. The advantage of data augmentation is that you can add more variety to the training data without increasing the number of labeled training images. It saves computational costs. 

The R-CNN detector identifies whether the object is vehicle or not. Then the SURF detector searches if the targeted vehicle exists. If it exists, the software tracks the targeted vehicle.  

The result is shown below


C) Track cyclist

Language: MATLAB 

Here I apply Gaussian Mixture model and Kalman filter to track the cyclist. 



You may tune the following parameters to optimize the performance of software  

1) A threshold to control the tolerance of error in estimating the scale of a detected pedestrian.

2) A threshold to reject a candidate match between a detection and a track.

3) A large value for the assignment cost matrix that enforces the rejection of a candidate match.

4) A tuning parameter to control the likelihood of creation of a new track.

5) A tuning parameter to specify the number of frames required to stabilize the confidence score of a track.

6) A threshold to determine if a track is true positive or false alarm.

7) A threshold to determine the minimum length required for a track being true positive.

8) A threshold to determine the minimum visibility value for a track being true positive.

Video demo



Comments