Skip to content
Snippets Groups Projects
Commit 666ce8d2 authored by even's avatar even
Browse files

Article: notions section enhanced

parent c5a10112
No related branches found
No related tags found
No related merge requests found
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.
......@@ -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}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment