]> AND Private Git Repository - hdrcouchot.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
avancées ds YsousraStego
authorcouchot <couchot@localhost.localdomain>
Sat, 27 Aug 2016 10:18:56 +0000 (12:18 +0200)
committercouchot <couchot@localhost.localdomain>
Sat, 27 Aug 2016 10:18:56 +0000 (12:18 +0200)
stegoyousra.tex

index dc17a7a430e1dd07188a209f1a73bf33bd4ea771..efd326db129b8fecb319d37cb71766fbac0cad20 100644 (file)
@@ -37,33 +37,26 @@ en Section~\ref{sec:experiments}.
 
 
 
-\section{Derivatives in an Image}\label{sec:gradient}
+\section{Des dérivées dans une image}\label{sec:gradient}
 
-This section first recalls links between level curves, gradient, and
-Hessian matrix (Section~\ref{sub:general}).
-It next analyses them using kernels from signal theory 
-(Section~\ref{sub:class:1} and Section~\ref{sub:class:2}).
+Cette section rappelle d'abord les liens entre lignes de niveau, gradient et 
+matrice hessienne puis analyse ensuite leur construction à l'aide
+de noyaux de la théorie du signal.
 
 
-\subsection{Hessian Matrix}\label{sub:general}
-Let us consider that an image can be seen as a numerical function $P$ that 
-associates a value $P(x,y)$ to each pixel of coordinates $(x,y)$.
-The variations of this function in $(x_0,y_0)$ 
-can be evaluated thanks to its gradient
-$\nabla{P}$, which is the vector whose two components 
-are the partial derivatives in $x$ and in $y$ of $P$: 
-
-\[\nabla{P}(x_0,y_0) = \left(\frac{\partial P}{\partial x}(x_0,y_0),\frac{\partial P}{\partial y}(x_0,y_0)\right).
-\]
-
-In the context of two variables, the gradient vector
-points to the direction where the function has the highest increase.
-Pixels with close values thus follow level curve that is orthogonal 
-to the one of highest increase.
-
-The variations of the gradient vector are expressed in the 
-Hessian matrix $H$ of second-order partial derivatives of $P$.
+\subsection{Matrice hessienne}\label{sub:general}
+On considère qu'une image peut être assimilée à une fonction de $\R^+\times \R^+$
+dans $\R^+$ telle que la valeur $P(x,y)$ est associée à chaque  pixel de coordonnées $(x,y)$.
+Les variations d'une telle fonction en $(x_0,y_0)$ peuvent être évaluées 
+grace au gradient 
+$\nabla{P}(x_0,y_0) = \left(\frac{\partial P}{\partial x}(x_0,y_0),\frac{\partial P}{\partial y}(x_0,y_0)\right).
+$
+Le vecteur gradient pointe dans la direction où la fonction a le plus fort acroissement.
+Des pixels ayant des valeurs voisines sont sur des lignes de niveaux qui sont orthogonales
+à ce vecteur.
 
+Les variations du vecteur gradient s'expriment usuellement à l'aide de la matrice
+hessienne $H$ des dérivées partielles de second ordre de $P$.
 \[
 H = \begin{bmatrix} 
 \dfrac{\partial^2 P}{\partial x^2} & 
@@ -73,67 +66,65 @@ H = \begin{bmatrix}
 \end{bmatrix}. 
 \]
 
-
-
-
-In one pixel $(x_0,y_0)$, the larger the absolute values of this matrix are,
-the more the gradient is varying around $(x_0,y_0)$.
-We are then left to evaluate such an Hessian matrix.
-
-This task is not as easy as it appears since natural images are not defined 
-with differentiable functions from $\R^2$ to $\R$.
-Following subsections provide various approaches to compute these 
-Hessian matrices.
-
-\subsection{Classical Gradient Image Approaches}\label{sub:class:1}
-In the context of image values, the most used approaches to evaluate gradient vectors are the well-known ``Sobel'', ``Prewitt'', ``Central Difference'', and ``Intermediate Difference'' ones.
+En un pixel $(x_0,y_0)$, plus les valeurs de cette matrice sont éloignées de zéro,
+plus le gradient varie en ce point. Evaluer ce type de matrice est ainsi primordial
+en stéganographie. Cependant cette tâche n'est pas aussi triviale qu'elle n'y 
+paraît puisque les images naturelles ne sont pas  définies à l'aide 
+de fonction différentiables de $\R^+\times \R^+$
+dans $\R^+$. La suite montre comment obtenir des approximations de telles matrices. 
+
+\subsection{Approches classiques pour évaluer le gradient dans des images}\label{sub:class:1}
+Dans ce contexte, les approches les plus utilisées pour évaluer un gradient 
+sont ``Sobel'', ``Prewitt'', ``Différence centrale'' et `` Difference intermediaire''.
+Chacune de ces  approches applique un produit de convolution $*$ entre un noyau $K$
+(rappelé dans le tableau~\ref{table:kernels:usual}) et une fenêtre $A$ de taille 
+$3\times 3$. Le résultat 
+ $A * K$ est une approximation du gradient horizontal
+\textit{i.e.}, $\dfrac{\partial P}{\partial x}$.
+Soit $K\rl$ le résultat de la rotation  d'un angle $\pi/2$ sur $K$.
+La composante verticale du gradient,  $\dfrac{\partial P}{\partial y}$ est obtenue 
+de manière similaire en évaluant $A * K\rl$. Lorsqu'on applique ceci sur toute 
+la matrice image, on obtient peu ou prou une matrice de même taille pour chacune des 
+dérivées partielles. 
+
+Les deux éléments de la première ligne (respectivement de la seconde ligne) 
+de la matrice hessienne
+sont le résultat du calcul du gradient sur la matrice $\dfrac{\partial P}{\partial x}$
+(resp. sur la matrice  $\dfrac{\partial P}{\partial y}$).
 
 
 \begin{table}[ht]
-\caption{Kernels of usual image gradient operators\label{table:kernels:usual}
+\caption{Noyaux usuels pour évaluer des gradients d'images\label{table:kernels:usual}
 }
 \centering
 \scriptsize
 \begin{tabular}{|c|c|c|}
     \hline
-    Name&   Sobel & Prewitt \\
+    Nom&   Sobel & Prewitt \\
     \hline
-    Kernel & $\textit{Ks}= \begin{bmatrix} -1 & 0 & +1 \\ -2 & 0 & +2 \\ -1 & 0 & +1 \end{bmatrix} $ &
+    Noyau & $\textit{Ks}= \begin{bmatrix} -1 & 0 & +1 \\ -2 & 0 & +2 \\ -1 & 0 & +1 \end{bmatrix} $ &
     $\textit{Kp}= \begin{bmatrix} -1 & 0 & +1 \\ -1 & 0 & +1 \\ -1 & 0 & +1 \end{bmatrix} $\\
     \hline\hline
-    Name & Central & Intermediate \\
-            & Difference &Difference \\ 
+    Nom & Difference  & Différence  \\
+            & centrale & Intermediaire \\ 
     \hline
-    Kernel & $\textit{Kc}= \begin{bmatrix} 0&0&0 \\ -\dfrac{1}{2} & 0 & +\dfrac{1}{2} \\ 0&0&0 \end{bmatrix} $ &
+    Noyau & $\textit{Kc}= \begin{bmatrix} 0&0&0 \\ -\dfrac{1}{2} & 0 & +\dfrac{1}{2} \\ 0&0&0 \end{bmatrix} $ &
     $\textit{Ki}= \begin{bmatrix} 0&0&0 \\ 0 & -1 & 1 \\ 0&0&0 \end{bmatrix} $ \\
     \hline
 \end{tabular}
 \end{table}
 
 
-Each of these approaches applies a convolution product $*$ between a  kernel $K$ (recalled in Table~\ref{table:kernels:usual}) and 
- a $3\times 3$ window of pixel values $A$. The result 
- $A * K$ is an evaluation of the horizontal gradient, 
-\textit{i.e.}, $\dfrac{\partial P}{\partial x}$
-expressed as a matrix in $\R$.
-Let $K\rl$ be the result of a $\pi/2$ rotation applied on $K$. 
-The vertical gradient $\dfrac{\partial P}{\partial y}$ is similarly obtained by computing $A * K\rl$, which is again expressed as a matrix in $\R$.
-
-The two elements of the first line 
-of the Hessian matrix are the result
-of applying the horizontal gradient calculus 
-first on  $\dfrac{\partial P}{\partial x}$ and next 
-on  $\dfrac{\partial P}{\partial y}$. 
-Let us study these Hessian matrices in the next section.
 
 
-\subsection{Hessian Matrices induced by Gradient Image Approaches}\label{sub:class:2}
+\subsection{Matrices hessiennes induites  par des approches 
+de gradient d'images}\label{sub:class:2}
+Il est connu que  
+$\dfrac{\partial^2 P}{\partial x \partial y} $ est égal à 
+$\dfrac{\partial^2 P}{\partial y \partial x}$ si 
+les méthode qui calculent le grandient et le gradient du gradient (la matrice hessienne)
+sont les mêmes.
 
-First of all, it is well known that 
-$\dfrac{\partial^2 P}{\partial x \partial y} $ is equal to 
-$\dfrac{\partial^2 P}{\partial y \partial x}$ if  
-the approach that computes the gradient and the
-one which evaluates the Hessian matrix are the same.
 For instance, in the Sobel approach, 
 it is easy to verify that the calculus of 
 $\dfrac{\partial^2 P}{\partial x \partial y}$