Sei sulla pagina 1di 7

POLYTECHNIC UNIVERSITY OF THE PHILIPPINES 1

Theoretical Framework

To enable Convolutional Neural Network-based Image processing in classifying Abaca

fiber grade, images of abaca fiber of different grades are fed into the system using the camera.

These images undergone processing and different filtering depending on the system

parameterization that will give the system’s basis on classifying Abaca fiber grade. In the

actual classification process, Abaca fiber is places in front of the camera of the device, and in

the screen, shown the grade it classifies with percent of classification indicated.

Digital Image Processing

Digital Image Processing is a low-level digital system signal processing in which

operations and processing on the input image is done to acquire information and output may

be image or characteristic or features related with that image. The information gathered is

composed of point features, edges or segments of the image which are all geometric elements

that makes up an image.

Artificial Intelligence

Artificial Intelligence or commonly known as AI is an area of computer science that

emphasizes the creation of machines that can be considered intelligent on their respective

fields in contrast to the intelligence that is naturally displayed on a biological brain such as

learning and problem solving. AI must have access to categories, objects, properties and

relations from the abundant information from the environment to implement knowledge

engineering in order to demonstrate this intelligence. Basically, AI is any device or program

that is capable in perceiving the world and can make decisions and take actions to maximize

the chance of successfully accomplishing its goal.


POLYTECHNIC UNIVERSITY OF THE PHILIPPINES 2

Machine Learning

Machine Learning is an AI application that provides the system the ability to learn

automatically and improve from experience without being explicitly programmed. It focuses

on developing computer programs and using it to gather data and information that it uses for

its own learning. It starts with observing data from samples, direct experiences, or instructions,

in order to look different concrete patterns to make better valid decisions in the future.

Supervised Machine Learning

Supervised Machine Learning is an algorithm that can apply what has been learned in

the past to the new data using labeled samples for future decision making. The learning starts

from analyzing training dataset, until the system produces and inferred function to make

prediction about the output values. The system is also able to provide targets for any new

input after enough training. The algorithm is also able to compare its output to the correct

value to find errors and modify the model accordingly.

Convolutional Neural Network

Convolutional Neural Network is a deep learning algorithm which can take an input

image, assign learnable weights and biases to various aspects or objects in the image and be

able to differentiate one from another by looking for low level features such as edges, lines,

and curves. This network learns individual parts of an object by shared filters on small regions

of the image. These processes are used to build up more abstract features through series of

convolutional layers which helps the network detect and classify image on its own.

Hyperparameter Tuning

Hyperparameter tuning is the choosing a set of hyperparameters that is fit for and

optimal for learning algorithm. Hyperparameters are parameters whose value is used to

control the learning process and is set before the learning process begins. Typically, node
POLYTECHNIC UNIVERSITY OF THE PHILIPPINES 3

weights parameter values are being learned. This tuning comes in two strategies: Grid Search

and Random Search.

Data Augmentation

Data augmentation is the alteration of the dataset in a form wanted for the neural

network to consider. Data augmentation techniques include cropping, padding, horizontal or

vertical flipping, rotating, and whitening of the dataset.

Learning Rate

Learning rate controls how much to update the weight in optimization algorithm. It

controls how much to change the model in response to the estimated error each time the

model weights are updated. If the value of learning rate is too small, training process may take

so long and can get stuck, and if the value is too large, learning may take so fast but has

unstable training process.

Number of Epochs

Number of Epochs is the number of times the entire training process pass through

neural network or the training dataset. One epoch means that each sample in the training

dataset has had an opportunity to update the internal model parameters.

𝑁𝑜. 𝑜𝑓 𝑇𝑟𝑎𝑖𝑛𝑖𝑛𝑔 𝐷𝑎𝑡𝑎


𝑁𝑜. 𝑜𝑓 𝐸𝑝𝑜𝑐ℎ =
𝐿𝑒𝑎𝑟𝑛𝑖𝑛𝑔 𝑅𝑎𝑡𝑒

