0% found this document useful (0 votes)
160 views26 pages

Birds Species Classification Using Deep Learning

This seminar report describes a project to classify bird species using deep learning. The project aims to develop a system to help users identify unknown bird species from images. It will use a Raspberry Pi single board computer with a camera to take bird photos as input. A convolutional neural network trained on a deep learning dataset will be used for image classification. The CNN will be implemented using PyTorch on the Raspberry Pi operating system. The system seeks to overcome challenges for non-experts in identifying rare bird species from images and provide accurate classification to assist with bird watching.

Uploaded by

DEVIL DEMON
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
160 views26 pages

Birds Species Classification Using Deep Learning

This seminar report describes a project to classify bird species using deep learning. The project aims to develop a system to help users identify unknown bird species from images. It will use a Raspberry Pi single board computer with a camera to take bird photos as input. A convolutional neural network trained on a deep learning dataset will be used for image classification. The CNN will be implemented using PyTorch on the Raspberry Pi operating system. The system seeks to overcome challenges for non-experts in identifying rare bird species from images and provide accurate classification to assist with bird watching.

Uploaded by

DEVIL DEMON
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 26

SAVITRIBAI PHULE PUNE UNIVERSITY A

SEMINAR REPORT ON

Birds Species Classification using Deep Learning

By

Name : Rohan Rajendra Patil Roll No: 05

Under The Guidance of

Prof. Anil Hulsure

DEPARTMENT OF COMPUTER ENGINEERING


Dr. D. Y. Patil Institute of Engineering, Management &
Research

Akurdi, Pune.

DYPIEMR, Department of Computer Engineering 2018-19Page 1


Dr. D. Y. Patil Institute of Engineering, Management & Research
DEPARTMENT OF COMPUTER ENGINEERING

CERTIFICATE

This is to certify that the


Seminar Entitled

Birds Species Classification using Deep Learning

Submitted by

Name : Rohan Rajendra Patil


Roll No: 05

is a bonafide work carried out by Students under the


supervision of Prof. Anil Hulsure and it is submitted
towards the partial fulfillment of the requirement of
Bachelor of Engineering (Computer Engineering).

Prof. Anil Hulsure Prof.P.P.Shevatekar

Internal Guide H.O.D


Dept. of. Computer Engg.
Computer Engg.

Dr. A.V.Patil

Principal

Dr. D.Y.Patil Institute of Engineering, Management & Research

DYPIEMR, Department of Computer Engineering 2018-19Page 2


Abstract

Bird watching is a common hobby but to identify their species requires the assistance of
bird books. In environment some rare species are also present and it is difficult to
identify them and predict their name. Naturally, birds present in various scenarios appear
in different sizes, shapes, colors, and angles from human perspective. Recognize birds
by image than the other parameter is easy for humans as well as for machines. Also,
human ability to recognize the birds through the images is more understandable. So, we
are developing a deep learning platform to assist users in recognizing species of birds.
The Raspberry Pi is a basic embedded system and being a low cost a single board
computer used to reduce the complexity of systems in real time applications. Raspberry
pi consist of Camera slot Interface (CSI) to interface the raspberry pi camera. We
applied visual camera images as external data. A convolutional neural network trained
with a deep learning algorithm is applied to the image classification. Firstly, we read
image as input then build a deep learning data set. Once we organize the data, the next
step to train a Convolutional Neural Network (CNN) on the top of data. Advantage of
our system is that we can easily identify the bird’s species for them who are unknown
from it. After that we run a PyTorch model on OS then we will train it. Pytorch platform
is mainly based on python.

Keywords:

5G, Trials, Standardization, deployment challenges, Test-beds, Waveforms.

DYPIEMR, Department of Computer Engineering 2018-19Page 3


Birds classification using deep learning
Acknowledgments

It gives us great pleasure in presenting the preliminary SEMINAR report on

“Bird Species Identification using Deep learning”.

