Features Detection
Edge Detection
Corner Detection
Line and Curve Detection
Active Contours
SIFT and HOG Descriptors
Shape Context Descriptors
Morphological Operations
Pixel transforms,
Color transforms,
Histogram processing & equalization ,
Filtering,
Convolution,
Fourier transformation and its applications in sharpening,
Blurring and noise removal
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Segmentation
Active Contours
Split and Merge
Watershed
Region Splitting and Merging
Graph-based Segmentation
Mean shift and Model finding
Normalized Cut
The document discusses various morphological image processing techniques including binary morphology, grayscale morphology, dilation, erosion, opening, closing, boundary extraction, region filling, connected components, hit-or-miss, thinning, thickening, and skeletonization. Morphological operations can be used for tasks like edge detection, noise removal, image enhancement, and image segmentation. The key morphological operations of dilation and erosion expand and shrink binary images using a structuring element, while opening and closing combine these operations to remove noise or fill holes.
In computer vision and image processing the concept of feature detection refers to methods that aim at computing abstractions of image information and making local decisions at every image point whether there is an image feature of a given type at that point or not. The resulting features will be subsets of the image domain, often in the form of isolated points, continuous curves or connected regions. This lecture teaches you the basics of feature detection.
https://www.udemy.com/learn-computer-vision-machine-vision-and-image-processing-in-labview/?couponCode=SlideShare
Pixel transforms,
Color transforms,
Histogram processing & equalization ,
Filtering,
Convolution,
Fourier transformation and its applications in sharpening,
Blurring and noise removal
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Segmentation
Active Contours
Split and Merge
Watershed
Region Splitting and Merging
Graph-based Segmentation
Mean shift and Model finding
Normalized Cut
The document discusses various morphological image processing techniques including binary morphology, grayscale morphology, dilation, erosion, opening, closing, boundary extraction, region filling, connected components, hit-or-miss, thinning, thickening, and skeletonization. Morphological operations can be used for tasks like edge detection, noise removal, image enhancement, and image segmentation. The key morphological operations of dilation and erosion expand and shrink binary images using a structuring element, while opening and closing combine these operations to remove noise or fill holes.
In computer vision and image processing the concept of feature detection refers to methods that aim at computing abstractions of image information and making local decisions at every image point whether there is an image feature of a given type at that point or not. The resulting features will be subsets of the image domain, often in the form of isolated points, continuous curves or connected regions. This lecture teaches you the basics of feature detection.
https://www.udemy.com/learn-computer-vision-machine-vision-and-image-processing-in-labview/?couponCode=SlideShare
Mathematical morphology is a framework for image analysis using set theory operations. It is used for tasks like noise filtering, shape analysis, and segmentation. Basic operations include erosion, dilation, opening, and closing using a structuring element. Erosion shrinks objects while dilation expands them. Opening eliminates small objects and closing fills small holes. Together these operations can filter images while preserving overall shapes. Morphological operations also enable extracting object boundaries, thinning images to skeletons, and finding connected components.
Image segmentation refers to partitioning a digital image into multiple regions or sets of pixels based on characteristics like color or texture. The goal is to simplify the image representation to make it easier to analyze. Some applications in medical imaging include locating tumors, measuring tissue volumes, and computer-guided surgery. Common segmentation techniques include thresholding, edge detection, region growing, and split-and-merge approaches.
Image segmentation is an important image processing step, and it is used everywhere if we want to analyze what is inside the image. Image segmentation, basically provide the meaningful objects of the image.
This document provides an overview of digital image processing and human vision. It discusses the key stages of digital image processing including image acquisition, enhancement, restoration, morphological processing, segmentation, representation and description, object recognition, and compression. It also covers the anatomy of the human eye, photoreceptors, color perception, image formation in the eye, brightness adaptation, and the Weber ratio relating the just noticeable difference in light intensity to background intensity. The document uses images and diagrams from the textbook "Digital Image Processing" to illustrate concepts in digital images and the human visual system.
introduction to Digital Image Processingnikesh gadare
The document provides an overview of the key concepts and stages involved in digital image processing. It discusses image acquisition, preprocessing such as enhancement and restoration, and post-processing which includes tasks like segmentation, description and recognition. The goal is to introduce fundamental concepts and classical methods of digital image processing. Various applications are also highlighted including medical imaging, surveillance, and industrial inspection.
This document provides an overview of image compression techniques. It defines key concepts like pixels, image resolution, and types of images. It then explains the need for compression to reduce file sizes and transmission times. The main compression methods discussed are lossless techniques like run-length encoding and Huffman coding, as well as lossy methods for images (JPEG) and video (MPEG) that remove redundant data. Applications of image compression include transmitting images over the internet faster and storing more photos on devices.
This document discusses image segmentation techniques. It describes how segmentation partitions an image into meaningful regions based on discontinuities or similarities in pixel intensity. The key methods covered are thresholding, edge detection using gradient and Laplacian operators, and the Hough transform for global line detection. Adaptive thresholding is also introduced as a technique to handle uneven illumination.
Spatial filtering using image processingAnuj Arora
(1) Spatial filtering is defined as operations performed on pixels within a neighborhood of an image using a mask or kernel. (2) Filters can be used to blur/smooth an image by reducing noise or sharpen an image by enhancing edges. (3) Common linear filtering methods include averaging, Gaussian, and derivative filters which are implemented using various mask patterns to modify pixels in the filtered image.
Image segmentation refers to decomposing a scene into components. There is no single correct segmentation. Segmentation techniques include edge-based, region-filling, color-based using color spaces, texture-based, disparity-based, motion-based, and techniques for documents, medical, range, and biometric images. The k-means clustering algorithm is commonly used to group similar pixels into segments via an iterative process of assignment and centroid update.
The document discusses computer vision with deep learning. It provides an overview of convolutional neural networks and their use in computer vision applications like image classification and object detection. Specifically, it discusses how CNNs use convolutional layers to learn visual features from images and provide examples of CNNs being used for pipeline defect classification and filler cap quality control.
This document discusses morphological image processing using mathematical morphology. It begins with an introduction to morphology in biology and its application to image analysis using set theory. The key concepts of dilation, erosion, opening and closing are explained. Dilation expands object boundaries while erosion shrinks them. Opening performs erosion followed by dilation to smooth contours, and closing performs dilation followed by erosion to fill small holes. Structuring elements determine the shape and size of operations. Morphological operations are useful for tasks like boundary extraction, noise removal, and feature detection.
The document discusses image restoration techniques. It describes how images can become degraded through phenomena like motion, improper camera focusing, and noise. The goal of image restoration is to recover the original high quality image from its degraded version using knowledge about the degradation process and types of noise. Common noise models include Gaussian, Rayleigh, Erlang, exponential, and impulse noise. Filtering techniques like mean, order statistics, and adaptive filters can be used for restoration by smoothing the image while preserving edges. The adaptive filters change based on local image statistics to better reduce noise with less blurring than regular filters.
The document discusses elements of visual perception including the structure of the human eye and image formation. It describes the cornea, iris, lens, retina and different types of receptors. It also covers brightness adaptation and discrimination. The next section explains digital image representation through uniform sampling, quantization and pixel relationships. Common operations like arithmetic, logical, and interpolation methods are also summarized.
The document discusses various techniques for image segmentation including discontinuity-based approaches, similarity-based approaches, thresholding methods, region-based segmentation using region growing and region splitting/merging. Key techniques covered include edge detection using gradient operators, the Hough transform for edge linking, optimal thresholding, and split-and-merge segmentation using quadtrees.
The document discusses digital image processing. It begins by defining an image and describing how images are represented digitally. It then outlines the main steps in digital image processing, including acquisition, enhancement, restoration, segmentation, representation, and recognition. It also discusses the key components of an image processing system, including hardware, software, storage, displays, and networking. Finally, it provides examples of application areas for digital image processing such as medical imaging, satellite imaging, and industrial inspection.
This document discusses morphological image processing techniques. It begins by explaining that morphology uses mathematical morphology operations to extract image components and describe shapes. It then outlines common morphological algorithms like dilation, erosion, opening, closing, and hit-or-miss transformations. Dilation enlarges object boundaries while erosion shrinks them. Opening can smooth contours and closing can fuse breaks or fill gaps. These operations use a structuring element to transform images. The document provides examples of using morphological filters and algorithms for tasks like noise removal, region filling, and connected component extraction.
The document discusses object recognition in computer vision. It begins with an overview of object recognition, describing it as the task of finding and identifying objects in images. It then discusses several specific applications of object recognition, including fingerprint recognition and license plate recognition. Fingerprint recognition involves extracting features called minutiae from fingerprint images, which are ridge endings and bifurcations. License plate recognition uses an ALPR system to segment character images, normalize them, and recognize the characters.
Presentation for the Berlin Computer Vision Group, December 2020 on deep learning methods for image segmentation: Instance segmentation, semantic segmentation, and panoptic segmentation.
The document discusses image segmentation techniques. It begins by defining segmentation as partitioning an image into distinct regions that correlate with objects or features of interest. The goal of segmentation is to find meaningful groups of pixels. Several segmentation techniques are described, including region growing/shrinking, clustering methods, and boundary detection. Region growing uses homogeneity tests to merge neighboring regions, while clustering divides space based on similarity within groups. Boundary detection finds boundaries between objects. The document provides examples and details of applying these segmentation methods.
Morphological image processing uses simple operations like erosion and dilation to remove imperfections from segmented images. Erosion shrinks objects while dilation enlarges them. More advanced techniques include opening, which erodes and then dilates, and closing, which dilates and then erodes. Boundary extraction outlines objects, while region filling takes a starting point and floods the interior of boundaries. Together these techniques provide tools for analyzing image shape and structure.
This document discusses morphological image processing and structuring elements. It introduces common morphological operations like erosion and dilation. Erosion shrinks the foreground and enlarges the background of an image, while dilation enlarges the foreground and shrinks the background. Examples are provided to illustrate these operations. Basic morphological algorithms like boundary extraction, region filling, and thinning are also summarized. Structuring elements are used with these algorithms to modify images.
Mathematical morphology is a framework for image analysis using set theory operations. It is used for tasks like noise filtering, shape analysis, and segmentation. Basic operations include erosion, dilation, opening, and closing using a structuring element. Erosion shrinks objects while dilation expands them. Opening eliminates small objects and closing fills small holes. Together these operations can filter images while preserving overall shapes. Morphological operations also enable extracting object boundaries, thinning images to skeletons, and finding connected components.
Image segmentation refers to partitioning a digital image into multiple regions or sets of pixels based on characteristics like color or texture. The goal is to simplify the image representation to make it easier to analyze. Some applications in medical imaging include locating tumors, measuring tissue volumes, and computer-guided surgery. Common segmentation techniques include thresholding, edge detection, region growing, and split-and-merge approaches.
Image segmentation is an important image processing step, and it is used everywhere if we want to analyze what is inside the image. Image segmentation, basically provide the meaningful objects of the image.
This document provides an overview of digital image processing and human vision. It discusses the key stages of digital image processing including image acquisition, enhancement, restoration, morphological processing, segmentation, representation and description, object recognition, and compression. It also covers the anatomy of the human eye, photoreceptors, color perception, image formation in the eye, brightness adaptation, and the Weber ratio relating the just noticeable difference in light intensity to background intensity. The document uses images and diagrams from the textbook "Digital Image Processing" to illustrate concepts in digital images and the human visual system.
introduction to Digital Image Processingnikesh gadare
The document provides an overview of the key concepts and stages involved in digital image processing. It discusses image acquisition, preprocessing such as enhancement and restoration, and post-processing which includes tasks like segmentation, description and recognition. The goal is to introduce fundamental concepts and classical methods of digital image processing. Various applications are also highlighted including medical imaging, surveillance, and industrial inspection.
This document provides an overview of image compression techniques. It defines key concepts like pixels, image resolution, and types of images. It then explains the need for compression to reduce file sizes and transmission times. The main compression methods discussed are lossless techniques like run-length encoding and Huffman coding, as well as lossy methods for images (JPEG) and video (MPEG) that remove redundant data. Applications of image compression include transmitting images over the internet faster and storing more photos on devices.
This document discusses image segmentation techniques. It describes how segmentation partitions an image into meaningful regions based on discontinuities or similarities in pixel intensity. The key methods covered are thresholding, edge detection using gradient and Laplacian operators, and the Hough transform for global line detection. Adaptive thresholding is also introduced as a technique to handle uneven illumination.
Spatial filtering using image processingAnuj Arora
(1) Spatial filtering is defined as operations performed on pixels within a neighborhood of an image using a mask or kernel. (2) Filters can be used to blur/smooth an image by reducing noise or sharpen an image by enhancing edges. (3) Common linear filtering methods include averaging, Gaussian, and derivative filters which are implemented using various mask patterns to modify pixels in the filtered image.
Image segmentation refers to decomposing a scene into components. There is no single correct segmentation. Segmentation techniques include edge-based, region-filling, color-based using color spaces, texture-based, disparity-based, motion-based, and techniques for documents, medical, range, and biometric images. The k-means clustering algorithm is commonly used to group similar pixels into segments via an iterative process of assignment and centroid update.
The document discusses computer vision with deep learning. It provides an overview of convolutional neural networks and their use in computer vision applications like image classification and object detection. Specifically, it discusses how CNNs use convolutional layers to learn visual features from images and provide examples of CNNs being used for pipeline defect classification and filler cap quality control.
This document discusses morphological image processing using mathematical morphology. It begins with an introduction to morphology in biology and its application to image analysis using set theory. The key concepts of dilation, erosion, opening and closing are explained. Dilation expands object boundaries while erosion shrinks them. Opening performs erosion followed by dilation to smooth contours, and closing performs dilation followed by erosion to fill small holes. Structuring elements determine the shape and size of operations. Morphological operations are useful for tasks like boundary extraction, noise removal, and feature detection.
The document discusses image restoration techniques. It describes how images can become degraded through phenomena like motion, improper camera focusing, and noise. The goal of image restoration is to recover the original high quality image from its degraded version using knowledge about the degradation process and types of noise. Common noise models include Gaussian, Rayleigh, Erlang, exponential, and impulse noise. Filtering techniques like mean, order statistics, and adaptive filters can be used for restoration by smoothing the image while preserving edges. The adaptive filters change based on local image statistics to better reduce noise with less blurring than regular filters.
The document discusses elements of visual perception including the structure of the human eye and image formation. It describes the cornea, iris, lens, retina and different types of receptors. It also covers brightness adaptation and discrimination. The next section explains digital image representation through uniform sampling, quantization and pixel relationships. Common operations like arithmetic, logical, and interpolation methods are also summarized.
The document discusses various techniques for image segmentation including discontinuity-based approaches, similarity-based approaches, thresholding methods, region-based segmentation using region growing and region splitting/merging. Key techniques covered include edge detection using gradient operators, the Hough transform for edge linking, optimal thresholding, and split-and-merge segmentation using quadtrees.
The document discusses digital image processing. It begins by defining an image and describing how images are represented digitally. It then outlines the main steps in digital image processing, including acquisition, enhancement, restoration, segmentation, representation, and recognition. It also discusses the key components of an image processing system, including hardware, software, storage, displays, and networking. Finally, it provides examples of application areas for digital image processing such as medical imaging, satellite imaging, and industrial inspection.
This document discusses morphological image processing techniques. It begins by explaining that morphology uses mathematical morphology operations to extract image components and describe shapes. It then outlines common morphological algorithms like dilation, erosion, opening, closing, and hit-or-miss transformations. Dilation enlarges object boundaries while erosion shrinks them. Opening can smooth contours and closing can fuse breaks or fill gaps. These operations use a structuring element to transform images. The document provides examples of using morphological filters and algorithms for tasks like noise removal, region filling, and connected component extraction.
The document discusses object recognition in computer vision. It begins with an overview of object recognition, describing it as the task of finding and identifying objects in images. It then discusses several specific applications of object recognition, including fingerprint recognition and license plate recognition. Fingerprint recognition involves extracting features called minutiae from fingerprint images, which are ridge endings and bifurcations. License plate recognition uses an ALPR system to segment character images, normalize them, and recognize the characters.
Presentation for the Berlin Computer Vision Group, December 2020 on deep learning methods for image segmentation: Instance segmentation, semantic segmentation, and panoptic segmentation.
The document discusses image segmentation techniques. It begins by defining segmentation as partitioning an image into distinct regions that correlate with objects or features of interest. The goal of segmentation is to find meaningful groups of pixels. Several segmentation techniques are described, including region growing/shrinking, clustering methods, and boundary detection. Region growing uses homogeneity tests to merge neighboring regions, while clustering divides space based on similarity within groups. Boundary detection finds boundaries between objects. The document provides examples and details of applying these segmentation methods.
Morphological image processing uses simple operations like erosion and dilation to remove imperfections from segmented images. Erosion shrinks objects while dilation enlarges them. More advanced techniques include opening, which erodes and then dilates, and closing, which dilates and then erodes. Boundary extraction outlines objects, while region filling takes a starting point and floods the interior of boundaries. Together these techniques provide tools for analyzing image shape and structure.
This document discusses morphological image processing and structuring elements. It introduces common morphological operations like erosion and dilation. Erosion shrinks the foreground and enlarges the background of an image, while dilation enlarges the foreground and shrinks the background. Examples are provided to illustrate these operations. Basic morphological algorithms like boundary extraction, region filling, and thinning are also summarized. Structuring elements are used with these algorithms to modify images.
This document summarizes key concepts in morphological image processing including dilation, erosion, opening, closing, and hit-or-miss transformations. Morphological operations manipulate image shapes and structures using structuring elements based on set theory operations. Dilation adds pixels to the boundaries of objects in an image, while erosion removes pixels on object boundaries. Opening can remove noise and smooth object contours, while closing can fill in small holes and fill gaps in object shapes. Hit-or-miss transformations are used to detect specific patterns of on and off pixels. These operations form the basis for morphological algorithms like boundary extraction.
This document discusses techniques for enhancing and analyzing thermal images using digital image processing. It begins with an overview of image enhancement, including highlighting details, removing noise, and increasing contrast. Thermal image enhancement is then discussed for applications in various fields. Key techniques covered include converting images to grayscale, histogram equalization, linear filtering for noise removal, morphology operations like erosion and dilation, and using fast Fourier transforms. A flowchart is proposed showing the sequence of applying these techniques to enhance an image.
Morphological image processing is a collection of non- linear operations related to the shape or morphology of features in an image.
Morphological Image processing is discussed in a brief manner
Morphological image processing uses mathematical morphology operations to extract image components and analyze shapes. The key operations are dilation, erosion, opening, closing, and hit-and-miss transforms. Dilation expands object boundaries while erosion shrinks them. Opening performs erosion followed by dilation to remove noise, and closing performs dilation then erosion to fill gaps. Hit-and-miss transforms detect patterns by matching a structuring element. Together these operations can extract useful features and analyze shapes in binary images.
Morphological image processing uses structuring elements to perform operations like erosion and dilation on binary images. Erosion removes pixels on object boundaries while dilation adds pixels. Opening performs erosion followed by dilation to remove noise, and closing performs dilation followed by erosion to fill in small holes and gaps. More advanced techniques like boundary extraction and region filling can be implemented using combinations of basic morphological operations.
morphological tecnquies in image processingsoma saikiran
it describes you about different types of morphological techniques in image processing and what is the function and applications of morphological tecniques in image processing
The document provides an overview of topics related to binary image analysis, including binary image analysis, connectedness in binary images, object labeling and counting, and size filtering. It discusses binary image analysis operations used to process binary images containing objects and background. It describes how connected component analysis can be used to identify and label separate objects in an image. Algorithms for object labeling and counting are presented. Finally, it discusses size filtering operations like shrinking and expanding that can be used to remove or join objects based on size criteria.
This document discusses morphological operations in image processing. It describes how morphological operations like erosion, dilation, opening, and closing can be used to extract shapes and boundaries from binary and grayscale images. Erosion shrinks foreground regions while dilation expands them. Opening performs erosion followed by dilation to remove noise, and closing does the opposite to join broken parts. The hit-and-miss transform is also introduced to detect patterns in binary images using a structuring element containing foreground and background pixels. Examples are provided to illustrate each morphological operation.
Morphological operations like dilation and erosion are non-linear image transformations used to extract shape-related information from images by processing objects based on their morphology or shape properties using a structuring element, with dilation adding pixels to object boundaries and erosion removing pixels from object boundaries. The size and shape of the structuring element controls the number of pixels added or removed during these operations, which are used for tasks like noise removal, feature extraction, and image segmentation.
This document discusses morphological image processing techniques. It defines morphological operations as non-linear operations related to the shape or morphology of features in an image. Specifically, it describes dilation, opening, and closing on binary images. Dilation expands shapes by adding pixels to boundaries, acting as a local maximum filter. Opening removes narrow connections between regions by first eroding and then dilating. Closing fills narrow holes by first dilating and then eroding. Both opening and closing use the same structuring element for the erosion and dilation.
Morphological image processing uses mathematical morphology tools to extract image components and describe shapes. Some key tools include binary erosion and dilation, which thin and thicken objects. Erosion shrinks objects while dilation grows them. Opening and closing are combinations of erosion and dilation that smooth contours or fill gaps. The hit-or-miss transform detects shapes by requiring matches of foreground and background pixels. Other algorithms include boundary extraction, hole filling, and thinning to find skeletons, which are medial axes of object shapes.
This document discusses different morphological image processing techniques including dilation, erosion, opening, closing, and top-hat transformation. It provides examples of applying these techniques to grayscale images with different structuring element radii. The document indicates that the student's implementations of top-hat transformation with radii of 2 and 10 were unsuccessful at enhancing light objects, likely due to errors in the program, as the results had inconsistent features and it is unclear what happened with the larger radius. Figures are included showing the Guide User Interface results for comparison.
At the end of this lecture, you should be able to;
describe the importance of morphological features in an image.
describe the operation of erosion, dilation, open and close operations.
identify the practical advantage of the morphological operations.
apply morphological operations for problem solving.
This document provides an overview of object recognition techniques. It begins by defining object recognition and describing its main challenges, including viewpoint changes, illumination, clutter, occlusion, and intra-class variations. It then outlines common object recognition approaches, including 2D-based recognition using global and local descriptors, and bag-of-words models. Bag-of-words models represent images as histograms of visual word frequencies. The document explains how bag-of-words representations are constructed by extracting local features from images, clustering them to form a visual vocabulary or codebook, and quantizing features to this codebook.
This document discusses the application of morphological image processing in forensics for fingerprint enhancement. It provides background on morphological operations like dilation, erosion, opening and closing. It explains how these operations can be used to enhance degraded fingerprints by thickening ridges, joining broken ridges, and separating overlapped ridges. The morphological image processing concepts are implemented in Java to experimentally enhance fingerprint images and reduce noise.
Binary images and Morphology - Computer Visionothersk46
This document discusses binary image analysis and mathematical morphology operations. It begins with an introduction to binary images and thresholding grayscale images. Connected component labeling is described as a way to identify and analyze individual objects in a binary image. The document then covers the basic mathematical morphology operations of dilation and erosion using a structuring element. It defines opening and closing operations as combinations of erosion and dilation that can be used to filter images. Examples of applying these operations to binary texts and images are provided.
Face recognition using view morphing aims to generate intermediate face images from different poses and expressions to aid recognition. It uses feature-based field morphing on pose images and mesh warping on expression images to generate intermediate frames. Experiments show recognition accuracy decreases after morphing, likely due to changes in image shape and size affecting features. While view morphing provides a new approach, shortcomings like unwanted feature information must still be addressed.
Convolutional Neural Network - CNN | How CNN Works | Deep Learning Course | S...Simplilearn
A Convolutional Neural Network (CNN) is a type of neural network that can process grid-like data like images. It works by applying filters to the input image to extract features at different levels of abstraction. The CNN takes the pixel values of an input image as the input layer. Hidden layers like the convolution layer, ReLU layer and pooling layer are applied to extract features from the image. The fully connected layer at the end identifies the object in the image based on the extracted features. CNNs use the convolution operation with small filter matrices that are convolved across the width and height of the input volume to compute feature maps.
Chap.3 Knowledge Representation Issues Chap.4 Inference in First Order LogicKhushali Kathiriya
Knowledge–based agents,
The Wumpus world Logic,
Propositional logic,
Propositional theorem proving
Effective propositional model checking,
Agents based on propositional logic,
First Order Logic,
Forward Chaining/ Resolution,
Backward Chaining/ Resolution,
Unification Algorithm, Resolution,
Clausal Normal Form (CNF)
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise boosts blood flow and levels of neurotransmitters and endorphins which elevate and stabilize mood.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise stimulates the production of endorphins in the brain which can help alleviate feelings of stress or sadness.
The document discusses understanding in artificial intelligence. It defines understanding as the process of simulating human intelligence through machine learning and algorithms. Machine learning can be supervised, involving labeled training examples to minimize error, or unsupervised, where the system finds common characteristics in unlabeled data. Understanding is also discussed in relation to constraint satisfaction problems, where conditions must be met, like in map coloring or Sudoku puzzles. Backtracking is used to systematically search for solutions that satisfy all constraints.
This document discusses weak slot and filler structures in artificial intelligence. It describes semantic net representation, which represents knowledge as a graphical network of nodes and arcs. It provides examples of representing statements about a cat named Jerry in a semantic net. The document also discusses frame representation, which organizes knowledge into structured records called frames that contain slots and slot values. An example frame is provided for a person named Ram. Advantages and disadvantages of both semantic nets and frames are outlined.
This document provides an overview of uncertainty in artificial intelligence and probabilistic reasoning. It discusses sources of uncertainty like uncertain input, knowledge, and output. Probabilistic reasoning uses probability to represent uncertain knowledge. The document introduces basic probability notation including propositions, atomic events, unconditional probability, conditional probability, independence, and Bayes' rule. It explains how to perform inference using full joint probability distributions and marginalization. The document was prepared by Prof. Khushali B Kathiriya and provides an introduction to representing and reasoning with uncertainty in AI systems.
This document discusses symbolic reasoning under uncertainty. It introduces monotonic reasoning, where conclusions remain valid even when new information is added, and non-monotonic reasoning, where conclusions can be invalidated by new information. For non-monotonic reasoning, it provides an example where concluding a bird can fly is invalidated by learning the bird is a penguin. The document is presented by Prof. Khushali B Kathiriya and outlines introduction to monotonic reasoning, introduction to non-monotonic reasoning, and an example of non-monotonic reasoning logic.
The document discusses knowledge representation using rules in artificial intelligence. It covers procedural versus declarative knowledge, forward chaining and backward chaining. Forward chaining starts with known facts and applies rules to reach a goal, working from bottom to top. Backward chaining starts at the goal and works backwards through rules to find supporting facts, using a top-down approach. An example of selling missiles to prove someone is a criminal is used to illustrate both forward and backward chaining techniques.
This document discusses knowledge representation in artificial intelligence. It covers various techniques for knowledge representation including logical representation using propositional logic and first-order predicate logic, semantic network representation, frame representation, and production rules. It also discusses issues in knowledge representation such as representing important attributes, relationships, and granularity of knowledge. Propositional logic is introduced as the simplest form of logic where statements are represented by propositions that can be either true or false. The syntax and semantics of propositional logic are also covered.
Here are the key AI techniques discussed in the document:
- Tree searching techniques like depth-first search, breadth-first search, uniform cost search, A* search, and heuristic search methods.
- Rule-based systems that apply rules to deduce conclusions.
- Constraint satisfaction techniques that find solutions that satisfy constraints.
- Generate and test approaches that generate candidate solutions and test them against requirements.
- Description and matching techniques that describe states and match them to goals.
- Goal reduction techniques that hierarchically reduce goals to subgoals.
The document discusses these techniques as common approaches used to solve different types of AI problems. It provides examples but does not go into detailed explanations of each technique.
Leveraging Generative AI to Drive Nonprofit InnovationTechSoup
In this webinar, participants learned how to utilize Generative AI to streamline operations and elevate member engagement. Amazon Web Service experts provided a customer specific use cases and dived into low/no-code tools that are quick and easy to deploy through Amazon Web Service (AWS.)
Walmart Business+ and Spark Good for Nonprofits.pdfTechSoup
"Learn about all the ways Walmart supports nonprofit organizations.
You will hear from Liz Willett, the Head of Nonprofits, and hear about what Walmart is doing to help nonprofits, including Walmart Business and Spark Good. Walmart Business+ is a new offer for nonprofits that offers discounts and also streamlines nonprofits order and expense tracking, saving time and money.
The webinar may also give some examples on how nonprofits can best leverage Walmart Business+.
The event will cover the following::
Walmart Business + (https://business.walmart.com/plus) is a new shopping experience for nonprofits, schools, and local business customers that connects an exclusive online shopping experience to stores. Benefits include free delivery and shipping, a 'Spend Analytics” feature, special discounts, deals and tax-exempt shopping.
Special TechSoup offer for a free 180 days membership, and up to $150 in discounts on eligible orders.
Spark Good (walmart.com/sparkgood) is a charitable platform that enables nonprofits to receive donations directly from customers and associates.
Answers about how you can do more with Walmart!"
How to Setup Warehouse & Location in Odoo 17 InventoryCeline George
In this slide, we'll explore how to set up warehouses and locations in Odoo 17 Inventory. This will help us manage our stock effectively, track inventory levels, and streamline warehouse operations.
Main Java[All of the Base Concepts}.docxadhitya5119
This is part 1 of my Java Learning Journey. This Contains Custom methods, classes, constructors, packages, multithreading , try- catch block, finally block and more.
This document provides an overview of wound healing, its functions, stages, mechanisms, factors affecting it, and complications.
A wound is a break in the integrity of the skin or tissues, which may be associated with disruption of the structure and function.
Healing is the body’s response to injury in an attempt to restore normal structure and functions.
Healing can occur in two ways: Regeneration and Repair
There are 4 phases of wound healing: hemostasis, inflammation, proliferation, and remodeling. This document also describes the mechanism of wound healing. Factors that affect healing include infection, uncontrolled diabetes, poor nutrition, age, anemia, the presence of foreign bodies, etc.
Complications of wound healing like infection, hyperpigmentation of scar, contractures, and keloid formation.
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPRAHUL
This Dissertation explores the particular circumstances of Mirzapur, a region located in the
core of India. Mirzapur, with its varied terrains and abundant biodiversity, offers an optimal
environment for investigating the changes in vegetation cover dynamics. Our study utilizes
advanced technologies such as GIS (Geographic Information Systems) and Remote sensing to
analyze the transformations that have taken place over the course of a decade.
The complex relationship between human activities and the environment has been the focus
of extensive research and worry. As the global community grapples with swift urbanization,
population expansion, and economic progress, the effects on natural ecosystems are becoming
more evident. A crucial element of this impact is the alteration of vegetation cover, which plays a
significant role in maintaining the ecological equilibrium of our planet.Land serves as the foundation for all human activities and provides the necessary materials for
these activities. As the most crucial natural resource, its utilization by humans results in different
'Land uses,' which are determined by both human activities and the physical characteristics of the
land.
The utilization of land is impacted by human needs and environmental factors. In countries
like India, rapid population growth and the emphasis on extensive resource exploitation can lead
to significant land degradation, adversely affecting the region's land cover.
Therefore, human intervention has significantly influenced land use patterns over many
centuries, evolving its structure over time and space. In the present era, these changes have
accelerated due to factors such as agriculture and urbanization. Information regarding land use and
cover is essential for various planning and management tasks related to the Earth's surface,
providing crucial environmental data for scientific, resource management, policy purposes, and
diverse human activities.
Accurate understanding of land use and cover is imperative for the development planning
of any area. Consequently, a wide range of professionals, including earth system scientists, land
and water managers, and urban planners, are interested in obtaining data on land use and cover
changes, conversion trends, and other related patterns. The spatial dimensions of land use and
cover support policymakers and scientists in making well-informed decisions, as alterations in
these patterns indicate shifts in economic and social conditions. Monitoring such changes with the
help of Advanced technologies like Remote Sensing and Geographic Information Systems is
crucial for coordinated efforts across different administrative levels. Advanced technologies like
Remote Sensing and Geographic Information Systems
9
Changes in vegetation cover refer to variations in the distribution, composition, and overall
structure of plant communities across different temporal and spatial scales. These changes can
occur natural.
Communicating effectively and consistently with students can help them feel at ease during their learning experience and provide the instructor with a communication trail to track the course's progress. This workshop will take you through constructing an engaging course container to facilitate effective communication.
4. Key Stages in Digital Image Processing
Image
Acquisition
Image
Restoration
Morphological
Processing
Segmentation
Representation
& Description
Image
Enhancement
Object
Recognition
Problem Domain
Colour Image
Processing
Image
Compression
Prepared by: Prof. Khushali B Kathiriya
4
5. Key Stages in Digital Image Processing:
Morphological Processing
Image
Acquisition
Image
Restoration
Morphological
Processing
Segmentation
Representation
& Description
Image
Enhancement
Object
Recognition
Problem Domain
Colour Image
Processing
Image
Compression
Prepared by: Prof. Khushali B Kathiriya
5
6. Contents
• Once segmentation is complete, morphological operations can be used
to remove imperfections in the segmented image and provide
information on the form and structure of the image
• In this lecture we will consider
• What is morphology?
• Simple morphological operations
• Compound operations
• Morphological algorithms
7. 1, 0, Black, White?
• Throughout all of the following slides whether 0 and 1 refer to white or black is
a little interchangeable
• All of the discussion that follows assumes segmentation has already taken place
and that images are made up of 0s for background pixels and 1s for object pixels
• After this it doesn’t matter if 0 is black, white, yellow, green…….
8. What Is Morphology?
• Morphological image processing (or morphology) describes a range of image
processing techniques that deal with the shape (or morphology) of features in an
image
• Morphological operations are typically applied to remove imperfections
introduced during segmentation, and so typically operate on bi-level images
10. Structuring Elements, Hits & Fits
B
A
C
Structuring Element
Fit: All on pixels in the
structuring element cover on
pixels in the image
Hit: Any on pixel in the
structuring element covers
an on pixel in the image
All morphological processing operations are based on these simple ideas
11. Structuring Elements
• Structuring elements can be of any size and make any shape
• However, for simplicity we will use rectangular structuring elements with their
origin at the middle pixel
1 1 1
1 1 1
1 1 1
0 0 1 0 0
0 1 1 1 0
1 1 1 1 1
0 1 1 1 0
0 0 1 0 0
0 1 0
1 1 1
0 1 0
12. What is use of Hit, Miss and Fit?
• Hit and miss algorithm can be used to thin and skeletonize a shape in a binary
image.
Prepared by: Prof. Khushali B Kathiriya
12
15. Fundamental Operations
• Fundamentally morphological image processing is very much like spatial
filtering
• The structuring element is moved across every pixel in the original image to
give a pixel in a new processed image
• The value of this new pixel depends on the operation performed
• There are two basic morphological operations: erosion and dilation
17. Erosion
• Erosion of image f by structuring element s is given by f s
• The structuring element s is positioned with its origin at (x, y) and the new pixel
value is determined using the rule:
=
otherwise
0
fits
if
1
)
,
(
f
s
y
x
g
20. Erosion Example 1
Watch out: In these examples a 1 refers to a black pixel!
Original image Erosion by 3*3
square structuring
element
Erosion by 5*5
square structuring
element
21. Erosion Example 2
• It acts as a morphological filtering operation in which image details smaller than
the structuring elements are filtered from the image
Original
image
After erosion
with a disc of
radius 10
After erosion
with a disc of
radius 20
After erosion
with a disc of
radius 5
22. What Is Erosion For?
Erosion can split apart joined objects
Erosion can strip away extrusions
Watch out: Erosion shrinks objects
Erosion can split apart
26. Dilation
• Dilation of image f by structuring element s is given by f s
• The structuring element s is positioned with its origin at (x, y) and the new
pixel value is determined using the rule:
=
otherwise
0
hits
if
1
)
,
(
f
s
y
x
g
29. Dilation Example 1
Original image Dilation by 3*3
square structuring
element
Dilation by 5*5
square structuring
element
Watch out: In these examples a 1 refers to a black pixel!
31. What Is Dilation For?
Dilation can repair breaks or bridges the gap
Dilation can repair intrusions
Watch out: Dilation enlarges objects
32. Dilation
• Advantage of dilation over low pass filter used to bridge the gap is that
• dilation results directly in binary image.
• Low pass filter starts with a binary image and produce a gray scale image , which
would require a pass with a threholding function to convert it back to binary form
36. Compound Operations
• More interesting morphological operations can be performed by performing
combinations of erosions and dilations
• The most widely used of these compound operations are:
• Opening
• Closing
38. Opening
• The opening of image f by structuring element s, denoted f ○ s is simply an
erosion followed by a dilation
f ○ s = (f s) s
Original shape After erosion After dilation
(opening)
Note a disc shaped structuring element is used
44. Closing
• The closing of image f by structuring element s, denoted f • s is simply a
dilation followed by an erosion
f • s = (f s) s
Original shape After dilation After erosion
(closing)
Note a disc shaped structuring element is used
48. Advantages of closing
• Closing also tends to smooth sections of contours
• It generally fuses narrow breaks and long thin gulfs
• It eliminates small holes and fills gaps in the contour
50. Morphological Algorithms
• Using the simple technique we have looked at so far we can begin to
consider some more interesting morphological algorithms
• We will look at:
• Boundary extraction
• Region filling
• There are lots of others as well though:
• Extraction of connected components
• Thinning/thickening
• Skeletonisation
52. Boundary Extraction
• Extracting the boundary (or outline) of an object is often extremely useful
• The boundary can be given simply as
• β(A) = A – (AB)
53. Boundary Extraction Example
• A simple image and the result of performing boundary extraction using a square
3*3 structuring element
Original Image Extracted Boundary
55. Contents
• Today we will continue to look at the problem of segmentation, this
time though in terms of thresholding
• In particular we will look at:
• What is thresholding?
• Simple thresholding
• Adaptive thresholding
56. Thresholding
• Thresholding is usually the first step in any segmentation approach
• We have talked about simple single value thresholding already
• Thresholding is used to produce regions of uniformity within the given image
based on some threshold criteria T
57. Thresholding
• Single value thresholding can be given mathematically as follows:
=
T
y
x
f
if
T
y
x
f
if
y
x
g
)
,
(
0
)
,
(
1
)
,
(
58. Thresholding Example
• Imagine a poker playing robot that needs to visually interpret the cards in its
hand
Original Image Thresholded Image
59. But Be Careful
• If you get the threshold wrong, the results can be disastrous
Threshold Too Low Threshold Too High
60. Basic Global Thresholding
• Based on the histogram of an image
• Partition the image histogram using a single global threshold
• The success of this technique very strongly depends on how well the histogram
can be partitioned
• Types of thresholding :-
1) Global thresholding
2) Local thresholding
61. Basic Global Thresholding Algorithm
The basic global threshold, T, is calculated
as follows:
1. Select an initial estimate for T (typically the average grey level in the image)
2. Segment the image using T to produce two groups of pixels:
1. G1 consisting of pixels with grey levels >T
2. G2 consisting pixels with grey levels ≤ T
3. Compute the average grey levels of pixels in G1 to give μ1 and G2 to give μ2
62. Basic Global Thresholding Algorithm
4. Compute a new threshold value:
5. Repeat steps 2 – 4 until the difference in T in successive iterations is less than a
predefined limit T∞
This algorithm works very well for finding thresholds when the histogram is
suitable
2
2
1
+
=
T
65. Problems With Single Value Thresholding
• Single value thresholding only works for bimodal histograms
• Images with other kinds of histograms need more than a single threshold
66. Problems With Single Value Thresholding (cont…)
• Let’s say we want to isolate the contents
of the bottles
• Think about what the histogram for this
image would look like
• What would happen if we used a single
threshold value?
67. Single Value Thresholding and Illumination
Uneven illumination can really upset a single valued thresholding
scheme
68. Basic Adaptive Thresholding
• An approach to handle situations in which single value thresholding will not
work is to divide an image into sub images and threshold these individually
• Since the threshold for each pixel depends on its location within an image this
technique is said to adaptive
69. Basic Adaptive Thresholding Example
• The image below shows an example of using adaptive thresholding with
the image shown previously
• As can be seen success is mixed
• But, we can further subdivide the troublesome sub images for more
success
70. Basic Adaptive Thresholding Example (cont…)
• These images show the
troublesome parts of the previous
problem further subdivided
• After this sub division successful
thresholding can be achieved
71. Summary
• In this lecture we have begun looking at segmentation, and in particular
thresholding
• We saw the basic global thresholding algorithm and its shortcomings
• We also saw a simple way to overcome some of these limitations using
adaptive thresholding
72. Contents
• So far we have been considering image processing techniques used to
transform images for human interpretation
• Today we will begin looking at automated image analysis by
examining the thorny issue of image segmentation:
• The segmentation problem
• Finding points, lines and edges
74. The Segmentation Problem
• Segmentation attempts to partition the pixels of an image into groups that
strongly correlate with the objects in an image
• Typically the first step in any automated computer vision application
75. The Segmentation Problem
• Image Segmentation can be achieved in any one of two ways:-
1) Segmentation based on discontinuities in intensity – it partitions the image based
on abrupt changes in intensity, such as edges
2) Segmentation based on similarities in intensity – it divides the image into regions that
are similar according to a set of predefined criteria
77. Detection Of Discontinuities
• There are three basic types of grey level discontinuities that we
tend to look for in digital images:
1. Points
2. Lines
3. Edges
• We typically find discontinuities using masks and correlation
• These all are high frequency components hence we need mask
which are basically high pass
79. Point Detection
• Point detection can be achieved simply using the mask
below:
• Points are detected at those pixels in the subsequent
filtered image that are above a set threshold
83. Line Detection
• The next level of complexity is to try to detect lines
• The masks below will extract lines that are one pixel thick and running in a
particular direction
89. Edge Detection
An edge is a set of connected pixels that lie on the boundary between two regions
90. Edges & Derivatives
• We have already spoken
about how derivatives
are used to find
discontinuities
• 1st derivative tells us
where an edge is
• 2nd derivative can
be used to show
edge direction
91. Derivatives & Noise
• Derivative based edge detectors are extremely sensitive to noise
• We need to keep this in mind
92. Common Edge Detectors
• Given a 3*3 region of an image the following edge detection filters can be used
99. Edge Detection Problems
• Often, problems arise in edge detection in that there are is too much detail
• For example, the brickwork in the previous example
• One way to overcome this is to smooth images prior to edge detection
100. Edge Detection Example With Smoothing
Original Image Horizontal Gradient Component
Vertical Gradient Component Combined Edge Image
102. Laplacian Edge Detection
• We encountered the 2nd-order derivative based Laplacian filter already
• The Laplacian is typically not used by itself as it is too sensitive to noise
• Usually when used for edge detection the Laplacian is combined with a smoothing
Gaussian filter
104. Laplacian Of Gaussian
• The Laplacian of Gaussian (or Mexican hat) filter uses
the Gaussian for noise removal and the Laplacian for
edge detection
106. Summary
• In this lecture we have begun looking at segmentation, and in particular
edge detection
• Edge detection is massively important as it is in many cases the first step
to object recognition
108. Active Contour (Boundary Detection)
• Segmentation is a section of image processing for the separation or segregation
of information from the required target region of the image. There are different
techniques used for segmentation of pixels of interest from the image.
• Active contour is one of the active models in segmentation techniques, which
makes use of the energy constraints and forces in the image for separation of
region of interest. Active contour defines a separate boundary or curvature for
the regions of target object for segmentation.
Prepared by: Prof. Khushali B Kathiriya
108
109. Active Contour(Cont.)
• Application of Active Contour
• Medical Imaging
• Brain CT images
• MRI images
• Cardiac images
• Motion Tracking
• Stereo Tracking
Prepared by: Prof. Khushali B Kathiriya
109
110. What is Active Contour?
Prepared by: Prof. Khushali B Kathiriya
110
111. What is Active Contour?
Prepared by: Prof. Khushali B Kathiriya
111
112. Example of Active Contour
Prepared by: Prof. Khushali B Kathiriya
112
113. Example of Active Contour (Cont.)
Prepared by: Prof. Khushali B Kathiriya
113
Medical Imaging
114. Example of Active Contour (Cont.)
Prepared by: Prof. Khushali B Kathiriya
114
Motion Tracking
116. SIFT Features
• SIFT stands for Scale-Invariant Feature Transform and was first presented in 2004,
by D.Lowe, University of British Columbia. SIFT is invariance to image scale and rotation.
Prepared by: Prof. Khushali B Kathiriya
116
117. SIFT Features (Cont.)
• Major advantages of SIFT are
• Locality: features are local, so robust to occlusion and clutter (no prior segmentation)
• Distinctiveness: individual features can be matched to a large database of objects
• Quantity: many features can be generated for even small objects
• Efficiency: close to real-time performance
• Extensibility: can easily be extended to a wide range of different feature types, with
each adding robustness
Prepared by: Prof. Khushali B Kathiriya
117
127. SIFT for 3D objects?
• Not really match for all cases..
Prepared by: Prof. Khushali B Kathiriya
127
128. The Algorithm
• SIFT is quite an involved algorithm. There are mainly four steps involved in the
SIFT algorithm. We will see them one-by-one.
• Scale-space peak selection: Potential location for finding features.
• Keypoint Localization: Accurately locating the feature keypoints.
• Orientation Assignment: Assigning orientation to keypoints.
• Keypoint descriptor: Describing the keypoints as a high dimensional vector.
• Keypoint Matching
Prepared by: Prof. Khushali B Kathiriya
128
130. The SIFT algorithm
• The resplendent Eiffel Tower, of course! The keen-eyed among you will also have noticed that each
image has a different background, is captured from different angles, and also has different objects in
the foreground (in some cases).
• I’m sure all of this took you a fraction of a second to figure out. It doesn’t matter if the image is
rotated at a weird angle or zoomed in to show only half of the Tower. This is primarily because you
have seen the images of the Eiffel Tower multiple times and your memory easily recalls its features.
We naturally understand that the scale or angle of the image may change but the object remains the
same.
• But machines have an almighty struggle with the same idea. It’s a challenge for them to identify the
object in an image if we change certain things (like the angle or the scale). Here’s the good news –
machines are super flexible and we can teach them to identify images at an almost human-level.
Prepared by: Prof. Khushali B Kathiriya
130
131. We will seen….
1. Introduction to SIFT
2. Constructing a Scale Space
1. Gaussian Blur
2. Difference of Gaussian
3. Keypoint Localization
1. Local Maxima/Minima
2. Keypoint Selection
4. Orientation Assignment
1. Calculate Magnitude & Orientation
2. Create Histogram of Magnitude & Orientation
5. Keypoint Descriptor
6. Feature Matching
Prepared by: Prof. Khushali B Kathiriya
131
132. Introduction to SIFT
• SIFT, or Scale Invariant Feature Transform, is a feature detection
algorithm in Computer Vision.
• SIFT helps locate the local features in an image, commonly known
as the ‘keypoints‘ of the image. These keypoints are scale & rotation
invariant that can be used for various computer vision
applications, like image matching, object detection, scene
detection, etc.
• For example, here is another image of the Eiffel Tower along with
its smaller version. The keypoints of the object in the first image
are matched with the keypoints found in the second image. The
same goes for two images when the object in the other image is
slightly rotated.
Prepared by: Prof. Khushali B Kathiriya
132
133. Introduction to SIFT (Cont.)
• Constructing a Scale Space: To make sure that features are scale-independent
• Keypoint Localisation: Identifying the suitable features or keypoints
• Orientation Assignment: Ensure the keypoints are rotation invariant
• Keypoint Descriptor: Assign a unique fingerprint to each keypoint
Prepared by: Prof. Khushali B Kathiriya
133
134. Constructing the scale space
• We use the Gaussian Blurring technique to reduce the noise in an image.
• So, for every pixel in an image, the Gaussian Blur calculates a value based on its
neighboring pixels. Below is an example of image before and after applying the
Gaussian Blur. As you can see, the texture and minor details are removed from
the image and only the relevant information like the shape and edges remain:
Prepared by: Prof. Khushali B Kathiriya
134
135. Constructing the scale space (Cont.)
• Hence, these blur images are created for multiple scales. To create a new set of
images of different scales, we will take the original image and reduce the scale
by half. For each new image, we will create blur versions as we saw above.
Prepared by: Prof. Khushali B Kathiriya
135
137. Difference of Gaussian
• Difference of Gaussian is a feature
enhancement algorithm that involves
the subtraction of one blurred version of
an original image from another, less
blurred version of the original.
Prepared by: Prof. Khushali B Kathiriya
137
138. Difference of Gaussian
• Let us create the DoG for the
images in scale space. Take a look
at the below diagram. On the left,
we have 5 images, all from the
first octave (thus having the same
scale). Each subsequent image is
created by applying the Gaussian
blur over the previous image.
• On the right, we have four images
generated by subtracting the
consecutive Gaussians.
Prepared by: Prof. Khushali B Kathiriya
138
139. Keypoint Localization
• Once the images have been created, the next step is to find the important
keypoints from the image that can be used for feature matching. The idea is to
find the local maxima and minima for the images. This part is divided into two
steps:
1. Find the local maxima and minima
2. Remove low contrast keypoints (keypoint selection)
Prepared by: Prof. Khushali B Kathiriya
139
140. Keypoint Localization
• This means that every pixel value is compared with 26
other pixel values to find whether it is the local
maxima/minima. For example, in the below diagram, we
have three images from the first octave. The pixel
marked x is compared with the neighboring pixels (in
green) and is selected as a keypoint if it is the highest or
lowest among the neighbors:
• We now have potential keypoints that represent the
images and are scale-invariant. We will apply the last
check over the selected keypoints to ensure that these
are the most accurate keypoints to represent the image.
Prepared by: Prof. Khushali B Kathiriya
140
141. Orientation Assignment
• At this stage, we have a set of stable keypoints for the images. We will now
assign an orientation to each of these keypoints so that they are invariant to
rotation. We can again divide this step into two smaller steps:
1. Calculate the magnitude and orientation
2. Create a histogram for magnitude and orientation
Prepared by: Prof. Khushali B Kathiriya
141
142. Orientation Assignment
• Let’s say we want to find the magnitude and orientation for
the pixel value in red. For this, we will calculate the
gradients in x and y directions by taking the difference
between 55 & 46 and 56 & 42. This comes out to be Gx = 9
and Gy = 14 respectively.
• Once we have the gradients, we can find the magnitude and
orientation using the following formulas:
• Magnitude = √[(Gx)2+(Gy)2] = 16.64
• Φ = atan(Gy / Gx) = atan(1.55) = 57.17
Prepared by: Prof. Khushali B Kathiriya
142
143. Keypoint Descriptor
• This is the final step for SIFT. So far, we have stable keypoints that are scale-
invariant and rotation invariant. In this section, we will use the neighboring
pixels, their orientations, and magnitude, to generate a unique fingerprint for
this keypoint called a ‘descriptor’.
• Additionally, since we use the surrounding pixels, the descriptors will be
partially invariant to illumination or brightness of the images.
• We will first take a 16×16 neighborhood around the keypoint. This 16×16 block is
further divided into 4×4 sub-blocks and for each of these sub-blocks, we generate
the histogram using magnitude and orientation.
Prepared by: Prof. Khushali B Kathiriya
143
148. HOG (Histogram of Oriented Gradients)
• Consider the below image of size (180 x 280). Let us take a detailed look at how
the HOG features will be created for this image:
Prepared by: Prof. Khushali B Kathiriya
148
149. HOG (Histogram of Oriented Gradients) (Cont.)
• Step:1 Preprocessed Data (64 x128)
• We need to preprocess the image and bring down the width to height ratio to 1:2. The
image size should preferably be 64 x 128. This is because we will be dividing the
image into 8*8 and 16*16 patches to extract the features. Having the specified size (64
x 128) will make all our calculations pretty simple. In fact, this is the exact value used
in the original paper.
Prepared by: Prof. Khushali B Kathiriya
149
150. HOG (Histogram of Oriented Gradients) (Cont.)
• Step:2 Calculating Gradients (direction x and y)
• The next step is to calculate the gradient for every pixel in the image. Gradients are
the small change in the x and y directions. Here, I am going to take a small patch
from the image and calculate the gradients on that:
Prepared by: Prof. Khushali B Kathiriya
150
151. HOG (Histogram of Oriented Gradients) (Cont.)
• I have highlighted the pixel value 85. Now, to determine the gradient (or change)
in the x-direction, we need to subtract the value on the left from the pixel value
on the right. Similarly, to calculate the gradient in the y-direction, we will
subtract the pixel value below from the pixel value above the selected pixel.
• Hence the resultant gradients in the x and y direction for this pixel are:
• Change in X direction(Gx) = 89 – 78 = 11
• Change in Y direction(Gy) = 68 – 56 = 8
Prepared by: Prof. Khushali B Kathiriya
151
152. HOG (Histogram of Oriented Gradients) (Cont.)
• Step 3: Calculate the Magnitude and Orientation
• The gradients are basically the base and perpendicular here. So, for the previous
example, we had Gx and Gy as 11 and 8. Let’s apply the Pythagoras theorem to
calculate the total gradient magnitude:
• Total Gradient Magnitude = √[(Gx)2+(Gy)2]
• Total Gradient Magnitude = √[(11)2+(8)2] = 13.6
• Next, calculate the orientation (or direction) for the same pixel. We know that we can
write the tan for the angles:
• tan(Φ) = Gy / Gx
• Hence, the value of the angle would be:
• Φ = atan(Gy / Gx) =atan(8/11)= 36
Prepared by: Prof. Khushali B Kathiriya
152
153. HOG (Histogram of Oriented Gradients) (Cont.)
• Step 4: Create Histograms using Gradients and Orientation
• A histogram is a plot that shows the frequency distribution of a set of continuous
data. We have the variable (in the form of bins) on the x-axis and the frequency on
the y-axis. Here, we are going to take the angle or orientation on the x-axis and the
frequency on the y-axis.
• we can use the gradient magnitude to fill the values in the matrix.
Prepared by: Prof. Khushali B Kathiriya
153
154. HOG (Histogram of Oriented Gradients) (Cont.)
• Step: 5 Calculate Histogram of Gradients in 8×8 cells (9×1)
• The histograms created in the HOG feature descriptor are not
generated for the whole image. Instead, the image is divided into
8×8 cells, and the histogram of oriented gradients is computed for
each cell. Why do you think this happens?
• By doing so, we get the features (or histogram) for the smaller
patches which in turn represent the whole image. We can certainly
change this value here from 8 x 8 to 16 x 16 or 32 x 32.
• If we divide the image into 8×8 cells and generate the histograms,
we will get a 9 x 1 matrix for each cell. This matrix is generated
using method 4 that we discussed in the previous section.
Prepared by: Prof. Khushali B Kathiriya
154
155. HOG (Histogram of Oriented Gradients) (Cont.)
• Step: 6 Normalize gradients in 16×16 cell (36×1)
• Before we understand how this is done, it’s important to understand why this is done
in the first place.
• Although we already have the HOG features created for the 8×8 cells of the image,
the gradients of the image are sensitive to the overall lighting. This means that for a
particular picture, some portion of the image would be very bright as compared to
the other portions.
• We cannot completely eliminate this from the image. But we can reduce this lighting
variation by normalizing the gradients by taking 16×16 blocks. Here is an example
that can explain how 16×16 blocks are created:
Prepared by: Prof. Khushali B Kathiriya
155
156. HOG (Histogram of Oriented Gradients) (Cont.)
Prepared by: Prof. Khushali B Kathiriya
156
157. HOG (Histogram of Oriented Gradients) (Cont.)
• Here, we will be combining four 8×8 cells to create a 16×16 block. And we already
know that each 8×8 cell has a 9×1 matrix for a histogram. So, we would have four 9×1
matrices or a single 36×1 matrix. To normalize this matrix, we will divide each of
these values by the square root of the sum of squares of the values. Mathematically,
for a given vector V:
• V = [a1, a2, a3, ….a36]
• We calculate the root of the sum of squares:
• k = √(a1)2+ (a2)2+ (a3)2+ …. (a36)2
• And divide all the values in the vector V with this value k:
Prepared by: Prof. Khushali B Kathiriya
157
158. HOG (Histogram of Oriented Gradients) (Cont.)
• Step: 7 Features for the complete image
• We are now at the final step of generating HOG features for the
image. So far, we have created features for 16×16 blocks of the
image. Now, we will combine all these to get the features for the
final image.
• Can you guess what would be the total number of features that
we will have for the given image? We would first need to find
out how many such 16×16 blocks would we get for a single
64×128 image:
Prepared by: Prof. Khushali B Kathiriya
158
159. HOG (Histogram of Oriented Gradients) (Cont.)
Prepared by: Prof. Khushali B Kathiriya
159
160. HOG (Histogram of Oriented Gradients)
Prepared by: Prof. Khushali B Kathiriya
160
161. HOG (Histogram of Oriented Gradients)
Prepared by: Prof. Khushali B Kathiriya
161
162. HOG (Histogram of Oriented Gradients)
Prepared by: Prof. Khushali B Kathiriya
162
163. HOG (Histogram of Oriented Gradients)
Prepared by: Prof. Khushali B Kathiriya
163
165. Shape Context Descriptor
• Shape Context — is a scale & rotation invariant shape descriptor (not image).
Prepared by: Prof. Khushali B Kathiriya
165
166. Shape Context Descriptor (Cont.)
• Matching shapes can be much difficult task then just matching images, for example
recognition of hand-written text, or fingerprints. Because most of shapes that we
trying to match is heavy augmented. I can bet that you will never write to identical
letters for all your life. And look at this from the point of people detection algorithm
based on handwriting matching — it would be just hell.
• Of course in the age of Neural networks and RNNs it also can be solved in a different
way then just straight mathematics, but not always you can use heavy and memory
hungry things like NNs. Even today most of the hardware like phone, cameras,
audio processors using good-old mathematics algorithms to make things running.
And also it always cool to do some mathematics magic
Prepared by: Prof. Khushali B Kathiriya
166
168. Shape Context Descriptor (Cont.)
• The main idea is quite simple — build histogram based on points in Polar
coordinates system. So for each point you just get Euclidean distance and angles
against other points, norm them and based on logspace map count number of
points occurred in each map region. And that’s all.
• To make things rotation invariant i prefer to just rotate this map on minus angle
between to most furthers points, but it can be done in other ways too.
Prepared by: Prof. Khushali B Kathiriya
168
169. Shape Context Descriptor (Cont.)
• Shape information is an important visual nod for object recognition. Broadly,
Shape Descriptor (SD) is categorized as contour-based and region-based shape
descriptors. The contour-based shape descriptors make use of only the boundary
information of shape extracted by conventional edge or contour detection
approach
Prepared by: Prof. Khushali B Kathiriya
169
170. Shape Context Descriptor (Cont.)
• A logical grid of constant size is applied on boundary image, and we extract
points which are intersecting logical grid with boundary image as shown in
Figure 10. The set of such descriptor points is used for computing feature
descriptor representing shape information of an image.
• The relative arrangement of this descriptor points is represented using the log-
polar histogram. For each descriptor point, the log-polar histogram is calculated,
and last feature descriptor represents the summation of every log-polar
histogram at every descriptor points [7].
Prepared by: Prof. Khushali B Kathiriya
170