diff --git a/453/Cours/chap1.tex b/453/Cours/chap1.tex index 74f3d4a..be5485a 100644 --- a/453/Cours/chap1.tex +++ b/453/Cours/chap1.tex @@ -3,7 +3,73 @@ \section{Introduction} \subsection{Domaines d'applications} Refaire le graphe stylé en TikZ -\emph{Whoua c'est vachement stylé le TI} + +% \begin{figure}[H] +% \centering +% \begin{tikzpicture} +% \tikzset{every node/.append style={scale=0.5}} +% \path[mindmap,concept color=green!50!black, text=white, +% level 1/.append style={level distance=3cm}, +% level 2/.append style={level distance=1.5cm}] + +% node[concept](TI) at (0,0){Traitement D'image} +% child[grow = 90, concept color = green!75!black]{ +% node[concept](ImMed){Imagerie Médicale}[clockwise from = -60] +% child{node[concept](seg) {Segmentation}} +% child{node[concept](therapie){Therapie}} +% child{node[concept](debruit){Débruitage}} +% child{node[concept](Imcel){Imagerie Cellulaire}} +% child{node[concept](Recal){Recalage}} +% child{node[concept](Rec3D){Reconstruction 3D}} +% } +% child[grow = 0,level distance=5cm, concept color = violet]{ +% node[concept](VRob){Vision Robotique} +% child[grow=90]{node[concept](Carto) {Cartographie}} +% child[grow=0]{node[concept](Ass){Assistance}} +% child[grow=-90]{node[concept](VR){VR}} +% } +% child[grow = -90, concept color = orange]{ +% node[concept](Index){Indexation d'image} +% child[grow=30]{node[concept](reco) {Reconnaissance de forme}} +% child[grow=150]{node[concept](fouille){Fouille d'image}} +% child[grow=270]{node[concept](Biomet){Biométrie}} +% } +% child[grow = 180,level distance=5cm, concept color = violet]{ +% node[concept](ImSat){Imagerie satellitaire} +% child[grow=180]{node[concept](prev) {Prévisions}} +% child[grow=90]{node[concept](Surv){Surveillance}} +% }; +% \path[mindmap,concept color=brown!80!white!60!green, text=white] +% node[concept](Phy) at (-6,4){Physique}; +% \path[mindmap,concept color=blue!80!white!60!green, text=white] +% node[concept](Algo) at (-6,-4){Algorithmique}; +% \path[mindmap,concept color=brown!80!black, text=white] +% node[concept](AppStat) at (6,-4){Apprentissage Statistique}; +% \path[mindmap,concept color=blue!80!white!60!green, text=white] +% node[concept](Opti) at (6,4){Optimisation}; + +% \begin{pgfonlayer}{background} +% \draw (Phy) to[circle connection bar] (ImSat); +% \draw (Algo) to[circle connection bar] (ImMed); +% \draw (Algo) to[circle connection bar] (Index); +% \draw (Phy) to[circle connection bar] (ImMed); +% \draw (Opti) to[circle connection bar] (ImMed); +% \draw (Opti) to[circle connection bar] (VRob); +% \draw (AppStat) to[circle connection bar] (VRob); +% \draw (AppStat) to[circle connection bar] (Index); + +% \draw (seg) to[circle connection bar] (ImSat); +% \draw (Surv) to[circle connection bar] (VRob); +% \draw (ImSat) to[circle connection bar] (Carto); +% \draw (ImSat) to[circle connection bar] (reco); +% \draw (reco) to[circle connection bar] (ImMed); +% \draw (reco) to[circle connection bar] (ImSat); + +% \end{pgfonlayer} +% \end{tikzpicture} +% \caption{Domaines et interface du Traitement d'image} +% \end{figure} + \subsection{Définion} \begin{defin} @@ -14,6 +80,17 @@ Refaire le graphe stylé en TikZ \end{itemize} \end{defin} +\begin{figure}[H] + \centering + \includegraphics[width=0.7\textwidth]{img/mona_lisa_echantillon.png} + \caption{Echantillonage spatial} +\end{figure} +\begin{figure}[H] + \centering + \includegraphics[width=0.7\textwidth]{img/mona_lisa_quantif.png} + \caption{Quantification} +\end{figure} + \subsection{Notation et structure} Pour accéder aux pixel d'une image: @@ -158,7 +235,7 @@ Une autre possibilité et de faire de l'égalisation d'histogramme pour se rappr \item déconvolution (Fergus et al.) : il faut avoir le mouvement ("masque") pour pouvoir déconvoluer. Par minimisation de l'énergie, on essaye de trouver cette trajectoire de l'échec. \end{itemize} -\section{Filtrage} +\section{Filtrage Linéaire} \paragraph{Caractéristiques} \begin{itemize} \item processus qui élimine une composante indésirable d’un signal @@ -172,7 +249,6 @@ classifications très variées : \item etc. \end{itemize} \end{itemize} -\section{Filtrage Linéaire} \subsection{Généralités} \subsubsection{Formulation de Base (1D)} \begin{defin} @@ -300,7 +376,11 @@ et son \emph{orientation}: \theta = \arctan( \frac{I \star H_y}{I \star H_x}) \] \end{prop} - +\begin{figure}[H] + \centering + \includegraphics[width=0.7\textwidth]{img/sobel_magnitude.png} + \caption{Echantillonage spatial} +\end{figure} \subsection{Implémentation du filtrage} \begin{itemize} @@ -440,11 +520,10 @@ où le point de coordonnées $(a, b)$ est le centre du cercle et $r$ en est le r \paragraph{Méthode} -Dans l'espace (a, b, r), un cercle est caractérisé par un point. L'ensemble des cercles passant par un point M(x, y) donné forme un cône de sommet (a = x, b = y, r = 0) et d'axe r. Un « bon candidat » correspond à l'intersection de plusieurs cônes. +Dans l'espace (a, b, r), un cercle est caractérisé par un point. L'ensemble des cercles passant par un point $M(x, y)$ donné forme un cône de sommet $(a = x, b = y, r = 0)$ et d'axe $r$. Un « bon candidat » correspond à l'intersection de plusieurs cônes. -Si le rayon du cercle recherché est connu, on peut alors se placer dans le plan (a, b). Dans ce plan, l'ensemble des cercles passant par M est décrit par le cercle de centre (a = x, b = y) et de rayon r. Un bon candidat est donc à l'intersection de plusieurs cercles. On construit une matrice d'accumulation A : chaque élément Ai, j de la matrice contient le nombre de cercles passant par le point, ou bien par un carré de plusieurs pixels, correspondant à cet élément. -Si le rayon est inconnu, la méthode de recherche consiste à construire une hypermatrice d'accumulation dont chaque cellule Ai, j, k correspond à un cube de l'espace (a, b, r), en balayant tous les rayons possible de 1 pixel jusqu'à la dimension de l'image. +Si le rayon est inconnu, la méthode de recherche consiste à construire une hypermatrice d'accumulation dont chaque cellule $A_{i, j, k}$ correspond à un cube de l'espace $(a, b, r)$, en balayant tous les rayons possible de 1 pixel jusqu'à la dimension de l'image. \begin{listing} \inputminted{python}{hough.py} @@ -630,6 +709,15 @@ Une autre alternative est d'utilisé une autre fonction de cout (cf UE 451),qui `` RANSAC, abréviation pour RANdom SAmple Consensus, est une méthode pour estimer les paramètres de certains modèles mathématiques. Plus précisément, c'est une méthode itérative utilisée lorsque l'ensemble de données observées peut contenir des valeurs aberrantes (outliers). Il s'agit d'un algorithme non-déterministe dans le sens où il produit un résultat correct avec une certaine probabilité seulement, celle-ci augmentant à mesure que le nombre d'itérations est grand. L'algorithme a été publié pour la première fois par Fischler et Bolles en 1981'' \end{defin} +\begin{figure}[H] + \centering + \includegraphics[width=0.3\textwidth]{img/ransac_0.png}% + \includegraphics[width=0.3\textwidth]{img/ransac_1.png} + \includegraphics[width=0.3\textwidth]{img/ransac_2.png}% + \includegraphics[width=0.3\textwidth]{img/ransac_3.png} + \caption{Méthode RANSAC} +\end{figure} +\newpage \paragraph{Algorithme}~\\ \textbf{entrées :}\vspace{-1em} \begin{verbatim} diff --git a/453/Cours/img/Gaussian_LoG.png b/453/Cours/img/Gaussian_LoG.png new file mode 100644 index 0000000..ff55c9b Binary files /dev/null and b/453/Cours/img/Gaussian_LoG.png differ diff --git a/453/Cours/img/mona_lisa_echantillon.png b/453/Cours/img/mona_lisa_echantillon.png new file mode 100644 index 0000000..2e56483 Binary files /dev/null and b/453/Cours/img/mona_lisa_echantillon.png differ diff --git a/453/Cours/img/mona_lisa_quantif.png b/453/Cours/img/mona_lisa_quantif.png new file mode 100644 index 0000000..b4d8ad1 Binary files /dev/null and b/453/Cours/img/mona_lisa_quantif.png differ diff --git a/453/Cours/img/ransac_0.png b/453/Cours/img/ransac_0.png new file mode 100644 index 0000000..4ed8bad Binary files /dev/null and b/453/Cours/img/ransac_0.png differ diff --git a/453/Cours/img/ransac_1.png b/453/Cours/img/ransac_1.png new file mode 100644 index 0000000..7177bcf Binary files /dev/null and b/453/Cours/img/ransac_1.png differ diff --git a/453/Cours/img/ransac_2.png b/453/Cours/img/ransac_2.png new file mode 100644 index 0000000..6e48d86 Binary files /dev/null and b/453/Cours/img/ransac_2.png differ diff --git a/453/Cours/img/ransac_3.png b/453/Cours/img/ransac_3.png new file mode 100644 index 0000000..c57a1ee Binary files /dev/null and b/453/Cours/img/ransac_3.png differ diff --git a/453/Cours/img/sobel_magnitude.png b/453/Cours/img/sobel_magnitude.png new file mode 100644 index 0000000..043a3a7 Binary files /dev/null and b/453/Cours/img/sobel_magnitude.png differ diff --git a/453/Cours/main.tex b/453/Cours/main.tex index 65fc259..7a4840b 100644 --- a/453/Cours/main.tex +++ b/453/Cours/main.tex @@ -7,7 +7,8 @@ \let\snugshade\relax \let\endsnugshade\relax \usepackage{minted} \setminted{linenos=true, tabsize=4, fontsize=\small, xleftmargin=5pt, xrightmargin=5pt,bgcolor=gray!10,frame=lines,framesep=2mm} -% Mise en page + \usetikzlibrary{mindmap,backgrounds} + %Mise en page \title{Notes de Cours} \author{Pierre-Antoine Comby} \teacher{Emmanuel Aldea \& Thomas Rodet} @@ -17,9 +18,9 @@ \begin{document} \maketitle +\tableofcontents \chapter{Introduction au traitement d'image} \subfile{chap1.tex} -\chapter{Chapitre2} \end{document}