I would like to take this opportunity to thank my internal guide Prof. Anil hulsure for giving me all the
help and guidance I needed. I am really grateful to them for their kind support. Their valuable
suggestions were very helpful.

I am also grateful to Prof. P. P. Shevatekar, Head of Computer Engineering Department, Dr. D. Y. Patil
Institute of Engineering, Management & Research for his indispensable support, suggestions.

Rohan Patil
T.E. Computer Engineering

DYPIEMR, Department of Computer Engineering 2018-19Page 4


Birds classification using deep learning

Contents

 Chapter 1- Introduction

 Chapter 2- Literature Survey

 Chapter3- Methodology

 Chapter 4- Hardware Specification

 Chapter 5- Software Specification

 Chapter 6- Testing and Troubleshooting

 Chapter 7- Advantages and Application

 Chapter 8- Conclusion

 References

 Plagiarism check Report

DYPIEMR, Department of Computer Engineering 2018-19Page 5


Birds classification using deep learning
Chapter 1
Introduction

1.1 Motivation:
In 21st century, the world is moving toward digitalization and effective monitoring systems in every sector. But
still, some people still can’t recognize birds by simply observing it. In today’s world everyone is having mobile
phones with smart camera, So, it is possible that anyone can click a picture and it will be given to our system for
search in database, and come up with accurate result. Basically, the motivation behind the project is to design a
system which will overcome the above mentioned problem.
1.2 Background:
Artificial intelligence sounded like a science fiction prophecy of a technological future. Today machine learning
has become a driving force behind technological advancements used by people on a daily basis. Image
recognition is one of the most accessible applications of it and it’s fuelling a visual revolution online. Machine
learning embedded in consumer websites and applications is changing the way visual data is organized and
processed. Visual recognition offers exciting opportunities similar to the ones in science fiction movies that made
our imagination run wild.
Image recognition and detection has grown so effective because it uses deep learning. This is a machine learning
method designed to resemble the way a human brain function. That’s how
computers are taught to recognize visual elements within an image. By noticing emerging patterns and relying on
large databases, machines can make sense of images and formulate relevant categories and tags.

Now a days, BIRD behavior and population trends have become an important issue. Birds help us to detect other
organisms in the environment (e.g. insects they feed on) easily as they respond quickly to the environmental
changes. But, gathering and collecting information about birds requires huge human effort as well as becomes a
very costlier method. In such case, a reliable system that will provide large scale processing of information about
birds and will serve as a valuable tool for researchers, governmental agencies, etc. is required. So, bird species
identification plays an important role in identifying that a particular image of bird belongs to which species. Bird
species identification means predicting the bird species belongs to which category by using an image

DYPIEMR, Department of Computer Engineering 2018-19Page 6


Birds classification using deep learning
History of CNN:

New algorithms have been developed to solve the issue which is called Convolutional Neural Network (CNN).
CNN is a state-of-art deep artificial neural network technique for image classification, it clusters similar images
and perform object recognition within regions. The first CNN named LeNet-5 was created by LeCun, Bottou,
Bengio, and Haffner (1998) for handwritten digits recognition. Then CNN research went silence for few years. In
2012, the convolution neural networks arise again on ImageNet Large Scale Visual Recognition Competition
ILSVRC-2012. scaled the structure of AlexNet-5 into a much larger Neural Network which can detects more
complex objects using rectified linear units (ReLU) as non-linearity which is applied to the output of each
convolutional and fully connected layer, dropout technique to avoid the problem of overfitting and overlapping
pooling to avoid the effect in average of average problem. As shown in Figure 1.1, the model structure is divided
into two parts when training on two GTX580 GPUs and the model interacts again with each other at certain
layers. As a result, they won the competition with a deeper and larger margin model, Alex Net achieved 15.3%
test error compared to second best entry 26.2%. It started a revolution of the CNN on Deep Learning Neural
Network with its overwhelming results from others in previous years. In the following years, more accurate and
deeper techniques are developed by many teams thank to the advancement of the computing power and
inspiration from Alex Net. Following the success of Alex Net in the ImageNet Large Scale Visual Recognition
Competition, next year all the teams entered the competition training their model over a CNN network.

