Which type of software metric focuses on the efficiency of the development process itself?
*
1 point
a) Process Metric
b) Product Metric
c) Project Metric
d) User Experience Metric
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts,Figma basics: Creating basic responsive elements like
buttons, input elements, etc. to understand frames,
groups, layout, constraints, texts, vector, color palette,
etc.
vector, color palette,
etc.
Figma basics: Creating basic responsive elementsF
1. Object detection using OpenCV-PYTHON
GUIDED BY:
Mrs Swarna Laxmi Sahoo
Asst. Professor
Dept. of Production Engineering
PRESENTED BY :
ABHIJITH PRABHAKARAN-36902
AMANRAJ SAHU- 36904
AVILASH PRADHAN-36909
NIKHIL AGRAWAL-36923
GOPAL KRISHNA MISTRY-36948
SAI PABAN PATTANAIK-36955
SATYAJIT SATAPATHY-36968
2. Contents
INTRODUCTION
WHAT IS OBJECT DETECTION ?
WHAT IS OpenCV ?
LITERATURE REVIEW
OBJECTIVE
HARDWARE SPECS
METHEDOLOGY
CODING IN OpenCV USING PYTHON
ADVANTAGES AND DISADAVANTAGES
3. Object detection and location in digital images has become one of the most important applications
for industries to ease user, 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 such kind of research field which tries to perceive and represents 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.
INTRODUCTION
4.
5. WHAT IS OBJECT DETECTION ?
Object detection is a computer technology related to computer vision and image processing that
deals with detecting instances of semantic objects of a certain class (such as humans, buildings, or
cars) in digital images and videos. Well-researched domains of object detection include face
detection and pedestrian detection. Object detection has applications in many areas of computer
vision, including image retrieval and video surveillance.
6. OpenCV (Open Source Computer Vision) is an open source computer vision and machine
learning software library. OpenCV was initially built to provide a common infrastructure for
applications related to computer vision and to increase the use of machine perception in the
commercial products. As it is a BSD-licensed product so it becomes easy for businesses to
utilize and modify the existing code in OpenCV.
For OpenCV to work efficiently with python 2.7 we need to install NumPy package first.
WHAT IS Opencv?
7. SL
NO.
AUTHOR YEAR JOURNAL NAME FINDINGS
1
JosephSantosh
Redmon, Divvala,
Ross Girshick, Ali
Farhadi
2016
You Only Look
Once: Unified,
Real-Time Object
Detection
In comparison with Object detection techniques that
came before YOLO, like R-CNN, YOLO introduced a
single unified architecture for regression go image into
bounding boxes and finding class probabilities for each
box. This meant that YOLO performed much faster and
also provided more accuracy. It could also predict
artwork correctly.
2
Chengji Liu, Yufan
Tao, Jiawei Liang, Kai
Li1, Yihang Chen
2018
Object Detection
Based on YOLO
Network
The experiment showed that the model trained
with the standard sets does not have good
generalization ability for the degraded images
and has poor robustness. Then the model was
trained using degraded images which resulted in
improved average precision. It was proved that
the average precision for degraded images was
better in general degenerative model compared
to the standard model.
Literature review
8. 3
Wenbo Lan, Jianwu
Dang, Yangping
Wang, Song Wang
2018
Pedestrian
Detection Based
on YOLO
Network Model
The YOLO v2 and YOLO-R network models were
tested on the test set of the INRIA data set. The
experimental results show that the YOLO-R
network model is superior to the original YOLO v2
network model. The number of detection frames
reached 25 frames/s, basically meeting the
requirement of realtime performance.
9. Objective
Object detection has multiple applications such as face detection, vehicle detection, pedestrian
counting, self-driving cars, security systems, etc.
The two major objectives of object detection include:
• To identify all objects present in an image
• Filter out the object of attention
10. Hardware specs
RASPBERRY PI
Raspberry Pi is a Pocket-sized microcomputer.
RASPBIAN OS
Raspbian OS is specially available for Raspberry Pi.
PYTHON
Created in late 1980‟s, python is a high level, multipurpose, programmer - friendly
language.
11. NUMPY
It is a library for Python used to handle large multidimensional arrays and
matrices. It is open source with an active community.
OPENCV
OpenCV is an image processing library written in optimized C/C++.It uses
multi core processing. It supports various platforms like Windows, Linux,
MacOs. It paves way for using different languages like Java, Python, C++,C.
WEBCAM
A webcam is video camera that feeds or
streams its image in the real time to
our computer through a computer network.
12.
13. methodology
A. Step 1
Our first task is to create the necessary folders. Folders like Object Detection as root folder;
Models as stores pretrained model; Input as stores image file on which we desire to perform
object detection; Output as stores image file with detected objects
B. Step 2
Open your preferred IDE for penning down the python code and create a new file, detector.py.
C. Step 3
Import Object Detection class from the ImageAI library.
D. Step 4
Now that one has imported imageAI library and the Object Detection class, the next most
important task is to create an instance of the class Object Detection.
E. Step 5
Now specify the path from our input image, output image and model.
14. F. Step 6
After instantiating the Object Detection class one can now call for various functions from
the class. The class contains the functions to call pre-trained models.
G. Step 7
Next you will call the function, which accepts a string which contains the path to the pre-
trained model.
H. Step 8
This steps calls the function load Model() from the detector instance. It loads the model
from the path specified using some class method.
I. Step 9
To detect objects in the image, we need to call the detect Object from Image function using
the detector object that we created.
J. Step 10
The dictionary items can be accessed by traversing through each item in the dictionary.
Now complete the object detection code.
15. import cv2
import numpy as np
import conveyor_lib
cap = cv2.VideoCapture(0)
# Conveyor belt library
relay = conveyor_lib.Conveyor()
while True:
_, frame = cap.read()
# Belt
belt = frame[209: 327, 137: 280]
gray_belt = cv2.cvtColor(belt, cv2.COLOR_BGR2GRAY)
_, threshold = cv2.threshold(gray_belt, 80, 255, cv2.THRESH_BINARY)
16. # Detect the Nuts
_, contours, _ = cv2.findContours(threshold, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
(x, y, w, h) = cv2.boundingRect(cnt)
# Calculate area
area = cv2.contourArea(cnt)
# Distinguish small and big nuts
if area > 400:
# big nut
cv2.rectangle(belt, (x, y), (x + w, y + h), (0, 0, 255), 2)
# Stop belt
relay.turn_off()
elif 100 < area < 400:
cv2.rectangle(belt, (x, y), (x + w, y + h), (255, 0, 0), 2)
cv2.putText(belt, str(area), (x, y), 1, 1, (0, 255, 0))
18. • OpenCV is available free of cost
•Since OpenCV library is written in C/C++ it is quite fast
•Low RAM usage (approx. 60–70 mb)
•It is portable as OpenCV can run on any device that can run C
•OpenCV does not provide the same ease of use when compared to MATLAB
•OpenCV has a flann library of its own. This causes conflict issues when you try to
use OpenCV library with the PCL library
Advantages:
19. Future scope
• With the inclusion of hardware such as arm an autonomous bot can be developed which
could assist in sorting and tracking.
• The program can be enhanced by the use of machine learning to increase the efficiency of
the object tracking and detection.
• Inclusion of conveyer belts and some other hardware could help in large scale industries .
20. References :
1. Khushboo Khurana and Reetu Awasthi,“Techniques for Object Recognition in Images
and Multi-Object Detection”,(IJARCET), ISSN:2278-1323,4th, April 2013.
2. Latharani T.R., M.Z. Kurian, Chidananda Murthy M.V,“Various Object Recognition
Techniques for Computer Vision”, Journal of Analysis and Computation, ISSN: 0973-
2861.
3. Md Atiqur Rahman and Yang Wang, “Optimizing Intersection-Over-Union in Deep
Neural Networks for Image Segmentation,” in Object detection, Department of
Computer Science, University of Manitoba, Canada, 2015.
4. Nidhi, “Image Processing and Object Detection”, Dept. of Computer Applications, NIT,
Kurukshetra, Haryana, 1(9): 396-399, 2015.
5. R. Hussin, M. Rizon Juhari, Ng Wei Kang, R.C.Ismail, A.Kamarudin, “Digital Image
Processing Techniques for Object Detection from Complex Background Image,”Perlis,
Malaysia: School of Microelectronic Engineering, University Malaysia Perlis, 2012.