Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...

Page created by Tommy Kim
 
CONTINUE READING
Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...
« Meetup Data Science »
                      Mercredi 4 mars 2020

Comment l’IA démultiplie les fonctions cognitives ?

                                    A variant of machine learning engineer is called
                                    Deep Learning engineer. This role requires deep
                                    learning knowledge in addition to the skills profile
Jean-Marie PRIGENT                  (Modeling, Deployment, Data Engineering). It
                                    focuses on applications, usually powered by deep
    ML Engineer                     learning, such as speech recognition, natural
                                    language processing, and computer vision. Hence, it
    Altran Brest                    requires skills specific to deep learning projects such
                                    as understanding and using various neural network
                                    architectures such as fully connected networks,
                                    CNNs, and RNNs.
Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...
P as Passionately curious...
Big Data and DL but not only…
Drones, FPV, CV, Maker, 3D Printer,
Electronics, DonkeyCar, Edge, ...

linkedin.com/in/jmprigent
Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...
Machine Learning Ecosystem
Machine Learning Languages:             Data Processing:
 - Python / R / (C++)                    - BIG Data framework
                                              (Cloudera/HDP/Oozie/Pig/Spark/
General Machine Learning Frameworks           Scala )
 - Numpy                                 - Apache Airflow, NIFI
 - Scikit-Learn
 - NLTK, Spacy                          Hardware Training:
                                         - CPU, GPU, TPU, Cloud
Data Analysis and Visualisation tools    - Distrubuted (Spark, Kubeflow)
 - Pandas                                - Federated Learning (WO
 - Matplotlib                                centralized server)
 - Jupyter Notebook
                                        Inference
ML frameworks for neural networks         - Desktop, server …
modelling                                 - Mobile
 - Tensorflow / Tensorboard               - Edge device (VPU: Intel NCS2,
 - Keras                                      GPU: Jetson Nano & TPU: Coral
 - Pytorch                                    dev board, Coral stick)
 - (Caffe2, mxnet)
Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...
What is Deep Learning ?
Deep learning is part of a broader family of machine learning methods based on artificial neural networks with representation learning.
Learning can be supervised, semi-supervised or unsupervised.

Deep learning architectures such as deep neural networks, deep belief networks, recurrent neural networks and convolutional neural
networks have been applied to fields including computer vision, speech recognition, natural language processing, audio recognition,
social network filtering, machine translation, bioinformatics, drug design, medical image analysis, material inspection and board game
programs, where they have produced results comparable to and in some cases surpassing human expert performance

Deep Learning : “a
technique for
implementing Machine
Learning”

                                              Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...
Le Deep Learning dans l’Univers de l’IA...

                  Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...
Le Deep Learning dans l’Univers de l’IA...

                  Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...
Some dates in the field of IA
1980 – Kunihiko Fukushima built the ‘neocognitron’, the precursor of modern Convolutional Neural Networks.
2001 – Two researchers at MIT introduced the first face detection framework (Viola-Jones) that works in real-time.
2009 – Google started testing robot cars on roads.
2010 – Google released Goggles, an image recognition app for searches based on pictures taken by mobile devices.
2010 – To help tag photos, Facebook began using facial recognition.
2011 – Facial recognition was used to help confirm the identity of Osama bin Laden after he is killed in a US raid.
2012 – Google Brain’s neural network recognized pictures of cats using a deep learning algorithm.
2015 – Google launched open-source Machine learning-system TensorFlow.
2016 – Google DeepMind’s AlphaGo algorithm beat the world Go champion.
2017 – Apple released the iPhone X in 2017, advertising face recognition as one of its primary new features.
2018 – Alibaba’s AI model scored better than humans in a Stanford University reading and comprehension test.
2018 – Amazon sold its real time face recognition system Rekognition to police departments.
2019 – The Indian government announced a facial recognition plan allowing police officers to search images through mobile app.
2019 – The US added four of China’s leading AI start-ups to a trade blacklist.
2019 – The UK High Court ruled that the use of automatic facial recognition technology to search for people in crowds is lawful.
2025 – By this time, regulation in FR will significantly diverge between China and US/Europe.
2030 – At least 60% of countries globally will be using AI surveillance technology (it is currently 43% according to CEIP).

