« We need to know how we see, in some form, where we can find information and how to process data. » (cf : Mark S. Nixon, Alberto S. Aguado (2008). Feature extraction and images processing. )
Cette article est dédié à l’étude de la vision humaine et de la vision artificielle. Il a pour but de vous permettre de comprendre quels sont les différences et les points communs entre ces deux types de vision.
Vision humaine
La vision humaine regroupe l’ensemble des processus biologiques permettant la capture d’image, l’analyse et la compréhension du monde dans lequel nous vivons. Elle est possible grâce à la capacité qu’a notre œil à capter les interactions lumière-objets, mais aussi grâce à la capacité qu’a notre cerveau à traiter des informations.
Fonctionnement général de l’œil
Le rôle de l’œil dans la vision humaine est de capturer les images des objets présents dans notre environnement. Pour ce faire, l’œil dispose de plusieurs éléments que l’on peut voir dessiner sur le schéma de la figure 1.
Figure 1 Schéma de l’œil
Auteur : Talos, colorisé par Jakov, modifié et traduit par Falcox
Chacun des éléments dessinés a une fonction précise dans la vision :
La lentille est un élément flexible de l’œil sur lequel les muscles ciliaires vont exercer une pression selon que l’objet sur lequel notre attention est portée soit loin ou proche.
L’action exercée par les muscles ciliaires sur la lentille permet de conserver la netteté de l’image, quelle que soit la distance de l’objet que l’on regarde.
La pupille contrôle la quantité de lumière pénétrant dans notre œil. La cornée est une couche dure et transparente située à l’entrée de l’œil qui protège la pupille. La sclorétique est une membrane blanche et opaque, très résistante qui contient le globe optique. La choroïde se charge d’alimenter l’œil en oxygène et en nutrition grâce à sa forte vascularisation.
Enfin, la rétine est la partie de notre œil destinée à capturer les images. Cette partie est la plus complexe de l’œil. En effet, 150 millions de capteurs de lumière sont disposés sur la surface de la rétine. Leurs fonctionnements étant particuliers, nous avons consacré une sous-section entière à ces capteurs.
Capteur de lumière
Les capteurs de lumière sont des cellules photosensibles situées sur notre rétine qui permettent de transformer la lumière en signal électrique. Ce signal est par la suite transmis au nerf optique puis au cerveau qui le traitera.
Il existe deux types de cellules photosensibles : les « battonets » et les « cones ».
Les bâtonnets sont chargés de la vision scotopique (en noir et blanc). Ces photorécepteurs nous permettent de distinguer des objets dans des conditions de faibles éclairages, car ceux-ci sont très sensibles à la lumière. Leur sensibilité à la lumière est permise grâce à leur grand nombre. En effet, 130 millions de bâtonnets sont présents dans notre rétine. Du fait de leur grande distribution, plusieurs bâtonnets sont connectés à un même nerf. Ils ne permettent donc pas de distinguer aussi bien les détails des objets qu’avec les cônes, pour lesquels chaque cellule est reliée à un nerf.
Les cônes sont chargés de la vision photopique (en couleurs). Ces photorécepteurs sont au nombre de 7 millions sur notre rétine et sont divisibles en trois catégories. Les cônes de faible, de moyenne et de forte longueur d’onde qui permettent chacun de capter respectivement la lumière bleue, la lumière verte et la lumière rouge. Les autres couleurs telles que le jaune ou le magenta sont obtenues par combinaison de ses trois couleurs élémentaires.
Pour finir cette sous-section sur l’œil, nous noterons l’existence d’un point aveugle là où sont situés les nerfs optiques, car il n’y a aucun capteur de lumière situé à cet endroit. Nous ne le remarquons pas, car notre cerveau remplit cette partie de l’image en interpolant plusieurs images.
Cerveau
Comme dit précédemment, l’œil n’est pas le seul acteur impliqué dans notre perception de l’environnement. En effet, quand les centaines de millions de photorécepteurs présents sur notre rétine sont stimulés par la lumière, une réaction photochimique est déclenchée, transformant ainsi la lumière en signal électrique transmis au cerveau par l’intermédiaire des nerfs optiques.
À ce jour, le fonctionnement du cerveau reste une véritable énigme pour la communauté scientifique. Nous pouvons néanmoins affirmer que le signal électrique est transmis à deux zones du cerveau. Le cortex associatif, où les liens entre objets sont construits et le cortex occipital où les images sont traitées.
Vision par ordinateur
La vision par ordinateur est permise grâce à l’union de composants matériels (hardware) et de composants logiciels (software). Parmi les composants matériels, nous retrouvons notamment les caméras et les unités de calcul tel que les ordinateurs. Les composants logiciels sont les codes exécutables, logiciels qui se chargent de gérer les composants matériels. Aujourd’hui tout ordinateur portable, smartphone est en mesure de constituer entièrement un système de vision par ordinateur. En effet, tous deux disposent de caméras, d’ unité de traitement (les coeurs du processeur) et sont programmables au travers de langage tels que Java,c++,etc..
Caméra
La caméra à un rôle identique à celui de notre œil, elle est chargée de capturer des images du monde environnant. Il y a de nombreux types de caméras, tels que les caméras CCD, CMOS, à ultrason , à résonance magnétique, etc.…
De nos jours, les caméras CMOS se sont largement imposées dans nos smartphones, webcams, etc.… La technologie CMOS (Complementary Metal-Oxide Semiconductor) présente de nombreux avantages par rapport aux autres technologies : faible cout de production, faible consommation électrique, bonne qualité d’image.
Le fonctionnement des caméras CMOS est similaire à celui de notre œil. Il s’agit de milliers de photo-capteurs assemblés ensemble en forme de grille. Ces photo-capteurs par des processus physiques dépassant le cadre de ce tutoriel transforment la lumière en signal électrique. Ce signal continu est par la suite converti en signal numérique qui sera traité par un ordinateur.
Ordinateur et logiciel
Une fois que l’image est acquise par la caméra, elle est transmise à l’ordinateur sous forme de trois matrices à 2D . Chacune des matrices est associée à l’une des trois couleurs élémentaires le rouge, le vert et le bleu. C’est la combinaison de ces trois couleurs qui nous permet d’obtenir une image couleur. Ainsi si l’on prend pour exemple la figure 3 :
La matrice de rouge correspondante est :
[0 0 0 0 0 0 0 0 98 59 0 0 0 0 0 0 0 0 0 105 0 0 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 67 69 72 73 70 65 0 0 0 73 74 0 0 0 0 0 0 0 ]
[0 0 0 0 0 64 75 0 55 73 80 88 94 97 97 94 88 80 72 59 0 0 51 0 0 0 0 0 0 ]
[0 0 0 0 69 0 0 73 82 100 117 128 136 138 138 135 128 117 100 82 74 64 0 58 0 0 0 0 0 ]
[0 0 0 69 0 68 78 96 121 139 150 155 158 159 158 158 155 150 139 121 95 78 66 0 84 0 0 0 0 ]
[0 0 70 0 69 81 106 136 159 169 171 165 161 161 161 161 164 170 169 160 137 106 81 67 0 86 0 0 0 ]
[0 104 82 0 79 108 140 139 65 40 54 108 165 161 161 163 127 59 40 57 123 139 108 80 69 66 0 0 0 ]
[55 0 0 74 100 138 155 163 170 154 108 50 86 160 161 116 37 95 146 169 164 156 137 100 76 0 71 0 0 ]
[76 0 67 88 127 153 160 160 160 162 168 157 77 137 161 56 141 169 163 160 160 160 153 127 87 71 0 63 0 ]
[0 0 76 110 145 159 160 160 162 158 108 105 137 150 158 127 117 103 154 164 160 160 159 144 107 75 0 74 0 ]
[0 66 87 126 153 160 160 160 144 46 36 40 76 156 160 99 28 42 39 130 162 160 160 153 125 83 52 0 0 ]
[0 71 96 135 156 159 159 156 70 35 48 47 62 143 157 57 43 48 47 60 147 159 159 156 135 94 67 0 0 ]
[0 73 99 137 154 155 155 148 25 47 47 46 70 146 155 75 41 47 47 44 123 155 155 154 137 99 68 0 0 ]
[57 70 97 131 147 148 148 141 23 48 47 47 101 150 148 121 41 47 47 42 118 148 148 147 131 97 68 0 0 ]
[62 65 88 119 131 137 138 137 63 48 51 82 142 138 138 139 94 51 50 64 126 138 137 132 119 89 62 0 0 ]
[3 54 74 102 112 115 121 125 125 103 114 133 127 128 128 128 133 117 103 120 127 121 116 111 101 75 52 0 0 ]
[0 44 59 82 92 93 94 96 98 103 105 105 107 107 107 106 105 104 103 99 96 94 93 92 82 58 42 0 0 ]
[0 32 43 62 73 75 75 75 75 75 75 75 75 77 76 75 75 75 75 75 75 75 75 73 61 42 31 0 0 ]
[0 22 30 43 55 58 58 59 59 59 56 50 42 38 39 45 52 56 59 59 59 59 58 55 42 29 0 0 0 ]
[69 0 20 27 39 44 45 46 45 42 37 46 58 62 63 60 54 47 43 45 45 45 45 39 27 21 0 76 0 ]
[0 0 0 18 26 33 35 36 34 37 55 49 42 39 38 41 48 57 51 35 36 35 33 25 19 8 0 0 0 ]
[0 17 0 13 15 23 27 28 30 35 28 29 29 29 29 29 29 28 37 39 28 26 22 16 13 0 0 0 0 ]
[0 0 16 0 11 14 19 22 24 24 25 25 25 25 25 25 25 25 24 24 23 19 14 11 0 14 0 0 0 ]
[0 0 0 29 0 10 12 15 18 20 21 21 22 22 22 22 21 21 20 18 15 11 11 0 0 0 0 0 0 ]
[0 0 0 0 0 0 8 9 12 14 16 17 18 18 18 18 17 16 14 12 9 9 0 0 11 0 0 0 0 ]
[0 0 0 0 0 9 0 0 8 9 11 12 13 13 13 12 12 10 9 7 7 0 9 0 0 0 0 0 0 ]
[0 0 0 0 0 0 11 0 0 7 7 9 8 9 9 8 9 7 6 0 0 7 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 9 0 0 0 0 8 6 6 6 0 0 0 3 14 0 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
La matrice de vert correspondante est :
[0 0 0 0 0 0 0 0 172 116 0 0 0 0 0 0 0 0 0 175 0 0 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 128 127 130 130 128 125 0 0 0 134 129 0 0 0 0 0 0 0 ]
[0 0 0 0 0 135 130 0 125 130 134 139 145 147 148 145 139 134 128 131 0 0 150 0 0 0 0 0 0 ]
[0 0 0 0 128 0 0 131 135 150 164 174 179 183 182 180 174 164 150 136 131 139 0 126 0 0 0 0 0 ]
[0 0 0 130 0 126 134 146 168 183 193 197 199 200 200 199 197 192 184 167 146 133 125 0 133 0 0 0 0 ]
[0 0 131 0 129 136 155 181 203 214 215 207 201 201 201 201 205 214 213 205 182 154 134 126 0 127 0 0 0 ]
[0 155 0 0 133 156 185 176 82 48 66 133 206 201 201 204 158 73 49 70 156 183 157 134 126 131 0 0 0 ]
[133 0 0 129 150 181 197 204 212 192 134 61 108 199 201 144 45 118 182 211 207 198 181 150 132 0 117 0 0 ]
[126 0 125 140 173 195 201 201 201 203 211 196 96 171 201 69 176 212 204 201 201 201 195 173 139 131 0 173 0 ]
[0 0 131 157 188 200 201 201 204 199 135 132 172 189 199 160 147 128 193 205 201 201 200 188 156 132 0 115 0 ]
[0 125 139 172 196 201 201 201 182 58 43 48 95 196 201 123 33 51 47 164 204 201 201 195 171 136 122 0 0 ]
[0 128 146 181 198 200 200 198 87 42 58 57 77 180 199 72 52 58 57 74 185 200 200 198 180 144 127 0 0 ]
[0 129 150 183 198 198 198 190 30 57 57 56 87 186 198 95 50 57 57 53 157 198 198 197 183 150 126 0 0 ]
[133 130 150 180 193 194 194 184 26 58 57 57 129 196 194 158 50 57 57 50 152 194 194 193 181 151 126 0 0 ]
[134 127 145 174 184 188 188 186 82 59 63 107 193 188 188 189 125 64 61 81 170 189 188 184 173 147 125 0 0 ]
[161 119 136 162 172 174 177 180 178 145 161 190 182 182 182 182 189 165 144 171 183 178 174 172 163 137 116 0 0 ]
[0 110 124 147 158 159 159 160 162 166 167 166 167 167 167 167 166 166 166 163 160 159 159 158 147 123 108 0 0 ]
[0 102 110 129 141 142 142 142 142 142 142 142 142 146 145 143 143 142 142 142 142 142 142 140 129 108 103 0 0 ]
[0 99 96 109 121 125 125 125 125 127 117 90 49 28 30 53 92 119 126 125 125 125 125 121 109 96 0 0 0 ]
[104 0 87 90 101 107 108 108 110 88 41 21 29 31 32 30 27 49 93 110 108 107 106 101 90 88 0 83 0 ]
[0 0 0 79 83 88 90 90 79 28 35 58 72 81 80 71 57 35 37 82 91 90 89 83 80 97 0 110 0 ]
[0 81 0 75 71 73 75 74 45 52 77 77 76 75 75 76 77 78 56 45 75 75 72 71 72 0 102 0 0 ]
[0 0 73 0 65 62 62 61 63 63 61 61 61 61 62 61 61 61 62 63 62 62 63 67 0 76 0 0 0 ]
[0 0 86 49 40 61 55 53 51 49 49 48 49 49 49 49 48 49 49 51 53 56 62 255 0 0 0 0 0 ]
[0 0 0 52 0 0 60 53 48 45 42 41 40 40 40 40 40 43 45 48 53 61 0 0 67 0 0 0 0 ]
[0 0 0 0 88 55 0 0 53 48 45 43 41 41 41 41 43 44 48 53 70 0 63 0 0 0 0 0 0 ]
[0 0 0 0 0 0 61 0 0 61 50 48 46 45 46 47 48 49 59 0 0 44 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 61 0 0 0 0 56 50 51 65 0 0 0 46 62 0 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
et la matrice de bleu correspondante est :
[0 0 0 0 0 0 0 0 222 196 0 0 0 0 0 0 0 0 0 237 0 0 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 198 193 197 196 196 193 0 0 0 201 182 0 0 0 0 0 0 0 ]
[0 0 0 0 0 190 201 0 207 196 196 200 204 207 208 204 200 196 193 204 0 0 202 0 0 0 0 0 0 ]
[0 0 0 0 196 0 0 199 197 208 220 228 233 235 235 233 228 219 208 197 197 202 0 192 0 0 0 0 0 ]
[0 0 0 198 0 193 198 204 223 236 243 248 249 250 250 249 247 244 236 223 205 197 192 0 193 0 0 0 0 ]
[0 0 199 0 196 198 212 234 255 255 255 255 251 251 251 251 255 255 255 255 237 211 197 193 0 210 0 0 0 ]
[0 255 0 0 196 213 237 220 100 62 84 163 255 251 251 254 193 92 63 88 195 235 214 196 192 192 0 0 0 ]
[190 0 0 195 208 234 247 253 255 237 165 78 132 248 251 176 57 146 224 255 254 248 234 208 196 0 184 0 0 ]
[197 0 191 200 228 246 251 251 251 254 255 243 119 212 249 86 219 255 255 251 251 251 246 227 201 199 0 208 0 ]
[0 0 195 215 240 250 251 251 255 245 166 160 211 234 245 196 180 156 237 255 251 251 250 240 213 197 0 196 0 ]
[0 194 200 227 246 251 251 251 223 71 55 63 118 244 251 151 43 66 60 201 255 251 251 247 226 199 199 0 0 ]
[0 194 207 235 250 251 251 247 108 54 75 74 97 226 250 86 68 75 74 94 231 251 251 250 234 204 194 0 0 ]
[0 195 212 239 251 251 251 237 38 74 74 72 110 235 251 116 65 74 74 68 198 251 251 251 239 211 193 0 0 ]
[218 199 215 241 252 251 251 236 34 76 74 74 166 254 251 202 64 74 74 65 195 251 251 251 241 215 196 0 0 ]
[216 200 215 241 252 251 251 247 107 77 81 140 255 251 251 252 164 82 81 106 226 251 251 251 242 215 198 0 0 ]
[255 196 213 240 251 251 252 252 246 200 221 255 252 252 252 252 255 225 199 234 255 251 251 250 240 213 193 0 0 ]
[0 192 208 236 248 250 250 250 251 254 253 252 252 252 251 252 252 253 253 251 250 250 249 248 236 207 192 0 0 ]
[0 192 201 227 244 247 247 247 247 247 247 247 247 249 249 247 247 247 247 247 247 247 247 244 227 198 192 0 0 ]
[0 196 192 213 234 241 242 242 242 245 228 187 134 113 118 145 195 232 243 242 242 242 241 234 213 191 0 0 0 ]
[206 0 186 196 220 232 235 235 239 199 126 124 156 168 169 164 147 157 209 240 235 235 232 220 196 186 0 160 0 ]
[0 0 0 184 200 218 226 227 203 113 160 194 209 217 216 207 190 164 154 207 228 226 219 200 186 193 0 220 0 ]
[0 179 0 182 182 199 212 215 149 175 221 218 219 218 218 219 220 221 188 163 217 212 199 183 178 0 205 0 0 ]
[0 0 185 0 176 179 192 203 212 213 209 210 210 210 210 210 210 209 212 211 203 193 179 176 0 179 0 0 0 ]
[0 0 167 193 142 173 173 183 192 197 200 201 201 201 201 201 201 200 198 192 182 173 174 255 0 0 0 0 0 ]
[0 0 0 169 0 0 174 168 172 180 185 189 190 191 191 190 188 185 180 172 168 175 0 0 180 0 0 0 0 ]
[0 0 0 0 220 166 0 0 168 165 168 171 173 175 174 173 171 169 165 166 182 0 177 0 0 0 0 0 0 ]
[0 0 0 0 0 0 176 0 0 175 163 164 164 161 161 165 164 164 177 0 0 163 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 176 0 0 0 0 168 157 157 181 0 0 0 166 177 0 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]