0

Tiffany Matthé

 2 years ago
source link: https://tiffanymatthe.com/robot_license
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
← Go Back

Autonomous Robot Controller

An autonomous robot controller in Gazebo and ROS that detects license plates while driving around a track.
Python | Gazebo | ROS | Tensorflow

perfect run - Youtube

For the ENPH353 course at UBC, my partner and I worked on developing a simulated robot controller that drives around a simulated world in Gazebo with PID and detects license plates of parked cars with a deep convolution neural network.

The requirements for the robot: detect 8 license plates under four minutes. We were able to consistently detect 7-8 license plates under a minute, scoring fourth place.

I worked on license plate detection. The license plates were extracted from the robot's camera feed using colour masks and skew correction (homography and corner detection) with OpenCV.

The training data for the license plates was generated by applying randomized transformations on a license plate image. This gave us 14000 letters and 14000 numbers. The resulting data was fed in a neural network using Tensorflow with the following settings:

  • validation split: 20%
  • epochs: 80
  • learning rate: 1e-4

I also split the neural network into two—one for alphabetical letters and one for numbers. The final results were:

Letter model

  • accuracy: 98.84%, loss: 4.53%
  • validation accuracy: 97.63%, validation loss: 29.90%

Number model

  • accuracy: 100.00%, loss: 0.0022142%
  • validation accuracy: 99.96%, validation loss: 2.25%

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK