From 585053fea02a3d3eb4bd9a057d230e7fa646005c Mon Sep 17 00:00:00 2001
From: even <philippe.even@loria.fr>
Date: Thu, 6 Dec 2018 22:52:52 +0100
Subject: [PATCH] Article: nomeklatur

---
 Article/Fig_notions/bswidth.tex |   8 +--
 Article/intro.tex               |   2 +-
 Article/method.tex              |  45 +++++++-----
 Article/notions.tex             | 123 +++++++++++++-------------------
 4 files changed, 83 insertions(+), 95 deletions(-)

diff --git a/Article/Fig_notions/bswidth.tex b/Article/Fig_notions/bswidth.tex
index 4240fe9..5d1aacb 100644
--- a/Article/Fig_notions/bswidth.tex
+++ b/Article/Fig_notions/bswidth.tex
@@ -9,13 +9,13 @@
   \put(82.5,31){\circle*{3}}
   \put(90,36){\circle*{3}}
   \put(100,36){\circle*{3}}
-  \put(70,35){$\mathcal{B}$}
+  \put(69,35){$\mathcal{B}_i$}
   \put(110,30){\circle{3}}
-  \put(112,21){$P'$}
+  \put(112,21){$P_{i+1}$}
   \put(140,36){\vector(0,1){10}}
   \put(140,62.66){\vector(0,-1){10}}
-  \put(130,55){$\mu$}
+  \put(129,56){$\mu_i$}
   \put(160,30){\vector(0,1){10}}
   \put(160,60){\vector(0,-1){10}}
-  \put(164,44){$\mu '$}
+  \put(164,39){$\mu_{i+1}$}
 \end{picture}
diff --git a/Article/intro.tex b/Article/intro.tex
index 6cec3ac..b81aa4e 100755
--- a/Article/intro.tex
+++ b/Article/intro.tex
@@ -23,7 +23,7 @@ in some application contexts, such as computer vision.
 
 In digital geometry, the notion of blurred segment \cite{DebledAl05,Buzer07}
 was introduced to cope with the image noise or other sources of
-imperfections from the real world. The pre-image of that geometrical object,
+imperfections from the real world. The preimage of that geometrical object,
 ie the space of geometric entities which numerization matches this
 blurred segment, may convey useful information to evaluate possible moves in
 the 3D interpretations drawn, as a promising extension of former works
diff --git a/Article/method.tex b/Article/method.tex
index fa4d322..9a0dde9 100755
--- a/Article/method.tex
+++ b/Article/method.tex
@@ -14,47 +14,58 @@ in the following figure.
     \put(24,0){\framebox(56,30)}
     \put(24,15){\makebox(56,10){Initial}}
     \put(24,3){\makebox(56,10){detection}}
-    \put(86,18){\scriptsize $S_{i}$}
+    \put(86,18){\scriptsize $\mathcal{B}_{1}$}
     \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 $0$}
+    \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,15){\makebox(56,10){Fine}}
     \put(186,3){\makebox(60,10){tracking}}
-    \put(250,18){\scriptsize $S_{f}$}
+    \put(250,18){\scriptsize $\mathcal{B}_2$}
     \put(242,15){\vector(1,0){24}}
     \put(266,0){\framebox(56,30){Filtering}}
-    \put(330,18){\scriptsize $S_{o}$}
+    \put(330,18){\scriptsize $\mathcal{B}_3$}
     \put(322,15){\vector(1,0){22}}
   \end{picture}
   \caption{The detection method work flow.}
   \label{fig:workflow}
 \end{figure}
 
-The fast track stage consists in building and extending a blurred segment
-$S_i$ based on the highest gradient points on each line of the directional
-scanner based on an input segment $AB$.
+The initial detection consists in building and extending a blurred segment
+$\mathcal{B}_1$ based on the highest gradient points found in each scan
+of a static directional scanner based on an input segment $AB$.
 
-Validity tests based on the length or sparsity of $S_i$ are applied to
-decide of the detection poursuit. In case of positive response, the
-position and direction of this initial blurred segment is extracted.
+Validity tests based on the length or sparsity of $\mathcal{B}_1$ are
+applied to decide of the detection poursuit. In case of positive response,
+the position $C$ and direction $\vec{D}$ of this initial blurred segment
+are extracted.
 
-The fine track stage consists on building and extending a blurred segment
-$S_f$ based on points that correspond to local maxima of the gradient,
-ranked by magnitude order, and with gradient direction close to a reference
-gradient direction at the segment first point.
+The fine track step consists on building and extending a blurred segment
+$\mathcal{B}_2$ based on points that correspond to local maxima of the
+image gradient, ranked by magnitude order, and with gradient direction
+close to a reference gradient direction at the segment first point.
+This step uses an adaptive directional scanner to extends the segment
+in appropriate direction.
 During that step a thinning procedure is run :
-the assigned width of the BS is progressively brought to
-the detected BS minimal width.
+the assigned width is progressively brought to
+the detected blurred segment minimal width.
 
 The fine track output segment is finally filtered to remove artifacts
-and outliers, and a solution blurred segment $S_o$ is provided.
+and outliers, and a solution blurred segment $\mathcal{B}_3$ is provided.
+
+\subsection{The thinning process}
+
+\subsection{Multi-detection}
+
+Algo de multi-detection.
+
+\subsection{Automatic detection}
 
 \subsection{Implementation details}
 
diff --git a/Article/notions.tex b/Article/notions.tex
index a58374e..399f61e 100755
--- a/Article/notions.tex
+++ b/Article/notions.tex
@@ -7,11 +7,13 @@ defined in the digital geometry literature \cite{KletteRosenfeld04}.
 Only the 2-dimensional case is considered here.
 
 \begin{definition}
-A digital line $\mathcal{L}$ with integer parameters $(a,b,c,\nu)$ is the set
-of points $P(x,y)$ of $\mathbb{Z}^2$ that satisfy : $0 \leq ax + by - c < \nu$.
+A digital line $\mathcal{L}(a,b,c,\nu)$, with $(a,b,c,\nu) \in \mathbb{Z}^4$,
+is the set of points $P(x,y)$ of $\mathbb{Z}^2$ that satisfy :
+$0 \leq ax + by - c < \nu$.
 \end{definition}
 
-The parameter $\nu$ is the arithmetic width of the digital line.
+$b/a$ is the slope of $\mathcal{L}$, $c$ its intercept and $\nu$
+its arithmetic width.
 When $\nu = max (|a|, |b|)$, $\mathcal{L}$ is the narrowest 8-connected
 line and is called a naive line.
 
@@ -30,16 +32,17 @@ arithmetical width of the narrowest digital straight line that contains
 $\mathcal{B}$.
 It is also the minimal width of the convex hull, that is computed by
 Melkman's algorithm \cite{Melkman87}.
-The extension of the blurred segment with a new input point is thus
-controlled by the recognition test $\mu < \varepsilon$.
+The extension of the blurred segment $\mathcal{B}_i$ of assigned width
+$\varepsilon$ and minimal width $\mu_i$ at step $i$ with a new input point
+$P_{i+1}$ is thus controlled by the recognition test $\mu_{i+1} < \varepsilon$.
 
 \begin{figure}[h]
 \center
   \input{Fig_notions/bswidth}
-  \caption{A growing blurred segment $\mathcal{B}$ :
-when adding the new point $P'$, the blurred segment minimal width augments
-from $\mu$ to $\mu '$; if the new width $\mu '$ exceeds the assigned width
-$\varepsilon$, then the new input point is rejected.}
+  \caption{A growing blurred segment $\mathcal{B}_i$ :
+when adding the new point $P_{i+1}$, the blurred segment minimal width
+augments from $\mu_i$ to $\mu_{i+1}$; if the new width $\mu_{+1}$ exceeds
+the assigned width $\varepsilon$, then the new input point is rejected.}
   \label{fig:bs}
 \end{figure}
 
@@ -50,13 +53,15 @@ gradually decremented to reach the detected blurred segment minimal width.
 
 \subsection{Directional scan}
 
-A directional scan is a partition of a digital straight line $\mathcal{S}$,
-called the {\it scan strip}, into naive straight line segments $\mathcal{L}_i$,
-that are orthogonal to $\mathcal{S}$. The segments, called {\it scan lines},
-are developed on each side of a central scan line $\mathcal{S}_0$, and labelled
-with their manhattan distance ($d_1 = |d_x| + |d_y|$) to $\mathcal{L}_0$ and
-a positive (resp.  negative) sign if their are on the left (resp. right)
-of $\mathcal{L}_0$.
+A directional scan is a partition of a digital straight line $\mathcal{D}$,
+called the {\it scan strip}, into scans $S_i$, each of them being a
+segment of a naive line $\mathcal{S}_i$ orthogonal to $\mathcal{D}$.
+\[ S_i = \mathcal{D} \cap \mathcal{S}_i,
+\mathcal{S}_i \perp \mathcal{D} \]
+The scans $S_i$ are developed on each side of a central scan $S_0$,
+and labelled with their manhattan distance ($d_1 = |d_x| + |d_y|$) to
+the central line $\mathcal{S}_0$ and a positive (resp.  negative) sign
+if their are on the left (resp. right) of $\mathcal{S}_0$.
 
 \begin{figure}[h]
 \center
@@ -67,33 +72,19 @@ of $\mathcal{L}_0$.
   \label{fig:ds}
 \end{figure}
 
-The directional scan can be defined by its central scan line $\mathcal{L}_0$.
-If $A(x_A,y_A)$ and $B(x_B,y_B)$ are the end points of this scan line,
+The directional scan can be defined by its central scan $S_0$.
+If $A(x_A,y_A)$ and $B(x_B,y_B)$ are the end points of $S_0$,
 the scan strip is defined by :