Fig 1.1 Alex Net: winner of the ILSVRC 2012

DYPIEMR, Department of Computer Engineering 2018-19Page 7


Birds classification using deep learning
1.3PROJECT SPECIFICATION:

The project is a software based project that utilizes Python, PyTorch, Rasberian OS software to perform bird
classification. As the project progresses we will be implementing the same on Raspberry pi board for bird
identification. The Raspberry pi board that we are going to utilize is Raspberry pi Model B. pytorch is a
programming platform designed specifically for engineers and scientists. The heart of pytorch is the python
language. Using python you can: Analyze data, Develop algorithms, and Create models. PyTorch is an open
source machine learning library based on the Torch library, used for applications such as computer vision and
natural language processing. It is primarily developed by Facebook's artificial intelligence research group. It is
free and open-source software released under the Modified BSD license.

DYPIEMR, Department of Computer Engineering 2018-19Page 8


Birds classification using deep learning

Chapter 2

Literature survey:
Table 2.1 represents a brief Literature survey in the given area of Deep learning and current scenario of
this field.
Table2.1 Literature Survey

SR. Title of Paper Year of Publisher Methodology Conclusion


NO. publication
1. Bird Image 2019 IEEE Based on The proposed
Retrieval and International Tenserflo system could
Recognition Conference w model. detect and
Using a Deep on differentiate
Learning Computation uploaded images
Platform al as birds
Intelligence with an
and overall
Computing accuracy of
Research 98.70% for
the
training dataset.
2. Birds Species 2016 IEEE Based on It is one of
classification speech the method of
using visual recoganization identification
and acoustic system. but accuracy
features rate is 75%.
extracted
from
audio
signal.

DYPIEMR, Department of Computer Engineering 2018-19Page 9


3. Bird Species 2013 IEEE Birds
On bases ofclassificationMore
using than
deep learning

Classificatio International image, 70% of the


n Based on Conference histogram will pixels were
Color on Systems, be formed. correctly
Features Man, and segmented.
Cybernetics

DYPIEMR, Department of Computer Engineering 2018-19Page 10


4. Fast Human- 2003 IEEE Based on The optimized
Animal Security Keras DCNN was
Detection from & model. able to reduce
Highly Privacy the
Cluttered classification
Camera-Trap time by 14
Images Using times
Joint and maintain
Background high accuracy.
Modeling and
Deep Learning
Classification.
5. Implementatio 2015 International Running the It was found
n of Image Journal of python code to that the
Processing on Advanced check the algorithm
Raspberry Pi Research in enhancement developed for
Computer and algorithms and the raspberry
Communication remove the noise pi executes
Engineering which is present successfully
in an image. and gives a
very
colorful image.
Bird Species 2019 Internatio Deep This method
6.
Identification nal Convolutional uses the training
using Deep Journal of Neural Network, as well as
Learning Engineeri Unsupervised testing purpose.
ng learning By using
Research algorithm (DCNN)
& algorithm an
Technolog image

DYPIEMR, Department of Computer Engineering 2018-19Page 11


y (IJERT) converted into
grey scale
format.
To generate
autograph by
using tensor
flow, where the
multiple nodes
of comparison
are
generated.

DYPIEMR, Department of Computer Engineering 2018-19Page 12


Summary of Literature Survey:
After conducting this literature survey, we understood that image can be used for classification in an effective
way rather than using old traditional classification such as Bird identification is usually done by ornithology
experts based on classification proposed by Linnaeus: Kingdom, Phylum, Class, Order, Family, and Species. In
our India, for this problem there is one solution that classification based on image by using deep learning
approach. Our survey shows that in India there are lots of species, but less than 30 percent species are commonly
known. Our government and forest department facing problem in classification of birds and know about which
are the species present in particular forest.

