Project File Details


Original Author (Copyright Owner): 

3,000.00

Instant Download

Download your project material immediately after online payment.

100% Money Back Guarantee

File Type: MS Word (DOC) & PDF

File Size:  1,899KB

Number of Pages:53

 

ABSTRACT

 

With the exponential growth of the information technology, nowadays tremendous amounts of data including images, audio, text and videos, up to millions or billions, are collected for training machine learning models. Deep neural networks (DNNs) are one of the widely used methods today. Large companies in the uses these methods to recommends buyers with products, filter junk email or text-based hate speeches, understand and translate major languages in real time, and so on.
Inspired by the trend, our work is dedicated to developing and training a deep neural network to extract meaningful patterns from a set of labelled data i.e. making generalizations. We show that DNNs can learn feature representations that can be successfully applied in a wide spectrum of application domains. We show how DNNs are applied to classification problems – grading of fresh tomato fruits based on their physical qualities using supervised learning approach.

 

TABLE OF CONTENTS

CERTIFICATION ………………………………………………………………………………………………………… ii
ABSTRACT ………………………………………………………………………………………………………………… v
ACKNOWLEDGEMENTS ……………………………………………………………………………………………. vi
DEDICATION ……………………………………………………………………………………………………………. vii
LIST OF FIGURES ……………………………………………………………………………………………………… x
LIST OF ABBREVIATIONS ………………………………………………………………………………………….. xi
CHAPTER ONE INTRODUCTION ……………………………………………………………………………. 1
1.1 Background …………………………………………………………………………………………………. 1
1.1.1 Classifications …………………………………………………………………………………………. 2
1.1.2 Deep Learning and Neural Networks …………………………………………………………… 2
1.1.3 Mocha Package ……………………………………………………………………………………….. 3
1.1.4 Julia Programming Language …………………………………………………………………….. 5
1.1.5 Tomato Fruit ……………………………………………………………………………………………. 5
1.2 Motivation and Research Objectives: ………………………………………………………………. 6
1.3 The Scope of the Research Work …………………………………………………………………… 7
1.4 Importance ………………………………………………………………………………………………….. 7
CHAPTER TWO REVIEW OF RELATED LITERATURE ………………………………………………. 9
2.1 Deep Learning …………………………………………………………………………………………….. 9
2.2 Feature Extractions ………………………………………………………………………………………11
2.2.1 Continuous Convolution …………………………………………………………………………….15
2.2.2 Discrete Convolution ………………………………………………………………………………..16
2.2.3 Convolutional Neural Network Concepts ……………………………………………………..16
CHAPTER THREE RELATED WORKS ON APPLICATION OF CLASSIFICATIONS …………..21
CHAPTER FOUR RESEARCH METHODOLOGY ………………………………………………………..26
4.1 Deep Learning Toolkits / Libraries and Architecture …………………………………………..26
4.1.1 Mocha Package ……………………………………………………………………………………….26
4.2 Dataset Compilation ……………………………………………………………………………………..26
4.2.1 Collection of Data …………………………………………………………………………………….26
4.2.2 Data Preparation ……………………………………………………………………………………..27
4.2.3 Instruments Used …………………………………………………………………………………….31
ix
4.3 Defining Network Architecture ………………………………………………………………………..31
4.4 Training and Evaluation ………………………………………………………………………………..32
4.4.1 Evaluation……………………………………………………………………………………………….33
CHAPTER FIVE EXPERIMENT AND RESULTS ………………………………………………………..34
CHAPTER SIX DISCUSSION AND RECOMMENDATIONS ……………………………………….37
REFERENCES ………………………………………………………………………………………………………….38

 

