-
Notifications
You must be signed in to change notification settings - Fork 68
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
49 additions
and
110 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
Navigation | ||
========== | ||
|
||
======= | ||
Mapping | ||
======= | ||
|
||
|
||
============= | ||
Path Planning | ||
============= | ||
|
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,20 @@ | ||
# Welcome to the Autopilot Node! | ||
## Autopilot & End-to-End Behavioral Cloning | ||
|
||
The autopilot system uses deep learning to predict the steering commands and acceleration commands for the vehicle, only using data collected by the front facing camera. | ||
|
||
### What's Behavioral Cloning | ||
In 2016, NVIDIA proposed a novel deep learning approach allowed their car to accurately perform real-time end-to-end steering command prediction. Around the same time, Udacity held a challenge that asked researchers to create the best end-to-end steering prediction model. Our goal is to further the work in behavioral cloning for self-driving vehicles. | ||
|
||
### Model | ||
|
||
NVIDIA's paper used a convolutional neural network with a single frame input. I believe that the single-frame-input CNN doesn't provide any temporal information which is critical in self-driving. This is the motive behind choosing the i3d architecture, which is rich in spacial-temporal information. | ||
|
||
The input of the network is a 3d convolutional block, with the shape of `n * weight * height * 3`. `n` is the length of the input sequence. A flatten layer and a dense layer are added to the back of the network for the purpose of this regression problem. | ||
|
||
<center> | ||
<img src="https://raw.githubusercontent.com/sigmaai/self-driving-golf-cart/master/media/model.png" alt="Drawing" width="640"/> | ||
</center> | ||
|
||
Here is a video demo of deep learning model running on the autonomous golf cart. | ||
|
||
[VIDEO DEMO](https://www.youtube.com/watch?v=4bZ40W4BGoE) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
## Semantic Segmentation | ||
The cart understands its surrounding through semantic segmentation, which is a technique in computer that classifies each pixel in an image into different categories. The vehicle can also make decisions based on the segmentic segmentation results. The cart can change its speed based on the proximity to nearby obstacles. | ||
|
||
<center> | ||
<img src="../../../media/seg.png" alt="Drawing" width="640"/> | ||
</center> | ||
|
||
We deployed the ENet architecture for segmentation. ENet is design to work well in realtime applications. For more information, please visit the [paper](http://arxiv.org/pdf/1606.02147.pdf). We used the CityScape dataset for training and the python code for training and inferencing are located in the `./src/segmentation/scripts` directory. | ||
|
||
[VIDEO DEMO](https://www.youtube.com/watch?v=_y2RCakRrc4) |