WebRTC and SIP not just audio and video @ OpenSIPS 2024
Convolutional Neural Network (CNN)of Deep Learning
1. Convolutional Neural Network (CNN)
KIRKUK UNIVERSITY COLLEGE OF COMPUTER SCIENCE &
INFORMATION TECHNOLOGY PERPETRATE
BY: ALI H. AHMED
SUPERVISOR
DR. IDRESS HUSIEN
16 APRIL 2024
2. Outline
What is CNN.
Why do we use CNNs instead of traditional neural networks.
Basic structure of CNN
Input Layer
Convolution Layer
Pooling (Subsampling) Layers
Fully Connected Layers (Dense Layers)
Output layer
Applications of CNN
Conclusion
References
2
3. What is CNN
• 1980: Fukushima Kunihiko publishes a paper describing a
prototype CNN.
• Is supervised learning and type of Deep Learning a family of
milt-layer neural network architecture commonly used in
Computer Vision.
• use three-dimensional data to for image classification and object
recognition tasks.
• leveraging principles from linear algebra, specifically matrix
multiplication, to identify patterns within an image
• The architecture of a (CNN) is analogous to that of the
connectivity pattern of Neurons in the Human Brain and was
inspired by the organization of the Visual Cortex
3
4. Why do we use CNNs instead of traditional neural networks
Properties CNNs Traditional neural networks
Feature extraction
Automatically extracts features from data
during training
Requires entry of predefined manual
features
Working with 3D data
Designed to process images and videos
effectively
May be inefficient in handling 3D
data
Specific navigation
It uses pooling layers to reduce dimensionality
of distinct data
You may not use pooling layers,
which makes them more susceptible
to small changes in the location of
objects
Ability to deal with big
data
Able to effectively improve its performance
with big data
May be inefficient with relatively
large data
Hierarchical
representation of features
It can extract features hierarchically from data
You may have difficulty representing
features hierarchically
4
6. Input Layer
When we enter an image, what the computer
sees is a matrix of pixel values. Depending on
the resolution and size of the image, the
computer will see different matrices, such as a
32 x 32 x 3 matrix (3 refers to RGB values).
Each digit in the matrix has a value from 0 to
255, which describes the pixel's gray level at
that point.
6
7. Convolution Layer
7
is the core of convolutional neural networks (CNNs) and is
the basic element for building them
process:
• Filters (Kernels): The convolution process begins by
applying filters to the image.
• Image scanning: The filter slides across the image,
performing a raster multiplication operation with a
selected area of the image.
• Feature Maps: Convolution of the entire input data with
a single filter produces a feature map. Each feature map
highlights the presence of a specific property that the
filter is designed to detect.
• Multiple filters: A convolution layer can contain
multiple filters, each of which produces its own feature
map.
8. Filters (Kernels)
8
They are essential components of convolutional neural networks (CNNs) and play a pivotal role in
extracting features from data
Example of convolution filters:
• Edge detection filters: Used to detect edges in
images.
• Sobel filters: A special type of edge detection
filter used to determine the direction of edges.
• Prewitt filters: Similar to Sobel filters, but
sometimes used to reduce noise in images.
• Laplacian filters: Used to detect sudden
changes in pixel values.
• Gaussian filters: used to reduce noise in
images.
• Gabor filters: Used to detect specific patterns
in images, such as texture and texture.
9. Feature Maps
9
It is the process of passing the filter over the input image and rasterizing it to extract the features
𝑖𝑛𝑝𝑢𝑡3∗3
1 2 3
4 5 6
7 8 9
* filter2∗2
−1 1
−1 1
=Feature Maps
2 −2
2 −2
Dimensions
Input (x,y) * filter (u,v)=Feature Maps (x-u+1,y-v+1)
(3,3) *(2,2) = (3-2+1,3-2+1)
=(2,2)
(1×−1)+(2×1)
(4×−1)+(5×1)
=(−1)+(2)+(−4)+(5)
=2
10. Pooling (Subsampling) Layers
10
These layers are used to reduce the spatial
dimensions of incoming data while retaining the
most important information. It helps in reducing the
complexity of the neural network and controlling
redundant separations.and characterized by
parameters such as the size of the pooling window
(usually 2x2 or 3x3)
There are two main types of pooling layers
1. Max Pooling
2. Average Pooling
11. Fully Connected Layers (Dense Layers)
In these layers, each node (neuron) from the previous layer
is connected to all nodes in the current layer.
A linear transformation is applied to the input vector using
the weights matrix.
A nonlinear transform (activation function) is applied to the
product using a nonlinear function such as ReLU or
Sigmoid.
These layers are used to learn nonlinear relationships
between features.
They are usually used at the end of a neural network to
generate the final results.
11
12. Output layer
It is the last layer in the network that produces
final predictions or classifications based on
information extracted from previous layers. The
function of this layer depends on the type of task
being performed by the network
Output layer function:
Classification
Object Detection
Activation Functions: softmax
Training and Optimization
12
13. Image classification applications of CNN
13
1) Object recognition:
Identify objects in images (example:
animals, people, cars, brands)
2) Semantic classification of images:
identifying the type of image (e.g.
landscapes, portraits, sports images))
3) Verifying people's identity:
Identify people in photos
14. Image Processing applications of CNN
14
1) Noise removal: Improve
image quality by
removing unwanted noise
2) Enhance images: Change
image brightness, contrast,
saturation, and sharpness
3) Resize Images: Resize the
image without losing details
15. Video processing applications of CNN
15
1) Video classification:
Select the video type
(example: news, movies,
sports)
2)Video Summarization:
Create a short summary of a
long video
3) Activity recognition:
Identify activities occurring
in the video (eg: walking,
running, jumping)
16. Natural language processing applications of CNN
16
1) Text recognition:
extracting information from
texts (e.g. names of people,
places, institutions)
2) Machine translation:
Translating texts from one
language to another
3) Text Summarization:
Create a short summary of a
long text
17. Other applications of CNN
17
1) medical diagnosis: Helping doctors
diagnose diseases by analyzing medical
images (such as X-rays, CT scans)
2) Stock Price Forecasting: Analyzing
financial data to predict stock price
movement
3) Controlling Robots: Helping robots
see and understand the world around
them
18. Conclusion
CNN is a powerful tool in the field of machine learning and visual
analysis.
The benefits of CNN include automatically extracting features
and improving classification and analysis performance.
Various applications of CNN include medical imaging, image
classification, face recognition, automated video analysis, and
others.
Future research and work in the field of CNN is essential to
improve performance and discover new applications.
18