This document discusses different techniques for image segmentation, which is the process of partitioning an image into meaningful regions or objects. It covers several main methods of region segmentation, including region growing, clustering, and split-and-merge. It also discusses techniques for finding line and curve segments in an image, such as using the Hough transform or edge tracking procedures. Finally, it provides examples of applying these segmentation techniques to extract regions, straight lines, and circles from images.
The document describes various computer graphics output primitives and algorithms for drawing them, including lines, circles, and filled areas. It discusses line drawing algorithms like DDA, Bresenham's, and midpoint circle algorithms. These algorithms use incremental integer calculations to efficiently rasterize primitives by determining the next pixel coordinates without performing floating point calculations at each step. The midpoint circle algorithm in particular uses a "circle function" and incremental updates to its value to determine whether the next pixel is inside or outside the circle boundary.
This document provides an overview of machine vision techniques for region segmentation. It discusses region-based and boundary-based approaches to image segmentation. Key aspects covered include thresholding techniques, region representation using data structures like the region adjacency graph, and algorithms for region splitting and merging. Automatic threshold selection methods like the p-tile and mode methods are also summarized.
The document discusses different algorithms for drawing lines and circles on a discrete pixel grid, including approaches to reduce aliasing effects. It covers the digital differential analyzer (DDA) algorithm, Bresenham's algorithm, techniques for antialiasing such as area sampling and weighted area filtering using a conical filter. The Gupta-Sproull algorithm is highlighted as a method for antialiasing lines that calculates pixel intensities based on the distance from the line center using features of Bresenham's algorithm.
The document discusses image segmentation techniques including thresholding. Thresholding divides an image into foreground and background regions based on pixel intensity values. Global thresholding uses a single threshold value for the entire image, while adaptive or local thresholding uses variable thresholds that change across the image. Multilevel thresholding can extract objects within a specific intensity range using multiple threshold values. The Hough transform is also presented as a way to connect disjointed edge points and detect shapes like lines in an image.
Two Dimensional Shape and Texture Quantification - Medical Image ProcessingChamod Mune
1. The document discusses various methods for quantifying two-dimensional shapes and textures in medical images, including statistical moments, spatial moments, radial distance measures, chain codes, Fourier descriptors, thinning, and texture measures.
2. Compactness, calculated using perimeter and area, quantifies how close a shape is to a circle. Spatial moments provide quantitative measurements of point distributions and shapes. Radial distance measures analyze boundary curvature. Chain codes represent boundary points.
3. Fourier descriptors and thinning/skeletonization reduce shapes to descriptors and graphs for analysis. Texture is quantified using statistical moments, co-occurrence matrices, spectral measures, and fractal dimensions.
Introduction of metric dimension of circular graphs is connected graph , The distance and diameter , Resolving sets and location number then Examples . Application in facility location problems . is has motivation (Applications in Chemistry and Networks systems). Definitions of Certain Regular Graphs. Main Results for three graphs (Prism , Antiprism and generalized Petersen graphs .
This document discusses various image segmentation techniques. It begins by defining image segmentation as dividing an image into constituent regions or objects. It then describes several segmentation algorithms, including clustering in color space, thresholding, region growing, region splitting, and split and merge. Thresholding techniques discussed include basic global thresholding of bimodal histograms, adaptive thresholding for uneven illumination, and multilevel thresholding for multimodal histograms. The document provides examples of applying these techniques and discusses applications of image segmentation such as in 3D medical imaging.
This document discusses various image segmentation techniques. It begins by defining image segmentation as dividing an image into constituent regions or objects. It then describes several segmentation algorithms, including clustering in color space, thresholding, region growing, region splitting, and split and merge. Thresholding techniques discussed include basic global thresholding of bimodal histograms, adaptive thresholding for uneven illumination, and multilevel thresholding for multimodal histograms. The document provides examples of applying these techniques and discusses applications of image segmentation such as in 3D medical imaging.
This document discusses various image segmentation techniques. It begins by defining image segmentation as dividing an image into constituent regions or objects. It then describes several segmentation algorithms, including clustering in color space, thresholding, region growing, region splitting, and split and merge. Thresholding techniques discussed include basic global thresholding of bimodal histograms, adaptive thresholding for uneven illumination, and multilevel thresholding for multimodal histograms. The document provides examples of applying these techniques and discusses applications of image segmentation such as in 3D medical imaging.
The document discusses image segmentation techniques. It describes image segmentation as dividing an image into regions that are similar within and different between adjacent regions. There are two main approaches: discontinuity, which looks for sudden changes or edges, and similarity, which groups similar pixels. Common techniques include thresholding, region growing, boundary detection using Hough transforms, and adaptive segmentation methods that account for non-uniform lighting.
K-means Clustering Algorithm with Matlab Source codegokulprasath06
The K-means clustering algorithm partitions observations into K clusters by minimizing the distance between observations and cluster centroids. It works by randomly assigning observations to K clusters, calculating the distance between each observation and centroid, reassigning observations to their closest centroid, and repeating until cluster assignments are stable. Common distance measures used include Euclidean, squared Euclidean, and Manhattan distances. The algorithm aims to group similar observations together based on feature similarity to reduce the size of codebooks for applications like speech processing.
This document provides an overview of image segmentation techniques. It begins with an introduction to image analysis and segmentation. It then covers various discontinuity-based techniques like point, line, and edge detection. Next it discusses edge linking and boundary detection methods. Thresholding techniques such as global, optimal, and adaptive thresholding are also covered. Finally, the document discusses region-based segmentation methods including region growing and region splitting/merging. The overall goal of the document is to introduce and explain the main categories and techniques used for image segmentation.
This document discusses various image segmentation techniques including thresholding, edge-based segmentation, and region-based segmentation. It covers thresholding methods such as global, adaptive, and multi-thresholding. Edge-based segmentation techniques include edge detection, non-maximum suppression, and hysteresis thresholding. Region-based segmentation is discussed through splitting and merging as well as watershed segmentation. The document also briefly mentions matching and evaluation of segmentation results.
This document discusses various techniques for image segmentation including discontinuity-based and similarity-based approaches. Discontinuity-based approaches partition images based on sharp changes in intensity, such as edges, and detect points, lines and edges using gradient and Laplacian operators. Similarity-based approaches partition images into regions with similar predefined characteristics. Specific techniques covered include gradient masks, Canny edge detection using zero-crossings of the Laplacian of Gaussian, thresholding methods including global, adaptive and multilevel thresholding, and region-based segmentation using region growing.
This document discusses various spatial filtering methods used in image processing. Spatial filters are defined by their neighborhood, which is usually a square window, and their operation, which processes pixels in the neighborhood. Linear filters include correlation and convolution, where the output is a linear combination of input pixels. Common filters are smoothing (low-pass) filters like averaging and Gaussian, which reduce noise and detail, and sharpening (high-pass) filters like unsharp masking and derivatives, which enhance details like edges. Derivatives like the gradient and Laplacian are used to detect edges.
The document summarizes a lecture on further details of the graphics pipeline. It discusses how triangles described by vertex positions in normalized device coordinates are rasterized into pixels on the screen. The lecture covers oriented edge equations, being inside a triangle, rasterization approaches like scanline rasterization, and basic fragment shading through color interpolation. Homework status and the lecturer's office hours are also provided.
Setting the lower order bit plane to zero would have the effect of reducing the number of distinct gray levels by half. This would cause the histogram to become more peaked, with more pixels concentrated in fewer bins.
The document provides information about computer graphics concepts including:
1. Summarizing questions and answers about 3D triangles, rotation matrices, vector operations, splines, and computer graphics techniques like environment mapping and anti-aliasing.
2. Explaining modifications made to the active edge list algorithm to enable scan conversion of different triangle types like smoothly shaded, textured, and environment mapped triangles.
3. Deriving the 4x4 projection matrix that maps a 3D object point to its shadow point on a plane, to create planar shadows.
1. The document discusses various algorithms for drawing lines and circles on a discrete pixel display, including approaches that use floating point arithmetic, integer arithmetic, and implicit and parametric forms.
2. It introduces Bresenham's algorithm for drawing lines using only integer arithmetic by incrementing along one axis at a time. This algorithm can also be used for circle drawing.
3. Antialiasing techniques are discussed to reduce aliasing effects when drawing lines, including area sampling and weighted area filtering using a conical filter shape based on distances from pixel centers. The Gupta-Sproull algorithm implements this approach.
A new algorithm is presented which determines the dimensionality and signature of a measured space. The
algorithm generalizes the Map Maker’s algorithm
from 2D to n dimensions and works the same for 2D
measured spaces as the Map Maker’s algorithm but with better efficiency. The difficulty of generalizing the
geometric approach of the Map Maker’s algorithm from 2D to 3D and then to higher dimensions is
avo
ided by using this new approach. The new algorithm preserves all distances of the distance matrix and
also leads to a method for building the curved space as a subset of the N
-
1 dimensional embedding space.
This algorithm has direct application to Scientif
ic Visualization for data viewing and searching based on
Computational Geometry.
The document discusses various image processing techniques for detecting clouds in visible band camera images including:
1) Bilinear interpolation to demosaic Bayer pattern images into full-color images
2) Converting RGB images to HSI color space since clouds are detected well in red color
3) Applying thresholding techniques like median and standard deviation thresholds to differentiate clouds from other regions
4) Using histogram equalization to increase contrast between clouds and other objects like vegetation and water
5) Employing Otsu clustering segmentation to coarsely detect cloud and non-cloud regions by finding the optimal threshold that maximizes inter-class variance between two classes.
OPTIMIZING DATA INTEROPERABILITY IN AGILE ORGANIZATIONS: INTEGRATING NONAKA’S...ijdmsjournal
Agile methodologies have transformed organizational management by prioritizing team autonomy and
iterative learning cycles. However, these approaches often lack structured mechanisms for knowledge
retention and interoperability, leading to fragmented decision-making, information silos, and strategic
misalignment. This study proposes an alternative approach to knowledge management in Agile
environments by integrating Ikujiro Nonaka and Hirotaka Takeuchi’s theory of knowledge creation—
specifically the concept of Ba, a shared space where knowledge is created and validated—with Jürgen
Habermas’s Theory of Communicative Action, which emphasizes deliberation as the foundation for trust
and legitimacy in organizational decision-making. To operationalize this integration, we propose the
Deliberative Permeability Metric (DPM), a diagnostic tool that evaluates knowledge flow and the
deliberative foundation of organizational decisions, and the Communicative Rationality Cycle (CRC), a
structured feedback model that extends the DPM, ensuring long-term adaptability and data governance.
This model was applied at Livelo, a Brazilian loyalty program company, demonstrating that structured
deliberation improves operational efficiency and reduces knowledge fragmentation. The findings indicate
that institutionalizing deliberative processes strengthens knowledge interoperability, fostering a more
resilient and adaptive approach to data governance in complex organizations.
Ad
More Related Content
Similar to Image Segmentation with Fundamentals, Point, Line, and Edge Detection, Thresholding, Segmentation (20)
Two Dimensional Shape and Texture Quantification - Medical Image ProcessingChamod Mune
1. The document discusses various methods for quantifying two-dimensional shapes and textures in medical images, including statistical moments, spatial moments, radial distance measures, chain codes, Fourier descriptors, thinning, and texture measures.
2. Compactness, calculated using perimeter and area, quantifies how close a shape is to a circle. Spatial moments provide quantitative measurements of point distributions and shapes. Radial distance measures analyze boundary curvature. Chain codes represent boundary points.
3. Fourier descriptors and thinning/skeletonization reduce shapes to descriptors and graphs for analysis. Texture is quantified using statistical moments, co-occurrence matrices, spectral measures, and fractal dimensions.
Introduction of metric dimension of circular graphs is connected graph , The distance and diameter , Resolving sets and location number then Examples . Application in facility location problems . is has motivation (Applications in Chemistry and Networks systems). Definitions of Certain Regular Graphs. Main Results for three graphs (Prism , Antiprism and generalized Petersen graphs .
This document discusses various image segmentation techniques. It begins by defining image segmentation as dividing an image into constituent regions or objects. It then describes several segmentation algorithms, including clustering in color space, thresholding, region growing, region splitting, and split and merge. Thresholding techniques discussed include basic global thresholding of bimodal histograms, adaptive thresholding for uneven illumination, and multilevel thresholding for multimodal histograms. The document provides examples of applying these techniques and discusses applications of image segmentation such as in 3D medical imaging.
This document discusses various image segmentation techniques. It begins by defining image segmentation as dividing an image into constituent regions or objects. It then describes several segmentation algorithms, including clustering in color space, thresholding, region growing, region splitting, and split and merge. Thresholding techniques discussed include basic global thresholding of bimodal histograms, adaptive thresholding for uneven illumination, and multilevel thresholding for multimodal histograms. The document provides examples of applying these techniques and discusses applications of image segmentation such as in 3D medical imaging.
This document discusses various image segmentation techniques. It begins by defining image segmentation as dividing an image into constituent regions or objects. It then describes several segmentation algorithms, including clustering in color space, thresholding, region growing, region splitting, and split and merge. Thresholding techniques discussed include basic global thresholding of bimodal histograms, adaptive thresholding for uneven illumination, and multilevel thresholding for multimodal histograms. The document provides examples of applying these techniques and discusses applications of image segmentation such as in 3D medical imaging.
The document discusses image segmentation techniques. It describes image segmentation as dividing an image into regions that are similar within and different between adjacent regions. There are two main approaches: discontinuity, which looks for sudden changes or edges, and similarity, which groups similar pixels. Common techniques include thresholding, region growing, boundary detection using Hough transforms, and adaptive segmentation methods that account for non-uniform lighting.
K-means Clustering Algorithm with Matlab Source codegokulprasath06
The K-means clustering algorithm partitions observations into K clusters by minimizing the distance between observations and cluster centroids. It works by randomly assigning observations to K clusters, calculating the distance between each observation and centroid, reassigning observations to their closest centroid, and repeating until cluster assignments are stable. Common distance measures used include Euclidean, squared Euclidean, and Manhattan distances. The algorithm aims to group similar observations together based on feature similarity to reduce the size of codebooks for applications like speech processing.
This document provides an overview of image segmentation techniques. It begins with an introduction to image analysis and segmentation. It then covers various discontinuity-based techniques like point, line, and edge detection. Next it discusses edge linking and boundary detection methods. Thresholding techniques such as global, optimal, and adaptive thresholding are also covered. Finally, the document discusses region-based segmentation methods including region growing and region splitting/merging. The overall goal of the document is to introduce and explain the main categories and techniques used for image segmentation.
This document discusses various image segmentation techniques including thresholding, edge-based segmentation, and region-based segmentation. It covers thresholding methods such as global, adaptive, and multi-thresholding. Edge-based segmentation techniques include edge detection, non-maximum suppression, and hysteresis thresholding. Region-based segmentation is discussed through splitting and merging as well as watershed segmentation. The document also briefly mentions matching and evaluation of segmentation results.
This document discusses various techniques for image segmentation including discontinuity-based and similarity-based approaches. Discontinuity-based approaches partition images based on sharp changes in intensity, such as edges, and detect points, lines and edges using gradient and Laplacian operators. Similarity-based approaches partition images into regions with similar predefined characteristics. Specific techniques covered include gradient masks, Canny edge detection using zero-crossings of the Laplacian of Gaussian, thresholding methods including global, adaptive and multilevel thresholding, and region-based segmentation using region growing.
This document discusses various spatial filtering methods used in image processing. Spatial filters are defined by their neighborhood, which is usually a square window, and their operation, which processes pixels in the neighborhood. Linear filters include correlation and convolution, where the output is a linear combination of input pixels. Common filters are smoothing (low-pass) filters like averaging and Gaussian, which reduce noise and detail, and sharpening (high-pass) filters like unsharp masking and derivatives, which enhance details like edges. Derivatives like the gradient and Laplacian are used to detect edges.
The document summarizes a lecture on further details of the graphics pipeline. It discusses how triangles described by vertex positions in normalized device coordinates are rasterized into pixels on the screen. The lecture covers oriented edge equations, being inside a triangle, rasterization approaches like scanline rasterization, and basic fragment shading through color interpolation. Homework status and the lecturer's office hours are also provided.
Setting the lower order bit plane to zero would have the effect of reducing the number of distinct gray levels by half. This would cause the histogram to become more peaked, with more pixels concentrated in fewer bins.
The document provides information about computer graphics concepts including:
1. Summarizing questions and answers about 3D triangles, rotation matrices, vector operations, splines, and computer graphics techniques like environment mapping and anti-aliasing.
2. Explaining modifications made to the active edge list algorithm to enable scan conversion of different triangle types like smoothly shaded, textured, and environment mapped triangles.
3. Deriving the 4x4 projection matrix that maps a 3D object point to its shadow point on a plane, to create planar shadows.
1. The document discusses various algorithms for drawing lines and circles on a discrete pixel display, including approaches that use floating point arithmetic, integer arithmetic, and implicit and parametric forms.
2. It introduces Bresenham's algorithm for drawing lines using only integer arithmetic by incrementing along one axis at a time. This algorithm can also be used for circle drawing.
3. Antialiasing techniques are discussed to reduce aliasing effects when drawing lines, including area sampling and weighted area filtering using a conical filter shape based on distances from pixel centers. The Gupta-Sproull algorithm implements this approach.
A new algorithm is presented which determines the dimensionality and signature of a measured space. The
algorithm generalizes the Map Maker’s algorithm
from 2D to n dimensions and works the same for 2D
measured spaces as the Map Maker’s algorithm but with better efficiency. The difficulty of generalizing the
geometric approach of the Map Maker’s algorithm from 2D to 3D and then to higher dimensions is
avo
ided by using this new approach. The new algorithm preserves all distances of the distance matrix and
also leads to a method for building the curved space as a subset of the N
-
1 dimensional embedding space.
This algorithm has direct application to Scientif
ic Visualization for data viewing and searching based on
Computational Geometry.
The document discusses various image processing techniques for detecting clouds in visible band camera images including:
1) Bilinear interpolation to demosaic Bayer pattern images into full-color images
2) Converting RGB images to HSI color space since clouds are detected well in red color
3) Applying thresholding techniques like median and standard deviation thresholds to differentiate clouds from other regions
4) Using histogram equalization to increase contrast between clouds and other objects like vegetation and water
5) Employing Otsu clustering segmentation to coarsely detect cloud and non-cloud regions by finding the optimal threshold that maximizes inter-class variance between two classes.
OPTIMIZING DATA INTEROPERABILITY IN AGILE ORGANIZATIONS: INTEGRATING NONAKA’S...ijdmsjournal
Agile methodologies have transformed organizational management by prioritizing team autonomy and
iterative learning cycles. However, these approaches often lack structured mechanisms for knowledge
retention and interoperability, leading to fragmented decision-making, information silos, and strategic
misalignment. This study proposes an alternative approach to knowledge management in Agile
environments by integrating Ikujiro Nonaka and Hirotaka Takeuchi’s theory of knowledge creation—
specifically the concept of Ba, a shared space where knowledge is created and validated—with Jürgen
Habermas’s Theory of Communicative Action, which emphasizes deliberation as the foundation for trust
and legitimacy in organizational decision-making. To operationalize this integration, we propose the
Deliberative Permeability Metric (DPM), a diagnostic tool that evaluates knowledge flow and the
deliberative foundation of organizational decisions, and the Communicative Rationality Cycle (CRC), a
structured feedback model that extends the DPM, ensuring long-term adaptability and data governance.
This model was applied at Livelo, a Brazilian loyalty program company, demonstrating that structured
deliberation improves operational efficiency and reduces knowledge fragmentation. The findings indicate
that institutionalizing deliberative processes strengthens knowledge interoperability, fostering a more
resilient and adaptive approach to data governance in complex organizations.
この資料は、Roy FieldingのREST論文(第5章)を振り返り、現代Webで誤解されがちなRESTの本質を解説しています。特に、ハイパーメディア制御やアプリケーション状態の管理に関する重要なポイントをわかりやすく紹介しています。
This presentation revisits Chapter 5 of Roy Fielding's PhD dissertation on REST, clarifying concepts that are often misunderstood in modern web design—such as hypermedia controls within representations and the role of hypermedia in managing application state.
[PyCon US 2025] Scaling the Mountain_ A Framework for Tackling Large-Scale Te...Jimmy Lai
Managing tech debt in large legacy codebases isn’t just a challenge—it’s an ongoing battle that can drain developer productivity and morale. In this talk, I’ll introduce a Python-powered Tech Debt Framework bar-raiser designed to help teams tackle even the most daunting tech debt problems with 100,000+ violations. This open-source framework empowers developers and engineering leaders by: - Tracking Progress: Measure and visualize the state of tech debt and trends over time. - Recognizing Contributions: Celebrate developer efforts and foster accountability with contribution leaderboards and automated shoutouts. - Automating Fixes: Save countless hours with codemods that address repetitive debt patterns, allowing developers to focus on higher-priority work.
Through real-world case studies, I’ll showcase how we: - Reduced 70,000+ pyright-ignore annotations to boost type-checking coverage from 60% to 99.5%. - Converted a monolithic sync codebase to async, addressing blocking IO issues and adopting asyncio effectively.
Attendees will gain actionable strategies for scaling Python automation, fostering team buy-in, and systematically reducing tech debt across massive codebases. Whether you’re dealing with type errors, legacy dependencies, or async transitions, this talk provides a roadmap for creating cleaner, more maintainable code at scale.
In this paper, the cost and weight of the reinforcement concrete cantilever retaining wall are optimized using Gases Brownian Motion Optimization Algorithm (GBMOA) which is based on the gas molecules motion. To investigate the optimization capability of the GBMOA, two objective functions of cost and weight are considered and verification is made using two available solutions for retaining wall design. Furthermore, the effect of wall geometries of retaining walls on their cost and weight is investigated using four different T-shape walls. Besides, sensitivity analyses for effects of backfill slope, stem height, surcharge, and backfill unit weight are carried out and of soil. Moreover, Rankine and Coulomb methods for lateral earth pressure calculation are used and results are compared. The GBMOA predictions are compared with those available in the literature. It has been shown that the use of GBMOA results in reducing significantly the cost and weight of retaining walls. In addition, the Coulomb lateral earth pressure can reduce the cost and weight of retaining walls.
acid base ppt and their specific application in foodFatehatun Noor
Ad
Image Segmentation with Fundamentals, Point, Line, and Edge Detection, Thresholding, Segmentation
1. 1
Image Segmentation
Image segmentation is the operation of partitioning an
image into a collection of connected sets of pixels.
1. into regions, which usually cover the image
2. into linear structures, such as
- line segments
- curve segments
3. into 2D shapes, such as
- circles
- ellipses
- ribbons (long, symmetric regions)
5. 5
Region Segmentation:
Segmentation Criteria
From Pavlidis
A segmentation is a partition of an image I into
a set of regions S satisfying:
1. Si = S Partition covers the whole image.
2. Si Sj = , i j No regions intersect.
3. Si, P(Si) = true Homogeneity predicate is
satisfied by each region.
4. P(Si Sj) = false, Union of adjacent regions
i j, Si adjacent Sj does not satisfy it.
6. 6
So
So all we have to do is define and implement the
similarity predicate.
But, what do we want to be similar in each region?
Is there any property that will cause the regions to
be meaningful objects?
7. 7
Main Methods of Region
Segmentation
1. Region Growing
2. Clustering
3. Split and Merge
8. 8
Region Growing
Region growing techniques start with one pixel of a
potential region and try to grow it by adding adjacent
pixels till the pixels being compared are too disimilar.
• The first pixel selected can be just the first unlabeled
pixel in the image or a set of seed pixels can be chosen
from the image.
• Usually a statistical test is used to decide which pixels
can be added to a region.
9. 9
The RGGROW Algorithm
• Let R be the N pixel region so far and P be a neighboring
pixel with gray tone y.
• Define the mean X and scatter S (sample variance) by
X = 1/N I(r,c)
S = 1/N (I(r,c) - X)
2
2
(r,c) R
(r,c) R
2
10. 10
The RGGROW Statistical Test
The T statistic is defined by
(N-1) * N
T = -------------- (y - X) / S
(N+1)
2
2
1/2
It has a T distribution if all the pixels in R and the
test pixel y are independent and identically distributed
normals (IID assumption) .
N-1
11. 11
Decision and Update
• For the T distribution, statistical tables give us the
probability Pr(T t) for a given degrees of freedom
and a confidence level. From this, pick suitable
threshold t.
• If the computed T t for desired confidence level,
add y to region R and update X and S .
• If T is too high, the value y is not likely to have arisen
from the population of pixels in R. Start a new region.
2
13. 13
Clustering
• There are K clusters C1,…, CK with means m1,…, mK.
• The least-squares error is defined as
• Out of all possible partitions into K clusters,
choose the one that minimizes D.
Why don’t we just do this?
If we could, would we get meaningful objects?
D = || xi - mk || .
k=1 xi Ck
K
2
14. 14
Some Clustering Methods
• K-means Clustering and Variants
• Isodata Clustering
• Histogram-Based Clustering and Recursive Variant
• Graph-Theoretic Clustering
17. 17
Meng-Hee Heng’s K-means Variant
1. Pick 2 points Y and Z that are furthest apart in the
measurement space and make them initial cluster means.
2. Assign all points to the cluster whose mean they are
closest to and recompute means.
3. Let d be the max distance from each point to its cluster mean
and let X be the point with this distance.
4. Let q be the average distance between each pair of means.
5. If d > q / 2, make X a new cluster mean.
6. If a new cluster was formed, repeat from step 2.
18. 18
Illustration of Heng Clustering
Y
D>q/2
q
X
1 2 3
We used this for segmentation of textured scenes.
Z
20. 20
Isodata Clustering
1. Select several cluster means and form clusters.
2. Split any cluster whose variance is too large.
3. Group together clusters that are too small.
4. Recompute means.
5. Repeat till 2 and 3 cannot be applied.
We used this to cluster normal vectors in 3D data.
22. 22
Ohlander’s Recursive Histogram-
Based Clustering
• color images of real indoor and outdoor scenes
• starts with the whole image
• selects the R, G, or B histogram with largest peak
and finds clusters from that histogram
• converts to regions on the image and creates masks for each
• pushes each mask onto a stack for further clustering
24. 24
Jianbo Shi’s Graph-Partitioning
• An image is represented by a graph whose nodes
are pixels or small groups of pixels.
• The goal is to partition the vertices into disjoint sets so
that the similarity within each set is high and
across different sets is low.
25. 25
Minimal Cuts
• Let G = (V,E) be a graph. Each edge (u,v) has a weight w(u,v)
that represents the similarity between u and v.
• Graph G can be broken into 2 disjoint graphs with node sets
A and B by removing edges that connect these sets.
• Let cut(A,B) = w(u,v).
• One way to segment G is to find the minimal cut.
uA, vB
27. 27
Normalized Cut
Minimal cut favors cutting off small node groups,
so Shi proposed the normalized cut.
cut(A, B) cut(A,B)
Ncut(A,B) = ------------- + -------------
asso(A,V) asso(B,V)
asso(A,V) = w(u,t)
uA, tV
How much is A connected
to the graph as a whole.
normalized
cut
30. 30
How Shi used the procedure
Shi defined the edge weights w(i,j) by
w(i,j) = e *
e if ||X(i)-X(j)||2 < r
0 otherwise
||F(i)-F(j)||2 / I
||X(i)-X(j)||2 / X
where X(i) is the spatial location of node i
F(i) is the feature vector for node I
which can be intensity, color, texture, motion…
The formula is set up so that w(i,j) is 0 for nodes that
are too far apart.
32. 32
Lines and Arcs
Segmentation
In some image sets, lines, curves, and circular arcs
are more useful than regions or helpful in addition
to regions.
Lines and arcs are often used in
• object recognition
• stereo matching
• document analysis
33. 33
Edge Detection
Basic idea: look for a neighborhood with strong signs
of change.
81 82 26 24
82 33 25 25
81 82 26 24
Problems:
• neighborhood size
• how to detect change
35. 35
Example: Sobel Operator
-1 0 1 1 2 1
Sx = -2 0 2 Sy = 0 0 0
-1 0 1 -1 -2 -1
On a pixel of the image
• let gx be the response to Sx
• let gy be the response to Sy
Then g = (gx + gy ) is the gradient magnitude.
= atan2(gy,gx) is the gradient direction.
2 2 1/2
37. 37
Zero Crossing Operators
Motivation: The zero crossings of the second derivative
of the image function are more precise than
the peaks of the first derivative.
step edge
smoothed
1st derivative
2nd derivative
zero crossing
38. 38
Marr/Hildreth Operator
• First smooth the image via a Gaussian convolution
• Apply a Laplacian filter (estimate 2nd derivative)
• Find zero crossings of the Laplacian of the Gaussian
This can be done at multiple resolutions.
39. 39
Haralick Operator
• Fit the gray-tone intensity surface to a piecewise
cubic polynomail approximation.
• Use the approximation to find zero crossings of the
second directional derivative in the direction that
maximizes the first directional derivative.
The derivatives here are calculated from direct
mathematical expressions wrt the cubic polynomial.
40. 40
Canny Edge Detector
• Smooth the image with a Gaussian filter.
• Compute gradient magnitude and direction at each pixel of
the smoothed image.
• Zero out any pixel response the two neighboring pixels
on either side of it, along the direction of the gradient.
• Track high-magnitude contours.
• Keep only pixels along these contours, so weak little
segments go away.
44. 44
Finding Line and Curve Segments
from Edge Images
Given an edge image, how do we find line and arc segments?
Method 1: Tracking
Use masks to identify the following events:
1. start of a new segment
2. interior point continuing a segment
3. end of a segment
4. junction between multiple segments
5. corner that breaks a segment into two
junction
corner
45. 45
Edge Tracking Procedure
for each edge pixel P {
classify its pixel type using masks
case
1. isolated point : ignore it
2. start point : make a new segment
3. interior point : add to current segment
4. end point : add to current segment and finish it
5. junction or corner : add to incoming segment
finish incoming segment
make new outgoing segment(s)
The ORT package uses a fancier corner finding approach.
46. 46
Hough Transform
• The Hough transform is a method for detecting
lines or curves specified by a parametric function.
• If the parameters are p1, p2, … pn, then the Hough
procedure uses an n-dimensional accumulator array
in which it accumulates votes for the correct parameters
of the lines or curves found on the image.
y = mx + b
image
m
b
accumulator
47. 47
Finding Straight Line Segments
• y = mx + b is not suitable (why?)
• The equation generally used is: d = r sin + c cos
d
r
c
d is the distance from the line to origin
is the angle the perpendicular makes
with the column axis
48. 48
Procedure to Accumulate Lines
• Set accumulator array A to all zero.
Set point list array PTLIST to all NIL.
• For each pixel (R,C) in the image {
• compute gradient magnitude GMAG
• if GMAG > gradient_threshold {
• compute quantized tangent angle THETAQ
• compute quantized distance to origin DQ
• increment A(DQ,THETAQ)
• update PTLIST(DQ,THETAQ) } }
50. 50
How do you extract the line
segments from the accumulators?
pick the bin of A with highest value V
while V > value_threshold {
order the corresponding pointlist from PTLIST
merge in high gradient neighbors within 10 degrees
create line segment from final point list
zero out that bin of A
pick the bin of A with highest value V }
51. 51
Finding Circles
Equations:
r = r0 + d sin
c = c0 + d cos
r, c, d are parameters
Main idea: The gradient vector at an edge pixel points
to the center of the circle.
*(r,c)
d
52. 52
Why it works
Filled Circle:
Outer points of circle have gradient
direction pointing to center.
Circular Ring:
Outer points gradient towards center.
Inner points gradient away from center.
The points in the away direction don’t
accumulate in one bin!
53. 53
Procedure to Accumulate Circles
• Set accumulator array A to all zero.
Set point list array PTLIST to all NIL.
• For each pixel (R,C) in the image {
For each possible value of D {
- compute gradient magnitude GMAG
- if GMAG > gradient_threshold {
. Compute THETA(R,C,D)
. R0 := R - D*cos(THETA)
. C0 := C - D* sin(THETA)
. increment A(R0,C0,D)
. update PTLIST(R0,C0,D) }}
54. 54
The Burns Line Finder
1. Compute gradient magnitude and direction at each pixel.
2. For high gradient magnitude points, assign direction labels
to two symbolic images for two different quantizations.
3. Find connected components of each symbolic image.
1
2
3
4
5
6 7
8
1
2
3
4
5
6 7 8
• Each pixel belongs to 2 components, one for each symbolic image.
• Each pixel votes for its longer component.
• Each component receives a count of pixels who voted for it.
• The components that receive majority support are selected.
-22.5
+22.5
0
45