Solutions informatiques et électroniques 1, rue de la Presse – BP 10 710 - 42 950 Saint Étienne Cedex 1 www.ciose.fr [email protected] 04 77 93 34 32 Vision Embarquée Meet Up : Le traitement d’image dans les systèmes embarqués
Solutions informatiques et électroniques
1, rue de la Presse – BP 10 710 - 42 950 Saint Étienne Cedex 1 www.ciose.fr [email protected] 04 77 93 34 32
Vision Embarquée
Meet Up : Le traitement d’image dans les systèmes embarqués
Licence
11/03/2016 Anthony GONIN 2
Attribution-NonCommercial-NoDerivatives 4.0 International
You are free to:• Share — copy and redistribute the material in any medium or format • The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:• Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner,
but not in any way that suggests the licensor endorses you or your use. • NonCommercial — You may not use the material for commercial purposes. • NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material. • No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
Notices: You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation. No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.
The applicable mediation rules will be designated in the copyright notice published with the work, or if none then in the request for mediation. Unless otherwise designated in a copyright notice attached to the work, the UNCITRAL Arbitration Rules apply to any arbitration.More info.
You may also use a license listed as compatible at https://creativecommons.org/compatiblelicenses
Sommaire
Présentation de l’orateur
La vision
L’acquisition d’une image
Prétraitement et Analyse d’image
Les Systèmes Embarqués
La Vision Embarquée
11/03/2016 Anthony GONIN 3
Présentation de l’orateur
11/03/2016 Anthony GONIN 4
Solutions informatiques et électroniques
La Vision
11/03/2016 Anthony GONIN 5
La Vision chez l’homme
Elle tient un rôle important dans notre évolution et notre survie.
Le cerveau est l’élément de traitement de tous les sens comme la vue.
Les cellules de « calcul », les neurones, sont extrêmement nombreux (de 86 à 100 milliards).
11/03/2016 Anthony GONIN 6
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
La Vision chez l’homme
"Because half of the human brain is devoted directly or indirectly to vision …" Professor Mriganka Sur
11/03/2016 Anthony GONIN 7
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
La Vision électronique
La vision électronique est de plus en plus présente dans notre
monde actuel (robotique, surveillance, etc.)
Des performances bien loin de celles du cerveau humain.
Les processeurs utilisent des transistors pour créer une logique et sont présents au nombre de 4 milliards dans les systèmes actuels.
11/03/2016 Anthony GONIN 8
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Solutions informatiques et électroniques
Acquisition d’une image
11/03/2016 Anthony GONIN 9
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 10
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 11
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 12
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 13
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarqué
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 14
Cornée
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 15
Cornée
Cristallin
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 16
Cornée
Cristallin
Pupille
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 17
Cornée
Cristallin
Pupille
Rétine
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 18
Cornée
Cristallin
Pupille
Rétine
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 19
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 20
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 21
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
11/03/2016 Anthony GONIN 22
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
occipital
frontal
pariétal
temporal
Un stylo!
11/03/2016 Anthony GONIN 23
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
Optique
Imageur
11/03/2016 Anthony GONIN 24
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
Optique
Imageur
11/03/2016 Anthony GONIN 25
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
Optique
Imageur
11/03/2016 Anthony GONIN 26
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
Image en sortie de l’œil Image en sortie d’un imageur
11/03/2016 Anthony GONIN 27
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
11/03/2016 Anthony GONIN 28
Optique Capteur Traitement Analyse
Diffusion
Enregistrement
Pré-Traitement
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
Les optiques : Système complexe, nécessitant de bonnes connaissances.
Pour chaque application une optique dédiée peut être envisagée.
C’est un point déterminant sur la qualité finale de l’image.
Réglages : La focale
Angle de champ L‘ouverture
Profondeur de champ …
Caractéristiques : Fonction de Transfert de Modulation (FTM) Aberrations chromatiques, géométriques Utilisation de filtres (couleurs, passe bas, etc.) …
11/03/2016 Anthony GONIN 29
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
11/03/2016 Anthony GONIN 30
Optique Capteur Traitement Analyse
Diffusion
Enregistrement
Prétraitement
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
Les capteurs :
CCD (Charge Coupled Device) :
Premiers capteurs développés pour l’imagerie numérique
CMOS (Complementary Metal Oxide Semi-conducteur) :
Coût de fabrication plus faible qu’un CCD.
Cadence d’acquisition élevée.
100 fois moins consommateur d’énergie.
Utilisation simplifiée.
11/03/2016 Anthony GONIN 31
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
Reconstruction couleur :
3CCD/CMOS-prisme :
11/03/2016 Anthony GONIN 32
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
Les capteurs et leurs architectures :
CMOS et Filtre de Bayer :
11/03/2016 Anthony GONIN 33
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Acquisition d’une image
Les capteurs et leurs architectures :
Empilement de diodes photosensibles (Foveon 3x) :
11/03/2016 Anthony GONIN 34
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Solutions informatiques et électroniques
Prétraitement et Analyse d’image
11/03/2016 Anthony GONIN 35
Prétraitement et Analyse d’image
Prétraitement :
Consiste à améliorer l’image issue du capteur afin de la rendre exploitable lors del’analyse ou de la diffusion.
Analyse :
Manipulation de pixels, d’ensemble de pixels afin d’en extraire les informationspermettant une compréhension de l’image et ainsi facilitant la prise de décision.
11/03/2016 Anthony GONIN 36
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Prétraitement
11/03/2016 Anthony GONIN 37
Optique Capteur Traitement Analyse
Diffusion
Enregistrement
Prétraitement
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Prétraitement
Prétraitement : Le dématriçage
Correction de lentille (distorsion)
Correction Gamma
White balance
Correction des couleurs
HDR (High Dynamic Range)
Etc.
11/03/2016 Anthony GONIN 38
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Analyse d’image
11/03/2016 Anthony GONIN 39
Optique Capteur Traitement Analyse
Diffusion
Enregistrement
Prétraitement
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Analyse d’image
Analyse d’image : Segmentation
Calcul d’Histogramme
Filtrage
Gradients
Corner de Harris
Optical Flow
Mean-shift
K-ppv
SVM
Convolutional Neural Networks (CNNs)
Etc.
11/03/2016 Anthony GONIN 40
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Solutions informatiques et électroniques
Les Systèmes Embarqués
11/03/2016 Anthony GONIN 41
Les Systèmes Embarqués
Qu’est-ce qu’un système embarqué?
Système électronique et informatique
Autonome
Parfois Temps réel
Spécialisé dans la réalisation d’une tâche.
11/03/2016 Anthony GONIN 42
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Les Systèmes Embarqués
Quelles sont les contraintes de tels systèmes?
Les performances
La mémoire
L’espace d’intégration réduit
La consommation
La sureté de fonctionnement
Les temps d’exécution
11/03/2016 Anthony GONIN 43
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Les Systèmes Embarqués
Solutions Matérielles :
Microprocesseur(ARM, x86, PowerPC, …)
Il s’agit d’un micro-ordinateur qui va exécuter un jeu d’instructions machines dépendantes del’architecture.
Ces instructions vont utiliser les différentes parties présentes dans un microprocesseur : Unité de calcul
unité de contrôle
unité d’entrée sortie
des registres
une horloge
Mémoire cache
Bus de données, d’adresses, de contrôle
Etc.
11/03/2016 Anthony GONIN 44
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Les Systèmes Embarqués
Solutions Matérielles :
Microcontrôleur (Pic, STM32, …)
11/03/2016 Anthony GONIN 45
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Les Systèmes Embarqués
Solutions Matérielles :
FPGA (circuit logique programmable)
Le circuit est composé de nombreuses cellules logiques élémentaires, librementconnectables.
Il s’agit d’un composant reprogrammable après sa fabrication non pas comme les CPU.
L’architecture du composant est donc à faire sur mesure.
Elle permet notamment de réaliser des traitements en parallèle en dupliquant les blocslogiques.
11/03/2016 Anthony GONIN 46
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Les Systèmes Embarqués
Solutions Matérielles :
GPU (processeur graphique)
Il s’agit d’un circuit intégré la plupart du temps sur les cartes graphiques.
C’est une structure hautement parallèle qui rend efficace les tâches graphiques comme le rendu 3D, la décompression MPEG et le traitement du signal vidéo.
11/03/2016 Anthony GONIN 47
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Les Systèmes Embarqués
Solutions Matérielles :
DSP (Digital Signal Processor)
Il s’agit d’une famille de microprocesseur optimisé pour exécuter des applications de traitement du signal.
11/03/2016 Anthony GONIN 48
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Les Systèmes Embarqués
11/03/2016 Anthony GONIN 49
System On a Chip (SoC) : Un système sur une puce est un système pouvant comprendre de la mémoire, des microprocesseurs, des périphériques d’interfaces, ou tout autre composant.
ARMContrôleur
DDRRAM
ADC
Power Managment
Logique programmable
DSP
GPU IPU
VPU
Imageur
…
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
iMX6
Les Systèmes Embarqués
11/03/2016 Anthony GONIN 50
System On a Chip (SoC) : Un système sur une puce est un système pouvant comprendre de la mémoire, des microprocesseurs, des périphériques d’interfaces, ou tout autre composant.
ARMContrôleur
DDRRAM
ADC
Power Managment
Logique programmable
DSP
GPU IPU
VPU
Imageur
…
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Les Systèmes Embarqués
11/03/2016 Anthony GONIN 51
ZYNQ
System On a Chip (SoC) : Un système sur une puce est un système pouvant comprendre de la mémoire, des microprocesseurs, des périphériques d’interfaces, ou tout autre composant.
ARMContrôleur
DDRRAM
ADC
Power Managment
Logique programmable
DSP
GPU IPU
VPU
Imageur
…
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Les Systèmes Embarqués
11/03/2016 Anthony GONIN 52
System On a Chip (SoC) : Un système sur une puce est un système pouvant comprendre de la mémoire, des microprocesseurs, des périphériques d’interfaces, ou tout autre composant.
ARMContrôleur
DDRRAM
ADC
Power Managment
Logique programmable
DSP
GPU IPU
VPU
Imageur
…
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Les Systèmes Embarqués
Solutions existantes pour le prétraitement et le traitement :
Certaines fonctionnalités de traitement sont disponibles dans certains companion chip :
Movidius Myriad 2
MobilEye EyeQ4
Texas Instrument TDA3+
Analog Devices BF609
NXP S32V
DIY
Etc.
11/03/2016 Anthony GONIN 53
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Solutions informatiques et électroniques
Vision Embarquée
11/03/2016 Anthony GONIN 54
Vision Embarquée
3 catégories/applications :
La vision dans les mobiles
Embedded Vision in Wearables
Vision embarquée (système intégré)
11/03/2016 Anthony GONIN 55
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Design Process
Besoin
Faisabilité
Prototypage
Sélectionner une architecture
Développer sur l’architecture Debug du système
11/03/2016 Anthony GONIN 56
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Outils
Bibliothèque de traitement d’image : OpenCV (Open source Computer Vision)
Bibliothèque de programmation des systèmes parallèles : OpenCL(Open source Computing Language)
Bibliothèque « d’accélération matériel » : OpenVx
Outils de synthétisation pour le développement d’IP sur FPGA : Handle-C, SystemC, JHLD, Vivado HLS, etc.
11/03/2016 Anthony GONIN 57
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Vision Embarquée
Architecture Matériel « Standalone » : CPU, FPGA, DSP, …
Chaque application a des besoins spécifiques. Si l’ensemble n’est pas très complexe de par les interfaces, les calculs et les fonctions demandées, une architecture à un seul chip peut suffire.
11/03/2016 Anthony GONIN 58
Optique Capteur Traitement Analyse
Diffusion
Enregistrement
Prétraitement
MicroProc, FPGA, DSP, …
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
FPGA, DSP, GPU, …
Vision Embarquée
Architecture Matériel « multi-chip » : CPU + FPGA, CPU + DSP, CPU + GPU …
Si maintenant l’application demande beaucoup d’interfaces de communication, d’échange, de calculs et qu’il est possible de segmenter l’application en une partie calcul et une partie pilotage, une architecture multi-chip peut être envisagée.
11/03/2016 Anthony GONIN 59
Optique Capteur Traitement Analyse
Diffusion
Enregistrement
Prétraitement
MicroProc
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Cloud
Vision EmbarquéeArchitecture Matériel avec cloud
Le Cloud peut également être une source de calcul. Le système va faire l’acquisition de l’image, réaliser des traitements et en extraire les informations utiles pour permettre au Cloud de prendre une décision.
11/03/2016 Anthony GONIN 60
Optique Capteur Traitement Analyse
Diffusion
Enregistrement
Prétraitement
MicroProc
Présentation Vision Acquisition Traitement d'image Systèmes Embarqués Vision Embarquée
Merci de votre attention
Solutions informatiques et électroniques
1, rue de la presse – BP 10710 42950 Saint Etienne CEDEX 1
www.ciose.frwww.twitter.com/CIO_SysEmb
[email protected] 77 93 34 32
11/03/2016 Anthony GONIN 61