X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/these_gilles.git/blobdiff_plain/1bdc5bd76352d829a51e2d6407ad331af7164113..HEAD:/THESE/Chapters/chapter4/chapter4.tex

diff --git a/THESE/Chapters/chapter4/chapter4.tex b/THESE/Chapters/chapter4/chapter4.tex
index 9dc4b92..15580f9 100644
--- a/THESE/Chapters/chapter4/chapter4.tex
+++ b/THESE/Chapters/chapter4/chapter4.tex
@@ -1,22 +1,37 @@
+\section{Introduction}
+La grande majoritÃ© des solutions de dÃ©bruitage performantes actuelles mettent en \oe{}uvre des reprÃ©sentations basÃ©es sur  des transformÃ©es dÃ©composant la \textit{fonction} image en une base prÃ©dÃ©terminÃ©e de fonctions Ã©lÃ©mentaires ( Fourier, ondelettes...). Elles sont, \textit{a priori}, bien adaptÃ©es Ã  ce problÃ¨me car elles reposent sur le principe mÃªme de gÃ©nÃ©ration de l'image et des principaux bruits qui la perturbent.
 
-\section{PrÃ©sentation de l'algorithme}
+Du point de vue de l'analyse des images, ces techniques ne sont en revanche pas nÃ©cessairement les plus pertinentes, en particulier car elles ne conservent pas la propriÃ©tÃ© d'invariance des structures principales de la scÃ¨ne pour la perception visuelle, vis-Ã -vis de grandeurs comme par exemple le contraste.   
+
+Une autre famille de modÃ¨les tente de reprÃ©senter les scÃ¨nes en se basant sur les \textit{contours significatifs} des Ã©lÃ©ments ou objets prÃ©sents dans les images. Naturellement, l'extraction et la hiÃ©rarchisation conduisant Ã  l'identification ou Ã  la gÃ©nÃ©ration des seuls contours \textit{significatifs} sont les deux phases essentielles du problÃ¨me et concentrent la difficultÃ©.
+
+Dans \cite{haralick1987image}, les auteurs proposent un modÃ¨le sans paramÃ¨tre et indÃ©pendant du contraste, basÃ© sur les ensembles de niveaux (\textit{level-sets}) de l'image. Les frontiÃ¨res de ces ensembles sont les \textit{lignes de niveau} ou \textit{level lines}.         
+Ce concept de ligne de niveau dans les images avait Ã©tÃ© introduit initialement en 1975 par Matheron \cite{matheron75}, puis Caselles \textit{et al.} \cite{caselles97} l'ont exploitÃ© et proposÃ© le cadre dÃ©finissant les  \textit{images naturelles} comme les scÃ¨nes photographiÃ©es, en intÃ©rieur ou en extÃ©rieur, Ã  l'aide d'un appareil standard. Ces images vÃ©rifient alors l'hypothÃ¨se de gradient Ã  valeurs bornÃ©es et peuvent Ãªtre dÃ©composÃ©es en un ensemble de lignes de niveaux. Connaissant les lignes de niveaux d'une image, on se pose alors le problÃ¨me inverse de la reconstruction de l'image dont elles sont issues.
+  
+Dans \cite{Caselles99topographicmaps}, Monasse \textit{et al.} structurent l'ensemble des lignes de niveaux en un arbre traduisant leurs inclusions gÃ©omÃ©triques et appliquent ensuite des mÃ©thodes de segmentation dÃ©rivÃ©es de celles que nous avons prÃ©sentÃ©es au chapitre \ref{seggraph} pour extraire les structures principales de l'image. Ce modÃ¨le permet en particulier les changements d'Ã©chelles. La figure \ref{fig-levellines-monasse} montre, sur la ligne du haut, une image originale et sa reconstruction Ã  l'Ã©chelle $\times$150 Ã  l'aide de cette mÃ©thode, alors que la ligne du bas reproduit les lignes de niveaux identifiÃ©es dans l'image originale et celles retenues pour la reprÃ©sentation. Il est Ã  noter que toutes les lignes de niveau sÃ©lectionnÃ©es appartiennent Ã  l'ensemble original.  
+   
+\begin{figure}[h]
+\center
+\includegraphics[width=10cm]{Chapters/chapter4/img/levellines-monasse.png}
+\caption{\label{fig-levellines-monasse}Exemple d'exploitation des lignes de niveaux. En haut : l'image originale et sa reprÃ©sentation Ã  l'Ã©chelle $\times$150. En bas : les lignes de niveaux de l'image originale et celles utilisÃ©es pour la mise Ã  l'Ã©chelle. Toutes les lignes de niveaux de l'image de droite existent Ã  l'identique dans l'ensemble original. Illustration tirÃ©e de \cite{Caselles99topographicmaps}.}
+\end{figure}
 
-Bertaux \textit{et al.} ont proposÃ© un algorithme de rÃ©duction du \textit{speckle} dans les images Ã©clairÃ©es en lumiÃ¨re cohÃ©rente en introduisant un terme d'attache aux donnÃ©es liÃ© aux lignes de niveaux du modÃ¨le d'image non bruitÃ©e \cite{}.
-La contrainte demeure locale vis Ã  vis du pixel dont on cherche Ã  estimer la valeur de niveau de gris, avec cependant un voisinage de forme et de taille (en nombre de pixels) variables en fonction des propriÃ©tÃ©s de l'image bruitÃ©e dans la zone concernÃ©e.
-Ce voisinage, dont la forme, l'Ã©tendue et le niveau de gris sont dÃ©terminÃ©s par maximum de vraisemblance est appelÃ© une \textit{isoline} et est une estimation locale de la ligne de niveau Ã  laquelle appartient le pixel concernÃ©.
-Cette technique a montrÃ© qu'elle permettait de rÃ©duire trÃ¨s significativement le niveau de bruit tout en prÃ©servant les contours des objets. Elle s'est en revanche averÃ©e gourmande en ressources, ce qui a initialement conduit les auteurs a rÃ©duire la rÃ©solution de calcul des \textit{isolines} par application d'un maillage sur l'image corrompue. 
-MalgrÃ© cela, les temps de calcul demeurent prohibitfs, avec une image de 2 millions de pixels traitÃ©e en 1 minute par un PIII-1GHz.
-Comme nous l'avons dÃ©jÃ  Ã©voquÃ©, l'amÃ©lioration des performances des microprocesseurs permet aujourd'hui de rÃ©duire assez considÃ©rablement ce temps de calcul, mais la rÃ©soltion des images Ã  traiter Ã  elle aussi crÃ» dans des proportions comparables laissant les termes du compromis qualitÃ©/performances inchangÃ©s.
+   
+Bertaux \textit{et al.} ont plus rÃ©cemment proposÃ© un algorithme de rÃ©duction du \textit{speckle} dans les images Ã©clairÃ©es en lumiÃ¨re cohÃ©rente en introduisant, pour les pixels de l'image observÃ©e, une contrainte  d'appartenance aux lignes de niveaux du modÃ¨le d'image non bruitÃ©e \cite{bertaux2004speckle}. L'image observÃ©e Ã©tant perturbÃ©e, les lignes de niveaux ne sont pas accessibles et il s'agit donc d'en estimer, localement  et par morceaux, la valeur et la forme, en se basant sur un modÃ¨le de forme prÃ©-Ã©tabli.
+Pour un pixel dont on cherche Ã  estimer la valeur du niveau de gris, la contrainte d'appartenance Ã  une ligne de niveau demeure locale, avec cependant un voisinage de forme et de taille (en nombre de pixels) variables en fonction des propriÃ©tÃ©s de l'image bruitÃ©e dans la zone concernÃ©e.
+Ce voisinage, dont la forme, l'Ã©tendue et le niveau de gris sont dÃ©terminÃ©s par maximum de vraisemblance, appelÃ© une \textit{isoline},  est une estimation locale de la ligne de niveau Ã  laquelle appartient le pixel concernÃ©.
+Cette technique a montrÃ© qu'elle permettait de rÃ©duire trÃ¨s significativement le niveau de bruit tout en prÃ©servant les contours des objets. Elle s'est en revanche averÃ©e gourmande en ressources, ce qui a initialement conduit les auteurs Ã  rÃ©duire la rÃ©solution de calcul des \textit{isolines} par application d'un maillage sur l'image bruitÃ©e. 
+MalgrÃ© cela, les temps de calcul demeuraient prohibitifs, avec une image de 2 millions de pixels traitÃ©e en 1 minute par un PIII-1GHz.
+Comme nous l'avons dÃ©jÃ  Ã©voquÃ©, l'amÃ©lioration des performances des processeurs permet aujourd'hui de rÃ©duire considÃ©rablement ce temps de calcul. Cependant, la rÃ©solution des images Ã  traiter Ã  crÃ» dans des proportions comparables, laissant les termes du compromis qualitÃ©/performance inchangÃ©s.
 
+\section{PrÃ©sentation de l'algorithme}
 \subsection{Formulation}
  Les \textit{isolines} sont des lignes brisÃ©es composÃ©es d'un ou plusieurs segments et construites par allongements successifs. Le niveau de gris affectÃ© en sortie au pixel considÃ©rÃ© est la valeur moyenne des niveaux de gris des pixels appartenant Ã  l'\textit{isoline}.
-Les segments sont de longueur $n$ fixe mais paramÃ©trable et selectionnÃ©s parmi 32 motifs prÃ©dÃ©terminÃ©s et mÃ©morisÃ©s dans une table de rÃ©fÃ©rence notÃ©e $P_{n-1}$ dont un extrait est reproduit Ã  la figure \ref{fig-lniv-p5q1} avec les motifs des segments correspondants. Tous les motifs sont composÃ©s du mÃªme nombre $n-1$ de pixels.
-Pour chaque pixel de l'image d'entrÃ©e, le premier segment est choisi comme celui prÃ©sentant la meilleure vraisemblance parmi les 32 possibles. Le choix d'intÃ©grer ou non d'autres segments Ã  l'\textit{isoline} et la sÃ©lection des segments Ã  intÃ©grer sont effÃ©ctuÃ©s par Ã©valuation d'un critÃ¨re de vraisemblance gÃ©nÃ©ralisÃ©e dont l'obtention est dÃ©taillÃ©e dans la suite. 
+Les segments sont de longueur $n$ fixe mais paramÃ©trable et leur \og forme \fg{} est sÃ©lectionnÃ©e parmi 32 motifs prÃ©dÃ©terminÃ©s et mÃ©morisÃ©s dans une table de rÃ©fÃ©rence notÃ©e $P_{n-1}$ dont un extrait est reproduit Ã  la figure \ref{fig-lniv-p5q1} avec les motifs des segments correspondants. Tous les motifs sont composÃ©s du mÃªme nombre $a=n-1$ de pixels.
+Pour chaque pixel de l'image d'entrÃ©e, le premier segment est choisi comme celui prÃ©sentant la meilleure vraisemblance parmi les 32 possibles. Un test statistique GLRT (\textit{Generalized Likelihood Ratio Test}) dÃ©termine la pertinence d'intÃ©grer ou non un segment supplÃ©mentaire Ã  l'\textit{isoline} et le segment effectivement sÃ©lectionnÃ© pour l'allongement est le meilleur au sens du maximum de vraisemblance, parmi tous les segements satisfaisant au test GLRT. 
 
 \begin{figure}[h]
-\subfigure[Les 8 premiÃ¨res lignes de la table $P_5$ dont les Ã©lÃ©ments sont les positions relatives des pixels de chaque motif par rapport au pixel central.]{\includegraphics[height=4cm]{Chapters/chapter4/img/P5Q1.jpg}}\quad
-\subfigure[Motifs des 8 premier segments candidats pour. Les pixels noirs representent le pixel traitÃ© (ou pixel central), qui n'appartient pas au motif. Les pixels gris sont ceux qui constituent le motif.]{
-$
+\subfigure[Les 8 premiÃ¨res lignes de la table $P_5$. Les Ã©lÃ©ments sont les positions relatives des pixels de chaque motif par rapport au pixel central.]{$
 P_5 =
 \begin{bmatrix}
 (0,1)&(0,2)&(0,3)&(0,4)&(0,5)\\
@@ -30,53 +45,56 @@ P_5 =
 \ldots&\ldots&\ldots&\ldots&\ldots\\
 \end{bmatrix}
 $
-}
-\caption{\label{fig-lniv-p5q1}DÃ©tail des motifs et de leur reprÃ©sentation interne, pour la taille $d=5$. }
+}\quad
+\subfigure[Motifs des 8 premiers segments associÃ©s aux 8 premiÃ¨res lignes de $P_5$. Les pixels noirs reprÃ©sentent le pixel traitÃ© (ou pixel central), qui n'appartient pas au motif. Les pixels gris sont ceux qui constituent le motif.]{\includegraphics[height=4cm]{Chapters/chapter4/img/P5Q1.jpg}}
+\caption{\label{fig-lniv-p5q1}DÃ©tail des motifs et de leur reprÃ©sentation interne, pour la taille $a=5$. }
 \end{figure}
 
-\subsubsection{Isolines Ã  un seul segment}
+\subsubsection{DÃ©termination du premier segment}
 
-Pour chacun des pixels $(i,j)$ de l'image corrompue, on calcule la vraisemblance associÃ©e Ã  chaque segment candidat de la table $P_{n-1}$ dans la rÃ©gion carrÃ©e $\omega$ centrÃ©e en $(i,j)$ et de cotÃ© $2n-1$. La rÃ©gion $\omega$ est l'union des deux sous-rÃ©gions $S^n$ et $\overline{S^n}$ telles que $S^n$ dÃ©crit le segment candidat Ã  Ã©valuer comme un ensemble de $n$ pixels de coordonnÃ©es $(i_q,j_q)$ oÃ¹ $q\in [0..n[$.
-La figure \ref{fig-lniv-regions} montre cette rÃ©partition pour $d=5$ et l'un des motifs ($p_{5,3}$).
+Nous avons arbitrairement choisi un modÃ¨le simple oÃ¹, au sein de la rÃ©gion carrÃ©e $\omega$ centrÃ©e en $(i,j)$ et de cÃ´tÃ© $2n-1$, les pixels du segment de ligne de niveau composent la rÃ©gion $S^n$ et possÃ¨dent la mÃªme valeur de niveu de gris. Les pixels de $\omega$ n'appartenant pas Ã  $S^n$ composent la rÃ©gion $\overline{S^n}$ et aucun modÃ¨le ne leur est attachÃ©. La rÃ©gion $\omega$ est ainsi l'union des des sous rÃ©gions $S^n$ et $\overline{S^n}$ et le segment Ã  Ã©valuer est l'ensemble des $(a+1)$ pixels de coordonnÃ©es $(i_q,j_q)$ oÃ¹ $q\in [0..n[$.
+
+Pour chacun des pixels $(i,j)$ de l'image observÃ©e, on calcule la vraisemblance associÃ©e Ã  chaque segment candidat de la table $P_{n-1}$ dans la rÃ©gion $\omega$. 
+La figure \ref{fig-lniv-regions} montre cette rÃ©partition pour $a=5$ et le motifs $p_{5,3}$.
 
 \begin{figure}[h]
 \center
 \includegraphics[height=3cm]{Chapters/chapter4/img/illustration_mv.jpg}
-\caption{\label{fig-lniv-regions}. Exemple de la rÃ©partition des pixels dans la rÃ©gion $\omega$ pour le calcul de la vraisemblance, pour $n=6$.}
+\caption{\label{fig-lniv-regions}Exemple de la rÃ©partition des pixels dans la rÃ©gion $\omega$ pour le calcul de la vraisemblance, pour $n=6$ ($a=5$).}
 \end{figure}
 
-La densitÃ© de probabilitÃ© des valeurs des niveaux de gris des pixels de  $S^d$ est supposÃ©e gaussienne de paramÃ¨tres $\mu_{S^n}$ (moyenne) et $\sigma$ (Ã©cart type) inconnus. Les moyennes des niveaux de gris de chaque pixel sur $S^n$ sont inconnues et supposÃ©es indÃ©pendantes.
+La densitÃ© de probabilitÃ© des valeurs des niveaux de gris des pixels de  $S^n$ est supposÃ©e gaussienne de paramÃ¨tres $\mu_{S^n}$ (moyenne) et $\sigma$ (Ã©cart type) inconnus. Les moyennes des niveaux de gris de chaque pixel sur $S^n$ sont inconnues et supposÃ©es indÃ©pendantes.
 
 Soit $Z$ l'ensemble des niveaux de gris des pixels de $\omega$ et $\{\mu_{ij}\}_{\overline{S^n}}$ l'ensemble des valeurs moyennes des pixels de $\overline{S^n}$. On peut Ã©crire la probabilitÃ© 
 \[
-P[Z|S^n, \mu_{S^n}, \{\mu_{ij}\}_{S^n}, \sigma]
+P[Z|S^n, \mu_{S^n}, \{\mu_{ij}\}_{\{overline{S^n}}, \sigma]
 \]    
 
 qui se dÃ©veloppe comme suit, en distinguant les contributions de $S^n$ et $\overline{S^n}$
 \begin{eqnarray}
-\displaystyle \prod_{(i,j)\in S^n}{P\left[z(i,j) | \mu_{S^n}, \sigma \right]} \displaystyle\prod_{(i,j)\in \overline{S^n}}{P\left[z(i,j) | \left\{\mu_{ij}\right\}_{\overline{S^n}}, \sigma \right]}
+\displaystyle \prod_{(i,j)\in S^n}{P\left[v(i,j) | \mu_{S^n}, \sigma \right]} \displaystyle\prod_{(i,j)\in \overline{S^n}}{P\left[v(i,j) | \left\{\mu_{ij}\right\}_{\overline{S^n}}, \sigma \right]}
 \label{LL2}
 \end{eqnarray}
 
 Nous cherchons alors Ã  dÃ©terminer l'ensemble $S^n$ qui maximise la valeur de l'expression \eqref{LL2} ci dessus.
-Or, sur $S^n$, les niveaux de gris $z(i,j)$ peuvent aussi Ãªtre pris comme les estimations $\widehat{\mu_{ij}}$ des moyennes $\mu_{ij}$. 
-Le sesond terme de l'expression \eqref{LL2} devient donc 
+Or, d'aprÃ¨s notre modÃ¨le, sur $\overline{S^n}$, les niveaux de gris $z(i,j)$ sont aussi les estimations $\widehat{\mu_{ij}}$ de leurs moyennes $\mu_{ij}$. 
+Le second terme de l'expression \eqref{LL2} devient donc 
 
 \begin{eqnarray}
-\displaystyle\prod_{(i,j)\in \overline{S^n}}{P\left[z(i,j) | \left\{\widehat{\mu_{ij}}\right\}_{\overline{S^n}}, \sigma \right]=1}
+\displaystyle\prod_{(i,j)\in \overline{S^n}}{P\left[v(i,j) | \left\{\widehat{\mu_{ij}}\right\}_{\overline{S^n}}, \sigma \right]=1.}
 \end{eqnarray}
 Il reste alors le premier terme de \eqref{LL2}, soit l'expression de la vraisemblance gÃ©nÃ©ralisÃ©e donnÃ©e par :
 \begin{eqnarray}
-\displaystyle \prod_{(i,j)\in S^n}{P\left[z(i,j) | \mu_{S^n}, \sigma \right]}
+\displaystyle \prod_{(i,j)\in S^n}{P\left[v(i,j) | \mu_{S^n}, \sigma \right]}
 \label{GL}
 \end{eqnarray}
-Que l'on peut dÃ©velopper, en remplaÃ§ant la probabilitÃ© par son expression. Il vient : 
+On peut dÃ©velopper cette expression en remplaÃ§ant la probabilitÃ©, gaussienne, par son expression. Il vient : 
 \begin{eqnarray}
 \displaystyle \prod_{(i,j)\in S^n}\frac{1}{\sqrt{2\pi\sigma^2}}e^{-\frac{\left(z(i,j)-\mu_{S^n}\right)^2}{2\sigma^2}}
 \label{GL2}
 \end{eqnarray}
 
-En prenant le logarithme et en developpant, on obtient alors l'expression suivante, dite \textit{log-vraisemblance}
+En prenant le logarithme et en dÃ©veloppant, on obtient alors l'expression suivante de la \textit{log-vraisemblance}
 \begin{eqnarray}
 \displaystyle -\frac{n}{2}log\left(2\pi\right) - \frac{n}{2}log\left(\sigma^2\right) - \frac{n}{2}
 \label{LL1}
@@ -85,8 +103,8 @@ oÃ¹ le vecteur des paramÃ¨tres $(\mu_{S^n}, \sigma)$ est lui mÃªme obtenu par es
 $$
 \left(
 \begin{array}{l}
-\widehat{\mu_{S^n}} = \displaystyle\frac{1}{n} \sum_{(i,j)\in S^n} z(i,j) \\
-\widehat{\sigma^2} = \displaystyle\frac{1}{n} \sum_{(i,j)\in S^n} \left(z(i,j) - \widehat{\mu_{S^n}}\right)^2 \\
+\widehat{\mu_{S^n}} = \displaystyle\frac{1}{n} \sum_{(i,j)\in S^n} v(i,j) \\
+\widehat{\sigma^2} = \displaystyle\frac{1}{n} \sum_{(i,j)\in S^n} \left(v(i,j) - \widehat{\mu_{S^n}}\right)^2 \\
 \end{array}
 \right.
 $$
@@ -94,25 +112,25 @@ $$
 Le motif retenu pour le segment est celui qui maximise l'expression de \eqref{LL1}.
 
 \subsubsection{Isolines composÃ©es de plusieurs segments - critÃ¨re d'allongement}
-
-L'objectif poursuivi en cherchant Ã  Ã©tendre la portÃ©e des isolines est d'amÃ©liorer la force du filtrage en intÃ©grant plus de valeurs de niveaux de gris dans le calcul de la moyenne qui deviendra la valeur de sortie filtrÃ©e.
-Pour cela nous permettons Ã  chaque \textit{isoline}, comportant initialement un seul segment, d'Ãªtre prolongÃ©e par d'autres segments, chaque allongement faisant l'objet d'une validation selon un critÃ¨re de vraisemblance gÃ©nÃ©ralisÃ©e.
-L'Ã©valuation de l'ensemble des \textit{isolines} pouvant Ãªtre construite sur ce modÃ¨le prÃ©sente un coÃ»t prohibitif en temps de calcul et l'idÃ©e en a donc Ã©tÃ© abandonnÃ©e.
-Ã la place, nous effectuons une sÃ©lection Ã  chaque Ã©tape d'allongement : on Ã©value l'ensemble des 32 allongements possibles et si au moins un des motifs est acceptÃ©, on retient l'\textit{isoline} ayant la meilleure vraisemblance. Ce processus est rÃ©petÃ© tant qu'au moins un motif reprÃ©sente un allongement valide.
+Pour un bruit indÃ©pendant, la variance varie de maniÃ¨re inversement proportionnelle Ã  la racine du nombre d'Ã©chantillons. 
+L'objectif est alors d'amÃ©liorer la force du filtrage en intÃ©grant plus de valeurs de niveaux de gris dans le calcul de la moyenne qui deviendra la valeur de sortie filtrÃ©e.   
+Pour cela nous permettons Ã  chaque isoline, comportant initialement un seul segment, d'Ãªtre prolongÃ©e par d'autres segments, chaque allongement faisant l'objet d'une validation par un test (GLRT) issu de la thÃ©orie de la dÃ©tection statistique (voir \cite{van2004detection}).
+L'Ã©valuation de l'ensemble des isolines pouvant Ãªtre construite sur ce modÃ¨le prÃ©sente un coÃ»t prohibitif en temps de calcul et l'idÃ©e en a donc Ã©tÃ© abandonnÃ©e.
+Ã la place, nous effectuons une sÃ©lection Ã  chaque Ã©tape d'allongement : on Ã©value l'ensemble des 32 allongements possibles et si au moins un des motifs est acceptÃ©, on retient l'\textit{isoline} ayant la meilleure vraisemblance. Ce processus est rÃ©pÃ©tÃ© tant qu'au moins un motif reprÃ©sente un allongement valide.
 
 \begin{figure}[h]
 \center
-\includegraphics[height=4cm]{Chapters/chapter4/img/exemple_extension_1.jpg}
-\caption{\label{fig-lniv-allongement}Allongement du segment $S^n$. Deux candidats $S^{p'}$ et $S^{p''}$ sont Ã©valuÃ©s au travers du critÃ¨re GLRT de l'Ã©quation \eqref{GLRT} que seul $S^{p''}$ s'avÃ¨re satisfaire. a) ReprÃ©sentation dans le plan de l'image. b) Ãvolution des niveaux de gris en fonction de la position des pixels dans les lignes brisÃ©es ainsi formÃ©es.}
+\includegraphics[height=5cm]{Chapters/chapter4/img/exemple_extension_1.jpg}
+\caption{\label{fig-lniv-allongement}Allongement du segment $S^n$. Deux candidats $S^{p'}$ et $S^{p''}$ sont Ã©valuÃ©s au travers du test GLRT de l'Ã©quation \eqref{GLRT} que seul $S^{p''}$ s'avÃ¨re satisfaire. a) ReprÃ©sentation dans le plan de l'image. b) Ãvolution des niveaux de gris en fonction de la position des pixels dans les lignes brisÃ©es ainsi formÃ©es.}
 \end{figure}
 
-Soit $S^n$ une \textit{isoline} prÃ©cÃ©demment validÃ©e et $S^p$ un segment connectÃ© Ã  $S^n$ de telle sorte qu'il reprÃ©sente un potentiel allongement de $S^n$. Une situation de cette nature est reprÃ©sentÃ©e Ã   la figure \ref{fig-lniv-allongement} avec un premier segment valide et deux candidats $S^{p'}$ et $S^{p''}$.
-Ã gauche de la figure est reproduite une petite zone d'image rÃ©elle, suffisamment grossie pour permettre de bien individualiser les pixels et  Ã  laquelle ont Ã©tÃ© superposÃ©s les trois segments en question. Les deux relevÃ©s de la partie droite montrent quant Ã  eux l'Ã©volution des valeurs des niveaux de gris des pixels des deux \textit{isolines} possibles que sont $S^nS^{p'}$ et $S^nS^{p''}$. On a Ã©galement identifiÃ© les diffÃ©rents sous-ensembles de pixels $S^n$, $S^{p'}$ et $S^{p''}$ ainsi que les valeurs moyennes de chacun. 
+Soit $S^n$ une isoline prÃ©cÃ©demment validÃ©e et $S^p$ un segment connectÃ© Ã  $S^n$ de telle sorte qu'il reprÃ©sente un allongement potentiel de $S^n$. Une situation de cette nature est reprÃ©sentÃ©e Ã   la figure \ref{fig-lniv-allongement} avec un premier segment valide et deux candidats $S^{p'}$ et $S^{p''}$.
+Ã gauche de la figure est reproduite une petite zone d'image rÃ©elle, suffisamment grossie pour permettre de bien individualiser les pixels et  Ã  laquelle ont Ã©tÃ© superposÃ©s les trois segments en question. Les deux relevÃ©s de la partie droite montrent quant Ã  eux l'Ã©volution des valeurs des niveaux de gris des pixels des deux isolines possibles que sont $S^nS^{p'}$ et $S^nS^{p''}$. On a Ã©galement identifiÃ© les diffÃ©rents sous-ensembles de pixels $S^n$, $S^{p'}$ et $S^{p''}$ ainsi que les valeurs moyennes de chacun. 
 Ã la lecture de ces deux reprÃ©sentations, on peut aisÃ©ment imaginer que $S^{p'}$ ne soit pas retenu comme extension valide de $S^n$, au contraire de $S^{p''}$.
 
-Pour formaliser ce que notre intuition semble nous dicter dans l'exemple prÃ©cedent, nous comparons les log-vraisemblances des deux situations suivantes :
+Pour formaliser, nous comparons les log-vraisemblances des deux situations suivantes :
 \begin{enumerate}
-\item Le segment $S^p$ {\bf est} une extension valide pour $S^n$. Ils forment donc une \textit{isoline} $S^nS^p$.\\
+\item Le segment $S^p$ {\bf est} une extension valide pour $S^n$. Ils forment donc tous deux une isoline $S^nS^p$.\\
 Dans ce cas et par hypothÃ¨se, la valeur moyenne des niveaux de gris est dÃ©finie sur $S^nS^p$ et vaut $\mu_{S^nS^p}$. D'aprÃ¨s \eqref{LL2}, la log-vraisemblance est alors donnÃ©e par
 \begin{eqnarray}
 \displaystyle -\frac{(n+p)}{2}\left(log\left(2\pi\right)+1\right) - \frac{(n+p)}{2}log\left(\widehat{\sigma_1}^2\right)
@@ -128,30 +146,33 @@ oÃ¹ \hspace{3cm}$\widehat{\sigma_1^2} = \displaystyle\frac{1}{n+p} \sum_{(i,j)\i
 oÃ¹ \hspace{3cm}$\widehat{\sigma_2^2} = \displaystyle\frac{1}{n+p} \left( \sum_{(i,j)\in S^n} \left(v(i,j) - \widehat{\mu_{S^n}}\right)^2 + \sum_{(i,j)\in S^p} \left(v(i,j) - \widehat{\mu_{S^p}}\right)^2\right) $.
 \end{enumerate}
 
-La diffÃ©rence entre \eqref{LLNP} et \eqref{LLNP2} nous donne l'expression du critÃ¨re GLRT (Generalized Likelihood Ratio Test)
+La diffÃ©rence entre \eqref{LLNP} et \eqref{LLNP2} nous donne l'expression du test GLRT
 \begin{eqnarray}
 T(S^n, S^p, T_{max}) = T_{max}- (n+p)\left[log\left(\widehat{\sigma_1}^2\right) - log\left(\widehat{\sigma_2}^2\right) \right]
 \label{GLRT}
 \end{eqnarray}
-oÃ¹ $T_{max}$ est un seuil arbitrairement fixÃ©.\\
-Un allongement de $S^n$ par $S^p$ est validÃ© si $T(S^n, S^p, T_{max}) > 0$.
+Dans cette Ã©tude, la valeur du seuil de dÃ©tection $T_{max}$ est dÃ©terminÃ©e empiriquement, de sorte Ã  produire des rÃ©sultats visuels et chiffrÃ©s satisfaisants. Une dÃ©termination rigoureuse de la valeur adÃ©quate de $T_{max}$ est envisageable, en fonction de la probabilitÃ© de fausse alarme visÃ©e, par le calcul de la PDF de $T$, mais dÃ©passe le cadre de nos travaux. L'allongement de $S^n$ par $S^p$ est finalement validÃ© si $T(S^n, S^p, T_{max}) > 0$. 
  
-\section{ImplÃ©mentation parallÃ¨le}
-Les \textit{isolines} sont construites segment aprÃ¨s segment. On leur permet ainsi de suivre des formes courbes. La validitÃ© d'un segment et son Ã©ventuelle sÃ©lection sont soumises au critÃ¨re dÃ©crit dans le paragraphe prÃ©cÃ©dent. 
-Une limitation du nombre de segments candidats nous est Ã©galement apparue pertinente, car elle permet d'apporter une rÃ©ponse aux points suivants :
-\begin{enumerate}
-\item la sÃ©lection du premier segment est cruciale mais il n'est pas prouvÃ© que l'\textit{isoline} la meilleure ait pour premier segment celui qui a Ã©tÃ© effectivement selectionnÃ© en premier. Une telle erreur sur la direction primaire peut s'avÃ©rer trÃ¨s pÃ©nalisante pour la qualitÃ© du traitement. C'est pourquoi nous conduisons en parallÃ¨le les allongements des 32 \textit{isolines}, chacune ayant l'un des motifs permis (voir figure \ref{fig-lniv-p5q1}) comme premier segment.    
-\item Ã©valuer systÃ©matiquement les 32 motifs pour chaque extension peut alors rendre l'algorithme trÃ¨s coÃ»teux. En effet,  si $q$ est le nombre de segments maximum autorisÃ©s pour une \textit{isoline}, le nombre d'Ã©valuations Ã  effectuer se monte Ã  $32^q$ par pixel. Cela reprÃ©sente un total de $\mathbf{3,5.10^{13}}$ Ã©valuations pour des \textit{isolines} de 5 segments dans une image de 1024$^2$ pixels.
-\item permettre Ã  tout  allongement de se faire dans chacune des 32 directions risque de gÃ©nÃ©rer des \textit{isolines} oscillant entre les deux extrÃ©mitÃ©s de l'un de ses segments, ou bien s'enroulant sur elles-mÃªme au delÃ  du simple rebouclage. .
-\item une ligne de niveau ne peut pas se couper, donc une \textit{isoline} ne peut Ãªtre composÃ©e de segments qui se croisent. 
-\end{enumerate}
-
-Les contraintes des points 3 et 4 ci-dessus nous ont conduit Ã  limiter la dÃ©viation angulaire pouvant rÃ©sulter de toute procÃ©dure d'allongement. Nous notons $\Delta d_{max}$ l'Ã©cart maximal tolÃ©rÃ© entre les indices des motifs de deux segments successifs. 
-Le choix de la valeur de $\Delta d_{max}$ adaptÃ©e depend de la taille des segments ainsi que du nombre maximal de segments que peut comporter une \textit{isoline}.
-L'autre consÃ©quence de cette limitation est la diminution du nombre total d'Ã©valuations nÃ©cessaires. Si $\Delta d_{max} = 2$, le nombre d'Ã©valuations effectuÃ©es dans l'exemple du point 2 passe ainsi de $\mathbf{3,5.10^{13}}$ Ã  $1024^2\times 32\times 5^{q-1} = \mathbf{2,0.10^{10}}$ soit 1500 fois moins.
+\section{ModÃ©lisation des isolines pour l'implÃ©mentation parallÃ¨le sur GPU}
+Les isolines sont construites segment aprÃ¨s segment afin de pouvoir approcher des formes courbes. La validitÃ© d'un segment et son Ã©ventuelle sÃ©lection sont soumises au tests statistiques dÃ©crits dans le paragraphe prÃ©cÃ©dent. 
+La solution la plus Ã©vidente, que nous qualifierons de \textit{globale}, consiste Ã  soumettre l'ensemble des isolines possibles aux tests statistiques pour sÃ©lectionner la meilleure. Toutefois, Ã©valuer systÃ©matiquement les 32 motifs pour chaque extension peut rendre l'algorithme trÃ¨s coÃ»teux. En effet,  si $q$ est le nombre de segments maximum autorisÃ©s pour une isoline, le nombre d'Ã©valuations Ã  effectuer se monte Ã  $32^q$ par pixel. Cela reprÃ©sente par exemple un total de $\mathbf{3,5.10^{13}}$ Ã©valuations pour des isolines de $q=5$ segments dans une image de 1024$\times$1024 pixels.
+
+De plus, cette solution gÃ©nÃ¨re potentiellement des artefacts pour le cas oÃ¹ des isolines s'enrouleraient sur elles-mÃªmes au delÃ  du simple rebouclage, ou bien feraient des aller-retours entre les deux extrÃ©mitÃ©s d'un segment, ou encore prÃ©senteraient des segments qui se croisent.
+
+Pour toutes ces raisons, nous avons limitÃ© le nombre de segments candidats Ã  chaque Ã©tape d'allongement, mais n'effectuons pas de sÃ©lection directe du premier segment. Nous conduisons en parallÃ¨le les allongements de 32 isolines, chacune ayant l'un des motifs de $P_a$ comme premier segment (voir figure \ref{fig-lniv-p5q1}).
+Cela permet d'Ã©viter une erreur sur la direction primaire potentiellement trÃ¨s pÃ©nalisante pour la qualitÃ© du traitement, tout en conservant une quantitÃ© d'Ã©valuations rÃ©alisable dans un temps assez court.
+% \begin{enumerate}
+% \item la sÃ©lection du premier segment est cruciale mais il n'est pas prouvÃ© que la meilleure isoline soit celle qui a pour premier segment celui qui a Ã©tÃ© effectivement sÃ©lectionnÃ© en premier. Une telle erreur sur la direction primaire peut s'avÃ©rer trÃ¨s pÃ©nalisante pour la qualitÃ© du traitement. C'est pourquoi     
+% \item 
+% \item permettre Ã  tout  allongement de se faire dans chacune des 32 directions risque de gÃ©nÃ©rer des isolines oscillant entre les deux extrÃ©mitÃ©s de l'un de ses segments, ou bien s'enroulant sur elles-mÃªme au delÃ  du simple rebouclage.
+% \item une ligne de niveau ne peut pas se couper, donc une isoline ne peut pas Ãªtre composÃ©e de segments qui se croisent. 
+% \end{enumerate}
+La solution retenue consiste Ã  limiter la dÃ©viation angulaire pouvant rÃ©sulter de toute procÃ©dure d'allongement. Nous notons $\Delta d_{max}$ l'Ã©cart maximal tolÃ©rÃ© entre les indices des motifs de deux segments successifs. 
+Le choix d'une valeur de $\Delta d_{max}$ adaptÃ©e dÃ©pend de la taille des segments ainsi que du nombre maximal de segments que peut comporter une isoline.
+L'autre consÃ©quence de cette limitation est la diminution du nombre total d'Ã©valuations nÃ©cessaires. Si $\Delta d_{max} = 2$, le nombre d'Ã©valuations effectuÃ©es dans l'exemple du point 2 passe ainsi Ã  $1024^2\times 32\times 5^{q-1} = \mathbf{2,0.10^{10}}$ soit 1500 fois moins (avec $q=5$).
 
 \subsection{Isolines Ã©valuÃ©es semi-globalement}
-La premiÃ¨re implÃ©mentation proposÃ©e et notÃ©e PI-LD consiste donc Ã  conduire l'allongement des  32 \textit{isolines} candidates Ã  leur terme, puis de sÃ©lectionner la plus vraisemblable des \textit{isolines} parmi celles qui partagent la plus grande longueur. L'exemple de la figure  \ref{fig-lniv-pild} illustre ce processus pour la sÃ©lection du deuxiÃ¨me segment d'une isoline avec $d=5$ et $\Delta d_{max}=2$.
+La premiÃ¨re implÃ©mentation proposÃ©e et notÃ©e PI-LD (\textit{Poly Isolines with Limited Deviation}), consiste donc Ã  conduire l'allongement des  32 isolines candidates Ã  leur terme, puis de sÃ©lectionner la plus vraisemblable parmi celles qui partagent la plus grande longueur. L'exemple de la figure  \ref{fig-lniv-pild} illustre ce processus pour la sÃ©lection du deuxiÃ¨me segment d'une isoline avec $a=5$ et $\Delta d_{max}=2$.
 
 \begin{figure}[h] 
  \centering
@@ -161,22 +182,42 @@ La premiÃ¨re implÃ©mentation proposÃ©e et notÃ©e PI-LD consiste donc Ã  conduire
 \subfigure[TroisiÃ¨me segment Ã©valuÃ©, associÃ© au motif $p_{5,2}$.]{\label{pild:sub3} \includegraphics{Chapters/chapter4/img/PI-LD_detail_sub3.jpg}}\quad
 \subfigure[QuatriÃ¨me segment Ã©valuÃ©, associÃ© au motif $p_{5,3}$.]{\label{pild:sub4} \includegraphics{Chapters/chapter4/img/PI-LD_detail_sub4.jpg}}\quad
 \subfigure[CinquiÃ¨me segment Ã©valuÃ©, associÃ© au motif $p_{5,4}$.]{\label{pild:sub5} \includegraphics{Chapters/chapter4/img/PI-LD_detail_sub5.jpg}}
-\caption{Processus de sÃ©lection lors de l'allongement d'une \textit{isoline} comportant initialement deux segment $s_1$ et $s_2$. Dans cet exemple $d=5$ et $\Delta d_{max}=2$. Chaque segment Ã©valuÃ© est soumis au critÃ¨re GLRT. Si au moins un des segments prÃ©sente un test GLRT positif, alors l'allongement est rÃ©alisÃ© avec le segment qui forme l'\textit{isoline} la plus vraisemblable.}
+\caption{Processus de sÃ©lection lors de l'allongement d'une isoline comportant initialement deux segments $s_1$ et $s_2$. Dans cet exemple $a=5$ et $\Delta d_{max}=2$. Chaque segment Ã©valuÃ© est soumis au test GLRT. Si au moins un des segments prÃ©sente un test GLRT positif, alors l'allongement est rÃ©alisÃ© avec le segment qui forme l'isoline la plus vraisemblable.}
 \label{fig-lniv-pild}
 \end{figure}
 
-La rapiditÃ© de cette implÃ©mentation est trÃ¨s supÃ©rieure Ã  celle des algorithmes \textit{Ã©tat de l'art} comme BM3D (\cite{}), la qualitÃ© du dÃ©bruitage Ã©tant tout de mÃªme moindre. Le tableau \ref{tab-lniv-pild} rassemble les performances comparÃ©es de nos implÃ©mentations et de celle du BM3D en y ajoutant comme rÃ©fÃ©rence de vitesse d'exÃ©cution un simple filtre moyenneur. Les mesures ont Ã©tÃ© rÃ©alisÃ©es sur l'ensemble des images de la base de test de S. Lansel (universitÃ© de Berkeley), devenue entre temps indisponible au tÃ©lÃ©chargement, mais qui reprÃ©sente toujours une base de rÃ©fÃ©rence pour comparer des implÃ©mentations d'algorithmes de dÃ©bruitage.
+La rapiditÃ© de cette implÃ©mentation est trÃ¨s supÃ©rieure Ã  celle des algorithmes \textit{Ã©tat de l'art} comme BM3D (\cite{Dabov06imagedenoising}), la qualitÃ© du dÃ©bruitage Ã©tant tout de mÃªme moindre. Le tableau \ref{tab-lniv-results} rassemble les performances comparÃ©es de nos implÃ©mentations et de celle du BM3D en y ajoutant comme rÃ©fÃ©rence de vitesse d'exÃ©cution un simple filtre moyenneur. Les mesures ont Ã©tÃ© rÃ©alisÃ©es sur l'ensemble des images de la base de test de S. Lansel (universitÃ© de Berkeley), devenue entre temps indisponible au tÃ©lÃ©chargement, mais qui reprÃ©sente toujours une base de rÃ©fÃ©rence pour comparer des implÃ©mentations d'algorithmes de dÃ©bruitage. Les images en sont reproduites Ã  la figure \ref{fig-lniv-imgslansel}.
+
+\begin{figure}[ht]
+  \centering
+  \subfigure[airplane]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/airplane.png}}
+  \subfigure[boat]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/boat.png}}\quad
+  \subfigure[barbara]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/barbara.png}}\quad
+  \subfigure[couple]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/couple.png}}\quad
+  \subfigure[elaine]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/elaine.png}}\\
+  \subfigure[fingerprint]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/fingerprint.png}}\quad
+  \subfigure[goldhill]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/goldhill.png}}\quad
+  \subfigure[lena]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/lena.png}}\quad
+  \subfigure[man]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/man.png}}\quad
+  \subfigure[mandrill]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/mandrill.png}}\\
+  \subfigure[peppers]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/peppers.png}}\quad
+  \subfigure[stream]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/stream.png}}\quad
+  \subfigure[zelda]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/lansel/zelda.png}}\quad
+\label{fig-lniv-imgslansel}
+  \caption{Images non bruitÃ©es de la base d'images en niveaux de gris de S. Lansel.}
+\end{figure}
+
 
-L'adaptation au fonctionnement du GPU n'est pas non plus optimale du fait de la nÃ©cessitÃ© de rÃ©aliser deux diffÃ©rents types de validations Ã  chaque Ã©tape d'allongement : un test GLRT et une minimisation de log-vraisemblance. Cela induit de nombreuses branches divergentes Ã  l'exÃ©cution du kernel principal qui sont sÃ©rialisÃ©e par le GPU et peuvent causer une perte de performance considÃ©rable.
+L'adaptation de ce modÃ¨le au fonctionnement du GPU n'est pas non plus optimale du fait de la nÃ©cessitÃ© de rÃ©aliser, Ã  chaque Ã©tape d'allongement, deux diffÃ©rents types de validation : un test GLRT et une minimisation de log-vraisemblance. Cela induit de nombreuses branches d'exÃ©cution divergentes dans le kernel principal, qui sont sÃ©rialisÃ©es par le GPU et causent une perte de performance considÃ©rable.
 
-Une analyse plus poussÃ©e des \textit{isolines} construites nous montre que la proportion est relativement faible d'\textit{isolines} optimales dont le premier segment n'aurait pas Ã©tÃ© celui sÃ©lectionnÃ© en appliquant notre algorithme. 
-L'exemple reprÃ©sentatif de la figure \ref{fig-lniv-histo-singe} montre l'histogramme des diffÃ©rences constatÃ©e pour l'image du singe. Les autres images de l'ensemble de test fournissent des histogrammes trÃ¨s semblables qui sont reproduits en petit format Ã  la figure \ref{fig-lniv-histo-autres}.
+Une analyse plus poussÃ©e des isolines construites nous montre qu'il y a une proportion relativement faible d'isolines dÃ©terminÃ©es par la mÃ©thode \textit{globale} dont le premier segment s'Ã©carte notablement de celui sÃ©lectionnÃ© en l'absence d'allongement, c'est-Ã -dire par PI-LD avec $q=1$. 
+L'exemple reprÃ©sentatif de la figure \ref{fig-lniv-histo-singe} montre l'histogramme des Ã©carts angulaires constatÃ©s entre les deux estimateurs, pour l'image du singe en version bruitÃ©e ($\sigma=25$). Les autres images de l'ensemble de test fournissent des histogrammes trÃ¨s semblables qui sont reproduits en petit format Ã  la figure \ref{fig-lniv-histo-autres}. On y observe que pour environ 60\% des pixels de l'image, il y a correspondance des directions et que pour 80\% des pixels, l'Ã©cart angulaire reste infÃ©rieur Ã  22,5 degrÃ©s (soit 2 indices des motifs).
 
 \begin{figure}[h] 
  \centering
 \includegraphics[height=4.5cm]{Chapters/chapter4/img/histodir.png}
-\caption{Histogramme des Ã©carts angulaires entre la direction primaire de l'\textit{isoline} optimale et celle de l'\textit{isoline} sÃ©lectionnÃ©e, pour l'image du singe (Mandrill).
-Pour la trÃ¨s grande majoritÃ© des pixels, le mode de sÃ©lection de l'\textit{isoline} ne gÃ©nÃ©re pas d'erreur sur la direction du premier segment.}
+\caption{Histogramme des Ã©carts angulaires entre la direction primaire de l'isoline optimale et celle du segment sÃ©lectionnÃ© par PI-LD avec $q=1$ (sans allongement), pour l'image du singe (Mandrill).
+Pour la trÃ¨s grande majoritÃ© des pixels, l'Ã©cart est nul.}
 \label{fig-lniv-histo-singe}
 \end{figure}
 
@@ -194,21 +235,21 @@ Pour la trÃ¨s grande majoritÃ© des pixels, le mode de sÃ©lection de l'\textit{is
 \subfigure[Peppers]{\includegraphics[width=2cm]{Chapters/chapter4/img/hist_seg1_peppers_25_l3.png}}
 \subfigure[Stream]{\includegraphics[width=2cm]{Chapters/chapter4/img/hist_seg1_stream_25_l3.png}}
 \subfigure[Zelda]{\includegraphics[width=2cm]{Chapters/chapter4/img/hist_seg1_zelda_25_l3.png}}
-\caption{Histogrammes des  Ã©carts angulaires entre la direction primaire de l'\textit{isoline} optimale et celle de l'\textit{isoline} sÃ©lectionnÃ©e, pour les images de l'ensemble de test de S. Lansel. La rÃ©partition des erreurs est semblable dans toutes ces images naturelles.}
+\caption{Histogrammes des  Ã©carts angulaires entre la direction primaire de l'isoline optimale et celle de l'isoline sÃ©lectionnÃ©e, pour les images de l'ensemble de test de S. Lansel. La rÃ©partition des erreurs est semblable dans toutes ces images, mais Ã©galement dans toute image naturelle.}
 \label{fig-lniv-histo-autres}
 \end{figure}
 
-On observe Ã©galement que les pixels pour lesquels la sÃ©lection du premier segment n'est pas robuste sont situÃ©s dans les zones de l'image ne contenant pas de forts gradients de niveaux de gris.
+On observe Ã©galement que les pixels pour lesquels la sÃ©lection du premier segment n'est pas robuste sont situÃ©s dans les zones de l'image ne contenant pas de forts gradients de niveaux de gris, ce qui est cohÃ©rent avec la difficultÃ© d'identifier une direction privilÃ©giÃ©e dans ces rÃ©gions. 
 
-\subsection{Isolines Ã  segments pre-Ã©valuÃ©s - modÃ¨le PI-PD}\label{subsection-pipd-intro}
-Les observations prÃ©cÃ©dentes nous indiquent que, dans les zones oÃ¹ la sÃ©lection du premier segment est robuste, il n'est pas nÃ©cessaire de conduire l'Ã©tape de sÃ©lection consÃ©cutive Ã  chaque allongement. En effet, dans ce cas, Ã©tendre une \textit{isoline} de $t$ segments se terminant au point final $(i_t, j_t)$ du segment $s_t$ revient Ã  sÃ©lectionner le premier segment de l'\textit{isoline} dÃ©butant en $(i_t, j_t)$.
+\subsection{Isolines Ã  segments prÃ©-Ã©valuÃ©s - modÃ¨le PI-PD\label{subsection-pipd-intro}}
+Les observations prÃ©cÃ©dentes nous indiquent que, dans les zones oÃ¹ la sÃ©lection du premier segment est robuste, il n'est pas nÃ©cessaire de conduire l'Ã©tape de sÃ©lection consÃ©cutive Ã  chaque allongement. Sous cette hypothÃ¨se, Ã©tendre une isoline se terminant au point final $(i, j)$ revient Ã  sÃ©lectionner le premier segment de l'isoline dÃ©butant en $(i, j)$.
 
-Cette technique rÃ©duit considÃ©rablement la quantitÃ© d'Ã©valuations Ã  effectuer Ã  $32.q$ Ã  seulement {\bf 160} Ã©valuations par pixel, soit un total de $\mathbf{1,7.1O^8}$ dans le cas de l'exemple citÃ© en introduction du chapitre.
+Cette technique rÃ©duit considÃ©rablement la quantitÃ© d'Ã©valuations Ã  effectuer, la faisant passer de $32^q$ Ã  seulement {\bf 160} Ã©valuations par pixel (pour $q=5$), soit un total de $\mathbf{1,7.10^8}$ pour une image de 124$\times$1024 avec $a=5$.
 
-Ce nouveau modÃ¨le, nommÃ© PI-PD, permet donc de sÃ©parer complÃ©tement la phase de sÃ©lection par maximum de vraisemblance qui dÃ©termine le meilleur segment initial en chaque pixel, des  phases d'allongement successif soumis au seul test GLRT.
-Pour implÃ©menter efficacement cet algorithme sur GPU, il faut donc rÃ©partir les calculs en deux kernels principaux :
+Ce nouveau modÃ¨le, nommÃ© PI-PD (\textit{Poly Isolines with Precomputed Directions}), permet donc de sÃ©parer complÃ¨tement la phase de sÃ©lection du segment initial par maximum de vraisemblance des  phases d'allongements successifs soumis au seul test GLRT.
+Pour implÃ©menter efficacement cet algorithme sur GPU, il faut alors rÃ©partir les calculs en deux kernels principaux :
 \begin{enumerate}
-\item \texttt{kernel\_precomp()}, qui rÃ©alise la sÃ©lection du premier segment en chaque pixel $(i,j)$. La direction $d_1(i,j)$  ainsi dÃ©terminÃ©e est mÃ©morisÃ©e dans une matrice $I_{\Theta}$. Pour effectuer les calculs relatifs au GLRT, il faut aussi connaitre, pour chaque segment $s_1$, la valeur des sommes partielles
+\item \texttt{kernel\_precomp()} rÃ©alise la sÃ©lection du premier segment en chaque pixel $(i,j)$. La direction $d_1(i,j)$  ainsi dÃ©terminÃ©e est mÃ©morisÃ©e dans une matrice $I_{\Theta}$. Pour effectuer les calculs relatifs au GLRT, il faut aussi connaÃ®tre, pour chaque segment $s_1$, la valeur des sommes partielles
   \begin{eqnarray}
     C_x\left(Z\left(S_1\right)\right)= \sum_{(i,j)\in s_1} v(i,j)
     \label{cx}
@@ -219,21 +260,20 @@ Pour implÃ©menter efficacement cet algorithme sur GPU, il faut donc rÃ©partir le
    \label{cx2}
  \end{eqnarray}
 
-Elles sont calculÃ©es et mÃ©morisÃ©es dans une seconde matrice notÃ©e $I_{\Sigma}$. Remarquons que les traitements rÃ©alisÃ©s par ce kernel correspondent exactement au modÃ¨le d'\textit{isoline} Ã  un seul segment prÃ©sentÃ© au dÃ©but. Les dÃ©tails de son implÃ©mentation sont donnÃ©s Ã  l'algorithme \ref{algo-lniv-precomp}, les initialisations Ã©tant donnÃ©es par l'Algorithme \ref{algo-lniv-init}.
-\item \texttt{kernel\_PIPD()} qui Ã©value les allongements successifs, qui ne nÃ©cessitent plus de sÃ©lection par maximum de vraisemblance, mais uniquememt la ealidation par GLRT. Les donnÃ©es nÃ©cessaires Ã  l'Ã©valuation du critÃ¨re GLRT sont regroupÃ©es,  en plus de  l'image d'entrÃ©e, dans les matrices $P_d$, $I_{\Theta}$ et $I_{\Sigma}$ et ne sont donc plus Ã  calculer Ã  ce stade et permettent d'envisager des performances en hausse par rapport Ã  la solution PI-LD. L'algorithme \ref{algo-lniv-pipd} fournit les dÃ©tails de l'implÃ©mentation.
+Elles sont calculÃ©es et mÃ©morisÃ©es dans une seconde matrice notÃ©e $I_{\Sigma}$. Remarquons que les traitements rÃ©alisÃ©s par ce kernel correspondent exactement au modÃ¨le d'isoline Ã  un seul segment prÃ©sentÃ© au dÃ©but. Les dÃ©tails de son implÃ©mentation sont donnÃ©s dans l'algorithme \ref{algo-lniv-precomp}, les initialisations Ã©tant donnÃ©es dans  l'algorithme \ref{algo-lniv-init}.
+\item \texttt{kernel\_PIPD()} Ã©value les allongements successifs, qui ne nÃ©cessitent plus de sÃ©lection par maximum de vraisemblance, mais uniquement la validation par GLRT. Les donnÃ©es nÃ©cessaires Ã  l'Ã©valuation du test GLRT sont regroupÃ©es, outre dans l'image d'entrÃ©e, dans les matrices $P_d$, $I_{\Theta}$ et $I_{\Sigma}$ et ne sont donc plus Ã  calculer Ã  ce stade. Cela permet d'envisager des performances en hausse par rapport Ã  la solution PI-LD. L'algorithme \ref{algo-lniv-pipd} fournit les dÃ©tails de l'implÃ©mentation de ce kernel.
 \end{enumerate}
 
-Les schÃ©mas de la figure \ref{fig-lniv-pipd} illustrent les Ã©tapes dÃ©crites ci-dessus de l'allongement d'une \textit{isoline} par la mÃ©thode PI-PD.   \begin{figure}[h] 
+Les schÃ©mas de la figure \ref{fig-lniv-pipd} illustrent les Ã©tapes dÃ©crites ci-dessus de l'allongement d'une isoline par la mÃ©thode PI-PD.   \begin{figure}[h] 
  \centering
 \subfigure[Isoline avec 2 segments $s_1$ et $s_2$ dÃ©jÃ  validÃ©s.]{\includegraphics[width=2.3cm]{Chapters/chapter4/img/PI-PD_detail_sub1.jpg}}\quad
 \subfigure[La direction de $s_3$ est l'Ã©lÃ©ment $(i_2,j_2)$ de $I_{\Theta}$.]{\includegraphics[width=5cm]{Chapters/chapter4/img/PI-PD_detail_sub2.jpg}}\\
 \subfigure[Le motif de $s_3$ est lu dans $p_5$ et appliquÃ© en $(i_2,j_2)$. $C_x$ et $C_{x^2}$ sont donnÃ©es par $I_{\Sigma}(i_2,j_2)$ et le test GLRT est effectuÃ©.]{\includegraphics[width=4cm]{Chapters/chapter4/img/PI-PD_detail_sub3.jpg}}\quad
 \subfigure[Si l'allongement est validÃ©, $s_3$ est dÃ©finitivement intÃ©grÃ©.]{\includegraphics[width=2.7cm]{Chapters/chapter4/img/PI-PD_detail_sub4.jpg}}
-\caption{Exemple d'application du procÃ©dÃ© d'allongement Ã  une \textit{isoline} comprenant initialement 2 segments. la longueur des segments est $d=5$. Le procÃ©dÃ© se rÃ©pÃ¨te jusqu'Ã  ce que le test GLRT Ã©choue.}
+\caption{Exemple d'application du procÃ©dÃ© d'allongement Ã  une isoline comprenant initialement 2 segments. la longueur des segments est $a=5$. Le procÃ©dÃ© se rÃ©pÃ¨te jusqu'Ã  ce que le test GLRT Ã©choue.}
 \label{fig-lniv-pipd}
 \end{figure}
 
-
 \begin{algorithm}[htb]
 \caption{Initialisations du modÃ¨le PI-PD, en mÃ©moire du GPU.}   
 \label{algo-lniv-init}
@@ -281,37 +321,37 @@ $T2_{max} \leftarrow$ seuil GLRT pour la dÃ©tection de bords\;
   $(i_1, j_1) \leftarrow (i, j)$ \tcc*[r]{premier segment}
   $(C_x^1, C_{x2}^1) \leftarrow I_{\Sigma}(i_1,j_1)$ \tcc*[r]{lecture depuis $I_{\Sigma}$}
   $d_1 \leftarrow I_{\Theta}(i,j)$ \tcc*[r]{lecture depuis $I_{\Theta}$}
-  $l_1 \leftarrow l$ \tcc*[r]{longueur de l'isoline}
-  $\sigma_1 \leftarrow (C_{x2}^1/l_1 - C_x^1)/l_1$\;
-  $(i_2, j_2) \leftarrow end~of~first~segment$\; 
+  $l \leftarrow n$ \tcc*[r]{longueur de l'isoline}
+  $\sigma_1 \leftarrow (C_{x2}^1/l - C_x^1)/l$\;
+  $(i_2, j_2) \leftarrow fin~du~premier~segment$\; 
   $(C_{x}^2, C_{x2}^2) \leftarrow I_{\Sigma}(i_2,j_2) $ \tcc*[r]{2$^{nd}$ segment}
   $d_2 \leftarrow I_{\Theta}(i_2,j_2)$\;
-  $\sigma_2 \leftarrow (C_{x2}^2/l - C_x^2)/l$ \;
+  $\sigma_2 \leftarrow (C_{x2}^2/n - C_x^2)/n$ \;
   %
-  \While{$GLRT(\sigma_1, \sigma_2, l_1, l) < T_{max}$}{
-    $l_1 \leftarrow l_1 + l$ \tcc*[r]{allongement}
+  \While{$GLRT(\sigma_1, \sigma_2, l, n) < T_{max}$}{
+    $l \leftarrow l + n$ \tcc*[r]{allongement}
     $(C_x^1, C_{x2}^1) \leftarrow (C_x^1, C_{x2}^1)+(C_x^2, C_{x2}^2)$\;
-    $\sigma_1 \leftarrow (C_{x2}^1/l_1 - C_x^1)/l_1$ \tcc*[r]{mise Ã  jour}
+    $\sigma_1 \leftarrow (C_{x2}^1/l - C_x^1)/l$ \tcc*[r]{mise Ã  jour}
     $(i_1,j_1) \leftarrow (i_2, j_2)$ \tcc*[r]{dÃ©calage}
     $d_1 \leftarrow d_2$\;
-    $(i_2, j_2) \leftarrow end~of~next~segment$\;
+    $(i_2, j_2) \leftarrow fin~du~segment~suivant$\;
     \tcc*[f]{segment suivant}
     $(C_{x}^2, C_{x2}^2) \leftarrow I_{\Sigma}(i_2,j_2) $\;
     $d_2 \leftarrow I_{\Theta}(i_2,j_2)$\;
-    $\sigma_2 \leftarrow (C_{s2}^2/l - C_s^2)/l$ \;
+    $\sigma_2 \leftarrow (C_{s2}^2/n - C_s^2)/n$ \;
     }
   }
-  $\widehat{I}(i, j) \leftarrow C_x^1/l_1$ \tcc*[r]{niveau de gris en sortie}
+  $\widehat{I}(i, j) \leftarrow C_x^1/l$ \tcc*[r]{niveau de gris en sortie}
 \end{algorithm}
 
-Le processus d'allongement du modÃ¨le PI-PD est Ã©galement soumis aux restrictions sur les oscillations et retours en arriÃ¨re des segments, dÃ©jÃ  enoncÃ©es pour le modÃ¨le PI-LD. Par ailleurs, nous lui avons ajoutÃ© la possibilitÃ© de gÃ©rer des segments plus Ã©pais, composÃ©s de 2 ou 3 parallÃ¨les aux motifs dÃ©crit par la matrice $P_d$. Cela a pour effet d'intÃ©grer plus de pixels dans les calculs statistiques et d'augmenter en consÃ©quence les gains sur le PSNR, en particulier pour traiter des images de grandes dimensions qui ne contiendraient pas de \textit{trop petits} dÃ©tails que l'Ã©paisseur des \textit{isolines} risquerait de flouter.
-Cette possibilitÃ© rend cette solution encore plus versatile que notre rÃ©fÃ©rence BM3D dont les temps de calcul s'avÃ¨rent prohibitifs sur des grandes images, avec par exemple plus de 5 minutes pour $4096^2$ pixels (Xeon quad core E31245\@3.3GHz, 8Go RAM).
+Le processus d'allongement du modÃ¨le PI-PD est Ã©galement soumis aux restrictions sur les retours en arriÃ¨re des segments, dÃ©jÃ  Ã©noncÃ©es pour le modÃ¨le PI-LD. Par ailleurs, nous lui avons ajoutÃ© la possibilitÃ© de gÃ©rer des segments plus Ã©pais, composÃ©s de 2 ou 3 segments parallÃ¨les aux motifs dÃ©crits par la matrice $P_d$. Pour l'Ã©paisseur 3, on utilise chaque segment motif ainsi que les deux segments parallÃ¨les obtenus par translation et situÃ©s de part et d'autre du segment motif. Pour l'Ã©paisseur 2, on ne conserve qu'un seul de ces deux segments ajoutÃ©s. Cet Ã©paississement a pour effet d'intÃ©grer plus de pixels dans les calculs statistiques et d'augmenter en consÃ©quence les gains sur le PSNR, en particulier pour traiter des images de grandes dimensions qui ne contiendraient pas de \textit{trop petits} dÃ©tails que l'Ã©paisseur des isolines risquerait de flouter.
+Cette possibilitÃ© rend notre solution encore plus versatile que la rÃ©fÃ©rence BM3D dont les temps de calcul s'avÃ¨rent prohibitifs sur des  images de grandes dimensions, avec par exemple plus de 5 minutes pour 4096$\times$4096 pixels (Xeon quad core E31245\@3.3GHz, 8Go RAM).
 
-Il demeure toutefois que l'\textit{isoline} construite n'est pas nÃ©cessairement la plus vraisemblable pour tous les pixels de l'image, les optimisations Ã©tant faites sous l'hypothÃ¨se de robustesse Ã©noncÃ©e au paragraphe \ref{subsection-pipd-intro}. 
+Toutefois, il demeure que l'isoline construite n'est pas nÃ©cessairement la plus vraisemblable pour tous les pixels de l'image, les optimisations Ã©tant faites sous l'hypothÃ¨se de robustesse Ã©noncÃ©e au paragraphe \ref{subsection-pipd-intro}. 
 
 \subsection{ModÃ¨le PI-PD hybride}
 
-Le manque de robustesse de la sÃ©lection des segments dans certaines zones provient du petit nombre de pixels impliquÃ©s dans les calculs statistiques. Ces rÃ©gions sont celles oÃ¹ la pente de la surface dÃ©finie par les niveaux de gris des pixels, pris comme Ã©lÃ©vations, est faible vis Ã  vis du bruit qui perturbe l'image. Par souci de concision, nous nommons ces rÃ©gions des LSR (pour Low Slope Region). 
+Le manque de robustesse de la sÃ©lection des segments dans certaines zones provient du petit nombre de pixels impliquÃ©s dans les calculs statistiques. Ces rÃ©gions sont celles oÃ¹ la pente de la surface dÃ©finie par les niveaux de gris des pixels, pris comme Ã©lÃ©vations, est faible vis Ã  vis du bruit qui perturbe l'image. Par souci de concision, nous nommons ces rÃ©gions LSR  (\textit{Low Slope Regions}, rÃ©gions Ã  faible pente). 
 
 Pour illustrer ce comportement du modÃ¨le PI-PD, on peut sÃ©lectionner une rÃ©gion de petite taille (11$\times$11 pixels) au sein d'une image de test. La zone d'Ã©tude, repÃ©rÃ©e Ã  la figure \ref{fig-lniv-lsr1}, est choisie pour ses propriÃ©tÃ©s particuliÃ¨res : deux \textit{plateaux} sÃ©parÃ©s par une transition nette, que l'on observe sur la reprÃ©sentation en trois dimensions de la figure \ref{fig-lniv-lsr-tirages-a}.
 \begin{figure}[h] 
@@ -322,7 +362,7 @@ Pour illustrer ce comportement du modÃ¨le PI-PD, on peut sÃ©lectionner une rÃ©gi
 \label{fig-lniv-lsr1}
 \end{figure}
 
-Les figures \ref{fig-lniv-lsr-tirages-b} et \ref{fig-lniv-lsr-tirages-c} montrent la mÃªme zone de l'image aprÃ¨s qu'elle ait Ã©tÃ© corrompue par deux tirages d'un bruit gaussien de mÃªmes paramÃ¨tres $\mu$ et $\sigma$. Les deux diagrammes \ref{fig-lniv-lsr-tirages-d} et \ref{fig-lniv-lsr-tirages-e} reprÃ©sentent quant Ã  eux les directions primaires, modulo $\pi$, des \textit{isolines} dÃ©butant en chaque pixel de la fenÃªtre. On observe que la dÃ©termination de la direction est robuste dans la bande de transition entre les LSR, alors que pour ces derniÃ¨res, on constate une grande variabilitÃ©.
+Les figures \ref{fig-lniv-lsr-tirages-b} et \ref{fig-lniv-lsr-tirages-c} montrent la mÃªme zone de l'image aprÃ¨s qu'elle ait Ã©tÃ© corrompue par deux tirages d'un bruit gaussien de mÃªmes paramÃ¨tres $\mu$ et $\sigma$. Les deux diagrammes \ref{fig-lniv-lsr-tirages-d} et \ref{fig-lniv-lsr-tirages-e} reprÃ©sentent quant Ã  eux les directions primaires des isolines, modulo $\pi$, dÃ©butant en chaque pixel de la fenÃªtre. On observe que la dÃ©termination de la direction est robuste dans la bande de transition entre les LSR, alors que pour les LSR elles-mÃªmes, on constate une grande variabilitÃ©.
 
 \begin{figure}[h] 
  \centering
@@ -335,41 +375,47 @@ Les figures \ref{fig-lniv-lsr-tirages-b} et \ref{fig-lniv-lsr-tirages-c} montren
 \label{fig-lniv-lsr-tirages}
 \end{figure}
 
-Dans les zones LSR, l'application du modÃ¨le PI-PD ne revÃªt donc que peu de sens, mais la quÃªte de performance nous interdit d'y appliquer par exemple le modÃ¨le PI-LD dÃ©crit prÃ©cÃ©demment. Le meilleur estimateur dans une zone LSR Ã©tant la valeur moyenne, nous proposons donc Ã  la place :
+Ainsi, dans les LSR, l'application du modÃ¨le PI-PD n'a que peu de sens, mais la quÃªte de performance nous interdit d'y appliquer, par exemple, le modÃ¨le PI-LD dÃ©crit prÃ©cÃ©demment. ConsidÃ©rant que le bruit est additif gaussien et que nous faisons une approximation \textit{plane} de la surface dÃ©finie par les niveaux de gris des pixels Ã  l'intÃ©rieur de la fenÃªtre $\omega$, le meilleur estimateur dans une zone LSR est la valeur moyenne. Nous proposons donc :
 \begin{enumerate}
-\item d'identifier les zones Ã  faible pente en concevant un kernel dÃ©tecteur (\texttt{kernel\_LSR\_detector()}).
-\item d'appliquer un simple filtre moyenneur dans les zones dÃ©signÃ©e LSR par le dÃ©tecteur et le PI-PD partout ailleurs.
-\item de n'appliquer le moyenneur que sur les pixels appartenant Ã  la partie de zone LSR, lorsque la fenÃªtre du moyenneur se trouve Ã  cheval sur deux zones de types diffÃ©rents.
+\item d'identifier les zones Ã  faible pente en concevant un kernel dÃ©tecteur de bords (\texttt{kernel\_edge\_detector()}).
+\item d'appliquer un simple filtre moyenneur dans les zones dÃ©signÃ©es LSR par le dÃ©tecteur et le PI-PD partout ailleurs.
+\item de n'appliquer le moyenneur que sur les pixels appartenant Ã  la zone LSR lorsque la fenÃªtre du dÃ©tecteur se trouve Ã  cheval sur deux zones de types diffÃ©rents.
 \end{enumerate}
 
-\subsubsection{Le dÃ©tecteur de zone Ã  faible pente}
+\subsubsection{Le dÃ©tecteur de bords}
+
+Le principe retenu pour rÃ©aliser le dÃ©tecteur de bords est proche de celui mis en oeuvre pour valider les allongements des isolines : il s'agit de sÃ©parer la fenÃªtre d'observation autour du pixel considÃ©rÃ© en deux rÃ©gions, puis d'effectuer un test GLRT pour dÃ©terminer s'il est vraisemblable ou non que ces deux rÃ©gions forment un seul et mÃªme plan ou bien reprÃ©sentent deux zones homogÃ¨nes sÃ©parÃ©es par un seuil (ou un coin). Pour garantir la prise en compte d'Ã©ventuelles transitions dans toutes les directions, il faut effectuer le test avec des sÃ©parations de fenÃªtre dont les directions couvrent toute la plage angulaire, de $0$ Ã  $\pi$.
 
-Le principe retenu pour rÃ©aliser le dÃ©tecteur de LSR est proche de celui mis en oeuvre pour valider les allongements des isolines : il s'agit de sÃ©parer la fenÃªtre d'observation autour du pixel considÃ©rÃ©, en deux rÃ©gions  et d'effectuer un test GLRT pour dÃ©terminer s'il est vraisemblable ou non que ces deux rÃ©gions forment un seul et mÃªme plan. Pour garantir la prise en compte d'Ã©ventuelles transitions dans toutes les directions, il faut effectuer le test avec des sÃ©parations de fenÃªtre dont les directions couvrent toute la plage angulaire, de $0$ Ã  $\pi$.
+L'utilisation d'un test GLRT semblable Ã  celui de l'Ã©quation \eqref{GLRT} sous-entend que les ensembles considÃ©rÃ©s n'ont aucun pixel en commun. Afin d'Ã©viter de devoir dÃ©terminer de nouveaux ensembles de pixels pertinents, nous avons utilisÃ© les motifs de la matrice $P_d$, n'ayant pas d'intersection entre eux et de directions $\Theta_{4i} = 4i\frac{\pi}{4}$. Ces motifs remplissent les critÃ¨res pour Ã©tablir l'expression d'un test GLRT.
+La ligne de sÃ©paration entre les deux rÃ©gions de la fenÃªtre est donc composÃ©e par les motifs de directions $\Theta_{4i}$ et $\Theta_{4(i+4)}$. Ces deux rÃ©gions sont respectivement nommÃ©es arbitrairement $T$ et $B$, $T$ Ã©tant reprÃ©sentÃ©e comme la rÃ©gion \textit{haute} et $B$ comme la rÃ©gion \textit{basse} sur le schÃ©ma  explicatif de la figure \ref{fig-lniv-detecteur} oÃ¹ $\Theta_{4i}=\frac{\pi}{4}$ et oÃ¹ les pixels affectÃ©s d'une Ã©lÃ©vation nulle sont les pixels non impliquÃ©s dans le calcul du test GLRT. En outre, les pixels de la limite sont supposÃ©s appartenir Ã  la rÃ©gion $T$, ce qui implique qu'elle comprend au total les pixels correspondant Ã  cinq motifs plus le pixel central, tandis que $B$ n'en comprend que l'Ã©quivalent de 3 motifs. 
 
-L'utilisation d'un test GLRT semblable Ã  celui de l'Ã©quation \eqref{GLRT} sous-entend que les ensembles considÃ©rÃ©s n'ont aucun pixel en commun. Par ailleurs, afin d'optimiser les performances globales du dÃ©tecteur, nous avons utilisÃ© les motifs de la matrice $P_d$, n'ayant pas d'intersection entre eux et de direction $\Theta_{4i} = 4i\frac{\pi}{4}$.
-La ligne de sÃ©paration entre les deux rÃ©gions de la fenÃªtre est donc composÃ©e par les motifs de directions $\Theta_{4i}$ et $\Theta_{4(i+4)}$. Ces deux rÃ©gions sont respectivement nommÃ©es arbitrairement $T$ et $B$, $T$ Ã©tant reprÃ©sentÃ©e comme la rÃ©gion \textit{haute} et $B$ comme la rÃ©gion \textit{basse} sur le schÃ©ma  explicatif de la figure \ref{fig-lniv-detecteur} oÃ¹ $\Theta_{4i}=\frac{\pi}{4}$ et oÃ¹ les pixels affectÃ©s d'une Ã©lÃ©vation nulle sont les pixels de la fenÃªtre non impliquÃ©s dans le calcul du critÃ¨re GLRT. En outre, les pixels de la limite sont supposÃ©s appartenir Ã  la rÃ©gion $T$, ce qui implique qu'elle comprend au total les pixels correspondant Ã  cinq motifs plus le pixel central, tandis que $B$ n'en comprend que l'Ã©quivalent de 3 motifs. 
+\begin{figure}[ht]
+  \centering
+  \includegraphics[width =7cm]{Chapters/chapter4/img/pattern_detecteur-f.png}
+  \caption{Motif de dÃ©tection des zones Ã  faible pente, pour le cas $\Theta=\Theta_4=45^{\circ}$. L'Ã©lÃ©vation des pixels permet juste de les distinguer selon 3 classes : l'Ã©lÃ©vation 1 est associÃ©e aux pixels de la rÃ©gion $T$, l'Ã©lÃ©vation 0.5 est associÃ©e Ã  ceux de la rÃ©gion $B$ et l'Ã©lÃ©vation 0 dÃ©signe les pixels n'intervenant pas dans la dÃ©tection.}
+  \label{fig-lniv-detecteur}
+\end{figure}
 
-Les Ã©quations \eqref{LLNP}, \eqref{LLNP2} et \eqref{GLRT} nous permettent d'obtenir l'expression suivante pour le critÃ¨re GLRT $T2$
+Les Ã©quations \eqref{LLNP}, \eqref{LLNP2} et \eqref{GLRT} nous permettent d'obtenir l'expression suivante pour le test GLRT $T2$
 \begin{eqnarray}
-T2 = T2_{max}- (8l+1)\left[log\left(\widehat{\sigma_3}^2\right) - log\left(\widehat{\sigma_4}^2\right) \right]
+T2 = T2_{max}- (8a+1)\left[log\left(\widehat{\sigma_3}^2\right) - log\left(\widehat{\sigma_4}^2\right) \right]
 \label{GLRT2}
 \end{eqnarray}
 
-avec $\widehat{\sigma_3}$ l'estimation de l'Ã©cart type de la situation oÃ¹ les deux demi-rÃ©gions en formeraient une seule et $\widehat{\sigma_4}$ celle oÃ¹ une transition serait dÃ©tectÃ©e entre les deux. Leurs expressions sont donc :
+oÃ¹ $\widehat{\sigma_3}$ est l'estimation de l'Ã©cart type dans le cas oÃ¹ les deux demi rÃ©gions en formeraient une seule et $\widehat{\sigma_4}$, l'estimation de l'Ã©cart type pour le cas oÃ¹ une transition serait dÃ©tectÃ©e entre les deux. Leurs expressions sont donc :
 $$
 \begin{array}{l}
-\widehat{\sigma_3}^2 = \displaystyle\frac{1}{8l+1}\sum_{(i,j)\in T\cup B}\left( v(i,j) - \widehat{\mu_{T\cup B}} \right)^2 \\
+\widehat{\sigma_3}^2 = \displaystyle\frac{1}{8a+1}\sum_{(i,j)\in T\cup B}\left( v(i,j) - \widehat{\mu_{T\cup B}} \right)^2 \\
 et\\
-\widehat{\sigma_4}^2 = \displaystyle\frac{1}{5l+1}\sum_{(i,j)\in T}\left(v(i,j) - \widehat{\mu_{T}} \right)^2 + \frac{1}{3l}\sum_{(i,j)\in B}\left(v(i,j)- \widehat{\mu_{B}} \right)^2                       
+\widehat{\sigma_4}^2 = \displaystyle\frac{1}{8a+1}\left(\sum_{(i,j)\in T}\left(v(i,j) - \widehat{\mu_{T}} \right)^2 + \sum_{(i,j)\in B}\left(v(i,j)- \widehat{\mu_{B}} \right)^2\right)                       
 \end{array}
 $$
 
-Le seuil de dÃ©cision est notÃ© $T2_{max}$ et d'aprÃ¨s l'expression du critÃ¨re \eqref{GLRT2}, une valeur nÃ©gative du critÃ¨re signifie la dÃ©tection d'une transition. Ainsi, lorsque les valeurs du critÃ¨re $T2$ sont connues pour toutes les 8 directions $\Theta_{4i} (i\in [0..7])$, la valeur du niveau de gris de sortie pour le pixel central est dÃ©terminÃ©e selon la stratÃ©gie suivante :
+Le seuil de dÃ©tection est notÃ© $T2_{max}$ et d'aprÃ¨s l'expression du test \eqref{GLRT2}, une valeur nÃ©gative signifie la dÃ©tection d'un bord. Ainsi, lorsque les valeurs de $T2$ sont connues pour toutes les 8 directions $\Theta_{4i} (i\in [0..7])$, la valeur du niveau de gris de sortie pour le pixel central est dÃ©terminÃ©e selon la stratÃ©gie suivante :
 \begin{itemize}
-\item si plus d'une valeur du critÃ¨re est nÃ©gative, alors on applique la valeur issue du modÃ¨le PI-PD.
-\item si une seule valeur du critÃ¨re est nÃ©gative, le pixel central est vraisemblablement situÃ© sur une transition nette et on applique la valeur moyenne de la rÃ©gion $T$ Ã  laquelle il appartient. Cela permet de garantir des transitions visuellement plus douces entre les zones oÃ¹ le PI-PD s'est appliquÃ© et les zones moyennÃ©es. 
-\item si aucune valeur du critÃ¨re n'est nÃ©gative, alors la rÃ©gion autour du pixel central est vraisemblablement une LSR. En consÃ©quence, on applique
-la valeur moyenne de la zone.
+\item si plus d'un bord a Ã©tÃ© dÃ©tectÃ©, alors on applique la valeur issue du modÃ¨le PI-PD.
+\item si un seul bord a Ã©tÃ© dÃ©tectÃ©, le pixel central est vraisemblablement situÃ© sur une transition nette et on applique la valeur moyenne des motifs de la rÃ©gion $T$ Ã  laquelle il appartient. Cela permet de garantir des transitions visuellement plus douces entre les zones oÃ¹ le PI-PD est appliquÃ© et les zones moyennÃ©es. 
+\item si aucun bord n'a Ã©tÃ© dÃ©tectÃ©, alors la rÃ©gion autour du pixel central est vraisemblablement une LSR. En consÃ©quence, on applique la valeur moyenne de la zone.
 \end{itemize}
 
 La figure \ref{fig-lniv-classification} prÃ©sente le rÃ©sultat de la classification des pixels d'une image bruitÃ©e, pour $T2_{max}=2$. On y remarque en particulier que les pixels noirs, pour lesquels s'appliquera le PI-PD, sont situÃ©s sur des transitions bien dÃ©finies.  
@@ -378,47 +424,48 @@ La figure \ref{fig-lniv-classification} prÃ©sente le rÃ©sultat de la classificat
  \centering
 \subfigure[Image bruitÃ©e]{\includegraphics{Chapters/chapter4/img/airplane_noisy_small.jpg}}\qquad
 \subfigure[Classification des pixels. ]{\includegraphics{Chapters/chapter4/img/img_bords_T2_small.jpg}}
-\caption{Classification des pixels d'une image bruitÃ©e, pour une valeur de seuil $T2=2$ du dÃ©tecteur. b) Les pixels en noir sont ceux Ã  qui le PI-PD sera appliquÃ©. Les pixels en blancs se verront appliquer une moyenne sur tout ou partie du voisinage.}
+\caption{Classification des pixels d'une image bruitÃ©e, pour une valeur de seuil $T2=2$ du dÃ©tecteur. (b) Les pixels en noir sont ceux Ã  qui le PI-PD sera appliquÃ©. Les pixels gris se verront appliquer une moyenne sur tout ou partie du voisinage.}
 \label{fig-lniv-classification}
 \end{figure}
 
+Les dÃ©tails d'implÃ©mentation du dÃ©tecteur sont donnÃ©s par l'algorithme \ref{algo-lniv-detecteur}. Pour en optimiser les performances, les sommes individuelles $sum_{\Theta}$ sont prÃ©-calculÃ©es aux lignes 7 Ã  10 pour les 8 motifs concernÃ©s. L'Ã©valuation des 8 configurations angulaires est effectuÃ©e ensuite de la ligne 11 Ã  la ligne 25. 
 
-Les dÃ©tails d'implÃ©mentation du dÃ©tecteur sont donnÃ©s par l'algorithme \ref{algo-lniv-detecteur}. Pour en optimiser les performances, les sommes partielles $sPat$ et $sPat2$ Ã©valuÃ©es successivement pour les rÃ©gions $T$ et $B$ aux lignes 11 et 12, puis 16 et 17 sont prÃ©-calculÃ©es et mÃ©morisÃ©es dans 8 registres. 
+Le choix que nous avons fait pour ce dÃ©tecteur de bord sont stratÃ©giques et ont Ã©tÃ© guidÃ©s par la recherche de performance. Il est cependant clair qu'un filtrage plus fort aurait Ã©tÃ© obtenu dans les LSR par un moyenneur intÃ©grant l'ensemble des pixels de la fenÃªtre. Cette piste reste Ã  approfondir Ã  la lumiÃ¨re des rÃ©sultats obtenu dans l'implÃ©mentation de l'opÃ©ration de convolution.   
 
 \begin{algorithm}[ht]
 \caption{DÃ©tecteur de zones Ã  faible pente (LSR) \texttt{kernel\_LSR\_detector()}}   
 \label{algo-lniv-detecteur}
-\ForEach(\tcc*[f]{\textbf{in parallel}}){pixel $(i,j)$}{
+\ForEach(\tcc*[f]{\textbf{en parallÃ¨le}}){pixel $(i,j)$}{
   $\Theta \leftarrow 0$\tcc*[r]{Indice de la direction}
   $edgeCount \leftarrow 0$\;
   $sumEdge \leftarrow 0$\;
-  $nH \leftarrow 5l+1$\;
-  $nL \leftarrow 3l$\;
+  $nT \leftarrow 5l+1$\;
+  $nB \leftarrow 3l$\;
+  \While{($\Theta < 32$) }{
+    $sum_{\Theta} \leftarrow \left(\displaystyle\sum_{(y,x)\in P_{l,\alpha}(i,j)} I_{n tex}(i+y,j+x), \displaystyle\sum_{(y,x)\in P_{l,\alpha}(i,j)} I^2_{n tex}(i+y,j+x)\right)$ \;
+    $\Theta \leftarrow \Theta + 4$\;
+  }
   \While{($\Theta < 32$) }{
-    $sumH \leftarrow (I_{ntex}(i,j), I_{ntex}^2(i,j))$\;
-    $sumL \leftarrow (0, 0)$\;
+    $sumT \leftarrow (I_{ntex}(i,j), I_{ntex}^2(i,j))$\;
+    $sumB \leftarrow (0,0)$ \;
     \For{($\alpha=\Theta$ to $\alpha=\Theta+16$ par pas de $4$)}{
-      $sPat \leftarrow \displaystyle\sum_{(y,x)\in P_{l,\alpha}(i,j)} I_{n tex}(i+y,j+x)$\;
-      $sPat2 \leftarrow \displaystyle\sum_{(y,x)\in P_{l,\alpha}(i,j)} I^2_{n tex}(i+y,j+x)$\;
-      $sumH \leftarrow sumH + (sPat, sPat2)$\;
+      $sumT \leftarrow sumT + sum_{\Theta}$\; 
     }
     \For{($\alpha=\Theta+20$ to $\alpha=\Theta+28$ par pas de $4$)}{
-      $sPat \leftarrow \displaystyle\sum_{(y,x)\in P_{l,\alpha}(i,j)} I_{n tex}(i+y,j+x)$\;
-      $sPat2 \leftarrow \displaystyle\sum_{(y,x)\in P_{l,\alpha}(i,j)} I^2_{n tex}(i+y,j+x)$\;
-      $sumL \leftarrow sumL + (sPat, sPat2)$\;
+      $sumB \leftarrow sumB + sum_{\Theta}$ \;
     }
-    \If{($GLRT(sumH, nH, sumL, nL) > T2_{max}$)}{
+    \If{($GLRT(sumT, nT, sumB, nB) > T2_{max}$)}{
       $edgeCount \leftarrow edgeCount + 1$\;
-      $sumEdge \leftarrow sumH.x$\;
+      $sumEdge \leftarrow sumT.x$\;
     }
     $\Theta \leftarrow \Theta + 4$\;
-    }
+  }
     \tcc{niveau de gris de l'isoline}
     \If{($edgeCount == 0$)}{
-      $\widehat{I}(i,j) \leftarrow \dfrac{(sumH.x + sumL.x)}{nH+nL}$ \tcc*[r]{LSR}
+      $\widehat{I}(i,j) \leftarrow \dfrac{(sumT.x + sumB.x)}{nT+nB}$ \tcc*[r]{LSR}
     }
     \If{($edgeCount == 1$)}{
-      $\widehat{I}(i,j) \leftarrow \dfrac{(sumEdge)}{nH}$
+      $\widehat{I}(i,j) \leftarrow \dfrac{(sumEdge)}{nT}$
     }
     \If{($edgeCount > 1$)}{
       $\widehat{I}(i,j) \leftarrow \widehat{I_{PIPD}}(i,j)$\tcc*[r]{PI-PD}
@@ -429,18 +476,33 @@ Les dÃ©tails d'implÃ©mentation du dÃ©tecteur sont donnÃ©s par l'algorithme \ref{
 
 \section{RÃ©sultats}
 
-L'implÃ©mentation du PI-PD hybride Ã  Ã©tÃ© appliquÃ©e aux 13 images de la base de test, dans leurs versions les plus bruitÃ©es, perturbÃ©es par un bruit gaussien de moyenne nulle et d'Ã©cart type 25.
-Pour ce type d'images (taille, dÃ©tails), les paramÃ¨tres qui ses sont avÃ©rÃ©s optimaux sont $l=5$ pour la longueur des segments avec un maximum de 5 segments.
-En ce qui concerne les seuils GLRT, nous avons testÃ© l'ensemble des combinaisons de valeurs $T_{max}$ et $T2_{max}$ variant de 1 Ã  10 par pas de 0.5.
-La combinaison  $T_{max}=1$ et $T2_{max}=2$ s'est rÃ©velÃ©e la plus appropriÃ©e, en ce sens qu'elle reprÃ©sente l'optimum pour 11 des 13 images, sauf \textit{peppers} et \textit{zelda}, pour lesquelles une combinaison $T_{max}=2$ et $T2_{max}=2$ permet d'amÃ©liorer l'indice de similaritÃ© MSSIM respectivement de 0.03 et 0.02.
-
-Les images ainsi filtrÃ©es ont donc Ã©tÃ© caractÃ©risÃ©es en termes de PSNR et de MSSIM et les rÃ©sultats, regroupÃ©s dans la table \ref{tab-lniv-results}, sont comparÃ©s Ã  ceux de la rÃ©fÃ©rence BM3D, ainsi qu'Ã  ceux d'un simple filtre moyenneur GPU 5$\times$5, choisi comme rÃ©fÃ©rence en terme de rapiditÃ© et dont la taille de fenÃªtre permet des gain thÃ©oriques en PSNR du mÃªme ordre de grandeur que le PI-PD.  
-
-Les mesures de qualitÃ© montrent que le PI-PD hybride amÃ©liore le PSNR de 1.5~dB et le MSSIM de 7,3\% en moyenne par rapport au moyenneur, au prix d'un temps de calcul multipliÃ© par 128. Le BM3D fait encore progresser la qualitÃ© de 2.4~dB et 4,6\% en moyenne par rapport au PI-PD hybride, mais en mettant 475 fois plus de temps.
-Le principal dÃ©faut du filtre proposÃ© est la gÃ©nÃ©ration d'artefacts de type marches d'escalier (staircase effect), inhÃ©rente Ã  tous les filtres de voisinage. Cependant, nous avons implÃ©mentÃ© sur GPU la solution proposÃ©e par Buades dans \cite{BuadesCM06} et ainsi attenuÃ© nettement cet effet indÃ©sirable pour un coÃ»t de 0.2~ms. La valeur du PSNR de chaque image dÃ©bruitÃ©e a ainsi Ã©tÃ© encore amÃ©liorÃ©e de 1~dB.
+L'implÃ©mentation du PI-PD hybride a Ã©tÃ© appliquÃ©e aux 13 images de la base de test, dans leurs versions les plus bruitÃ©es, perturbÃ©es par un bruit gaussien de moyenne nulle et d'Ã©cart type 25.
+Pour ce type d'images (taille, dÃ©tails), les paramÃ¨tres qui se sont avÃ©rÃ©s optimaux sont $a=5$ pour la longueur des segments avec un maximum de $q=5$ segments.
+En ce qui concerne les seuils GLRT, nous avons testÃ© l'ensemble des combinaisons de valeurs $T_{max}$ et $T2_{max}$ variant de 1 Ã  10 par pas de 0,5.
+La combinaison  $T_{max}=1$ et $T2_{max}=2$ s'est rÃ©vÃ©lÃ©e la plus appropriÃ©e, car elle reprÃ©sente le meilleur compromis PSNR/MSSIM pour 11 des 13 images, sauf \textit{peppers} et \textit{zelda}, pour lesquelles une combinaison $T_{max}=2$ et $T2_{max}=2$ permet d'amÃ©liorer l'indice de similaritÃ© MSSIM respectivement de 0,03 et 0,02.
+
+Les images filtrÃ©es ont Ã©tÃ© caractÃ©risÃ©es en termes de PSNR et de MSSIM et les rÃ©sultats, regroupÃ©s dans la table \ref{tab-lniv-results}, sont comparÃ©s Ã  ceux de la rÃ©fÃ©rence BM3D, ainsi qu'Ã  ceux d'un simple filtre moyenneur GPU 5$\times$5, choisi comme rÃ©fÃ©rence en terme de rapiditÃ© et dont la taille de fenÃªtre permet des gains thÃ©oriques en PSNR du mÃªme ordre de grandeur que le PI-PD.  
+
+Les mesures de qualitÃ© montrent que le PI-PD hybride amÃ©liore en moyenne le PSNR de 1,5~dB et le MSSIM de 7,3\% par rapport au moyenneur, au prix d'un temps de calcul multipliÃ© par 100, soit environ 7,3~ms, lÃ  oÃ¹ l'algorithme PI-LD prenait 35~ms. Le BM3D fait encore progresser la qualitÃ© de 2,4~dB et 4,6\% en moyenne par rapport au PI-PD hybride, mais en mettant 590 fois plus de temps que ce dernier, soit environ 4,3~s.
+Le principal dÃ©faut du filtre proposÃ© est la gÃ©nÃ©ration d'artefacts de type marches d'escalier (staircase effect), inhÃ©rente Ã  tous les filtres de voisinage. Cependant, nous avons implÃ©mentÃ© sur GPU la solution proposÃ©e par Buades dans \cite{BuadesCM06} et ainsi attenuÃ© nettement cet effet indÃ©sirable pour un coÃ»t de 0,2~ms. La valeur du PSNR de chaque image dÃ©bruitÃ©e a ainsi Ã©tÃ© encore amÃ©liorÃ©e de 1~dB.
+La figure \ref{fig-lniv-exempleresultat} permet de constater le rendu visuel des traitements comparÃ©s, sur l'image entiÃ¨re ainsi que sur une zone grossie de l'image \textit{airplane}.
+
+\begin{figure}[ht]
+  \centering
+  \subfigure[Image \textit{airplane} bruitÃ©e.]{\includegraphics[width=3cm]{Chapters/chapter4/img/resultat/airplane_25_noisy.png}}\quad
+  \subfigure[Image \textit{airplane} filtrÃ©e par moyenneur 5$\times$5.]{\includegraphics[width=3cm]{Chapters/chapter4/img/resultat/airplane_mean5.png}}\quad
+  \subfigure[Image \textit{airplane} filtrÃ©e par PI-PD hybride avec $a=5$, $q=5$, $T_{max}=2$ et $T2_{max}=2$.]{\includegraphics[width=3cm]{Chapters/chapter4/img/resultat/airplane_25_noisy_6_r50_T10_P2.png}}\quad
+  \subfigure[Image \textit{airplane} filtrÃ©e par BM3D.]{\includegraphics[width=3cm]{Chapters/chapter4/img/resultat/airplane_bm3d.png}}\\
+  \subfigure{\includegraphics[width=3cm]{Chapters/chapter4/img/resultat/airplane_25_noisy_zoom.jpg}}\quad
+  \subfigure{\includegraphics[width=3cm]{Chapters/chapter4/img/resultat/airplane_25_mean5_zoom.jpg}}\quad
+  \subfigure{\includegraphics[width=3cm]{Chapters/chapter4/img/resultat/airplane_zoom_hybrid_6_r50_T10_P2.jpg}}\quad
+  \subfigure{\includegraphics[width=3cm]{Chapters/chapter4/img/resultat/airplane_bm3d_zoom.jpg}}
+  \caption{Comparaison des rendus des traitements comparÃ©s. RangÃ©e du haut : les images complÃ¨tes. RangÃ©e du bas : Zooms sur une zone de l'Ã­mage au dessus.}
+  \label{fig-lniv-exempleresultat}
+\end{figure}
 
-\begin{table}[h]
-%\footnotesize
+\begin{table}[H]
+\scriptsize
 \centering
 \begin{tabular}{crrrr}
 \toprule
@@ -448,76 +510,238 @@ Le principal dÃ©faut du filtre proposÃ© est la gÃ©nÃ©ration d'artefacts de type
 &(ms)&(ms) \\
 \midrule
 Moyenneur         &  0.07&  0.15 \\
-PI-PD hybride     &  9.00&  0.15 \\
-BM3D              &  4300&  0.00 \\
+PI-PD hybride     &  7.30&  0.15 \\
+BM3D              &  4300&  \ldots \\
 \bottomrule
  \end{tabular}
 \caption{Temps de calcul et de transfert des implÃ©mentations comparÃ©es. }
 \label{tab-lniv-chronos}
 \end{table}
 
-Les temps de calcul des diffÃ©rentes implÃ©mentations testÃ©es ne dÃ©pendent que trÃ¨s peu du contenu de l'image, voire pas du tout pour le moyenneur. Ils sont prÃ©sentÃ©s Ã  la table \ref{tab-lniv-chronos}. Pour les implÃ©mentations GPU, il faut ajouter, dans le cas de traitements uniques (pas des sÃ©quences d'images), les temps de transfert des images vers la mÃ©moire texture du GPU puis vers une zone de  mÃ©moire non paginÃ©e de l'hÃ´te CPU, qui reprÃ©sentent un total de 0.15~ms pour les images de test. Notons que l'emploi de mÃ©moire non-paginÃ©e pour la mÃ©morisation des donnÃ©es cÃ´tÃ© CPU permet d'Ã©conomiser 0.09~ms par image 8~bits.
+Les temps de calcul des diffÃ©rentes implÃ©mentations testÃ©es dÃ©pendent trÃ¨s peu du contenu de l'image, voire pas du tout pour le moyenneur. Ils sont prÃ©sentÃ©s Ã  la table \ref{tab-lniv-chronos}. Pour les implÃ©mentations GPU, il faut ajouter, dans le cas de traitements uniques (hors sÃ©quences d'images), les temps de transfert des images vers la mÃ©moire texture du GPU puis vers une zone de  mÃ©moire non paginÃ©e de l'hÃ´te CPU, qui reprÃ©sentent un total de 0,15~ms pour les images de test, soit moins de 2\% du temps total du PI-PD hybride. Notons que l'emploi de mÃ©moire prÃ©-allouÃ©e (ne gÃ©nÃ©rant pas de dÃ©faut de page) pour la mÃ©morisation des donnÃ©es cÃ´tÃ© CPU permet d'Ã©conomiser 0,09~ms par image 8~bits, soit environ 1\% du temps total du PI-PD. Notons enfin que le traitement de sÃ©quences en haute dÃ©finition (1920$\times$1080 pixels) au taux 20 images par seconde est rendu possible. 
 
 
-\begin{table}[h]
-%\footnotesize
+\begin{table}[H]
+\scriptsize
 \centering
-\begin{tabular}{crrrr}
+\begin{tabular}{crrrrr}
 \toprule
-\bf Image&\bf Noisy  &\bf Moyenneur &\bf PI-PD&\bf BM3D \\
-         &           &\bf $5\times 5$     &\bf hybride &         \\
-         & \tiny{PSNR (dB)}& \tiny{gain (dB)}/noisy & \tiny{gain (dB)}/noisy& \tiny{gain (dB)}/noisy\\
-         & \tiny{MSSIM}     & \tiny{MSSIM} & \tiny{MSSIM}& \tiny{MSSIM}\\
+\bf Image&\bf BruitÃ©e  &\bf Moyenneur &\bf PI-LD &\bf PI-PD&\bf BM3D \\
+         &           &\bf $5\times 5$  &   &\bf hybride &         \\
+         & \tiny{PSNR (dB)}& \tiny{gain (dB)}/noisy & \tiny{gain (dB)}/noisy & \tiny{gain (dB)}/noisy& \tiny{gain (dB)}/noisy\\
+         & \tiny{MSSIM}     & \tiny{MSSIM} & \tiny{MSSIM}&\tiny{MSSIM}& \tiny{MSSIM}\\
 \midrule
-airplane &   19.49   &   6.90     &  8.97 & 11.39  \\
-         &    0.58   &   0.84     &  0.88 &  0.93  \\
+airplane &   19.49   &   6.90     &  8.94 &8.97 & 11.39  \\
+         &    0.58   &   0.84     &  0.78 &0.88 &  0.93  \\
 \midrule
-barbara  &   20.04   &   2.72     & 4.22  & 10.56  \\
-         &    0.70   &   0.76     &  0.83 &  0.94  \\
+barbara  &   20.04   &   2.72     & 4.84  &4.22  & 10.56  \\
+         &    0.70   &   0.76     & 0.79  & 0.83 &  0.94  \\
 \midrule
-boat     &   20.33   &   5.25     & 7.21  & 9.69   \\
-         &    0.66   &   0.81     & 0.87  &  0.91  \\
+boat     &   20.33   &   5.25     & 6.86  &7.21  & 9.69   \\
+         &    0.66   &   0.81     & 0.81  &0.87  &  0.91  \\
 \midrule
-couple   &   20.28   &   4.97     & 7.05  & 9.49   \\
-         &    0.69   &   0.79     & 0.87  &  0.91  \\
+couple   &   20.28   &   4.97     & 6.77  &7.05  & 9.49   \\
+         &    0.69   &   0.79     & 0.82  &0.87  &  0.91  \\
 \midrule
-elaine   &   19.85   &   8.86     & 9.09  & 10.75  \\
-         &    0.59   &   0.86     & 0.87  &  0.91  \\
+elaine   &   19.85   &   8.86     & 8.16  &9.09  & 10.75  \\
+         &    0.59   &   0.86     & 0.79  &0.87  &  0.91  \\
 \midrule
-fingerprint &20.34   &   2.99     & 5.73  &  7.59  \\
-         &     0.93  &   0.87     & 0.95  &  0.96  \\
+fingerprint &20.34   &   2.99     & 6.00  &5.73  &  7.59  \\
+         &     0.93  &   0.87     & 0.95  &0.95  &  0.96  \\
 \midrule
-goldhill &    19.59  &   6.88     & 7.84  &  9.63  \\
-         &     0.67  &   0.82     & 0.87  &   0.88 \\
+goldhill &    19.59  &   6.88     & 8.02  &7.84  &  9.63  \\
+         &     0.67  &   0.82     & 0.81  &0.87  &   0.88 \\
 \midrule
-lena     &    19.92  &   8.07     & 9.22  &  11.88 \\
-         &     0.60  &   0.84     & 0.88  &   0.93 \\
+lena     &    19.92  &   8.07     & 8.37  &9.22  &  11.88 \\
+         &     0.60  &   0.84     & 0.78  &0.88  &   0.93 \\
 \midrule
-man      &    20.38  &   4.36     & 6.36  &  7.76  \\
-         &     0.71  &   0.80     & 0.86  &   0.87 \\
+man      &    20.38  &   4.36     & 6.49  &6.36  &  7.76  \\
+         &     0.71  &   0.80     & 0.83  &0.86  &   0.87 \\
 \midrule
-mandrill &    19.34  &   1.00     & 3.04  &  5.41  \\
-         &     0.77  &   0.69     & 0.83  &   0.88 \\
+mandrill &    19.34  &   1.00     & 4.20  &3.04  &  5.41  \\
+         &     0.77  &   0.69     & 0.83  &0.83  &   0.88 \\
 \midrule
-peppers  &    19.53  &   7.77     & 9.15  &  11.34 \\
-         &     0.61  &   0.86     & 0.87  &   0.92 \\
+peppers  &    19.53  &   7.77     & 8.66  &9.15  &  11.34 \\
+         &     0.61  &   0.86     & 0.79  &0.87  &   0.92 \\
 \midrule
-stream   &    20.35  &   2.88     & 5.00  &  5.99  \\
-         &     0.80  &   0.78     & 0.87  &   0.88 \\
+stream   &    20.35  &   2.88     & 4.97  &5.00  &  5.99  \\
+         &     0.80  &   0.78     & 0.87  &0.87  &   0.88 \\
 \midrule
-zelda    &    17.71  &   10.42    & 10.00 &  12.78 \\  
-         &     0.58  &   0.87     & 0.88  &   0.93 \\
+zelda    &    17.71  &   10.42    & 11.13 &10.00 &  12.78 \\  
+         &     0.58  &   0.87     & 0.79  &0.88  &   0.93 \\
 \bottomrule
  \end{tabular}
-\caption{Comparaison image par image de la qualitÃ© de dÃ©bruitage du filtre PI-PD hybride proposÃ© par rapport Ã  BM3D pris comme rÃ©fÃ©rence de qualitÃ© et Ã  un moyenneur GPU 5$\times$5 pris comme rÃ©fÃ©rence de rapiditÃ©. Les paramÃ¨tres du PI-PD sont $l=5$, $n=25$, $T_{max}=1$ et $T2_{max}=2$. La colonne 'noisy' donne les mesures relatives Ã  l'image d'entrÃ©e corrompue par un bruit gaussien de moyenne nulle et d'Ã©cart type $\sigma=25$.}
+\caption{Comparaison image par image de la qualitÃ© de dÃ©bruitage des filtres PI-LD et PI-PD hybride proposÃ© par rapport Ã  BM3D pris comme rÃ©fÃ©rence de qualitÃ© et Ã  un moyenneur GPU 5$\times$5 pris comme rÃ©fÃ©rence de rapiditÃ©. Les paramÃ¨tres du PI-LD/PI-PD sont $n=5$, $l=25$, $T_{max}=1$ et $T2_{max}=2$. La colonne 'BruitÃ©e' donne les mesures relatives Ã  l'image d'entrÃ©e corrompue par un bruit gaussien de moyenne nulle et d'Ã©cart type $\sigma=25$. PI-LD s'exÃ©cute en 35~ms, PI-PD en 7,3~ms et BM3D en 4,3~s.}
 \label{tab-lniv-results}
 \end{table}
 
 
+\section{Extension aux images couleurs}
+\subsection{Expression du critÃ¨re}
+ConsidÃ©rons une image couleur Ã  3 canaux RVB (Rouge, Vert et Bleu). La valeur $v_k$ observÃ©e au pixel $k$ est alors un vecteur Ã  trois Ã©lÃ©ments. 
+Ã notre connaissance, la dÃ©finition des lignes de niveaux n'a pas Ã©tÃ© formellement Ã©tendue aux espaces colorimÃ©triques Ã  plusieurs canaux. 
+Nous faisons ici l'hypothÃ¨se (forte) de canaux dÃ©correlÃ©s, conduisant Ã  une matrice de covariance diagonale de la forme $R=\sigma^2\mathbb{1}_3$ oÃ¹ $\sigma^2$ est la puissance du bruit gaussien IID perturbant les trois canaux. 
+La vraisemblance de $v_k$ est alors
+$$P\left(v_k|R\right) = \left(\frac{1}{2\pi^{3/2}\sqrt{|R|}}\mathrm{e}^{-\frac{1}{2}\left(v_k-\mu\right)^TR^{-1}\left(v_k-\mu\right)}\right)$$ 
+
+Pour exprimer le test GLRT de validation des allongements, nous procÃ©dons comme prÃ©cÃ©demment, c'est-Ã -dire en distinguant les deux hypothÃ¨ses :
+\begin{enumerate}
+\item le segment candidat $S^p$ prolonge effectivement l'isoline $S^n$ : ils partagent donc la mÃªme valeur moyenne $\mu$ et la log-vraisemblance s'Ã©crit
+  \begin{align}
+    \sum_{(i,j)\in S^p\cup S^n}-\frac{3}{2}log(2\pi)-\frac{1}{2}log(|R|)-\frac{1}{2}\left(v_{(i,j)}-\mu\right)^TR^{-1}\left(v_{(i,j)}-\mu\right)\nonumber
+  \end{align}
+Soit
+  \begin{align}
+    \label{eqlv0rgb}
+    -\frac{3}{2}(n+p)log\left(2\pi\right)-\frac{3}{2}(n+p)log\left(\widehat{{\sigma_0}^{2}}\right) -\frac{3}{2}(n+p)
+  \end{align}
+oÃ¹ 
+\begin{align}
+  \widehat{{\sigma_0}^{2}} = \frac{1}{3(n+p)}\sum_{(i,j)\in S^p\cup S^n}\left(v_{(i,j)}-\widehat{\mu}\right)^T\left(v_{(i,j)}-\widehat{\mu}\right)
+\end{align}
+et 
+\begin{align}
+  \widehat{\mu} = \frac{1}{(n+p)}\sum_{(i,j)\in S^p\cup S^n}v_{(i,j)}
+\end{align}
+\item le segment candidat ne prolonge pas l'isoline $S^n$ : on distingue alors leur deux valeurs moyennes $\mu_p$ et $\mu_n$ et la log-vraisemblance s'Ã©crit
+  \begin{align}
+    \sum_{(i,j)\in S^n}-\frac{3}{2}log(2\pi)-\frac{1}{2}log(|R|)-\frac{1}{2}\left(v_{(i,j)}-\mu_n\right)^TR^{-1}\left(v_{(i,j)}-\mu_n\right) \nonumber\\
++ \sum_{(i,j)\in S^p}-\frac{3}{2}log(2\pi)-\frac{1}{2}log(|R|)-\frac{1}{2}\left(v_{(i,j)}-\mu_p\right)^TR^{-1}\left(v_{(i,j)}-\mu_p\right)
+  \end{align}
+Soit
+  \begin{align}
+    \label{eqlv1rgb}
+    -\frac{3}{2}(n+p)log\left(2\pi\right)-\frac{3}{2}(n+p)log\left(\widehat{{\sigma_1}^{2}}\right) -\frac{3}{2}(n+p)
+  \end{align}
+oÃ¹ 
+\begin{align}
+  \widehat{{\sigma_1}^{2}} = \frac{1}{3(n+p)}\left(\sum_{(i,j)\in S^n}\left(v_{(i,j)}-\widehat{\mu_n}\right)^T\left(v_{(i,j)}-\widehat{\mu_n}\right)
++ \sum_{(i,j)\in S^p}\left(v_{(i,j)}-\widehat{\mu_p}\right)^T\left(v_{(i,j)}-\widehat{\mu_p}\right)\right)
+\end{align}
+et 
+\begin{align}
+  \widehat{\mu_n} = \frac{1}{n}\sum_{(i,j)\in S^n}v_{(i,j)}\\
+\widehat{\mu_p} = \frac{1}{p}\sum_{(i,j)\in S^p}v_{(i,j)}
+\end{align}
+
+\end{enumerate}
+
+Le test GLRT s'obtient par la soustraction des deux expressions de \eqref{eqlv1rgb} et \eqref{eqlv0rgb} :
+\begin{eqnarray}
+T_{rvb} = 3(n+p)\left(-log\left(\widehat{{\sigma_1}^{2}}\right)+log\left(\widehat{{\sigma_0}^{2}}\right)\right)  
+\end{eqnarray}
+
+On notera $T_{rvb-max}$ la valeur de seuil au delÃ  de laquelle on ne validera pas l'allongement de l'isoline.
+
+\subsection{RÃ©sultats - analyse}
+
+Nous avons retenu la base d'images de test tid2008 \cite{tid2008a} pour Ã©valuer la qualitÃ© du traitement PI-PD sur les images couleurs.
+Cet ensemble d'images a Ã©tÃ© utilisÃ© avec nombre d'algorithmes de dÃ©bruitage et les rÃ©sultats de mesure sont disponibles.
+Chacune des 25 images de rÃ©fÃ©rence (non bruitÃ©es) a subi  4 niveaux de distorsion, pour 17 types de bruit diffÃ©rents. Pour nos expÃ©rimentations, nous avons selectionnÃ© les 25 images corrompues par un bruit gaussien RVB (type 2 dans tid2008) d'Ã©cart type $\sigma = 25$ (niveau 4 dans tid2008), oÃ¹ chaque canal RVB est perturbÃ© par un tirage de bruit gaussien IID. La figure \ref{fig-lniv-tid2008ref} prÃ©sente les vignettes des 25 images de rÃ©fÃ©rence, soit 24 images \textit{naturelles} et une image de synthÃ¨se. 
+
+\begin{figure}[ht]
+  \centering
+  \subfigure[I01]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/0.png}}\quad
+  \subfigure[I02]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/1.png}}\quad
+  \subfigure[I03]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/2.png}}\quad
+  \subfigure[I04]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/3.png}}\quad
+  \subfigure[I05]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/4.png}}\\
+ 
+  \subfigure[I06]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/5.png}}\quad
+  \subfigure[I07]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/6.png}}\quad
+  \subfigure[I08]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/7.png}}\quad
+  \subfigure[I09]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/8.png}}\quad
+  \subfigure[I10]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/9.png}}\\
+
+  \subfigure[I11]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/10.png}}\quad
+  \subfigure[I12]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/11.png}}\quad
+  \subfigure[I13]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/12.png}}\quad
+  \subfigure[I14]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/13.png}}\quad
+  \subfigure[I15]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/14.png}}\\
+
+  \subfigure[I16]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/15.png}}\quad
+  \subfigure[I17]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/16.png}}\quad
+  \subfigure[I18]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/17.png}}\quad
+  \subfigure[I19]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/18.png}}\quad
+  \subfigure[I20]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/19.png}}\\
+  
+  \subfigure[I21]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/20.png}}\quad
+  \subfigure[I22]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/21.png}}\quad
+  \subfigure[I23]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/22.png}}\quad
+  \subfigure[I24]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/23.png}}\quad
+  \subfigure[I25]{\includegraphics[width=2.5cm]{Chapters/chapter4/img/tid2008-petit/24.png}}
+  \label{fig-lniv-tid2008ref}
+\caption{Images non bruitÃ©es de la base tid2008.}
+\end{figure}
+
+Notre rÃ©fÃ©rence est ici encore l'implÃ©mentation BM3D dans sa variante couleurs (CBM3D) et nous avons choisi d'exprimer la qualitÃ© de dÃ©bruitage au travers la valeur du PSNR-HVS-M (voir \cite{psnrhvsm}) qui est une extension du simple PSNR prenant en compte des caractÃ©ristiques structurelles de l'image. Les expÃ©rimentations dÃ©crites dans \cite{tid2008a} montrent en outre, que pour les perturbations de la catÃ©gorie \textit{noise} Ã  laquelle appartient le type 2 qui nous intÃ©resse, le PSNR-HVS-M prÃ©sente les meilleures corrÃ©lations avec la perception humaine de la qualitÃ©, que ce soit au sens de Spearman ou de Kendall. 
+Comme pour les images en niveaux de gris, notre implÃ©mentation RVB intÃ¨gre la rÃ©duction de l'effet \textit{marches d'escalier}, que nous avons adaptÃ© Ã  la couleur en choisissant la norme 2 comme mesure de distance dans l'espace RVB. Nous avons aussi expÃ©rimentÃ© une variante employant la norme 1, avec des rÃ©sultats moins satisfaisants. Cette Ã©tape amÃ©liore le rendu visuel mais reprÃ©sente cette fois une proportion plus importante du temps de calcul, en raison du calcul de la norme, plus coÃ»teux. Sur les images de 512$\times$512, cela reprÃ©sente environ 1~ms, soit environ 25\% du temps de calcul.  
+
+Le PI-PD en couleur s'exÃ©cute quant Ã  lui Ã  la mÃªme vitesse qu'en niveaux de gris, soit environ 4,0~ms ; c'est aussi le cas de CBM3D avec une moyenne de 4,3 secondes. Sur les 25 images de test, le gain moyen apportÃ© par PI-PD s'Ã©lÃ¨ve Ã  2,84~dB (PSNR-HVS-M) contre 7,09~dB pour CBM3D, ce qui constitue indÃ©niablement un Ã©chelon supÃ©rieur en terme de qualitÃ©, au prix d'un temps de calcul multipliÃ© par 1000. 
+
+L'ensemble des rÃ©sultats de mesure est consignÃ© dans le tableau \ref{tab-lniv-rvb} et deux exemples de rÃ©sultats sont reproduits en figure \ref{fig-lnivrgb-ex} pour une des images naturelles ainsi que pour l'image de synthÃ¨se. Les valeurs des paramÃ¨tres sont identiques pour toutes les images et ont Ã©tÃ© dÃ©terminÃ©es empiriquement par analyse systÃ©matique des rÃ©sultats produits par les combinaisons permises dans les intervalles de 3 Ã  7 pour la taille $n$ des segments, de 25 Ã  70 pour la longueur maximale $l$ des isolines et de 1 Ã  10 pour le seuil GLRT $T_{rvb-max}$. Cette analyse extensive a mis en Ã©vidence la combinaison $n=4$, $l=48$ et $T_{rvb-max}=5$ comme permettant au PI-PD d'apporter les meilleurs rÃ©sultats d'ensemble. Certaines des images, comme l'image de synthÃ¨se nÂ°25, bÃ©nÃ©ficieraient d'un ajustement des paramÃ¨tres, mais conscients de la contrainte que cela reprÃ©sente, nous avons choisi de faire prÃ©valoir un rÃ©glage unique.
+
+Si le modÃ¨le que nous avons employÃ© pour Ã©tendre le principe du PI-PD aux images en couleur nous a permis de vÃ©rifier que les performances pouvaient Ãªtre conservÃ©es, il repose sur des hypothÃ¨ses fortes et sous-entend (pour simplifier) qu'un seuil dans l'espace RVB est associÃ© Ã  un seuil sur chaque composante. Pour amÃ©liorer la qualitÃ©, une autre solution consisterait Ã  dÃ©tecter un seuil dans l'espace RVB lorsqu'un seuil est dÃ©tectÃ© dans au moins un des canaux. La transposition vers un autre espace colorimÃ©trique employant une base de composantes dÃ©corrÃ©lÃ©es pourrait Ã©galement amÃ©liorer les rÃ©sultats. Ces pistes n'ont pas encore Ã©tÃ© explorÃ©es, mais reprÃ©senteront nÃ©cessairement un surcoÃ»t calculatoire.    
+  
+\label{fig-lnivrgb-ex}
+\begin{table}[H]
+\scriptsize
+\centering
+\begin{tabular}{crrrr}
+\toprule
+\bf Image&\bf Noisy  &\bf PI-PD&\bf BM3D \\
+         & \tiny{PSNR-HVS-M (dB)}& \tiny{gain (dB HVS-M)}/noisy& \tiny{gain (dB HVS-M)}/noisy\\
+\midrule
+1 &  23.91&   26.03&   31.02\\
+2 &  23.39&   26.31&   28.96\\
+3 &  23.31&   28.17&   33.04\\
+4 &  23.21&   27.59&   31.30\\
+5 &  24.52&   26.26&   30.63\\
+6 &  23.91&   25.61&   29.45\\
+7 &  23.68&   27.21&   32.66\\
+8 &  24.51&   25.81&   30.75\\
+9 &  23.70&   27.62&   33.26\\
+10&   23.49&   27.16&   32.34\\
+11&   23.95&   26.21&   30.63\\
+12&   23.33&   27.26&   31.67\\
+13&   24.17&   24.91&   29.45\\
+14&   24.03&   25.83&   30.15\\
+15&   23.55&   27.20&   30.63\\
+16&   23.27&   27.11&   31.73\\
+17&   23.74&   27.47&   32.18\\
+18&   24.04&   25.67&   28.94\\
+19&   24.20&   27.06&   31.45\\
+20&   23.27&   26.58&   26.38\\
+21&   23.75&   26.70&   31.41\\
+22&   23.55&   26.22&   29.24\\
+23&   23.48&   27.98&   32.11\\
+24&   23.58&   26.40&   30.88\\
+25&   24.46&   24.62&   31.09\\        
+\bottomrule
+ \end{tabular}
+\caption{Comparaison image par image de la qualitÃ© de dÃ©bruitage du filtre PI-PD RVB proposÃ© par rapport Ã  BM3D pris comme rÃ©fÃ©rence de qualitÃ©. Les paramÃ¨tres du PI-PD sont $n=4$, $l=48$, $T_{rvb-max}=5$. La colonne 'noisy' donne les mesures relatives Ã  l'image d'entrÃ©e corrompue par tirage de bruit gaussien sur chaque canal ( moyenne nulle, Ã©cart type $\sigma=25$).}
+\label{tab-lniv-rvb}
+\end{table}
+  
+\begin{figure}[h]
+  \centering
+  \subfigure[Image I09 bruitÃ©e, PSNR-HVS-M=23,70~dB.]{\includegraphics[width=4.5cm]{Chapters/chapter4/img/I09_02_4.png}}\quad
+  \subfigure[Image I09 filtrÃ©e par PI-PD, PSNR-HVS-M=27,62~dB.]{\includegraphics[width=4.5cm]{Chapters/chapter4/img/I09_02_4-4-50-5_out.png}}\quad
+  \subfigure[Image I09 filtrÃ©e par CBM3D, PSNR-HVS-M=33,26~dB.]{\includegraphics[width=4.5cm]{Chapters/chapter4/img/I09_bm3d.png}}\\
+  \subfigure[Image I25 bruitÃ©e, PSNR-HVS-M=24,46~dB.]{\includegraphics[width=4.5cm]{Chapters/chapter4/img/I25_02_4.png}}\quad
+  \subfigure[Image I25 filtrÃ©e par PI-PD, PSNR-HVS-M=24,62~dB.]{\includegraphics[width=4.5cm]{Chapters/chapter4/img/I25_02_4-4-50-5_out.png}}\quad
+  \subfigure[Image I25 filtrÃ©e par CBM3D, PSNR-HVS-M=31,09~dB.]{\includegraphics[width=4.5cm]{Chapters/chapter4/img/I25_bm3d.png}}\\
+  \caption{Exemples de rÃ©sultat de traitement par PI-PD RVB et par CBM3D pour deux images de la base tid2008 (une image naturelle et l'image de synthÃ¨se). Il peut Ãªtre nÃ©cessaire de zoomer sur le document numÃ©rique pour visualiser les dÃ©tails.}
+  \label{fig-lnivgrb-ex}
+\end{figure}
+
+%\section{Extension au bruit multiplicatif de type Gamma}
+
 \section{Conclusion}
 
-L'algorithme PI-PD hybride permet de dÃ©bruiter 19 images en haute dÃ©finition Ã  la seconde tout en rÃ©duisant de maniÃ¨re importante le niveau de bruit gaussien. 
-La dÃ©marche adoptÃ©e pour la conception a Ã©tÃ© de se baser sur des opÃ©rations Ã©lÃ©mentaires dont nous connaissions ou avions dÃ©montrÃ© l'efficacitÃ© sur GPU. Nous jugeons cet aspect essentiel pour la conception d'algorithmes GPU performants et robustes tant le dÃ©bogage peu s'avÃ©rer dÃ©licat sur ces plateformes. Par ailleurs, il nous semble qu'il faille Ã©viter de devoir systÃ©matiquement comparer les implÃ©mentations CPU et GPU pour en dÃ©duire un facteur d'accÃ©lÃ©ration comme on le rencontre trop souvent. La plupart des algorithmes qui s'avÃ¨rent rapides sur GPU ne le sont vraisemblablement pas sur CPU et il est donc tout Ã  fait illusoire de penser qu'il en existe une implÃ©mentation optimisÃ©e. Comparer alors une implÃ©mentation GPU performante avec son pendant CPU naÃ¯f ne prÃ©sente aucun intÃ©rÃªt. La rÃ©ciproque Ã©tant gÃ©nÃ©ralement vraie, nous avons choisi, en particulier en ce qui concerne le filtrage dont il est question ici, de chercher Ã  assembler des blocs fonctionnels simples mais robustes performants avec l'objectif opÃ©rationnel de rÃ©duire la puissance de bruit.
+L'algorithme PI-PD hybride permet de dÃ©bruiter 19 images en haute dÃ©finition Ã  la seconde tout en rÃ©duisant de maniÃ¨re importante le niveau de bruit gaussien.
+La dÃ©marche adoptÃ©e pour sa conception a Ã©tÃ© de se baser sur des opÃ©rations Ã©lÃ©mentaires dont nous connaissions ou avions dÃ©montrÃ© l'efficacitÃ© sur GPU. Nous jugeons ce principe essentiel pour la conception d'algorithmes GPU performants et robustes tant le dÃ©bogage peut s'avÃ©rer dÃ©licat sur ces plateformes. Par ailleurs, il nous semble peu pertinent de systÃ©matiquement comparer les implÃ©mentations CPU et GPU pour en dÃ©duire un facteur d'accÃ©lÃ©ration comme on le rencontre trop souvent. La plupart des algorithmes qui s'avÃ¨rent rapides sur GPU ne le sont vraisemblablement pas sur CPU et il est donc tout Ã  fait illusoire de penser qu'il en existe une implÃ©mentation optimisÃ©e. Comparer alors une implÃ©mentation GPU performante avec son pendant CPU naÃ¯f ne prÃ©sente aucun intÃ©rÃªt. La rÃ©ciproque Ã©tant gÃ©nÃ©ralement vraie, nous avons choisi, en particulier en ce qui concerne le filtrage dont il est question ici, de chercher Ã  assembler des blocs fonctionnels simples mais robustes et performants avec l'objectif opÃ©rationnel de rÃ©duire la puissance de bruit.
+
+L'algorithme et les rÃ©sultats que nous avons dÃ©taillÃ©s dans ce chapitre ont Ã©tÃ© publiÃ©s dans le \textit{Journal of real-time image processing} dans un article intitulÃ© \textit{Fast GPU-based denoising filter using isoline levels} \cite{perrotlniv}.
 
-Les rÃ©sultats que nous avons dÃ©taillÃ©s dans ce chapitre  concernent des images en niveaux de gris perturbÃ©es par du bruit gaussien. Ils ont Ã©tÃ©  prÃ©sentÃ© dans un article intitulÃ© \textit{Fast GPU-based denoising filter using isoline levels}.
-Les extensions aux bruits multiplicatifs (Gamma, Poisson) et aux images en couleurs ont Ã©galement Ã©tÃ© implÃ©mentÃ©es selon les mÃªmes principes avec des rÃ©sultats et des performances tout Ã  fait comparables. 
\ No newline at end of file
+% LocalWords:  pÃ©nalisante estimateurs colorimÃ©triques l'invariance