Batch Size

Batch size is a hyperparameter that defines the number of samples to work through

before updating the internal model parameters. It can be any of the three modes:

 Batch Gradient Descent - Batch Size = Size of Training Data

 Stochastic Gradient Descent - Batch Size = 1

 Mini-Batch Gradient Descent - 1 < Batch Size < Size of Training Data
POLYTECHNIC UNIVERSITY OF THE PHILIPPINES 4

Activation Function

Activation function is a mathematical equation that determines the accuracy and the

computational efficiency of training that determines the output of the deep learning model. It is

basically in charge of determining whether a neuron is to be activated depending on the

relevance to the prediction of the neuron’s input. It has a major effect on the neural network’s

ability to converge and in some cases, it prevents the neural network from converging in the

first place.

Hidden Layer

Hidden layer is a layer between input and output layer of the neural network where

artificial neurons take in a set of weighted inputs and produce an output through an activation

function. It can be implied as a container of neurons grouped based on a specific characteristic.

This layer is used to perform process of neural network.

Weight Initialization

Weight initialization is used to prevent layer activation outputs from exploding or

vanishing while forward pass through a deep neural network. Two initializations, zero

initialization and random initialization, can be used depending on situations.

Dropout

Dropout refers to the dropping out or ignoring of layers, both hidden and visible, in a

forward or backward pass in a neural network during the training phase of a certain set of

neurons chosen randomly. It is used to prevent overfitting which is the effect of development

of co-dependency among each of the neurons in a layer fully connected. It reduces overfitting

by adding penalty to the function, wherein the model is trained such that it does not learn

interdependent set of features weights.


POLYTECHNIC UNIVERSITY OF THE PHILIPPINES 5

Python

Python is an interpreted, high-level, general-purpose programming language that can

construct an object-oriented approach, aim to help programmers write clear, and logical codes

for small and large project. It is dynamically typed and garbage-collected and supports multiple

programming paradigms, including procedural, object-oriented, and functional programming.

TensorFlow

TensorFlow is a free and open-source software library for dataflow and differentiable

programming across a range of tasks. It is a symbolic math library and is also used for machine

learning applications such as neural networks.


POLYTECHNIC UNIVERSITY OF THE PHILIPPINES 6

Conceptual Framework

Figure 1. Research Paradigm of A-MAYBE

INPUT PROCESS OUTPUT

Python, Initialization of the Camera Enabled


TensorFlow, programmed software
Android Studio and its parameters
using Java, and
Smartphone
Characteristics
Abaca fiber Processing, Filtering, of processed,
image as training and Analyzing of image filtered, and
data through the training data analyzed image
camera of the recorded
smart phone
Processing, Filtering,
and Analyzing of image Abaca fiber
and comparing it to grade
Abaca fiber recorded image classification
characteristics

Adjustment of data
augmentation, learning
rate, no. of epoch, batch
size, weight, dropout,
and/or image training
data

FEEDBACK

Python is the language used to program the software that will classify the Abaca fiber

grade. Android Studio is the software used to develop the Graphic User Interface of the

program to be installed in the smartphone as an application for utilization. In opening the

software in the smartphone, its parameters and the software itself will initialize and be made

ready for actualization with the camera enabled. Abaca Fiber images as training data are then
POLYTECHNIC UNIVERSITY OF THE PHILIPPINES 7

fed to the system for processing, filtering, and analyzing to come up with recorded

characteristics of the fiber to be learned and considered by the system. The system software

is then tested with an input image of Abaca fiber that will undergo processing, filtering and

analyzing and is then compared to the recorded characteristics to come up with an Abaca fiber

grade classification. Once the result is inaccurate then the parameters: data augmentation,

learning rate, no. of epoch, batch size, weight, dropout, and/or image training data will be

adjusted until accurate result is met.

Potrebbero piacerti anche