The document provides an overview of computer vision techniques including correlation, convolution, and gradient filtering. It discusses how correlation can be used to match a template to an image region by calculating a similarity measure as the template is passed over the image. Convolution is explained as similar to correlation but with the signs of the variables flipped in the formula. Implementing these techniques in Python code is also covered generically for squared and odd-sized templates.
its very useful for students.
Sharpening process in spatial domain
Direct Manipulation of image Pixels.
The objective of Sharpening is to highlight transitions in intensity
The image blurring is accomplished by pixel averaging in a neighborhood.
Since averaging is analogous to integration.
Prepared by
M. Sahaya Pretha
Department of Computer Science and Engineering,
MS University, Tirunelveli Dist, Tamilnadu.
its very useful for students.
Sharpening process in spatial domain
Direct Manipulation of image Pixels.
The objective of Sharpening is to highlight transitions in intensity
The image blurring is accomplished by pixel averaging in a neighborhood.
Since averaging is analogous to integration.
Prepared by
M. Sahaya Pretha
Department of Computer Science and Engineering,
MS University, Tirunelveli Dist, Tamilnadu.
Operations in Digital Image Processing + Convolution by ExampleAhmed Gad
Digital image processing operations can be either point or group.
This presentation explains both operations (point and group) and shows how convolution works by a numerical example.
Ahmed Fawzy Gad
ahmed.fawzy@ci.menofia.edu.eg
Information Technology Department
Faculty of Computers and Information (FCI)
Menoufia University
Egypt
Find me on:
AFCIT
http://www.afcit.xyz
YouTube
https://www.youtube.com/channel/UCuewOYbBXH5gwhfOrQOZOdw
Google Plus
https://plus.google.com/u/0/+AhmedGadIT
SlideShare
https://www.slideshare.net/AhmedGadFCIT
LinkedIn
https://www.linkedin.com/in/ahmedfgad/
ResearchGate
https://www.researchgate.net/profile/Ahmed_Gad13
Academia
https://www.academia.edu/
Google Scholar
https://scholar.google.com.eg/citations?user=r07tjocAAAAJ&hl=en
Mendelay
https://www.mendeley.com/profiles/ahmed-gad12/
ORCID
https://orcid.org/0000-0003-1978-8574
StackOverFlow
http://stackoverflow.com/users/5426539/ahmed-gad
Twitter
https://twitter.com/ahmedfgad
Facebook
https://www.facebook.com/ahmed.f.gadd
Pinterest
https://www.pinterest.com/ahmedfgad/
This slide gives you the basic understanding of digital image compression.
Please Note: This is a class teaching PPT, more and detail topics were covered in the classroom.
Basic Introduction about Image Restoration (Order Statistics Filters)
Median Filter
Max and Min Filter
MidPoint Filter
Alpha-trimmed Mean filter.
and Brief Introduction to Periodic Noise
Any Question contact kalyan.acharjya@gmail.com
Digital image processing is the use of computer algorithms to perform image processing on digital images. As a subcategory or field of digital signal processing, digital image processing has many advantages over analog image processing.
To highlight the contribution made to the total image appearance by specific bits.i.e. Assuming that each pixel is represented by 8 bits, the image is composed of 8 1-bit planes.Useful for analyzing the relative importance played by each bit of the image.
Operations in Digital Image Processing + Convolution by ExampleAhmed Gad
Digital image processing operations can be either point or group.
This presentation explains both operations (point and group) and shows how convolution works by a numerical example.
Ahmed Fawzy Gad
ahmed.fawzy@ci.menofia.edu.eg
Information Technology Department
Faculty of Computers and Information (FCI)
Menoufia University
Egypt
Find me on:
AFCIT
http://www.afcit.xyz
YouTube
https://www.youtube.com/channel/UCuewOYbBXH5gwhfOrQOZOdw
Google Plus
https://plus.google.com/u/0/+AhmedGadIT
SlideShare
https://www.slideshare.net/AhmedGadFCIT
LinkedIn
https://www.linkedin.com/in/ahmedfgad/
ResearchGate
https://www.researchgate.net/profile/Ahmed_Gad13
Academia
https://www.academia.edu/
Google Scholar
https://scholar.google.com.eg/citations?user=r07tjocAAAAJ&hl=en
Mendelay
https://www.mendeley.com/profiles/ahmed-gad12/
ORCID
https://orcid.org/0000-0003-1978-8574
StackOverFlow
http://stackoverflow.com/users/5426539/ahmed-gad
Twitter
https://twitter.com/ahmedfgad
Facebook
https://www.facebook.com/ahmed.f.gadd
Pinterest
https://www.pinterest.com/ahmedfgad/
This slide gives you the basic understanding of digital image compression.
Please Note: This is a class teaching PPT, more and detail topics were covered in the classroom.
Basic Introduction about Image Restoration (Order Statistics Filters)
Median Filter
Max and Min Filter
MidPoint Filter
Alpha-trimmed Mean filter.
and Brief Introduction to Periodic Noise
Any Question contact kalyan.acharjya@gmail.com
Digital image processing is the use of computer algorithms to perform image processing on digital images. As a subcategory or field of digital signal processing, digital image processing has many advantages over analog image processing.
To highlight the contribution made to the total image appearance by specific bits.i.e. Assuming that each pixel is represented by 8 bits, the image is composed of 8 1-bit planes.Useful for analyzing the relative importance played by each bit of the image.
Global and local alignment (bioinformatics)Pritom Chaki
A general global alignment technique is the Needleman–Wunsch algorithm, which is based on dynamic programming. Local alignments are more useful for dissimilar sequences that are suspected to contain regions of similarity or similar sequence motifs within their larger sequence context.
Direct solution of sparse network equations by optimally ordered triangular f...Dimas Ruliandi
Triangular factorization method of a power network problem (in form of matrix). Direct solution can be found without calculating inverse matrix which usually considered an exhaustive method, especially in large scale network.
A review of two alignment-free methods for sequence comparison. In this presentation two alignment-free methods are studied:
- "Similarity analysis of DNA sequences based on LZ complexity and dynamic programming algorithm" by Guo et al.
- "Alignment-free comparison of genome sequences by a new numerical characterization" by Huang et al.
"SSumM: Sparse Summarization of Massive Graphs", KDD 2020KyuhanLee4
A presentation slides of Kyuhan Lee, Hyeonsoo Jo, Jihoon Ko, Sungsu Lim, Kijung Shin, "SSumM: Sparse Summarization of Massive Graphs", KDD 2020.
Given a graph G and the desired size k in bits, how can we summarize G within k bits, while minimizing the information loss?
Large-scale graphs have become omnipresent, posing considerable computational challenges. Analyzing such large graphs can be fast and easy if they are compressed sufficiently to fit in main memory or even cache. Graph summarization, which yields a coarse-grained summary graph with merged nodes, stands out with several advantages among graph compression techniques. Thus, a number of algorithms have been developed for obtaining a concise summary graph with little information loss or equivalently small reconstruction error. However, the existing methods focus solely on reducing the number of nodes, and they often yield dense summary graphs, failing to achieve better compression rates. Moreover, due to their limited scalability, they can be applied only to moderate-size graphs.
In this work, we propose SSumM, a scalable and effective graph-summarization algorithm that yields a sparse summary graph. SSumM not only merges nodes together but also sparsifies the summary graph, and the two strategies are carefully balanced based on the minimum description length principle. Compared with state-of-the-art competitors, SSumM is (a) Concise: yields up to 11.2X smaller summary graphs with similar reconstruction error, (b) Accurate: achieves up to 4.2X smaller reconstruction error with similarly concise outputs, and (c) Scalable: summarizes 26X larger graphs while exhibiting linear scalability. We validate these advantages through extensive experiments on 10 real-world graphs.
Similar to Computer Vision: Correlation, Convolution, and Gradient (20)
ICEIT'20 Cython for Speeding-up Genetic AlgorithmAhmed Gad
The presentation of the paper titled "Cython for Speeding-up Genetic Algorithm". Find it at IEEE Explore: https://ieeexplore.ieee.org/document/9113210
The abstract of the paper:
This paper proposes a library for implementing the genetic algorithm using Python mainly in NumPy and speeding-up its execution using Cython. The preliminary Python implementation is inspected for possible optimizations. The 4 main changes include statically defining data types for the NumPy arrays, specifying the data type of the array elements in addition to the number of dimensions, using indexing for looping through the arrays, and finally disabling some unnecessary features in Cython. Using Cython, the NumPy array processing is 1250 times faster than CPython. The Cythonized version of the genetic algorithm is 18 times faster than the Python version.
NumPyCNNAndroid: A Library for Straightforward Implementation of Convolutiona...Ahmed Gad
The presentation of my paper titled "#NumPyCNNAndroid: A Library for Straightforward Implementation of #ConvolutionalNeuralNetworks for #Android Devices" at the second International Conference of Innovative Trends in #ComputerEngineering (ITCE 2019).
The paper proposes a library for implementing convolutional neural networks (CNNs) in order to run on Android devices. The process of running the CNN on the mobile devices is straightforward and does not require an in-between step for model conversion as it uses #Kivy cross-platform library.
The CNN layers are implemented in #NumPy. You can find their implementation in my #GitHub project at this link: https://github.com/ahmedfgad/NumPyCNN
The library is also open source available here: https://github.com/ahmedfgad/NumPyCNNAndroid
There are 2 modes of operation for this work. The first one is training the CNN on the mobile device but it is very time-consuming at least in the current version. The second and preferred way is to train the CNN in a desktop computer and then use it on the mobile device.
Python for Computer Vision - Revision 2nd EditionAhmed Gad
Python is a powerful tool for computer vision applications. This presentation reviews the essential libraries required for image analysis using Python. These libraries include NumPy, SciPy, Matplotlib, Python Image Library (PIL), scikit-image, and scikit-learn.
Multi-Objective Optimization using Non-Dominated Sorting Genetic Algorithm wi...Ahmed Gad
When solving a problem, the goal is not only solving it but also optimizing such solution. There might be multiple solutions to a problem and the challenge is to find the best of them. The more metrics defining the solution goodness, the harder finding the best solution. This presentation discusses one of the multi-objective optimization techniques called non-dominated sorting genetic algorithm II (NSGA-II) explaining its steps including non-dominated sorting, crowding distance, tournament selection, and genetic algorithm. The presentation works through a numerical example step-by-step.
M.Sc. Thesis - Automatic People Counting in Crowded ScenesAhmed Gad
This thesis proposes a real-time automatic people crowd density estimation method for overcoming the non-linearity problem, working with different densities and scales, and enhancing the prediction error. To cover most of the properties of the crowded scene, a newly used combination of features is proposed that includes segmented region properties, texture, edge, and SIFT keypoints. Edge strength is a suggested for use.
Derivation of Convolutional Neural Network from Fully Connected Network Step-...Ahmed Gad
In image analysis, #convolutional neural networks (#CNNs or #ConvNets for short) are time and memory efficient than fully connected (#FC) networks. But why? What are the advantages of ConvNets over FC networks in image analysis? How is #ConvNet derived from FC networks? Where the term #convolution in CNNs came from? These questions are to be answered in this #presentation.
Image analysis has a number of challenges such as classification, object detection, recognition, description, etc. If an image classifier, for example, is to be created, it should be able to work with a high accuracy even with variations such as occlusion, illumination changes, viewing angles, and others. The traditional pipeline of image classification with its main step of feature engineering is not suitable for working in rich environments. Even experts in the field won’t be able to give a single or a group of features that are able to reach high accuracy under different variations. Motivated by this problem, the idea of feature learning came out. The suitable features to work with images are learned automatically. This is the reason why artificial neural networks (ANNs) are one of the robust ways of image analysis. Based on a learning algorithm such as gradient descent (GD), ANN learns the image features automatically. The raw image is applied to the ANN and ANN is responsible for generating the features describing it.
Introduction to Optimization with Genetic Algorithm (GA)Ahmed Gad
Selection of the optimal parameters for machine learning tasks is challenging. Some results may be bad not because the data is noisy or the used learning algorithm is weak, but due to the bad selection of the parameters values. This article gives a brief introduction about evolutionary algorithms (EAs) and describes genetic algorithm (GA) which is one of the simplest random-based EAs.
References:
Eiben, Agoston E., and James E. Smith. Introduction to evolutionary computing. Vol. 53. Heidelberg: springer, 2003.
https://www.linkedin.com/pulse/introduction-optimization-genetic-algorithm-ahmed-gad
https://www.kdnuggets.com/2018/03/introduction-optimization-with-genetic-algorithm.html
Derivation of Convolutional Neural Network (ConvNet) from Fully Connected Net...Ahmed Gad
In image analysis, convolutional neural networks (CNNs or ConvNets for short) are time and memory efficient than fully connected (FC) networks. But why? What are the advantages of ConvNets over FC networks in image analysis? How is ConvNet derived from FC networks? Where the term convolution in CNNs came from? These questions are to be answered in this article.
Image analysis has a number of challenges such as classification, object detection, recognition, description, etc. If an image classifier, for example, is to be created, it should be able to work with a high accuracy even with variations such as occlusion, illumination changes, viewing angles, and others. The traditional pipeline of image classification with its main step of feature engineering is not suitable for working in rich environments. Even experts in the field won’t be able to give a single or a group of features that are able to reach high accuracy under different variations. Motivated by this problem, the idea of feature learning came out. The suitable features to work with images are learned automatically. This is the reason why artificial neural networks (ANNs) are one of the robust ways of image analysis. Based on a learning algorithm such as gradient descent (GD), ANN learns the image features automatically. The raw image is applied to the ANN and ANN is responsible for generating the features describing it.
-Reference
Aghdam, Hamed Habibi, and Elnaz Jahani Heravi. Guide to Convolutional Neural Networks: A Practical Application to Traffic-Sign Detection and Classification. Springer, 2017.
Have you ever created a machine learning model that is perfect for the training samples but gives very bad predictions with unseen samples! Did you ever think why this happens? This article explains overfitting which is one of the reasons for poor predictions for unseen samples. Also, regularization technique based on regression is presented by simple steps to make it clear how to avoid overfitting.
Selection of the optimal parameters for machine learning tasks is challenging. Some results may be bad not because the data is noisy or the used learning algorithm is weak, but due to the bad selection of the parameters values. This presentation gives a brief introduction about evolutionary algorithms (EAs) and describes genetic algorithm (GA) which is one of the simplest random-based EAs. A step-by-step example is given in addition to its implementation in Python 3.5.
---------------------------------
Read more about GA:
Yu, Xinjie, and Mitsuo Gen. Introduction to evolutionary algorithms. Springer Science & Business Media, 2010.
https://www.kdnuggets.com/2018/03/introduction-optimization-with-genetic-algorithm.html
https://www.linkedin.com/pulse/introduction-optimization-genetic-algorithm-ahmed-gad
ICCES 2017 - Crowd Density Estimation Method using Regression AnalysisAhmed Gad
The oral presentation of the paper titled "Crowd Density Estimation Method using Multiple Feature Categories and Multiple Regression Models".
This paper was accepted for publication and oral presentation in the 12th IEEE International Conference on Computer Engineering and Systems (ICCES 2017) held from 19 to 20 December 2017 in Cairo, Egypt.
The paper proposed a new method to estimate the number of people within crowded scenes using regression analysis. The two challenges in crowd density estimation using regression analysis are perspective distortion and non-linearity. This paper solves the perspective distortion using perspective normalization which is the best way to deal with that problem based on recent works.
The second challenge is solved by creating a new combination of features collected from multiple already existing categories including segmented region, texture, edge, and keypoints. This paper created a feature vector of length 164.
Five regression models are used which are GPR, RF, RPF, LASSO, and KNN.
Based on the experimental results, our proposed method gives better results than previous works.
----------------------------------
أحمد فوزي جاد Ahmed Fawzy Gad
قسم تكنولوجيا المعلومات Information Technology (IT) Department
كلية الحاسبات والمعلومات Faculty of Computers and Information (FCI)
جامعة المنوفية, مصر Menoufia University, Egypt
Teaching Assistant/Demonstrator
ahmed.fawzy@ci.menofia.edu.eg
---------------------------------
Find me on:
Blog
(Arabic) https://aiage-ar.blogspot.com.eg/
(English) https://aiage.blogspot.com.eg/
YouTube
https://www.youtube.com/AhmedGadFCIT
Google Plus
https://plus.google.com/u/0/+AhmedGadIT
SlideShare
https://www.slideshare.net/AhmedGadFCIT
LinkedIn
https://www.linkedin.com/in/ahmedfgad
reddit
https://www.reddit.com/user/AhmedGadFCIT
ResearchGate
https://www.researchgate.net/profile/Ahmed_Gad13
Academia
https://menofia.academia.edu/Gad
Google Scholar
https://scholar.google.com.eg/citations?user=r07tjocAAAAJ&hl=en
Mendelay
https://www.mendeley.com/profiles/ahmed-gad12
ORCID
https://orcid.org/0000-0003-1978-8574
StackOverFlow
http://stackoverflow.com/users/5426539/ahmed-gad
Twitter
https://twitter.com/ahmedfgad
Facebook
https://www.facebook.com/ahmed.f.gadd
Pinterest
https://www.pinterest.com/ahmedfgad
Backpropagation: Understanding How to Update ANNs Weights Step-by-StepAhmed Gad
This presentation explains how the backpropagation algorithm is useful in updating the artificial neural networks (ANNs) weights using two examples step by step. Readers should have a basic understanding of how ANNs work, partial derivatives, and multivariate chain rule.
This presentation won`t dive directly into the details of the algorithm but will start by training a very simple network. This is because the backpropagation algorithm is meant to be applied over a network after training. So, we should train the network before applying it to catch the benefits of backpropagation algorithm and how to use it.
A brief review about Python for computer vision showing the different modules necessary to dive into computer vision.
The modules presented are NumPy, SciPy, and Matplotlib.
Anime Studio Pro 10 Tutorial as Part of Multimedia CourseAhmed Gad
There are different ways of presenting information to users. These ways are called medias because they similar to networking media that carry data from one place to another, they carry information from the source to the user. Examples of medias are text, image, sound, video, animation.
Because multiple types of medias can be used to carry the same piece of information, there is what is called multimedia (MM). This is a combined set of medias working together to present the information in a friendly way to the end-user. The use of one media depends on the type of audience and the type of information to be presented. One media may be powerful over another to present some types of information.
The primary goals of this course is to make you understand the different types of medias, use cases of one media over another, and combining different media types.
Also this course tells how to create such types of medias to create interactive media.
Brief Introduction to Deep Learning + Solving XOR using ANNsAhmed Gad
This presentation gives a very simple introduction to deep learning in addition to a step-by-step example showing how to solve the XOR non-linear problem using multi-layer artificial neural networks that has both input, hidden, and output layers.
Deep learning is based on artificial neural networks and it aims to analyze large amounts of data that are not easily analyzed using conventional models. It creates a large neural network with several hidden layers and several neurons within each layer and usually may take days for its learning.
Many beginners in artificial neural networks have a problem in understanding how hidden layers are useful and what is the best number of hidden layers and best number of neurons or nodes within each layer.
أحمد فوزي جاد Ahmed Fawzy Gad
قسم تكنولوجيا المعلومات Information Technology (IT) Department
كلية الحاسبات والمعلومات Faculty of Computers and Information (FCI)
جامعة المنوفية, مصر Menoufia University, Egypt
Teaching Assistant/Demonstrator
ahmed.fawzy@ci.menofia.edu.eg
:
AFCIT
http://www.afcit.xyz
YouTube
https://www.youtube.com/channel/UCuewOYbBXH5gwhfOrQOZOdw
Google Plus
https://plus.google.com/u/0/+AhmedGadIT
SlideShare
https://www.slideshare.net/AhmedGadFCIT
LinkedIn
https://www.linkedin.com/in/ahmedfgad/
ResearchGate
https://www.researchgate.net/profile/Ahmed_Gad13
Academia
https://menofia.academia.edu/Gad
Google Scholar
https://scholar.google.com.eg/citations?user=r07tjocAAAAJ&hl=en
Mendelay
https://www.mendeley.com/profiles/ahmed-gad12/
ORCID
https://orcid.org/0000-0003-1978-8574
StackOverFlow
http://stackoverflow.com/users/5426539/ahmed-gad
Twitter
https://twitter.com/ahmedfgad
Facebook
https://www.facebook.com/ahmed.f.gadd
Pinterest
https://www.pinterest.com/ahmedfgad/
This file contains a simple description about what I have created about how to detect object motion and track whatever moving as a computer vision project when being undergraduate student at 2014.
The MATLAB code of the system is also available in the document.
Find me on:
AFCIT
http://www.afcit.xyz
YouTube
https://www.youtube.com/channel/UCuewOYbBXH5gwhfOrQOZOdw
Google Plus
https://plus.google.com/u/0/+AhmedGadIT
SlideShare
https://www.slideshare.net/AhmedGadFCIT
LinkedIn
https://www.linkedin.com/in/ahmedfgad/
ResearchGate
https://www.researchgate.net/profile/Ahmed_Gad13
Academia
https://www.academia.edu/
Google Scholar
https://scholar.google.com.eg/citations?user=r07tjocAAAAJ&hl=en
Mendelay
https://www.mendeley.com/profiles/ahmed-gad12/
ORCID
https://orcid.org/0000-0003-1978-8574
StackOverFlow
http://stackoverflow.com/users/5426539/ahmed-gad
Twitter
https://twitter.com/ahmedfgad
Facebook
https://www.facebook.com/ahmed.f.gadd
Pinterest
https://www.pinterest.com/ahmedfgad/
MATLAB Code + Description : Very Simple Automatic English Optical Character R...Ahmed Gad
This file contains a simple description about what I have created about how to recognize characters using feed forward back propagation neural network as a pattern recognition project when being undergraduate student at 2013.
The MATLAB code of the system is also available in the document.
Find me on:
AFCIT
http://www.afcit.xyz
YouTube
https://www.youtube.com/channel/UCuewOYbBXH5gwhfOrQOZOdw
Google Plus
https://plus.google.com/u/0/+AhmedGadIT
SlideShare
https://www.slideshare.net/AhmedGadFCIT
LinkedIn
https://www.linkedin.com/in/ahmedfgad/
ResearchGate
https://www.researchgate.net/profile/Ahmed_Gad13
Academia
https://www.academia.edu/
Google Scholar
https://scholar.google.com.eg/citations?user=r07tjocAAAAJ&hl=en
Mendelay
https://www.mendeley.com/profiles/ahmed-gad12/
ORCID
https://orcid.org/0000-0003-1978-8574
StackOverFlow
http://stackoverflow.com/users/5426539/ahmed-gad
Twitter
https://twitter.com/ahmedfgad
Facebook
https://www.facebook.com/ahmed.f.gadd
Pinterest
https://www.pinterest.com/ahmedfgad/
Graduation Project - Face Login : A Robust Face Identification System for Sec...Ahmed Gad
Face login is my 2015 graduation project started in 2014 and lasted 1.5 years of work.
Generally, it is an identification system using face images. It is a multi-use system but it was mainly created to authorize users to login into their system.
There is an IEEE paper published by the project algorithm used in ICCES 2014 http://ieeexplore.ieee.org/abstract/document/7030929/.
Here is its citation Semary, Noura A., and Ahmed Fawzi Gad. "A proposed framework for robust face identification system." Computer Engineering & Systems (ICCES), 2014 9th International Conference on. IEEE, 2014.
A YouTube video describing the project generally.
https://www.youtube.com/watch?v=OUvaPW70Eko
Find me on:
AFCIT
http://www.afcit.xyz
YouTube
https://www.youtube.com/channel/UCuewOYbBXH5gwhfOrQOZOdw
Google Plus
https://plus.google.com/u/0/+AhmedGadIT
SlideShare
https://www.slideshare.net/AhmedGadFCIT
LinkedIn
https://www.linkedin.com/in/ahmedfgad/
ResearchGate
https://www.researchgate.net/profile/Ahmed_Gad13
Academia
https://www.academia.edu/
Google Scholar
https://scholar.google.com.eg/citations?user=r07tjocAAAAJ&hl=en
Mendelay
https://www.mendeley.com/profiles/ahmed-gad12/
ORCID
https://orcid.org/0000-0003-1978-8574
StackOverFlow
http://stackoverflow.com/users/5426539/ahmed-gad
Twitter
https://twitter.com/ahmedfgad
Facebook
https://www.facebook.com/ahmed.f.gadd
Pinterest
https://www.pinterest.com/ahmedfgad/
Introduction to MATrices LABoratory (MATLAB) as Part of Digital Signal Proces...Ahmed Gad
An introduction to MATrices LABoratory (MATLAB) as part of digital signal processing (DSP) course for allowing students to apply concepts presented in the DSP course.
This course covers the basics of MATLAB including:
MATLAB Packages
Definition
How to use a toolbox? (Java vs. MATLAB)
Examples of general and specific toolboxes
MATLAB Versions and Releases
What is MATLAB?
Overview about MATLAB Desktop
Command Window
Command History Window
Workspace Window
Current Folder Window
Editor Window
MATLAB Variables
Command Window Numeric Display Formats
MATLAB Operators and Corresponding Functions
MATLAB Documentation
Frequent Mathematical Functions
Scripting
MATLAB Comments
Matrices and vectors
MATLAB Control Structures
Figures and Plots
Find me on:
AFCIT
http://www.afcit.xyz
YouTube
https://www.youtube.com/channel/UCuewOYbBXH5gwhfOrQOZOdw
Google Plus
https://plus.google.com/u/0/+AhmedGadIT
SlideShare
https://www.slideshare.net/AhmedGadFCIT
LinkedIn
https://www.linkedin.com/in/ahmedfgad/
ResearchGate
https://www.researchgate.net/profile/Ahmed_Gad13
Academia
https://www.academia.edu/
Google Scholar
https://scholar.google.com.eg/citations?user=r07tjocAAAAJ&hl=en
Mendelay
https://www.mendeley.com/profiles/ahmed-gad12/
ORCID
https://orcid.org/0000-0003-1978-8574
StackOverFlow
http://stackoverflow.com/users/5426539/ahmed-gad
Twitter
https://twitter.com/ahmedfgad
Facebook
https://www.facebook.com/ahmed.f.gadd
Pinterest
https://www.pinterest.com/ahmedfgad/
Introduction to Digital Signal Processing (DSP) - Course NotesAhmed Gad
Documentation of digital signal processing course giving an introduction to the field.
The course covers the following:
Principles of Digital Signal Processing.
Continuous, Discrete Signals and Systems.
Basic Operations on Signals
Discrete Time System Fundamentals
Discrete Time System.
Convolution
Discrete Fourier Transform.
Continuous Fourier Transform.
Fourier Transform
Discrete Fourier Transform.
Continuous Fourier Transform.
Z-Transform
Laplace Transform
Digital Filter Design
FIR Filter Design.
IIR Filter Design.
Find me on:
AFCIT
http://www.afcit.xyz
YouTube
https://www.youtube.com/channel/UCuewOYbBXH5gwhfOrQOZOdw
Google Plus
https://plus.google.com/u/0/+AhmedGadIT
SlideShare
https://www.slideshare.net/AhmedGadFCIT
LinkedIn
https://www.linkedin.com/in/ahmedfgad/
ResearchGate
https://www.researchgate.net/profile/Ahmed_Gad13
Academia
https://www.academia.edu/
Google Scholar
https://scholar.google.com.eg/citations?user=r07tjocAAAAJ&hl=en
Mendelay
https://www.mendeley.com/profiles/ahmed-gad12/
ORCID
https://orcid.org/0000-0003-1978-8574
StackOverFlow
http://stackoverflow.com/users/5426539/ahmed-gad
Twitter
https://twitter.com/ahmedfgad
Facebook
https://www.facebook.com/ahmed.f.gadd
Pinterest
https://www.pinterest.com/ahmedfgad/
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
Overview on Edible Vaccine: Pros & Cons with Mechanism
Computer Vision: Correlation, Convolution, and Gradient
1. Computer Vision: Correlation,
Convolution, and Gradient
MENOUFIA UNIVERSITY
FACULTY OF COMPUTERS AND INFORMATION
INFORMATION TECHNOLOGY
COMPUTER VISION
المنوفية جامعة
والمعلومات الحاسبات كلية
المعلومات تكنولوجيا
بالحاسب الرؤيا
المنوفية جامعة
Ahmed Fawzy Gad
ahmed.fawzy@ci.menofia.edu.eg
Tuesday 3 October 2017
4. Correlation for 2D Image
• Correlation is used to match a
template to an image.
• Can you tell where the following
template exactly located in the
image?
• Using correlation we can find the
image region that best matches
the template.
?
5. How 2D Correlation Works?
• Given a template, using correlation the
template will pass through each image part
and a similarity check take place to find
how similar the template and the current
image part being processed.
• Starting by placing the template top-left
corner on the top-left corner of the image,
a similarity measure is calculated.
6. How 2D Correlation Works?
• Given a template, using correlation the
template will pass through each image part
and a similarity check take place to find
how similar the template and the current
image part being processed.
• Starting by placing the template top-left
corner on the top-left corner of the image,
a similarity measure is calculated.
𝑮 𝒊, 𝒋 =
𝒖=−𝒌
𝒌
𝒗=−𝒌
𝒌
𝒉 𝒖, 𝒗 𝑭[𝒊 + 𝒖, 𝒋 + 𝒗]
7. How 2D Correlation Works?
• Given a template, using correlation the
template will pass through each image part
and a similarity check take place to find
how similar the template and the current
image part being processed.
• Starting by placing the template top-left
corner on the top-left corner of the image,
a similarity measure is calculated.
15. Correlation for 2D Image
1 3 4 3
2 7 4 1
6 2 5 2
13 6 8 9
Template – 3x3
44 72
Based on the current step, what is the region that
best matches the template?
It is the one corresponding to the highest score in
the result matrix.
17. Continue Correlating the Template
1 3 4 3
2 7 4 1
6 2 5 2
13 6 8 9
Template – 3x3
2 1 -4
3 2 5
-1 8 1
44 72
This will cause the program performing correlation to
fall into index out of bounds exception.
28. • It depends on both the template size.
• For 3x3 template, pad two columns and two
rows. One column to the left and another to
the right. One row at the top and one row
at the bottom.
• For 5x5? Pad 4 rows (two left & two right)
and 5 columns (two top & two bottom).
• Generally, for N*N template pad (N-1)/2
columns and rows at each side.
How much Padding Required?
1 3 4 3
2 7 4 1
6 2 5 2
13 6 8 9
0 0 0 0
0 0 0 0
0
0
0
0
0
0
0
0
0
0
0
0
How to do this
Programmatically.?
34. Matching using Correlation
• Matching depends on just
multiplication.
• The highest results of
multiplication is the one selected
as best match.
• But the highest results of
multiplication not always refers
to best match.
Template Result
35. Matching using
Correlation
• Make a simple edit on the image
by adding a pure white
rectangular area.
• Use the previous template.
• Apply the algorithm.
Template
36. Matching using Correlation
• The best matched region is the
white region.
• The reason is that correlation
depends on multiplication.
• What gives highest multiplication
results is the best match.
• Getting high results corresponds to
multiplying by higher numbers.
• The highest pixel value for gray
images is 255 for white.
42. What is Convolution?
• The primary objective of mathematical convolution is combining two
signals to generate a third signal. Convolution is not limited on digital
image processing and it is a broad term that works on signals.
Input Signal
Impulse Response
Output Signal
System
Convolution
43. Convolution Formula for 2D Digital Signal
• Convolution is applied similarly to correlation.
• Note how similar the formulas for correlation and convolution. The
only difference is that in the signs of 𝒖 and 𝒗 variables.
• Correlation formula has positive signs for 𝒖 and 𝒗 while correlation
has negative signs for them.
𝑮 𝒊, 𝒋 =
𝒖=−𝒌
𝒌
𝒗=−𝒌
𝒌
𝒉 𝒖, 𝒗 𝑭[𝒊 − 𝒖, 𝒋 − 𝒗]𝑮 𝒊, 𝒋 =
𝒖=−𝒌
𝒌
𝒗=−𝒌
𝒌
𝒉 𝒖, 𝒗 𝑭[𝒊 − 𝒖, 𝒋 − 𝒗]
Is just changing
signs make sense?
54. Simplifying Convolution
.2.4.1
.5.8.3
.9.5.7
1, -11, 01, 1
0, -10, 00, 1
-1, -1-1, 0-1, 1
*
13204
458047
09373
.7.5.9
.3.8.5
.1.4.2
13204
458047
09373= -1, 1-1, 0-1, -1
0, 10, 00, -1
1, 11, 01, -1
Just rotate the template with 180 degrees before
multiplying by the image.
*
Applying convolution is similar to correlation except
for flipping the template before multiplication.
55. Two Many Multiplications & Additions
• Assume to remove noise from an image, it should be applied to two
filters (filter1 and filter2). Each filter has size of 7x7 pixels and the
image is of size 1024x1024 pixels.
• A simple approach is to apply filter1 to the image then apply filter2 to
the output of filter1.
• Too many multiplications and additions due to applying two filters on
the image. 1,024 x 1,024 x 49 multiplication and 1,000 x 1,000 x 49
addition for the single filter.
1024x1024
Image
Filter1
* Temp. Result Filter2
* Result
56. Convolution Associative Property
• Using the associative property of convolution, we can reduce the
number of multiplications and additions.
• To apply two filters f1 and f2 over an image, we can merge the two
filters together then apply the convolution between the resultant new
filter and the image.
• Finally, there is only 1,024 x 1024 x 49 multiplication and addition.
(Im * 𝒇 𝟏) * 𝒇 𝟐 = Im * (𝒇 𝟏 * 𝒇 𝟐)
For 𝒇 𝟏 * 𝒇 𝟐 = 𝒇 𝟑
Result is Im * 𝒇 𝟑
57. Convolution Applications
• Convolution is used to merge signals.
• It is used to apply operations like smoothing and filtering images
where the primary task is selecting the appropriate filter template or
mask.
• Convolution can also be used to find gradients of the image.
58. Implementing Convolution in Python
• The implementation of convolution is identical to correlation except
for the new command that rotates the template.
60. Image Gradients
• Image gradients can be defined as change of intensity in some direction.
• Based on the way gradients were calculated and specifically based on
the template/kernel used, gradients can be horizontal (X direction) or
vertical (Y direction) in direction.
-1-1-1
000
111
Horizontal
10-1
10-1
10-1
Vertical
θ = 𝑡𝑎𝑛−1
[
𝐺 𝑦
𝐺 𝑥
] 𝐺 = 𝐺 𝑥 + 𝐺 𝑦
61. Image Gradient Calculation Steps
• Calculate the image gradient in X direction at each pixel.
• Calculate the image gradient in Y direction at each pixel.
• Calculate the overall gradient for the pixel.