-
-\centerline{
-$\mathcal{S}(A,B) = \mathcal{D}(a, b, c, \nu)$, with
-$\left\{ \begin{array}{l}
-a = x_B - x_A \\
-b = y_B - y_A \\
-\nu = 1 + |c_2 - c_1| \\
-c = min (c_1, c_2)
-\end{array} \right.$
-}
+\[ \mathcal{D}(A,B)
+= \mathcal{L}(\delta_x, \delta_y, min (c1,c2), 1 + |c_1-c_2|) \]
 \noindent
-where $c_1 = a\cdot x_A + b\cdot y_A$ and $c_2 = a\cdot x_B + b\cdot y_B$.
-
-The scan line $\mathcal{L}_i(A,B)$ is then defined by :
+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$.
 
-\centerline{
-$\mathcal{L}_i(A,B) = \mathcal{S}(A,B) \cap \mathcal{D}(a', b', c', \nu')$, with
-$\left\{ \begin{array}{l}
-a' = y_B - y_A \\
-b' = x_A - x_B \\
-\nu' = max (|a'|,|b'|) \\
-c' = a'\cdot x_A + b'\cdot y_A + i \cdot \nu'
-\end{array} \right.$
-}
+The scan line $\mathcal{S}_i$ is then defined by :
+\[ \mathcal{S}_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}) \]
+where $\nu_{AB} = max (|\delta_x|, |\delta_y|)$
 
 The scan lines length is $d_\infty(AB)$ or $d_\infty(AB)-1$, where $d_\infty$
 is the chessboard distance ($d_\infty = max (|d_x|,|d_y|)$).
@@ -101,30 +92,15 @@ In practice, this difference of length between scan lines is not a drawback,
 as the image bounds should also be processed anyway.
 
 The directional scan can also be defined by its central point $C(x_C,y_C)$,
-its direction $\vec{D}(x_D,y_D)$ and its width $w$ :
-
-\centerline{
-$\mathcal{S}(C,\vec{D},w) = \mathcal{D}(a, b, c, \nu)$, with
-$\left\{ \begin{array}{l}
-a = y_D \\
-b = -x_D \\
-\nu = w \\
-c = a\cdot x_C + b\cdot y_C - w / 2
-\end{array} \right.$
-}
-
-and the scan line $\mathcal{L}_i(A,B)$ by :
-
-\centerline{
-$\mathcal{L}_i(C,\vec{D},w) =
-\mathcal{S}(C,\vec{D},w) \cap \mathcal{D}(a', b', c', \nu')$, with
-$\left\{ \begin{array}{l}
-a' = x_D \\
-b' = y_D \\
-\nu' = max (|a'|,|b'|) \\
-c' = a'\cdot x_C + b'\cdot y_C - w / 2 + i\cdot w
-\end{array} \right.$
-}
+its direction $\vec{D}(x_D,y_D)$ and its width $w$. The scan strip is :
+\[ \mathcal{D}(C,\vec{D},w)
+= \mathcal{L}(y_D, -x_D, x_C\cdot y_D - y_C\cdot x_D - w / 2, w) \]
+
+and the scan line $\mathcal{S}_i(C,\vec{D},w)$ :
+\[ \mathcal{S}_i(C,\vec{D},w)
+= \mathcal{L}(x_D, y_D,
+              x_D\cdot x_C + y_D\cdot y_C - w / 2 + i\cdot w,
+              max (|x_D|,|y_D|) \]
 
 \subsection{Adaptive directional scan}
 
@@ -161,9 +137,9 @@ This side shift is amplified when we let the blurred segment the capacity
 to get thicker in order to capture possible noisy features.
 The assigned width is then still greater than the detected minimal width,
 so that the segment can move within the directional scan.
-Knowing the detected BS shape and the image size, it is possible to
-define a conic scan area, but this solution is computationaly expensive
-because it leads to useless exploration of large image areas.
+Knowing the detected blurred segment shape and the image size, it is
+possible to define a conic scan area, but this solution is computationaly
+expensive because it leads to useless exploration of large image areas.
 
 \begin{figure}[h]
 \center
@@ -182,7 +158,7 @@ found at the former step.
 This process could be itered as long as the blurred segment escapes from
 the directional scanner using as any detection steps as necessary.
 But it produces a useless computational coast, because of the margin left,
-but also the multiple detection of the same segment start points.
+but also of the multiple detection of the same segment start points.
 
 \begin{figure}[h]
 \center
@@ -194,8 +170,9 @@ but also the multiple detection of the same segment start points.
 \end{figure}
 
 The solution we propose here is to dynamically adapt the scan direction
-on the detection result. At each position, the scan strip is updated
-using the BS direction and minimal width computed at the former position,
-that is :
-\[\mathcal{S}_i = \mathcal{L}_0 \cup \mathcal{D}_{i-1}\]
-
+on the detection result. At each position $i$, the scan strip is updated
+using the direction and minimal width of the blurred segment computed
+at the former position $i-1$, that is :
+\[ S_i = \mathcal{D} \cap \mathcal{S}_{i-1} \]
+Compared to static directional scans, the scan strip varies while the
+scan lines remain fixed.
-- 
GitLab