CHAPTER ONEINTRODUCTION
1.1 Background
Artificial Intelligence (AI) is transitioning from being our daily helper to something much more powerful – and disruptive – as the new machines are rapidly outperforming the most talented of us in many endeavours (Frank, Roehrig, & Pring, 2017). The branch of AI concerned with the study and design of computer programs that automatically improve with experience is called machine learning or ML. The applications of machine continue to explode in the recent years in the field of agriculture, ecommerce, health, banking, news, robotics, transportation, weather forecasts, software, industries and many more. YouTube uses ML algorithms to suggest videos, Facebook fills newsfeeds, Netflix recommends films and Google search auto-completes texts. We probably interact with machines frequently. They are used in many of the software programs that we use, such as Microsoft’s infamous (and long abandoned) paperclip in Office (maybe not the most positive example), spam filters, voice recognition software, and lots of computer games (Marsland, 2015). “Your cell phone is chock full of learning algorithms. They are hard at work correcting your typos, understanding your spoken commands, reducing transmission errors, recognizing bar codes and much else. Your phone can even anticipate what you are going to do next, and advise you accordingly. For example, as you are finishing lunch it discreetly alerts you that your afternoon meeting with an out-of-town visitor will have to start late, because her flight has been delayed”.
The concept of ML draws its concepts and results from many facets of knowledge, or schools of thought, namely Symbolist, with its origin in logic and philosophy, Connectionist with its origin in neuroscience, evolutionist with its origin in evolutionary biology, Bayesian with its origin in statistics and analogizers with their origin in psychology (Marsland, 2015). The fundamental goal
2
of ML is to learn to generalize (Hackeling, 2014), or to do other kinds of decision making under uncertainty. There are two main types of ML, supervised learning and unsupervised learning (Murphy, 2012). The other type of ML is called reinforcement learning.
1.1.1 Classifications
“Classification is the problem of identifying to which of a set of categories (subpopulations) a new observation belongs, on the basis of a training set of data containing observations (or instances) whose category membership is known” (Tang, Alelyani, & Liu, 2014). Success in today’s technologies has resulted in exponential growth in the harvested data that makes manual processing of data impractically challenging. There is no option other than to automatically recognize useful patterns from these data essentially to predict the outcome in new situations.
Spam filter for instant is an example of classification problems which categorize messages received as either legitimate or spam using ML. Other examples include Optical Character Recognition, text classification, documents classification, medical images classification, crop classifications and many more application areas. This is due to the increasing accuracy of image classification.
1.1.2 Deep Learning and Neural Networks
Neural networks have been used in pattern recognition and classification for a long time. A standard neural network (NN) consists of what is called a network of neurons connected as processors. Because this network is inherently inspired by neuroscience, it is called neural. Each produces a sequence of real-valued activations. “Input neurons get activated through sensors perceiving the environment, other neurons get activated through weighted connections from previously active neurons. Some neurons may influence the environment by triggering actions” (Schmidhuber, 2014). Some neurons are layered input, some are layered out while others are layered in-between at multiple levels called hidden layers. The more hidden layers there are in an
3
NN the deeper the architecture is. The hidden layers are so called because their values are not given in the presented data; instead the model must determine which concepts are useful for explaining the relationships in the observed data (Goodfellow , Bengio, & Courville, 2016). Deep Learning is about learning features at multiple levels of representation and abstraction that help make sense of the form of data such as images, sound and text. Learning is about finding weights that make the NN exhibit desired behaviour, such as such classifying digits. ”Most deep learning algorithms are based on an optimization algorithm called stochastic gradient descent” (Goodfellow , Bengio, & Courville, 2016).
1.1.3 Mocha Package
Mocha is a deep learning framework for Julia. Close-to-C performance in native Julia code, typically there is no need to explicitly vectorize your code (as is the case for in Matlab). Mocha is inspired by the C++ framework Caffe. Efficient implementations of general stochastic gradient solvers and common layers in Mocha can be used to train deep / shallow (convolutional) NNs. Some of the advantages of Mocha are given below:
 Modular Architecture: Mocha has a clean architecture with isolated components like network layers, activation functions, solvers, regularizers and initializers. Mocha is rich in built-in components sufficient for typical deep (convolutional) NN applications and more are being added in each release. All of these can be easily extended by adding custom sub-types.
 High-level Interface: Mocha is written in Julia, a high-level dynamic programming language designed for technical computing. Combining with the expressive power of Julia and its package ecosystem, playing with deep neural networks in Mocha is easy and intuitive.
4
 Portability and Speed: Mocha comes with multiple backend choices that can be switched transparently.
o The pure Julia backend is portable — it runs on any platform that supports Julia. This is reasonably fast on small models thanks to Julia’s LLVM-based just-in-time compiler and Performance Annotations, and can be very useful for prototyping.
o The native extension backend can be turned on when a C++ compiler is available. It runs two to three times faster than the pure Julia backend.
o The GPU backend uses NVidia® cuDNN, cuBLAS and customized CUDA kernels to provide highly efficient computation. Twenty to 30 times or even more speedup could be observed on a modern GPU device, especially on larger models.
 Compatibility: Mocha uses the widely adopted HDF5 format to store both datasets and model snapshots, making it easy to interact with Matlab, Python (numpy) and other existing computational tools. Mocha also provides tools to import trained model snapshots from Caffe.
 Correctness: the computational components in Mocha in all backends are extensively covered by unit tests.
 Open Source: Mocha is licensed under the MIT “Expat” License. (pluskid, 2017).
