Table des matières:
- Étape 1: étendez la plage dynamique de votre ou de vos images
- Raisonnement:
- Étape 2: Traiter les images ou effectuer la vision par ordinateur, l'apprentissage automatique ou autre
- Étape 3: Recompresser la plage dynamique du résultat
- Étape 4: Vous voudrez peut-être essayer d'autres variantes
- Étape 5: Aller plus loin: essayez-le maintenant avec les composites d'images HDR
Vidéo: Traitement d'image quantimétrique : 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
(La figure ci-dessus illustre la comparaison de la méthode de traitement d'image existante avec le traitement d'image quantimétrique. Notez le résultat amélioré. L'image en haut à droite montre des artefacts étranges qui proviennent d'une hypothèse incorrecte selon laquelle les images mesurent quelque chose comme la lumière. L'image en bas à droite montre un meilleur résultat en faisant la même chose quantimétriquement.)
Dans ce Instructable, vous apprendrez comment améliorer considérablement les performances des systèmes d'imagerie ou de détection de vision existants en utilisant un concept très simple: la détection d'image quantimétrique
Le traitement d'image quantimétrique améliore considérablement l'un des éléments suivants:
- Traitement d'image existant tel que le floutage d'image;
- Apprentissage automatique, vision par ordinateur et reconnaissance de formes;
- Reconnaissance faciale portable (voir https://wearcam.org/vmp.pdf), vision basée sur AI et HI, etc.
L'idée de base est de pré-traiter et de post-traiter les images de manière quantimétrique, comme suit:
- Développez la plage dynamique de l'image ou des images;
- Traitez l'image ou les images comme vous le feriez normalement;
- Compressez la plage dynamique de l'image ou des images (c'est-à-dire annulez l'étape 1).
Dans les précédents Instructables, j'ai enseigné certains aspects de la détection HDR (High Dynamic Range) et de la détection quantimétrique, par ex. linéarité, superposition, etc.
Mettons maintenant ces connaissances à profit.
Prenez n'importe quel processus existant que vous souhaitez utiliser. L'exemple que je vais montrer est le floutage d'image, mais vous pouvez également l'utiliser pour à peu près n'importe quoi d'autre.
Étape 1: étendez la plage dynamique de votre ou de vos images
(Chiffres adaptés de "Intelligent Image Processing", John Wiley and Sons Interscience Series, Steve Mann, novembre 2001)
La première étape consiste à étendre la plage dynamique de l'image d'entrée.
Idéalement, vous devez d'abord déterminer la fonction de réponse de la caméra, f, puis appliquer la réponse inverse, f inverse, à l'image.
Les caméras typiques sont compressives de la plage dynamique, nous souhaitons donc généralement appliquer une fonction expansive.
Si vous ne connaissez pas la fonction de réponse, commencez par essayer quelque chose de simple comme charger l'image dans un tableau d'images, convertir les variables en un type de données tel que (float) ou (double) et augmenter chaque valeur de pixel à un exposant, comme, par exemple, la mise au carré de chaque valeur de pixel.
Raisonnement:
Pourquoi fait-on ça?
La réponse est que la plupart des caméras compressent leur plage dynamique. La raison pour laquelle ils le font est que la plupart des supports d'affichage étendent la plage dynamique. C'est tout à fait par accident: la quantité de lumière émise par un écran de télévision à tube cathodique est approximativement égale à la tension élevée à l'exposant de 2,22 de sorte que lorsque la tension d'entrée vidéo est à mi-chemin, la quantité de lumière émise est beaucoup plus moins de la moitié.
Les supports photographiques ont également une plage dynamique étendue. Par exemple, une carte grise photographique "neutre" émet 18 % de la lumière incidente (et non 50 % de la lumière incidente). Cette quantité de lumière (18 %) est considérée comme étant au milieu de la réponse. Ainsi, comme vous pouvez le voir, si nous examinons un graphique de sortie en fonction de l'entrée, les supports d'affichage se comportent comme s'il s'agissait d'écrans linéaires idéaux contenant un extenseur de plage dynamique avant la réponse linéaire idéale.
Dans la figure du haut, ci-dessus, vous pouvez voir l'affichage encadré par une ligne pointillée, et cela équivaut à avoir un expandeur avant l'affichage linéaire idéal.
Étant donné que les écrans sont intrinsèquement expansifs, les caméras doivent être conçues pour être compressives afin que les images aient une bonne apparence sur les écrans existants.
À l'époque où il y avait des milliers d'écrans de récepteur de télévision et juste une ou deux stations de diffusion (par exemple juste une ou deux caméras de télévision), il était plus facile de mettre une non-linéarité compressive dans la caméra que de rappeler tous les téléviseurs et mettez-en un dans chaque récepteur de télévision.
Par accident, cela a également contribué à la réduction du bruit. En audio, nous appelons cela "Dolby" ("comanding") et décernons un brevet pour cela. En vidéo, c'est arrivé totalement par accident. Stockham a proposé de prendre le logarithme des images avant de les traiter, puis de prendre l'antilog. Ce qu'il n'a pas réalisé, c'est que la plupart des caméras et des écrans le font déjà par hasard. Au lieu de cela, ce que j'ai proposé, c'est que nous fassions exactement le contraire de ce que Stockham a proposé. (Voir « Intelligent Image Processing », John Wiley and Sons Interscience Series, page 109-111.)
Dans l'image du bas, vous voyez le traitement d'image anti-homomorphe (quantimétrique) proposé, où nous avons ajouté l'étape d'expansion et de compression de la plage dynamique.
Étape 2: Traiter les images ou effectuer la vision par ordinateur, l'apprentissage automatique ou autre
La deuxième étape, après l'expansion de la plage dynamique, consiste à traiter les images.
Dans mon cas, j'ai simplement effectué une déconvolution de l'image, avec la fonction blur, c'est-à-dire le débrouillage de l'image, comme il est communément connu dans l'art antérieur.
Il existe deux grandes catégories de détection d'images quantimétriques:
- Aider les gens à voir;
- Aider les machines à voir.
Si nous essayons d'aider les gens à voir (ce qui est l'exemple que je montre ici), nous n'avons pas encore terminé: nous devons ramener le résultat traité dans l'espace image.
Si nous aidons les machines à voir (par exemple, la reconnaissance faciale), nous avons terminé maintenant (pas besoin de passer à l'étape 3).
Étape 3: Recompresser la plage dynamique du résultat
Lorsque nous travaillons dans une plage dynamique étendue, on dit que nous sommes dans "l'espace lumineux" (espace d'image quantimétrique).
À la fin de l'étape 2, nous sommes dans l'espace lumineux et nous devons revenir à l'espace image.
Cette étape 3 consiste donc à revenir à l'espace image.
Pour effectuer l'étape 3, compressez simplement la plage dynamique de la sortie de l'étape 2.
Si vous connaissez la fonction de réponse de la caméra, appliquez-la simplement, pour obtenir le résultat, f(p(q)).
Si vous ne connaissez pas la fonction de réponse de la caméra, appliquez simplement une bonne estimation.
Si vous avez mis au carré les pixels de l'image à l'étape 1, il est maintenant temps de prendre la racine carrée de chaque pixel de l'image pour revenir à votre estimation concernant l'espace de l'image.
Étape 4: Vous voudrez peut-être essayer d'autres variantes
La suppression du flou n'est qu'un exemple parmi tant d'autres. Considérons, par exemple, la combinaison de plusieurs expositions.
Prenez deux photos telles que les deux que j'ai ci-dessus. L'un a été pris pendant la journée et l'autre la nuit.
Combinez-les pour créer une image semblable à un crépuscule.
Si vous les faites simplement la moyenne, cela ressemble à des ordures. Essayez ceci vous-même !
Mais si vous élargissez d'abord la plage dynamique de chaque image, puis les ajoutez, puis compressez la plage dynamique de la somme, cela a fière allure.
Comparez le traitement d'image (ajout d'images) avec le traitement d'image quantimétrique (expansion, ajout, puis compression).
Vous pouvez télécharger mon code et d'autres exemples de matériel ici:
Étape 5: Aller plus loin: essayez-le maintenant avec les composites d'images HDR
(Image ci-dessus: le casque de soudage HDR utilise un traitement d'image quantimétrique pour les superpositions de réalité augmentée. Voir Slashgear 2012 le 12 septembre.)
En résumé:
capturez une image et appliquez les étapes suivantes:
- étendre la plage dynamique de l'image;
- traiter l'image;
- compresser la plage dynamique du résultat.
Et si vous voulez un résultat encore meilleur, essayez ce qui suit:
capturer une pluralité d'images exposées différemment;
- étendre la plage dynamique dans l'espace lumineux, selon mon précédent Instructable sur HDR;
- traiter l'image quantimétrique résultante, q, dans l'espace lumineux;
- compresser la plage dynamique grâce au mappage de tonalité.
Amusez-vous et s'il vous plaît cliquez sur "Je l'ai fait" et publiez vos résultats, et je serai heureux de commenter ou de fournir une aide constructive.
Conseillé:
FK (Forward Kinematic) avec Excel, Arduino et traitement : 8 étapes
FK (Forward Kinematic) avec Excel, Arduino et traitement : la cinématique avant est utilisée pour trouver les valeurs de l'effecteur final (x, y, z) dans l'espace 3D
Guide de programmation de traitement intéressant pour le concepteur - Contrôle des couleurs : 10 étapes
Conseils de programmation de traitement intéressants pour Designer - Contrôle des couleurs : Dans les chapitres précédents, nous avons parlé davantage de la façon d'utiliser le code pour faire la mise en forme au lieu des points de connaissance sur la couleur. Dans ce chapitre, nous allons approfondir cet aspect de la connaissance
Système de reconnaissance d'incendie et d'extinction d'incendie basé sur le traitement d'images : 3 étapes
Système de reconnaissance d'incendie et d'extinction d'incendie basé sur le traitement d'images : Bonjour les amis, il s'agit d'un système de détection d'incendie et d'extinction d'incendie basé sur le traitement d'images utilisant Arduino
Traitement d'image avec le Raspberry Pi : Installation d'OpenCV et séparation des couleurs d'image : 4 étapes
Traitement d'image avec le Raspberry Pi : Installation d'OpenCV et de la séparation des couleurs d'image : Cet article est le premier de plusieurs tutoriels de traitement d'image à suivre. Nous regardons de plus près les pixels qui composent une image, apprenons à installer OpenCV sur le Raspberry Pi et nous écrivons également des scripts de test pour capturer une image et aussi c
Traitement d'image Moyamoya : 8 étapes
Traitement d'image Moyamoya : Moyamoya, "bouffée de fumée", est une maladie rare qui est causée par le blocage des artères au niveau des noyaux gris centraux, qui est une zone à la base du cerveau. La maladie est une maladie cérébrovasculaire progressive qui touche principalement les enfants. Sym