Study of Scalable Deep Neural Network for Wildlife Animal Recognition and Identification
Chapter One
Aim of the research
This thesis aims to provide a scalable, suitable, more generic, and optimized network capable of processing huge amounts of datasets even with images having an imperfect quality or varied deformations in real-time while preserving better test accuracy.
Objectives of the research
Having at hand the different views of people as regards to what learning seems to beย and how to attain it. One can perceive how challenging it is to interpret deep learningย and even to set out some clear objectives. Although the concept of learning hasย cleared the air despite that the approach to deep learning by different people differs.ย The aimย of this researchย is asย follows:
- Develop an artificial learning system capable of being adaptive and self- improving
- Develop a neural network with optimized parameters whose computational performance is unaffected by
- Develop a neural network system architecture with reduced complexity for large scale image classification or prediction.
Chapter Twoย
Literatureย review
Introduction
In this section, we present supporting theories of the research concept following briefย introduction of deep learning concept and learning, forming a link with a classificationย problem,ย thenย giveย aย briefย accountย ofย theย differingย digitalย imageย classificationย approaches ranging from per pixel classification to object-oriented classification. Twoย best classification approaches will be examined, and finally, a brief account of similarย worksย done will follow.
Basic Concept and Terminology
Machine learning is a branch of computer science that evolved from the study of pattern recognition and computational learning theory in artificial intelligence. Machine learning explores the construction and study of algorithms that can learn from and make predictions on data. Such algorithms operate by building a model from example inputs to make data-driven predictions or decisions rather than following procedural program instructions. Machine learning is most at times, often overlaps with computational statistics; a discipline that also specializes in prediction-making. It has strong ties to mathematical optimization, which deliver methods, theory, and application domains to the field. Machine learning is employed in a range of computing tasks where designing and programming explicit algorithms are infeasible. Example applications include spam filtering, optical character recognition (OCR), search engines, and computer vision. Machine learning is sometimes conflated with data mining, although that focuses more on exploratory data analysis. Machine learning and pattern recognition โcan be viewed as two facets of the same field.โ (Machineย Learningย Wikipediaย fullย guide, 2017)
Digital image classification
Imageย classificationย canย beย saidย toย beย aย processย ofย assigningย allย pixelsย inย theย imageย toย particular classes or themes based on spectral information represented by the digitalย numbers (DNs). The classified image comprises a mosaic of pixels, each of whichย belongs to a particular theme and is a thematic map of the original image (Anupamย Anand, 2018). The main steps of image classification as shown in figure 2.2 mayย includeย imageย pre-processing, featureย extraction, trainingย samplesย selection, selectionย of suitable classification approaches, post-classification processing, and assessmentย accuracyย (้ปๆญฃๅ, 2014). However,ย Classificationย willย beย executedย onย theย baseย ofย spectral or spectrally defined features, such as density, texture, etc., in the featureย space. It can be said that classification divides the feature space into several classesย basedย onย aย decisionย ruleย (้ปๆญฃๅ, 2014). Thereย areย basicallyย twoย approachesย toย imageย classification, namely; perย pixelย imageย classificationย andย object-orientedย classification.ย Per pixel is the most commonly adopted method as the algorithm categorizes eachย input pixel into a spectral feature class based solely on its multispectral vector.ย Noย context or neighborhood evaluation is involved (Shrivastav & Singh, 2019) while inย object-orientedย classification, theย inputย pixelsย areย groupedย intoย spectralย featuresย (objectsย features)ย usingย imageย segmentation. Theseย objectsย areย characterizedย inย bothย the raster and vector domains. The objects are classified using both spectral andย spatialย cuesย (Shrivastavย &ย Singh, 2019).
Chapter Threeย
Designย andย Methodology
Introduction
This chapter introduces the methodology used with the algorithm adopted and the proposed framework made to achieve the objectives. The chosen algorithm has been selected out of a large list of available ones for several important reasons. The main one is the fact that it has been used by many machine learning researchers and has contributed immensely to the field of computer vision. As a result, they become popular among machine learning researchers. Another reason is that recognition using the algorithm is rugged to distortions, such as a change in shape due to the camera lens and different lighting conditions.
Concept of Classification Technique
Advertisements
A classification technique is a systematic approach to building classification modelsย from an input dataset. Examples include decision trees classifiers, neural networks,ย support vector machines, and naรฏve Bayes classifier. Each technique employs aย learning algorithm to identify a model that best fits the relationship between theย attributes set and class label of input data. The model generated by a learningย algorithm should both fit the input data well and correctly predicts the class label ofย records it has never seen before (Pang-Ning Tan et al.). The general approach forย solving a classification problem requires firstly a training set consisting of recordsย whose class labels are known to be provided. Secondly, a test set to whose recordsย of class labels are not known to be applied to the classification model generated byย theย trainingย set.
Design and requirement phase
There are two ways of solving AI (Artificial intelligence) relate problems namely;ย hardware and software methods but preference is always giving to software designย aspectย asย itย isย relativelyย cheapย andย doesย notย involveย aย lotย ofย complexityย withย regardsย toย its architecture and requirements. Training and learning operations take place in theย software design stage. The hardware, like general purpose processors and FPGAย serveย asย anย implementationย platform for evenย moreย complex architectures. Theย proposed model was implemented using python programming language, particularlyย in spyder with keras and tensorflow as backend. Tensorflow is an open source deepย learningย frameworkย createdย byย Googleย thatย givesย developersย coarseย controlย overย eachย neuron so that weights can be adjusted to achieve optimal performance. As the taskย isย relativelyย notย intensiveย becauseย ofย theย smallย numberย ofย imagesย inย theย dataset,ย aย GPUย was skipped and a CPU core i5 with 2.60GHz processing speed and a dedicatedย graphics card at the high end was used that can train an average of 94 samples perย second.
Chapter fourย
Resultsย andย discussions
Introduction
This chapter presents the results of our proposed design and implementation. Firstly, we examine the overall model accuracy, made comparisons between different architectural design and between different types of images. Secondly, we present the loss and accuracy graph generated together with a summary of the network designed the number of parameters, including the computational time during the training process. Finally, we make a conclusion based on the outcome of our different design models.
Chapter five
ย Conclusionย andย futureย works
Introduction
This chapter summarises the results presented in the thesis and concludes theirย importanceย inย the contextย of recognitionย andย identification.
Conclusions
In this research, we proposed a neural network software architecture and performedย its evaluation. We employed the use of deep learning techniques to identify wildlifeย animals while ensuring that a robust system that can generalize our images (from theย datasets) is realized. A manually created dataset from raw images fetched from theย camera(s), preprocessed using some python libraries was used as inputs to theย designed network. Many network architecture design with scalability was performed,ย butย theย twoย most importantย onesย thatย showedย goodย resultsย wasย pickedย forย evaluation.
During the evaluation, the proposed architecture with 4 convets and 2 output layerย achieved good results while predicting or recognizing wildlife animals. Our approachย could be used in both remote and urban areas to help prevent or reduce the numberย of the animal-vehicle collision, animal-humans attack, and animal crop destruction byย detecting the presence of animal so that warning may be issued with a view of safetyย purpose.ย Thisย researchย though,ย couldย consolidateย otherย findingsย madeย inย theย recognitionย ofย wildlifeย animalsย andย thusย willย helpย showย theย adaptabilityย ofย deepย CNNย toย evenย smallย datasetsย inย theirย rawย formย capturedย fromย theย camera(s).ย Itย will,ย inย turn,ย leadย to the formations of standard design philosophies that will make image recognitionย algorithmsย moreย practicable to solvingย real-lifeย problems.
Future work
There are several areas this research has not been able to cover due to lack of timeย chief among other drawbacks and resources (e.g., lack of large datasets, High GPUย Processor).ย However, theย followingย issuesย are moreย specificallyย ofย interest.
- The memory complexity optimization which could be done by changing thefloating point values from the results obtained to fixing points. The goal is toย reduce memory complexity and yield faster processing in the network whileย targetingย animalย prediction usingย a convolutional neural
- Optimizing Execution time (a function of the number of MAC operations) byreducing the number of operations taking place in the MAC (multiply andย accumulate) convolution layer. More so this will also reduce the computationย complexityย ofย the networkย andย henceย evenย the power
- Accuracy of the network is a function of the amount of dataset fed, and this can be improved and maintained by collecting a large number of datasets which are preprocessed properly or discretized as this will enhance the accuracy of both training and
- Further making the network more scalable will make it achieve a good balance between latency, precision (exactness towards prediction) and hardware complexity as these are factors that define how efficient a neural network architecture can perform in hardware(s)
REFERENCES
- Alexย Krizhevsky,ย Ilyaย Sutskever,ย G.ย E.ย H.ย (2007).ย ImageNetย Classificationย withย Deepย Convolutional Neural Networks. Handbook of Approximation Algorithms andย Metaheuristics,ย 60-1-60โ16.ย https://doi.org/10.1201/9781420010749
- Anupamย Anand.ย (2018). Unitย 13ย Imageย Classification.ย (May),ย 41โ58.
- Guignard, L., & Weinberger, N. (2016). Animal identification from remote cameraย images. 1โ4.
- Jacobs, S. A., Dryden, N., Pearce, R., & Van Essen, B. (2017). Towards Scalableย Parallel Training of Deep Neural Networks. (Sc 17), 1โ9.ย https://doi.org/10.1145/3146347.3146353
- Koprinkova, P., & Petrova, M. (1999). Data-scaling problems in neural-networkย training. Engineering Applications of Artificial Intelligence, 12(3), 281โ296.ย https://doi.org/10.1016/S0952-1976(99)00008-1