Report
Report
ABSTRACT
This research presents a MATLAB-based system utilizing DenseNet and Convolutional Neural
Networks (CNNs) for the automated classification and staging of multiple eye diseases, including
Diabetic Retinopathy (DR), Macular Edema, Glaucoma, and Exudates. The process begins by
inputting an image, which is first analyzed to classify it as either Diabetic Retinopathy or healthy.
If DR is detected, the system further categorizes its severity into stages: Mild DR, Moderate DR,
Severe DR, or Proliferative DR (PDR). The same image is then assessed for Macular Edema, with
the disease classified as either present or absent, and further divided into stages of severity if
detected. The system also evaluates the image for Glaucoma, classifying it into healthy or affected
categories, and stages it if necessary. Finally, the presence of exudates is examined, and if present,
they are classified into stages: Mild, Moderate, Severe, or PDR. The results of these classifications
are sent to a ThingSpeak channel for real-time monitoring and visualization. Additionally,
treatment options and lifestyle recommendations based on the analysis are sent to the registered
user's email. The system’s performance is evaluated using several parameters, including accuracy,
sensitivity, specificity, PSNR, precision, recall, F1 score, Area Under the Curve (AUC), and
entropy, ensuring reliable and efficient detection of these eye conditions. This approach provides
an automated, scalable, and accessible solution for eye disease detection, aiding early diagnosis
and monitoring.
Keywords: Fungus Dataset, Deep Learning, Convolution Neural Network, Image Processing
Techniques, segmentation and accuracy.
Domain: MATLAB
Technology: Artificial Intelligence
CHAPTER 1
INTRODUCTION
Fundus imaging has a rich history, dating back to the late 19th century when the first
ophthalmoscope was developed by Hermann von Helmholtz in 1851, allowing doctors to examine
the interior surface of the eye, including the retina, optic disc, macula, and posterior pole. Over
time, advancements in fundus photography have revolutionized the diagnosis and management of
various ocular diseases, particularly diabetic retinopathy (DR). Fundus images provide a detailed
view of the retinal vasculature, enabling the identification of abnormalities caused by diabetes.
Diabetic retinopathy progresses through several stages, starting with Mild Non-Proliferative
Diabetic Retinopathy (NPDR), characterized by microaneurysms and small hemorrhages. As the
disease advances, Moderate and Severe NPDR stages emerge, with more widespread retinal
hemorrhages, venous beading, and intraretinal microvascular abnormalities (IRMA). The final
stage, Proliferative Diabetic Retinopathy (PDR), is marked by the growth of new, fragile blood
vessels on the retina or optic disc, leading to severe vision loss if untreated. The development of
automated systems for the detection and classification of DR stages from fundus images is crucial
for early intervention, reducing the risk of vision impairment in diabetic patients through timely
diagnosis and treatment.
Domain: MATLAB
Technology: Artificial Intelligence
Diabetic retinopathy is an eye disease that affects people living with diabetes. It develops when
high blood sugar damages the tiny blood vessels in the retina. This causes a variety of symptoms
like blurry vision and vision loss.
Glucose, or blood sugar, is a main source of energy — yet too much circulating in the blood can
be harmful to the body. Typically, the pancreas releases the hormone insulin, which helps cells
absorb glucose for energy. In the case of diabetes, though, the body doesn’t make enough insulin
or doesn’t use it properly. This causes glucose to accumulate in the blood.
Consistent levels of high blood sugar can affect different parts of the body, including the eyes.
Diabetic retinopathy doesn’t only weaken or damage the blood vessels in the eye. It can also cause
the development of new abnormal blood vessels in the retina.
Diabetic retinopathy is a progressive eye disease classified by two types and four stages.
The two types are nonproliferative and proliferative. Nonproliferative refers to early stages of the
disease, while proliferative is an advanced form of the disease.
This is the earliest stage of diabetic retinopathy, characterized by tiny areas of swelling in the blood
vessels of the retina. These areas of swelling are known as micro aneurysms.
Domain: MATLAB
Technology: Artificial Intelligence
Small amounts of fluid can leak into the retina at the stage, triggering swelling of the macula. This
is an area near the center of the retina.
Increased swelling of tiny blood vessels starts to interfere with blood flow to the retina, preventing
proper nourishment. This causes an accumulation of blood and other fluids in the macula.
A larger section of blood vessels in the retina become blocked, causing a significant decrease in
blood flow to this area. At this point, the body receives signals to start growing new blood vessels
in the retina.
This is an advanced stage of the disease, in which new blood vessels form in the retina. Since these
blood vessels are often fragile, there’s a higher risk of fluid leakage. This triggers different vision
problems such as blurriness, reduced field of vision, and even blindness.
Diabetic retinopathy doesn’t usually cause symptoms during the nonproliferative stages, so it’s
possible to have it and not know it. This is because blood vessels don’t always leak in these stages.
Many people don’t have symptoms until the disease progresses to proliferative diabetic
retinopathy. However, an eye examination by an eye care specialist or ophthalmologist can detect
diabetic retinopathy in its earlier stages, before symptoms become apparent. Symptoms of
proliferative diabetic retinopathy include:
• blurry vision
• distorted vision
• loss of vision
Domain: MATLAB
Technology: Artificial Intelligence
• change in colors
Be mindful, too, that diabetic retinopathy symptoms usually affect both eyes at the same time.
Diabetic retinopathy may lead to irreversible vision loss, but it is treatable. Treatment starts with
managing blood sugar and diabetes. This includes taking diabetes medication as directed, watching
your diet, and increasing physical activity. Keeping blood sugar within a healthy range can slow
the progression of vision loss.
Other treatments will depend on the stage or extent of the disease. If caught very early — before
damage to the retina occurs — blood sugar management might be the only necessary treatment.
Your doctor will continue to monitor your eyes, though, to ensure the disease doesn’t progress.
If you’re in a nonproliferative stage but experience some eye damage, treatment options might
include:
• Laser surgery. Laser surgery, called photocoagulation, reduces the drive for abnormal
blood vessels and swelling in the retina.
• Eye medications. A steroid injection in the eye can stop inflammation and prevent the
formation of new blood vessels. You might also be a candidate for anti-VEGF medication,
which can reduce swelling in the macula and improve vision. Doctors administer both
treatments as an injection in the eye.
• Vitrectomy. If you have proliferative diabetic retinopathy, you might need an eye surgery
called vitrectomy. This surgery treats problems with the retina and vitreous, a jellylike
substance in the middle of the eye. The surgery can remove scar tissue, blood or fluid, and
some of the vitreous gel so light rays can focus properly on the retina. At the same time,
traction in the retina or retinal detachments can be corrected.
Domain: MATLAB
Technology: Artificial Intelligence
Glaucoma, Exudates Eye, and Macular Edema are significant eye conditions with distinct
historical and medical relevance. Glaucoma, known as the "silent thief of sight," has been
recognized since ancient times, with the term originating from the Greek word glaukos, describing
the cloudy appearance of the eye in advanced stages. Historical texts from Hippocrates and Galen
reference glaucoma-like conditions, but it was not until the 19th century that modern diagnostic
techniques, such as tonometry, emerged to measure intraocular pressure (IOP), a key factor in
glaucoma management. Exudates Eye, characterized by the leakage of protein or lipid deposits in
the retina, has been closely studied in the context of diabetic retinopathy, with advancements in
retinal imaging enabling early detection and understanding of its pathological impact. Macular
Edema, involving the swelling of the macula due to fluid accumulation, gained clinical
significance with the rise of diabetes-related eye complications. Breakthroughs in optical
coherence tomography (OCT) have revolutionized its diagnosis and treatment. Together, these
conditions highlight the intersection of historical medical practices and contemporary
technological advancements, underscoring the need for continued innovation in early detection
and management.
Domain: MATLAB
Technology: Artificial Intelligence
CHAPTER 2
LITERATURE SURVEY
[1] L. Ravala and G. K. Rajini, ‘‘Automatic diagnosis of diabetic retinopathy from retinal
abnormalities: Improved Jaya-based feature selection and recurrent neural network,’’ Comput. J.,
vol. 65, no. 7, pp. 1904–1922, Jun. 10, 2021.
Accurate diagnosis of lesions bears the highest significance in the early detection of diabetic
retinopathy (DR). In this paper, the combination of intelligent methods is developed for
segmenting the abnormalities like ‘hard exudates, hemorrhages, microaneurysm and soft exudates’
to detect the DR. The proposed model involves seven main steps: (a) image pre-processing, (b)
optic disk removal (c) blood vessel removal, (d) segmentation of abnormalities, (e) feature
extraction, (f) optimal feature selection and (f) classification. The pre-processing of the input
retinal fundus image is performed by two operations like contrast enhancement by histogram
equalization and filtering by average filtering. For the segmentation of abnormalities, the same
Circular Hough Transform followed by Top-hat filtering and Gabor filtering is used. Next, the
entropy-scale-invariant feature transform (SIFT), grey level co-occurrence matrices and color
morphological features are extracted in feature extraction. The optimally selected features are
subjected to the classification part, which uses a modified deep learning algorithm called optimized
recurrent neural network (RNN). As the main novelty, the optimal feature selection and optimized
RNN depends on an improved meta-heuristic algorithm called fitness oriented improved Jaya
algorithm. Hence, the beneficial part of the optimization algorithm improves the feature selection
and classification.
Outcomes: Effective segmentation, accurate classification, enhanced diagnosis, improved
features, better outcomes.
[2] S. S. Athalye and G. Vijay, ‘‘Taylor series-based deep belief network for automatic
classification of diabetic retinopathy using retinal fundus images,’’ Int. J. Imag. Syst. Technol.,
vol. 32, no. 3, pp. 882–901, May 2022.
The diagnosis of diabetic retinopathy (DR) disease in the early stage is very important to reduce
the risk in DR treatment. Different methods are in practice for detecting the lesions automatically
with the retinal image. However, detecting the occurrence of exudates in the macular region poses
a challenging task in the computer-assisted diagnosis of DR. A robust and computationally
Domain: MATLAB
Technology: Artificial Intelligence
efficient model for localizing the lesions and features in the retinal fundus image is processed in
this research by proposing the Taylor-based deep belief network (T-based DBN) classifier.
Exudates and their contours are determined based on the blood vessel and optic disc segmentation
model. The microaneurysms are detected based on the wavelet model, and the lesions are
segmented with the thresholding and binarization approach. The proposed T-based DBN is highly
effective in classifying the DR, based on the multiple layers associated with the restricted
Boltzmann machines (RBM) and multi-layer perceptron (MLP) layer. The proposed T-based DBN
is the integration of the Taylor series with the DBN classifier. The proposed T-based DBN
produces an accurate detection rate and yields better theoretical error bounds. The performance
revealed by the proposed model is evaluated using the metrics, namely specificity, sensitivity, and
accuracy, with the values of 90.757%, 92.225%, and 92.122%, respectively.
Outcomes: T-based DBN classifier excels in detecting diabetic retinopathy with high accuracy.
algorithm called Modified Gear and Steering-based Rider Optimization Algorithm (MGS-ROA),
and the same algorithm updates the weight in DBN. Finally, the effectual performance and
comparative analysis prove the stable and reliable performance of the proposed model over
existing models. The performance of the proposed model is compared with the existing classifiers,
such as, NN, KNN, SVM, DBN and the conventional Heuristic-Based DBNs, such as PSO-DBN,
GWO-DBN, WOA-DBN, and ROA-DBN for the evaluation metrics, accuracy, sensitivity,
specificity, precision, FPR, FNR, NPV, FDR, F1 score, and MC. From the results, it is exposed
that the accuracy of the proposed MGS-ROA-DBN is 30.1% higher than NN, 32.2% higher than
KNN, and 17.1% higher than SVM and DBN. Similarly, the accuracy of the developed MGS-
ROA-DBN is 13.8% superior to PSO, 5.1% superior to GWO, 10.8% superior to WOA, and 2.5%
superior to ROA.
Outcomes: The MGS-ROA-DBN model improves DR detection accuracy, outperforming NN,
KNN, SVM, and DBN.
[4] P. R. R. Chandni, J. Justin, and R. Vanithamani, ‘‘Fundus image enhancement using EAL-
CLAHE technique,’’ Adv. Data Inf. Sci., vol. 318, pp. 613–624, Feb. 2022.
In the era of digitalized world, ophthalmic anomalies are one among the common diseases caused
by certain unhealthy practices or even hereditary to human beings of all ages. Traditionally, retinal
diagnostic techniques involve manual inspections made by healthcare professionals, to detect
changes present in the eye. But with time, the disease can produce drastic effects even loss of
vision when left unnoticed. So, while dealing with such retinal diagnostic applications, the quality
of images is utmost important to determine certain conclusions regarding the disease. Thus, the
quality of dataset needs to be standard, or the enhancement techniques deployed must provide
betterment for easy disease prediction process. The featured EAL-CLAHE method provides better
PSNR, SSIM and NIQE values in comparison with the traditional approaches. The proposed
method is effective in reducing non-uniform illumination while preserving its edges. Thus, the
implemented system can improve the traditional methodologies.
Outcomes: Using EAL-CLAHE: Improved image quality, higher PSNR, SSIM, NIQE, accurate
detection.
Domain: MATLAB
Technology: Artificial Intelligence
[5] Joshi, S., Partibane, B., Hatamleh, W. A., Tarazi, H., Yadav, C. S., & Krah, D. (2022).
Glaucoma detection using image processing and supervised learning for classification. Journal of
Healthcare Engineering, 2022, 1–12. https://doi.org/10.1155/2022/2988262
A difficult challenge in the realm of biomedical engineering is the detection of physiological
changes occurring inside the human body, which is a difficult undertaking. At the moment, these
irregularities are graded manually, which is very difficult, time-consuming, and tiresome due to
the many complexities associated with the methods involved in their identification. In order to
identify illnesses at an early stage, the use of computer-assisted diagnostics has acquired increased
attention as a result of the requirement of a disease detection system. The major goal of this
proposed work is to build a computer-aided design (CAD) system to help in the early identification
of glaucoma as well as the screening and treatment of the disease. The fundus camera is the most
affordable image analysis modality available, and it meets the financial needs of the general public.
The extraction of structural characteristics from the segmented optic disc and the segmented optic
cup may be used to characterize glaucoma and determine its severity. For this study, the primary
goal is to estimate the potential of the image analysis model for the early identification and
diagnosis of glaucoma, as well as for the evaluation of ocular disorders. The suggested CAD
system would aid the ophthalmologist in the diagnosis of ocular illnesses by providing a second
opinion as a judgment made by human specialists in a controlled environment. An ensemble-based
deep learning model for the identification and diagnosis of glaucoma is in its early stages now.
This method’s initial module is an ensemble-based deep learning model for glaucoma diagnosis,
which is the first of its kind ever developed. It was decided to use three pretrained convolutional
neural networks for the categorization of glaucoma. These networks included the residual network
(ResNet), the visual geometry group network (VGGNet), and the GoogLeNet. It was necessary to
use five different data sets in order to determine how well the proposed algorithm performed.
These data sets included the DRISHTI-GS, the Optic Nerve Segmentation Database (DRIONS-
DB), and the High-Resolution Fundus (HRF). Accuracy of 91.11% for the PSGIMSR data set and
the sensitivity of 85.55% and specificity of 95.20% for the suggested ensemble architecture on the
PSGIMSR data set were achieved. Similarly, accuracy rates of 95.63%, 98.67%, 95.64%, and
88.96% were achieved using the DRIONS-DB, HRF, DRISHTI-GS, and combined data sets,
respectively.
Domain: MATLAB
Technology: Artificial Intelligence
Outcomes: Efficient glaucoma detection and staging using image processing and supervised
learning.
[6] Monemian, M., & Rabbani, H. (2023). Exudate identification in retinal fundus images using
precise textural verifications. Scientific Reports, 13(1). https://doi.org/10.1038/s41598-023-
29916-y.
Enhancement of low-quality retinal fundus images is beneficial to clinical diagnosis
of ophthalmic diseases and computer-aided analysis. Enhancement accuracy is a challenge
for image generation models, especially when there is no supervision by paired images. To reduce
artifacts and retain structural consistency for accuracy improvement, we develop an
unpaired image generation method for fundus image enhancement with the proposed high-
frequency extractor and feature descriptor. Specifically, we summarize three causes of tiny vessel-
like artifacts which always appear in other image generation methods. A high frequency prior is
incorporated into our model to reduce artifacts by the proposed high-frequency extractor. In
addition, the feature descriptor is trained alternately with the generator using segmentation datasets
and generated image pairs to ensure the fidelity of the image structure. Pseudo-label loss is
proposed to improve the performance of the feature descriptor. Experimental results show that the
proposed method performs better than other methods both qualitatively and quantitatively. The
enhancement can improve the performance of segmentation and classification in retinal images.
Outcomes: Accurate exudate detection in retinal images through detailed texture analysis.
Domain: MATLAB
Technology: Artificial Intelligence
CHAPTER 3
EXISTING METHOD
Innovation is getting progressed step by step in pretty much every field. This work includes the
detection of Diabetic Retinopathy (DR). Diabetes happens when the pancreas neglects to emit
sufficient insulin, and gradually influences the retina of the natural eye. As it advances, the vision
of a patient begins deteriorating (depleting), prompting diabetic retinopathy. In such manner,
retinal pictures gained through fundal camera help in investigating the outcomes, nature, and status
of the impact of diabetes on the eye. The main aim of this study is Age-related Macular
Degeneration (AMD) through Local Binary Patterns (LBP) and further trial and error utilizing
Gray-Level Co-Occurrence Matrix (GLCM). For this reason, the presentation of Gray level Co-
Occurrence Matrix (GLCM) as a surface descriptor for retinal pictures has been investigated and
contrasted and different descriptors, for example, GLCM filtering (GLCMF) and local phase
quantization (LPQ). This will take to the of blood vessel highlights, for example, energy,
differentiation, correlation and homogeneity values. We involve SVM as a classifier to recognize
valid and bogus vessels. The conclusion of diabetic retinopathy depends on clinical eye assessment
and eye fundus imaging.
SVM Classifier:
Support vector machines (SVMs) are a set of supervised learning methods used
for classification, regression and outlier’s detection. However, primarily, it is used for
Classification problems in Machine Learning. An SVM model is basically a representation of
different classes in a hyper plane in multidimensional space. The hyper plane will be generated in
an iterative manner by SVM so that the error can be minimized. The goal of the SVM algorithm
is to create the best line or decision boundary that can segregate n-dimensional space into classes
so that we can easily put the new data point in the correct category in the future. This best decision
boundary is called a hyperplane.
Histogram of Oriented Gradients, also known as HOG, is a feature descriptor like the Canny
Edge Detector, SIFT (Scale Invariant and Feature Transform). It is used in computer vision and
image processing for the purpose of object detection.
Histogram of Oriented Gradients, also known as HOG, is a feature descriptor like the Canny Edge
Detector, SIFT (Scale Invariant and Feature Transform). It is used in computer vision and image
processing for the purpose of object detection. The technique counts occurrences of gradient
orientation in the localized portion of an image. This method is quite similar to Edge Orientation
Histograms and Scale Invariant a Feature Transformation (SIFT). The HOG descriptor focuses on
the structure or the shape of an object. It is better than any edge descriptor as it uses magnitude as
well as angle of the gradient to compute the features. For the regions of the image, it generates
histograms using the magnitude and orientations of the gradient.
Features are parts or patterns of an object in an image that help to identify it. For example — a
square has 4 corners and 4 edges, they can be called features of the square, and they help us humans
identify it’s a square. Features include properties like corners, edges, regions of interest points,
ridges, etc.
As shown in the image below the yellow points show the features detected using a technique called
Harris Detection.
Shi-Tomasi Corner Detector — The authors modified the scoring function used in Harris Corner
Detection to achieve a better corner detection technique
Scale-Invariant Feature Transform (SIFT) — This technique is scale invariant unlike the previous
two.
Speeded-Up Robust Features (SURF) — This is a faster version of SIFT as the name says.
Features from Accelerated Segment Test (FAST) — This is a much more faster corner detection
technique compared to SURF.
Binary Robust Independent Elementary Features (BRIEF) — This is only a feature descriptor that
can be used with any other feature detector. This technique reduces the memory usage by
converting descriptors in floating point numbers to binary strings.
Oriented FAST and Rotated BRIEF (ORB) — SIFT and SURF are patented and this algorithm
from OpenCV labs is a free alternative to them, that uses FAST key point detector and BRIEF
descriptor.
Introduction to SVM
Support vector machines (SVMs) are powerful yet flexible supervised machine learning
algorithms which are used both for classification and regression. But generally, they are used in
classification problems. In 1960s, SVMs were first introduced but later they got refined in 1990.
SVMs have their unique way of implementation as compared to other machine learning
algorithms. Lately, they are extremely popular because of their ability to handle multiple
continuous and categorical variables.
Support Vector Machine or SVM is one of the most popular Supervised Learning algorithms,
which is used for Classification as well as Regression problems. However, primarily, it is used for
Classification problems in Machine Learning. The goal of the SVM algorithm is to create the best
line or decision boundary that can segregate n-dimensional space into classes so that we can easily
put the new data point in the correct category in the future. This best decision boundary is called a
hyperplane.
Domain: MATLAB
Technology: Artificial Intelligence
SVM chooses the extreme points/vectors that help in creating the hyperplane. These extreme cases
are called as support vectors, and hence algorithm is termed as Support Vector Machine. Consider
the below diagram in which there are two different categories that are classified using a decision
boundary or hyperplane:
SVM can be understood with the example that we have used in the KNN classifier. Suppose we
see a strange cat that also has some features of dogs, so if we want a model that can accurately
identify whether it is a cat or dog, so such a model can be created by using the SVM algorithm.
We will first train our model with lots of images of cats and dogs so that it can learn about different
features of cats and dogs, and then we test it with this strange creature. So as support vector creates
a decision boundary between these two data (cat and dog) and choose extreme cases (support
vectors), it will see the extreme case of cat and dog. On the basis of the support vectors, it will
classify it as a cat.
Disadvantages:
• SVMs may struggle with very large datasets or high-dimensional data, as they can
become computationally expensive and time-consuming.
• SVM performance depends on good feature extraction; poor selection leads to errors.
• SVMs need careful adjustment of settings, which can be tricky and slow.
Domain: MATLAB
Technology: Artificial Intelligence
CHAPTER 4
PROPOSED METHOD
The methodology for this eye disease classification system in MATLAB integrates DenseNet and
Convolutional Neural Networks (CNNs) to automate the detection and staging of multiple eye
conditions. Initially, an image is input into the system, where the first step is to classify it as either
Diabetic Retinopathy (DR) or healthy. If DR is detected, the system proceeds to stage it into one
of four categories: Mild DR, Moderate DR, Severe DR, or Proliferative DR (PDR). The same
image is then assessed for Macular Edema, which is categorized as either present or healthy, with
further staging if Macular Edema is confirmed. Following this, the system analyzes the image for
Glaucoma, determining if the condition is present and, if detected, classifies it into the relevant
stages. Lastly, exudates are evaluated in the image, categorizing it as either containing exudates or
healthy, and if present, these exudates are classified into stages: Mild, Moderate, Severe, or PDR.
After processing, the data is sent to a ThingSpeak channel for real-time monitoring and
visualization, ensuring continuous tracking of the patient's condition. In addition, treatment options
and lifestyle recommendations, tailored to the detected conditions, are sent to the registered email
address. The system’s performance is measured using a variety of evaluation metrics, including
accuracy, sensitivity, specificity, PSNR, precision, recall, F1 score, Area Under the Curve (AUC),
and entropy, ensuring the robustness and reliability of the classification process. This methodology
provides an effective framework for automated eye disease detection and monitoring.
Domain: MATLAB
Technology: Artificial Intelligence
DenseNet Classifier
• Mild DR
• Moderate DR
• Severe DR
• Proliferative DR (PDR
Input Image
DenseNet Classifier
• Mild DR
• Moderate DR
• Severe DR
• Proliferative DR (PDR
Input Image
DenseNet Classifier
data send to Thing Speak
channel for real-time
monitoring and visualization. Healthy Glaucoma
• Mild DR
• Moderate DR
If possible, include treatment • Severe DR
options and lifestyle • Proliferative DR (PDR
recommendations, sending the
list to the registered email ID.
Input Image
DenseNet Classifier
the parameters: Accuracy,
sensitivity, specificity, PSNR, Healthy exudates
Precision, Recall, F1 score, Area
Under the Curve (AUC),
Convolution Neural Network
Entropy Display the Command
Window
• Mild DR
• Moderate DR
• Severe DR
• Proliferative DR (PDR
Domain: MATLAB
Technology: Artificial Intelligence
Input Image
Disease
Classification
Image Resize
Noise Removal
Enhance Contrast
Mayfly Optimization-
based Region Growing
(MFORG)
Binary map
Image Resize
In MATLAB, image resizing refers to the process of changing the dimensions of an image, either
by enlarging or reducing its width and height, while maintaining or altering its aspect ratio. This
technique is commonly applied in image processing tasks to standardize image sizes for further
analysis, such as in machine learning models where uniform input dimensions are required.
MATLAB provides a built-in function `imresize ()` to perform this operation. The function takes
an input image and allows resizing based on a specified scaling factor or desired dimensions.
Several interpolation methods are available in MATLAB to determine the pixel values during
Domain: MATLAB
Technology: Artificial Intelligence
intensity values to utilize the full dynamic range of the image. The `histeq` function applies
histogram equalization, which redistributes the intensity levels of the image so that the histogram
of the output image is approximately flat, improving the contrast, especially in low-contrast
images. The `adapthisteq` function performs contrast-limited adaptive histogram equalization
(CLAHE), which enhances the contrast of the image locally rather than globally, making it
particularly effective for images with non-uniform lighting or brightness variations. These contrast
enhancement techniques are commonly used in medical imaging, remote sensing, and object
recognition, where improving the visibility of key features can significantly impact the analysis
and interpretation of the image.
Mayfly Optimization-based Region Growing (MFORG):
The Mayfly Optimization-based Region Growing (MFORG) algorithm in MATLAB is a novel
approach for image segmentation, combining traditional region growing techniques with
optimization principles inspired by the behavior of mayflies. This algorithm enhances
segmentation accuracy by applying an adaptive thresholding method guided by mayfly-inspired
optimization. The `MFORG` function first processes the input image by converting it to the LAB
color space, applying Principal Component Analysis (PCA) for dimensionality reduction, and
enhancing contrast using adaptive histogram equalization (`adapthisteq`). A smoothing filter is
applied to the image using an average filter (`fspecial`), followed by subtracting the smoothed
image from the enhanced one to emphasize edges. Thresholding via `graythresh` is then employed
to convert the processed image into a binary mask, which is further refined using morphological
operations like `bwareaopen` to remove small objects, ensuring that only significant regions are
retained. Finally, the segmented regions are overlaid onto the original image in red for clear
visualization. The result is a precise segmentation of critical areas within the image, which can be
used for further analysis or classification tasks, particularly useful in medical imaging for detecting
regions of interest such as lesions or abnormalities. This method improves segmentation accuracy,
especially in complex images with varying intensities.
Morphological closing:
In MATLAB, morphological closing is a fundamental image processing operation used to smooth
the contours of objects, fill small holes, and connect disjointed structures in binary or grayscale
images. It is defined as a dilation operation followed by an erosion operation, both using the same
structuring element. The structuring element, typically a matrix of ones and zeros, defines the
Domain: MATLAB
Technology: Artificial Intelligence
neighborhood over which these morphological operations are applied. During dilation, the
structuring element expands the white (foreground) regions of the image, which helps to close
small gaps or cracks in the object. The subsequent erosion step then shrinks the foreground areas
but in a way that preserves the general shape of the enlarged regions, ensuring that any holes or
thin gaps that were bridged during dilation remain closed. In practice, morphological closing is
useful in applications such as object boundary smoothing, noise reduction, and feature
enhancement, particularly in tasks like edge detection and segmentation. MATLAB offers the
`imclose ()` function to perform closing on images, where users can specify the structuring element
and image to be processed. This operation is particularly valuable in medical image analysis, such
as in retina or blood vessel segmentation, where smoothing irregularities or filling gaps is
necessary for better object detection and classification.
Adaptive contrast enhancement:
Adaptive contrast enhancement is a powerful image processing technique used in MATLAB to
improve the visibility of features in images by adjusting the contrast based on local image
characteristics. Unlike global contrast enhancement methods that apply the same transformation
across the entire image, adaptive contrast enhancement evaluates local regions to enhance contrast
where it is needed most. This technique typically employs methods like Adaptive Histogram
Equalization (AHE) or its variant, Contrast Limited Adaptive Histogram Equalization (CLAHE).
AHE works by dividing the image into small blocks, or tiles, and applying histogram equalization
within each tile. This localized approach allows for better contrast enhancement in areas with poor
lighting while preventing over-amplification of noise. CLAHE, on the other hand, adds a limitation
to the amplification, ensuring that the contrast enhancement does not exceed a specified threshold,
thereby preserving image quality. This is particularly useful in medical imaging, such as fundus
photography for diabetic retinopathy detection, where subtle details are crucial. By effectively
utilizing adaptive contrast enhancement in MATLAB, users can significantly enhance the clarity
of images, making it easier to analyze and interpret critical features for various applications,
including medical diagnostics, remote sensing, and industrial inspection.
Gabor kernel-based filter:
A Gabor kernel-based filter is a powerful image processing tool used for feature extraction and
texture analysis in images, particularly in the fields of computer vision and image processing. It is
designed to capture spatial frequency information and orientation, making it effective for
Domain: MATLAB
Technology: Artificial Intelligence
identifying edges, textures, and patterns within an image. The Gabor filter is a linear filter defined
by a Gaussian envelope modulated by a sinusoidal wave, allowing it to respond selectively to
specific frequency and orientation components. In MATLAB, Gabor filters can be easily
implemented using built-in functions or custom code, enabling users to define parameters such as
the wavelength, orientation, and standard deviation of the Gaussian envelope. The resulting Gabor
filter outputs can highlight different image features depending on the chosen parameters,
facilitating tasks such as image segmentation, object recognition, and texture classification. In
practical applications, the Gabor filter can be employed for tasks like facial recognition, biometric
analysis, and medical image processing. By combining the results from multiple Gabor filters with
various orientations and scales, one can achieve a comprehensive analysis of the image's texture
and structure, providing valuable information for further image processing tasks or machine
learning applications.
threshold using OTSU algorithm:
In MATLAB, the OTSU algorithm is a widely used method for automatic image thresholding,
which facilitates the segmentation of grayscale images by finding an optimal threshold value that
minimizes intra-class variance. The algorithm operates on the principle of maximizing the variance
between two classes: the foreground (object) and the background. Initially, it computes a histogram
of the grayscale image, representing the distribution of pixel intensities. The algorithm then iterates
through all possible threshold values, calculating the weighted average of the two classes for each
threshold and determining their respective variances. By evaluating the class variance for each
potential threshold, OTSU identifies the threshold that results in the minimum combined variance
of the two classes, thus optimizing the separation of objects from the background. This process is
implemented in MATLAB using the `graythresh` function, which applies the OTSU method to a
given grayscale image and returns the optimal threshold. Once the threshold is obtained, it can be
applied to create a binary image using logical operations, where pixel values above the threshold
are set to one class (foreground), and those below are set to another class (background). The OTSU
algorithm is particularly effective in scenarios with bimodal histograms, providing reliable
segmentation results in various applications, including medical imaging, object recognition, and
image analysis.
DenseNet:
Domain: MATLAB
Technology: Artificial Intelligence
Convolutional neural networks (CNNs) have been at the forefront of visual object recognition.
From the pioneering LeNet to the widely used VGG and ResNets, the quest for deeper and more
efficient networks continues. A significant breakthrough in this evolution is the Densely
Connected Convolutional Network, or DenseNet, introduced by Gao Huang, Zhuang Liu, Laurens
van der Maaten, and Kilian Q. Weinberger. DenseNet’s novel architecture improves information
flow and gradient propagation, offering numerous advantages over traditional CNNs and ResNets.
What is DenseNet?
DenseNet, short for Dense Convolutional Network, is a deep learning architecture for
convolutional neural networks (CNNs) introduced by Gao Huang, Zhuang Liu, Laurens van der
Maaten, and Kilian Q. Weinberger in their paper titled “Densely Connected Convolutional
Networks” published in 2017. DenseNet revolutionized the field of computer vision by proposing
a novel connectivity pattern within CNNs, addressing challenges such as feature reuse, vanishing
gradients, and parameter efficiency. Unlike traditional CNN architectures where each layer is
connected only to subsequent layers, DenseNet establishes direct connections between all layers
within a block. This dense connectivity enables each layer to receive feature maps from all
preceding layers as inputs, fostering extensive information flow throughout the network.
layers, DenseNet ensures that each layer receives inputs from all preceding layers and passes its
output to all subsequent layers. This results in a network with L(L+1)/2 direct connections for L
layers, significantly enhancing information flow.
Dense Block
Dense blocks are the building blocks of DenseNet architectures. Each dense block consists of
multiple convolutional layers, typically followed by batch normalization and a non-linear
activation function (e.g., ReLU). Importantly, each layer within a dense block receives feature
maps from all preceding layers as inputs, facilitating feature reuse and propagation.
Within a dense block, each layer receives the concatenated output of all preceding layers as its
input. If a dense block has m layers, and each layer produces k feature maps (where k is known
as the growth rate), the l-th layer will have 𝑘×(𝑙+𝑙0)k×(l+l0) input feature maps (where 𝑙0l0 is
the number of input channels to the dense block).
Example of a Dense Block:
1. Layer 1: Receives input feature maps.
2. Layer 2: Receives input feature maps + output of Layer 1.
3. Layer 3: Receives input feature maps + output of Layer 1 + output of Layer 2.
This pattern continues for all layers within the block, ensuring a highly interconnected
architecture.
Transition Layer
Transition layers are used to connect dense blocks. They serve two main purposes: reducing the
number of feature maps and downsampling the spatial dimensions of the feature maps. This
helps in maintaining the computational efficiency and compactness of the network. A typical
transition layer consists of:
Domain: MATLAB
Technology: Artificial Intelligence
computational complexity and channel redundancy while facilitating efficient information flow
across different network depths.
Training Options:
Convolutional Neural Networks (CNNs) stand as a cornerstone in the realm of deep learning,
revolutionizing various fields, particularly computer vision, with their unparalleled ability to
comprehend and extract intricate patterns from visual data. In MATLAB, CNNs have garnered
significant attention due to their exceptional capacity to process complex image-based
information.
Domain: MATLAB
Technology: Artificial Intelligence
At its core, a CNN mimics the visual cortex's architecture, composed of multiple layers that
progressively learn and abstract hierarchical features from raw pixel inputs. This hierarchical
feature extraction enables CNNs to automatically detect essential details like edges, textures, and
shapes, making them highly adept at tasks such as image classification, object detection, and image
segmentation.
Within MATLAB's environment, constructing and training CNNs is remarkably accessible, aided
by the deep learning toolbox that provides pre-defined layers, training functions, and visualization
tools. The versatility of MATLAB further facilitates data preprocessing, augmentation, and
integration of custom architectures, empowering researchers and practitioners to tailor CNNs to
diverse applications. This introduction delves into the significance of Convolutional Neural
Networks in MATLAB, highlighting their role in pushing the boundaries of computer vision
capabilities. As the synergy between deep learning and MATLAB advances, CNNs continue to
fuel breakthroughs, influencing everything from medical diagnostics to autonomous vehicles,
underlining their profound impact on modern technological landscapes.
The network architecture can vary depending on the types and numbers of layers included. The
types and number of layers included depends on the particular application or data. For example,
classification networks typically have a softmax layer and a classification layer, whereas
regression networks must have a regression layer at the end of the network. A smaller network
with only one or two convolutional layers might be sufficient to learn on a small number of
grayscale image data. On the other hand, for more complex data with millions of colored images,
you might need a more complicated network with multiple convolutional and fully connected
layers.
Image Input Layer:
The Image Input Layer in MATLAB plays a pivotal role in seamlessly integrating image data into
various deep learning workflows. Serving as the entry point of the neural network architecture,
this layer facilitates the ingestion of image data with diverse dimensions and formats. It
accommodates the preprocessing and normalization steps necessary for model training, enabling
the network to efficiently learn essential features. Additionally, the Image Input Layer offers
flexibility in handling augmented datasets, contributing to improved model robustness. With its
user-friendly interface and compatibility with various neural network architectures, this layer
Domain: MATLAB
Technology: Artificial Intelligence
significantly simplifies the process of incorporating image data into MATLAB-based deep
learning pipelines.
Convolutional Layer:
A 2-D convolutional layer applies sliding convolutional filters to 2-D input. Create a 2-D
convolutional layer using convolution2dLayer. The convolutional layer consists of various
components.
• Filters and Stride
A convolutional layer consists of neurons that connect to subregions of the input images or the
outputs of the previous layer. The layer learns the features localized by these regions while
scanning through an image. When creating a layer using the convolution2dLayer function, you can
specify the size of these regions using the filter Size input argument.
For each region, the trainNetwork function computes a dot product of the weights and the input,
and then adds a bias term. A set of weights that is applied to a region in the image is called a filter.
The filter moves along the input image vertically and horizontally, repeating the same computation
for each region. In other words, the filter convolves the input. This image shows a 3-by-3 filter
scanning through the input. The lower map represents the input and the upper map represents the
output.
The step size with which the filter moves is called a stride. You can specify the step size with
the Stride name-value pair argument. The local regions that the neurons connect to can overlap
depending on the filterSize and 'Stride' values.
Domain: MATLAB
Technology: Artificial Intelligence
This image shows a 3-by-3 filter scanning through the input with a stride of 2. The lower map
represents the input and the upper map represents the output.
The number of weights in a filter is h * w * c, where h is the height, and w is the width of the filter,
respectively, and c is the number of channels in the input. For example, if the input is a color
image, the number of color channels is 3. The number of filters determines the number of channels
in the output of a convolutional layer. Specify the number of filters using the Num Filters argument
with the convolution2dLayer function.
• Dilated Convolution
A dilated convolution is a convolution in which the filters are expanded by spaces inserted between
the elements of the filter. Specify the dilation factor using the 'DilationFactor' property. Use dilated
convolutions to increase the receptive field (the area of the input which the layer can see) of the
layer without increasing the number of parameters or computation.
Domain: MATLAB
Technology: Artificial Intelligence
Dilated Convolution
The layer expands the filters by inserting zeros between each filter element. The dilation factor
determines the step size for sampling the input or equivalently the up-sampling factor of the filter.
It corresponds to an effective filter size of (Filter Size – 1). * Dilation Factor + 1. For example, a
3-by-3 filter with the dilation factor [2 2] is equivalent to a 5-by-5 filter with zeros between the
elements.
This image shows a 3-by-3 filter dilated by a factor of two scanning through the input. The lower
map represents the input and the upper map represents the output.
• Feature Maps
As a filter moves along the input, it uses the same set of weights and the same bias for the
convolution, forming a feature map. Each feature map is the result of a convolution using a
different set of weights and a different bias. Hence, the number of feature maps is equal to the
number of filters. The total number of parameters in a convolutional layer is ((h*w*c + 1) *Number
of Filters), where 1 is the bias.
• Padding
You can also apply padding to input image borders vertically and horizontally using
the 'Padding' name-value pair argument. Padding is values appended to the borders of the input
to increase its size. By adjusting the padding, you can control the output size of the layer.
This image shows a 3-by-3 filter scanning through the input with padding of size 1. The lower map
represents the input and the upper map represents the output.
Domain: MATLAB
Technology: Artificial Intelligence
Fig: Padding
• Output Size
The output height and width of a convolutional layer is (Input Size – ((Filter Size – 1) *Dilation
Factor + 1) + 2*Padding)/Stride + 1. This value must be an integer for the whole image to be fully
covered. If the combination of these options does not lead the image to be fully covered, the
software by default ignores the remaining part of the image along the right and bottom edges in
the convolution.
• Number of Neurons
The product of the output height and width gives the total number of neurons in a feature map,
say Map Size. The total number of neurons (output size) in a convolutional layer is Map
Size*Number of Filters.
For example, suppose that the input image is a 32-by-32-by-3 color image. For a convolutional
layer with eight filters and a filter size of 5-by-5, the number of weights per filter is 5 * 5 * 3 = 75,
and the total number of parameters in the layer is (75 + 1) * 8 = 608. If the stride is 2 in each
direction and padding of size 2 is specified, then each feature map is 16-by-16. This is because (32
– 5 + 2 * 2)/2 + 1 = 16.5, and some of the outermost padding to the right and bottom of the image
is discarded. Finally, the total number of neurons in the layer is 16 * 16 * 8 = 2048.
Usually, the results from these neurons pass through some form of nonlinearity, such as rectified
linear units (ReLU).
Domain: MATLAB
Technology: Artificial Intelligence
• Learning Parameters
You can adjust the learning rates and regularization options for the layer using name-value pair
arguments while defining the convolutional layer. If you choose not to specify these options,
then trainNetwork uses the global training options defined with the training Options function.
• Number of Layers
A convolutional neural network can consist of one or multiple convolutional layers. The number
of convolutional layers depends on the amount and complexity of the data.
Batch normalization layers normalize the activations and gradients propagating through a neural
network, making network training an easier optimization problem. To take full advantage of this
fact, you can try increasing the learning rate. Since the optimization problem is easier, the
parameter updates can be larger and the network can learn faster. You can also try reducing the L2
and dropout regularization. With batch normalization layers, the activations of a specific image
during training depend on which images happen to appear in the same mini-batch. To take full
advantage of this regularizing effect, try shuffling the training data before every training epoch.
To specify how often to shuffle the data during training, use the 'Shuffle' name-value pair argument
of training Options.
ReLU Layer
Create a ReLU layer using reluLayer. A ReLU layer performs a threshold operation to each
element of the input, where any value less than zero is set to zero. Convolutional and batch
Domain: MATLAB
Technology: Artificial Intelligence
normalization layers are usually followed by a nonlinear activation function such as a rectified
linear unit (ReLU), specified by a ReLU layer. A ReLU layer performs a threshold operation to
each element, where any input value less than zero is set to zero, that is,
The ReLU layer does not change the size of its input. There are other nonlinear activation layers
that perform different operations and can improve the network accuracy for some applications.
For a list of activation layers, see Activation Layers.
where K, α, and β are the hyperparameters in the normalization, and ss is the sum of squares of the
elements in the normalization window. You must specify the size of the normalization window
using the windowChannelSize argument of the crossChannelNormalizationLayer function. You
can also specify the hyperparameters using the Alpha, Beta, and K name-value pair arguments.
The previous normalization formula is slightly different than what is presented. You can obtain
the equivalent formula by multiplying the alpha value by the windowChannelSize.
Max and Average Pooling Layers
Domain: MATLAB
Technology: Artificial Intelligence
A 2-D max pooling layer performs downsampling by dividing the input into rectangular pooling
regions, then computing the maximum of each region. Create a max pooling layer using
maxPooling2dLayer. A 2-D average pooling layer performs downsampling by dividing the input
into rectangular pooling regions, then computing the average of each region. Create an average
pooling layer using averagePooling2dLayer. Pooling layers follow the convolutional layers for
down-sampling, hence, reducing the number of connections to the following layers. They do not
perform any learning themselves, but reduce the number of parameters to be learned in the
following layers. They also help reduce overfitting.
A max pooling layer returns the maximum values of rectangular regions of its input. The size of
the rectangular regions is determined by the poolSize argument of maxPoolingLayer. For example,
if poolSize is [2 3], then the layer returns the maximum value in regions of height 2 and width 3.
An average pooling layer outputs the average values of rectangular regions of its input. The size
of the rectangular regions is determined by the poolSize argument of averagePoolingLayer. For
example, if poolSize is [2 3], then the layer returns the average value of regions of height 2 and
width 3.
Pooling layers scan through the input horizontally and vertically in step sizes you can specify using
the 'Stride' name-value pair argument. If the pool size is smaller than or equal to the stride, then
the pooling regions do not overlap.
For nonoverlapping regions (Pool Size and Stride are equal), if the input to the pooling layer is n-
by-n, and the pooling region size is h-by-h, then the pooling layer down-samples the regions by h.
That is, the output of a max or average pooling layer for one channel of a convolutional layer is
n/h-by-n/h. For overlapping regions, the output of a pooling layer is (Input Size – Pool Size +
2*Padding)/Stride + 1.
Fully Connected Layer
Create a fully connected layer using fullyConnectedLayer. A fully connected layer multiplies the
input by a weight matrix and then adds a bias vector. The convolutional (and down-sampling)
layers are followed by one or more fully connected layers. As the name suggests, all neurons in a
fully connected layer connect to all the neurons in the previous layer. This layer combines all of
the features (local information) learned by the previous layers across the image to identify the
larger patterns. For classification problems, the last fully connected layer combines the features to
Domain: MATLAB
Technology: Artificial Intelligence
classify the images. This is the reason that the output Size argument of the last fully connected
layer of the network is equal to the number of classes of the data set. For regression problems, the
output size must be equal to the number of response variables.
You can also adjust the learning rate and the regularization parameters for this layer using the
related name-value pair arguments when creating the fully connected layer. If you choose not to
adjust them, then trainNetwork uses the global training parameters defined by the training Options
function. For details on global and layer training options.
Output Layers
Softmax and Classification Layers
A softmax layer applies a softmax function to the input. Create a softmax layer using SoftMax
Layer. A classification layer computes the cross-entropy loss for classification and weighted
classification tasks with mutually exclusive classes. Create a classification layer using
classificationLayer.
For classification problems, a softmax layer and then a classification layer usually follows the final
fully connected layer.
The output unit activation function is the softmax function:
Were,
The softmax function is the output unit activation function after the last fully connected layer for
multi-class classification problems:
Domain: MATLAB
Technology: Artificial Intelligence
Where, the conditional probability of the sample given class r, and P(cr) is the class prior
probability.
where N is the number of samples, K is the number of classes, wi is the weight for class i, tni is the
indicator that the nth sample belongs to the ith class, and yni is the output for sample n for class i,
which in this case, is the value from the softmax function. In other words, yni is the probability that
the network associates the nth input with class i.
The final step of the system involves two key actions: sending data to ThingSpeak for visualization
and dispatching a report via email to the patient.
1. Data Transmission to ThingSpeak: ThingSpeak is an IoT analytics platform that allows users to
visualize and analyze live data in real time. By sending the processed data to ThingSpeak, the
system enables continuous monitoring of the patient's condition. This platform provides visual
representations of the data, such as graphs and charts, making it easier for healthcare providers and
patients to understand the progression of diabetic retinopathy or macular edema over time. The
integration with ThingSpeak facilitates the collection of ongoing data, allowing for trend analysis
and timely interventions if necessary.
2. Email Report and Recommendations: Alongside data visualization, the system generates a
comprehensive report summarizing the patient's diagnosis, including the classification of diabetic
retinopathy stages and the presence of macular edema. This report is then sent to the patient’s
email, providing them with valuable information about their condition. Additionally, the system
suggests treatment options and lifestyle recommendations tailored to the patient’s specific needs,
encouraging proactive management of their health. This dual approach of visual data analysis and
personalized communication enhances patient engagement and supports informed decision-
making in their treatment journey.
Domain: MATLAB
Technology: Artificial Intelligence
Accuracy:
In MATLAB, "Accuracy" is a common performance metric used to evaluate the overall
effectiveness of a classification model, particularly in binary or multi-class classification tasks. It
measures the proportion of correctly classified samples over the total number of samples in the
dataset. To understand Accuracy, it's essential to know the concepts of True Positives (TP), False
Positives (FP), True Negatives (TN), and False Negatives (FN):
• True Positives (TP): The number of samples correctly classified as positive by the
classifier.
• False Positives (FP): The number of negative samples that were incorrectly classified as
positive by the classifier.
• True Negatives (TN): The number of samples correctly classified as negative by the
classifier.
• False Negatives (FN): The number of positive samples that were incorrectly classified as
negative by the classifier.
In other words, Accuracy is the ratio of the correctly classified samples (both positive and negative)
to the total number of samples in the dataset.
A high Accuracy value indicates that the classifier is performing well and correctly identifying the
majority of the samples. However, Accuracy alone may not be the best metric to evaluate the
model's performance, especially in imbalanced datasets where one class significantly outnumbers
the other. In such cases, a classifier can achieve high Accuracy by simply predicting the majority
class, even if it fails to correctly classify the minority class.
Thus, it is essential to consider other performance metrics such as Precision, Recall, F1-score, and
Area Under the Receiver Operating Characteristic Curve (AUC-ROC) when evaluating the
performance of a classification model. In MATLAB, you can compute Accuracy by first obtaining
the True Positive (TP), True Negative (TN), False Positive (FP), and False Negative (FN) values
Domain: MATLAB
Technology: Artificial Intelligence
from the confusion matrix of your classification model and then using the formula mentioned
above. Many machine learning toolboxes in MATLAB, such as Statistics and Machine Learning
Toolbox, provide functions to calculate Accuracy directly from the confusion matrix or as part of
the model evaluation process. Additionally, the 'accuracy_score' function from the 'Classification
Learner' app can also be used to compute Accuracy easily.
Domain: MATLAB
Technology: Artificial Intelligence
CHAPTER 5
ADVANTAGES AND APPLICATIONS
Advantages:
• Reduces the need for manual analysis, supporting faster clinical decision-making.
Applications:
• Diabetic Retinopathy Screening: Helps doctors detect diabetic retinopathy early for timely
treatment.
• Macular Edema Detection: Identifies and assesses macular edema from retinal images.
• Clinical Research: Assists in studying diabetic retinopathy progression and treatment
effectiveness.
• Patient Monitoring: Tracks patient conditions and treatments in real-time using
ThingSpeak.
• Educational Tool: Teaches medical professionals about retinal diseases and image analysis.
Domain: MATLAB
Technology: Artificial Intelligence
CHAPTER – 6
RESULTS
Mail: DR Report
Domain: MATLAB
Technology: Artificial Intelligence
Domain: MATLAB
Technology: Artificial Intelligence
CHAPTER 7
CONCLUSION
The integration with ThingSpeak enables real-time monitoring and visualization of the results,
while personalized treatment suggestions and lifestyle recommendations enhance the system's
usability. The performance of the model is rigorously validated using metrics such as accuracy,
sensitivity, specificity, precision, recall, F1 score, AUC, PSNR, and entropy, ensuring
robustness and reliability in detection and staging.
This automated system is a scalable, accessible solution for early diagnosis and monitoring of
eye diseases, reducing the burden on healthcare professionals and improving patient outcomes.
Its ability to streamline the diagnostic process and offer tailored recommendations makes it a
significant advancement in the field of ophthalmology and AI-driven healthcare.
Domain: MATLAB
Technology: Artificial Intelligence
REFERENCES
[1] L. Ravala and G. K. Rajini, ‘‘Automatic diagnosis of diabetic retinopathy from retinal
abnormalities: Improved Jaya-based feature selection and recurrent neural network,’’ Comput. J.,
vol. 65, no. 7, pp. 1904–1922, Jun. 10, 2021.
[2] S. S. Athalye and G. Vijay, ‘‘Taylor series-based deep belief network for automatic
classification of diabetic retinopathy using retinal fundus images,’’ Int. J. Imag. Syst. Technol.,
vol. 32, no. 3, pp. 882–901, May 2022.
[3] A. S. Jadhav, P. B. Patil, and S. Biradar, ‘‘Optimal feature selection-based diabetic retinopathy
detection using improved rider optimization algorithm enabled with deep learning,’’ Evol. Intell.,
vol. 14, no. 4, pp. 1431–1448, Dec. 2021.
[4] P. R. R. Chandni, J. Justin, and R. Vanithamani, ‘‘Fundus image enhancement using EAL-
CLAHE technique,’’ Adv. Data Inf. Sci., vol. 318, pp. 613–624, Feb. 2022.
[5] Joshi, S., Partibane, B., Hatamleh, W. A., Tarazi, H., Yadav, C. S., & Krah, D. (2022).
Glaucoma detection using image processing and supervised learning for classification. Journal of
Healthcare Engineering, 2022, 1–12. https://doi.org/10.1155/2022/2988262
[6] Monemian, M., & Rabbani, H. (2023). Exudate identification in retinal fundus images using
precise textural verifications. Scientific Reports, 13(1). https://doi.org/10.1038/s41598-023-
29916-y
Domain: MATLAB
Technology: Artificial Intelligence
BIBLIOGRAPHY
Introduction To Matlab
What Is MATLAB?
The name MATLAB stands for Matrix Laboratory. The software is built up around vectors
and matrices. This makes the software particularly useful for linear algebra but MATLAB is
also a great tool for solving algebraic and differential equations and for numerical integration.
MATLAB has powerful graphic tools and can produce nice pictures in both 2D and 3D. It is
also a programming language, and is one of the easiest programming languages for writing
mathematical programs. These factors make MATLAB an excellent tool for teaching and
research.
MATLAB was written originally to provide easy access to matrix software developed by the
LINPACK (linear system package) and EISPACK (Eigen system package) projects. It
integrates computation, visualization, and programming environment. Furthermore, MATLAB
is a modern programming language environment: it has sophisticated data structures, contains
built-in editing and debugging tools, and supports object-oriented programming. MATLAB
has many advantages compared to conventional computer languages (e.g., C, FORTRAN) for
solving technical problems.
MATLAB abilities a family of add-on software program utility software application software
program software utility software-unique solutions called toolboxes. Very essential to
maximum customers of MATLAB, toolboxes assist you to studies and observe specialized
technology. Toolboxes are entire collections of MATLAB abilities (M-files) that increase the
MATLAB surroundings to remedy precise schooling of problems. Areas in which toolboxes
are to be had embody signal processing, manipulate systems, neural networks, fuzzy correct
judgment, wavelets, simulation, and hundreds of others.
Domain: MATLAB
Technology: Artificial Intelligence
It has powerful built-in routines that enable a very wide variety of computations. It also has
easy to use graphics commands that make the visualization of results immediately available.
Specific applications are collected in packages referred to as toolbox. There are toolboxes for
signal processing, symbolic computation, control theory, simulation, optimization, and several
other fields of applied science and engineering. MATLAB is an interactive system whose basic
data element is an array that does not require dimensioning. The software package has been
commercially available since 1984 and is now considered as a standard tool at most universities
and industries worldwide.
Cleve Moler, the chairman of the computer science department at the University of New
Mexico, started developing MATLAB in the late 1970s. The first MATLAB® was not a
programming language; it was a simple interactive matrix calculator. There were no programs,
no toolboxes, no graphics and no ODEs or FFTs. He designed it to give his student’s access
to LINPACK and EISPACK without them having to learn FORTRAN. It soon spread to other
universities and found a strong audience within the applied mathematics community. The
mathematical basis for the first version of MATLAB was a series of research papers by J. H.
Wilkinson and 18 of his colleagues, published between 1965 and 1970 and later collected
in Handbook for Automatic Computation, Volume II, Linear Algebra, edited by Wilkinson and
C. Reinsch. These papers present algorithms, implemented in Algol 60, for solving matrix
linear equation and Eigen value problems.
In the 1970s and early 1980s, I was teaching Linear Algebra and Numerical Analysis at the
University of New Mexico and wanted my students to have easy access to LINPACK and
EISPACK without writing FORTRAN programs. By “easy access,” I meant not going through
the remote batch processing and the repeated edit-compile-link-load-execute process that was
ordinarily required on the campus central mainframe computer. Jack little, an engineer, was
exposed to it during a visit Moler made to Stanford University in 1983. Recognizing its
commercial potential, he joined with Moler and Steve Bangert. They rewrote MATLAB
in C and founded Math Works in 1984 to continue its development. These rewritten libraries
Domain: MATLAB
Technology: Artificial Intelligence
were known as JACKPAC. In 2000, MATLAB was rewritten to use a newer set of libraries
for matrix manipulation, LAPACK. MATLAB was first adopted by researchers and
practitioners in control engineering, little’s specialty, but quickly spread to many other
domains. It is now also used in education, in particular the teaching of linear
algebra and numerical analysis, and is popular amongst scientists involved in video
processing.
In 1970, a group of researchers at Argonne National Laboratory proposed to the U.S. National
Science Foundation (NSF) to “explore the methodology, costs, and resources required to
produce, test, and disseminate high-quality mathematical software and to test, certify,
disseminate, and support packages of mathematical software in certain problem areas.” The
group developed EISPACK (Matrix Eigen system Package) by translating the Algol
procedures for Eigen value problems in the handbook into FORTRAN and working
extensively on testing and portability. The first version of EISPACK was released in 1971 and
the second in 1976.
In 1975, four of us Jack Dongarra, Pete Stewart, Jim Bunch, and myself proposed to the NSF
another research project that would investigate methods for the development of mathematical
software. A byproduct would be the software itself, dubbed LINPACK, for Linear Equation
Package. This project was also centered at Argonne. LINPACK originated in FORTRAN; it
did not involve translation from Algol. The package contained 44 subroutines in each of four
numeric precisions. In a sense, the LINPACK and EISPACK projects were failures. We had
proposed research projects to the NSF to “explore the methodology, costs, and resources
required to produce, test, and disseminate high-quality mathematical software.” We never
wrote a report or paper addressing those objectives. We only produced software.
So, I studied Niklaus Wirth’s book Algorithms + Data Structures = Programs and learned how
to parse programming languages. I wrote the first MATLAB an acronym for Matrix Laboratory
in FORTRAN, with matrix as the only data type. The project was a kind of hobby, a new aspect
of programming for me to learn and something for my students to use. There was never any
Domain: MATLAB
Technology: Artificial Intelligence
formal outside support, and certainly no business plan. This first MATLAB was just an
interactive matrix calculator. This snapshot of the start-up screen shows all the reserved words
and functions. There are only 71. To add another function, you had to get the source code from
me, write a FORTRAN subroutine, add your function name to the parse table, and recompile
MATLAB.
Starting MATLAB:
After logging into your account, you can enter MATLAB by double-clicking on the MATLAB
shortcut icon (MATLAB 7.0.4) on your Windows desktop. When you start MATLAB, a
special window called the MATLAB desktop appears. The desktop is a window that contains
other windows. The major tools within or accessible from the desktop are:
• The Command Window
• The Command History
• The Workspace
• The Current Directory
• The Help Browser
Current Folder: This panel allows you to access the project folders and files.
Command Window: This is the main area where commands can be entered at the command
line. It is indicated by the command prompt (>>).
Domain: MATLAB
Technology: Artificial Intelligence
Workspace: The workspace shows all the variables created and/or imported from files.
Command History: This panel shows or return commands that are entered at the command
line.
Help Browser:
Domain: MATLAB
Technology: Artificial Intelligence
The critical way to get assist online is to use the MATLAB help browser, opened as a separate
window every through clicking at the question mark photograph (?) on the computing tool
toolbar, or through manner of typing assist browser on the spark off in the command window.
The assist Browser is an internet browser blanketed into the MATLAB computing tool that
shows a Hypertext Markup Language (HTML) file. The Help Browser consists of panes, the
help navigator pane, used to find out information, and the show pane, used to view the
information. Self-explanatory tabs apart from navigator pane are used to performs are
searching out.
MATLAB language:
This is a high-level matrix/array language with control flow statements, functions, data
structures, input/output, and object-oriented programming features. It allows both
"programming in the small" to rapidly create quick and dirty throw-away programs, and
"programming in the large" to create complete large and complex application programs.
MATLAB DESKTOP:
MATLAB Desktop is the precept MATLAB utility window. The computing tool includes five
sub home windows, the command window, the workspace browser, the modern-day-day list
window, the command records window, and one or greater decide domestic windows, which
is probably confirmed high-quality on the identical time due to the truth the client suggests a
photo. The command window is in which the character types MATLAB instructions and
expressions at the spark off (>>) and in which the output of these commands is displayed.
MATLAB defines the workspace because the set of variables that the client creates in a bit
consultation. The workspace browser suggests those variables and some facts about them.
Double clicking on a variable within the workspace browser launches the Array Editor, which
may be used to gain statistics and profits instances edit exceptional homes of the variable.
The modern-day-day-day Directory tab above the workspace tab suggests the contents of the
cutting-edge list, whose path is shown inside the modern-day list window. For example, in the
home windows on foot machine the path is probably as follows: C: MATLAB Work, indicating
that listing “artwork” is a subdirectory of the number one list “MATLAB”; WHICH IS
INSTALLED IN DRIVE C. Clicking on the arrow within the modern list window suggests a
listing of these days used paths. Clicking at the button to the right of the window permits the
individual to trade the present-day listing. MATLAB uses a seeking out path to find out M-
documents and one-of-a-type MATLAB associated documents, which can be put together in
directories within the computer document tool. Any report run in MATLAB need to be
dwelling in the modern-day-day listing or in a list that is on is looking for course. By default,
the documents supplied with MATLAB and math works toolboxes are included inside the
searching out direction. The first-rate manner to look which directories are on the searching
out route. The satisfactory manner to appearance which directories are speedy the quest route,
or to characteristic or regulate a searching for course, is to pick out outset path from the File
menu the computing device, and then use the set course talk discipline. It is proper exercise to
feature any generally used directories to the hunt route to avoid again and again having the
exchange the cutting-edge-day listing.
Domain: MATLAB
Technology: Artificial Intelligence
The Command History Window contains a file of the instructions a person has entered in the
command window, together with every contemporary-day and former MATLAB periods.
Previously entered MATLAB instructions can be determined on and re-completed from the
command statistics window thru proper clicking on a command or series of commands. This
movement launches a menu from which to select numerous options similarly to executing the
commands. This is useful to select out abilities options in addition to executing the instructions.
This is a beneficial feature at the equal time as experimenting with numerous commands in a
piece session.
Using the MATLAB Editor to create M-Files:
The MATLAB editorial manager is a literary substance proofreader particular for growing M-
facts and a graphical MATLAB debugger. The supervisor can seem in a window through
command facts technique for itself, or it is probably a right-clicking inside the PC. M-
information this gadget signified through the use of the expansion .M, as in pixel up.M. The
MATLAB editorial supervisor window has a few draws down menus for obligations
collectively with sparing, seeing, and troubleshooting facts. Since it plays more than one easy
test and furthermore affects utilization of shade to separate among exclusive variables of code,
this article editorial supervisor is often supported due to reality the system of a need for
composing and altering M-talents. To open the manager, type at enact opens the M-document
filename. M in a supervisor window, sorted out for enhancing. As stated earlier than, the file
should be inside the cutting-edge posting, or in a posting in the seeking out direction.
Features of MATLAB:
• It provides built-in graphics for visualizing data and tools for creating custom plots.
• MATLAB's programming interface gives development tools for improving code
quality maintainability and maximizing performance.
• It provides tools for building applications with custom graphical interfaces.
• It provides functions for integrating MATLAB based algorithms with external
applications and languages such as C, Java, .NET and Microsoft Excel.
Uses of MATLAB:
Applications of MATLAB:
MATLAB can be used as a tool for simulating various electrical networks but the recent
developments in MATLAB make it a very competitive tool for Artificial Intelligence, Robotics,
Video processing, Wireless communication, Machine learning, Data analytics and whatnot.
Though it’s mostly used by circuit branches and mechanical in the engineering domain to solve a
basic set of problems its application is vast. It is a tool that enables computation, programming and
graphically visualizing the results. The basic data element of MATLAB as the name suggests is
the Matrix or an array. MATLAB toolboxes are professionally built and enable you to turn your
imaginations into reality. MATLAB programming is quite similar to C programming and just
requires a little brush up of your basic programming skills to start working with.
• Curve fitting
The curve fitting toolbox helps to analyze the pattern of occurrence of data. After a particular
trend which can be a curve or surface is obtained, its future trends can be predicted. Further
plotting, calculating integrals, derivatives, interpolation, etc. can be done.
• Control systems
Systems nature can be obtained. Factors such as closed-loop, open-loop, its controllability and
observability, Bode plot, NY Quist plot, etc. can be obtained. Various controlling techniques
such as PD, PI and PID can be visualized. Analysis can be done in the time domain or
frequency domain.
Domain: MATLAB
Technology: Artificial Intelligence
• Signal Processing
Signals and systems and digital signal processing are taught in various engineering streams.
But MATLAB provides the opportunity for proper visualization of this. Various transforms
such as Laplace, Z, etc. can be done on any given signal. Theorems can be validated. Analysis
can be done in the time domain or frequency domain. There are multiple built-in functions that
can be used.
• Mapping
Mapping has multiple applications in various domains. For example, in Big Data, the Map
Reduce tool is quite important which has multiple applications in the real world. Theft analysis
or financial fraud detection, regression models, contingency analysis, predicting techniques in
social media, data monitoring, etc. can be done by data mapping.
• Deep learning
It’s a subclass of machine learning which can be used for speech recognition, financial fraud
detection, and medical video analysis. Tools such as time-series, Artificial neural network
(ANN), Fuzzy logic or combination of such tools can be employed.
• Financial analysis
An entrepreneur before starting any endeavor needs to do a proper survey and the financial
analysis in order to plan the course of action. The tools needed for this are all available in
MATLAB. Elements such as profitability, solvency, liquidity, and stability can be identified.
Business valuation, capital budgeting, cost of capital, etc. can be evaluated.
• Video processing
The most common application that we observe almost every day are bar code scanners, selfie
(face beauty, blurring the background, face detection), video enhancement, etc. The digital
video processing also plays quite an important role in transmitting data from far off satellites
and receiving and decoding it in the same way. Algorithms to support all such applications are
available.
Domain: MATLAB
Technology: Artificial Intelligence
• Text analysis
Based on the text, sentiment analysis can be done. Google gives millions of search results for
any text entered within a few milliseconds. All this is possible because of text analysis.
Handwriting comparison in forensics can be done. No limit to the application and just one
software which can do this all.
• Aerospace
This toolbox in MATLAB is used for analyzing the navigation and to visualize flight simulator.
• Audio toolbox
Provides tools for audio processing, speech analysis, and acoustic measurement. It also
provides algorithms for audio and speech feature extraction and audio signal transformation.
Domain: MATLAB
Technology: Artificial Intelligence
Digital Image Processing means processing digital image by means of a digital computer.
We can also say that it is a use of computer algorithms, in order to get enhanced image either
to extract some useful information.
Image:
An image is defined as a two-dimensional function, F(x, y), where x and y are spatial
coordinates, and the amplitude of F at any pair of coordinates (x, y) is called the intensity of
that image at that point. When x, y, and amplitude values of F are finite, we call it a digital
image. In other words, an image can be defined by a two-dimensional array specifically
arranged in rows and columns. Image is composed of a finite number of elements, each of
which elements have a particular value at a particular location. These elements are referred to
as picture elements, image elements, and pixels.
A Pixel is most widely used to denote the elements of an Image. To be processed digitally,
it has to be sampled and transformed into a matrix of numbers. Since a computer represents
the numbers using finite precision, these numbers have to be quantized to be represented
digitally. Digital image processing consists of the manipulation of those finite precision
numbers. The processing of digital images can be divided into several classes: image
enhancement, image restoration, image analysis, and image compression.
How a digital image is formed?
Since capturing an image from a camera is a physical process. The sunlight is used as a source
of energy. A sensor array is used for the acquisition of the image. So, when the sunlight falls
upon the object, then the amount of light reflected by that object is sensed by the sensors, and
a continuous voltage signal is generated by the amount of sensed data. In order to create a
digital image, we need to convert this data into a digital form. This involves sampling and
quantization. (They are discussed later on). The result of sampling and quantization results in
a two-dimensional array or matrix of numbers which are nothing but a digital image.
Domain: MATLAB
Technology: Artificial Intelligence
An image can be portrayed as a - dimensional trademark f(x, y), in which x and y are spatial
directions, and the sufficiency of any combine of instructions (x, y) is known as the pressure
or darkish degree of the image at that inconvenience. Whenever x, y and the abundance
estimations off are on the entire confined discrete quantities, we call the picture a virtual photo.
The district of DIP alludes to getting ready computerized photo through strategies for to
method for MATLAB. Manner of the use of advanced pc. Computerized image incorporates
of a confined form of things, every one in every of which has a chosen location and fee. The
components are alluded to as pixels.
Vision is the maximum innovative of our sensor, so it isn't sudden that photograph play the
unmarried greatest important component in human conviction. Nonetheless, in appraisal to
humans, who are controlled to the visible band of the EM variety imaging machines cover
nearly the complete EM range, starting from gamma to radio waves. They can highlight also
on previews created with the valuable useful manual of benefits that people aren't conscious
of accomplice with airship picture. There isn't commonly any present settlement among
creators concerning in which photo managing stops and specific associated districts nearby
aspect photo evaluation& workstation imaginative and prescient start.
In a few instances a difference is made through the use of characterizing picture handling
as an area wherein each the information and yield at a way are snap shots. This is constraining
and predominantly manufactured restriction. The district of image investigation (photograph
getting to know) is in amongst photograph getting ready and PC imaginative and insightful.
There aren't any easy restrictions in the continuum from picture preparing at one prevent to
complete ingenious and sensible on the inverse. In any case, one precious worldview is to revel
in as a primary challenge three types of automatic procedures in this continuum: low-, mid-,
and radical affirmation methodologies. Low-certificate way includes crude obligations which
Domain: MATLAB
Technology: Artificial Intelligence
incorporates image preparing to reduce clamor, appraisal improvement and photo cleansing.
A low-certificates approach is described through the way that very it inputs and yields are
previews.
• Acquisition:
It could be as simple as being given an image which is in digital form. The main work
involves: a) Scaling b) Color conversion (RGB to Gray or vice-versa).
• Image enhancement:
It is amongst the simplest and most appealing in areas of Image Processing it is also used
to extract some hidden details from an image and is subjective.
• Image restoration:
It also deals with appealing of an image but it is objective (Restoration is based on
mathematical or probabilistic model or image degradation).
It deals with pseudo color and full color image processing color models are applicable to
digital image processing.
• Image compression:
It involves in developing some functions to perform this operation. It mainly deals with
image size or resolution.
• Morphological processing:
It deals with tools for extracting image components that are useful in the representation &
description of shape.
• Segmentation:
Domain: MATLAB
Technology: Artificial Intelligence
It follows output of segmentation stage, choosing a representation is only the part of solution
for transforming raw data into processed data.
Color image:
It may be spoken to with the aid of techniques for manner of three capacities, R (xylem) for
purple, G (xylem) for inexperienced and B (xylem)for blue. An image may be nonstop with
renowned to the x and y arranges and moreover in sufficiency. Changing over this type of
picture to digital form requires that the guidelines in addition to the adequacy to be digitized.
Digitizing the set up's qualities is called analyzing. Digitizing the abundancy esteems is known
as quantization.
Grayscale image: ƒ
The image has 8 bits and 256 tons of grey; 1 = black and 255 = white. ƒ Requires 8 times more
saving space than a line-art image. Suitable for presenting black and white photographs, for
instance. Can be used in printing office.
Domain: MATLAB
Technology: Artificial Intelligence
Image Types:
1. Intensity of pixels;
2. Twofold images;
3. Filed images;
4. R G B images.
Most monochrome image making ready sports are finished utilizing parallel or force pix, so
our underlying highlight is on this image composes. Filed and RGB shading images.
Intensity Images:
A profundity picture is a measurement lattice whose traits were scaled to talk to goals. At the
point while the components of a profundity photo are of class unit8, or elegance unit sixteen,
they have complete quantity traits in the collection [0,255] and [0, 65535], for my part. On the
off danger that the picture is of class twofold, the qualities are skimming phase numbers.
Estimations of scaled, twofold pressure images are within the assortment [0, 1] by means of
methods for subculture.
Binary Images:
B=logical (A)
In the event that A contains of elements separated from 0s and 1s. Use of the intelligent
capability changes over all nonzero segments to sensible 1s and all sections with rate 0 to
coherent 0s. Utilizing social and valid administrators further makes clever well-known shows.
To take a look at if a cluster is coherent, we make use of the I practical trademark: is logical(c).
Domain: MATLAB
Technology: Artificial Intelligence
In the occasion that c is a coherent show off, this trademark restores a 1. Otherwise returns a
zero. Consistent cluster is probably modified over to numeric reveals the utilization of the
statistics style transformation presents.
Indexed Images:
Framework define a m*3 kind of magnificence twofold containing skimming trouble esteems
within the assortment [0, 1]. The duration m of the guide is identical to the huge sort of shades
it characterizes. Each line of manual suggests the blood pink, green and blue brought materials
of a solitary shading. Recorded pix make utilization of "coordinate mapping" of pixel
electricity esteems shading map esteems. The tinge of every pixel is resolved through way of
using the relating rate the whole range grid x as a pointer in to delineate. On the off danger that
x is of modernity twofold, at that factor the majority of its segments with values masses
substantially less than or indistinguishable to no less than one difficulty to the crucial column
in delineate, brought materials with fee 2 thing to the second line et cetera. In the event that x
is of complexity devices or unit 16, at that factor all delivered substances fee zero thing to the
important line in outline, introduced materials with charge 1 aspect to the second et cetera.
RGB Image:
A RGB shading photograph is a M*N*three exhibit of tinge pixels wherein each coloration
pixel is triplet much like the purple, inexperienced and blue brought materials of a RGB image,
at a particular spatial area. A RGB image is probably considered as "stack" of three dim scale
pics that after advocated in to the darkish pink, green and blue contributions of a tinge display
screen. Deliver a shading picture at the show. Tradition the three previews shaping a RGB
color image are alluded to as the red, unpracticed and blue brought substances pictures. The
information fashion of the brought materials images comes to a decision their form of qualities.
On the off hazard that a RGB image is of modernity twofold the type of traits is [0, 1].
Correspondingly the sort of characteristics is [0,255] or [0, 65535]. For RGB pics of modernity
gadgets or unit sixteen individually. The form of bits uses to speaks to the pixel estimations of
the aspect pictures makes a decision the bit profundity of a RGB photo. For instance, if every
aspect image is a 8bit picture, the evaluating RGB photo is expressed to be 24 bits profound.
Domain: MATLAB
Technology: Artificial Intelligence
For the most part, the collection of bits in all inconvenience snap shots is the indistinguishable.
For this case the type of feasible shading in a RGB photograph is (2^b) ^three, in which in b
is numerous bits in the entirety about. For the 8bit case the amount is 16,777,216 colorations.
Some of the major fields in which digital image processing is widely used are mentioned
below.
• Medical field
• Remote sensing
• Transmission and encoding
• Machine/Robot vision
Domain: MATLAB
Technology: Artificial Intelligence
• Color processing
• Pattern recognition
• Video processing
• Microscopic Imaging