logo资料库

CPDA角点检测方法.pdf

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 10, NO. 6, OCTOBER 2008 1059 Robust Image Corner Detection Based on the Chord-to-Point Distance Accumulation Technique Mohammad Awrangjeb, Member, IEEE, and Guojun Lu, Senior Member, IEEE Abstract—Many contour-based image corner detectors are based on the curvature scale-space (CSS). We identify the weak- nesses of the CSS-based detectors. First, the “curvature” itself by its “definition” is very much sensitive to the local variation and noise on the curve, unless an appropriate smoothing is carried out beforehand. In addition, the calculation of curvature involves derivatives of up to second order, which may cause instability and errors in the result. Second, the Gaussian smoothing causes changes to the curve and it is difficult to select an appropriate smoothing-scale, resulting in poor performance of the CSS corner detection technique. We propose a complete corner detection tech- nique based on the chord-to-point distance accumulation (CPDA) for the discrete curvature estimation. The CPDA discrete curva- ture estimation technique is less sensitive to the local variation and noise on the curve. Moreover, it does not have the undesirable effect of the Gaussian smoothing. We provide a comprehensive performance study. Our experiments showed that the proposed technique performs better than the existing CSS-based and other related methods in terms of both average repeatability and local- ization error. Index Terms—Chord-to-point distance accumulation, corner de- tection, curvature scale-space. I. INTRODUCTION I MAGE feature detection and matching are two funda- mental problems of computer vision and image processing research. For example, in image copyright protection, some pixels in the original image are used either to calculate the signature [1] or to embed the watermark [2]. However, geo- metric transformations change the location of those pixels. Consequently, the copyright verifier fails to track the copyright information in the transformed image. In such cases, if the locations of those pixels are defined with respect to the salient features of the image, e.g., corners, the verifier will be able to locate those pixels easily. In feature detection problem, a set of representative features, most often corners, are detected for all images [3]. In feature matching problem, the representative features of the test image and the stored images are compared to identify the transformed images of the test image [4]. We will focus on the corner detec- tion problem in this paper. The contour-based corner detectors [3], [5]–[11] are mainly based on the curvature scale-space (CSS) (contours can be open Manuscript received June 01, 2007; revised May 12, 2008. Current version published October 24, 2008. The associate editor coordinating the review of this manuscript and approving it for publication was Dr. Daniel Gatica-Perez. The authors are with the Gippsland School of Information Technology, Monash University, Churchill, Vic 3842, Australia (e-mail: Mohammad. Awrangjeb@infotech.monash.edu.au; Guojun.Lu@infotech.monash.edu.au). Digital Object Identifier 10.1109/TMM.2008.2001384 or close). They smooth the planar-curves with the Gaussian function at different smoothing-scales. Then they estimate the curvature on each point of the smoothed curves. The absolute curvature maxima points are gathered in the candidate corner set, from which the weak (also called “round” corners in the lit- erature [8]) and false corners (see Section III-D for their charac- teristics) are eliminated using thresholds. Some CSS corner de- tectors [3], [8], [9], which detect corners using one or more high smoothing-scales, also follow a corner tracking step in order to improve localization. The existing CSS corner detectors suffer from two main prob- lems. First, the CSS curvature estimation technique adopted by the existing detectors is highly sensitive to the local vari- ation and noise on the curve. In addition, the curvature esti- mation involves higher order derivatives of curve point-loca- tions up to second order which cause errors and instability in results. Second, the CSS corner detection technique requires ap- propriate Gaussian smoothing-scale selection which is a diffi- cult task. Consequently, smoothing with inappropriate Gaussian scales by the existing CSS detectors results in poor corner de- tection performance. The purpose of this paper is to propose a new corner detection technique which overcomes the aforementioned problems asso- ciated with the existing CSS corner detectors. We present a com- plete corner detection technique based on the chord-to-point distance accumulation (CPDA) for the discrete curvature es- timation [12]. The CPDA discrete curvature estimation tech- nique is less sensitive to the local variation and noise on the curve. It does not use any derivative of the curve-point loca- tions at all. Moreover, it does not have the undesirable effect of the Gaussian smoothing. As a result, the proposed CPDA corner detector greatly overcomes the problems associated with the ex- isting CSS corner detectors and offers better performance. The contribution and organization of this paper are summa- rized as follows. • First, we identify and analyze the problems with the ex- isting CSS corner detetcors (Section II-B). • Second, we propose a complete corner detector based on the CPDA discrete curvature estimation [12]. The perfor- mance of the proposed detector is improved not only by the use of CPDA discrete curvature estimation, but also by introducing some techniques to make the detector more ro- bust (Section III). • Third, we carried out a comprehensive performance study. The proposed CPDA corner detector outperformed the existing most promising detectors [3], [8], [10], [11] in terms of both average repeatability and localization error (Section IV-C). 1520-9210/$25.00 © 2008 IEEE
1060 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 10, NO. 6, OCTOBER 2008 Fig. 2. Local variation of a curve. the CSS curvature estimation technique considers a very small neighborhood (2 2) on both sides of each point to evaluate the curvature at that point. This makes the technique very much sus- ceptible to the local variation of the curve and to the noise, as we discuss shortly in the next section. Fig. 1. Intrinsic definition of curvature. • Finally, we discuss and analyze why the proposed CPDA detector performs better than the existing CSS-based de- tectors (Section IV-D). II. RELATED WORK In this section, we first briefly present the CSS curvature es- timation technique and then identify and analyze the problems associated with the existing CSS corner detectors that adopted the CSS curvature estimation technique. Finally, we present the CPDA discrete curvature estimation technique that will be used by the proposed CPDA corner detector to overcome the prob- lems with the existing CSS-based detectors. The curvature A. CSS Curvature Estimation of a curve is defined as the in- at a point , which is the angle subtended by stantaneous rate of change of the tangent at with the -axis, with respect to the arc-length [5] (see Fig. 1), (1) be a curve of length pixels, where denote the Let and with respect to the arbitrary parameter ture defined in (1) becomes [3], [5]–[11] and positions of each point on the curve . The curva- (2) and where are second order derivatives with respect to . The first order and second order derivatives at a point on a curve are defined as are first and and (3) We see that only one neighbor point on each side of point is considered to estimate the first order derivative on and only two neighbor points on each side of that point are consid- ered to estimate the second order derivatives. This means that Curve smoothing prior to curvature measurement reduces the effect of the local variation and noise. To do that each of the curve are con- coordinate functions volved with the Gaussian function denotes the smoothing-scale. The curvature on the smoothed curve , where and where , becomes [3], [5]–[11] (4) (5) where denotes the convolution operation. As the convolution operation is associative under differentiation, derivatives of the convolved curve can be calculated using (5) [8]. B. Problems With the Existing CSS Corner Detectors In this section, we will first analyze the problems with the CSS corner detection technique and then discuss how the ex- isting CSS-based detectors suffer from these problems. 1) Problems: There are two key problems associated with the CSS corner detection technique. The first problem is directly related to the curvature itself defined in (1) and can be under- stood using (2) and (3). Since the curvature, by definition, means [see (1)], it is very the instantaneous rate of change of angle much sensitive to the local variation and noise on the curve. In a changes significantly from point high local variation region, to point within a short curve segment. As depicted in Fig. 2, in such a small but highly variable curve-region the derivatives of curve point-locations may lead to the high curvature estima- tion. As a result, the existing CSS-based detectors may detect many weak and false corners, if such local variation or noise is not smoothed away using a high smoothing-scale beforehand. However, smoothing has its own problem as discussed shortly (the second problem). Though the Gaussian convolution is used to calculate the derivatives of curve point-locations as shown in (5), the precise approximation of the higher order derivatives is still a difficult task and often causes instability and introduces errors [13]. The problem becomes more severe under geometric transformations
AWRANGJEB AND LU: ROBUST IMAGE CORNER DETECTION BASED ON THE CHORD-TO-POINT DISTANCE ACCUMULATION TECHNIQUE 1061 rest of this section, we will discuss how the existing CSS-based detectors suffer from the second problem. The earliest CSS corner detector by Rattarangsi and Chin [5] and its improved version [6] detected corners in the complete scale-space by considering all possible smoothing-scales so as to overcome the second problem. However, the tree construc- tion and parsing using the complete scale-space resulted in high computational complexity. The adaptive smoothing technique in [7] reduced the computational complexity by eliminating the construction of the complete scale-space map and by avoiding the tree representation of the scale-space. However, the adaptive smoothing technique itself incurred additional computational cost which was supposed to be compensated by the slightly im- proved robustness. Mokhtarian and Suomela [8] detected corners at a high scale and tracked them through multiple lower scales to the lowest scale in order to improve localization. On the one hand, when corners were detected in a very high scale, this detector showed high robustness but lost many strong corners which might re- quire lower smoothing-scales to be detected. On the other hand, if corners were detected in a low scale it introduced many weak corners which might require higher smoothing-scales to be re- moved. As a result, this detector also suffered from the second problem. Many of its improved versions (e.g., [3], [9]), which selected the smoothing-scales based on the curve-length, also failed to overcome this problem. Because even curves of the same length may require different smoothing-scales depending on the level of local variation and noise as discussed above. The multi-scale curvature product (MSCP) detector [10] and the single-scale detector [11] tried to overcome the second problem to a great extent. They compensated the risk asso- ciated with possible inappropriate smoothing-scale selection by adopting different strategies. The MSCP detector used the curvature product of three estimated curvature values at each point using three smoothing-scales. As a result, in terms of cur- vature product, the strong corners became more distinguishable from the weak corners. He and Yung [11] used the adaptive curvature-threshold and the dynamic region-of-support on both sides of each curvature extremum point. Consequently, both of them offered better corner detection performance than many of the aforementioned detectors. In this paper, we will compare most promising detectors [3], [8], [10], [11] with our proposed corner detector (see Section IV). C. CPDA Discrete Curvature Estimation The previously proposed single chord-to-point distance mea- surement technique [14] was not reliable, since such distance depends upon the location of the chord [12]. In order to increase the reliability, Han and Poston [12] proposed the chord-to-point distance accumulation (CPDA) technique for measuring the dis- crete curvature. A chord is moved along a curve and the perpen- dicular distances from each point on the curve to the chord are summed to represent the curvature. In contrast to the conven- tional CSS curvature estimation technique adopted by the ex- isting CSS corner detectors, the CPDA technique is completely based on the Euclidean distance and does not involve any deriva- tive of the curve-point locations at all. Fig. 3. Effect of curve smoothing using Gaussian function with different smoothing-scale . The original curve as shown above is a high resolution version of “curve 7” in Fig. 5(b). when the curve point-locations are always approximated and, therefore, may not be stable. Consequently, the derivative-based curvature value defined in (4) may change considerably between original and transformed curves. Such unstable and erroneous estimated curvature not only affects the corner detection perfor- mance under geometric transformations, but also may result in poor corner matching performance in any of their later applica- tions [4]. The second problem is related to the curve smoothing using the Gaussian function. The aim of the smoothing is to reduce the effect of local variation and noise so as to remove weak and false corners. However, two direct effects of the Gaussian smoothing are: first, it shrinks the curve and second, it smoothes out the details if the smoothing-scale is high. On a smoothed curve, corners are usually detected at those points where the absolute curvature maxima values become higher than the threshold. However, the estimated curvature value at a corner point may decrease below the threshold with smoothing using high . The sharp (strong) corners are easily identifiable with smoothing using large , their estimated curvature is less accu- rate and localization is worse than with smoothing using small . However, using small may detect many weak and false corners. Moreover, one smoothing-scale may not be suitable for all curves. Since the local variation and noise on the curve are unknown, curves of the same length may require different smoothing-scales, even different segments of the same curve may require different smoothing-scales. Therefore, choosing an appropriate Gaussian smoothing-scale for a given curve is a very difficult task. This above problem is depicted in Fig. 3. The original curve in Fig. 3 is a high resolution version of “curve 7” in Fig. 5(b), where we see three strong corners (points 2, 3, and 4 in Fig. 3). In the high resolution version of the curve (original curve in Fig. 3), we see many weak corners and we choose points 1, 5, and 6 and 4 can detect all for illustration. Smoothing with both three strong corners; but while smoothing with detects misses two weak all the weak corners, smoothing with corners (points 1 and 5). However, corner localization is better with lower smoothing-scale (see locations of point 3 in original and smoothed curves in Fig. 3). Note that the detected corners are shown with solid arrows and the missed corners are shown with dotted arrows. 2) Existing CSS-Based Detectors: The first problem dis- cussed above was an inherent problem with all the existing CSS corner detectors [3], [5]–[11], since they used the same CSS curvature estimation technique discussed in Section II-A. In the
1062 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 10, NO. 6, OCTOBER 2008 Fig. 4. Chord-to-point distance accumulation technique for a chord C of length L. In the literature [12], here chord-length L denotes the arc-length of the interior curve-segment. For example, in this Fig. L = 5. The vature formal definition of estimation technique be the is as the CPDA discrete follows. cur- Let the parameterized , as shown in Fig. 4. To points of at a point using a chord curve measure the curvature of length and points while keeping , we move the chord on each side of at most as an interior point. Note that denotes the arc-length according to [12], the chord-length of the interior curve-segment as shown in Fig. 4. Starting the when the two ends of the chord movement from the point respectively, we measure the perpendicular are at to the chord. Then we move the distance chord one point ahead when its two ends are at and respectively and measure the perpendicular distance . The procedure continues by moving the chord one point at a time and stops when the both ends of the chord move respectively. Then we accumulate to the points all distances to calculate the CPDA discrete curvature at the point from and as (6) Since , the above formula is simplified to (7) In general, the above CPDA function has the following ad- vantages over the CSS [12]. First, it does not shrink the curve and smooth out the details. Second, the estimated CPDA curva- and the detected features ture increases with the increase of (curvature zeros and extrema) are quite stable for a wide range . Since the chord smoothing does not change the curve-point of locations, the details of the curve are not physically smoothed values are not out when good, still a selection of medium values helps detecting the strong corners. increases. Though small and large The proposed CPDA corner detector based on the above dis- crete curvature estimation technique does not suffer from the key problems associated with the existing CSS corner detec- tors, because the CPDA discrete curvature estimation does not directly implement the “curvature definition” and it does not re- value selection. We will detail this effect quire the appropriate later in Section IV-D. III. PROPOSED CPDA CORNER DETECTOR The proposed corner detector first extracts planar curves from the edge image detected by the Canny edge detector [15]. Each curve is then smoothed with a small width Gaussian kernel in order to remove quantization noise and trivial details. Please note that this smoothing is done only once as a preprocessing. We use the CPDA technique [12] to estimate the curvature on the smoothed curves. In order to make strong and weak cor- ners more distinguishable, we first use three chords of different lengths to estimate three normalized discrete curvature values on each point of the smoothed curve. Then we multiply the nor- malized curvatures to obtain the curvature product (a single es- timated curvature) at each point. The maxima of the absolute curvature products along the smoothed curve are then obtained as candidate corners. Finally, it follows a two-step refinement process that uses a curvature-threshold and an angle-threshold to remove weak and false corners, respectively. The outline of the proposed corner detector is as follows. • Find the edge image using the Canny edge detector. • Extract edges (curves) from the edge image: — fill gaps if they are within a range and select long edges, — find T-junctions and mark them as T-corners. — obtain the “status” of each selected edge as either “loop” or “line.” • Smooth using a small width Gaussian kernel in order to remove quantization noises and trivial details. This small scale Gaussian smoothing also offers good localization of corners. • At each point of the smoothed curve , compute three discrete curvatures following the CPDA technique using three chords of different lengths. • Find three normalized curvatures at each point of then multiply them to obtain the curvature product. and • Find the local maxima of the absolute curvature products as candidate corners and remove weak corners by comparing with the curvature-threshold . • Calculate angles at each candidate corners obtained from the previous step and compare with the angle-threshold to remove false corners. • Find corners, if any, between the ends of smoothed “loop” curves and add those corners which are far away from the detected corners. • Compare T-corners with the detected corners and add those T-corners which are far away from the detected corners. We will detail the proposed CPDA corner detection technique in the following subsections. All the chosen parameter values that we will present below were decided either from the existing work or based on our empirical study (see Section IV-C1 for detail). A. Edge Extraction and Selection In the Canny edge detector [15], too many weak and noisy edges will be detected when the edge strength threshold is set too low. Conversely, many legitimate edges will be missed when the threshold is set too high. In addition, the edge strength may be changed due to geometric transformations. Therefore, in our implementation, we choose the Canny edge detection thresholds as , after experimentation. and Some of the edges detected as above may be quite short and may result from strong noises. It is difficult to smooth short edges due to the restriction of the smoothing window size
AWRANGJEB AND LU: ROBUST IMAGE CORNER DETECTION BASED ON THE CHORD-TO-POINT DISTANCE ACCUMULATION TECHNIQUE 1063 Fig. 5. Edge detection and smoothing: (a) original “Lena” image (512  512); (b) edge image from (a) using Canny edge detector with thresholds low = 0:2 and high = 0:7, total 12 edges were detected and are shown here where both ends of each edge is numbered for easy identification; (c) Gaussian smoothed curves with small ’s to reduce the effect of noise; and (d) superposition of (b) and (c) to show small scale Gaussian smoothing does not affect localization much. (window size should be smaller than the edge length). Thus in our implementation, edges are selected only when their lengths meet the following condition: (8) is a length control parameter. If are selected; if experiments, we set size 512 where width and height are width and height of the image and is small, only long edges is large, short edges are also selected. In our [11]. Therefore, for an image of 512, the minimum length of the selected curves is . The above edge extraction setup avoids selecting large number of weak and very short edges which may not con- tain strong corners, thereby helps speeding up the later steps. If an edge runs through any point which is within 2 pixels away from an end of another edge [8], we select that end as a T-junction and add to the set T-corners. See Fig. 5(b) for the ex- tracted edges from “Lena” image using the above setup, where a T-corner is detected in the intersection of curves 6 and 12. We also obtain the “status” of each selected edge as either “loop” or “line.” If both ends of a curve are within 5 pixels away [11], the curve is a “loop” curve, otherwise it is a “line” curve. This curve status definition will help determining the corner, if any, between the ends of a loop curve (see Section III-E). B. Curve Smoothing and long edges should be smoothed with large The purpose of curve smoothing before curvature estimation is to reduce the effect of noise which may affect the curvature estimation severely. Noise may also be introduced by the edge detector. In general, short edges should be smoothed with small [9], because smoothing a short edge with a large may smooth out important features and smoothing a long edge with a small may leave a value depends on the amount of lot of noises on it. However, noise which is unknown. Therefore, determining appropriate for a given curve of any length is a difficult task. ; and for we select we select scale Since we do not follow any corner tracking step after their de- tection and large scale smoothing may smooth out many impor- tant features, we use small scale Gaussian smoothing to keep the effect of localization problem minimum. For curves of length we select . Fig. 5(c)–(d) show that using such small scale smoothing functions does not change the corner location much. However, this small scale smoothing may not remove all weak and false corners which we will remove by following a two-step refinement process later in Section III-D. After smoothing, we extend the both ends of the smoothed curve. In the case of a “loop curve,” we extend each end by ; for
1064 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 10, NO. 6, OCTOBER 2008 Let , and , where , be three cur- , and , where vature function using three chords of lengths respectively. The absolute values of , may range from zero to a long integer number depending on the types of corners on the curve. Moreover, the estimated curvature value of the same type of corner (for example, a corner with 60 angle) using any of the three chords may be different on different curves. Consequently, a single curvature threshold setting to re- move the weak corners from all types of curves becomes prob- lematic (see first refinement step in Section III-D1). To over- using (9), come this problem, we normalize the function so that the discrete curvature values are in the range [0,1]. (9) However, this normalization has an undesirable effect. On straight-line like curve, where there may be no prominent corner, some of the absolute curvature maxima become larger than the curvature-threshold. These maxima points are de- tected as false corners and may not be removed by the first refinement step. We will use the second refinement step (see Section III-D2) to remove such false corners. As three normalized curvature values are computed at each point of a curve, we need to find a single feature value to detect corner by comparing with a single curvature threshold. To find it we simply use the following curvature product as the single feature value: (10) The use of above curvature product has an additional ad- vantage. As the normalized curvature value of a strong corner should be higher than that of a weak corner on the same curve, by multiplying three estimated curvatures at each point, the strong corners become more distinguishable than the weak corners. For example, let three normalized curvature values on a strong corner be 0.6, 0.75, and 0.8 respectively and those on a weak corner be 0.1, 0.15, and 0.2 respectively. So the ratios of curvature values of strong and weak corners are 6, 5, and 4 respectively. However, the curvature products of strong and weak corners are 0.036 and 0.003 whose ratio is 120. Fig. 7 shows the curvature functions for “curve 4” of “Lena” (see Fig. 5) for different chord-lengths. It is evident from Fig. 7 that the strong corner-points are more distinguishable in the curvature product function than in the individual curvature functions with different chord-lengths. A direct impact of curve smoothing before the curvature esti- mation using (10) is also shown in Fig. 7(d). We see that though the curvature product function may contain a lot of local small peaks without smoothing [see the thin curve in Fig. 7(d)], the effect of noise is reduced if the curve is smoothed prior to the curvature estimation [see thick curve in Fig. 7(d)]. This will help distinguishing the curvature extrema points corresponding to the strong corners unambiguously. D. Candidate Corner Set Refinement We gather the local maxima points on the absolute function from all curves in the candidate corner set. A local of Fig. 6. Distance accumulation technique: (a) original shape (a dot represents start point and arrow represents the direction); (b)–(f) estimated curvature func- tions using different chord-lengths L. taking into account of the points of the other end. And in the case of a “line curve,” we extend each end by taking into account of the points of the same end. This curve extension prevents missing any prominent corners near to the ends of the curve. The reason is, on points near to the ends, the number of chord move- ments becomes very low (zero at the ends) during the CPDA discrete curvature calculation using (7). This phenomena results in low curvature estimation for a prominent corner near to any end of the curve. The above curve extension reduces this effect. Note that in the following section we do not calculate curva- tures on the points of the extended parts, but we use the points on the extended parts to calculate the discrete curvature values on points near to the ends of the original smoothed curve. C. Curvature Estimation We use (7) in Section II-C to calculate the CPDA discrete curvature value on each point of the smoothed curve. One im- portant property of the CPDA discrete curvature estimation is that the curvature value on a point increases with the increase . However, it may be difficult to distinguish of chord-length . For example, Fig. 6 different important features with a large is medium shows the curvature estimation using (7). When say 10 [see Fig. 6(c)], the corners (curvature extrema points) increases, say 30 or 40 [see are easily identifiable. But when Fig. 6(e)–(f)], many corners become flatter and more indistin- guishable. ’s for long curves and small In general, we need to use large ’s for short curves. However, choosing a single chord-length for a given curve is difficult, because curves of the same length may contain different types of corners. For instance, when a single chord is used, the corner detector will be sensitive to noise if the chord-length is set too small, but it will smooth out the details of the curve if the chord-length is set too high. There- fore, we calculate three discrete curvature values at each point using three chords of different lengths for the following reasons. First, it is difficult to decide one single chord-length for different curves. Second, we use the product of three estimated curvatures to make the strong corners more distinguishable than the weak and false corners. We choose , chords three and of medium lengths the curve-length to measure the CPDA discrete curvature using (7). Note that the above setting of chord-lengths is suitable with the discussed in Section III-A. minimum curve-length irrespective of
AWRANGJEB AND LU: ROBUST IMAGE CORNER DETECTION BASED ON THE CHORD-TO-POINT DISTANCE ACCUMULATION TECHNIQUE 1065 Fig. 8. Absolute curvature function of “curve 8” of “Lena” image [see Fig. 5(b)], where there is no prominent corners. However, all four curvature maxima points above the curvature-threshold are in the candidate corner set after the first refinement step in Section III-D1. We want to remove them using the second refinement step in Section III-D2. Their localization is very good and curvature values are usually very high. In contrast, the weak corners are flat in nature and visually less significant features on curves. Their localization is very poor since it may be very difficult to point out their exact lo- cations. Furthermore, their curvature values are usually smaller than the strong corners. The false corners are due to noise and and the nor- the local variation on the curve. As we use small malized discrete curvature values using (9) may be higher than the thresholds, some false corners may be detected. They are usually detected on the straight-line like curves (see curves 8 and 11 on “Lena” image in Fig. 5(b)) where there is no visually prominent corners. However, the curvature function of curve 8 of “Lena” image shown in Fig. 8 depicts that four false cor- ners (four maxima points) are detected. The reason is that on a straight-line like curve the denominator of (9) will be relatively very small leading to high normalized curvature on some points. We follow a two-step refinement process to obtain the final corner set by filtering out the weak and false corners. The first refinement step uses a curvature-threshold mainly to remove the weak corners and the second refinement step uses an angle- threshold mainly to remove the false corners. 1) Using Curvature-Threshold: The absolute curvature of a strong corner should be greater than that of a weak corner. The existing CSS-based detectors either used one [8], [10] or three [3], [9] predefined thresholds or adaptive (curve depen- dant) thresholds [11] to remove weak corners. In our case, the absolute curvature on each point becomes within the range [0,1] due to normalization. Consequently, a single curvature-threshold is sufficient to remove the weak works fine. If corners. By experiments, we found that , this maximum point is declared a local maximum is less than as a weak corner and removed from the candidate corner set. 2) Using Angle-Threshold: Fig. 8 shows that the false cor- ners detected on a straight-line like curve may not be removed using the first refinement step discussed above, because their . In the second curvature values are higher than the threshold refinement step, we estimate the angle at each candidate corner point using two curve-segments between this candidate and two of its nearest neighbor candidates on its both sides. If the es- timated angle is larger than the angle-threshold, the candidate Fig. 7. Normalized CPDA discrete curvature functions for “curve 4” of ‘Lena’ (see Fig. 5) with different chord-lengths: (a) L = 10; (b) L = 20; (c) L = 30; and (d) the curvature product function with L = 10; 20, and 30, where “after smoothing” and “before smoothing” depict H(k) with and without Gaussian smoothing ( = 3), respectively, to show the importance of Gaussian smoothing prior to curvature estimation. maximum is either a strong corner or a weak corner (also called “round” corners in the literature [8]) or a false corner. The later two should not be detected as corners. The strong corners are very sharp in nature and visually prominent features on curves.
1066 IEEE TRANSACTIONS ON MULTIMEDIA, VOL. 10, NO. 6, OCTOBER 2008 where is the maximum angle below which the estimated corner angles are considered as sharp angles. In our experiments the angle-threshold was set 157 . E. Final Corner Set The candidate corner set after removing weak and false cor- ners is obtained as the final corner set. There may be a corner between the ends of a loop curve and such corner may be missed in spite of the curve extension. To detect such corner, we esti- mate the angle at any end point of the smoothed loop curve using the technique shown in Fig. 9, where are two already detected corners nearest to both ends. We add such end point of a loop curve to the final corner set if the estimated angle does not satisfy (13) and the end is far away from the detected corners. At last, a T-corner is added to the final corner set if it is far away from the already detected corners. In both the above 5 neighborhood [8]. Fig. 12(d) shows cases, we consider a 5 the detected corners by the proposed CPDA detector in original “Lena” image. and IV. PERFORMANCE STUDY In this section, we present the outcome of two main perfor- mance studies. First, we summarize the experimental results of the parameter setting for the proposed CPDA detector (Section IV-C1). Second, we compare the performance of the proposed CPDA corner detector (Section IV-C2) with four existing most promising CSS corner detectors namely i) CSS detector [8], ii) ARCSS detector [3], iii) MSCP detector [10], and iv) He and Yung detector [11]. We also compare the pro- posed detector with the well known k-cosine technique [16] (RJ73). The performance of the other existing detectors (e.g., ECSS detector [9]) has already been proven to be inferior to some of the above detectors (e.g., CSS [8] and ARCSS [3] detectors) in [3]. In the comparative study, all the detectors were set with their default parameter values. In our experiments, all detectors were executed using the same edge extraction and selection step, discussed in Section III-A, for fair comparisons. Moreover, for the RJ73 detector [16] the edges were smoothed using small Gaussian smoothing scales before corner detection (like we do for the proposed CPDA detector). In fact, the RJ73 did not discuss about smoothing to eliminate noise and we observed that the pre-smoothing increased the performance of this detector. We detected corners both in the original images and their attacked (geometric transformed and signal processed) images. Then we obtained the number of repeated corners between original and attacked (test) images. In the case of geometric transformations, we transformed the original corners using the transformation parameters prior to finding their repetitions in the test (transformed) corner set. This technique of performance study is automated and was proposed in [3]. Thus we avoid the traditional evaluation technique based on the human judge- ment which is hard to implement for a large database having thousands of test images [3]. Instead, we evaluated the robust- ness of the detected corners by using two metrics—average repeatability and localization error [3]. Fig. 9. Angle detection on the candidate corner C. corner is removed from the candidate corner set. Note that this corner detection is different from the original definition of the curvature (see (1) in Section II-A), which estimates the rate of local angle change at each point with respect to the arc-length. Since we consider the curve-segments for each candidate corner point while estimating the angle, this makes a global sense of the estimated angle on the curve. We know that a well defined corner should have a relatively sharp angle [11]. If we know the angle of each corner on a curve, it would be easy to differentiate between strong and false cor- ners [16]. We follow the angle calculation technique similar to a technique in [11] as shown in Fig. 9. The angle on both sides of . and on both sides of , at a candidate corner is es- and . timated using the two tangents The region-of-support (RoS) for is defined using two nearest and could be candidate corners if no neighbor candidate corners are found the end points of on the same curve. In order to determine the left tangent angle , a simple three-point method is employed to fit a circle approximately on the left “arm” CD of the RoS. The of two points on the left arm CD are two end points the arm and the third point is their midpoint . If these three points are collinear then the tangent direction on the left side of the circle, of , which goes through points . Otherwise, the center , be the angle representing the direction of , is calculated. Let to , be the angle representing the angle from , and is from to and and to as . Then we have the left tangent angle on the left arm of (11) where the function ilarly, the right tangent angle returns the sign of its argument. Sim- , on the right arm can be obtained as is calculated. Therefore, the angle Finally, isfies the following condition is removed from the candidate corner set if (12) sat- (13)
分享到:
收藏