13
Chapter 3
Methodology
This chapter focuses on Block diagram of our project and the function of the different blocks present in them.
Block diagram

After going through the literature survey we have come up with the following block diagram:

Training Set

Machine learning CNN

Raw data Feature

Test Data
Predictive Model

Predict

Birds and types of species


species
14
Fig 3.1.Block diagram of feature extraction for bird image

15
3.2 Elements of Block Diagram:

The following elements are present in our block diagram:

1) Raw data

2) Training Set

3) Deep learning CNN.

4) Test data.

5) Feature Extraction.

6) Predictive Model.

7) Output result.

3.3 Block Diagram Explanation:

1) Raw Data: It is data in unstructured form. We can not predict some relevant information form it. Represents a
single, implicitly structured data item in a table.

2) Training Set: The training dataset comprised raw data samples that were incorporated into the training model
to determine specific feature parameters, perform co-relational tasks, and create a related classification model.

3) Deep learning CNN: It module for extracting unique features of birds with the CNN and predicting the most
classified labels for the input images. The model of CNN conjuration for bird identification utilized a stack of
convolutional layers comprising an input layer, two FC layers, and one final output layer.

4) Test data: The test dataset will use to test the classifier parameters and assess the performance of the actual
prediction of the network model. Once the features will be extracted from the raw data, the trained prediction
model will be deployed to classify new input images.

5) Feature Extraction: Firstly, Extracting features from raw input images is our primary task where extracting
relevant and descriptive information for fine grained object recognition. However, because of semantic and intra
class variance, feature extraction will be challenging. We are going to separately extract the features in relevant
positions for each part of an image and subsequently learning the parts of the model features that were mapped
directly to the corresponding parts.

6) Predictive Model: The proposed model can predict the uploaded image of a bird as bird. The proposed system
will predict and differentiate various birds’ images.

2019-20
Department of E&TC, PCCOE
15
Chapter 4

Hardware Implementation
4.1 Circuit Diagram:

5V Power Supply

Read Bird Image

Raspberry-Pi

Wi-Fi

HDMI to VGA

Display

2019-20
Department of E&TC, PCCOE
16
4.2Hardware Specifications :

1. Raspberry-Pi 3(Model B):

 CPU: Quad-core 64-bit ARM Cortex A53 clocked at 1.2 GHz

 GPU: 400MHz Video Core IV multimedia

 Memory: 1GB LPDDR2-900 SDRAM (i.e. 900MHz)

 USB ports: 4

 Video outputs: HDMI, composite video (PAL and NTSC) via 3.5 mm jack

 Network: 10/100Mbps Ethernet and 802.11n Wireless LAN

 Peripherals: 17 GPIO plus specific functions, and HAT ID bus

 Bluetooth: 4.1

 Power source: 5 V via MicroUSB or GPIO header

 Size: 85.60mm × 56.5mm

 Weight: 45g (1.6 oz)

2 . Camera module V2:

The Raspberry Pi Camera Module v2 replaced the original Camera Module in April 2016.
The v2 Camera Module has a Sony IMX219 8-megapixel sensor. The Camera Module can be
used to take high-definition video, as well as stills photographs. It’s easy to use for beginners,
but has plenty to offer advanced users if you’re looking to expand your knowledge. There are
lots of examples online of people using it for time-lapse, slow- motion, and other video
cleverness. You can also use the libraries we bundle with the camera to create effects.

 Small size

 2.8V Supply

 Up to 15fps

 1300x1040 pixel resolution

 Built-in color filter

 1/3.3 inch optical format

 Auto luminance control (ALC)

 Auto white balance (AWB)


Fig 4.2 Circuit Diagram

Fig.4.3 Camera module interfaced with Raspberry-Pi


Chapter 5

Software Implementations:
This chapter focuses on Software that we are using and its specification.

User Upload image file File stored/DB