The ecosystem is still young (653 Julia packages vs. 66,687 PyPI packages). The core language is still evolving – current v0.7.0-DEV introduced a lot of breaking changes (and also exciting new features) (Julia, 2017).
5
1.1.4 Julia Programming Language
Julia is a rising star in the world of technical computing, having inherited the best features of both Python, with most of its syntax and ease-of-use, and C in terms of fast execution. First released in 2012, Julia is free under the MIT licence and equipped with much built-in functionality and has entered the top 50 languages (TIOBE, 2017). As the time of documenting this thesis, the latest version is 0.6.0 and is the same version used during the implementation of this thesis. It contains a built-in package manager similar to R which allows easy installations (e.g. Pkg.add(“HDF5”)), removal of third-party packages (with 1,518 registered packages as at October, 2017) or even update them (Julia, 2017). Packaged with Basic Linear Algebra Subroutines, Julia is parallel when doing large-scale linear algebra tasks. In fact Julia is just as good for technical computations. Addressing challenges has not been an issue with Julia because are a number of ways to address them. “One popular approach has been to build sophisticated libraries for deep learning” (Juliacomputing, 2017). MXNet, Caffe, Torch, Theano and TensorFlow are some examples of this approach. Julia is thought to be the future of all deep learning applications with the benchmarks of Knet.jl (Yuret, 2017) against other frameworks for various models (JuliaCon, 2017).
1.1.5 Tomato Fruit
Coming from the Nahuatl word “tomato”, tomato literally means “the swelling fruit”. Tomato belongs to the family Solanaceae. It is one of the most important vegetables all over the world. As it is a relatively short-term crop but gives a high yield.it is economically attractive and contributes to healthy well-being. It provides minerals, vitamins, essential amino acids, sugars, dietary fibres, vitamin B and C, iron and phosphorus (Ugonna, Jolaoso, & Onwualu, 2015). Tomatoes can be processed into different products including: Ketchup, puree, powder and juice, but most of the fruit is sold fresh. The fruit is used as a fresh salad vegetable, and is also a popular ingredient in soups, stews, sauces and various other dishes as well.
6
1.2 Motivation and Research Objectives:
Having objects classified into categories is an important issue these days in many fields, these categorizations might have been done manually or using an automation system. Studies have shown that there are good varieties of tomatoes, but only a few are suitable for industrial processing with regard to quantity and quality. In this thesis we applied deep learning methods to extract useful patterns automatically from already labelled (classified or graded) images of tomatoes with a view of identifying unlabelled ones. Ordinarily, the grading (classification) simply consists of sorting the tomatoes into a number of uniform categories in our case nine categories according to the economically important physical characteristics and qualities. Grading of tomatoes is carried out because uniformity is one of the first attributes buyers look for. The appearance of certain category attracts customers and different qualities are sold to different customers, while the standards will create customer confidence in the product and more importantly in the producer (Ugonna, Jolaoso, & Onwualu, 2015).
Our objectives are (1) to build a deep NN DNN using a TensorFlow wrapper package with Julia programming language. We shall train the NN built using already labelled dataset of nine different classes termed as grades; and (2) to extract meaningful patterns, which will perform as closely as possible to the original DNN.
To realize the goal of this thesis, the following research questions is be put into query: how can a deep learning algorithm learn to generalize learnt features from the pre-labelled training data? (Mitchell, 1997) defines what it makes to make a computer learn, “A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.” An NN is a function that learns the expected output for a given input from training datasets by determining parameters (weights and bias) by itself.
7
Figure 1.1: A Concise Pipeline of the thesis
Given an image of a tomato with its pixels data, the basic objective is to predict this image as being a member of a particular set of grades (grade-a, grade-b, grade-c… grade-i) based on the patterns previously learnt from the labelled data. In addition, we focus our attention in this thesis towards nine classes of grades, from grade-a down to grade-i with features such as size, colour and texture, which the algorithm learns automatically by itself.
1.3 The Scope of the Research Work
To limit the scope of the thesis, Julia programming language and Julia Mocha package was used. We do not apply localizations, detections or segmentations (label with an outline) of the objects in questions. No preprocessing algorithm was applied to the data before subjecting them to the classifier. The classifications was not based on formal method but rather farmers’ and marketers’ methods were used.
1.4 Importance
Processors of tomatoes require good quality ones for processing (Ugonna, Jolaoso, & Onwualu, 2015). The research will to enable them acquire modern state-of-the-art methods to automate grading for speedy production, processing and marketing of good quality tomatoes. The research will help improve well-being of citizens by encouraging consumption of healthy farm produce. It can help governments impose laws to ensurenquality standards for exports. The thesis also
8
opens a door for agricultural research institutions to enquire for more studies particularly on improved quality products and seeds as well as encouraging the use of modern enhancements. The research opens a door for re-activation of the companies that have closed down due to lack of raw materials and processing equipment, and opening of more processing industries in the country. It will also encourage a partial or total ban on imports of tomato products.

 

GET THE FULL WORK

DISCLAIMER: All project works, files and documents posted on this website, projects.ng are the property/copyright of their respective owners. They are for research reference/guidance purposes only and the works are crowd-sourced. Please don’t submit someone’s work as your own to avoid plagiarism and its consequences. Most of the project works are provided by the schools' libraries to help in guiding students on their research. Use it as a guidance purpose only and not copy the work word for word (verbatim). If you see your work posted here, and you want it to be removed/credited, please call us on +2348157165603 or send us a mail together with the web address link to the work, to hello@projects.ng. We will reply to and honor every request. Please notice it may take up to 24 or 48 hours to process your request.