A robot which could identify objects of different color and shapes. This is based on processing of images captured by a webcam and then using the data to drive the robot. Hardware used was Beagle Board for image processing and tool used was OpenCV to write the code.
OpenShift Commons Paris - Choose Your Own Observability Adventure
Artificial Intelligence
1. GOVERNMENT COLLEGE OF ENGINEERING
AURANGABAD
Submitted By :
Vaibhav Kole(BE08F04F020)
Akshay Moharir(BE08F04F026)
Suyash Khiwansara(BE08F04F031)
Mangesh Dhantole (BE08F04F041)
A Seminar on
iBot
Guided By:
Prof.N.G.Pantawane
4. 1.1 Introduction To Computer Vision
• Computer vision is the field concerned with
automated imaging and automated computer
based processing of images to extract and
interpret information.
• It is the science and technology of machines
that see.
• As a scientific discipline, computer vision is
concerned with the theory behind artificial
systems that extract information from images.
5. Applications of computer vision
• Controlling processes (e.g., an industrial roBot).
• Navigation (e.g. by an autonomous vehicle or mobile
roBot).
• Detecting events (e.g., for visual surveillance or people
counting).
• Organizing information (e.g., for indexing databases of
images and image sequences).
• Modeling objects or environments (e.g., medical image
analysis or topographical modeling).
• Interaction (e.g., as the input to a device for computer-
human interaction).
• Automatic inspection, e.g. in manufacturing applications
7. 1.3 Necessity
• Vision is an extremely important sense for
Both humans and roBots
• A robust vision system should be able to
detect objects reliably and provide an
accurate representation of the world to higher
level processes.
• The vision system must also be highly efficient
• Should respond quickly to a changing
environment
8. 1.4 Objectives
• Guiding robots with machine vision is an
enabling technology for flexible manufacturing,
allowing production lines to readily
accommodate product changes.
• To implement the knowledge of computer vision
and image processing in the field of robotics
• To enhance our knowledge about different
image processing boards and the peripherals
• Work on different computational softwares and
implement our ideas to perform a particular
application
9. 1.5 Theme
• In this vast field of computer vision we are
entering with an idea to build a iBot.
• iBot is basically a task roBot which processes
the images acquired and take required
decision depending upon the inputs
• It can be programmed for various tasks like
picking particular shaped objects, separating
different colored objects
10. 2. Literature surveyed
• Computer Vision is the field where non human
can see.
• We need to survey all the data about following
important components of an image processing
system.
• 2.1 Cameras and Sensors
• 2.2 Image Processing Boards
• 2.3 Different Image Processing Tools
• 2.4 Interfacing Circuits and Devices
• 2.5 Motors
11. 2.1 Camera used for Image Acquisition
•Camera is the eye of the iBot
•The data to be processed which is images in
this case are acquired by the camera.
•In iBot we are going to work on real time
image processing and hence we need a digital
interfaced to the computers and camera which
can be easily the image processing boards
•We have used a webcam of Tech-com
technologies
•The model we are going to use is SSD- 652.
12. Specifications of Webcam
• Image Sensor: 1/7" CMOS sensor
• Image Resolution: 1280x960, 1024x1280,1600x1200,
4032x2034
• Frame Rate: Up to 30fps
• I/O Interface: USB 1.1, 2.0
• Lens View angle: 54 Degree
• Operating System: Windows / 2000 / ME / XP / Vista
• Power Consumption: 160MW Typical
• Image Flip: Horizontal, Vertical
• Microphone included
13. Image Processing Boards
• High speed image processing board is most
important element which decides the speed of image
processing system there are too many boards
available in market some of them are mention as
below
• Two types of board which we have surveyed are
1. Panda Board
2. Beagle Board
• Computers can also be used for the purpose of
Image processing
15. Features of Panda Board
• OMAP4430 Processor
• TWL6030 (Phoenix) Power Management Companion Device
• TWL6040 (Phoenix) Audio Companion Device
• POP Mobile LPDDR2 SDRAM Memory
• HDMI Connector (Type A) – for OMAP4430 HDMI
Transmitter output
• HDMI Connector (Type A) – for DVI-D output sourced via
OMAP4 parallel display output
• Audio Input & Output Connectors (3.5mm)
• SD/SDIO/MMC Media Card Cage
• UART via RS-232 interface via 9-pin D-Sub Connector
• LS Research Module – 802.11b/g/n, Bluetooth, FM
19. Why Beagle board?
• Beagle board has got excellent features:
• Ease of development
• Peripheral support-4 USB ports
• Code reuse
• Performance
• Comparison on costs:
Beagle board costs Rs 12000/- with essential peripherals
Panda board costs Rs 17000/- with essential peripherals.
20. Image processing tools
MATLAB
• MATLAB (matrix laboratory) is a numerical
computing environment and fourth-generation
programming language
• Image Processing Toolbox provides a comprehensive
set of reference-standard algorithms and graphical
tools for image processing, analysis, visualization, and
algorithm development
• We can perform image enhancement, image
deblurring, feature detection, noise reduction, image
segmentation, spatial transformations, etc. using
image processing toolbox.
21. OpenCV
• OpenCV (Open Source Computer Vision
Library) is a library of programming
functions mainly aimed at real
time computer vision, developed by Intel
• It focuses mainly on real-time image
processing
• Advance vision-based applications making is
easy & performance-optimized
22. Features of OpenCV
• OpenCV is specific purpose library for computer
vision.
• It covers many function for image/video processing,
pattern recognition as well as
other well known technique that are usually used in
computer vision.
• OpenCV is a dedicated library for image processing
application. Therefore the functions are more
optimized.
23. Why OpenCV?
• OpenCV is written in C , Matlab uses its own
language and thus OpenCV can be used under many
platforms
• Matlab on the other hand is a generic high level
environment initially created for vector type
operations and that has evolved to a powerful
simulation and data exploration tool.
• Matlab even has a C compiler that can
translate Matlab code to C, but it is very slow
compared to OpenCV
24. Why OpenCV?
• Specific
• OpenCV was made for image processing. Each function and data
structure was designed with the Image Processing coder in mind
• Matlab, on the other hand, is quite generic. We get almost
anything in the world in the form of toolboxes
• Speedy
• Matlab is just way too slow. Matlab itself is built upon Java. And
Java is built upon C
• Efficient
• Matlab uses just way too much system resources as compared
to OpenC
25. Interfacing circuits and devices
Arduino Board
•Arduino is an open-source single-board
microcontroller
•The hardware consists of a simple open
hardware design for the Arduino board with an
Atmel AVR processor and on-board input/output
support.
•The software consists of a standard
programming language compiler and the boot
loader that runs on the board.
26. • Motor drivers
• Need
The current provided by the MCU is of the order of
5mA and that required by a motor is ~500mA. Hence,
motor can’t be controlled directly by MCU and we need
an interface between the MCU and the motor.
• A Motor Driver IC like L293D or L298 is used for this
purpose which has two H-bridge drivers. Each IC can
drive two motors
• motor driver does not amplify the current; it only acts
as a switch H bridge is nothing but 4 switches.
27. H bridge
S1 S2 S3 S4
1 0 0 1 Motor rotates in one direction
0 1 1 0 Motor rotates in opposite direction
0 0 0 0 Motor free runs
0 1 0 1 Motor brakes
1 0 1 0 Motor brakes
It is an electronic circuit which enables a voltage to be applied across a load in
either direction.
29. • iBot stands for Eye-RoBot
• iBot is an autonomous machine having its own
vision
• The most special feature of the iBot is its
onboard image processing unit.
• iBot is designed to pick a predefined colored
ball and place it at particular place
• We have programmed iBot to pick red color
ball.
iBot
39. Challenges for us
• Detection of object using openCV & finding its
location
• Being comfortable with Armstrong
environment & beagle board
• Interfacing arduino board for motor
controlling
• Designing mechanical structure of iBot
40. Estimated cost
Sr No component cost
1 Beagle board XM 9870
2 OpenCV installation 945
3 Power adapter 475
4 Peripherals 2000
5 Arduino mega 2560 3500
6 Motor driver L298 250
7 Servo motors 2000
8 Chassis 500
9 Camera 500
10 Shipping charges 150
Total 20,190