diff --git a/Article/abstract.tex b/Article/abstract.tex index add88034ab5a7f6109d6c5544ac21d664fde8c88..e495d65153fa33e328bbd813b4bda2a9afe8c53e 100755 --- a/Article/abstract.tex +++ b/Article/abstract.tex @@ -1,6 +1,6 @@ This paper introduces a new straight edge detector in gray-level images based on blurred segments, digital objects able to imbed quality measurements on the extracted features. This study completes previous works with a better -estimation of the blurred segment width and orientation, with the help of two -main improvements : adaptive directional scans and the control of the -assigned width to the recognition algorithm. +estimation of the blurred segment width and orientation, with two main +improvements: adaptive directional scans and the control of the +assigned width to the detection algorithm. diff --git a/Article/notions.tex b/Article/notions.tex index 9d976bebb7511f1c439cb7a5a669229b0d827c65..50ffd1317b6ff47ba80070e1ab094c7df9ab73b9 100755 --- a/Article/notions.tex +++ b/Article/notions.tex @@ -20,8 +20,8 @@ $h_P(\mathcal{L}) = c - ax - by$ its {\it shift} to point $P(x,y)$, $h_0(\mathcal{L}) = c$ its {\it shift} to origin, and $p(\mathcal{L}) = max(|a|,|b|)$ its period (i.e. the length of its periodic pattern). -When $\nu = p$, then $\mathcal{L}$ is the narrowest 8-connected line -and is called a naive line. +When $\nu = p(\mathcal{L})$, then $\mathcal{L}$ is the narrowest 8-connected +line and is called a naive line. \begin{definition} A blurred segment $\mathcal{B}$ of assigned width $\varepsilon$ is a set @@ -98,13 +98,14 @@ the scan strip is defined by : \mathcal{D}(A,B) = \mathcal{L}(\delta_x, \delta_y, min (c1,c2), 1 + |c_1-c_2|) \end{equation} \noindent -where $\delta_x = x_B - x_A, \delta_y = y_B - y_A, -c_1 = a\cdot x_A + b\cdot y_A$ and $c_2 = a\cdot x_B + b\cdot y_B$. +where $\delta_x = x_B - x_A$, $\delta_y = y_B - y_A$, +$c_1 = \delta_x\cdot x_A + \delta_y\cdot y_A$ and +$c_2 = \delta_x\cdot x_B + \delta_y\cdot y_B$. The scan line $\mathcal{N}_i$ is then defined by : \begin{equation} \mathcal{N}_i(A,B) = \mathcal{L}(\delta_y, -\delta_x, -\delta_y\cdot x_A - \delta_X\cdot y_A + i\cdot \nu_{AB}, \nu_{AB}) +\delta_y\cdot x_A - \delta_x\cdot y_A + i\cdot \nu_{AB}, \nu_{AB}) \end{equation} where $\nu_{AB} = max (|\delta_x|, |\delta_y|)$ @@ -129,16 +130,17 @@ and the scan line $\mathcal{N}_i(C,\vec{D},w)$ : \subsection{Adaptive directional scan} -The blurred segment is searched within a directional scan which position -and orientation are given by the user, or defined in arbitrary direction in -unsupervised mode. -Most of the times, the detection stops where the segment escapes sideways -froms the scan strip (\RefFig{fig:escape}). -Therefore a second search is run again using a second directional scan aligned +The blurred segment is searched within a directional scan with a position +and an orientation approximately provided by the user, or blindly defined +in unsupervised mode. +Most of the time, the detection stops where the segment escapes sideways +from the scan strip (\RefFig{fig:escape}). +A second search is then run using another directional scan aligned on the detected segment. -But only a quantized estimation of this blurred segment direction is given, -and the longer the real segment, the higher the probability to fail again -on a blurred segment escape from the directional scan. +However, even in the case of an exact detection, the estimated orientation +of the segment is subject to the numerization rounding, +and the longer the real segment to detect, the higher the probability to +fail again on a blurred segment escape from the directional scan. \begin{figure}[h] \center @@ -174,21 +176,23 @@ on a blurred segment escape from the directional scan. % \label{fig:cone} %\end{figure} -In the former work, an additional refinement step was run, -but doing so, the problem was just delayed further. +In the former work, an additional refinement step is run using the better +orientation estimated from the longer segment obtained. +It is enough to completely detect most of the tested edges, but certainly +not all, especially if larger images with much longer edges are processed. %The solution implemented in the former work was to let some arbitrary %margin between the scan strip width and the assigned width to the detection, %and to perform two fine detection steps, using for each of them the direction %found at the former step. -This process could be itered as long as the blurred segment escapes from +This operation could be itered as long as the blurred segment escapes from the directional scanner using as any fine detection steps as necessary. -But the multiple detection of the same segment start points produces -a useless computational coast. +But at each iteration, already tested points are processed again, +thus producing a useless computational cost. -Here the proposed solution is to dynamically adapt the scan direction on -the detection result. -At each position $i+1$, the scan strip is updated using the direction -of the blurred segment computed at the former position $i$. +Here the proposed solution is to dynamically align the scan direction to +the blurred segment one all along the expansion stage. +At each iteration $i+1$, the scan strip is updated using the direction +of the blurred segment computed at previous iteration $i$. The adaptive directional scan $ADS$ is then defined by : \begin{equation} %S_i = \mathcal{D}_{i-1} \cap \mathcal{N}_i @@ -197,10 +201,14 @@ S_i = \mathcal{D}_i \cap \mathcal{N}_i \cap \mathcal{I} \left| \begin{array}{l} \delta(\mathcal{N}_i) = - \delta^{-1}(\mathcal{D}_0) \\ \cap h_0(\mathcal{N}_i) = h_0(\mathcal{N}_{i-1}) + p(\mathcal{D}) \\ -\cap \mathcal{D}_{i+1} = d (\mathcal{B}_i,\varepsilon) +\cap \mathcal{D}_{i+1} = D (\mathcal{B}_i,\varepsilon + k) \end{array} \right. \right\} \end{equation} -The last clause expresses the update of the scan bounds at step $i+1$. +where $D (\mathcal{B}_i,w)$ is the scan strip aligned to the +detected segment at iteration $i$ with width $w$. +In practice, the scan width is set a little greater than the assigned +width $\varepsilon$ ($k$ is a constant arbitrarily set to 4). +The last clause expresses the update of the scan bounds at iteration $i+1$. Compared to static directional scans, the scan strip moves while scan lines remain fixed. An example of adaptive directional scan is given in \RefFig{fig:adaption}. @@ -225,8 +233,8 @@ An example of adaptive directional scan is given in \RefFig{fig:adaption}. The assigned width $\varepsilon$ to the blurred segment recognition algorithm is initially set to a large value $\varepsilon_0$ in order to allow the detection of large blurred segments. -Then, when no more augmentation of the minimal width is observed as the -blurred segment expends ($\mu_{i+\lambda} = \mu_i$), it is set to a much +Then, when no more augmentation of the minimal width is observed after +$\lambda$ iterations ($\mu_{i+\lambda} = \mu_i$), it is set to a much stricter value able to circumscribe the possible interpretations of the segment, that take into account the digitization margins: \begin{equation}