X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/these_gilles.git/blobdiff_plain/e81bd9912542bc52e4b0fd1206e0b6f9b93a5fda..1171799649e99aa6b7222c9f180de7523e5e7da4:/THESE/Chapters/chapter4/chapter4.tex

diff --git a/THESE/Chapters/chapter4/chapter4.tex b/THESE/Chapters/chapter4/chapter4.tex
index 84764f0..22657b8 100644
--- a/THESE/Chapters/chapter4/chapter4.tex
+++ b/THESE/Chapters/chapter4/chapter4.tex
@@ -1,6 +1,6 @@
 \section{Introduction}
 Le concept de ligne de niveau dans les images a Ã©tÃ© introduit dÃ¨s 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.   
-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  par morceaux, la valeur et la forme, en se basant sur un modÃ¨le prÃ© Ã©tabli.
+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  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. 
@@ -11,7 +11,7 @@ Comme nous l'avons dÃ©jÃ  Ã©voquÃ©, l'amÃ©lioration des performances des micropr
 \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 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. Le choix d'intÃ©grer ou non d'autres segments Ã  l'\textit{isoline} et la sÃ©lection des segments Ã  intÃ©grer sont effectuÃ©s par Ã©valuation d'un critÃ¨re de vraisemblance gÃ©nÃ©ralisÃ©e dont l'obtention est dÃ©taillÃ©e dans la suite. 
+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$. Les Ã©lÃ©ments sont les positions relatives des pixels de chaque motif par rapport au pixel central.]{$
@@ -33,9 +33,11 @@ $
 \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 cÃ´tÃ© $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[$.
+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]
@@ -48,7 +50,7 @@ La densitÃ© de probabilitÃ© des valeurs des niveaux de gris des pixels de  $S^n$
 
 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}$
@@ -58,7 +60,7 @@ qui se dÃ©veloppe comme suit, en distinguant les contributions de $S^n$ et $\ove
 \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}$. 
+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}
@@ -93,22 +95,23 @@ $$
 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 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.
+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=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 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.}
+\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 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Ã©cÃ©dent, 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 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
@@ -126,25 +129,28 @@ 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 (\textit{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Ã© de sorte Ã  produire des rÃ©sultats visuels et chiffrÃ©s satisfaisant.
-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{ModÃ©lisation des isolines pour l'implÃ©mentation parallÃ¨le sur GPU}
-Les isolines sont construites segment aprÃ¨s segment. Cela permet 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. 
-Il nous est Ã©galement apparu pertinent de limiter le nombre de segments candidats, ce qui 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 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 nous conduisons en parallÃ¨le les allongements des 32 isolines, chacune ayant l'un des motifs permis comme premier segment (voir figure \ref{fig-lniv-p5q1}).    
-\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 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.
-\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}
-
-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. 
+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$).
 
@@ -159,7 +165,7 @@ La premiÃ¨re implÃ©mentation proposÃ©e et notÃ©e PI-LD (\textit{Poly Isolines wi
 \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 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 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'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}
 
@@ -187,8 +193,8 @@ La rapiditÃ© de cette implÃ©mentation est trÃ¨s supÃ©rieure Ã  celle des algorit
 
 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 isolines construites nous montre qu'il y a une proportion relativement faible d'isolines optimales dont le premier segment s'Ã©carte notablement de celui sÃ©lectionnÃ© 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 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}. 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 Ã  2 (en indices des motifs).
+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
@@ -216,7 +222,7 @@ Pour la trÃ¨s grande majoritÃ© des pixels, l'Ã©cart est nul.}
 \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, ce qui est cohÃ©rent avec l'impossibilitÃ©  d'identifier une direction privilÃ©giÃ©e dans ces rÃ©gions. 
+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 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)$.
@@ -238,7 +244,7 @@ Pour implÃ©menter efficacement cet algorithme sur GPU, il faut alors rÃ©partir l
  \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'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 critÃ¨re 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.
+\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 isoline par la mÃ©thode PI-PD.   \begin{figure}[h] 
@@ -321,7 +327,7 @@ $T2_{max} \leftarrow$ seuil GLRT pour la dÃ©tection de bords\;
   $\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Ã  Ã©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 2, on utilise chaque segment motif et le segment parallÃ¨le situÃ© immÃ©diatement avant (au sens trigonomÃ©trique), pour l'Ã©paisseur 3, on ajoute le segment parallÃ¨le situÃ© immÃ©diatement aprÃ¨s le motif. 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 isolines risquerait de flouter.
+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).
 
 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}. 
@@ -352,19 +358,19 @@ Les figures \ref{fig-lniv-lsr-tirages-b} et \ref{fig-lniv-lsr-tirages-c} montren
 \label{fig-lniv-lsr-tirages}
 \end{figure}
 
-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. 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'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 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, 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. 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 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$.
 
-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 critÃ¨re 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 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. 
+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. 
 
 \begin{figure}[ht]
   \centering
@@ -373,7 +379,7 @@ La ligne de sÃ©paration entre les deux rÃ©gions de la fenÃªtre est donc composÃ©
   \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}- (8a+1)\left[log\left(\widehat{\sigma_3}^2\right) - log\left(\widehat{\sigma_4}^2\right) \right]
 \label{GLRT2}
@@ -388,11 +394,11 @@ et\\
 \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 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 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.  
@@ -401,13 +407,14 @@ 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. 
 
+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}
@@ -455,11 +462,11 @@ Les dÃ©tails d'implÃ©mentation du dÃ©tecteur sont donnÃ©s par l'algorithme \ref{
 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, 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.
+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 128, soit environ 9~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 475 fois plus de temps que ce dernier, soit environ 4,3~s.
+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}.
 
@@ -486,7 +493,7 @@ La figure \ref{fig-lniv-exempleresultat} permet de constater le rendu visuel des
 &(ms)&(ms) \\
 \midrule
 Moyenneur         &  0.07&  0.15 \\
-PI-PD hybride     &  9.00&  0.15 \\
+PI-PD hybride     &  7.30&  0.15 \\
 BM3D              &  4300&  \ldots \\
 \bottomrule
  \end{tabular}
@@ -494,7 +501,7 @@ BM3D              &  4300&  \ldots \\
 \label{tab-lniv-chronos}
 \end{table}
 
-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.
+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]
@@ -547,7 +554,7 @@ 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 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 9~ms et BM3D en 4,3~s.}
+\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}
 
@@ -555,11 +562,12 @@ zelda    &    17.71  &   10.42    & 11.13 &10.00 &  12.78 \\
 \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. 
-Nous faisons ici l'hypothÃ¨se 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 perturbant les trois canaux, chaque canal pouvant Ãªtre corrompu par un tirage de bruit particulier. 
-La probabilitÃ© de $v_k$ est alors
+Ã 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 critÃ¨re GLRT de validation des allongements, nous procÃ©dons comme prÃ©cÃ©demment, c'est-Ã -dire en distinguant les deux hypothÃ¨ses :
+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}
@@ -601,15 +609,18 @@ et
 
 \end{enumerate}
 
-Le critÃ¨re GLRT s'obtient par la soustraction des deux expressions de \eqref{eqlv1rgb} et \eqref{eqlv0rgb} :
-$$T_{rvb} = 3(n+p)\left(-log\left(\widehat{{\sigma_1}^{2}}\right)+log\left(\widehat{{\sigma_0}^{2}}\right)\right) $$
+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}
+\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 scalaire. 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. 
+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
@@ -651,7 +662,10 @@ Comme pour les images en niveaux de gris, notre implÃ©mentation RVB intÃ¨gre la
 
 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.  
+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
@@ -709,8 +723,8 @@ L'ensemble des rÃ©sultats de mesure est consignÃ© dans le tableau \ref{tab-lniv-
 \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 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 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.
+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}.
 
-% LocalWords:  pÃ©nalisante
+% LocalWords:  pÃ©nalisante estimateurs colorimÃ©triques
