1 Introduction

According to Mokhtarian and Mohanna [19], corners are important features in images and more relevant than other points on a shape. Also known as high curvature points (HCP), they are useful for shape description and furthermore represent an object in a compact manner, invariant to rotation and translation [24, 30].

Shape analysis and recognition tasks can benefit of algorithms to detect corners and dominant points, which can be used to represent objects [7, 21, 33]. Applications that rely on corners include scene analysis, polygonal approximation, feature matching, robot navigation, shape similarity and object tracking, among many others. One important class of corner detection models often supposes that the interest points correspond to the high curvature ones of an object profile. High curvature points from shapes can generally be associated to salience, indicating the presence of relevant landmarks for reconstruction of shapes. A large number of corner detectors have been proposed in the literature [3, 8, 10, 20]. The current techniques can be broadly categorized into two groups named as intensity-based [3, 8, 29, 31] and contour-based detection [8, 14, 34, 35] methods. The former includes algorithms that indicate the presence of a corner directly from the image gray values. The latter consists of the methods that recover image contours, followed by the search for curvature maxima or inflection points along these contours [19]. The proposed method belongs to the latter group since our database consists of shapes with previously extracted contours. Corner detectors can also be classified into two approaches: single-scale detectors [9] and multiscale detectors [3, 14, 21]. Single-scale detectors work well only if the image has similar size features; otherwise either fine or coarse scale features are poorly detected. Multiscale corner detectors based on the classical scale-space theory [17] have been proposed to improve the effectiveness in the more general situation of relevant features with various sizes. Rattarangsi and Chin [25], Mokhtarian and Suomela [20], and Mokhtarian and Mohanna [19] introduced the curvature scale space (CSS) technique to detect corners. Developments of this technique with minor modifications have been proposed as the Direct Curvature Scale Space (DCSS) and a hybrid version to overcome the sensitivity of DCSS to noise [36]. The hybrid CSS/DCSS can help trace a corner back to the finest scale so that the corner can be located as precisely as possible [36]. In addition, compared to CSS, DCSS is much cheaper in terms of computational cost.

Shape contour can be represented in terms of edge gradient direction, as defined in [15, 28]. Lee et al. introduced in [14] a framework for wavelet-based corner detection using different scales, followed by several articles that enlarged the scope of this work [10, 29, 32]. Lee et al. reported an analysis based on the threshold Corner Ratio (CR) which is set according to the image database. The authors suggest distinct values for that parameter depending on the image to be processed. In general, parameter setting in corner detectors is not an easy task since these parameter values are not usually valid for all images of a database [23]. Regarding the wavelet decomposition, the algorithm uses the wavelet transform modulus maxima that often adopts a Gaussian or Mexican hat mother wavelet.

More recently, Pedrosa and Barcelos [23] devised a multiscale corner detector more robust to noise and simple in terms of computational complexity. According to this scheme, the only parameter to be set is the number of iterations for the anisotropic filtering function regardless the image database. The anisotropic filtering eliminates the influence of noise and removes irrelevant details on the curvature signal of shapes but it requires higher computational effort, especially as the number of iterations increases. Pedrosa and Barcelos’ method presents some advantages over other corner detectors, particularly it embodies a filtering process that prevents false corner detection. Moreover, the method depends on a single parameter corresponds to the number of iterations in anisotropic filtering. The authors report that the algorithm achieves good results after 500 iterations in the filtering step. Nevertheless, it is necessary to determine the best number of iterations in the smoothing step and it seems to be as difficult as to determine the suitable parameter κ to compute the curvature. In fact, both parameters are sensitive to resolution, rotation and contour noise. The authors assessed the algorithm by using binary images from MPEG7 Part B [13] database and ground-truth based measures. The ground truth corners of these binary images were manually marked and used to assess the simulation results.

