Meet up Vision Embarquée

61
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

Transcript of Meet up Vision Embarquée

Page 1: Meet up Vision Embarquée

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

Page 2: Meet up Vision Embarquée

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

Page 3: Meet up Vision Embarquée

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

Page 4: Meet up Vision Embarquée

Présentation de l’orateur

11/03/2016 Anthony GONIN 4

Page 5: Meet up Vision Embarquée

Solutions informatiques et électroniques

La Vision

11/03/2016 Anthony GONIN 5

Page 6: Meet up Vision Embarquée

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

Page 7: Meet up 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

Page 8: Meet up 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

Page 9: Meet up Vision Embarquée

Solutions informatiques et électroniques

Acquisition d’une image

11/03/2016 Anthony GONIN 9

Page 10: Meet up Vision Embarquée

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

Page 11: Meet up 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

Page 12: Meet up 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

Page 13: Meet up 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é

Page 14: Meet up Vision Embarquée

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

Page 15: Meet up 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

Page 16: Meet up 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

Page 17: Meet up 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

Page 18: Meet up 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

Page 19: Meet up 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

Page 20: Meet up 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

Page 21: Meet up 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

Page 22: Meet up 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

Page 23: Meet up 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

Page 24: Meet up 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

Page 25: Meet up 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

Page 26: Meet up 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

Page 27: Meet up 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

Page 28: Meet up 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

Page 29: Meet up 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

Page 30: Meet up 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

Page 31: Meet up 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

Page 32: Meet up 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

Page 33: Meet up 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

Page 34: Meet up 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

Page 35: Meet up Vision Embarquée

Solutions informatiques et électroniques

Prétraitement et Analyse d’image

11/03/2016 Anthony GONIN 35

Page 36: Meet up Vision Embarquée

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

Page 37: Meet up 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

Page 38: Meet up 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

Page 39: Meet up 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

Page 40: Meet up 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

Page 41: Meet up Vision Embarquée

Solutions informatiques et électroniques

Les Systèmes Embarqués

11/03/2016 Anthony GONIN 41

Page 42: Meet up Vision Embarquée

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

Page 43: Meet up 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

Page 44: Meet up 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

Page 45: Meet up 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

Page 46: Meet up 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

Page 47: Meet up 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

Page 48: Meet up 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

Page 49: Meet up 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

Page 50: Meet up 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

Page 51: Meet up 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

Page 52: Meet up 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

Page 53: Meet up 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

Page 54: Meet up Vision Embarquée

Solutions informatiques et électroniques

Vision Embarquée

11/03/2016 Anthony GONIN 54

Page 55: Meet up Vision Embarquée

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

Page 56: Meet up 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

Page 57: Meet up 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

Page 58: Meet up 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

Page 59: Meet up 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

Page 60: Meet up 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

Page 61: Meet up 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