Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bird-species Recognition Using Convolutional Neural Network

Similar presentations


Presentation on theme: "Bird-species Recognition Using Convolutional Neural Network"— Presentation transcript:

1 Bird-species Recognition Using Convolutional Neural Network
ECE539 – Project Report Bird-species Recognition Using Convolutional Neural Network -- Instructor: Yu Hen Hu -- Presenter: Xucheng Wan

2 Computer Vision → Recognition & Classification → Datasets
Problem Introduction As the core task in Computer vision, Image Recognition and Classification has been a popular topic in recent years. For this Project, I want to apply what I learned in this course to try to solve some image classification problems which haven’t been studied much. Computer Vision → Recognition & Classification → Datasets

3 Caltech UCSD Bird 200 - 2011 (CUB-200)
(Established for subordinate categorization study) And I found a interesting and challenging image dataset – CUB-200 200 Bird-species * 60 images for each

4 I. Bird Recognition - Binary Classifier
Method and Progress I. Bird Recognition - Binary Classifier The first step of this whole project is to recognize the bird. I constructed this network with 3 convolutional layers; 2 fully connected layers ; Input is a 128*128*3 image The activation function used within each layer is ReLU and SoftMax

5 I. Binary Classifier Data: Cifar(60k)+ CUB-200(12k) Validation: 20%
Accuracy: In this training process I used all pictures CUB-200 and approximately non-bird pictures from Cifar10 dataset. And divide the training set into training samples of 80% and cross-validation samples of 20%. Although this accuracy is high enough, if I want to apply this to this project, I would have to build 200 separate binary classifiers for 200 classes including a classifier for outlier samples. Even if I use dichotomy and at each time I could get accuracy of 0.95, the overall prediction accuracy would be < So I have to modify my method.

6 II. Multi-Class Classifier
I tried different structures and this performs the best, # Classes increases → need more features → # Layers increase # Classes increases → need more features → # Layers increase

7 II. Multi-Class Classifier
# of Classes Training Accuracy Validation Accuracy 20 0.87 0.637 80 0.68 0.397 200 0.42 0.273 Acknowledgement I acknowledge that it’s better to try more CNN structures on 200 classes, but it requires so much time. It took my CPU 160 hours to complete first attempt on training 200 classes. If I use GPU and have more time in future, I would like to try more CNN structures. Data is so limited !!!! Only 60 images for each of 200 bird-species.

8 Modified some layers and activation functions
III. Revised GoogLeNet Modified some layers and activation functions GoogLeNet is pre-trained CNN and can be use to classify object images of 1000 classes. And I modified some layers and activation function Then I got the results as shown in this table

9 III. Revised GoogLeNet ··· ··· Overall Accuracy: 0.8202×0.8697=0.7133
Group Name Validation Loss Validation Accuracy Entire Dataset 0.5718 0.8202 Weighted Average 0.4664 0.8697 Dataset Subset 1 ··· Subset 10 Class 1 ··· Class k Overall Accuracy: ×0.8697=0.7133

10 Conclusion & Evaluation
Method Validation Accuracy Bird Recognition with Binary Classifier 0.951 CNN with 5 Layers and SoftMax 0.2730 Revised GoogLeNet 0.4771 Revised GoogLeNet on 10 subsets 0.7133 Multi-output activation > Binary classifier More layers VS Overfitting Data is the most important Get improvement Final accuracy, data limitation What I learned

11 Thank You ! Questions ?


Download ppt "Bird-species Recognition Using Convolutional Neural Network"

Similar presentations


Ads by Google