In this paper, we present a multiscale algorithm for corner detection that is the follow up to the work presented at the 24th Conference on Graphics, Patterns and Images (Sibgrapi 2011) [22]. The main focus of this prior publication was to detect corners over redundant scales of the angulation signal decomposition, aimed at achieving a suitable reconstruction of the original contour. Similarly, the proposed algorithm also decomposes the angulation signal of the shape contour into multiple scales to obtain both local maxima and minima of consecutive scales of this function through an undecimated wavelet decomposition [8, 10, 14] to identify the shape dominant points. Moreover, we introduce a novel procedure that searches for multiscale algorithm parameters, in a particular database, and combine it to the idea underlying inter-scale correlation to detect dominant points in planar shapes. The proposed method is also assessed and compared with three methods [14, 20, 23] including the well known curvature scale-space (CSS). Furthermore, the performance evaluation of the algorithms relies on ground-truth based measures.

The outline of the paper is as follows: in the next section, we present a brief review of the related works. Section 3 describes the proposed corner detection technique. Section 4 discusses the computational complexity of the proposed method and the related ones. Section 5 reports and discusses the experimental results and Sect. 6 concludes this paper.

2 Related Methods

In this section, we present three methods available in the literature, known as Pedrosa and Barcelos’ method [23], CSS [17] and Lee et al. method [14]. The main reason for choosing these methods in this study is their multiscale nature, so that we can fairly assess the proposed corner detector.

2.1 Pedrosa and Barcelos’ Technique

Pedrosa and Barcelos [23] introduced a method based on the detection of high curvature points along the contour to identify corners. Each curvature point p i is considered to be the curve or the line segments connecting p i to the points p iκ and p i+κ in the contour, where the value κ is a smoothing parameter. According to the authors, the ideal parametrization is a difficult task to achieve as it may depend on various factors such as shape resolution and orientation. This approach defined κ=1, leading to a detailed curvature signal, that is also highly sensitive to noise. This curvature signal is then smoothed by a nonlinear anisotropic filter that eliminates most of the high curvature points unrelated to corners. The number of iterations of this filtering process also controls signal details and therefore as this parameter increases relevant corner points can be suppressed. After this smoothing step, the actual corner detection is achieved by the analysis of local maxima and minima of the smoothed curvature. However, not all remaining maxima and minima points constitute real corners.

2.2 The Curvature Space-Scale Technique

One of the most popular multiscale curvature representation of 2D curves is the curvature scale-space [17], which has been improved and applied in different works [1, 3, 11, 1820, 26, 3537].

The CSS technique is suitable for recovering invariant geometric features, curvature zero-crossing points [17] and/or extreme [36], of a planar curve at multiple scales. To compute it, the curve Γ is first parameterized by the contour point t:

$$ \varGamma (t) = \bigl(x(t),y(t)\bigr), $$
(1)

where x(t) and y(t) refer to contour point coordinates. The multiscale version of Γ is defined by [18] as:

$$ \varGamma_\sigma = \bigl(X(t,\sigma ),Y(t,\sigma )\bigr), $$
(2)

where

$$ X(t,\sigma ) = x(t) \otimes g(t,\sigma ) ;\quad Y(t,\sigma ) = y(t) \otimes g(t,\sigma ). $$
(3)

The symbol ⊗ refers to the convolution operator and g(t,σ) denotes a Gaussian of width σ. Note that σ describes the scale parameter. The process of generating scaled versions of Γ as σ increases from zero to infinity (∞) denotes the evolution of Γ. In order to find curvature zero-crossings or extreme from scaled versions of the input curve, it is necessary to accurately compute curvature, K, on an scaled version Γ σ . Curvature K on Γ σ is given by [18]:

$$ K(t,\sigma ) = \frac{{{\dot{X}} (t,\sigma ){\ddot{Y}} (t,\sigma ) - {\ddot{X}} (t,\sigma ){\dot{Y}} (t,\sigma )}}{\sqrt[3]{({\dot{X}} (t,\sigma )^2 + {\dot{Y}} (t,\sigma )^2 )}}, $$
(4)

where

(5)
(6)

Similarly, \({\dot{Y}}(t,\sigma)\) and \({\ddot{Y}}(t,\sigma)\) can be defined by following the expressions in Eqs. (5) and (6). This algorithm designed by Mokhtarian and Suomela [20] requires the Canny edge operator applied to the gray level image to obtain a binary edge image.

2.3 Lee et al. Technique

This method encloses the angulation function, ϕ(t), which is obtained by

