Close
0%
0%

Robot Vision Module

Let's allow the robots to identify things they see using a convolutional network (CN) based image classifier

Similar projects worth following
The robot vision module for the robotics module round of Hackaday Prize will comprise IR and noIR filtered cameras, a Raspberry Pi, and software to classify images using existing pre-trained CN models (e.g. Inception). The module can communicate findings to the robot/ robot send commands to module by using WiFi or Ethernet.

Introduction and goals:

A low-cost module that can be connected to any robot using WiFi or Ethernet (or additional methods). The module will comprise camera/cameras for day and night conditions (IR-filtered vs. noIR filtering); an IR illuminator; photoresistor/light sensor with digital output to determine day/night lighting condition and switch cameras/software accordingly; MCU (e.g. Raspberry Pi) to run software utilising TensorFlow and a pre-trained graph file e.g. InceptionV3 for classifying images obtained using the camera(s). 

After images are classified, the results can be sent via WiFi or Ethernet to the robot. The robot could then integrate these results into its software flow. Perhaps alter its movement accordingly (e.g. collect on object that has been classified by the robot vision module, communicate with the object that has been classified); or communicate the results to an operator (e.g. text to speech), etc, etc. Well obviously there are many things the robot could do!!

I said to use a pre-trained graph (e.g. InceptionV3) to classify images using TensorFlow, but we should try to make it easy for users to retrain a model too for their Robot Vision Module (e.g. https://www.tensorflow.org/tutorials/image_retraining).

In this video I used a pre-trained graph file (InceptionV3) and re-trained InceptionV3 with TensorFlow on a Raspberry Pi to classify images:

Here's the code mentioned: #software elephant detector: transfer learning off-shelf model with TensorFlow


So that's fine if we want to just capture still images! But we'll have to use a different approach for classifying images from video.


Hardware Outline:

Open Source:

Any software written for the Robot Vision Module project is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 See http://www.gnu.org/licenses/

This is the license for OpenCV, since OpenCV libraries will be used in the project http://opencv.org/license.html

This is the license for Python, since Python will be used in the project https://www.python.org/download/releases/3.4.0/license/

TensorFlow is open-sourced as a standalone library and associated tools, tutorials, and examples with the Apache 2.0 license

Any hardware plans for the Robot Vision Module project, including 3d design files and stl files, etc. are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See http://creativecommons.org/licenses/by-sa/4.0/

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates