% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
\PassOptionsToPackage{dvipsnames,svgnames*,x11names*}{xcolor}
%
\documentclass[
  11pt,
  british,
  ignorenonframetext,
  aspectratio=169,
  aspectratio=169]{beamer}
\usepackage{pgfpages}
\setbeamertemplate{caption}[numbered]
\setbeamertemplate{caption label separator}{: }
\setbeamercolor{caption name}{fg=normal text.fg}
\beamertemplatenavigationsymbolsempty

\RequirePackage{luatex85}
\usepackage{ragged2e}

\newcommand\BR[1]{\textcolor{red!80!black}{\textbf{#1}}}
\newcommand\ABC[1]{\textcolor{red!80!black}{#1}}
\newcommand\DEF[1]{\textcolor{blue!80!black}{#1}}
\newcommand\SIM[1]{\textcolor{green!40!black}{#1}}


\newcommand\source[1]{\textcolor{red!80!black}{#1}}
\newcommand\target[1]{\textcolor{blue!80!black}{#1}}
\newcommand\other[1]{\textcolor{green!60!black}{#1}}

\usepackage{tikz}
\usepackage{pgffor}
\newcommand\mytikzmark[3][]{%
  \tikz[remember picture,baseline=(#2.base)]{\node(#2)[outer sep=0pt,#1]{#3};}%
}
%\usepackage{adjustbox}
\usepackage[export]{adjustbox}
\usepackage{bm}

\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}


%%
%%% Definition of colors
%%% Source: https://latexcolor.com/
\definecolor{blanchedalmond}{rgb}{1.0, 0.92, 0.8}
\definecolor{blond}{rgb}{0.98, 0.94, 0.75}
%%% End of definition of colors
%%


\usepackage{float}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}

% Prevent slide breaks in the middle of a paragraph
\widowpenalties 1 10000
\raggedbottom
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
  \usepackage[T1]{fontenc}
  \usepackage[utf8]{inputenc}
  \usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
  \usepackage{unicode-math}
  \defaultfontfeatures{Scale=MatchLowercase}
  \defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
%\setsansfont{Overlock} % cute !
\iffalse
\usepackage{fontspec}
\setmainfont[
    Path           = /home/jfeydy/.local/share/fonts/,
    Extension      = .otf,
    Ligatures      = TeX,
    BoldFont       = GaramondLibre-Bold,
    ItalicFont     = GaramondLibre-Italic
]{GaramondLibre-Regular}
\fi


\fi
\usetheme[]{metropolis}
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
  \usepackage[]{microtype}
  \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
  \IfFileExists{parskip.sty}{%
    \usepackage{parskip}
  }{% else
    \setlength{\parindent}{0pt}
    \setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
  \KOMAoptions{parskip=half}}
\makeatother
\usepackage{xcolor}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\IfFileExists{bookmark.sty}{\usepackage{bookmark}}{\usepackage{hyperref}}
\hypersetup{
  pdftitle={Quels logiciels pour l'apprentissage en anatomie ?},
  pdfauthor={Jean Feydy},
  pdflang={en-GB},
  colorlinks=true,
  linkcolor=black,
  filecolor=Maroon,
  citecolor=Blue,
  urlcolor=blue,
  pdfcreator={LaTeX via pandoc}}
\urlstyle{same} % disable monospaced font for URLs
\newif\ifbibliography
\usepackage{listings}
\newcommand{\passthrough}[1]{#1}
\lstset{defaultdialect=sh}
\lstset{framexleftmargin=0mm, frame=trBL,backgroundcolor=\color{blanchedalmond!5},numbers=left,numberstyle=\scriptsize,basicstyle=\small}
\lstset{aboveskip=5mm,belowskip=5mm,xleftmargin=20pt,xrightmargin=5pt}
% \lstset{prebreak={\raisebox{0ex}[0ex][0ex]}}
% \lstset{postbreak={\raisebox{0ex}[0ex][0ex]\space}}
\lstset{breaklines=true,breakatwhitespace=true}
\usepackage{graphicx,grffile}
\makeatletter
\def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi}
\def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi}
\makeatother
% Scale images if necessary, so that they will not overflow the page
% margins by default, and it is still possible to overwrite the defaults
% using explicit options in \includegraphics[width, height, ...]{}
\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
% Set default figure placement to htbp
\makeatletter
\def\fps@figure{htbp}
\makeatother
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering

%
% When using babel or polyglossia with biblatex, loading csquotes is recommended 
% to ensure that quoted texts are typeset according to the rules of your main language.
%
\usepackage{csquotes}




%
% blockquote
%
\definecolor{blockquote-border}{RGB}{221,221,221}
\definecolor{blockquote-text}{RGB}{89,89,89}
\usepackage{mdframed}
\newmdenv[rightline=false,bottomline=false,topline=false,linewidth=3pt,linecolor=blockquote-border,skipabove=\parskip]{customblockquote}
\renewenvironment{quote}{\begin{customblockquote}\list{}{\rightmargin=0em\leftmargin=0em}%
\item\relax\color{blockquote-text}\ignorespaces}{\unskip\unskip\endlist\end{customblockquote}}

%
% Source Sans Pro as the de­fault font fam­ily
% Source Code Pro for monospace text
%
% 'default' option sets the default 
% font family to Source Sans Pro, not \sfdefault.
%
\usepackage[default]{sourcesanspro}
\usepackage{sourcecodepro}

% XeLaTeX specific adjustments for straight quotes: https://tex.stackexchange.com/a/354887
% This issue is already fixed (see https://github.com/silkeh/latex-sourcecodepro/pull/5) but the 
% fix is still unreleased.
% TODO: Remove this workaround when the new version of sourcecodepro is reelased on CTAN.
\ifxetex
\makeatletter
\defaultfontfeatures[\ttfamily]
  { Numbers   = \sourcecodepro@figurestyle,
    Scale     = \SourceCodePro@scale,
    Extension = .otf }
\setmonofont
  [ UprightFont    = *-\sourcecodepro@regstyle,
    ItalicFont     = *-\sourcecodepro@regstyle It,
    BoldFont       = *-\sourcecodepro@boldstyle,
    BoldItalicFont = *-\sourcecodepro@boldstyle It ]
  {SourceCodePro}
\makeatother
\fi

\ifxetex
  % Load polyglossia as late as possible: uses bidi with RTL langages (e.g. Hebrew, Arabic)
  \usepackage{polyglossia}
  \setmainlanguage[]{}
\else
  \usepackage[shorthands=off,main=british]{babel}
\fi

\iffalse
\title{\centering Quels logiciels pour
l'apprentissage en anatomie ?}


\author[shortname]{\centering Jean
Feydy \\ HeKA team, Inria Paris \\ Inserm, Université Paris-Cité \\[.5cm]}
\fi

%\newcommand{\EPITA}{EPITA}
\ifdefined\EPITA

\title{\centerline{AI for healthcare}}
\subtitle{\centerline{Lecture 4/4 -- Geometric deep learning}}
\author[shortname]{\centering {\large Jean Feydy} \\
HeKA team, Inria Paris, Inserm, Université Paris-Cité \\[.5cm]}

\date{\centering {\large \textbf{Thursday, 2pm--5pm} -- 4 lectures \\[.25cm] \textbf{Epita}, rooms KB404 + SM15 \\[.25cm] Validation: team project + quizz}}

\else 

\title{\centerline{Quels logiciels pour l'apprentissage en anatomie ?}}
\subtitle{\centerline{IABM 2023, Institut Curie}}
\author[shortname]{\centering {\large Jean Feydy} \\
Équipe HeKA, Inria Paris, Inserm, Université Paris-Cité \\[.5cm]}

\date{\centering {\large \textbf{Jeudi 30 mars 2023}}}

\fi


%\date{\centering 17 sept 2021}
%





\usepackage{booktabs}
\usepackage[scale=2]{ccicons}

\usepackage{changepage}

\usepackage[cache=false]{minted}

\usepackage{import}
\usepackage{mathtools}
\usepackage{subcaption}
\usepackage{hyperref}
\usepackage[normalem]{ulem}
\usepackage{makecell}
\usepackage{multirow}
\usepackage{xspace}
\usepackage{xstring}

\definecolor{x}{RGB}{8,8,153}
\definecolor{y}{RGB}{153,8,8}
\definecolor{c}{RGB}{0,100,0}
\definecolor{k}{RGB}{0,100,0}
\definecolor{q}{RGB}{60,60,200}
\definecolor{v}{RGB}{60,180,200}
\definecolor{p}{RGB}{30,140,210}
%\definecolor{phi}{RGB}{130,130,130}
\definecolor{phi}{RGB}{100,123,139}
%\definecolor{gamma}{RGB}{100,123,139}
\definecolor{gamma}{RGB}{80,103,120}
%\definecolor{otplan}{RGB}{204,230,255}
\definecolor{otplan}{RGB}{140,210,255}


\definecolor{dblue}{RGB}{0,0,200}
\definecolor{dred} {RGB}{200,0,0}
\definecolor{dgreen} {RGB}{0,150,0}
\definecolor{green} {RGB}{0,250,0}
\definecolor{b}{RGB}{0,0,255}
\definecolor{a} {RGB}{255,0,0}
\definecolor{grayish}{RGB}{150,150,150}

\definecolor{om}{RGB}{0,0,200}
\newcommand{\om}[1]{\textcolor{om}{#1}}

\newcommand{\xc}[1]{\textcolor{x}{#1}}
\newcommand{\yc}[1]{\textcolor{y}{#1}}

\renewcommand{\a}[1]{\textcolor{dred}{#1}}
\renewcommand{\b}[1]{\textcolor{dblue}{#1}}
\renewcommand{\v}[1]{\textcolor{dgreen}{#1}}
\newcommand{\p}[1]{\textcolor{phi}{#1}}
\newcommand{\g}[1]{\textcolor{gamma}{#1}}


\newcommand{\al}{\text{A}}
\newcommand{\be}{\text{B}}
\newcommand{\OT}{\mathrm{OT}}
\newcommand{\D}{\text{D}}
\renewcommand{\S}{\text{S}}
%\renewcommand{\C}{\text{C}}
%\newcommand{\C}{\text{C}}
\newcommand{\K}{\text{K}}



\renewcommand{\d}{\text{d}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\N}{\mathbb{N}}
%\newcommand{\C}{\mathbb{C}}
\newcommand{\telque}{~|~}
\newcommand{\ilexiste}{\exists~}
\newcommand{\pourtout}{\forall~}
\newcommand{\non}{\neg\,}
\newcommand{\conv}{\star}
\renewcommand{\t}[1]{#1^{\mathsf{T}}}
\renewcommand{\phi}{\varphi}
\newcommand{\fou}[1]{\widehat{#1}}
\newcommand{\zp}[2][p]{%
  \!\IfStrEqCase{#1}{%
    {p}{\left(}%
    {c}{\:\left[}%
    {a}{\left\{}%
    {abs}{\left|}%
    {n}{\left\|}%
    {s}{\left<}%
    {i}{\left[\!\left[}%
  }[\left(]%
    #2%
  \IfStrEqCase{#1}{%
    {p}{\right)}%
    {c}{\right]}%
    {a}{\right\}}%
    {abs}{\right|}%
    {n}{\right\|}%
    {s}{\right>}%
    {i}{\right]\!\right]}%
  }[\right)]%
} 

\newcommand{\contexte}[1]{\textcolor{blue}{\textbf{#1}~~}}
\newcommand{\defi}[1]{\textcolor{red!65!black}{\textbf{#1}~~}}
\renewcommand{\solution}[1]{\textcolor{green!60!black}{\textbf{#1}~~}}

\theoremstyle{definition}
%\newtheorem{definition}{Définition}
\newtheorem{dfn}{Définition}

\theoremstyle{plain}
\newtheorem{theoreme}{Theorem}

\theoremstyle{remark}
\newtheorem{rque}{Remarque}

\renewcommand{\epsilon}{\text{\varepsilon}}


\definecolor{court}{RGB}{0,90,190}
\definecolor{moyen}{RGB}{190,0,0}
\definecolor{longterme}{RGB}{40,150,0}
\newcommand{\court}[1]{\textcolor{court}{\textbf{#1}}}
\newcommand{\moyen}[1]{\textcolor{moyen}{\textbf{#1}}}
\newcommand{\longterme}[1]{\textcolor{longterme}{\textbf{#1}}}


\metroset{subsectionpage=progressbar,
          progressbar=frametitle,
          block=fill}


\begin{document}
\frame{\titlepage}

\begin{frame}{HeKA : une équipe à l'interface pour
la santé publique}
\protect\hypertarget{heka-une-uxe9quipe-uxe0-linterface-pour-la-santuxe9-publique}{}
\begin{center}

\includegraphics[width=\textwidth,height=7cm]{images/HeKA.pdf}

\end{center}
\end{frame}

\begin{frame}{PariSanté Campus}
\protect\hypertarget{parisantuxe9-campus}{}
\vspace*{.5cm}

\begin{columns}[T]
\begin{column}{0.4\textwidth}
\begin{center}
\includegraphics[width=\textwidth,height=4.5cm]{images/Curie_PSC.png}

\end{center}
\end{column}

\begin{column}{0.6\textwidth}
\begin{center}
\includegraphics[width=\textwidth,height=4.5cm]{images/PariSanteCampus.jpg}

\end{center}
\end{column}
\end{columns}
\end{frame}

\begin{frame}{L'anatomie numérique}
\protect\hypertarget{lanatomie-numuxe9rique}{}
\vspace*{.5cm}

\includegraphics[width=1\textwidth,height=\textheight]{images/pipeline.png}

\vspace*{.25cm}

\begin{center} Comment passer d'un \textbf{tableau
de nombres} à une représentation
\(\BR{intelligible}\) ? \end{center}
\end{frame}

\begin{frame}{Aujourd'hui : un état des lieux sur
nos outils logiciels}
\protect\hypertarget{aujourdhui-un-uxe9tat-des-lieux-sur-nos-outils-logiciels}{}
\hfill\break
\textbf{1.} Qu'est-ce qu'une \textbf{image} ?

\hfill\break
\textbf{2.} Quels \textbf{logiciels pour l'IA} ?

\hfill\break
\textbf{3.} \(\BR{Complétons}\) notre boîte à
outils.
\end{frame}

\hypertarget{quest-ce-quune-image}{%
\section{Qu'est-ce qu'une image
?}\label{quest-ce-quune-image}}

\begin{frame}{Une image : trois niveaux d'analyse
\cite{heart_raw, heart_pop}}
\protect\hypertarget{une-image-trois-niveaux-danalyse}{}
\vspace{-.43cm}
\begin{align*}
  \onslide<2->{ \text{1. Pixels} }&&
  \onslide<3->{ \text{2. Anatomie} } &&
  \onslide<5->{ \text{3. Fonction} }
\end{align*}

\begin{figure}
  \centering %
    \only<1-2>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/heart_raw.png} }%
    \only<3>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/heart_segmented.png} }%
    \only<4>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/dev_coeurs_2.png} }%
    \only<5>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_0.png} }%
    \only<6>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_1.png} }%
    \only<7>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_2.png} }%
    \only<8>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_3.png} }%
    \only<9>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_4.png} }%
    \only<10>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_5.png} }%
    \only<11>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_6.png} }%
    \only<12>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_7.png} }%
    \only<13>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_8.png} }%
    \only<14>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_9.png} }%
    \only<15>{ \includegraphics[height=.7\textheight,width=\textwidth]{images/hearts/hearts_0.png} }%
    \only<16->{ 
    \includegraphics[height=.55\textheight]{images/heart_models.png}
    \begin{center}
    En simplifiant beaucoup, chaque niveau de description\\
    correspond à une manière de \textbf{regrouper les pixels}.
    \end{center}
    }%
\end{figure}
\end{frame}

\begin{frame}{1er niveau : grille de pixels}
\protect\hypertarget{er-niveau-grille-de-pixels}{}
        \begin{columns}[t]
        \begin{column}{.5\linewidth}

        \begin{center}
            \vspace*{.4cm}

            \includegraphics[width=.8\linewidth]{images/bitmap/mini_bitmap.png}%

            Tableau $N_x \times N_y \times N_z$ de pixels.
        \end{center}
            
        \end{column}
        \begin{column}{.45\linewidth}

      \vspace*{.5cm}

            Images et volumes \textbf{bitmap} :
            \begin{itemize}
                \item \texttt{.bmp}, \texttt{.png}, \texttt{.jpg} 
                \item Standard en \textbf{radiologie}.\\[.5cm]
                \item[$+$] Structure mémoire ordonnée.
                \item[$+$] Voisinages explicites.
                \item[$+$] \textbf{Convolutions} rapides. \\[.5cm]
                \item[$\rightarrow$] Analyse de \textbf{texture}.
                \item[$\rightarrow$] \textbf{Segmentation} des tissus.
                \item[$\rightarrow$] \textbf{Détection} de motifs. 
            \end{itemize}
        \end{column}
    \end{columns}   
\end{frame}

\begin{frame}{2ème niveau : nuages de points et
surfaces 3D \cite{heart_raw}}
\protect\hypertarget{uxe8me-niveau-nuages-de-points-et-surfaces-3d}{}
\begin{columns}[t]
  \begin{column}{.5\linewidth}

  \begin{center}
    \vspace*{1cm}

    \includegraphics[width=.8\linewidth]{images/bitmap/mesh.png}%

    Tableau $N_{\text{points}} \times 3$ \\
    de coordonnées $(x,y,z)$.
  \end{center}
    
  \end{column}
  \begin{column}{.45\linewidth}

    \vspace*{.5cm}

    \textbf{Nuages de points} ($\pm$ triangles) :
    \begin{itemize}
      \item \texttt{.svg}
      \item Standard pour le \textbf{jeu vidéo}.\\[.5cm]
      \item[$+$] Représentation compacte.
      \item[$+$] Géométrie de haute précision.
      \item[$+$] \textbf{Facile à déformer}. \\[.5cm]
      \item[$\rightarrow$] \textbf{Visualisation 3D}.
      \item[$\rightarrow$] \textbf{Atlas} anatomiques.
      \item[$\rightarrow$] Analyse des \textbf{formes}.
    \end{itemize}
  \end{column}
\end{columns}   
\end{frame}

\begin{frame}{3ème niveau : modèle biomécanique ou
physiologique \cite{heart_pop}}
\protect\hypertarget{uxe8me-niveau-moduxe8le-biomuxe9canique-ou-physiologique}{}
\begin{columns}[t]
  \begin{column}{.5\linewidth}

  \begin{center}
    \vspace*{.5cm}

    \includegraphics[height=5cm]{images/bitmap/hearts_1.png}%

    Mesh volumique, \\graphe d'interactions.
  \end{center}
    
  \end{column}
  \begin{column}{.45\linewidth}

    \vspace*{.5cm}

    \textbf{Modèle physique, biologique} :
    \begin{itemize}
      \item Éléments finis, réseaux.
      \item Standard pour la \textbf{CAO}.\\[.5cm]
      \item[$+$] \textbf{Connaissance} a priori.
      \item[$+$] \textbf{Robuste} au bruit.
      \item[$+$] Comportement \textbf{réaliste}. \\[.5cm]
      \item[$\rightarrow$] Interprétation \textbf{physiologique}.
      \item[$\rightarrow$] \textbf{Inférer} ce qui est invisible.
      \item[$\rightarrow$] \textbf{Simuler} une intervention.
    \end{itemize}
  \end{column}
\end{columns}   
\end{frame}

\begin{frame}{Forces et faiblesses de ces
représentations}
\protect\hypertarget{forces-et-faiblesses-de-ces-repruxe9sentations}{}
Comment chercher les \textbf{voisins} d'un point
de l'espace ?

\begin{itemize}
\tightlist
\item
  Sur une \textbf{grille} :
  \(\textcolor{green!60!black}{\text{immédiat}}\).
\item
  Avec \(N\) \textbf{points} \((x,y,z)\) :
  \(\text{\textcolor{red!60!black}{calcul}}\) de
  \(N\) distances, ou
  \(\text{\textcolor{red!60!black}{construction}}\)
  d'un arbre.
\end{itemize}

\hfill\break
Comment faire \textbf{pivoter} un organe de 10° ?

\begin{itemize}
\tightlist
\item
  Sur une \textbf{grille} :
  \(\text{\textcolor{red!60!black}{artefacts}}\),
  perte de détails, transferts de mémoire.
\item
  Avec \(N\) \textbf{points} \((x,y,z)\) :
  arithmétique
  \(\text{\textcolor{green!60!black}{simple}}\)
  sur les coordonnées.
\end{itemize}

\begin{center} ~\\ \textbf{Efficacité} numérique
\(\Longleftrightarrow\) Entraînement sur de
\(\BR{grandes bases de données}\). \end{center}
\end{frame}

\begin{frame}{Bilan}
\protect\hypertarget{bilan}{}
En imagerie médicale, on peut travailler avec:

\begin{itemize}
\tightlist
\item
  Une \textbf{grille de pixels} 2D ou 3D.
\item
  Un \textbf{tableau de coordonnées} \((x,y,z)\).
\item
  Un \textbf{réseau d'interactions} complexes.
\item
  Les trois à la fois!
\end{itemize}

\begin{center}
~\\
Dans tous les cas, il s'agit de définir une
grande \BR{formule structurée} :
\begin{align*}
  \text{image} \xrightarrow{~~~F~~~} F\,(\text{image}) \simeq \text{diagnostic}
\end{align*}

On parle d'\textbf{architecture} de calcul paramétrique\\
$\simeq$ \textbf{modèle} à fitter $\simeq$ \textbf{réseau} à entraîner.
\end{center}
\end{frame}

\hypertarget{quels-outils-logiciels-pour-lia}{%
\section{Quels outils logiciels pour l'IA
?}\label{quels-outils-logiciels-pour-lia}}

\begin{frame}{Le matériel est au cœur de la
``révolution de l'IA''}
\protect\hypertarget{le-matuxe9riel-est-au-cux153ur-de-la-ruxe9volution-de-lia}{}
L'\textbf{imagerie} et l'\textbf{apprentissage}
automatique sont étudiés depuis des
\textbf{décennies}.\\
\textbf{Percée} en 2010-15 : utiliser des
\(\BR{PlayStations}\) pour faire de la
\(\BR{science}\) est devenu \textbf{facile}.

\begin{columns}[T]
\begin{column}{0.7\textwidth}
\hfill\break
\hfill\break
Effort de recherche à tous les niveaux vers:

\begin{itemize}
\tightlist
\item
  Un \textbf{matériel} toujours plus puissant.
\item
  Des \textbf{bibliothèques} toujours plus
  souples.
\item
  Des \textbf{modèles} toujours plus pertinents.
\end{itemize}

\hfill\break
\hfill\break
Résultats \textbf{spectaculaires} obtenus dans
quelques domaines\\
\(\Longrightarrow~~\) grands
\(\BR{investissements}\) publics et privés.
\end{column}

\begin{column}{0.3\textwidth}
\begin{center}

\includegraphics[width=\textwidth,height=4cm]{images/ampere.jpg}

\hfill\break
\textbf{7,000 cœurs} sur un GPU.

\end{center}
\end{column}
\end{columns}
\end{frame}

\begin{frame}{Pour aller au-delà des prototypes,
une suite logicielle complète est nécessaire}
\protect\hypertarget{pour-aller-au-deluxe0-des-prototypes-une-suite-logicielle-compluxe8te-est-nuxe9cessaire}{}
\vspace*{.5cm}

\centerline{
\begin{tabular}{c@{~~}c@{~~$+$~~}c@{~~$+$~~}c@{~~$\Longrightarrow$~~}c}
\BR{Graphisme~:} & \textcolor{red!50!black}{Imprimante} & \textcolor{red!50!black}{Driver} & \BR{Photoshop} & \textcolor{red!50!black}{Dessins} \\[1cm]
\makecell{\textbf{Données}\\\textbf{tabulaires~:}} & GPU & \textbf{cuBLAS} & \makecell{ \textbf{PyTorch} \\ TensorFlow } 
& \makecell{Réseaux de neurones \\ \textbf{``classiques''}} \\[1cm]
\makecell{\textbf{Grilles}\\\textbf{de pixels~:}} & GPU & \textbf{cuDNN} & \makecell{ PyTorch \\ TensorFlow } 
& \makecell{Réseaux de neurones \\ \textbf{convolutifs}} \\[1cm]
\makecell{\textbf{Nuages de points}\\\textbf{et graphes~:}} & GPU & \textbf{CUDA} & 
\BR{??}
& \makecell{Réseaux de neurones \\ \textbf{géométriques}}
\end{tabular}
}
\end{frame}

\hypertarget{compluxe9tons-notre-bouxeete-uxe0-outils}{%
\section{Complétons notre boîte à
outils}\label{compluxe9tons-notre-bouxeete-uxe0-outils}}

\begin{frame}{Comment développe-t-on un logiciel
d'imagerie médicale ?}
\protect\hypertarget{comment-duxe9veloppe-t-on-un-logiciel-dimagerie-muxe9dicale}{}
\textbf{2000--2010 :} bases de code
\(\BR{``monolithiques''}\) en C++

\begin{itemize}
\tightlist
\item
  Le C++ est incontournable pour les performances
  en 3D.
\item
  \textbf{Difficile à maintenir} et à faire
  \textbf{évoluer}.
\end{itemize}

\textbf{2010--2020 :} développement
\(\BR{modulaire}\) en Python/C++

\begin{itemize}
\tightlist
\item
  \textbf{Appeler une bibliothèque C++} depuis
  Python est devenu facile.
\item
  Alliance de la souplesse du Python et des
  performances du C++.
\item
  Échanges entre les communautés, \textbf{facilité
  d'adoption} par les nouveaux venus.
\end{itemize}

\textbf{2020--2030 :}
\(\BR{dépasser les limites des bibliothèques}\)
C++ existantes

\begin{itemize}
\tightlist
\item
  \textbf{Générer du code C++} pour GPU et le
  compiler à la volée est devenu facile.
\item
  Maintenir une extension de PyTorch ``optimisée
  pour \ldots{}'' devient raisonnable.
\end{itemize}
\end{frame}

\begin{frame}{Exemple : la bibliothèque KeOps
\texttt{~~www.kernel-operations.io}}
\protect\hypertarget{exemple-la-bibliothuxe8que-keops}{}
\begin{center}

\includegraphics[width=\textwidth,height=7cm]{images/keops.pdf}

\end{center}
\end{frame}

\begin{frame}{Des interfaces haut niveau pour
passer du prototype à la production}
\protect\hypertarget{des-interfaces-haut-niveau-pour-passer-du-prototype-uxe0-la-production}{}
\begin{columns}[T]
\begin{column}{0.5\textwidth}
\hfill\break
Un écosystème en construction :\\
\strut \\

\begin{itemize}
\item
  \textbf{PyG} : depuis 2018

  \begin{itemize}
  \tightlist
  \item
    \(\BR{Deep learning sur les graphes.}\)
  \item
    Basé sur torch-scatter, etc.\\
    \strut \\
  \end{itemize}
\item
  \textbf{PyVista} : depuis 2019

  \begin{itemize}
  \tightlist
  \item
    \(\BR{Visualisation 3D.}\)
  \item
    Basé sur VTK.\\
    \strut \\
  \end{itemize}
\item
  \textbf{scikit-shapes} : en cours

  \begin{itemize}
  \tightlist
  \item
    \(\BR{Analyse de formes.}\)
  \item
    Basé sur KeOps.
  \end{itemize}
\end{itemize}
\end{column}

\begin{column}{0.5\textwidth}
\begin{center}
\includegraphics[width=\textwidth,height=5.5cm]{images/arteries.png}

Réseau artériel cérébral.\\
Comment apprendre de cet objet ? \end{center}
\end{column}
\end{columns}
\end{frame}

\begin{frame}{Conclusion}
\protect\hypertarget{conclusion}{}
\begin{itemize}
\item
  Les \textbf{cartes graphiques} (GPUs) sont le
  moteur de l'IA.
\item
  Un \textbf{environnement logiciel}
  \(\BR{complet}\) est nécessaire, du C++ au
  Python.
\item
  Depuis 2015, l'\textbf{imagerie médicale} a pu
  surfer sur une vague\\
  d'investissement des \textbf{GAFA} pour le
  traitement d'\(\BR{images naturelles}\).\\
  \strut \\
  Avancées : \textbf{segmentation}, traitement de
  la \textbf{texture} et \textbf{détection} de
  lésions.\\
\item
  Quid de la planification \textbf{chirurgicale},
  la \textbf{morphométrie}, l'analyse
  \textbf{vasculaire}\ldots{} ?\\
  \strut \\
  Un \textbf{investissement dans les}
  \(\BR{fondations numériques}\) du domaine est en
  cours.\\
\end{itemize}
\end{frame}

\hypertarget{references}{%
\section{References}\label{references}}



\begin{frame}[allowframebreaks]{References}
	\bibliography{biblio}
	\bibliographystyle{alpha}
\end{frame}


\end{document}