$$ \phi{(t)} = \tan^{-1}{ {\biggl(}\frac{y_{t+q}-y_{t-q}}{x_{t+q}-x_{t-q}} {\biggr)}} $$
(7)

where the parameter q is called smoothing parameter. According to Lee et al., the determination of the parameter q in Eq. (7) depends on the orientation resolution and the corner discrimination ability.

Previous works in digital curves analysis and representation [27, 28] have pioneered the use of edge gradient direction to represent shape contour. Rosenfeld and Johnston [27] argumented that the choice of the smoothing parameter q can be challenging, and they suggested q>1 to provide a smoothed slope measurement in the corner profile represented by the angulation signal. However, we have observed that the best choice depends on the scale of interest. Following these observations, Lee et al. [14] computed the angulation signal by using q=3 such that this choice caused the orientation profile of a corner to be displayed as a ramp-like profile.

Furthermore, the next section describes the proposed approach, including a description of key steps from [14] that were incorporated to our algorithm.

3 The Multiscale Corner Detector

Corners appear as local features on the contour and wavelets are suitable to evaluate significant features that persist over several scales of smoothed contours. Attempting to identify corner candidates, inter-scale correlation by using Mexican hat wavelet decomposition searches for candidates which occur where there are maxima and minima in detail coefficients at several adjacent scales. Mexican hat has an excellent selectivity in position: it is quite efficient for a pointwise analysis, in particular the detection of local singularities (contours, corners) [2]. Moreover, the wavelet properties of the Mexican hat can be exploited to detect features at different scales [12]. Our approach considers this wavelet because it identifies changes in non-stationary angulation signals and it can be extended to multidimensional approaches in an efficient way when approximating this wavelet by difference of Gaussian functions.

Figure 1 summarizes the proposed methodology for multiscale corner detection. The contour signal is acquired in the contour extraction of a segmented shape. As there are various ways of representing a shape contour by signals, we generate the contour signal which follows the 4-directional chain code [7]: such method starts from an initial point of contour and follows it in a clockwise manner. For each point, the chain-code retrieves the location of the actual point and describes the direction to be followed in the contour in order to find the next point. Its output must be parameterized and the result is executed in a corner detector like an 1-D angulation [14] signal. The main differences between our approach and the Lee et al. method are: (a) the adopted mother wavelet, here the Mexican hat function [16], the candidate evaluation phase, the methodology to search for algorithm parameters and additional comparisons among more recent papers.

Fig. 1
figure 1

The methodology for the proposed corner detector

The input of the corner detector is the angulation function of the shape contour. This one-dimensional signal is generated according to Eq. (7) and it corresponds to step 2 of the proposed methodology (see Fig. 1). In the next step, the angulation signal is convolved with a scaled version of the mother wavelet at scales

$$ c_s (t) = \phi{(t)}\otimes\psi_s (t), $$
(8)

where the symbol ⊗ denotes the convolution operation, c s (t) corresponds to the smoothed version of the angulation signal at scale s and ψ s (t) is a scaled version of the mother wavelet. The function ψ s (t) is such that

$$ \psi_s (t) = \frac{1}{{\sqrt{s} }}\psi \biggl( {\frac{t}{s}} \biggr) $$
(9)

and the mother wavelet ψ(t) is the second derivative of a Gaussian, i.e. a normalized Mexican hat function [16] given by

$$ \psi (t) = \frac{2}{\pi^{1/4}( {\sqrt {3\sigma } } )} \biggl( {\frac{{t^2 }}{{\sigma^2 }} - 1} \biggr)\exp \biggl( {\frac{{ - t^2 }}{{2\sigma^2 }}} \biggr) $$
(10)

where σ refers to the standard deviation.

Thus, by applying Eq. (8) to the angulation signal it yields the approximation wavelet coefficients (smoothed signal) in each scale s. Hence, the difference between two successive smoothed signals generates the detail wavelet coefficients, w s (t), as Eq. (11) summarizes

$$ w_s (t) = c_{s-1} (t)-c_{s} (t) , \quad s \geq 1 $$
(11)

where c 0(t) corresponds to the original angulation signal.

