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

Article: rmk BK integrated

parent 298f24d4
No related branches found
No related tags found
No related merge requests found
\begin{picture}(340,34)(0,-4)
%\put(0,-2.5){\framebox(340,35)}
\put(-2,18){\scriptsize $(A,B)$}
\put(-2,15){\vector(1,0){24}}
\put(24,0){\framebox(56,30)}
\put(24,16){\makebox(56,10){Initial}}
\put(24,4){\makebox(56,10){detection}}
\put(86,18){\scriptsize $\mathcal{B}$}
\put(80,15){\vector(1,0){22}}
%\put(102,0){\framebox(56,30)}
\multiput(102,15)(28,9){2}{\line(3,-1){28}}
\multiput(102,15)(28,-9){2}{\line(3,1){28}}
\put(100,0){\makebox(60,30){Valid ?}}
\put(133,-2){\scriptsize $\emptyset$}
\put(130,6){\vector(0,-1){10}}
\put(159,18){\scriptsize $(C,\vec{D})$}
\put(158,15){\vector(1,0){28}}
\put(186,0){\framebox(56,30)}
\put(186,16){\makebox(56,10){Fine}}
\put(186,4){\makebox(60,10){tracking}}
\put(250,18){\scriptsize $\mathcal{B}'$}
\put(242,15){\vector(1,0){24}}
\put(266,0){\framebox(56,30){Filtering}}
\put(330,18){\scriptsize $\mathcal{B}''$}
\put(322,15){\vector(1,0){22}}
\end{picture}
\begin{picture}(340,34)(0,-4)
%\put(0,-2.5){\framebox(340,35)}
\put(-2,18){\scriptsize $(A,B)$}
\put(-2,15){\vector(1,0){24}}
\put(24,0){\framebox(56,30)}
\put(24,16){\makebox(56,10){Initial}}
\put(24,4){\makebox(56,10){detection}}
\put(86,18){\scriptsize $\mathcal{B}$}
\put(80,15){\vector(1,0){22}}
%\put(102,0){\framebox(56,30)}
\multiput(102,15)(28,9){2}{\line(3,-1){28}}
\multiput(102,15)(28,-9){2}{\line(3,1){28}}
\put(100,0){\makebox(60,30){Valid ?}}
\put(133,-2){\scriptsize $\emptyset$}
\put(130,6){\vector(0,-1){10}}
\put(159,18){\scriptsize $(C,\vec{D})$}
\put(158,15){\vector(1,0){26}}
\put(184,0){\framebox(62,30)}
\put(186,18){\makebox(56,10){Fine}}
\put(186,8){\makebox(60,10){tracking }}
\put(186,0){\makebox(60,10){\scriptsize{\color{gray}{(adapt. dir. scan)}}}}
\put(250,18){\scriptsize $\mathcal{B}'$}
\put(246,15){\vector(1,0){20}}
\put(266,0){\framebox(56,30){Filtering}}
\put(330,18){\scriptsize $\mathcal{B}''$}
\put(322,15){\vector(1,0){22}}
\end{picture}
\begin{picture}(220,60)
\multiput(0,6)(2,-6){2}{\line(3,1){150}}
\multiput(0,8)(30,6){8}{\line(5,1){10}}
\multiput(0,18)(30,6){8}{\line(5,1){10}}
\multiput(0,8)(30,6){8}{\color{red}{\line(5,1){10}}}
\multiput(0,18)(30,6){8}{\color{red}{\line(5,1){10}}}
\put(45,21){\circle*{3}}
\put(55,21){\circle*{3}}
\put(65,21){\circle*{3}}
......@@ -15,7 +15,8 @@
\put(140,36){\vector(0,1){10}}
\put(140,62.66){\vector(0,-1){10}}
\put(120,58){$\mu_{i-1}$}
\put(160,30){\vector(0,1){10}}
\put(160,60){\vector(0,-1){10}}
\put(164,36){$\mu_i$}
\put(160,30){\color{red}{\vector(0,1){10}}}
\put(160,60){\color{red}{\vector(0,-1){10}}}
\put(164,36){\color{red}{$\mu_i$}}
\put(180,60){\color{red}{$\mathcal{B}_{i}$}}
\end{picture}
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 two main
improvements: adaptive directional scans and the control of the
assigned width to the detection algorithm.
based on blurred segments, digital objects able to embed quality measurements
on the extracted features. This study enhances previous works on interactive
line detection with a better estimation of the blurred segment width and
orientation through two main improvements: adaptive directional scans and
the control of the assigned width to the detection algorithm.
A new contribution to the detection of all the segments in a single image
is also proposed and left available in an online demonstration.
@article{DebledAl06,
title = {Optimal Blurred Segments Decomposition of Noisy Shapes
in Linear Times},
journal = {Computers and Graphics},
author = {Debled-Rennesson, I. and Feschet, F. and Rouyer-Degli, J.},
year = {2006}
}
@book{KletteRosenfeld04,
title = {Digital geometry -- Geometric methods for digital picture analysis},
author = {Klette, Reinhard and Rosenfeld, Azriel},
......@@ -18,7 +26,8 @@
editor = {Wiederhold, P. and Barneva, R. P.},
optmonth = nov,
year = {2009},
pages = {176--186}
pages = {176--186},
optdoi = {10.1007/978-3-642-10210-3_14}
}
......@@ -47,7 +56,7 @@
number = "6",
pages = "1675--1684",
year = "2007",
doi = "DOI: 10.1016/j.patcog.2006.10.005"
doi = "10.1016/j.patcog.2006.10.005"
}
......@@ -71,7 +80,8 @@
journal = {Mathematical Morphology: Theory and Applications},
year = {2017},
number = {2},
pages = {35-54}
pages = {35-54},
doi = {10.1016/j.patcog.2006.10.005}
}
......@@ -136,7 +146,8 @@
booktitle = {Int. Conf. on Image Processing},
publisher = {IEEE},
year = {2015},
pages = {507--511}
pages = {507--511},
doi = {10.1109/ICIP.2015.7350850}
}
......
......@@ -22,7 +22,7 @@ introduced to cope with the image noise or other sources of imperfections
from the real world by the mean of a width parameter.
It is well suited to reflect the required edge quality information.
Moreover efficient algorithms have already been designed to recognize
these digital objects in binary images.
these digital objects in binary images \cite{DebledAl06}.
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
......@@ -72,20 +72,22 @@ resolution images.
The work presented in this paper aims at solving both former mentioned
drawbacks through two main contributions:
the concept of adaptive directional scanner designed to get some compliance
to the unpredictable orientation problem;
the control of the assigned width to the blurred segment recognition algorithm,
intended to derive more reliable information on the edge orientation and
quality.
(i) the concept of adaptive directional scanner designed to get some
compliance to the unpredictable orientation problem;
(ii) the control of the assigned width to the blurred segment recognition
algorithm, intended to derive more reliable information on the edge
orientation and quality.
As a side effect, these two major evolutions also led to a noticeable
improvement of the time performance of the detector.
They are also put forward within a global line extraction algorithm
which can be evaluated through an online demonstration.
In the next section, the main theoretical notions this work relies on are
introduced.
Then the new detector workflow, the adaptive directional scanner, the control
of the assigned with and their integration into both supervised
and unsupervised contexts are presented and discussed in \RefSec{sec:method}.
The new detector workflow, the adaptive directional scanner, the control
of the assigned with and their integration into both supervised and
unsupervised contexts are then presented and discussed in \RefSec{sec:method}.
Experiments led to assess the expected increase of performance are decribed
in \RefSec{sec:expe}.
Finally achieved results are summarized in \RefSec{sec:conclusion},
Finally, achieved results are summarized in \RefSec{sec:conclusion},
followed by some open perspectives for future works.
......@@ -3,9 +3,16 @@
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tikzrput}
\definecolor{dblue}{RGB}{55,55,200}
\usepackage[colorlinks=true,citecolor=dblue]{hyperref}
\usepackage{graphicx}
\usepackage{color}
\definecolor{dwhite}{rgb}{1,1,1}
\definecolor{dgreen}{rgb}{0.1,0.5,0.1}
%\graphicspath{{./Fignotions/}{./Figmethod}}
\usepackage[ruled,vlined]{algorithm2e}
......@@ -19,7 +26,7 @@
\begin{frontmatter}
% \title{Straight edge detection
% based on adaptive directional tracking of blurred segments}
\title{Adaptive directional tracking of blurred segments}
\title{Adaptive Directional Tracking of Blurred Segments}
\author{Philippe Even\inst{1} \and
Phuc Ngo\inst{1} \and
......@@ -37,7 +44,9 @@
\begin{abstract}
\input{abstract}
\keywords{Line detection \and discrete objects \and image analysis}
\keywords{Line/segment detection
\and discrete objects
\and image analysis}
\end{abstract}
\end{frontmatter}
......
......@@ -9,32 +9,7 @@ in the following figure.
\begin{figure}[h]
\center
\begin{picture}(340,34)(0,-4)
%\put(0,-2.5){\framebox(340,35)}
\put(-2,18){\scriptsize $(A,B)$}
\put(-2,15){\vector(1,0){24}}
\put(24,0){\framebox(56,30)}
\put(24,16){\makebox(56,10){Initial}}
\put(24,4){\makebox(56,10){detection}}
\put(86,18){\scriptsize $\mathcal{B}$}
\put(80,15){\vector(1,0){22}}
%\put(102,0){\framebox(56,30)}
\multiput(102,15)(28,9){2}{\line(3,-1){28}}
\multiput(102,15)(28,-9){2}{\line(3,1){28}}
\put(100,0){\makebox(60,30){Valid ?}}
\put(133,-2){\scriptsize $\emptyset$}
\put(130,6){\vector(0,-1){10}}
\put(159,18){\scriptsize $(C,\vec{D})$}
\put(158,15){\vector(1,0){28}}
\put(186,0){\framebox(56,30)}
\put(186,16){\makebox(56,10){Fine}}
\put(186,4){\makebox(60,10){tracking}}
\put(250,18){\scriptsize $\mathcal{B}'$}
\put(242,15){\vector(1,0){24}}
\put(266,0){\framebox(56,30){Filtering}}
\put(330,18){\scriptsize $\mathcal{B}''$}
\put(322,15){\vector(1,0){22}}
\end{picture}
\input{Fig_method/workflow}
\caption{The detection process main workflow.}
\label{fig:workflow}
\end{figure}
......@@ -71,10 +46,12 @@ Most of the time, the detection stops where the segment escapes sideways
from the scan strip (\RefFig{fig:escape} a).
A second search is then run using another directional scan aligned
on the detected segment (\RefFig{fig:escape} b).
However, even in case of a correct 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.
In the given example, an outlier added to the initial segment leads to a
wrong orientation value.
But even in case of a correct detection, this estimated orientation
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.
%Even in ideal situation where the detected segment is a perfect line,
%its width is never null as a result of the discretization process.
......@@ -116,8 +93,9 @@ thus producing a useless computational cost.
Here the proposed solution is to dynamically align the scan direction on
the blurred segment one all along the expansion stage.
At each iteration $i$, the scan strip is aligned on the direction of the
blurred segment $\mathcal{B}_{i-1}$ computed at previous iteration $i-1$.
At each iteration $i$ of the expansion, the scan strip is aligned on the
direction of the blurred segment $\mathcal{B}_{i-1}$ computed at previous
iteration $i-1$.
More generally, an adaptive directional scan $ADS$ is defined by:
\begin{equation}
%S_i = \mathcal{D}_{i-1} \cap \mathcal{N}_i
......@@ -228,19 +206,18 @@ extracting the segment and contributes to notably stabilize the overall
process.
When selecting candidates for the fine detection stage, an option, called
{\it edge selection mode}, is left to filter the points according to their
gradient direction.
{\it edge selection mode}, is left to also filter the points according to
their gradient direction.
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
blurred segment.
In {\it opposite edge selection mode}, only the points with an opposite
gradient vector direction are kept.
In {\it line selection mode} this filter is not applied, and all the
candidate points are aggregated into a same blurred segment, whatever the
direction of their gradient vector.
This mode allows the detection of the two opposite edges of a thin straight
object.
This distinction is illustrated on \RefFig{fig:edgeDir}.
In {\it line selection mode} this direction-based filter is not applied,
and all the candidate points are aggregated into a same blurred segment,
whatever the direction of their gradient vector.
As illustrated on \RefFig{fig:edgeDir}, this mode allows the detection of
the two opposite edges of a thin straight object.
\begin{figure}[h]
\center
......@@ -256,13 +233,15 @@ This distinction is illustrated on \RefFig{fig:edgeDir}.
\put(-262.5,-20){a}
\put(-89,-20){b}
\end{picture}
\caption{Blurred segments obtained in line or edge selection mode
as a result of the gradient direction filtering when adding points.
In line selection mode (a), a thick blurred segment is built and
extended all along the brick join.
In edge selection mode (b), a thin blurred segment is built along
one of the two join edges.
Both join edges are detected with the multi-selection option.
\caption{Blurred segments obtained in \textit{line} or \textit{edge
selection mode} as a result of the gradient direction filtering
when adding points.
In \textit{line selection mode} (a), a thick blurred segment is
built and extended all along the brick join.
In \textit{edge selection mode} (b), a thin blurred segment is
built along one of the two join edges.
Both join edges are detected with the \textit{multi-selection}
option.
On that very textured image, they are much shorter than the whole
join detected in line selection mode.
Blurred segment points are drawn in black color, and the enclosing
......@@ -276,7 +255,7 @@ 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.
so that these points can not be added to another segment.
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.
......@@ -391,6 +370,11 @@ of interfering outliers insertion.
\label{fig:noisy}
\end{figure}
The automatic detection of blurred segments in a whole image is left
available for testing in an online demonstration at the following address: \\
{\small \tt
http://ipol-geometry.loria.fr/\~{}kerautre/ipol\_demo/AdaptDirBS\_IPOLDemo/}
%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
......
......@@ -53,6 +53,9 @@ the assigned width $\varepsilon$, then the new input point is rejected.}
\label{fig:bs}
\end{figure}
Associated to this primitive, the following definition of directional scan
also based on digital straight lines is also used in the following.
\subsection{Directional scan}
A directional scan $DS$ is an ordered partition restricted to the image
......@@ -104,12 +107,12 @@ At each iteration $i$, the scans $S_i$ and $S_{-i}$ are successively processed.
\put(-185,112){$A$}
\put(-88,14){$B$}
\put(-20,98){$\mathcal{D}$}
\put(-137,64){$S_0$}
\put(-77,94){$S_8$}
\put(-183,64){$S_{-5}$}
\put(-123,8){$\mathcal{N}_0$}
\put(-60,30){$\mathcal{N}_8$}
\put(-169,8){$\mathcal{N}_{-5}$}
\put(-137,64){\color{blue}{$S_0$}}
\put(-77,94){\color{red}{$S_8$}}
\put(-183,64){\color{dgreen}{$S_{-5}$}}
\put(-123,8){\color{blue}{$\mathcal{N}_0$}}
\put(-60,30){\color{red}{$\mathcal{N}_8$}}
\put(-169,8){\color{dgreen}{$\mathcal{N}_{-5}$}}
\end{picture}
\caption{A directional scan.
The start scan $S_0$ is drawn in blue, odd scans in green,
......
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