Skip to main content

Pocket Racers

Overview

Pocket Racers is the newest of IEEE projects, and aims to have students build an autonomous car driven by computer vision. Students will drive the car around a track to collect training data. The neural network will build an association from the data, and the car will be able to traverse the track on its own.

In Pocket Racers you will be able to:

  • Set up and develop on the Raspberry Pi
  • Understand how computers read and produce images
  • Apply techniques that will make an image easier for the computer to analyze
  • Clean data sets for the training, validation, and testing of your model
  • Use Convolutional Neural Networks (CNNs) to classify an image
  • Optimize machine learning models

Content

Raspberry Pi Basics:

  • Microprocessor fundamentals
  • GPIO basics
  • Power supply basics

Localization:

  • 2D convolution and kernels
  • Important kernels like blur and downscale
  • Filtering techniques like color conversion, adaptive thresholding, blob detection, erosion, dilation, and more
  • OpenCV implementation and syntax

Motors:

  • Brushed motors physics
  • Brief intro to ESCs and controllers
  • PWM signals and their implementation

Intro to Machine Learning:

  • Linear regression and gradient descent
  • Logistic regression
  • Cross validation, variations on gradient descent

Neural Networks and CNNs:

  • Neuron structure, activation functions
  • Forward and backward propagation processes
  • Common layers in NNs and CNNs

Additional Topics in Neural Networks:

  • Dealing with overfitting: regularization, dropout, data augmentation
  • Improvements on gradient descent: Nesterov momentum, Adagrad, RMSProp, Adam
  • Batch normalization
  • Network Binarization