SlideShare a Scribd company logo
Corner Detection using Difference Chain Code as Curvature
Neeta Nain Vijay Laxmi Bhavitavya Bhadviya
Department of Computer Engineering
Malaviya National Institute of Technology Jaipur
JLN Marg, Jaipur-302017, India
Email: neetanain@yahoo.com, vlgaur@yahoo.co.in,
bhavitavya bhadviya@yahoo.co.in
Arpita Gopal
Department of Computer Science
Sinhgad Inst. of Business Administration
and Research Kondhwa, Pune-48 India
Email:directormca sibar@sinhgad.edu
Abstract
Discontinuity detection plays an important role in image
analysis applications like image registration, comparison,
segmentation, time sequence analysis and object recogni-
tion. This paper presents a new approach for Corner De-
tection using First Order Difference Chain-Encoding. The
proposed method is based on integer operations it is very
simple and efficient. Preliminary results are presented and
evaluation with respect to standard corner detectors like
Harris and Yung is done as a benchmark.
1 Introduction
Corner detection is identification of high curvature
points on planar curves which is referred to as boundary of
an image. A corner can also be defined as the intersection
of two edges or, as a point for which there are two domi-
nant and different edge directions in a local neighborhood.
This paper proposes a new Difference Chain Encoding Al-
gorithm for Corner Detection in Images.
2 Existing Techniques
Corners play a dominant role in shape [1, 2, 3] percep-
tion by humans. They play crucial role in decomposing or
describing the object. They are used in scale space theory,
image representation, image reconstruction, image match-
ing and as preprocessing phase of outline capturing sys-
tems. Many corner detection algorithms have been pro-
posed in the literature [4]- [10]. Rosenfeld and Johnston [4]
calculate curvature maxima points using k-cosines as cor-
ners. Rosenfeld and Wezka [5] proposed a modification
of [4] in which averaged k-cosines were used. Freeman and
Davis [6] found corners at maximum curvature change in
which they move a straight line segment along the curve.
Angular differences between successive segments was used
to measure local curvature. Beus and Tiu [7] algorithm was
similar to [6] except they proposed arm cutoff parameter τ
to limit length of straight line. Smith’s [8] algorithm in-
volves generating a circular mask around a given point in
an image and then comparing the intensity of neighboring
pixels with that of the center pixel, and repeating the pro-
cedure for each pixel within the image. The Harris cor-
ner detector [9] computes the locally averaged moment ma-
trix computed from the image gradients, and then combines
the eigenvalues of the moment matrix to compute a corner
“strength”, of which maximum values indicate the corner
positions. Yung’s [10] algorithm starts with extracting the
contour of the object of interest, and then computes the cur-
vature of this contour with Gaussian derivative filters at var-
ious scales. Local extremes of the product of the curvatures
at different scales are reported as corners when the value
of the product exceeds a threshold. There are various other
techniques like wavelets, Hough transform, neural networks
etc using which corners can be extracted.
3 Corner Detection
It has long been known that information about shape is
conveyed via the changes in the slopes of an object’s bound-
ary. The information content is greatest where this change
also called curvature is strongest. We present a method of
estimating the curvature of a planar curve, and detecting
corners also called high-curvature points on such curves.
Digital images are acquired and processed in a grid for-
mat with equal spacing in the x and y direction. To extract
corners we need precise, compact and continuous in a seg-
ment boundary. One-pixel thick m-connected boundary is
extracted using our own morphological algorithm [3].
One-pixel thick, and m-connectivity avoids redundancy
in chain codes. This boundary is Chain-Encoded using
8−way chain encoding [6] method. When 8-way connec-
tivity is used, the 360◦
is divided into eight directions. Each
Third International IEEE Conference on Signal-Image technologies and Internet-Based System
978-0-7695-3122-9/08 $25.00 © 2008 IEEE
DOI 10.1109/SITIS.2007.118
827
Third International IEEE Conference on Signal-Image Technologies and Internet-Based System
978-0-7695-3122-9/08 $25.00 © 2008 IEEE
DOI 10.1109/SITIS.2007.118
827
Third International IEEE Conference on Signal-Image Technologies and Internet-Based System
978-0-7695-3122-9/08 $25.00 © 2008 IEEE
DOI 10.1109/SITIS.2007.118
821
Third International IEEE Conference on Signal-Image Technologies and Internet-Based System
978-0-7695-3122-9/08 $25.00 © 2008 IEEE
DOI 10.1109/SITIS.2007.118
821
direction specifying 45◦
angle from the previous. Thus a
chain code could be generated by following a boundary in,
say, an anti-clockwise direction and assigning a direction
code to the segments connecting each pair of pixels. The
chain-code varies from 0, 1, 2, 3, 4, 5, 6, 7 in anti-clockwise
direction, where 0 means moving one unit in x direction
making angle 0◦
with the x−axis, code 1 represents 45◦
from x−axis and so on. The chain code thus codes the slope
of the curve.
In this proposed corner detection algorithm we perform
chain coding on a boundary extracted image. The bound-
ary chain(BC) code specifies the direction in which a step
must be taken to go from the present boundary point to the
next one. Thus the BC’s represent the slope of the bound-
ary at that position. The BC codes are further modified,
called Modified Chain(MC) codes. The modification step
smoothens the boundary, removes noise and thus removes
false corners from boundary. From the MC codes we cal-
culate first order Difference Codes(DC). The first order
difference codes represents the turning angles from the pre-
vious point or the curvature of the boundary curve at a point.
The maximum curvature change occurs where two straight
line segments of length l meet, where l ≥ threshold. The
threshold for our experiments when taken as
l = (BoundaryLength)
1
4 (1)
fourth root of the boundary length gives excellent results. If
l is taken less than our threshold then false corners will be
generated as it will capture all the small curvature changes
also. While a larger value will miss significant corners.
The proposed technique of corner detection is based on find-
ing vertex points on the boundary curve where two straight
line segments meet. The length of the straight line segment
is taken as a parameter l called pixel neighborhood length.
The algorithm identifies the points where the rate of change
of the slope is highest in a neighborhood of ±l pixels. The
BC’s represent the slope and the DC’s represents the rate
of change of slope. Thus the sequence of 0’s in DC speci-
fies a straight line and isolated non-zero codes in a sequence
of zeros specify the vertex points where two line segments
meet. These vertex points may be true corners if the length
of the line segment ≥ l. But the search for corners is not
so easy. Due to side effects of scan-conversion or alias-
ing effects, a straight line in the pixel form is not drawn as
a straight line, but it has some regular changes also called
stair-step effects. The problem gets more complicated when
the radius of curvature is small on the boundary, or in other
words if the slope changes fast in a small neighborhood
of points. Then if we capture all these slope changes then
we generate false corners. We need to identify only abrupt
changes in slope on the boundary to detect significant cor-
ners. This is taken care of Modified Chain codes. The MC
codes smooth the boundary in the neighborhood of ±l pix-
Figure 1. (a)Various erroneous single stray
pixel cases, (b) Single stray pixels removed
after smoothing step
els, which is equivalent of convolving with a l x l averaging
mask.
The detailed proposed algorithm is as follows:
1. Extract one-pixel thick m-connected boundary.
2. Calculate slope: Assign BC codes by chain encoding
the boundary using 8-way connectivity. The BC codes
represent the slope of the current pixel with the previ-
ous. The slope at current pixel i is thus
φi = tan−1
(
π
4
BCi) (2)
3. Smooth the Boundary:
• Remove spurious single pixels from the bound-
ary. Figure 1 depicts all such cases.
– One pixel breaks in straight line, where there
is only one isolated pixel above the break. A
V made by a set of pixels.
– One pixel thick diagonal line with one extra
pixel in 4−neighborhood of any of the pixel
of this diagonal line.
The following substitutions are done to handle
the above case. For current pixel position i check
the next two pixels’ BCi. Substitute the current
series of the BC’s according to Table 1. Figure
1(b) shows the result of the smoothing step on
Figure 1(a).
• Align stray single pixels along the dominant
slope in a 3 x 3 neighborhood.
For current pixel position i
828
828
822
822
Current Series of BC0
s BC0
s After Replacement
(0, 7, 1) / (0, 1, 7) (0, 0, 0)
(2, 3, 1) / (2, 1, 3) (2, 2, 2)
(4, 5, 3) / (4, 3, 5) (4, 4, 4)
(6, 5, 7) / (6, 7, 5) (6, 6, 6)
(1, 2, 0) / (1, 0, 2) (1, 1)
(3, 4, 2) / (3, 2, 4) (3, 3)
(5, 6, 4) / (5, 4, 6) (5, 5)
(7, 0, 6) / (7, 6, 0) (7, 7)
Table 1. Smoothing single stray pixels from
the boundary
– Check previous two pixels and next two
pixel’s BC.
If BCi±n(n=1,2) are same and BCi 6=
BCi±n then BCi = BCi+1.
– Check previous two pixels’ and next pixels’
BC or next two pixels’ and previous pixels’
BC.
If (BCi−n(n=1,2) = BCi+1 AND 6= BCi)
OR (BCi+n(n=1,2 = BCi−1 AND 6= BCi)
then BCi = BCi+1 (or BCi = BCi−1).
– Check previous two BC and next to next BC
of current pixel or next two BC and previous
to previous pixels’ BC
If (BCi−n(n=1,2) = BCi+2 AND BCi 6=
BCi+2) OR (BCi+n(n=1,2) = BCi−2 AND
BCi 6= BCi−2) then BCi = BCi+2 (or
BCi = BCi−2).
This step removes all the spurious codes on the
curve and aligns the stray pixels along the domi-
nant slope of the line.
4. Avoid False Corners: Check MC codes. For current
pixel position i, If MCi 6= MCi−1, then this is called
the first occurrence of MC code. If the first occurrence
MCi = MCi−n(n=1,2,...,l), then the ith
position is not
a corner. For example, let l = 4, and if the MC code is
222222233322222222224443333333, then its first oc-
currence MC code positions are 1, 8, 11, 21, 24. The
MC code at 11th
position already exists in previous
codes within a neighborhood of l = 4, and thus is a
false corner.
5. Calculate Curvature by First Order Difference Codes:
The curvature at current pixel i is
δφi = φi+1 − φi (3)
The first order difference code (DC) on the MC codes
represents this curvature or turning angle from the pre-
vious point. It is calculated as
DCi = mod8(MCi+1 − MCi + 8) (4)
where the MCiś are the modified boundary chain
codes. The first order difference on the MC codes rep-
resents the turning angles from the previous point.
6. Find True Corners: Traverse the DC0
s. Let Pi denotes
the position of isolated non-zero DC in a sequence of
0 DC0
s. If Pi −Pi−1 > l (the difference between con-
secutive positions of isolated non zero DC’s). Then
there are true corners at Pi and Pi−1 positions. For ex-
ample, if the MC code = 11111222222224444444, its
DC = 0000100000002000000. The non-zero DC po-
sitions Pi are 8, 13. The difference between non zero
DC positions = 5 > l, then there are corners at 5th
and
13th
positions.
4 Test Results
The proposed corner detector gives single, localized and
accurate response to corners. A corner detection algorithm
must be tested on a variety of shapes for its proper evalu-
ation. Our test image includes most variety of variations
in curvature, corner sharpness and noise/irregularities along
the boundary curves. Such variations are expected in real
life images. Comparison is also done with two popular al-
gorithms namely Harris [9] and Yung [10]. Table 1 and
Fig 2 shows the results. Both Harris and Yung miss true cor-
ners on small curvature curves. Our corner detector gives
Figure 2. Test image with regular curvature
changes
excellent results even in the presence of noise like Gaus-
sian, Poisson, and Speckle etc., while both Harris [9] and
Yung [10] are not invariant to noise. They eliminate some
true corners and also introduce false corners due to noise.
Our algorithm is invariant to noise and extracts all true cor-
ners as shown in Fig 3.
5 Affine Transformation Invariance
Corner detection should not be influenced by affine
transformation effects like translation, rotation, shearing
and minor size variations. The proposed algorithm is affine
829
829
823
823
Figure 3. Corners extracted on noisy images
(a) Gaussian Noise, (b) Poisson Noise, (c)
Speckle Noise
transformation invariant. Corners are calculated on the first
order differences of the chain codes. The first difference in
the chain codes makes the boundary translation invariant as
they represent the turning angles from the previous point.
To expand or to contract a chain by a specified scale fac-
tor, one must appropriately scale each chain link and then
re quantize. In down sampling, a number of links may
merge into one, and in up-sampling one link may cause a
string of many links to be generated. The generation of
these new links is most easily handled by using Bresen-
ham scan conversion technique. Compared to up sampling,
down sampling is robust to aliasing effects. We down sam-
ple the boundary to a constant size before chain coding.
This re sampling makes the corner detector scale invari-
ant.The boundary is aligned with minimum angle with the
x−axis. This is done by circularly shifting the DC’s and
starting with the first difference of smallest magnitude. Cir-
cular shift makes the boundary rotation invariant and the
corners extracted on this boundary will be rotation invari-
ant.Transformation invariant test results of the corner detec-
tion algorithm on the standard test image is shown in Fig 4.
Figure 4. Transformation invariance of corner
extractor(a) Original (b) Rotated by 270◦
, (c)
Scaled 50% (d) Scaled 50% and Rotated 90◦
6 Conclusions
In this paper we proposed a novel simple, efficient and
transformation invariant method for corner detection which
uses only integer arithmetic for approximation of curvature
on curve boundary. The algorithm depends on only one pa-
rameter l. The parameter l, can be assigned a constant value
as per personal preference of neighborhood, and it is also
adaptive to the length of the boundary curve. Experimental
results show that l taken as fourth root of boundary length
is sufficient for extracting good corners. The parameter l
is therefore both local and global in nature. Comparative
study on various noiseless and noisy images has been done.
Finally, the comparison between the proposed approach and
other corner detectors show that our approach is more com-
petitive with respect to Harris [9] and Yung [10] under sim-
ilarity and affine transforms. Moreover, a number of ex-
periments also illustrate that our corner detection has more
robustness to noise.
Corners extracted from this technique could be used in
various shape analysis, size measurement and boundary re-
construction applications. From the extracted corners we
can easily reconstruct the boundary by fitting straight line
segments between corners. This can be used as the convex
hull or an approximation to the object’s shape.
Corner Detector Results
Yung True corners missed on curved edges
Harris Poor true corners even
on significant curvature change
Our Algorithm All true corners, No false corners
Better approximation of curvature
Table 2. Comparison of corner detectors on
Fig 2 and Fig 3
830
830
824
824
References
[1] Rafael C. Gonzalez and Richard E. Woods, “Digital
Image Processing,” Addison Wesley Longman, 2nd
ed, 2000.
[2] V. Hlavac M. Sonka and R. Boyle, “Image Processing
Analysis and Machine Vision,” Chapman and Hall,
1993.
[3] Neeta Nain, Vijay Laxmi, Ankur Kumar Jain and
Rakesh Agarwal, “Morphological edge detection and
corner detection algorithm using chain-encoding,” In-
ternational Conference on Image Processing, Com-
puter Vision, and Pattern Recognition, Las Vegas,
Nevada, USA,vol. II, pp. 520–525, 2006.
[4] A. Rosenfeld and E. Johnston, “Angle detection on
digital curves,” IEEE Transactions in Computing, vol.
C-22, pp. 875–878, 1973.
[5] A. Rosenfeld and J. S. Wezka, “An improved method
of angle detection on digital curves,” IEEE Transac-
tions in Computing,vol. C-24, pp. 940–941, 1975.
[6] H. Freeman and L. S. Davis, “A corner finding algo-
rithm for chain coded curves,” IEEE Transactions in
Computing, vol. 26, pp. 297–303, 1977.
[7] Beus. H. L. and S. S.H Tiu, “An improved corner de-
tection based on chain coded plane curves,” Pattern
Recognition Letters, vol. 20, pp. 291–296, 1987.
[8] P. Smith and J. Brady, “SUSAN- A new approach to
low level image processing,” International Journal for
Computer Vision, vol. 23, pp. 45–78, 1995.
[9] C. Harris and M. Stephens, A Combined Corner and
Edge Detector, vol. 23, pp. 189-192, Proceedings of
4th Alvey Vision Conference, Manchester, 1988.
[10] X.C. He and N. H. C. Yung, Curvature Scale Space
Corner Detector with Adaptive Threshold and Dy-
namic Region of Support, vol. 2, pp. 791-794,ICPR,
IEEE Computer Society,2004.
831
831
825
825

More Related Content

PDF
Automatic rectification of perspective distortion from a single image using p...
PDF
Image segmentation methods for brain mri images
PDF
Paper id 36201507
PDF
An approach to improving edge
PDF
C1302031319
PDF
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
PDF
IRJET- Extract Circular Object By Tracing Region Boundary and using Circulari...
PDF
IRJET - An Investigation of Stresses Induced in Curved Beams using MATLAB...
Automatic rectification of perspective distortion from a single image using p...
Image segmentation methods for brain mri images
Paper id 36201507
An approach to improving edge
C1302031319
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
IRJET- Extract Circular Object By Tracing Region Boundary and using Circulari...
IRJET - An Investigation of Stresses Induced in Curved Beams using MATLAB...

What's hot (18)

PDF
A Density Control Based Adaptive Hexahedral Mesh Generation Algorithm
PDF
Image fusion using nsct denoising and target extraction for visual surveillance
PDF
Performance Evaluation of Image Edge Detection Techniques
PDF
Modeling Curvature Damage Surface for Damage Detection in Cantilever Beam
PDF
Pd3426592664
PDF
Detection of Seam Carving in Uncompressed Images using eXtreme Gradient Boosting
PDF
Finger Print Image Compression for Extracting Texture Features and Reconstru...
PDF
Multiple Ant Colony Optimizations for Stereo Matching
PDF
Performance evaluation of Compressed images by using Gradient based optimizat...
PPT
Template-Based Paper Reconstruction from a Single Image is Well Posed when th...
PDF
IRJET- Extract Circular Object by Tracing Region Boundary and using Circulari...
PDF
Fast Segmentation of Sub-cellular Organelles
PDF
A Detailed Analysis on Feature Extraction Techniques of Panoramic Image Stitc...
PDF
Ax4103307314
PDF
IRJET- Image Feature Extraction using Hough Transformation Principle
PDF
International journal of signal and image processing issues vol 2015 - no 1...
DOC
Research Paper v2.0
PDF
A Method to Determine End-Points ofStraight Lines Detected Using the Hough Tr...
A Density Control Based Adaptive Hexahedral Mesh Generation Algorithm
Image fusion using nsct denoising and target extraction for visual surveillance
Performance Evaluation of Image Edge Detection Techniques
Modeling Curvature Damage Surface for Damage Detection in Cantilever Beam
Pd3426592664
Detection of Seam Carving in Uncompressed Images using eXtreme Gradient Boosting
Finger Print Image Compression for Extracting Texture Features and Reconstru...
Multiple Ant Colony Optimizations for Stereo Matching
Performance evaluation of Compressed images by using Gradient based optimizat...
Template-Based Paper Reconstruction from a Single Image is Well Posed when th...
IRJET- Extract Circular Object by Tracing Region Boundary and using Circulari...
Fast Segmentation of Sub-cellular Organelles
A Detailed Analysis on Feature Extraction Techniques of Panoramic Image Stitc...
Ax4103307314
IRJET- Image Feature Extraction using Hough Transformation Principle
International journal of signal and image processing issues vol 2015 - no 1...
Research Paper v2.0
A Method to Determine End-Points ofStraight Lines Detected Using the Hough Tr...
Ad

Similar to 47549379 paper-on-image-processing (20)

PDF
Using Generic Image Processing Operations to Detect a Calibration Grid
PDF
NMS and Thresholding Architecture used for FPGA based Canny Edge Detector for...
PDF
ESTIMATING THE CREST LINES ON POLYGONAL MESH MODELS BY AN AUTOMATIC THRESHOLD
PDF
Estimating the Crest Lines on Polygonal Mesh Models by an Automatic Threshold
PDF
K25047051
PDF
K25047051
PDF
SEGMENTATION AND RECOGNITION OF HANDWRITTEN DIGIT NUMERAL STRING USING A MULT...
PDF
SEGMENTATION AND RECOGNITION OF HANDWRITTEN DIGIT NUMERAL STRING USING A MULT...
PDF
Segmentation and recognition of handwritten digit numeral string using a mult...
PDF
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
PDF
2-Dimensional Wavelet pre-processing to extract IC-Pin information for disarr...
PDF
A Case Study : Circle Detection Using Circular Hough Transform
PPTX
representation.pptx
PDF
An automatic algorithm for object recognition and detection based on asift ke...
PDF
Two Dimensional Shape and Texture Quantification - Medical Image Processing
PDF
10 Important AI Research Papers.pdf
PDF
E017443136
PDF
Stereo Vision Distance Estimation Employing Canny Edge Detector with Interpol...
PPTX
Image Representation & Descriptors
PDF
A Hybrid Technique for the Automated Segmentation of Corpus Callosum in Midsa...
Using Generic Image Processing Operations to Detect a Calibration Grid
NMS and Thresholding Architecture used for FPGA based Canny Edge Detector for...
ESTIMATING THE CREST LINES ON POLYGONAL MESH MODELS BY AN AUTOMATIC THRESHOLD
Estimating the Crest Lines on Polygonal Mesh Models by an Automatic Threshold
K25047051
K25047051
SEGMENTATION AND RECOGNITION OF HANDWRITTEN DIGIT NUMERAL STRING USING A MULT...
SEGMENTATION AND RECOGNITION OF HANDWRITTEN DIGIT NUMERAL STRING USING A MULT...
Segmentation and recognition of handwritten digit numeral string using a mult...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
2-Dimensional Wavelet pre-processing to extract IC-Pin information for disarr...
A Case Study : Circle Detection Using Circular Hough Transform
representation.pptx
An automatic algorithm for object recognition and detection based on asift ke...
Two Dimensional Shape and Texture Quantification - Medical Image Processing
10 Important AI Research Papers.pdf
E017443136
Stereo Vision Distance Estimation Employing Canny Edge Detector with Interpol...
Image Representation & Descriptors
A Hybrid Technique for the Automated Segmentation of Corpus Callosum in Midsa...
Ad

Recently uploaded (20)

PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Business Ethics Teaching Materials for college
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Mark Klimek Lecture Notes_240423 revision books _173037.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Business Ethics Teaching Materials for college
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Final Presentation General Medicine 03-08-2024.pptx
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
VCE English Exam - Section C Student Revision Booklet
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Module 4: Burden of Disease Tutorial Slides S2 2025
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Microbial disease of the cardiovascular and lymphatic systems
Anesthesia in Laparoscopic Surgery in India
O7-L3 Supply Chain Operations - ICLT Program
human mycosis Human fungal infections are called human mycosis..pptx
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
Supply Chain Operations Speaking Notes -ICLT Program
Abdominal Access Techniques with Prof. Dr. R K Mishra

47549379 paper-on-image-processing

  • 1. Corner Detection using Difference Chain Code as Curvature Neeta Nain Vijay Laxmi Bhavitavya Bhadviya Department of Computer Engineering Malaviya National Institute of Technology Jaipur JLN Marg, Jaipur-302017, India Email: neetanain@yahoo.com, vlgaur@yahoo.co.in, bhavitavya bhadviya@yahoo.co.in Arpita Gopal Department of Computer Science Sinhgad Inst. of Business Administration and Research Kondhwa, Pune-48 India Email:directormca sibar@sinhgad.edu Abstract Discontinuity detection plays an important role in image analysis applications like image registration, comparison, segmentation, time sequence analysis and object recogni- tion. This paper presents a new approach for Corner De- tection using First Order Difference Chain-Encoding. The proposed method is based on integer operations it is very simple and efficient. Preliminary results are presented and evaluation with respect to standard corner detectors like Harris and Yung is done as a benchmark. 1 Introduction Corner detection is identification of high curvature points on planar curves which is referred to as boundary of an image. A corner can also be defined as the intersection of two edges or, as a point for which there are two domi- nant and different edge directions in a local neighborhood. This paper proposes a new Difference Chain Encoding Al- gorithm for Corner Detection in Images. 2 Existing Techniques Corners play a dominant role in shape [1, 2, 3] percep- tion by humans. They play crucial role in decomposing or describing the object. They are used in scale space theory, image representation, image reconstruction, image match- ing and as preprocessing phase of outline capturing sys- tems. Many corner detection algorithms have been pro- posed in the literature [4]- [10]. Rosenfeld and Johnston [4] calculate curvature maxima points using k-cosines as cor- ners. Rosenfeld and Wezka [5] proposed a modification of [4] in which averaged k-cosines were used. Freeman and Davis [6] found corners at maximum curvature change in which they move a straight line segment along the curve. Angular differences between successive segments was used to measure local curvature. Beus and Tiu [7] algorithm was similar to [6] except they proposed arm cutoff parameter τ to limit length of straight line. Smith’s [8] algorithm in- volves generating a circular mask around a given point in an image and then comparing the intensity of neighboring pixels with that of the center pixel, and repeating the pro- cedure for each pixel within the image. The Harris cor- ner detector [9] computes the locally averaged moment ma- trix computed from the image gradients, and then combines the eigenvalues of the moment matrix to compute a corner “strength”, of which maximum values indicate the corner positions. Yung’s [10] algorithm starts with extracting the contour of the object of interest, and then computes the cur- vature of this contour with Gaussian derivative filters at var- ious scales. Local extremes of the product of the curvatures at different scales are reported as corners when the value of the product exceeds a threshold. There are various other techniques like wavelets, Hough transform, neural networks etc using which corners can be extracted. 3 Corner Detection It has long been known that information about shape is conveyed via the changes in the slopes of an object’s bound- ary. The information content is greatest where this change also called curvature is strongest. We present a method of estimating the curvature of a planar curve, and detecting corners also called high-curvature points on such curves. Digital images are acquired and processed in a grid for- mat with equal spacing in the x and y direction. To extract corners we need precise, compact and continuous in a seg- ment boundary. One-pixel thick m-connected boundary is extracted using our own morphological algorithm [3]. One-pixel thick, and m-connectivity avoids redundancy in chain codes. This boundary is Chain-Encoded using 8−way chain encoding [6] method. When 8-way connec- tivity is used, the 360◦ is divided into eight directions. Each Third International IEEE Conference on Signal-Image technologies and Internet-Based System 978-0-7695-3122-9/08 $25.00 © 2008 IEEE DOI 10.1109/SITIS.2007.118 827 Third International IEEE Conference on Signal-Image Technologies and Internet-Based System 978-0-7695-3122-9/08 $25.00 © 2008 IEEE DOI 10.1109/SITIS.2007.118 827 Third International IEEE Conference on Signal-Image Technologies and Internet-Based System 978-0-7695-3122-9/08 $25.00 © 2008 IEEE DOI 10.1109/SITIS.2007.118 821 Third International IEEE Conference on Signal-Image Technologies and Internet-Based System 978-0-7695-3122-9/08 $25.00 © 2008 IEEE DOI 10.1109/SITIS.2007.118 821
  • 2. direction specifying 45◦ angle from the previous. Thus a chain code could be generated by following a boundary in, say, an anti-clockwise direction and assigning a direction code to the segments connecting each pair of pixels. The chain-code varies from 0, 1, 2, 3, 4, 5, 6, 7 in anti-clockwise direction, where 0 means moving one unit in x direction making angle 0◦ with the x−axis, code 1 represents 45◦ from x−axis and so on. The chain code thus codes the slope of the curve. In this proposed corner detection algorithm we perform chain coding on a boundary extracted image. The bound- ary chain(BC) code specifies the direction in which a step must be taken to go from the present boundary point to the next one. Thus the BC’s represent the slope of the bound- ary at that position. The BC codes are further modified, called Modified Chain(MC) codes. The modification step smoothens the boundary, removes noise and thus removes false corners from boundary. From the MC codes we cal- culate first order Difference Codes(DC). The first order difference codes represents the turning angles from the pre- vious point or the curvature of the boundary curve at a point. The maximum curvature change occurs where two straight line segments of length l meet, where l ≥ threshold. The threshold for our experiments when taken as l = (BoundaryLength) 1 4 (1) fourth root of the boundary length gives excellent results. If l is taken less than our threshold then false corners will be generated as it will capture all the small curvature changes also. While a larger value will miss significant corners. The proposed technique of corner detection is based on find- ing vertex points on the boundary curve where two straight line segments meet. The length of the straight line segment is taken as a parameter l called pixel neighborhood length. The algorithm identifies the points where the rate of change of the slope is highest in a neighborhood of ±l pixels. The BC’s represent the slope and the DC’s represents the rate of change of slope. Thus the sequence of 0’s in DC speci- fies a straight line and isolated non-zero codes in a sequence of zeros specify the vertex points where two line segments meet. These vertex points may be true corners if the length of the line segment ≥ l. But the search for corners is not so easy. Due to side effects of scan-conversion or alias- ing effects, a straight line in the pixel form is not drawn as a straight line, but it has some regular changes also called stair-step effects. The problem gets more complicated when the radius of curvature is small on the boundary, or in other words if the slope changes fast in a small neighborhood of points. Then if we capture all these slope changes then we generate false corners. We need to identify only abrupt changes in slope on the boundary to detect significant cor- ners. This is taken care of Modified Chain codes. The MC codes smooth the boundary in the neighborhood of ±l pix- Figure 1. (a)Various erroneous single stray pixel cases, (b) Single stray pixels removed after smoothing step els, which is equivalent of convolving with a l x l averaging mask. The detailed proposed algorithm is as follows: 1. Extract one-pixel thick m-connected boundary. 2. Calculate slope: Assign BC codes by chain encoding the boundary using 8-way connectivity. The BC codes represent the slope of the current pixel with the previ- ous. The slope at current pixel i is thus φi = tan−1 ( π 4 BCi) (2) 3. Smooth the Boundary: • Remove spurious single pixels from the bound- ary. Figure 1 depicts all such cases. – One pixel breaks in straight line, where there is only one isolated pixel above the break. A V made by a set of pixels. – One pixel thick diagonal line with one extra pixel in 4−neighborhood of any of the pixel of this diagonal line. The following substitutions are done to handle the above case. For current pixel position i check the next two pixels’ BCi. Substitute the current series of the BC’s according to Table 1. Figure 1(b) shows the result of the smoothing step on Figure 1(a). • Align stray single pixels along the dominant slope in a 3 x 3 neighborhood. For current pixel position i 828 828 822 822
  • 3. Current Series of BC0 s BC0 s After Replacement (0, 7, 1) / (0, 1, 7) (0, 0, 0) (2, 3, 1) / (2, 1, 3) (2, 2, 2) (4, 5, 3) / (4, 3, 5) (4, 4, 4) (6, 5, 7) / (6, 7, 5) (6, 6, 6) (1, 2, 0) / (1, 0, 2) (1, 1) (3, 4, 2) / (3, 2, 4) (3, 3) (5, 6, 4) / (5, 4, 6) (5, 5) (7, 0, 6) / (7, 6, 0) (7, 7) Table 1. Smoothing single stray pixels from the boundary – Check previous two pixels and next two pixel’s BC. If BCi±n(n=1,2) are same and BCi 6= BCi±n then BCi = BCi+1. – Check previous two pixels’ and next pixels’ BC or next two pixels’ and previous pixels’ BC. If (BCi−n(n=1,2) = BCi+1 AND 6= BCi) OR (BCi+n(n=1,2 = BCi−1 AND 6= BCi) then BCi = BCi+1 (or BCi = BCi−1). – Check previous two BC and next to next BC of current pixel or next two BC and previous to previous pixels’ BC If (BCi−n(n=1,2) = BCi+2 AND BCi 6= BCi+2) OR (BCi+n(n=1,2) = BCi−2 AND BCi 6= BCi−2) then BCi = BCi+2 (or BCi = BCi−2). This step removes all the spurious codes on the curve and aligns the stray pixels along the domi- nant slope of the line. 4. Avoid False Corners: Check MC codes. For current pixel position i, If MCi 6= MCi−1, then this is called the first occurrence of MC code. If the first occurrence MCi = MCi−n(n=1,2,...,l), then the ith position is not a corner. For example, let l = 4, and if the MC code is 222222233322222222224443333333, then its first oc- currence MC code positions are 1, 8, 11, 21, 24. The MC code at 11th position already exists in previous codes within a neighborhood of l = 4, and thus is a false corner. 5. Calculate Curvature by First Order Difference Codes: The curvature at current pixel i is δφi = φi+1 − φi (3) The first order difference code (DC) on the MC codes represents this curvature or turning angle from the pre- vious point. It is calculated as DCi = mod8(MCi+1 − MCi + 8) (4) where the MCiś are the modified boundary chain codes. The first order difference on the MC codes rep- resents the turning angles from the previous point. 6. Find True Corners: Traverse the DC0 s. Let Pi denotes the position of isolated non-zero DC in a sequence of 0 DC0 s. If Pi −Pi−1 > l (the difference between con- secutive positions of isolated non zero DC’s). Then there are true corners at Pi and Pi−1 positions. For ex- ample, if the MC code = 11111222222224444444, its DC = 0000100000002000000. The non-zero DC po- sitions Pi are 8, 13. The difference between non zero DC positions = 5 > l, then there are corners at 5th and 13th positions. 4 Test Results The proposed corner detector gives single, localized and accurate response to corners. A corner detection algorithm must be tested on a variety of shapes for its proper evalu- ation. Our test image includes most variety of variations in curvature, corner sharpness and noise/irregularities along the boundary curves. Such variations are expected in real life images. Comparison is also done with two popular al- gorithms namely Harris [9] and Yung [10]. Table 1 and Fig 2 shows the results. Both Harris and Yung miss true cor- ners on small curvature curves. Our corner detector gives Figure 2. Test image with regular curvature changes excellent results even in the presence of noise like Gaus- sian, Poisson, and Speckle etc., while both Harris [9] and Yung [10] are not invariant to noise. They eliminate some true corners and also introduce false corners due to noise. Our algorithm is invariant to noise and extracts all true cor- ners as shown in Fig 3. 5 Affine Transformation Invariance Corner detection should not be influenced by affine transformation effects like translation, rotation, shearing and minor size variations. The proposed algorithm is affine 829 829 823 823
  • 4. Figure 3. Corners extracted on noisy images (a) Gaussian Noise, (b) Poisson Noise, (c) Speckle Noise transformation invariant. Corners are calculated on the first order differences of the chain codes. The first difference in the chain codes makes the boundary translation invariant as they represent the turning angles from the previous point. To expand or to contract a chain by a specified scale fac- tor, one must appropriately scale each chain link and then re quantize. In down sampling, a number of links may merge into one, and in up-sampling one link may cause a string of many links to be generated. The generation of these new links is most easily handled by using Bresen- ham scan conversion technique. Compared to up sampling, down sampling is robust to aliasing effects. We down sam- ple the boundary to a constant size before chain coding. This re sampling makes the corner detector scale invari- ant.The boundary is aligned with minimum angle with the x−axis. This is done by circularly shifting the DC’s and starting with the first difference of smallest magnitude. Cir- cular shift makes the boundary rotation invariant and the corners extracted on this boundary will be rotation invari- ant.Transformation invariant test results of the corner detec- tion algorithm on the standard test image is shown in Fig 4. Figure 4. Transformation invariance of corner extractor(a) Original (b) Rotated by 270◦ , (c) Scaled 50% (d) Scaled 50% and Rotated 90◦ 6 Conclusions In this paper we proposed a novel simple, efficient and transformation invariant method for corner detection which uses only integer arithmetic for approximation of curvature on curve boundary. The algorithm depends on only one pa- rameter l. The parameter l, can be assigned a constant value as per personal preference of neighborhood, and it is also adaptive to the length of the boundary curve. Experimental results show that l taken as fourth root of boundary length is sufficient for extracting good corners. The parameter l is therefore both local and global in nature. Comparative study on various noiseless and noisy images has been done. Finally, the comparison between the proposed approach and other corner detectors show that our approach is more com- petitive with respect to Harris [9] and Yung [10] under sim- ilarity and affine transforms. Moreover, a number of ex- periments also illustrate that our corner detection has more robustness to noise. Corners extracted from this technique could be used in various shape analysis, size measurement and boundary re- construction applications. From the extracted corners we can easily reconstruct the boundary by fitting straight line segments between corners. This can be used as the convex hull or an approximation to the object’s shape. Corner Detector Results Yung True corners missed on curved edges Harris Poor true corners even on significant curvature change Our Algorithm All true corners, No false corners Better approximation of curvature Table 2. Comparison of corner detectors on Fig 2 and Fig 3 830 830 824 824
  • 5. References [1] Rafael C. Gonzalez and Richard E. Woods, “Digital Image Processing,” Addison Wesley Longman, 2nd ed, 2000. [2] V. Hlavac M. Sonka and R. Boyle, “Image Processing Analysis and Machine Vision,” Chapman and Hall, 1993. [3] Neeta Nain, Vijay Laxmi, Ankur Kumar Jain and Rakesh Agarwal, “Morphological edge detection and corner detection algorithm using chain-encoding,” In- ternational Conference on Image Processing, Com- puter Vision, and Pattern Recognition, Las Vegas, Nevada, USA,vol. II, pp. 520–525, 2006. [4] A. Rosenfeld and E. Johnston, “Angle detection on digital curves,” IEEE Transactions in Computing, vol. C-22, pp. 875–878, 1973. [5] A. Rosenfeld and J. S. Wezka, “An improved method of angle detection on digital curves,” IEEE Transac- tions in Computing,vol. C-24, pp. 940–941, 1975. [6] H. Freeman and L. S. Davis, “A corner finding algo- rithm for chain coded curves,” IEEE Transactions in Computing, vol. 26, pp. 297–303, 1977. [7] Beus. H. L. and S. S.H Tiu, “An improved corner de- tection based on chain coded plane curves,” Pattern Recognition Letters, vol. 20, pp. 291–296, 1987. [8] P. Smith and J. Brady, “SUSAN- A new approach to low level image processing,” International Journal for Computer Vision, vol. 23, pp. 45–78, 1995. [9] C. Harris and M. Stephens, A Combined Corner and Edge Detector, vol. 23, pp. 189-192, Proceedings of 4th Alvey Vision Conference, Manchester, 1988. [10] X.C. He and N. H. C. Yung, Curvature Scale Space Corner Detector with Adaptive Threshold and Dy- namic Region of Support, vol. 2, pp. 791-794,ICPR, IEEE Computer Society,2004. 831 831 825 825