Similarity Report
PAPER NAME AUTHOR
IMAGE CLASSIFICATION USING CNN Pujala Nagavardhan
WORD COUNT CHARACTER COUNT
7307 Words 43337 Characters
PAGE COUNT FILE SIZE
35 Pages 976.4KB
SUBMISSION DATE REPORT DATE
Nov 19, 2024 10:17 AM GMT+5:30 Nov 19, 2024 10:18 AM GMT+5:30
3% Overall Similarity
The combined total of all matches, including overlapping sources, for each database.
3% Internet database 0% Publications database
Crossref database Crossref Posted Content database
3% Submitted Works database
Excluded from Similarity Report
Bibliographic material Quoted material
Cited material Small Matches (Less then 14 words)
Summary
INDUSTRY INTERNSHIP REPORT
Study on
“IMAGE CLASSIFICATION USING CNN”
(Embrizon Technologies PVT. LTD.)
Submitted by
Pujala Nagavardhan
3
Registration No:
2021BCSE07AED343
Under the Guidance of
Dr. S Prabagar
In partial fulfilment of the Course- Industry Internship Programme (IIP)-CSI
700 in Semester VII of the Bachelor of Technology (2021-25)
ALLIANCE UNIVERSITY, BENGALURU
NOVEMBER – 2024
Bachelor of Technology
Industry Internship Programme (IIP)
Declaration
1
This is to declare that the Report titled “Image Classification Using CNN” has been made for the partial
fulfilment of the Course: Industry Internship Programme (IIP)-CSI 700 in Semester VII by Pujala
Nagavardhan under the guidance of Dr. S Prabagar
I confirm that this Report truly represents my work undertaken as a part of my Industry Internship
Programme (IIP). This work is not a replication of work done previously by any other person. I also
confirm that the contents of the report and the views contained therein have been discussed and
deliberated with the faculty guide.
Signature of the Student :
Name of the Student : Pujala Nagavardhan
Registration No : 2021BCSE07AED343
i
Bachelor of Technology
Certificate
This is to certify that Mr. Pujala Nagavardhan(2021BCSE07AED343) has completed the report 0tled
2
“Image Classification Using CNN “under my guidance for the partial fulfilment of the Course: Industry
Internship Programme (IIP)-CSI 700 in Semester VII of the Bachelor of Technology in Computer Science
and Engineering.
Signature of Faculty Guide:
Name of the Faculty Guide: Dr. S Prabagar
ii
TABLE OF CONTENTS
[Link] CONTENT PAGE NO
1 Introduction 1-11
2 Project Profile 12-18
3 Observations and Analysis 19-20
4 Results 21-24
5 Recommendations/Future Directions 25-26
6 Conclusion 27
7 Learning Outcome 28-29
8 References 30
iii
ABSTRACT
Using Convolutional Neural Networks (CNNs), I developed and optimized an image categorization system
during my internship at Embrizon Technologies Pvt. Ltd. The project's main goal was to develop a model
that could reliably categorize photos into distinct groups for use in automated tagging, object recognition,
and quality assurance.
Data preprocessing, model creation, and hyperparameter tuning were among my duties. To make sure the
data was appropriate for training a strong CNN model, I started by gathering and purifying a sizable dataset
of labeled photos. After that, I used TensorFlow/Keras and Python to create a CNN architecture,
experimenting with different setups to maximize accuracy and reduce loss.
Along with developing the model, I assessed the system's efficacy using measures including F1-score, recall,
accuracy, and precision. Through incremental modifications that improved the model's classification
accuracy by [specify any percentage improvement, if relevant], these evaluations assisted in identifying
areas that needed improvement. This practical training improved my ability to use TensorFlow and Keras
for practical applications and provided me with invaluable exposure to machine learning ideas, especially
deep learning using CNNs.
All things considered, this internship helped me improve my knowledge of picture classification problems
and sharpen my abilities in data preprocessing, model optimization, and performance assessment. I was
positioned for future success by working with experts at Embrizon Technologies, where I learned about the
useful uses of CNNs and the influence of well-designed models on automated image recognition tasks.
iv
Chapter 1
INTRODUCTION
_____________________________________________________
Due to the quick development of neural network designs, image categorization has emerged as a key use
case for deep learning in recent years [1]. The process of classifying photographs into predetermined groups
is known as image classification, and it is used extensively in a variety of industries, including retail, security,
healthcare, and autonomous driving [2]. This project's goal is to use Convolutional Neural Networks (CNNs)
to classify images accurately and effectively. CNNs, a subclass of deep neural networks, have demonstrated
remarkable efficacy in obtaining intricate information from images, allowing computers to accurately
differentiate between several categories [6].
This project's main goal is to create a system that can automatically categorize photos according to their
visual content [8]. Conventional image classification methods frequently had trouble generalizing across a
variety of image sets since they depended on manually created features and machine learning models.
However, CNNs are especially well-suited for picture classification applications where it is essential to
capture subtle details, textures, and spatial relationships since they can learn hierarchical representations of
data. The goal of this research is to handle huge image datasets with excellent accuracy and scalability by
using a CNN model [1].
Convolutional neural networks (CNN)
CNNs are deep learning models created especially to interpret input that resembles a grid, like pictures.
CNNs employ convolutional layers, which apply filters throughout the image to extract spatial
characteristics, in contrast to fully connected neural networks [11]. Through this procedure, CNNs can
collect key visual features including edges, textures, and shapes—all of which are critical for class
distinction. Convolutional, pooling, and fully connected layers are among the layers that are commonly
seen in CNN designs [5]. Each layer performs a distinct function: fully connected layers interpret the
collected features to generate the final classification, pooling layers lower the spatial dimensions, and
convolutional layers locate features.
1
Project Approach and Methodology
Phases of the project's structure included data preprocessing, CNN architecture design, training, and
evaluation. Initially, a labelled dataset comprising pictures classified into distinct classifications was
created. Preprocessing techniques like scaling, normalization, and data augmentation were applied to the
dataset to improve model robustness and avoid overfitting.
We experimented with different configurations for the CNN architecture, such as altering the number of
convolutional layers, filter sizes, and activation functions [4]. To find the model that provided the best
accuracy without sacrificing computing efficiency, every configuration was tested. The model's
performance was measured using a loss function, usually categorical cross-entropy, and the model
weights were adjusted during training with the use of an optimizer like Adam or SGD [1].
2
Industry Overview
Fortunately, with the development of Convolutional Neural Networks (CNNs), image classification has
been industrialized and automatic algorithms for analysing images and identifying their contents have
emerged [2]. CNNs are widely used for object recognition, face detection, and pattern identification in
applications such as healthcare, retail, autonomous vehicles and security. Well, image classification is
really a field now and therefore has become an integral part of the global artificial intelligence (AI) and
machine learning (ML)[9]. These sectors are expected to grow rapidly as various industries are operating
on AI-powered solutions in nowadays.
The first chapter of this industry overview discusses the global and Indian scenarios, major market players
and competitive landscape of CNN based image classification solutions.
Global Scenario:
The global image classification industry has grown drastically overtime, another rise in this sector seen due
to the demand for automation within sectors like healthcare, automotive, e-commerce, finance and so
forth. The reason for this growth is that GPUs have made it possible to train deep learning models such as
CNNs in large datasets [10]. This capacity to learn patterns and gain spatial hierarchies of features gives
CNNs flexibility enabling them to be highly effective, especially for image classification tasks [7].
Market Size and Growth
The AI computer vision market that involves image classification was worth about USD 15 billion in 2022
and is predicted to reach approximately USD 50 billion by 2030, by attaining a CAGR of over 15%. This
growth is mainly driven by the rising adoption in industries that need accuracy, such as the self-driving cars
that use image classification to enable real-time objects’ detection and identification, and the healthcare
industry which avails diagnosis and treatment plans [9].
Key Industry Drivers
[Link] Advancements: Enhancements in the deep learning frameworks such as TensorFlow,
PyTorch alongside with enhanced hardware accelerators, for example GPUs, TPUs have made it possible to
design CNN models.
[Link] Availability: The abundant availability of such labelled data as ImageNet has aided in training of
high precision image classifiers.
3
[Link] Demand in Automation: Technology advancement introduced automated systems for better
accuracy in the healthcare sector, security and transportation and thus the importance of successful image
classification models.
[Link] in AI and Machine Learning: Today’s technology giants like Google, Amazon, and
Microsoft are putting billions into developing and implementing AI with CNN for the image classification.
Applications
[Link]: Image classification in the medical field involves detecting diseases from medical images
and in diagnostics or X-rays, MRI, or mammography scans for instance seeking to detect cancers cells.
[Link] Vehicles: The objects such as pedestrians, sign, and other automobiles are recognized in
the road by image classification models to enable safe driving.
[Link] and E-commerce: Image classifiers are applied on platforms to tag and sort products on their
basis so that a consumer can easily search and find their products.
[Link] and Surveillance: Most surveillance cameras today employ the use of image classification in
facial recognition to identify individuals and security [11].
Indian Scenario:
The image classification industry in India is emerging fast due to the growth in digital technologies,
emerging AI technologies and the government’s Digital India campaign among other factors [11].
Currently, the startup ecosystems in India and Tech companies are actively developing new innovations for
image classification using CNN mostly for the local problems of India including healthcare, agriculture,
and retail sectors [12].
Market Size and Growth
Image classification is also part of the Indian AI market which had a value of USD 6 billion in 2022 and is
expected to grow at CAGR of over 20% because of government support and increasing investment of both
domestic and global companies in this burgeoning industry. Image classification models in the course of AI
application in rural and urban areas are being applied in areas like precision agriculture where CNNs are
used to identify disease prone crops and predict yields.
4
Key Industry Drivers in India
[Link] Initiatives: Initiatives such as Digital India and National AI Strategy promote the use of AI
for the betterment of society and economy.
[Link] and Research Partnerships: Strategic Alliances across academia & Industry like NITI Aayog tie-
up with IITs to develop research on AI, which includes image classification.
[Link] Challenges: In fields such as agriculture and health, the CNN-based image classification responds
to specific needs, such as crop disease identification and diagnosis in isolated regions.
[Link] in E-commerce: As online buying increases, Indian organisations are employing image
classification for tagging products and stock management.
Applications
[Link] Diagnostics: Tools developed by artificial intelligence allow radiologists to better spot certain
patterns in images such as X-ray images or MRIs.
[Link]: CNNs identify crop types, diagnose diseases and assess field situations allowing farmers to
make better decisions.
[Link] and E-commerce: Image classification helps with sorting out products, which is helpful for
defining the search and offering clients recommendations.
[Link] Cities: Image classification is used by surveillance and traffic management in order to recognize
vehicles, behaviour traffic conditions and observe security.
Players in the Industry Along with Market Shares
Global Players
• Microsoft (Azure Cognitive Services): Market Share ~15%
•Microsoft Azure offers image classification APIs as part of its Cognitive Services suite, enabling businesses
to integrate image classification models seamlessly into applications.
• Amazon Web Services (Rekognition): Market Share ~10%
•AWS Rekognition provides pre-trained models for image and video analysis, making image classification
accessible for applications in security, retail, and media.
• IBM Watson Visual Recognition: Market Share ~8%
5
•IBM’s Watson platform includes tools for image classification, primarily used in healthcare and retail,
where image recognition solutions are integrated into business workflows.
• Facebook (PyTorch): Market Share ~7%
•PyTorch is widely used in the research community and supports CNN model development. Some of
Facebook’s open-source contribution includes PyTorch, which is a preferred platform for custom image
classification models[11].
Indian players
1. Tata Consultancy Services (TCS): Market Share ~5%
o TCS provides AI solutions, including image classification for industrial and healthcare
clients, through TCS Digital Platform.
2. Infosys Nia: Market Share ~4%
o Infosys’s AI platform, Nia, offers image classification for predictive analytics in sectors like
manufacturing and retail.
3. Wipro Holmes: Market Share ~3%
o Wipro Holmes integrates image classification in sectors such as healthcare, where AI models
assist in diagnostics and medical image analysis.
4. Manthan: Market Share ~2%
o Manthan offers AI-driven solutions for the retail sector, where image classification assists in
product management and personalized customer experiences.
5. SigTuple: Market Share ~1%
o A Bangalore-based startup, SigTuple uses CNNs for medical image analysis, offering
solutions for blood and pathology diagnostics in hospitals and labs.
6. Agribuddy: Market Share ~1%
o Agribuddy focuses on agriculture, leveraging CNNs to identify crop diseases and assist
farmers with timely interventions[11].
6
Company Overview
Introduction
Embrizon Technologies is a leading global provider of professional internships as well as training services
for students and fresh graduates aimed at connecting academic theories with reality. Embrizon is a fresh
online education start-up, founded in Hyderabad, India that is focused on preparing the students and young
professionals for the modern-day Industry by providing them with a total package of Industry-focused skill
set and the technical know-how. As the reputed MNCs and educational institutions partners of Embrizon, it
makes sure that people get ready for what they are going to get in practical life.
Mission and Vision of the company
• Mission: Embrizon Technologies is focused on enhancing the skills of learners and novice workers
by providing effective training based on the experience of practicing professionals. The purpose of
the company is to provide practical knowledge to enable learners to be capable professional workers
who meet the demands of today’s world of work by obtaining both hard and soft skills.
• Vision: Embrizon envisions that within the next five to 10 years it will emerge as a leading company
in providing technical internships and training throughout India to build a bridge between students
and corporations. Through curriculum implementation to mirror the modern world markets and the
offer of a pool of real-life projects that the organization offers, Embrizon aims to prepare a relevant
market force that can key into future change. Embrizon’s vision is to become the go-to institution for
training and preparations for business and students, preparing them for productive careers.
Organizational Structure of the Company
Embrizon Technologies has undertaken the organization structure mission with the aim of producing
befitting internship and training services. Several core departments of the company have been developed
and each of them is fully responsible for corresponding stages of the training process.
1. Leadership Team: To achieve fiscal, strategic, and programmatic planning and operations direction,
the leadership of Embrizon must involve the CEO and other department heads. They are responsible
for multi-national corporation collaborations and stewardship of educational quality across
programs.
7
2. Program Management and Coordination: They collaborate with the corporations in order to
develop internship experiences that meet the needs of the companies. They serve as student and
faculty relationship managers, coordinating with programs, faculty, to be on par with academic and
professional expectations.
3. Training and Development Team: This team is responsible for creating and implementing technical
skills training; it also provides courses that can act as a springboard for the students. They ensure
they have the most updated curriculum that responds to current needs of the market.
4. Career Support and Mentorship: Career support staff assist students with resume creation, mock
interviews, and regarding job listings. Mentors also ensure interns learn interpersonal skills, like
communication and teamwork as they prepare them for a working environment.
5. Technical and Support Team: Technical reflects directly on the Embrizon’s training platform, as
the support team helps students throughout their internship journey: enrollment, classes, and
completion
Global and Indian Operations and Market Share of the Company
Despite the fact that Embrizon Technologies is a Indian based business, its strategic alliance with MNCs
makes it recognized internationally.
• Global Operations: Embrizon has corporate associations with highly reputed multinational
corporations including JP Morgan Chase, Deloitte, and Accenture, to offer ‘on job’ training. Such
collaborations help Embrizon in offering standard training services that complied with the global
employers’ expectations and has the capability in the future to offer programs in this rivalry world
scale.
• Indian Operations: Most of its activities are in India owing to increased need for skill development
in technology and management professions. To match itself with the educational institutions of India,
Embrizon provided internship certified by AICTE. Its key selling point is the ability to offer
affordable, accessible and vocational training that cuts across the industry.
• Market Share: Embrizon has made fairly steady grounds in the Indian training and internship
segment mainly previously mentioned fields that need alot of technical competencies and hands on
8
experience. However, it stills operates in the category of small ed-tech companies and has established
itself as an organization that places students into internships in their specific industries. The business
objectives of the company are to grow market share through the development of new strategic
alliances and through the improvement of the quality and relevance of available training.
Products and Services Offered by Embrizon Technologies Pvt. Ltd.
At Embrizon Technologies, we have numerous training and professional development services that we
provide to organizations, and which mainly include technical and technical skills’ training.
• AICTE-Approved Industrial Internships: Currently, its prime brand product special requires
Mentions include Embrizon’s AICTE certified internship program, an intensive that offers a practical
learning experience in areas such as software development, data analyses and cybersecurity, and
project management. These internships make students engage in real assignments and apply such
skills in the real world.
• Technical Bootcamps and Pre-Internship Training: Embrizon has pre-internship bootcamps to
prepare students for their positions at the company First, a pre-internship boot camp is a training
program that a company provides for a student before joining an internship few weeks before the
internship program. Such intensive bootcamps include programming, data science, cloud computing,
artificial intelligence, and many others because students will need those basic skills in order to
perform well.
• Corporate Training Programs: Embrizon creates training courses based on the needs of businesses in
various sectors such as Artificial Intelligence, machine learning, and data science. These programs
are designed to fit what the various companies require in order to see that the employees acquire
optimum skills in their fields.
• Soft Skills Development: The concept of Embrizon offers participants several types of training,
including communication training, group work and leadership. These workshops address those
important interpersonal skills that are need in today’s work environment and assist interns in attaining
certain professional persona.
9
• Career Support and Job Placement Assistance: Embrizon helps students in their job search by
offering career services such as resume writing, employment interviews and jobs search tools. Such
support assists the learners to transfer from internment to permanent employment positions after they
have gained meaningful experiences while on their internships.
SWOT Analysis of Embrizon Technologies Pvt. Ltd.
The SWOT analysis offers an evaluation of the strengths, weaknesses, opportunities and threats, which
exists in the environment of Embrizon Technologies.
Strengths
• Exclusive MNC Partnerships: Embrizon has good working relations with reputable MNCs, which
provide students with excellent internship opportunities putting the company in a vantage position.
• Industry-Relevant Curriculum: As such, through new practice curriculum requirements which align
the training to the current market, Embrizon guarantees that students receive marketable training.
• Focus on Both Technical and Soft Skills: The training programs in Embrizon focus on the overall
three-dimensional model and equip the students in technical and personal skills.
• AICTE Certification: With growing popularity, Embrizon’s AICTE approved program offerings gain
credibility, and thus, the attention of prospective employees and employers.
Weaknesses
• Limited Geographic Reach: Embrizon main functional bases are located in Hyderabad; this may
reduce its availability to students from other zones.
• Smaller Operational Scale: However, as Embrizon is a relatively small company it may suffer from
the competition pressure from much bigger ed-tech firms and a smaller market share.
Opportunities
• Growing Demand for Skilled Professionals: Since there is an increasing demand for professionals in
the domain of artificial intelligence, data science, and productive learning, Embrizon has an added
opportunity to attract customers with these services.
• Expansion of AICTE-Approved Internships: The rising adoption of internships approved by AICTE
across the country creates room for Embrizon to capture the market share.
• Potential for International Expansion: Embrizon, with its MNC partners, could expand on the
internships and establish a worldwide company.
10
Threats
• Competition from Established Ed-Tech Companies: The threat from national and international talents
seeking training and internship opportunities might be a stumbling block to the growth of Embrizon
because the larger firms have more resources.
• Technological Advancements: Embrizon must implement training programs that are in tune with
current technologies given that technology is fast evolving, the cost implications of which may act
as a decisive factor.
• Economic Challenges: Demands for internships and training interventions may be influenced by
changes in economic status or number of occupations available within the market, including a
negative impact on Embrizon.
11
Chapter 2
PROJECT PROFILE
________________________________________________________
2.1 Objectives of the Study
The study of image classification using Convolutional Neural Networks (CNNs) aims to harness CNNs'
powerful pattern recognition capabilities for accurately classifying images across diverse applications.
Below are the primary objectives:
Develop an Accurate CNN Model for Image Classification
• Create, train and test a CNN Model to mainly work for the purpose of classifying images into
different classes in each dataset [2].
• Discuss how CNNs effectively exploit hierarchical features the architecture of CNN for feature
Engineers and detecting edges shapes texture for better image classification.
Achieve High Classification Accuracy and Robustness
• Patients are required in getting high accuracy to categorize the images where upon evaluating the
model the basic parameters such as accuracy, precision, recall and F1-score are used.
• Add robustness by feeding the model frames with poor quality, different lightning, rotated or scaled
to some extend to introduce more realistic scenarios into the classification process of the model.
Optimize Model Architecture and Hyperparameters
• Try out all or some of the CNN architecture components which include convolutional layer, pooling
layer and fully connected layer to get the best configuration.
• Hyperparameters include learning rate, batch size, number of filters and the number of epochs;
increasing these parameters helps to fine-tune the model during the training phase [7].
Evaluate the Impact of Data Augmentation on Model Generalization
• Determine when and how flipping, rotating or cropping affects generalization when used with small
sample sizes.
• Find out whether data augmentation enhances model performance and reduces over fitting and thus
enhances the model applicability in real environments.
Compare CNNs with Other Classification Techniques
• Evaluate the result of the CNN model with other traditional machine learning and Neural network
techniques like Support Vector Machines, K-Nearest Neighbors, or fully connected to prove the
significance of CNNs to image classification roles [9].
12
Adapt the Model for Practical Applications and Deployment
• Develop the model which will be designed to be portable and can be employed in different platforms
such as portable devices, cloud solutions by following the structured guidelines which increases the
computation speed while also maintaining the model’s reliability [5].
• Make sure that the model will be flexible and can handle other types of classification problems as a
pre-trained model that will be useful for fine tuning across industries [11].
2.2 Methodology
The methodology for image classification using Convolutional Neural Networks (CNN) involves a sequence
of well-defined steps, from data preparation to model evaluation. Here’s a detailed breakdown:
1. Problem Definition and Dataset Selection
• Define the Problem: Define what exactly is the classification of images. For instance, do we want
to identify animals, recognize objects or distinguish handwritten numbers?
• Choose a Dataset: Choose the dataset to work with: CIFAR-10, MNIST or create your own dataset.
In the next step, the dataset should include images with corresponding classes that can correspond
to the problem statement [3].
Data pre-processing:
• Image Resizing: Crop and down or correct sizes of all images to match a consistent size format of
the model usually 32 X 32 or 64 X 64 or 224 X 224.
• Normalization: Normalize pixel values in the range 0-255 to 0-1 as it will make processing quicker,
emerging to similar scale inputs during the learning process.
• Data Augmentation: Use techniques like rotation, flipping, zooming and cropping in order to make
up for the lack of data. The step also assists the model to learn different image perspectives thus
generalizing better [1].
• Train-Test Split: Although it may keep valuable information in a dataset, using all the data for
5
training may lead to overfitting phenomena; therefore, it is useful to split a dataset to training,
validation and test sets in the ratio of 7:1.5:1.5, respectively [4].
13
CNN Model Design and Architecture Setup
Choose the Model Architecture: Given a set of requirements for the project, describe a CNN architecture.
This includes setting up layers such as:
• Convolutional Layers: Local features must be extracted applying various filters.
• Pooling Layers: Down sample a feature map and thus decrease dimensionality and size, sometimes
by means of max pooling [6].
• Fully Connected Layers: Join each neuron in one layer to all neurons in the subsequent layer,
employed at the termination to amalgamate features.
• Activation Functions: Therefore, apply activation functions as ReLU for non-linear transformations.
• Dropout Layers: Include some dropout to reduce overfitting through partially deactivating neurons
during the training phase [3].
14
• Experiment with Different Architectures: Available architectures could be LeNet, AlexNet, VGG or
ResNet, which should be used based on complexity and available hardware.
Feature Selection
• Select the Loss Function: Select the right loss function to use in the binary or multiple categories
classification which are most often Categorical Cross-Entropy for multiple category classification
and Binary Cross-Entropy for binary classification.
• Choose an Optimizer: A network should be optimized with such an optimizer as Adam, SGD, or
RMSprop. Others assist in reducing the loss function and the model weight update; others do not
affect the result [7].
4
• Define Evaluation Metrics: Use accuracy, precision, recall, and the F1-score as the evaluation
measures to assess the quality of a model.
Model Training
• Set Training Parameters: The parameters include the number of iterations or epochs, batch size, and
öğrenme Oran. The number of iterations or epochs is how many times the program is to run through
the training set or the total number of passes through the training data [8]. The batch size is the
number of training examples used in one iteration and learning rate is a number controlling how fast
the model is updated in the network. The batch size dictates the number of samples for which weights
are updated at one go [6].
• Fit the Model to Training Data: While training this CNN model, the training dataset must be used for
training while the performance of the model must be regularly checked on the validation dataset.
• Adjust Hyperparameters: Whenever that seems appropriate, fine tune this kind of hyper-parameters
that are specific to the choice of validation data to guard against underfitting or overfitting [7].
• Early Stopping: Use early stopping where it will prevent the model from continuing to train when it
has reached the best number of epochs in validating accuracy preventing overfitting [1].
Model Evaluation
• Evaluate on Test Data: After training the model, perform a test with the test dataset in order to
determine the efficiency of the classifier in unfamiliar conditions.
• Generate a Confusion Matrix: Perform classification report to get detail explanation how many times
each class is predicted and how many times each class is the actual [4].
• Calculate Metrics: Especially, accuracy, precision, recall and F1-score should be reported to give the
complete picture of a model’s performance.
Hyperparameter Tuning and Model Optimization
• Hyperparameter Tuning: Try using learning rate, which is 0.001, batch size of 150, number of layers
of 4 and number of filters of 32 for the convolution layer.
• Regularization Techniques: Slice posts into portions, feed them back to the model gradually, or add
Dropout layers to the model when using L2 regularization to restrict model capacity and reduce
overfitting [7].
15
• Learning Rate Scheduling: Learning rate schedules involves elaborated methods to adapt the learning
rate throughout the training process to ensure the learning rate gets the best convergence rates.
Libraries Used
1. TensorFlow and Keras
• Purpose: TensorFlow is an open-source platform used for machine learning and deep learning
and Keras as one of its modules is used for creating and training neural network.
• Key Functions:
• Model Building: Keras also offers several ways of constructing CNN architectures modularly
– layers can be stacked to the architecture one upon the other. These are the basic components
of creating CNNs and they include – CONV2D (Convolutional layers), MAXPOOLING2D
(Pooling layers), DENSE (Fully Connected layers) properties [10].
• Training and Optimization: TensorFlow offers several optimization algorithms (such as, Adam,
SGD) and loss functions (including CategoricalCrossentropy) to enhance the CNN model.
• Data Handling: Keras comes with such installation like ImageDataGenerator for real time data
generation which assist in creating modified training data on the fly which enhancesSTALL
model.
• Why It’s Used: Playing our chances of assigning CNNs tasks and aims, TensorFlow and Keras
feature a coherent environment for constructing, training, and implementing CNNs seamlessly
as an image categorization framework [6].
2. NumPy
• Purpose: The NumPy package is finest for insufficient communications in Python abridged for
Numerical Python and covers arrays, matrices, data sets, and other large datasets[1].
• Key Functions:
• Array Manipulation: Featured in the preprocessing of the image data stored as arrays, NumPy
has a mechanism of handling and manipulation of these data [2].
• Mathematical Operations: In particular, simple mathematical operations implemented as
element-wise and broadcasting work smoothly on large amounts of data.
• Why It’s Used: Numpy has array processing at a better and faster rate, which is very important
while working with pixel data of images and operations on the data during training and
assessment.
[Link] Computer Vision (Open CV)
• Purpose: OpenCV A powerful library for Real-Time computer vision and image processing. It
can be used to scale, rotate, resize, smooth, sharpen, and scan images and to change color
channel order.
• Key Functions:
• Image Loading and Resizing: OpenCV is generally utilized for image loading and resizing to
the desired form that the CNN model expects to gobble up [2].
• Image Augmentation: Includes rotation, scaling, and flipping, which are useful for exposure
increase, that is, data diversity increase.
16
• Color Space Conversion: Resize shape images from BGR to RGB or grayscale and per model
demands.
• Why It’s Used: Opencv offers intricate features of image processing which are essential in
creating big data and real-time applications, which require both extensive preprocessing and
data augmentation [3].
4. Matplotlib and Seaborn
• Purpose: They are libraries in Python which are used to build graphical representations and
gainsight into the performance and complex training of models.
• Key Functions:
• Plotting Training Metrics: Matplotlib is used in the training and validation curves of the
loss/accuracy where we get to see how the model is learning on these.
• Confusion Matrix Visualization: Seaborn heatmap can be used when showing confusion
matrices which is valuable to know about classification of accuracy over the classes [2].
• Why It’s Used: Thus, Matplotlib and Seaborn assist in visual control of the model and its
performance, thus it is simple to distinguish between overfitting and definite misclassification
patterns [6].
5. Pandas
• Purpose: Pandas is a data manipulation toolbox which allows loading, analyzing, and
processing data.
• Key Functions:
• Data Handling: Pandas can work in tabular data and one of the most common is CSV, which is
used for storing labels and metadata of image datasets [5].
• Data Analysis: It includes functions to investigate the class distribution of the dataset, this is
very useful when coming across classes that have been cordialized during data collection.
• Why It’s Used: Due to the features of handling metadata related to images such as class labels,
pandas is invaluable for preprocessing and analysing data [9].
6. Scikit-Learn (sklearn)
• Purpose: Scikit-Learn is a machine learning library which provides the functionality to evaluate,
preprocess and validate some models.
• Key Functions:
• Model Evaluation Metrics: For classification performance, there functions like accuracy_score,
precision_score, recall_score, and f1_score.
• Confusion Matrix: The confusion matrix in particular is employed in the assessment of how
well the model has classified each class, and where there is a problem.
• Train-Test Split: train_test_split is usually applied in the data splitting process when datasets
must be subdivided into training and testing datasets for the check on the methods’ ability to
generalize [12].
• Why It’s Used: Scikit-Learn gives a strong and enlarged model for analyzing and evaluating
the model’s performance and is useful for adjusting and boosting the CNN model [3].
17
18
Chapter 3
OBSERVATIONS & ANALYSIS
_____________________________________________________
The principal aim of this work is to design a CNN based image classifier model to classify images into given
classes with high efficiency. This entails collection of image datasets, data preparation for CNN, and then
applying CNN models in order to have good classification results [6]. Secondary goals are to analyse
different implementations of CNNs, fine-tune learned parameters in terms of the networks’ performance,
examine results produced by the model [3].
Observations and Analysis
Model Architecture and Configuration
• CNN Model: The architecture of the proposed model is formed with several convotional layers with
subsequent pooling layers and fully connected layers [1].
• Parameters & Hyperparameters: The main parameters are filter size, stride, padding and activation
functions. Other kept parameters that were adjusted for the best performance of the model included
learning rate, batch size and number of epochs [8].
Accuracy & Loss Graphs
• Training vs. Validation Accuracy: A line chart pinpointing the type of accuracy subsequent epochs
and if the model got the much-needed convergence.
• Training vs. Validation Loss: A line chart of loss over epochs which depicts whether the model was
learning or not.
• Confusion Matrix
A confusion matrix was created to examine the exact distribution of the categories made by the
model so as understand the extent of the misclassifications made.
Precision, the Recall, and F1 Score
Performance of the model on each class was measured by using tables presenting precision, recall,
and F1 scores [3].
Comparison Across CNN Architectures
• Baseline Model vs. Transfer Learning Models
We compared the baseline CNN model with pre-trained models such as ResNet and VGG16. Transfer
learning models demonstrated superior performance, achieving higher accuracy in fewer epochs.
This finding aligns with expectations, as pre-trained models leverage extensive prior knowledge,
especially for similar tasks [12].
19
Observations on Model Behaviour and Limitations
• Observation on Overfitting
The results of this work indicated slight overtraining in the first initial layers of the baseline CNN
model through a proportional increase in the training accuracy and a slower increase in the validation
accuracy. Adding dropout layers and data augmentation glimpsed this problem, but more
enhancements were observable to reduce the desperateness of the model.
• Performance on Difficult Classes
Some classes had low precision and low recall; this is probably because these classes are confused
by similar visual characteristics. Perhaps in ensembling or achieving more complex CNN
architectures more performance on these challenging classes requires.
20
Chapter 4____________________________________________________
RESULTS
21
22
23
24
Chapter 5
RECOMMENDATIONS/FUTURE DIRECTIONS
_____________________________________________________
• The last step must be to find out which hyperparameters levels work the best in order to optimize
the model.
• Use learning rate, batch size, numbers of epochs etc…, to fine tunes the importance of the proposed
model [9]. It is also possible that other network architectures were also better optimized for certain
image classification tasks (e.g., ResNet, EfficientNet).
• Data Augmentation for Defensibility
• Make certain to use data augmentation using techniques such as rotating the images, scaling the
images, flipping the images, and adjusting the colours on the images so as to make sure that the
model that we have built can work on any image that comes in since all the images that we are
building the model on have undergone through the same processes of rotations, scaling, flipping and
other colour adjustments [7]. It can assist in achieving high efficiency on various data, if there is not
much data available in certain cases. In other to use this approach, one needs to apply Transfer
Learning with Pre-trained Models.
• Using models fine-tuned with data from IMageNet reduces the training period and increases the
accuracy; especially if labelling data is limited or when starting from scratch is practically impossible
[11].
• Carefully select the dataset and obtain high-quality as well as more data.
Acquire more labeled images or refine the labeling process in the case the models are not performing
up to expectations [1]. If possible, data from other environment should be incorporated so that the
model proposed display proficiency under different situations.
• Create the use of Real-Time Classification with Optimized Models.
Use fast and light CNN networks like MobileNet or SqueezeNet for real-time image classification
problems, where time is of the essence [6]. It is suggested to apply model compression methods such
as quantization to address the real-time performance on the limited resource devices.
• Bring Explainability for Better Interpretation of the Models
Demystify the CNN model by explaining its decisions using the Grad-CAM, Integrated Gradient, or
LIME approach [10]. This can make stakeholders more likely to trust the model and use it when they
go to production, because the modification will show how the model came up with the frequency.
25
• It recommended to update the model with fresh data at a certain interval, such as with a calendar
week.
• To maintain the relevance of the above model the following was seen appropriate: To learn and
search for different patterns of images characteristic, it is effective to implement the retraining with
updated data sets periodically [7].
• Identify Possible Ethical Issue
Consider and resolve ethical issue that involve image classification including imbalance and
inaccuracy when labelling the data set, and impact of automated decision-making on high-risk
population [4]. Data and model usage should conform to certain ethical metrics.
•
• Scale for Distributed or for Cloud Based Processing
If high computational power is needed, one should use Cloud for training and, particularly, deploying
CNN models. Another benefit, distributed computing can also enhance model training and make
mass scale deployment more viable [3].
26
Chapter 6
CONCLUSION
_____________________________________________________
This project presents an example of applying CNNs on image classification to show effectiveness of deep
learning techniques for classifying visual data. CNNs, which can learn the spatial hierarchal representation
of features, seemed to be particularly useful for this task since they essentially require no effort involving
feature selection out of the images [11]. Classification outcomes were encouraging, and CNN architectures
and techniques are thus demonstrated to be primordial tools for several industries including healthcare and
security, retail, and self-driving vehicles [3].
In this work, we examined the effects of choosing data preprocessing techniques, adjusting the model
structure, and selecting features on classification accuracy [7]. Our result also showed that data augmentation
and normalization enhanced the stability of the models enabling it to perform well better on unseen data [6].
Furthermore, our transfer learning experiment showed that the use of pre-trained models can significantly
improve the existing accuracy and reduce the training time, which remains a crucial issue when there is
insufficient labelled data available [3]. As expected, the CNN model achieved high accuracy on the images
it was trained on and there must have been further improvement in the accuracy level if more diversified
data was used and the application of ensemble methods [1].
The project also focuses on practical aspects that are crucial when deploying a model into the world,
including model explainability and recursiveness, privacy and fairness, and real-time performance [6]. Some
methods such as Grad-CAM or LIME were highlighted for their usefulness in providing explanatory features
on how the model arrived at its decision, which is very strategic for designing trusted systems that would
meet the approval of ethicist regulators [9]. Some of the place where ethical issues were acknowledged
includes dataset bias and the need to balance the equity of forecasting for all users [5].
In aggregate, the present investigation proves that CNN architectures are a dependable solution for the image
classification problem, providing high accuracy and scalability [1]. Future studies can then include refining
the efficiency and accuracy of CNN models, expanding the dataset and its complexity, and adding more
convenient explainability tools to make advanced deep learning models more usable in applications with
high risk factors [8]. The various issues identified in this project therefore create a good ground on which
the use of CNNs in image classification could be advanced to meet various objectives in developing deep
learning applications in image recognition [5].
27
Chapter 7
__________________________________________________
LEARNING OUTCOME
• An understanding of CNN Architectures
I found out how Convolutional Neural Networks (CNNs) work, especially the layers such as
convolutional, pooling and the fully connected layers [8]. This brought understanding of how CNNs
recognize image patterns through hierarchical feature extraction which is very important in various
tasks such as detection and estimation of objects [7].
• Ranking for Data Preprocessing
Having been exposed to the process, I came to appreciate how critical data preprocessing was to get
better results. Data was pre-processed through various methods including data augmentation,
normalization, and resizing to fit the model to increase its ability to learn with reduced overfitting
[4]. Let us proceed to the next step which involves model training and hyperparameters tuning of the
chosen model in each dataset [6]. This project further opened my understanding of things such as
tuning hyperparameters such as learning rate, batch size, and epochs. I saw how changing such
factors influenced the sort of model to be developed, its efficiency, and the amount of time taken for
the learning process [3].
• Exploring the use of Transfer Learning
Through transfer learning I got practical experience of using pre-trained models which turned out to
be advantageous when it comes to achieving with less training data [6]. This approach demonstrated
to me how one can carry forward the prior knowledge from these well-known models to yield better
precision in related tasks.
• Model Evaluation and Metrics
In this work, I found out how to evaluate model performance based on metrics like accuracy,
precision, recalls, and F1 score. It is in understanding these that the performance of models was
judged and in cases where deployment was to be made, which model to deploy was identified. At the
end of the week, you get to touch base with python and its related libraries [5].
This project enhanced the acumen of the use of Python and deep learning frameworks like
TensorFlow and Keras [4]. I also gained knowledge about CNN models and data preprocessing and
learned how to visualize results using the mentioned libraries which helped me to make a technical
background regarding machine learning programming [3].
28
• Challenges faced during Model Deployment
I learned some of the real-world issues that accompany the use of CNN models such as memory and
computation issues [8]. From this I came to learn about model optimisation strategies such as model
quantisation and model compression to enable CNNs to be employed in real time applications.
Acquiring Knowledge in Project Management and Problem Solving [4].
I received hands-on skills that comprise project management skills like prioritizing tasks, timing, and
the ability to solve a problem in the loop [3]. I got to know about how to handle contingency in
writing codes, selection of the model & data, qualities & manage the vital signs for the efficient
running of a program, which enhanced my problem-solving skills quite well [1].
• CNNs and the Future Research and Developments
Finally, I got a greater picture of current work on CNNs and image classification to know where new
developments could be made [5]. This involves trying out new architectures and tuning both CNNs
and other architecture hybrids to the limit of what they can deliver when applied to practical
problems.
This internship not only improved my expertise by reading and applying CNNs and image classification but
also equipped me with a real scope of work and opportunities related to AI projects.
29
REFERENCES
_____________________________________________________
[1] [Link]
[2] [Link]
[3] [Link]
[4] Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
[5] Chollet, F. (2018). Deep Learning with Python. Manning Publications.
[6] [Link]
[7] [Link]
[8] Russakovsky, O., et al. (2015). "ImageNet Large Scale Visual Recognition Challenge." International Journal of
Computer Vision, 115(3), 211–252.
[9] [Link]
[10] [Link]
[11] [Link]
step-guide/
[12] [Link]
30
Similarity Report
3% Overall Similarity
Top sources found in the following databases:
3% Internet database 0% Publications database
Crossref database Crossref Posted Content database
3% Submitted Works database
TOP SOURCES
The sources with the highest number of matches within the submission. Overlapping sources will not be
displayed.
Alliance University on 2014-07-07
1 1%
Submitted works
Alliance University on 2024-11-13
2 <1%
Submitted works
Alliance University on 2024-11-15
3 <1%
Submitted works
[Link]
4 <1%
Internet
[Link]
5 <1%
Internet
Sources overview