Close

Successful Deep Learning

A project log for DRVR

An autonomous robot based on the RVR platform

daryllDaryll 11/29/2019 at 19:590 Comments

The DRVR code base and robot can now be operated with a cell phone to collect training data, and the training results in a neural network that produces what I think are good results. The code is in the git repository.

The DRVR is operated in steps where it drives forward for 1 second at half speed, then takes 7 photos (3 left, 1 straight, 3 right) which are used in the machine learning process. The web interface lets the operator adjust the direction left or right, and trigger each step. 

It's about 200 steps to drive around the park near my house. That results in 1400 images that can be automatically labelled as left, right, or straight. These images are used to train the InceptionV3 network. 

I've done this twice, one with the standard Raspberry Pi Camera which as approximately 40 degree field of view in portrait mode. (Portrait mode was a mistake on my part with the 3D printed holder) driving down the middle of the sidewalk. You can see a time lapse of the path I choose here 

The second run I replaced the camera with one that has 160 degree field of view where I drove it down the left side of the path. Timelapse:

In both cases the machine learning algorithm was able to reach approximately 92% accuracy using the automatically labelled images. Reviewing the errors, the choices made by the algorithm seem to be "reasonable" choices such as choosing to drive straight when faces +/- 10 degrees off the "optimal" path. I'm surprised the narrow field of view and wide field of view performed equally well so I need to investigate that further.

At this point I'm excited to update the code to allow the system to predict a choice and have the operator approve the action.

Discussions