Post on 10-Feb-2017
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
Outline
1. Introduction
2. Literature Surveyed
3. Model Development
4. Performance Analysis
5. Conclusion
1. Introduction
1.1 Introduction to computer vision
1.2 Related Fields
1.3 Necessity
1.4 Objectives
1.5 Theme
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.
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
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
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
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
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
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.
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
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
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
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.
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.
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
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.
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
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
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.
• 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.
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.
• 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
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
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