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

Back to ten pages

parent 41daf3fe
No related branches found
No related tags found
No related merge requests found
Article/Fig_notions/escapeLightFirst_half.png

7.31 KiB

Article/Fig_notions/escapeLightSecond_half.png

6.54 KiB

This paper introduces a new straight edge detector in gray-level images This paper introduces a new straight thick edge detector in gray-level images
based on blurred segments, digital objects able to embed quality measurements based on blurred segments, digital objects able to embed quality measurements
on the extracted features. This study enhances previous works on interactive on the extracted features. This study enhances previous works on interactive
line detection with a better estimation of the blurred segment width and line detection with a better estimation of the blurred segment width and
......
...@@ -6,21 +6,21 @@ This paper introduced a new straight edge detector based on a local analysis of ...@@ -6,21 +6,21 @@ This paper introduced a new straight edge detector based on a local analysis of
the image gradient and on the use of blurred segments to embed an the image gradient and on the use of blurred segments to embed an
estimation of the detected edge thickness. estimation of the detected edge thickness.
It relies on directional scans of the input image around maximal values of the It relies on directional scans of the input image around maximal values of the
gradient magnitude, that have previously been presented in gradient magnitude, and on
\cite{KerautretEven09}. %that have previously been presented in \cite{KerautretEven09}.
%Despite of good performances achieved, the former approach suffers of two %Despite of good performances achieved, the former approach suffers of two
%major drawbacks: the inaccurate estimation of the blurred segment width %major drawbacks: the inaccurate estimation of the blurred segment width
%and orientation, and the lack of guarantee that it is completely detected. %and orientation, and the lack of guarantee that it is completely detected.
%These limitations were solved through the integration of two new concepts: %These limitations were solved through the integration of two new concepts:
%adaptive directional scans that continuously adjust the scan strip %adaptive directional scans that continuously adjust the scan strip
%to the detected blurred segment direction; %to the detected blurred segment direction;
The main limitations of the former approach were solved through the integration %The main limitations of the former approach were solved through
of two new concepts: the integration of two new concepts:
adaptive directional scans that continuously adjust the scan strip adaptive directional scans that continuously adjust the scan strip
to the detected edge direction; to the detected edge direction;
the control of the assigned width based on the observation of the the control of the assigned width based on the observation of the
blurred segment growth. blurred segment growth.
Expected gains in accuracy and execution time were confirmed by the Expected gains in accuracy and execution time were confirmed by
held experiments. held experiments.
A residual weakness of the approach is the sensitivity to the initial A residual weakness of the approach is the sensitivity to the initial
...@@ -30,21 +30,21 @@ the awaited edge is dominant. ...@@ -30,21 +30,21 @@ the awaited edge is dominant.
This task is made quite easier, thanks to the stabilization produced by This task is made quite easier, thanks to the stabilization produced by
the duplication of the initial detection. the duplication of the initial detection.
But in unsupervised context, gradient perturbations in the early stage of But in unsupervised context, gradient perturbations in the early stage of
the edge expansion, msotly due to the presence of close edges, can deeply the edge expansion, mostly due to the presence of close edges, can deeply
affect the result. affect the result.
In future works, we intend to provide solutions to this drawback In future works, we intend to provide solutions to this drawback
by scoring the detection result on the basis of a characterization of the by scoring the detection result on the basis of a characterization of the
local context. local context.
% %
Then experimental validation of the consistency of the estimated width and %Then experimental validation of the consistency of the estimated width and
orientation values on real situations are planned in different application %orientation values on real situations are planned in different application
fields. %fields.
In particular, straight edges are rich visual features for 3D scene %In particular, straight edges are rich visual features for 3D scene
reconstruction from 2D images. %reconstruction from 2D images.
The preimage of the detected blurred segments, %The preimage of the detected blurred segments,
i.e. the space of geometric entities which numerization matches this %i.e. the space of geometric entities which numerization matches this
blurred segment, may be used to compute some confidence level in the 3D %blurred segment, may be used to compute some confidence level in the 3D
interpretations delivered, as a promising extension of former works %interpretations delivered, as a promising extension of former works
on discrete epipolar geometry \cite{NatsumiAl08}. %on discrete epipolar geometry \cite{NatsumiAl08}.
%\section*{Acknowledgements} %\section*{Acknowledgements}
...@@ -7,56 +7,55 @@ indication through the associated width parameter. ...@@ -7,56 +7,55 @@ indication through the associated width parameter.
In lack of available reference tool, the evaluation stage mostly aims In lack of available reference tool, the evaluation stage mostly aims
at quantifying the advantages of the new detector compared to the previous at quantifying the advantages of the new detector compared to the previous
one in unsupervised context. one in unsupervised context.
For a fair comparison, the process flow of the former method (the initial The process flow of the former method (initial detection followed by two
detection followed by two refinement steps) is integrated as an option refinement steps) is integrated as an option into the code of the new
into the code of the new detector, so that both methods rely on the same detector, so that both methods rely on the same optimized basic routines.
optimized basic routines.
During all these experiments, only the blurred segment size and its During all these experiments, only the blurred segment size and its
orientation compared to the initial stroke were tested at the end of orientation compared to the initial stroke are tested at the end of
the initial detection, and only the segment size was tested at the end the initial detection, and only the segment size is tested at the end
of the fine tracking stage. of the fine tracking stage.
All the other tests, sparsity or fragmentation, were disabled. All other tests, sparsity or fragmentation, are disabled.
The segment minimal size was set to 5 pixels, except where precised. The segment minimal size is set to 5 pixels, except where precised.
The first test (\RefFig{fig:synth}) compares the performance of both The first test compares the performance of both
detectors on a set of 1000 synthesized images containing 10 randomly detectors on a set of 1000 synthesized images containing 10 randomly
placed input segments with random width between 2 and 5 pixels. placed input segments with random width between 2 and 5 pixels.
The absolute value of the difference of each found segment to its The absolute value of the difference of each found segment to its
matched input segment is measured. matched input segment is measured.
On such perfect image, the numerical error on the gradient extraction On these ground-truth image, the numerical error on the gradient extraction
biases the line width measures. This bias was first estimated using 1000 biases the line width measures. This bias was first estimated using 1000
images containing only one input segment (no possible interaction) images containing only one input segment (no possible interaction)
and the found value (1.4 pixel) was taken into account in the test. and the found value (1.4 pixel) was taken into account in the test.
The results of \RefTab{tab:synth} show \RefTab{tab:synth} shows
slightly better width and angle measurements for the new detector. slightly better width and angle measurements for the new detector.
The new detector shows more precise, with a smaller amount of false The new detector shows more precise, with a smaller amount of false
detections and succeeds in finding most of the input segments. detections and succeeds in finding most of the input segments.
\begin{figure}[h] %\begin{figure}[h]
%\center %\center
\begin{tabular}{ % \begin{tabular}{
c@{\hspace{0.1cm}}c@{\hspace{0.1cm}}c@{\hspace{0.1cm}}c@{\hspace{0.1cm}}c} % c@{\hspace{0.1cm}}c@{\hspace{0.1cm}}c@{\hspace{0.1cm}}c@{\hspace{0.1cm}}c}
\includegraphics[width=0.19\textwidth]{Fig_synth/statsExample.png} & % \includegraphics[width=0.19\textwidth]{Fig_synth/statsExample.png} &
\includegraphics[width=0.19\textwidth]{Fig_synth/statsoldPoints.png} & % \includegraphics[width=0.19\textwidth]{Fig_synth/statsoldPoints.png} &
\includegraphics[width=0.19\textwidth]{Fig_synth/statsoldBounds.png} & % \includegraphics[width=0.19\textwidth]{Fig_synth/statsoldBounds.png} &
\includegraphics[width=0.19\textwidth]{Fig_synth/statsnewPoints.png} & % \includegraphics[width=0.19\textwidth]{Fig_synth/statsnewPoints.png} &
\includegraphics[width=0.19\textwidth]{Fig_synth/statsnewBounds.png} % \includegraphics[width=0.19\textwidth]{Fig_synth/statsnewBounds.png}
\begin{picture}(1,1) % \begin{picture}(1,1)
\put(-310,0){a)} % \put(-310,0){a)}
\put(-240,0){b)} % \put(-240,0){b)}
\put(-170,0){c)} % \put(-170,0){c)}
\put(-100,0){d)} % \put(-100,0){d)}
\put(-30,0){e)} % \put(-30,0){e)}
\end{picture} % \end{picture}
\end{tabular} % \end{tabular}
\caption{Evaluation on synthesized images: % \caption{Evaluation on synthesized images:
a) one of the test images, % a) one of the test images,
b) output blurred segments from the old detector and % b) output blurred segments from the old detector and
c) their enclosing digital segments, % c) their enclosing digital segments,
d) output blurred segments from the new detector and % d) output blurred segments from the new detector and
e) their enclosing digital segments.} % e) their enclosing digital segments.}
\label{fig:synth} % \label{fig:synth}
\end{figure} %\end{figure}
\begin{table} \begin{table}
\centering \centering
\input{Fig_synth/statsTable} \input{Fig_synth/statsTable}
...@@ -68,4 +67,4 @@ $D$ the set of all the detected blurred segments.} ...@@ -68,4 +67,4 @@ $D$ the set of all the detected blurred segments.}
\input{expeAuto} \input{expeAuto}
\input{expeHard} %\input{expeHard}
...@@ -62,18 +62,18 @@ segment detector \cite{LuAl15}. ...@@ -62,18 +62,18 @@ segment detector \cite{LuAl15}.
\end{table} \end{table}
The new detector is faster and finds more edges than the previous one. The new detector is faster and finds more edges than the previous one.
The details of \RefFig{fig:auto} d) and e) illustrate the achieved Details of \RefFig{fig:auto} d) and e) illustrate achieved
accuracy improvements. accuracy improvements.
The output segments are thinner but also shorter. Output segments are thinner but also shorter.
The control of the assigned width to fit to the detected segment width The control of the assigned width to fit detected segment width
has the side effect of blocking the segment expansion when the remote parts has the side effect of blocking the segment expansion when remote parts
are more noisy. are noisier.
Found edges are thus more fragmented. Found edges are thus more fragmented.
The relevance of this behavior depends strongly on application requirements. The relevance of this behavior depends strongly on application requirements.
Therefore the control of the assigned width is left as an option, the user Therefore the control of the assigned width is left as an option, the user
can let or cancel it. can let or cancel it.
In both case, it could be useful to combine the detector with a tool %In both case, it could be useful to combine the detector with a tool
to merge aligned segments. %to merge aligned segments.
%Although these observations in unsupervised context should be reproduced %Although these observations in unsupervised context should be reproduced
%in supervised context, similar experiments require an application context %in supervised context, similar experiments require an application context
......
The last test visually compares the results of both detectors on quite textured The last test visually compares the results of both detectors on very textured
images, also difficult to process for other detectors from the literature. images, also difficult to process for other detectors from the literature.
The minimal size parameter was raised to 12 pixels to reject small segments The minimal size parameter was raised to 12 pixels to reject small segments
considered as outliers. considered as outliers.
...@@ -26,7 +26,7 @@ to infere the structure of the brick wall. ...@@ -26,7 +26,7 @@ to infere the structure of the brick wall.
\put(-60.5,2){c} \put(-60.5,2){c}
\end{picture} \end{picture}
\end{tabular} \end{tabular}
\caption{Results on quite textured images: test image (a), \caption{Results on very textured images: test image (a),
detail (top left corner) on the segments found by the old detail (top left corner) on the segments found by the old
detector (b) and on those found by the new detector (c).} detector (b) and on those found by the new detector (c).}
\label{fig:hard} \label{fig:hard}
......
...@@ -5,24 +5,33 @@ ...@@ -5,24 +5,33 @@
\subsection{Motivations} \subsection{Motivations}
Straight edge detection is a preliminary step of many image analysis Straight edge detection is a preliminary step of many image analysis
processes. Therefore it is always an active research topic centered on processes.
Therefore, it is always an active research topic centered on
the quest of still faster, more accurate or more robust-to-noise methods the quest of still faster, more accurate or more robust-to-noise methods
\cite{MatasAl00,GioiAl10,AkinlarTopal12,LuAl15}. \cite{AkinlarTopal12,GioiAl10,LuAl15,MatasAl00}.
However they seldom provide an exploitable measure of the output edge However, they seldom provide an exploitable measure of the output edge
quality, based on intrinsic properties such as sharpness, connectivity quality, based on intrinsic properties such as sharpness, connectivity
or scattering. or scattering.
%Some information may sometimes be drawn from their specific context, %Some information may sometimes be drawn from their specific context,
%for example through an analysis of the peak in a Hough transform accumulator. %for example through an analysis of the peak in a Hough transform accumulator.
Digital geometry is a recent research domain where new mathematical definitions Digital geometry is a research field where new mathematical definitions
of quite classical geometric objects, such as lines or circles, are introduced of quite classical geometric objects, such as lines or circles, are introduced
to better fit to the discrete nature of most of todays data to process. to better fit to the discrete nature of most of todays data to process.
In particular, the notion of blurred segment \cite{DebledAl05,Buzer07} was In particular, the notion of blurred segment \cite{Buzer07,DebledAl05} was
introduced to cope with the image noise or other sources of imperfections introduced to cope with the image noise or other sources of imperfections
from the real world by the mean of a width parameter. from the real world by the mean of a width parameter.
It is well suited to reflect the required edge quality information. Efficient algorithms have already been designed to recognize
Moreover efficient algorithms have already been designed to recognize
these digital objects in binary images \cite{DebledAl06}. these digital objects in binary images \cite{DebledAl06}.
Straight edges are rich visual features for 3D scene reconstruction from 2D
images.
A blurred segment seems well suited to reflect the required edge quality
information.
Its preimage,
i.e. the space of geometric entities which numerization matches this
blurred segment, may be used to compute some confidence level in the delivered
3D interpretations, as a promising extension of former works
on discrete epipolar geometry \cite{NatsumiAl08}.
The present work aims at designing a flexible tool to detect blurred segments The present work aims at designing a flexible tool to detect blurred segments
with optimal width and orientation in gray-level images for as well with optimal width and orientation in gray-level images for as well
...@@ -55,7 +64,7 @@ user according to the application requirements. The produced information ...@@ -55,7 +64,7 @@ user according to the application requirements. The produced information
on the edge quality is rather poor, and especially when the edge is thin, on the edge quality is rather poor, and especially when the edge is thin,
the risk to incorporate outlier points is quite high, thus producing a the risk to incorporate outlier points is quite high, thus producing a
biased estimation of the edge orientation. biased estimation of the edge orientation.
Then, two refinement steps are systematically run. Then, two refinement steps are systematically performed.
On the one hand, this is useless when the first detection is successfull. On the one hand, this is useless when the first detection is successfull.
On the other hand, there is no guarantee that this approach is able to On the other hand, there is no guarantee that this approach is able to
process larger images. process larger images.
...@@ -66,21 +75,23 @@ accuracy, more steps are inevitably necessary to process larger images. ...@@ -66,21 +75,23 @@ accuracy, more steps are inevitably necessary to process larger images.
\subsection{Main contributions} \subsection{Main contributions}
The work presented in this paper aims at solving both former mentioned The present work aims at solving both former mentioned
drawbacks through two main contributions: drawbacks through two main contributions:
(i) the concept of adaptive directional scan designed to get some (i) the concept of {\bf adaptive directional scan} designed to get some
compliance to the unpredictable orientation problem; compliance to the unpredictable orientation problem;
(ii) the control of the assigned width to the blurred segment recognition (ii) the {\bf control of the assigned width} to the blurred segment
algorithm, intended to derive more reliable information on the edge recognition algorithm, intended to derive more reliable information on the
orientation and quality. edge orientation and quality.
As a side effect, these two major evolutions also led to a noticeable As a side effect, these two major evolutions also led to a noticeable
improvement of the time performance of the detector. improvement of the time performance of the detector.
They are also put forward within a global line extraction algorithm They are also put forward within a global line extraction algorithm
which can be evaluated through an online demonstration. which can be evaluated through an online demonstration at :
\href{http://ipol-geometry.loria.fr/~kerautre/ipol_demo/FBSD_IPOLDemo}{
\small{\url{http://ipol-geometry.loria.fr/~kerautre/ipol_demo/FBSD_IPOLDemo}}}
In the next section, the main theoretical notions are introduced. In the next section, the main theoretical notions are introduced.
The new detector workflow, the adaptive directional scan, the control The new detector workflow, the adaptive directional scan, the control
of the assigned with and their integration into both supervised and of the assigned width and their integration into both supervised and
unsupervised contexts are then presented in \RefSec{sec:method}. unsupervised contexts are then presented in \RefSec{sec:method}.
Experiments led to assess the expected increase of performance are decribed Experiments led to assess the expected increase of performance are decribed
in \RefSec{sec:expe}. in \RefSec{sec:expe}.
......
...@@ -14,19 +14,19 @@ The workflow of the detection process is summerized in the following figure. ...@@ -14,19 +14,19 @@ The workflow of the detection process is summerized in the following figure.
\end{figure} \end{figure}
The initial detection consists in building and extending a blurred segment The initial detection consists in building and extending a blurred segment
$\mathcal{B}$ based on the highest gradient points found in each scan $\mathcal{B}$ based on points with highest norm gradient found in each scan
of a static directional scan defined by the input stroke $AB$. of a static directional scan defined by an input segment $AB$.
Validity tests are then applied to decide of the detection poursuit. Validity tests are then applied to decide of the detection pursuit.
They aim at rejecting too short or too sparse blurred segments, or They aim at rejecting too short or too sparse blurred segments, or
blurred segments with an orientation close to the input stroke $AB$. those with a close orientation to $AB$.
In case of positive response, the position $C$ and direction $\vec{D}$ In case of positive response, the position $C$ and direction $\vec{D}$
of this initial blurred segment are extracted. of this initial blurred segment are extracted.
In the fine tracking step, another blurred segment $\mathcal{B}'$ is built In the fine tracking step, another blurred segment $\mathcal{B}'$ is built
and extended with points that correspond to local maxima of the and extended with points that correspond to local maxima of the
image gradient, ranked by magnitude order, and with gradient direction image gradient, ranked by magnitude order, and with gradient direction
close to a reference gradient direction at the segment first point. close to start point gradient direction.
At this refinement step, a control of the assigned width is applied At this refinement step, a control of the assigned width is applied
and an adaptive directional scan based on the found position $C$ and and an adaptive directional scan based on the found position $C$ and
direction $\vec{D}$ is used in order to extends the segment in the direction $\vec{D}$ is used in order to extends the segment in the
...@@ -57,20 +57,19 @@ the higher the probability gets to fail again on an escape from the scan strip. ...@@ -57,20 +57,19 @@ the higher the probability gets to fail again on an escape from the scan strip.
\begin{figure}[h] \begin{figure}[h]
\center \center
\begin{tabular}{c@{\hspace{0.2cm}}c} \begin{tabular}{c@{\hspace{0.2cm}}c@{\hspace{0.2cm}}c}
\includegraphics[width=0.48\textwidth]{Fig_notions/escapeLightFirst_zoom.png} & \includegraphics[width=0.24\textwidth]{Fig_notions/escapeLightFirst_half.png} &
\includegraphics[width=0.48\textwidth]{Fig_notions/escapeLightSecond_zoom.png} \\ \includegraphics[width=0.24\textwidth]{Fig_notions/escapeLightSecond_half.png} &
\multicolumn{2}{c}{ \includegraphics[width=0.48\textwidth]{Fig_notions/escapeLightThird_zoom.png}
\includegraphics[width=0.62\textwidth]{Fig_notions/escapeLightThird_zoom.png}}
\begin{picture}(1,1)(0,0) \begin{picture}(1,1)(0,0)
{\color{dwhite}{ {\color{dwhite}{
\put(-260,78.5){\circle*{8}} \put(-307,4.5){\circle*{8}}
\put(-86,78.5){\circle*{8}} \put(-216,4.5){\circle*{8}}
\put(-172,4.5){\circle*{8}} \put(-127,4.5){\circle*{8}}
}} }}
\put(-262.5,76){a} \put(-309.5,2){a}
\put(-89,75.5){b} \put(-219,1.5){b}
\put(-174.5,2){c} \put(-129.5,2){c}
\end{picture} \end{picture}
\end{tabular} \end{tabular}
\caption{Aborted detections on side escapes of static directional scans \caption{Aborted detections on side escapes of static directional scans
...@@ -78,12 +77,11 @@ the higher the probability gets to fail again on an escape from the scan strip. ...@@ -78,12 +77,11 @@ the higher the probability gets to fail again on an escape from the scan strip.
The last points added to the left of the blurred segment during The last points added to the left of the blurred segment during
initial detection (a) lead to a bad estimation of its initial detection (a) lead to a bad estimation of its
orientation, and thus to an incomplete fine tracking with a orientation, and thus to an incomplete fine tracking with a
classical directional scan (b). An adaptive directional scan at classical directional scan (b). An adaptive directional scan
the place of the static one allows to continue the segment instead of the static one allows to continue the segment
expansion as far as necessary (c). expansion as far as necessary (c).
On the pictures, the input selection is drawn in red color, Input selection is drawn in red color, scan strip bounds
the scan strip bounds in blue and detected blurred segments in green.}
in blue and the detected blurred segment in green.}
\label{fig:escape} \label{fig:escape}
\end{figure} \end{figure}
...@@ -107,7 +105,7 @@ More generally, an adaptive directional scan $ADS$ is defined by: ...@@ -107,7 +105,7 @@ More generally, an adaptive directional scan $ADS$ is defined by:
ADS = \left\{ ADS = \left\{
S_i = \mathcal{D}_i \cap \mathcal{N}_i \cap \mathcal{I} S_i = \mathcal{D}_i \cap \mathcal{N}_i \cap \mathcal{I}
\left| \begin{array}{l} \left| \begin{array}{l}
\delta(\mathcal{N}_i) = - \delta^{-1}(\mathcal{D}_0) \\ \vec{V}(\mathcal{N}_i) \cdot \vec{V}(\mathcal{D}_0) = 0 \\
\wedge~ h(\mathcal{N}_i) = h(\mathcal{N}_{i-1}) + p(\mathcal{D}_0) \\ \wedge~ h(\mathcal{N}_i) = h(\mathcal{N}_{i-1}) + p(\mathcal{D}_0) \\
\wedge~ \mathcal{D}_{i} = \mathcal{D} (C_{i-1}, \vec{D}_{i-1}, w_{i-1}), \wedge~ \mathcal{D}_{i} = \mathcal{D} (C_{i-1}, \vec{D}_{i-1}, w_{i-1}),
i > \lambda i > \lambda
...@@ -146,69 +144,69 @@ further parts of the segment. ...@@ -146,69 +144,69 @@ further parts of the segment.
Setting the observation distance to a constant value $\tau = 20$ seems Setting the observation distance to a constant value $\tau = 20$ seems
appropriate in most experimented situations. appropriate in most experimented situations.
\subsection{Supervised blurred segment detection} \subsection{Supervised blurred segments detection}
In supervised context, the user draws an input stroke across the specific In supervised context, the user draws an input stroke across the specific
edge he wants to extract from the image. edge that he wants to extract from the image.
The detection method previously described is continuously run during mouse The detection method previously described is continuously run during mouse
dragging and the output blurred segment is displayed on-the-fly. dragging and the output blurred segment is displayed on-the-fly.
The method is quite sensitive to the local conditions of the initial detection %The method is quite sensitive to the local conditions of the initial detection
so that the output blurred segment may be quite unstable. %so that the output blurred segment may be quite unstable.
In order to temper this undesirable behavior for interactive applications, %In order to temper this undesirable behavior for interactive applications,
the initial detection can be optionally run twice, the second fast scan being %the initial detection can be optionally run twice, the second fast scan being
aligned on the first detection output. %aligned on the first detection output.
This strategy provides a first quick analysis of the local context before %This strategy provides a first quick analysis of the local context before
extracting the segment and contributes to notably stabilize the overall %extracting the segment and contributes to notably stabilize the overall
process. %process.
%
When selecting candidates for the fine detection stage, an option, called %When selecting candidates for the fine detection stage, an option, called
{\it edge selection mode}, is left to also filter the points according to %{\it edge selection mode}, is left to also filter the points according to
their gradient direction. %their gradient direction.
In {\it main edge selection mode}, only the points with a gradient vector %In {\it main edge selection mode}, only the points with a gradient vector
in the same direction as the start point gradient vector are added to the %in the same direction as the start point gradient vector are added to the
blurred segment. %blurred segment.
In {\it opposite edge selection mode}, only the points with an opposite %In {\it opposite edge selection mode}, only the points with an opposite
gradient vector direction are kept. %gradient vector direction are kept.
In {\it line selection mode} this direction-based filter is not applied, %In {\it line selection mode} this direction-based filter is not applied,
and all the candidate points are aggregated into a same blurred segment, %and all the candidate points are aggregated into a same blurred segment,
whatever the direction of their gradient vector. %whatever the direction of their gradient vector.
As illustrated on \RefFig{fig:edgeDir}, this mode allows the detection of %As illustrated on \RefFig{fig:edgeDir}, this mode allows the detection of
the two opposite edges of a thin straight object. %the two opposite edges of a thin straight object.
%
\begin{figure}[h] %\begin{figure}[h]
\center %\center
\begin{tabular}{c@{\hspace{0.2cm}}c} % \begin{tabular}{c@{\hspace{0.2cm}}c}
\includegraphics[width=0.4\textwidth]{Fig_method/selectLine_zoom.png} & % \includegraphics[width=0.4\textwidth]{Fig_method/selectLine_zoom.png} &
\includegraphics[width=0.4\textwidth]{Fig_method/selectEdges_zoom.png} % \includegraphics[width=0.4\textwidth]{Fig_method/selectEdges_zoom.png}
\end{tabular} % \end{tabular}
\begin{picture}(1,1)(0,0) % \begin{picture}(1,1)(0,0)
{\color{dwhite}{ % {\color{dwhite}{
\put(-220,-14.5){\circle*{8}} % \put(-220,-14.5){\circle*{8}}
\put(-74,-14.5){\circle*{8}} % \put(-74,-14.5){\circle*{8}}
}} % }}
\put(-222.5,-17){a} % \put(-222.5,-17){a}
\put(-76.5,-17){b} % \put(-76.5,-17){b}
\end{picture} % \end{picture}
\caption{Blurred segments obtained in \textit{line} or \textit{edge % \caption{Blurred segments obtained in \textit{line} or \textit{edge
selection mode} as a result of the gradient direction filtering % selection mode} as a result of the gradient direction filtering
when adding points. % when adding points.
In \textit{line selection mode} (a), a thick blurred segment is % In \textit{line selection mode} (a), a thick blurred segment is
built and extended all along the brick join. % built and extended all along the brick join.
In \textit{edge selection mode} (b), a thin blurred segment is % In \textit{edge selection mode} (b), a thin blurred segment is
built along one of the two join edges. % built along one of the two join edges.
Both join edges are detected with the \textit{multi-selection} % Both join edges are detected with the \textit{multi-selection}
option. % option.
On that very textured image, they are much shorter than the whole % On that very textured image, they are much shorter than the whole
join detected in line selection mode. % join detected in line selection mode.
Blurred segment points are drawn in black color, and the enclosing % Blurred segment points are drawn in black color, and the enclosing
straight segments in blue.} % straight segments in blue.}
\label{fig:edgeDir} % \label{fig:edgeDir}
\end{figure} %\end{figure}
\subsection{Multiple blurred segments detection} %\subsection{Multiple blurred segments detection}
Another option, called {\it multi-detection} (Algorithm 1), allows the An option, called {\it multi-detection} (Algorithm 1), allows the
detection of all the segments crossed by the input stroke $AB$. detection of all the segments crossed by the input stroke $AB$.
In order to avoid multiple detections of the same edge, an occupancy mask, In order to avoid multiple detections of the same edge, an occupancy mask,
initially empty, collects the dilated points of all the blurred segments, initially empty, collects the dilated points of all the blurred segments,
...@@ -230,9 +228,9 @@ segments $\mathcal{B}_j'$ at the end of each successful detection ...@@ -230,9 +228,9 @@ segments $\mathcal{B}_j'$ at the end of each successful detection
blurred segment extension in the fine tracking step. blurred segment extension in the fine tracking step.
\end{enumerate} \end{enumerate}
In edge selection mode (\RefFig{fig:edgeDir} b), the multi-detection %In edge selection mode (\RefFig{fig:edgeDir} b), the multi-detection
algorithm is executed twice, first in main edge selection mode, then %algorithm is executed twice, first in main edge selection mode, then
in opposite edge selection mode. %in opposite edge selection mode.
\subsection{Automatic blurred segment detection} \subsection{Automatic blurred segment detection}
...@@ -247,8 +245,8 @@ In the present work, the stroke sweeping step $\delta$ is set to 10 pixels. ...@@ -247,8 +245,8 @@ In the present work, the stroke sweeping step $\delta$ is set to 10 pixels.
The automatic detection of blurred segments in a whole image is available The automatic detection of blurred segments in a whole image is available
for testing from an online demonstration for testing from an online demonstration
and from a \textit{GitHub} source code repository: \\ and from a \textit{GitHub} source code repository: \\
\href{http://ipol-geometry.loria.fr/~kerautre/ipol_demo/FBSD_IPOLDemo}{ \href{https://github.com/evenp/FBSD}{
\small{\url{http://ipol-geometry.loria.fr/~kerautre/ipol_demo/FBSD_IPOLDemo}}} \small{\url{https://github.com/evenp/FBSD}}}
\input{Fig_method/algoAuto} \input{Fig_method/algoAuto}
......
...@@ -15,8 +15,8 @@ is the set of points $P(x,y)$ of $\mathbb{Z}^2$ that satisfy : ...@@ -15,8 +15,8 @@ is the set of points $P(x,y)$ of $\mathbb{Z}^2$ that satisfy :
$0 \leq ax + by - c < \nu$. $0 \leq ax + by - c < \nu$.
\end{definition} \end{definition}
In the following, we note $\delta(\mathcal{L}) = b/a$ the slope of In the following, we note $\vec{V}(\mathcal{L}) = (a,b)$ the director vector
digital line $\mathcal{L}$, $w(\mathcal{L}) = \nu$ its arithmetical width, of digital line $\mathcal{L}$, $w(\mathcal{L}) = \nu$ its arithmetical width,
$h(\mathcal{L}) = c$ its shift to origin, and $p(\mathcal{L}) = max(|a|,|b|)$ $h(\mathcal{L}) = c$ its shift to origin, and $p(\mathcal{L}) = max(|a|,|b|)$
its period (i.e. the length of its periodic pattern). its period (i.e. the length of its periodic pattern).
When $\nu = p(\mathcal{L})$, then $\mathcal{L}$ is the narrowest 8-connected When $\nu = p(\mathcal{L})$, then $\mathcal{L}$ is the narrowest 8-connected
...@@ -56,7 +56,7 @@ and $\mathcal{B}_i = \mathcal{B}_{i-1}$.} ...@@ -56,7 +56,7 @@ and $\mathcal{B}_i = \mathcal{B}_{i-1}$.}
\end{figure} \end{figure}
Associated to this primitive, the following definition of a directional scan Associated to this primitive, the following definition of a directional scan
also based on digital straight lines is used in this work. based on digital straight lines is used in this work.
\subsection{Directional scan} \subsection{Directional scan}
...@@ -71,13 +71,13 @@ $\mathcal{D}$. ...@@ -71,13 +71,13 @@ $\mathcal{D}$.
\begin{equation} \begin{equation}
DS = \left\{ S_i = \mathcal{D} \cap \mathcal{N}_i \cap \mathcal{I} DS = \left\{ S_i = \mathcal{D} \cap \mathcal{N}_i \cap \mathcal{I}
\left| \begin{array}{l} \left| \begin{array}{l}
\delta(\mathcal{N}_i) = - \delta^{-1}(\mathcal{D}) \\ \vec{V}(\mathcal{N}_i) \cdot \vec{V}(\mathcal{D}) = 0 \\
\wedge~ h(\mathcal{N}_i) = h(\mathcal{N}_{i-1}) + p(\mathcal{D}) \wedge~ h(\mathcal{N}_i) = h(\mathcal{N}_{i-1}) + p(\mathcal{D})
\end{array} \right. \right\} \end{array} \right. \right\}
%S_i = \mathcal{D} \cap \mathcal{N}_i, \mathcal{N}_i \perp \mathcal{D} %S_i = \mathcal{D} \cap \mathcal{N}_i, \mathcal{N}_i \perp \mathcal{D}
\end{equation} \end{equation}
In this definition, the clause In this definition, the clause
$\delta(\mathcal{N}_i) = - \delta^{-1}(\mathcal{D})$ $\vec{V}(\mathcal{N}_i) \cdot \vec{V}(\mathcal{D}) = 0$
expresses the othogonality constraint between the scan lines $\mathcal{N}_i$ expresses the othogonality constraint between the scan lines $\mathcal{N}_i$
and the scan strip $\mathcal{D}$. and the scan strip $\mathcal{D}$.
Then the shift of the period $p(\mathcal{D})$ between successive scans Then the shift of the period $p(\mathcal{D})$ between successive scans
...@@ -88,7 +88,7 @@ The scans $S_i$ are developed on each side of a start scan $S_0$, ...@@ -88,7 +88,7 @@ The scans $S_i$ are developed on each side of a start scan $S_0$,
and ordered by their distance to the start line $\mathcal{N}_0$ with and ordered by their distance to the start line $\mathcal{N}_0$ with
a positive (resp. negative) sign if they are on the left (resp. right) a positive (resp. negative) sign if they are on the left (resp. right)
side of $\mathcal{N}_0$ (\RefFig{fig:ds}). side of $\mathcal{N}_0$ (\RefFig{fig:ds}).
The directional scan is iterately parsed from the start scan to both ends. The directional scan is iteratively parsed from the start scan to both ends.
At each iteration $i$, the scans $S_i$ and $S_{-i}$ are successively processed. At each iteration $i$, the scans $S_i$ and $S_{-i}$ are successively processed.
\begin{figure}[h] \begin{figure}[h]
......
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