Feed image

Apply CNN Train model

Feature extraction
Apply Classifier

Show result

Fig.5.1 Flow chart for bird classification system

 Python & Pytorch : Every once in a while, a python library is developed that has the
potential of changing the landscape in the field of deep learning. PyTorch is one such library.
Among the various deep learning libraries – PyTorch has been the most flexible and effortless
of them all. This fits right into the python programming methodology, as we don’t have to
wait for the whole code to be written before getting to know if it works or not. We can easily
run a part of the code and inspect it in real time. PyTorch is a python based library built to
provide flexibility as a deep learning development platform. The workflow of PyTorch is as
close as you can get to python’s scientific computing library – numpy.

 Easy to use API – It is as simple as python can be.

 Python support – As mentioned above, PyTorch smoothly integrates with the python data
science stack. It is so similar to numpy that you might not even notice the difference.

 Dynamic computation graphs – Instead of predefined graphs with specific


functionalities, PyTorch provides a framework for us to build computational graphs as we go,
and even change them during runtime. This is valuable for situations where we don’t know
how much memory is going to be required for creating a neural network.

 CNN: In deep learning, convolutional neural network (CNN) is a class of deep neural
network mostly used for analyzing visual images. It consists of an input layer and output
layer as well as multiple hidden layers. Every layer is made up of group of neurons and each
layer is fully connected to all neurons of its previous layer. The output layer is responsible for
prediction of output. The convolutional layer takes an image as input, and produces a set of
feature maps as output . The input image can contain multiple channels such as color, wings,
eyes, beak of birds which means that the convolutional layer perform a mapping from 3D
volume to another 3D volume. 3D volumes considered are width, height, depth. The CNN
have two components:

1) Feature extraction part: Features are detected when network performs a series of
convolutional and pooling operation.

2) Classification part : Extracted features are given to fully connected layer which acts as
classifier.
The methodology proposed for achieving this is by using a Convolutional Neural Network.
The basic architecture to form CNNs are: Input Layer, Convolutional Layer, ReLU Layer,
Pooling Layer and Fully Connected Layer and output Layer

Fig 5.2 Basic architecture of CNN

The input layer takes image pixel inputs with three colour channels R, G, B and passes it to
convolutional layer. In CNNs, the neurons are constructed in 3D dimensions (height*width*
depth) which the depth means the activation volumes instead of 2D as in simple neural
network.

In convolutional layer, the main purpose of this layer is to extract image features and preserve
the spatial connections between pixels from input. It computes the output of neurons which
means it transforms the image pixel values into output volume or final class scores. This
convolution operation is done by striding filter on input image. Every image can be
represented as a matrix of pixel values in CNNs, and the filter here in another name called
kernel which is a matrix as well which is the concept from image processing. The operation is
striding the filter on feature map each time by one pixel for every position and computing the
convolved output by adding up the output of multiplication of the matrixes. Each
convolutional layer not only computes the final feature map but also there is activation
function for taking input volume from previous layers and parameters of neuron such as bias
and weights
Fig 5.3 CNN layers and activation.

In the ReLU Layer, feature map is passed to this layer to change all negative pixel values to
zero. Most of images from real world are non-linear, but CNNs operation is a linear process.
To make the CNNs learning the non-linear data, ReLU function is implemented to introduce
the non-linearity to CNNs.

Fig 5.4 Various activation functions

The pooling function reduces the size of feature map, but it still preserves the most important
spatial details of the feature map. The purpose of pooling function is to reduce

Parameters and computation in the network; thus, it controls over fitting issue. There are
many types of pooling functions: max, sum, average etc. In this paper, max type of pooling
will be used in pooling layer. In max pooling operation, you define a spatial neighborhood
first like [2 x 2] and you stride it by 2 to the rectified feature map to select the largest pixel
value in each area.

Fully connected layer is the layer where all the neurons are connected to all the other nodes in
the next layer, and a common activation function called softmax is used in this layer as
multinomial logistic regression for multiple classes classification. Softmax function ensures
the output probabilities from fully connected layer is one in the output layer.
Fig 5.5 Max Pooling

Fully connected layer is the layer where all the neurons are connected to all the other nodes in
the next layer, and a common activation function called softmax is used in this layer as
multinomial logistic regression for multiple classes classification. Softmax function ensures
the output probabilities from fully connected layer is one in the output layer.

Fig 5.6 Understanding CNN


Chapter 6

Advantages and Application


7.1 Advantages :

1) Birds can be classified using AI.

2) Autonomous system for birds classification based on input image.

3) Less Human Effort.

4) Recognition of bird’s species becomes easy.

7.2 Application :

1) Our system can be implemented in forest areas to know, which species are present in that
particular forest.

2) Study and analysis of bird’s charactertics

Chapter 7

Excepted Conclusion
The present study investigates a method to identify the bird species using Deep learning
algorithm (Unsupervised Learning) on the dataset for classification of image. The system will
be connected with a user-friendly system where user will upload photo for identification
purpose and it gives the desired output. The proposed system will works on the principle
based on detection of a part and extracting CNN features from multiple convolutional layers.
These features will be given to the classifier for classification purpose. On basis of the results
we will try to achieve maximum accuracy in prediction of bird species. We will conduct a
series of experiments in a dataset composed of several image to achieve maximum efficiency

References

Journal /Article /Paper :


[1] XIE, Z., A. SINGH, J. UANG, K. S. NARAYAN and P. ABBEEL. Multimodal blending
for high-accuracy instance recognition. In: 2013 IEEE/RSJ International Conference on Intel-
ligent Robots and Systems. Tokyo: IEEE, 2013, pp. 2214–2221. ISBN 978-1-4673-6356-
3.DOI: 10.1109/IROS.2013.6696666.

[2] EITEL, A., J. T. SPRINGENBERG, L. D. SPINELLO, M. RIEDMILLER and W. BUR-


GARD. Multimodal Deep Learning for Ro-bust RGB-D Object Recognition. In:
2015IEEE/RSJ, International Conference on Intelligent Robots and Systems (IROS).
Hamburg:IEEE, 2015, pp.681–687. ISBN 978-1-4799-9994-1.DOI:
10.1109/IROS.2015.7353446.

[3]RUSSAKOVSKY, O., J. DENG, H. SU,J. KRAUSE, S. SATHEESH, S. MA, Z.


HUANG,A. KARPATHY, A. KHOSLA, M. BERNSTEIN,A. C. BERG and L. FEI-FEI.
Image Net Large Scale Visual Recognition Challenge. International Journal of Computer
Vision (IJCV). 2015, vol. 115, no. 3, pp. 211–252. ISSN 1573-1405. DOI: 10.1007/s11263-
015-0816-y.

[4] KRIZHEVSKY, A., I. SUTSKEVER and G. E. HINTON. Image Net classification with
deep con-volutional neural networks. Annual Conference on Neural Information Processing
Systems (NIPS). Harrah’s Lake Tahoe: Curran Associates, 2012, pp. 1097–1105. ISBN 978-
1627480031.

[5] SCHWARZ, M., H. SCHULZ and S. BEHNKE. RGB-D objects recognition and pose
estimation

[6] Tóth, B.P. and Czeba, B., 2016, September. Convolutional Neural Networks for Large
Scale ,Bird Song Classification in Noisy Environment. In CLEF (Working Notes) (pp. 560-
568).

[7]Xception: Deep Learning with Depth wise Separable Convolutions François Chollet
Google, Inc.

Websites :

[8] https://www.youtube.com/playlist?list=PLZbbT5o_s2xrfNyHZsM6ufI0iZENK9xgG

[9] https://pytorch.org/tutorials/beginner/deep_learning_60min_blitz.html

[10] https://github.com/otmhi/Bird-Image-Classification

You might also like