The proposed methodology states that corners occur where there are extreme values, i.e. maxima and minima values in the non-orthogonal wavelet coefficients w s (t) at two or more adjacent scales. The novelty of this multiscale framework consists in inspecting these peak values by using correlation signals obtained from the redundant scales of the wavelet decomposed signal without the usage of a threshold. Thus, different redundant scales are generated and later correlated to detect persistent peaks which are likely to be candidate corners in the decomposed signals. Our experimental findings indicate that the multiscale correlation analysis at the first three scales is able to reveal redundant information that remains over scales and it is likely to be a candidate corner. The spatial correlation corr s (t) between adjacent scales s and s+1 at the contour point t is given by

$$ \mathit{corr}_s (t) = \prod_{i=s}^{s+1} w_{i}(t),\quad s \geq 1. $$
(12)

In this paper, the angulation signal is decomposed into three spatial scales to be correlated and thus check redundant information between scales for corner detection. According to the tests, this redundancy can be investigated for more levels of decomposition. In fact, the number of scales in which the true corners are preserved varies with the image. Moreover, we have observed that for smooth contour regions candidate corners do not persist over many decomposition scales while candidate corners associated to high curvature points do.

Our approach is synthesized in Fig. 2, where it depicts that real corners have large amplitude over many wavelet scales, while magnitude of false corners decays with increasing scale. The circles in Fig. 2 illustrate the selected candidate corners in the array. The angulation signal is decomposed into several scales: a detail coefficient is compared to the one in the next level. This result shows that corners correspond to the largest amplitude values which persist on the correlation signal over many wavelet scales.

Fig. 2
figure 2

Correlation analysis between wavelet coefficients of different scales of a shape contour

Following the statement that false corners die out swiftly with increasing scale, the algorithm identifies on the correlation signal whether a candidate corner is true or false by testing the inequality:

$$ \big|\mathit{corr}_s (t)\big| > \big|w_{s} (t)\big|,\quad s \geq 1 $$
(13)

where |⋅| stands for the absolute value. When Eq. (13) is confirmed (for scale s and all n contour points) it means that large spatial correlation values between two consecutive scales points to real corners. Afterwards, these points constitute an array of probable corners. The algorithm investigates whether the candidate corner presents the largest value in the neighborhood where the correlation is high in order to differ a high curvature point from a sharp correlated false corner. The absence of corners or other significant features in the neighborhood of a contour region allows the false corners to be removed from the array.

Correlation detected points are highlighted in Fig. 3, which are overlaid to the detail wavelet coefficient signal. Figure 3(c) magnifies a portion of Fig. 3(b) to show the absolute values of the correlation and the wavelet coefficient. We show that Eq. (13) holds when the corner is identified only at locations where the correlation magnitude is higher than the absolute value of the decomposition coefficient.

Fig. 3
figure 3

Effects of correlation between wavelet coefficients of consecutive scales from shape in Fig. 2(a)

4 Temporal Computational Complexity

The algorithm steps related to the contour parametrization and angulation signal extraction are less critical in terms of computational complexity than the decomposition scheme. While the preprocessing step performs at a run-time complexity of order Θ(n) (steps 1 and 2 in Fig. 1), the module related to the Mexican hat wavelet decomposition performs at a higher complexity of Θ(n 2) (steps 3, 4 and 5). Indeed, the current convolution implementation could be improved by reformulating the algorithm to be executed in the frequency domain. However, the remaining procedure concerning the multiscale correlation accomplishes a complexity Θ(n 2). Thus, the overall computational complexity of the algorithm is: Θ(n)+Θ(n 2)+Θ(n 2)=Θ(n 2), where n is the number of shape contour points. In this paper, the angulation signal is decomposed across only a fixed number of three scales and hence it does not impact the overall asymptotic complexity of the algorithm.

Despite the multiscale nature of the developed algorithm, we do not define a range of scales (minimum and maximum) to perform the correlation step of the corner detector. In fact, this scale range would affect the computational complexity of the algorithm as another variable to be enrolled in the algorithm.

The corner detection method introduced by Pedrosa and Barcelos [23] consists of three steps which include shape representation through K-curvature signal, nonlinear anisotropic filtering and corner detection on the filtered curvature signal. The overall computational complexity of this method is reported as O(nm), where n is the number of shape contour points and m corresponds to the number of iterations in the smoothing step using a nonlinear anisotropic diffusion filter. Thus, the larger the image database and the greater the number of iterations, the longer will be the corner detection processing.

The CSS approach presents a computational complexity higher than the proposed method. This is due to the Gaussian filtering to be applied to the shape outline several times and its respective standard deviation changes in each iteration, as defined in [17, 20]. This process is performed to generate the space-scale map from the original method and then run the corner detector with the Gaussian parameter equal to σ high [20]. This method achieves a computational complexity O(n 3), where n is the number of points on a contour.

Lee et al. corner detector performs similarly to our method, but with different mother function at the wavelet decomposition step. Another difference refers to the corner location since Lee et al. method only evaluates a specific scale and searches for maximum and minimum values according to a threshold. Its computational complexity is characterized by O(n 2), where n is the number of points on a shape contour. An overall view about the computational complexity of all methods is displayed in Table 1.

Table 1 Temporal computational complexity of the methods

5 Simulation Results

This section presents the experiments and performance evaluation of the proposed technique for dominant point detection in comparison with other contour-based methods as shape salience point detection [23], curvature space-scale analysis [20], and wavelet transform modulus maxima [14] approaches. The results were obtained by running the methods for a set of shapes of different sizes and roughness, which belong to a dataset of 104 binary images from MPEG7 Part B [13]. Notice that 10 % of the images from the dataset present contours with an amount of spurious variation.

5.1 Performance Evaluation Methodology

Visual inspection is helpful in assessing the accuracy of corner-detection methods, but it is a tedious and often subjective task. Also, the points of high curvature do not necessarily correspond to visually significant ones [4, 7, 19, 20]. These reasons motivate the use of quantitative measures that can relate detected points to ground-truth information to assess the performance of the corner detectors.

Moreover, performance assessment of corner-detection methods can also be evaluated in terms of reconstruction error and compacting ratio [22].

This section compares the proposed method to the three other corner detectors: the Pedrosa and Barcelos’, standard CSS and Lee et al. methods, which are based on the multiscale analysis and therefore provide suitable comparisons with the developed corner detector. The performance assessment methodology considers ground-truth based measures namely Precision and Recall.

Precision measures the ability of the multiscale detectors to retrieve corners that are relevant to represent a shape while Recall measures the relevant corners that are actually detected. These relevant corners correspond to the shape ground-truth. In fact, these measures are defined as:

(14)
(15)