This is an edited extract from the Computer Vision – Thematic Research report produced by GlobalData Thematic Research.
https://www.verdict.co.uk/computer-vision-timeline/

                                                    Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...
Apprentissage supervisé

 “L’objectif de l’apprentissage supervisé est d’apprendre une fonction
qui, à partir d’un échantillon de données et des résultats souhaités, se
rapproche le mieux de la relation entre entrée et sortie observable
dans les données.”
-> Y = f (X)

L’apprentissage supervisé est généralement effectué dans le contexte
de la classification et de la régression.

Classification: Un problème de classification survient lorsque la
variable de sortie est une catégorie, telle que «rouge», «bleu» ou
«maladie» et «pas de maladie».

Régression: Un problème de régression se pose lorsque la variable
de sortie est une valeur réelle, telle que «dollars» ou «poids».

    source: https://le-datascientist.fr/apprentissage-supervise-vs-non-supervise

                                                                             Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...
Apprentissage non supervisé

 “L’apprentissage non supervisé (Unsupervised Learning) consiste à
ne disposer que de données d’entrée (X) et pas de variables de sortie
correspondantes.
L’objectif est de modéliser la structure ou la distribution sous-jacente
dans les données afin d’en apprendre davantage sur les données.

On l’appelle apprentissage non supervisé car, contrairement à
l’apprentissage supervisé, il n’y a pas de réponse correcte ni
d’enseignant. Les algorithmes sont laissés à leurs propres
mécanismes pour découvrir et présenter la structure intéressante des
données.”

Regroupement ou clustering: l’objectif est de séparer les groupes
ayant des traits similaires et de les assigner en grappes.

Association: consiste à découvrir des relations intéressantes entre
des variables dans de grandes bases de données. Par exemple, les
personnes qui achètent une nouvelle maison ont aussi tendance à
acheter de nouveaux meubles

    source: https://le-datascientist.fr/apprentissage-supervise-vs-non-supervise

                                                                            Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Comment l'IA démultiplie les fonctions cognitives ? - French Tech ...
Apprentissage semi supervisé

 “Les problèmes pour lesquels vous avez une grande quantité de
données d’entrée (X) et que seules certaines données sont étiquetées
(Y) sont appelés problèmes d’apprentissage semi-supervisés. Par
conséquent, ces problèmes se situent entre l’apprentissage supervisé
et l’apprentissage non supervisé”

 Le Deep Learning rentre dans la catégorie
 “supervisé” pour la majorité des cas et plus
 récemment semi supervisé avec les GAN.

 Le (Deep) Reinforcement Learning rentre dans la
 categorie non supervisé

    source: https://le-datascientist.fr/apprentissage-supervise-vs-non-supervise

                                                                            Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
A Visual and Interactive Guide to the Basics of Neural
Networks...in a nutshell

                                                              source: jay Alammar Blog

                   Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
A Visual and Interactive Guide to the Basics of Neural
Networks...in a nutshell

                   Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
A Visual and Interactive Guide to the Basics of Neural
Networks...in a nutshell

                   Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
A Visual and Interactive Guide to the Basics of Neural
Networks...in a nutshell

                   Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
What convolution neural network see...

                Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Some vocab in Computer Vision tasks

                                                                             4 differents tasks in CV:

                                                                                 -      image classification
                                                                                 -      object detection
                                                                                 -      semantic segmentation
                                                                                 -      instance segmentation

                 Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Imaging Applications

                                                                                Deep Learning has applications in all sectors of
                                                                                activity. It is a major issue for the industrial and
                                                                                scientific sectors and the safety of goods and
                                                                                people.

                                                                                Among these uses are in particular :

                                                                                - Image recognition (classification, localization
                                                                                and segmentation),
                                                                                - Description of scenes,
                                                                                - Facial recognition (security),
                                                                                - Optical Character Recognition (OCR),
                                                                                - Content-Based Images Retrieval (CBIR)
                                                                                - Medical Imaging (biology, histology, radiology),
                                                                                - Synthetic image generation (GAN),
                                                                                - Emotion detection,
                                                                                - Detection of age and gender,
                                                                                …

                  Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
NLP-NLU Applications

                                                                      NLP iis becoming more democratic, previously
                                                                      reserved for researchers.

                                                                      The advent of personal assistants (Siri, Alexa,
                                                                      Google Home) and its high level of adoption proves
                                                                      the maturity of this technology.
                                                                      Studies prove that using a text transcriber is 3 times
                                                                      faster than writing the text.

                                                                      Among the cases of use are the following:
                                                                      - Chatbots
                                                                      - Spam detection / Spam filter avoidance
                                                                      - Sentiment analysis (consumer opinions, customer
                                                                      opinions)
                                                                      - E-reputation
                                                                      - Automated translation
                                                                      - Subtitling of video sequences (Speech-to-Text)
                                                                      - Voice User Interface (VUI) (Siri, Alexa, Ok Google)
                                                                      …

                 Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Get datas … and Training Neural Network

 tensorboard UI

                  Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Training sample on Fashion-MNIST under Colab

                                                                                         Fashion Mnist

                  Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
3/ Inference :
  a/ Desktop | server
  b/ Mobile
  c/ Edge device (low power 2-15w)
  d/ ARMs (only some basic features like sound triggering)

                                    Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
… But the REAL ML Pipeline is ...
         - Collect and prepare data
         - Developing a model
         - Training an ML model on the data :                                    “Only 5-15% of
                           Training the model                                    the ML pipeline
                  Evaluate the accuracy of the model
                  Setting the hyperparameters                                    is ML/DL“ !
         - Deploy the driven model                                               Andrew Ng
         - Send prediction queries to the model :
                  Online prediction
                  Batch Prediction
         - Monitor predictions continuously
         - Manage models and versions

                                Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
A as ART
  1/ Autodraw
      Autodraw: find object shape

                    Autodraw

  2/ Style Transfer

     Artiste Fred: Toile

                  Les toiles de Fred

file:///Users/jmp/Desktop/prez_bia/1_style_transfer/Core1_Introduc
tions/neural_style_fred.html

                                        Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
RT as Real time counting
                                                                                         YOLO V3

                                                                                         It took 1.958 seconds to detect the objects in the image.

                                                                                         Number of Objects Detected: 20

                                                                                         Objects Found and Confidence Level:

                                                                                         1. person: 1.000000
                                                                                         2. person: 1.000000
                                                                                         3. person: 1.000000
                                                                                         4. person: 1.000000
                                                                                         5. person: 1.000000
                                                                                         6. person: 1.000000
                                                                                         7. person: 1.000000
                                                                                         8. person: 1.000000
                                                                                         9. person: 1.000000
                                                                                         10. person: 1.000000
                                                                                         11. person: 1.000000
                                                                                         12. boat: 0.998270
                                                                                         13. person: 0.999997
                                                                                         14. person: 0.999981
                                                                                         15. person: 0.999952
                                                                                         16. person: 0.999981
                                                                                         17. person: 0.999994
                                                                                         18. person: 1.000000
                                                                                         19. person: 1.000000
                                                                                         20. person: 0.999979

                  Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Detection en temps reel
                                                                                              YOLO V3 by Joseph Redmon

> Demo mobile Yolo

                       Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Teachable machine by Google
https://experiments.withgoogle.com/teachable-machine

                                   Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
P as Pose Estimation

    Demo pose estimation inference directly in
    browser

    35FPS with tensorflow js

    Pose estimation with TensorFlow.js

                                   Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
S as Sons: create sound with image only
Imaginary soundscape by Google:

http://www.imaginarysoundscape.net/#/upload

                                      Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
D as Driver Security (outside)

                    Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
M as Mobility

                Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
A as Attention : Driver Security (inside)
                   Drowiness and Distraction detector

                   source: https://github.com/incluit/OpenVino-Driver-Behaviour

                          Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
PT as Pedestrian tracking

                 Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
PT as Pedestrian counter

                                                                                                    Single Shot Detector (SSD)
                                                                                                    with Opencv DNN

          source: https://www.pyimagesearch.com/2018/08/13/opencv-people-counter/

                             Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
T comme Tracking

               Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Image captioning: CV and NLP...

                 Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
H as high accuracy and celerity

                                                                                        Detectron2 by Facebook

                 Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
D as Driver assist

                     Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
S as Security: weapons detection

                                          Collection of handgun images, procured and
RetinaNet, a deep learning-based object   published by Olmos et al. in their 2018
detection architecture that seeks to      publication, “Automatic handgun detection
combine both the speed of one-stage       alarm in videos using deep learning”
detectors (ex., YOLO and SSD) with the
accuracy of slower two-stage detectors
(ex., Faster R-CNN)

                                          Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
CD as Cancer Identification

                                                                                                                            Mask R-cnn
Train a Mask R-CNN instance segmentation
network to automatically detect skin lesions, a
first step in cancer identification.
                                                                                                                         The ISIC Skin Lesion Dataset

                                                  Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
P Pills classification
                                              Train a Mask R-CNN instance
                                              segmentation network to automatically
                                              detect pills.

Mistakes surrounding prescription
medication can and do happen,
resulting in billions of euros in insurance
claims, hospital bills, and of course, the
incalculable value of a human.

In France, with D.I.N, clinics and
hospital needs CV assisted Robot with                                                                    The ISIC Skin Lesion Dataset
DL features -> Brest CHU

                                               Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
F as Fish Classifier

                       Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
F as Fraud Detection
       Training set                                                                                     New Data

         Training                                                                                       Inference

                                                                  source: Manning MEAP: “Deep Learning with Structured Data”

                      Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
S comme Summarization
    -     Bert language model
    -     Bert Extractiver summrization
    -     Neural coreference : coreference is the fact that two or more expressions in a text – like pronouns or nouns – link to the same person or thing

Capgemini et Altran Technologies s'unissent. Les deux géants ont conclu un accord de négociations exclusives en vue de l’acquisition par Capgemini d’Altran dans le cadre d’une OPA amicale à 14 euros par action Altran,
payables en numéraire. Le montant total de la transaction s’élèvera à 3,6 milliards d’euros, avant prise en compte de la dette financière nette d’environ 1,4 milliard d’euros. "Ce rapprochement aura un impact
immédiatement relutif, évalué à plus de 15% sur le résultat normalisé par action avant mise en œuvre des synergies ", expliquent les deux groupes, qui ajoutent qu'en "2023, après prise en compte des synergies, la
relution devrait dépasser 25%".

L'accord a été approuvé à l'unanimité par les conseils d'administration de Capgemini et d'Altran. Par ailleurs, Capgemini a d'ores et déjà signé un accord définitif pour l'acquisition d'un bloc de 11% du capital d'Altran
auprès d'actionnaires autour d'Apax Partners. L'opération vise la création d'un groupe de 17 milliards d'euros de chiffre d'affaires et de plus de 250 000 collaborateurs par le rapprochement d'un spécialiste du conseil et
des services informatiques et d'un spécialiste des services d'ingénierie et de R&D. La finalisation de ce rapprochement est envisagée d'ici la fin de l'exercice 2019.

Capgemini indique avoir sécurisé un financement relais de 5,4 milliards d'euros, comprenant l'achat des titres et le rachat de la dette brute de 1,8 milliard d'euros. "Ce rapprochement, cette OPA amicale, n'est pas un
changement de stratégie pour nous. On l'a appuyé avec beaucoup d'enthousiasme et de passion. Cela crée un superchampion", s'est réjoui le PDG d'Altran Dominique Cerutti lors d'une conférence téléphonique, rapporte
l'AFP. "L'expertise de Capgemini et celle d'Altran sont parfaitement complémentaires et proposeront une combinaison unique sur le marché. Les entreprises sont très friandes d'innovation et nous allons accélérer grâce à
notre nouvelle taille critique", a renchéri le patron de Capgemini Paul Hermelin.

Cette OPA entre le champion des entreprises de services numériques et celui du conseil en technologies devrait bouleverser le paysage de la "tech" française. Paul Hermelin a exclu que Capgemini ait besoin de céder des
actifs pour des raisons de concurrence après cet accord. "On n'est pas sur des parts de marchés qui provoquent ce genre de demandes", a-t-il indiqué, rapporte l'AFP.

Grâce à l'opération, les deux groupes visent des synergies de coûts et de modèles opérationnels estimés "entre 70 et 100 millions d'euros avant impôts en année pleine" et un chiffre d'affaires annuel additionnel compris
entre "200 et 350 millions d'euros" d'ici trois ans.

{
  "summary": "Capgemini et Altran Technologies s'unissent. L'opération vise la création d'un groupe de 17 milliards d'euros de chiffre d'affaires et de plus de 250 000
collaborateurs par le rapprochement d'un spécialiste du conseil et des services informatiques et d'un spécialiste des services d'ingénierie et de R&D. La finalisation de ce
rapprochement est envisagée d'ici la fin de l'exercice 2019. Grâce à l'opération, les deux groupes visent des synergies de coûts et de modèles opérationnels estimés \"entre 70 et
100 millions d'euros avant impôts en année pleine\" et un chiffre d'affaires annuel additionnel compris entre \"200 et 350 millions d'euros\" d'ici trois ans."
}

                                                                             Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Launched by Ifremer in March 2017, the citizen
                                 science project “Espion des Grands Fonds”

                                                   Help our local biologists by playing
                                                   deepseaspy! Need HELP
                                                   www.deepseaspy.com

Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Launched by Ifremer in March 2017, the citizen
                      science project “Espion des Grands Fonds”

                                                       Help our local biologists by playing
                                                       deepseaspy. www.deepseaspy.com

Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Mussels Annotations
       Ifremer's Deep Environment Laboratory studies the evolution of mussel beds using
       submerged cameras that take one photo per hour over ten years to measure their evolution.

                                 Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Mussels Segmentation

   inference: automatic detection of Mussels with
   Mask R-cnn

                                             Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
D as DeepFake
“Deepfakes are fake videos or
audio recordings that look and
sound just like the real thing”

-> beware of the deepfake !!!

                                                                                                         live deepfake generation with webcam feed

                                         extract facial landmarks

        source video

                                  Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
D as Dance

“Everybody Dance Now” (2019-08-29)

                                                                                    -          Pose estimation
                                                                                    -          Pose normalisation
                                                                                    -          Mapping normalized pose stick figures
                                                                                               to Target subject

                                                                                               source: https://arxiv.org/pdf/1808.07371.pdf

                        Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
D as DonkeyCar

                                                                                ➔       DonkeyCar is a high level self driving library written in Python. It
                                                                                        was developed with a focus on enabling fast experimentation and
                                                                                        easy contribution. It is has been called the Hello World of
                                                                                        autonomous vehicles.

                                                                                ➔       It is open source with an active community and support channel.

                                                                                ➔       Active users around the world include tinkerers, educators,
                                                                                        educational institutions and companies.

                                                                                ➔       Main site: www.donkeycar.com

★    Open Source, Python                                                        ➔       Github: https://github.com/autorope/donkeycar

★    OpenCV, TensorFlow, Keras, CNN, Deep Learning                              ➔       Community: Discord or Slack
★    Raspberry Pi, Nvidia Jetson, GPU, Google Coral TPU
★    Behavioral Cloning, Data Augmentation
★    Transfer Learning, Reinforcement Learning

                                                 Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
D as DonkeyCar

                 Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Q as Questions ....

                  Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Extra Content

Machine learning for creators but not only

https://runwayml.com/

                             Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
source: source: artificial-intelligence/glossary

Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
P as Papers … a lot ...

                  Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
M comme Mobility                                  https://selfdrivingcars.mit.edu/deeptraffic/

              Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
Meetup Data Sciences - Brest is IA - 2020-03-04 - Jean-Marie Prigent
You can also read