Skip to content
Snippets Groups Projects
Commit 6e377eed authored by even's avatar even
Browse files

Article: noisy image detection added

parent 6be77ccc
No related branches found
No related tags found
No related merge requests found
Article/Fig_method/parpaings.png

261 KiB

Article/Fig_method/parpaings2.png

379 KiB

Article/Fig_method/parpaings3.png

393 KiB

......@@ -270,24 +270,28 @@ This distinction is illustrated on \RefFig{fig:edgeDir}.
\label{fig:edgeDir}
\end{figure}
Another option, called multi-detection allows the detection of all the
segments crossed by the input stroke $AB$.
The multi-detection algorithm (Algorithm 1) is displayed below.
\subsection{Multiple blurred segments detection}
\input{Fig_method/algoMulti}
Another option, called {\it multi-detection} (Algorithm 1), allows the
detection of all the segments crossed by the input stroke $AB$.
In order to avoid multiple detections of the same edge, an occupancy mask,
initially empty, collects the dilated points of all the blurred segments,
so that these points can not be add to another segment.
First the positions $M_j$ of the local maxima of the gradient magnitude found
under the stroke are sorted from the highest to the lowest.
First the positions $M_j$ of the prominent local maxima of the gradient
magnitude found under the stroke are sorted from the highest to the lowest.
For each of them the main detection process is run with three modifications:
i) the initial detection takes $M_j$ and the orthogonal direction $AB_\perp$
\begin{enumerate}
\item the initial detection takes $M_j$ and the orthogonal direction $AB_\perp$
to the stroke as input to build a static scan of fixed width
$\varepsilon_{ini}$, and $M_j$ is used as start point of the blurred segment;
ii) an occupancy mask, initially empty, is filled in with the points of the
detected blurred segments $\mathcal{B}_j''$ at the end of each successful
detection;
iii) points marked as occupied are rejected when selecting candidates for the
\item the occupancy mask is filled in with the points of the detected blurred
segments $\mathcal{B}_j''$ at the end of each successful detection;
\item points marked as occupied are rejected when selecting candidates for the
blurred segment extension in the fine tracking step.
Multiple detections of the same edge are thus avoided.
\end{enumerate}
\input{Fig_method/algoMulti}
In edge selection mode (\RefFig{fig:edgeDir} b), the multi-detection
algorithm is executed twice, first in main edge selection mode, then
......@@ -353,31 +357,49 @@ to collect all the segments found under the stroke.
\input{Fig_method/algoAuto}
The behavior of the unsupervised detection is depicted through the two
examples of \RefFig{fig:auto}.
The example on the left shows the detection of thin straight objects on a
circle with variable width.
On the left half of the circumference, the distance between both edges
exceeds the initial assigned width and a thick blurred segment is build
for each of them. Of course, on a curve, a continuous thickenning is
observed untill the blurred segment minimal width reaches the initial
assigned width.
On the right half, both edges are encompassed in a common blurred segment,
and at the extreme right part of the circle, the few distant residual points
are grouped to form a thick segment.
The example on the right shows the limits of the edge detector on a picture
with quite dense repartition of gradient.
All the salient edges are well detected but they are surrounded by a lot
of false detections, that rely on the presence of many local maxima of
the gradient magnitude with similar orientations.
The performance of the detector is illustrated in \RefFig{fig:evalAuto}b
or in \RefFig{fig:noisy} where hardly perceptible edges are detected in this
quite textured image. When the initial value of the assigned width is small,
short edges are detected edges. Longer edges are detected if the initial
assigned width is larger, but the found segments incorporate a lot of
interfering outliers.
\begin{figure}[h]
\center
\begin{tabular}{c@{\hspace{0.2cm}}c}
\includegraphics[width=0.37\textwidth]{Fig_method/vcercleAuto.png} &
\includegraphics[width=0.58\textwidth]{Fig_method/plafondAuto.png}
\begin{tabular}{c@{\hspace{0.2cm}}c@{\hspace{0.2cm}}c}
\includegraphics[width=0.32\textwidth]{Fig_method/parpaings.png} &
\includegraphics[width=0.32\textwidth]{Fig_method/parpaings2.png} &
\includegraphics[width=0.32\textwidth]{Fig_method/parpaings3.png}
\end{tabular}
\caption{Automatic detection of blurred segments.}
\label{fig:auto}
\caption{Automatic detection of blurred segments on a quite texture image.}
\label{fig:noisy}
\end{figure}
%The behavior of the unsupervised detection is depicted through the two
%examples of \RefFig{fig:auto}.
%The example on the left shows the detection of thin straight objects on a
%circle with variable width.
%On the left half of the circumference, the distance between both edges
%exceeds the initial assigned width and a thick blurred segment is build
%for each of them. Of course, on a curve, a continuous thickenning is
%observed untill the blurred segment minimal width reaches the initial
%assigned width.
%On the right half, both edges are encompassed in a common blurred segment,
%and at the extreme right part of the circle, the few distant residual points
%are grouped to form a thick segment.
%
%The example on the right shows the limits of the edge detector on a picture
%with quite dense repartition of gradient.
%All the salient edges are well detected but they are surrounded by a lot
%of false detections, that rely on the presence of many local maxima of
%the gradient magnitude with similar orientations.
%
%\begin{figure}[h]
%\center
% \begin{tabular}{c@{\hspace{0.2cm}}c}
% \includegraphics[width=0.37\textwidth]{Fig_method/vcercleAuto.png} &
% \includegraphics[width=0.58\textwidth]{Fig_method/plafondAuto.png}
% \end{tabular}
% \caption{Automatic detection of blurred segments.}
% \label{fig:auto}
%\end{figure}
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