- Research
- Open Access
A one-dimensional slope detection approach
- Xiaochun Zhang^{1}Email author and
- Chuancai Liu^{1}
https://doi.org/10.1186/2193-1801-2-474
© Zhang and Liu; licensee Springer. 2013
- Received: 9 May 2013
- Accepted: 9 September 2013
- Published: 20 September 2013
Abstract
This paper extends the scale-invariant edge detector to the one-dimensional slope. It can accurately detect the slope and estimate its parameters. The method has been verified with several mathematical functions, sample sizes, and noise levels. A contrast-invariant operator is proposed to suppress noise. The inter-sample localization and interpolation greatly improve the accuracy. The proposed slope detector is also suitable for real-world signals. In additional to above-mentioned, a threshold formula is developed for the first derivative slope detector, and the upper-bound of the filterable noise level is also explored.
Keywords
- Slope
- Gaussian
- Threshold
- Error function
- Sub-sample
- Localization
- Interpolation
- Noise suppression
- The first derivative operator
Introduction
This paper concerns the slope detection of one-dimensional discrete signals (Oppenheim and Willsky 1983). The one-dimensional slope detection shares some common problems (e.g. noise suppression, threshold selection) with the two-dimensional case (Bansal et al. 2012, Pinho and Almeida 2012). This paper is dedicated to these problems.
The edge detection has attracted the attention of many researchers. To suppress signal noise, Witkin proposed a scale space by convolving the input signal with the Gaussian distribution function (Witkin 1983). Canny treated the first derivative of the Gaussian distribution function as one-dimensional edge detector (Canny 1986). Marr et al. studied edge detection using the zero crossing of the second derivative of the Gaussian (Marr 1980). Zhang et al. found a scale-invariant edge detector (Zhang and Liu 2013).
Although two-dimensional edge detection is a well-established subject, however, it seems that the slope of one-dimensional discrete signal is seldom studied. The first derivative operator is a seemingly easy solution. This paper will discuss its problems in detail, and give the remedies. Noise suppression is an important subject of slope detection. Inspired by a contrast-invariant differential operator (Zhang and Liu 2013), a method capable of effectively differentiating noise and slope is proposed. The selection of the smoothing scale is another major problem of many existing methods. The scale-invariant edge detector can address the issue by automatically choosing the adequate scale for each edge feature. This research extends the technique to the one-dimensional slope detection. Because of the apparent distinction between the one dimensional and the two dimensional signals, the scale-invariant edge detector is adjusted for the slope with additional functions of inter-sample localization and interpolation. The proposed method is suitable for several broad classifications of signals: noisy and noiseless, periodic and non-periodic, densely and sparsely sampled.
One dimensional slope detection
Signal representation
Because the scale space of the ideal slope and its differential operators are represented in closed-form, further investigation can be carried out.
Scale and spatial detector
The fact indicates that Lxs has not a local extremum along the ξ coordinate and therefore can not locate spatial position. To detect the position and scale of a slope, two operators are necessary.
Parameter estimation
Inter-sample localization and interpolation
Implementation
Where σ _{ s } is the discrete smoothing scale given by Equation 20.
Implementation configuration
Signal samples | σ _{0} | S | Maximum scale |
---|---|---|---|
513 | 0.6 | 6 | 513/6 |
Noise suppression
It is well-known that the first derivative operator is extremely sensitive to noise; therefore a smoothing operation is often carried out to suppress noise. Although a large scale can filter the high level noise, signal details are also removed. The smoothing scale is often selected empirically, and a minimum scale is necessary to filter a certain noise level (mean and standard deviation). The minimum scale can only be determined by the scale-invariant detectors (instead of L _{ x }). Therefore the following paragraphs deduce the threshold of L _{ x } for a pre-smoothing scale.
The threshold of the first derivative operator
Parameter ranges for ideal slopes
Parameter | Minimum ( m) | Maximum ( M) |
---|---|---|
Width ( w ) | 1 | 50 |
Contrast ( c ) | 0.05 | 1 |
Offset ( d ) | 0.05 | 1 |
x _{ 0 } | −40 | 40 |
RMSD of positional errors of the L _{ x } detector for the noisy ideal slopes, without considering noise threshold
std ^{ n } | Pre-smooth | Erf | Tanh | Sigmoid | Ramp | Step | Arctan |
---|---|---|---|---|---|---|---|
0.001 | 1 | 92.1 | 96.31 | 88.28 | 94.26 | 145.67 | 95.77 |
4 | 8.92 | 8.14 | 51.64 | 13.01 | 0.58 | 81.91 | |
64 | 0.3 | 0.3 | 0.3 | 0.41 | 0.58 | 0.3 | |
0.01 | 1 | 147.65 | 148.06 | 146.24 | 148.34 | 150.46 | 146.63 |
4 | 131.81 | 136.07 | 119.53 | 130.57 | 143.35 | 123.38 | |
64 | 0.39 | 0.41 | 0.45 | 0.46 | 0.61 | 0.42 | |
0.1 | 1 | 149.72 | 149.85 | 149.61 | 149.77 | 150.2 | 149.58 |
4 | 147.27 | 147.78 | 146.49 | 147.99 | 148.9 | 146.55 | |
64 | 56.84 | 60.87 | 58.98 | 56.84 | 52.13 | 63.43 |
RMSD of positional errors of the L _{ x } detector for the noisy ideal slopes, considering noise threshold
std ^{ n } | Pre-smooth | Erf | Tanh | Sigmoid | Ramp | Step | Arctan |
---|---|---|---|---|---|---|---|
0.001 | 1 | 34.64 | 33.4 | 52.53 | 16.65 | 0.58 | 56.26 |
4 | 8.64 | 4.5 | 47.17 | 12.76 | 0.57 | 75.2 | |
64 | 0.28 | 0.28 | 0.29 | 0.4 | 0.57 | 0.29 | |
0.01 | 1 | 24.53 | 21.04 | 39.43 | 15.36 | 0.58 | 38.86 |
4 | 15.08 | 10.36 | 33.27 | 14.11 | 0.57 | 38.06 | |
64 | 0.39 | 0.41 | 0.47 | 0.46 | 0.58 | 0.47 | |
0.1 | 1 | 21.34 | 20.04 | 47.93 | 15.17 | 0.57 | 51.45 |
4 | 10.4 | 8 | 28 | 11.54 | 0.58 | 30.67 | |
64 | 1.05 | 0.95 | 1.2 | 0.86 | 0.89 | 1.15 |
A method to differentiate slope and noise
statistics of Lxs / Lx for various slope functions
Edge | Min | Max | Mean | Std |
---|---|---|---|---|
Erf | 0.6381 | 0.6891 | 0.6637 | 0.0149 |
tanh | 0.6169 | 0.9932 | 0.6488 | 0.0503 |
sigmoid | 0.4503 | 0.6705 | 0.6398 | 0.0193 |
ramp | 0.7768 | 0.8565 | 0.8134 | 0.0221 |
step | 0.6429 | 0.6429 | 0.6429 | 0 |
arctan | 0.5531 | 0.9968 | 0.5798 | 0.0522 |
The percentages of Lxs / Lx of noise at three intervals under two conditions
Lxs/Lx | T _{ m } | |||||
---|---|---|---|---|---|---|
0 | 1×std _{ n }+mean _{ n } | 3×std _{ n }+mean _{ n } | 6×std _{ n }+mean _{ n } | |||
Pre-smoothing scale | 0 | (−∞,0) | 81.907 | 82.916 | 84.421 | 89.578 |
[0,1) | 3.204 | 0.974 | 0.222 | 0.005 | ||
[1,∞) | 14.889 | 16.109 | 15.357 | 10.417 | ||
1 | (−∞,0) | 69.709 | 70.955 | 80.155 | 84.211 | |
[0,1) | 11.758 | 7.465 | 0.379 | 0 | ||
[1,∞) | 18.533 | 21.580 | 19.467 | 15.790 | ||
10 | (−∞,0) | 28.724 | 75.932 | - | - | |
[0,1) | 60.152 | 0.641 | - | - | ||
[1,∞) | 11.125 | 23.427 | - | - | ||
100 | (−∞,0) | 0.149 | - | - | - | |
[0,1) | 97.879 | - | - | - | ||
[1,∞) | 1.972 | - | - | - |
Experimental
Quantitative experiments
The quantitative experiments involve 1000 randomly generated synthesized slopes with parameters listed in Table 2. Signal is sampled from −256 to 256 discretely and the slope is centered at x _{0}.
where e ^{ n } is the n th actual error and ϵ ^{ n } is assumed to be zero.
RMSD of positional errors of the proposed method, pre-smoothing scale 0
Error | Erf | Tanh | Sigmoid | Ramp | Step | Arctan |
---|---|---|---|---|---|---|
Position (point) | 0.0097 | 0.0140 | 0.1107 | 0.2065 | 0.3527 | 0.0062 |
Width (%) | 1.1900 | 2.0600 | 19.2500 | 6.9900 | 0.9900 | 1.3400 |
Contrast (%) | 2.6300 | 7.2600 | 9.0000 | 16.4400 | 7.4300 | 24.8700 |
Offset (%) | 3.7300 | 10.3800 | 12.7100 | 23.4800 | 22.9800 | 35.7400 |
RMSD of positional errors of the L _{ x } detector for the ideal slopes
Pre-smooth | Erf | Tanh | Sigmoid | Ramp | Step | Arctan |
---|---|---|---|---|---|---|
0 | 0.2859 | 0.2859 | 0.2861 | 16.9743 | - | 0.2859 |
1 | 0.2859 | 0.2859 | 0.2861 | 14.3276 | 0.5836 | 0.2859 |
2 | 0.2859 | 0.2859 | 0.2861 | 10.8449 | 0.5857 | 0.2860 |
4 | 0.2859 | 0.2859 | 0.2861 | 4.2151 | 0.5558 | 0.2860 |
RMSD of positional errors of the proposed detector for the ideal slopes
Pre-smooth | Erf | Tanh | Sigmoid | Ramp | Step | Arctan |
---|---|---|---|---|---|---|
0 | 0.0092 | 0.0157 | 0.1024 | 0.2116 | - | 0.0686 |
1 | 0.0067 | 0.0094 | 0.1024 | 0.2068 | 0.3706 | 0.0682 |
2 | 0.0040 | 0.0049 | 0.1024 | 0.2094 | 0.2950 | 0.0681 |
4 | 0.0018 | 0.0021 | 0.1052 | 0.2065 | 0.2913 | 0.0683 |
RMSD of positional error of the proposed method for noisy ideal slopes under two conditions
T _{ m } | Lxs/ Lx ∈ [− ∞, ∞) | Lxs/ Lx ∈ [0, 1) |
---|---|---|
c _{ m } | 146.69 | 147.31 |
max( c _{ m } ,1× std _{ n } ) | 145.85 | 145.16 |
max( c _{ m } ,3× std _{ n } ) | 142.47 | 33.22 |
max( c _{ m } ,6× std _{ n } ) | 34.87 | 2.60 |
RMSD of positional errors of the proposed detector for the noisy ideal slopes, without considering noise threshold
std ^{ n } | Pre-smooth | Erf | Tanh | Sigmoid | Ramp | Step | Arctan |
---|---|---|---|---|---|---|---|
0.001 | 1 | 0.06 | 0.05 | 0.13 | 0.22 | 0.37 | 0.08 |
4 | 0.06 | 0.04 | 0.14 | 0.21 | 0.29 | 0.07 | |
64 | 0.32 | 0.28 | 0.55 | 0.31 | 0.35 | 0.58 | |
0.01 | 1 | 7.29 | 6.1 | 8.95 | 6.16 | 0.35 | 6.72 |
4 | 0.52 | 0.43 | 0.61 | 0.66 | 0.3 | 0.48 | |
64 | 0.41 | 0.41 | 0.65 | 0.43 | 0.46 | 0.73 | |
0.1 | 1 | 116.58 | 119.78 | 111.97 | 117.69 | 135.31 | 111.44 |
4 | 121.03 | 123.27 | 109.43 | 124.5 | 128.4 | 109.58 | |
64 | 12.12 | 12.37 | 10.2 | 9.64 | 11.72 | 13.96 |
RMSD of positional errors of the proposed detector for the noisy ideal slopes, considering noise threshold
std ^{ n } | Pre-smooth | Erf | Tanh | Sigmoid | Ramp | Step | Arctan |
---|---|---|---|---|---|---|---|
0.001 | 1 | 0.06 | 0.05 | 0.15 | 0.23 | 0.36 | 0.08 |
4 | 0.06 | 0.05 | 0.15 | 0.21 | 0.29 | 0.08 | |
64 | 0.32 | 0.29 | 0.55 | 0.31 | 0.35 | 0.58 | |
0.01 | 1 | 2.91 | 3.15 | 4.3 | 4.55 | 0.35 | 2.45 |
4 | 0.55 | 0.5 | 0.68 | 0.77 | 0.29 | 0.48 | |
64 | 0.44 | 0.43 | 0.66 | 0.41 | 0.43 | 0.67 | |
0.1 | 1 | 3.16 | 2.3 | 3.94 | 4.86 | 0.34 | 2.32 |
4 | 1.58 | 1.46 | 2.19 | 2.09 | 0.35 | 1.49 | |
64 | 1.05 | 1.04 | 1.28 | 0.93 | 0.92 | 1.32 |
RMSD of positional errors of the proposed detector for the sparsely sampled ideal slopes
Pre-smooth | Erf | Tanh | Sigmoid | Ramp | Step | Arctan |
---|---|---|---|---|---|---|
0 | 0.1004 | 0.0615 | 0.2323 | 0.2547 | - | 0.0692 |
1 | 0.0946 | 0.0484 | 0.2421 | 0.2353 | 0.3519 | 0.0665 |
4 | 0.3529 | 0.2818 | 0.7248 | 0.2840 | 0.2932 | 0.4723 |
RMSD of positional errors of the L _{ x } detector for the sparsely sampled ideal slopes
Pre-smooth | Erf | Tanh | Sigmoid | Ramp | Step | Arctan |
---|---|---|---|---|---|---|
0 | 0.2926 | 0.2926 | 0.2924 | 2.1233 | - | 0.2926 |
1 | 0.2926 | 0.2926 | 0.2924 | 0.3994 | 0.5738 | 0.2926 |
4 | 0.3206 | 0.3034 | 0.4762 | 0.4131 | 0.5649 | 0.3446 |
Some qualitative examples
Conclusion
Simple methods such as the first derivative or zero crossings of the second derivative are very sensitive to noise. To detect a slope, two operators are necessary, which should have a local extremum along either the scale or the spatial coordinate axis. The proposed detector involves the scale derivative of the spatial derivative operator, with scale-normalization. Using an error function as a test slope, the parameters are solved for precisely in closed form. A precise inter-sample localization and interpolation procedure is proposed to improve the accuracy. The method can extract slopes from synthesized or real-world signals while detecting less noise than its counterpart methods. Based on mathematical functions, the threshold selection of the first derivative is also discussed.
Declarations
Acknowledgements
This work is partially supported by National Natural Science Foundation of China (Grant No. 60472061, 60632050, 90820004), National 863 Project (Grant No. 2006AA04Z238, 200 6AA01Z119), the project of Ministry of Industry and Information Technology of China (Grant No. E0310/1112/JC01).
Authors’ Affiliations
References
- Bansal B, Sain J, Bansal V, Kaur G: Comparison of various edge detection techniques. Journal Of Information And Operations Management 2012, 3(1):103-106.Google Scholar
- Brown M, Lowe DG: Invariant features from interest point groups. In British Machine Vision Conference, Cardiff, Wales; 2002:656-665.Google Scholar
- Canny J: A computational approach to edge detection. IEEE Trans Pattern Anal Mach Intell 1986, 8(6):679-698.View ArticleGoogle Scholar
- Cooley J, Tukey J: An algorithm for the machine calculation of complex Fourier series. Mathematics of computation 1965, 19(90):297-301. 10.1090/S0025-5718-1965-0178586-1View ArticleGoogle Scholar
- Lowe D: Distinctive image features from scale-invariant keypoints. Int J Comput Vis 2004, 60(2):91-110.View ArticleGoogle Scholar
- Marr D, Hildreth E: Theory of edge detection. proc: of the royal society of London. Series B, Biological Sciences 1980, 207(1167):187-217. 10.1098/rspb.1980.0020View ArticleGoogle Scholar
- Oppenheim A, Willsky A: Signals and systems. Prentice-Hall Englewood Cliffs, NJ; 1983.Google Scholar
- Pinho A, Almeida L: A review on edge detection based on filtering and differentiation. Electrónica e Telecomunicações 2012, 2(1):113-126.Google Scholar
- Renfree J 2008.http://www.mathworks.com/matlabcentral/fileexchange/18458-historical-stock-data-downloader
- Witkin A: Scale-space filtering. 8th Int. Joint Conf: Artificial Intelligence 1983, 2: 1019-1022.Google Scholar
- Yahoo! Finance 2013.http://finance.yahoo.com/
- Zhang X, C Liu C: An ideal image edge detection scheme. Multidim Syst Sign Process 2013. doi: 10.1007/s11045-013-0224-9Google Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.