Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

Live Object Detection

09.04.20XX

Anurag Tiwari
T.Y.C.S
Division - A
Roll No. - 50
Seat No. - 20TCS080
1

Synopsis
Object detection is a well-known computer technology connected with
computer vision and image processing that deals with detecting objects or its
instances of a certain class (such as humans, flowers, animals) in digital
images and videos. There are various applications of object detection that
have been well researched including face detection, character recognition,
and vehicle calculator. Object detection can be used for various purposes
including retrieval and surveillance. Some well researched domains of object
detection include face detection and pedestrian detection. Here, various
basic concepts used in object detection while making use of the OpenCV
library of python, improving the efficiency and accuracy of object detection
are presented.
OpenCV is a huge open source library for machine learning and image
processing and even for real time operations. It can process images and
videos to identify objects, faces, or even handwritings of a human. If
integrated with various libraries python is capable of processing the OpenCV
array structure for analysis
2

Introduction

Object detection and location in digital images has become one of the most
important applications for industries to ease users, save time and to achieve
parallelism. This is not a new technique but improvement in object detection
is still required in order to achieve the targeted objective more efficiently and
accurately. The main aim of studying and researching computer vision is to
simulate the behavior and manner of human eyes directly by using a
computer and later on develop a system that reduces human efforts.
Computer vision is a kind of research field which tries to perceive and
represent the 3D information for world objects. Its main purpose is
reconstructing the visual aspects of 3D objects after analyzing the 2D
information extracted. Real life 3D objects are represented by 2D images.
The process of object detection analysis is to determine the number,
location, size, position of the objects in the input image. Object detection is
the basic concept for tracking and recognition of objects, which affects the
efficiency and accuracy of object recognition. The common object detection
method is the color-based approach, detecting objects based on their color
values. The method is used because of its strong adaptability and
robustness, however, the detection speed needs to be improved, because it
requires testing all possible windows by exhaustive search and has high
computational complexity. Object detection from a complex background is a
challenging application in image processing. The goal of this project is to
identify objects placed over a surface from a complex background image
using various techniques. The detection of the objects can be extended using
automation and robotics for plucking of the objects like apples, bananas
from the corresponding tree using the image processing techniques and it
will be easier, faster and convenient to pluck the apples and bananas rather
than the manual plucking. The standard performance measure that is
commonly used for the object category segmentation problem is called
Intersection-over-Union (IOU) [3]. Given an image, the similarities between
the predicted region and the ground-truth region for an object present in the
3

image can be found with the help of IOU measures and can be defined as the
size of the intersection divided by the union of the different regions. For
example, if any particular algorithm predicts each and every pixel of an
image to be its background, the IOU measure can effectively penalize for
that, as the intersection between the predicted and ground-truth regions
would be zero, it will produce an IOU count of zero. OpenCV library
implemented in python2.7 along with the help of Numpy is used and the
world of object detection is explored, a virtual Artificial Neural Network is
created using Sci-kit tool.
4

Project Objectives

The motive of object detection is to recognize and locate all known objects in
a scene. Preferably in 3D space, recovering the pose of objects in 3D is very
important for robotic control systems. Imparting intelligence to machines
and making robots more and more autonomous and independent has been
a sustaining technological dream for mankind. It is our dream to let robots
take on tedious, boring, or dangerous work so that we can commit our time
to more creative tasks. Unfortunately, the intelligent part seems to be still
lagging behind. In real life, to achieve this goal, besides hardware
development, we need software that can enable robots to do the work and
act independently. One of the crucial components regarding this is vision,
apart from other types of intelligence such as learning and cognitive thinking.
A robot cannot be too intelligent if it cannot see and adapt to a dynamic
environment. The searching or recognition process in a real time scenario is
very difficult. So far, no effective solution has been found for this problem.
Despite a lot of research in this area, the methods developed so far are not
efficient, require long training time, are not suitable for real time application,
and are not scalable to large numbers of classes. Object detection is
relatively simpler if the machine is looking for detecting one particular object.
However, recognizing all the objects inherently requires the skill to
differentiate one object from the other, though they may be of the same
type. Such problem is very difficult for machines, if they do not know about
the various possibilities of objects
5

Requirement Specifications
Hardware Requirements :
1. RAM - 8 GB(min)
2. Hard Disk - 2 GB (Maximum Space Required)
3. Keyboard - Standard Windows Keyboard
4. Standard Mouse
5. Monitor
6. Webcam
Software Requirements :
1. Python 2.7 or higher
2. Pycharm
3. OpenCV
4. Windows - 8 or higher
6

System Design Details

I. Methodology
Agile Model:
● When you want the ultimate definition of any concept, you can’t do
better than going right to the source. AgileModeling defines Agile
modeling as “…a practice-based methodology for effective modeling
and documentation of software-based systems. Agile modeling helps
developers create a customized software development process that
fulfills their development needs yet is flexible enough to adjust to
future situations.
7

Reasons for choosing this process model


● Requirements Envisioning. At the start of an Agile project, you
need to invest a bit of time identifying the project’s scope and
creating the initial prioritized requirements stack. As this project
has a constant requirement of data Agile is a perfect fit for this
project.
● Test-Driven Development (TDD).This project requires testing the
performance on real world tracks and situations.
Advantages: The Agile Model decreases the amount of time to yield
individual system features. It also calls for a lot of communication and
continuous feedback from the customer/user that can provide clear
direction for the project.
Disadvantages: The Agile method can potentially veer-off track as it
relies on end-user interaction that may or may not be clearly
expressed. Documentation is also minimal for an Agile software
development strategy and requires a well-versed, cross-functional
team

.
8

II. Data FLow Diagram


A data flow diagram is a graphical representation of the "flow" of data
through an information system, modeling its process aspects. Often,
they are a preliminary step used to create an overview of the system
which can later be elaborated. DFDs can also be used for the
visualization of data processing (structured design). The DFD is also
called a bubble chart. It is a simple graphical formalism that can be
used to represent a system in terms of the input data to the system,
various processing carried out on these data, and the output data is
generated by the system.
9

III. Flowchart
10

IV. Form Layout


Input of execution:
1. Run the selected executable file.

Output:
11
12
13

You might also like