where \(\mathop {\mathrm {\#}}(\bullet)\) is the cardinality of the set • and ∩ denotes intersection of sets. When false corners are not detected, Precision returns a value equal to 1.0. Despite this, if all detected corners correspond to the true ones then Recall is achieved to 1.0.

5.2 Experiment I—Parameter Adjustments

In this section, we introduce a procedure to search for the best parameter values for multiscale methods that relies on ground-truth corners of an image database. The aim of this procedure is to maximize Precision and Recall for a particular database in terms of a cost function.

Here, we introduce the cost function Q as the sum of Precision and Recall obtained when the parameters p 1 and p 2 of the multiscale corner detectors are searched over an image database I, in accordance with:

$$ Q(p_1, p_2) = \sum_{\forall i\in I} \mathit{Precision}(p_1, p_2, i) + \mathit{Recall}(p_1,p_2, i). $$
(16)

The function Q is higher when the parameters produce high Precision and Recall values. Thus, the best results are achieved when Q is maximized, and finally the function \(\operatornamewithlimits {argmax}Q(p_{1},p_{2})\) returns the best pair of parameters. In the following we describe the whole parameter adjustment algorithm. First, we define a range for parameters p 1 and p 2. Then, we apply a brute force optimization scheme where the corner detector runs for all pairs of parameter values in the range \(p_{1}=[p_{1_{\min}}..p_{1_{\max}}]\) and \(p_{2}=[p_{2_{\min}}..p_{2_{\max}}]\) and for all images in the database. Finally, the best pair of parameter values is chosen. With regard to our proposed method, the pair (p 1,p 2) consists of the parameters q and σ.

This experiment considered q min=2, q max=15 and σ min=1, σ max=15, therefore the proposed algorithm executed 210 times for each shape from the MPEG7 database. Moreover, Precision=1 and Recall=1 were accomplished for different pairs of (q,σ) and occurrences within the range, i.e. from (q min,σ min)=(2,2) to the maximum (q max,σ max)=(15,15). The result of this experiment was the pair (q,σ)=(8,4).

To perform the tests, we have applied the proposed function Q to CSS and Lee et al. methods. Both multiscale detectors encompass parameters suggested by the authors regardless the applied database. However, our experiments showed that better results are accomplished when adjusting these parameters according to the database. In particular, Mokhtarian and Suomela [20] suggested σ high =4 for tracking corners and a threshold h=0.02 for removing false corners in the CSS approach while Lee et al. [14] conducted experiments with q=3. In this paper, we have reproduced the original Lee et al. method by applying the Mexican hat wavelet function with σ=3 to the angulation signal extracted with q=3, as suggested by the authors.

Following the proposed parameter-adjustment function Q, we seek the best pair (p 1, p 2) for each method, with (σ high ,h) in the CSS approach and (q,σ) to the Lee et al. method. With regard to the CSS parameters, we have tested the values σ high =[1..15], h min=0.01, h max=15.0, with an increasing step of 0.01 for h. Accordingly, the function Q is maximized with the pair (σ high ,h)=(6,10). Likewise, the experiment with Lee et al. method achieved the pair (q,σ)=(4,3) within the range q=[2..15] and σ=[1..15].

Figure 4 exhibits the number of corners detected by the discussed methods. In fact, these results were achieved with the aforementioned database and by using different values for σ. We have observed for all multiscale methods, that the number of corners decreases as σ increases. Moreover, a small value of this parameter retrieved more corners, including many false ones. After reaching a certain σ value, i.e. σ equal to 3, the number of corners remained steady independent of increasing this parameter value. Our simulation results also showed that q values close to 1 implied a great amount of details on the angulation signal and therefore the algorithms detected more corners, including false corners. On the other hand, higher values of q implied a great amount of detail reduction which resulted in missing true corners.

Fig. 4
figure 4

Comparative analysis of methods for different standard deviation values and number of HCPs. (a), (b), (e), (f) binary shapes and (c), (d), (g), (h) their respective comparative analysis

Notice that our comparative analysis excluded Pedrosa and Barcelos’ method since its multiscale parameters lack correspondence to the parameters σ and q, adopted in the proposed comparison.

5.3 Experiment II—Performance Assessment

This section presents the experiments performed with parameters generated by the methodology introduced in Sect. 5.2. Figures 5 and 6 show that the novel parameter-adjustment algorithm achieved better results for CSS and Lee et al. methods. Also, the multiscale proposed method, Pedrosa and Barcelos’ and modified CSS produced slightly similar results when applied to a shape of smooth contour (see Fig. 5). In fact, our method detected all true corners without retrieving any false corner while Pedrosa and Barcelos’ method missed two true corners and produced two false positives for this particular image sample. The modified Lee et al. method reached an intermediate Precision that is penalized by a higher number of false corners. The original CSS and Lee et al. methods produced a large amount of false corners and the worse results obtained for this shape.

Fig. 5
figure 5

Corners detected (circle marks) from a sample shape with 1328 contour points and 12 true corners

Fig. 6
figure 6

Detected corners (circle marks) from a sample shape with 1193 contour points and 03 true corners

Figure 6 presents the result of applying each corner detector to a noisy sample from the dataset. Only the proposed method detected all the corners which compose the ground-truth image. The filtering step of Pedrosa and Barcelos’ method achieved fewer false corner detection, however this step implies loss of true corners. The other methods performed similarly to the proposed one for this noisy image.

Concerning the performance assessment, the average values of Precision and Recall measures were calculated for all methods and Table 2 summarizes the quantitative results. Pedrosa and Barcelos’ and the proposed approaches achieved the best Precision, and consequently fewer detection of false corners. CSS and Lee et al. modified versions have reached higher values for this measure. Regarding Recall measure, Pedrosa and Barcelos’ method possibly outperformed the others due to the filtering process. Conversely, the proposed approach achieved the best detection rate concerning this measure, with Recall=0.97. From these results, we have concluded that the performance of the modified corner detectors was improved by the proposed parameter setting and Recall measures confirm it.

Table 2 Comparative measures among the methods

Pedrosa and Barcelos’ method detected a number of corners closer to the ground-truth of the already mentioned shapes. However, the spatial coordinates of the detected corners did not match the true corner ones and it is confirmed by the lowest value of Recall. As this corner detector performs an anisotropic iterative denoising over the noisy and non-noisy images, probably the fixed number of iterations caused undesirable smoothing effects over the non-noisy contours. It is important to mention that these two classes of images may require different number of iterations.

The modified CSS method achieved a lower number of missed corners, i.e. high Recall values while Lee et al. detector attained increasing values of Precision in its modified version.

Regarding the proposed method, we have observed that it has accomplished the lowest number of false corners and the highest number of true corners among the discussed methods. Another important advantage of our method is that it requires only three scales of wavelet decomposition to extract relevant information from the correlation between subsequent scales. Moreover, the angulation function did not affect the correct location of the true corners, as Recall measure indicates. For each level of wavelet decomposition, the algorithm discards irrelevant information of the contour representation signal and retains only dominant points, which are candidate corners.

According to Fig. 7(a), all histograms are asymmetrically distributed, and depart from a normal distribution. Regarding the Precision measure, the proposed method presents a higher occurrence of values close to 1. However, all methods show more than one mode in their histograms, except the Pedrosa and Barcelos’ method, which hit the higher values of Precision by finding fewer false corners due to its anisotropic filtering.

Fig. 7
figure 7

Frequencies of (a) precision and (b) recall values in database

We also performed tests with the proposed method in non-synthetic images. Figure 8 displays an image under light and shadow effects. The object shape is segmented with Canny method [5, 6] and the proposed corner detector identified all the high curvature points, correctly.

Fig. 8
figure 8

Proposed corner detector in a non-synthetic image: (a) original image and (b) detected corners (gray circles) in the shape obtained from the Canny method [6]

6 Conclusions

In this paper, we have introduced an approach for corner detection that uses correlation between redundant scales of a normalized Mexican hat wavelet decomposition. This wavelet is often efficient for local singularities detection as corners, and the properties of this wavelet can be exploited to detect features at different scales. Additionally, this wavelet can be extended to multidimensional approaches in an efficient way when approximating it by difference of Gaussian functions. Our wavelet approach identifies changes in non-stationary angulation signals for multiscale corner detection, and it evaluates the multiscale representation of candidate corners to select the ones which persist on the correlation signal over different scales of the angulation signal decomposition. Thus, it discards false corners that die out swiftly throughout the scales. We concluded that successive decomposition of the angulation signal can identify and retain relevant features, i.e. corner candidates, without distorting the true location of them on the shape contour. Moreover, we have also observed that the correlation process between scales succeeded in retrieving candidate corners up to the first three scales. In fact, subsequent scales did not encompass enough information for corner candidate detection and furthermore the algorithm discarded poorly correlated information across these scales. Regarding computational complexity, the proposed method achieved a lower computational complexity comparable to CSS and Lee et al. approaches whereas Pedrosa and Barcelos’ method reached the lowest computational complexity particularly, when the number of contour points is greater than the number of iterations of the anisotropic filtering. A relevant contribution of this paper concerns the novel search for parameters of multiscale corner detection algorithms that relies on ground-truth information and Precision and Recall measures. This parameter tuning procedure improved the performance of two multiscale methods which were designed to work with constant parameters regardless the database. This improvement was achieved when parameters were tuned according to the image database. Additionally, we concluded from the experiments that our corner detector and Pedrosa and Barcelos’ method performed similarly concerning Precision. With regard to Recall measure, the proposed corner detector outperformed the others, consequently it efficient on retrieving true corners and discarding false ones. Finally, we believe that the proposed methodology introduces a feasible alternative to search and tune parameters of corner detection algorithms that is highly adaptable to image database but relies on ground-truth based measures.