Loading

Alison's New App is now available on iOS and Android! Download Now

Study Reminders
Support
Text Version

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Maintenant, nous allons passer à la façon de représenter une image pour que vous puissiez le traiter à l'aide de transformations Ainsi, nous avons laissé une question lors de la dernière conférence, c'est-à-dire si le spectre des lumières visibles est VIBGYOR du violet au rouge, pourquoi utilisons-nous une représentation de couleur RVB, espérons que vous avez tous une chance d'y penser, de lire à ce sujet et de trouver la réponse. La réponse est que l'œil humain est constitué de bâtonnets et de cônes. Les bâtonnets sont responsables de la détection de l'intensité dans le monde autour de nous et les cônes sont responsables de la capture des couleurs et il se trouve que l'œil humain il y a principalement trois types de cônes et que ces cônes ont des sensibilités spécifiques et que les sensibilités de ces cônes sont à des longueurs d'onde spécifiques qui sont représentées par S, M et L sur cette figure particulière. Donc, si vous regardez où ces cônes atteignent un pic à qui se trouve près de rouge, vert et bleu et c'est la raison pour représenter les images comme le rouge, le vert et le bleu en toute honnêteté, le pic ne se produit pas exactement rouge, vert et bleu, il se trouve en fait dans les couleurs entre, mais pour des raisons de commodité nous utilisons seulement R, G et B. Quelques faits intéressants ici il arrive que les longueurs d'onde M et L sont plus fortes sur le chromosome X, ce qui signifie que les mâles qui ont le chromosome XY, les femelles ont le XX sont plus susceptibles d'être dalton-dalles. Donc, il n'est pas que tous les animaux aient les mêmes trois cônes alors que les humains ont 3 cônes, les animaux de nuit ont 1 cône, les chiens ont 2 cônes de poisson et les oiseaux ont plus de sensibilité aux couleurs et il va à 4, 5 ou dans une crevette-mante va jusqu'à 12 différents types de cônes. Donc, la nature a une abondance de la façon dont les couleurs sont perçues. (02:42) Sur la façon dont une image est représentée, la façon la plus simple de représenter une image que vous avez déjà pensé est de représenter une image comme une matrice. Donc, voici la photo du Charminar et si vous regardez une petite partie de l'image la partie horloge vous pouvez voir clairement que vous pouvez zoomer sur elle et vous pouvez probablement la représenter comme une matrice de valeurs dans cette ligne de cas entre 0 et 1 et évidemment vous aurez une matrice similaire pour le reste de l'image aussi. Donc, mais est très courant dans la pratique alors que nous parlons ici de l'utiliser avec des valeurs 0 à 1, dans la pratique les gens utilisent jusqu'à un octet pour représenter chaque pixel, ce qui signifie que chaque pixel peut prendre une valeur entre 0 et 255 à octet et un dans la pratique nous normalisent également ces valeurs entre 0 et 1 et c'est la raison pour laquelle vous voyez ce genre de valeurs dans une représentation. Et aussi, pour garder à l'esprit est que pour chaque canal de couleur vous avez une telle matrice si vous aviez une image Rouge, Vert, Bleu, vous avez une matrice pour chacun de ces canaux. Quelle serait la taille de cette matrice, la taille de cette matrice dépendrait de la résolution de l'image. Donc, rappelons encore ce que nous avons parlé du composant de détection d'image lors de la dernière conférence, donc en fonction de la résolution que le capteur d'image capture l'image dans, qui déciderait de la résolution et donc de la taille de la matrice. (04:27) Une matrice n'est pas le seul moyen de représenter une image, une image peut aussi être représentée en tant que fonction, pourquoi? Cela nous aide à mieux gérer les images si nous le représentons aussi en tant que fonction, certaines opérations au moins. Donc, dans ce cas nous pourrions parler de cette fonction allant de R à R, où correspond tout simplement à un emplacement de coordonnées de 2 R 2 sur l'image, disons (i, j) et c'est ce que nous entendons par R. 2 Et la gamme R est l'intensité de l'image qui pourrait prendre une valeur comprise entre 0 à 255 ou 0 à 1 si vous choisissez de normaliser l'image. Et une image numérique est une version dosée discrète quantifiée de cette fonction continue dont nous venons de parler, pourquoi est-elle un échantillon de version quantifiée par échantillon nous voulons dire que nous l'échantillonnons à cette résolution, à l'origine la fonction peut être continue qui est comme le monde réel dans lequel l'image a été capturée. Ensuite, nous échantillons le monde réel à certaines valeurs de pixels particulières sur une grille par rapport à un point de référence et c'est ce que nous appelons une version discrète de l'original de la fonction continue originale. Pourquoi quantifié parce que nous disons que l'intensité ne peut être représentée que sous la forme de valeurs comprises entre 0 et 255 et aussi dans les mêmes étapes que vous ne pouvez pas avoir une valeur 0.5 par exemple au moins dans cet exemple particulier. De toute évidence, vous pouvez le changer si vous aimez dans un paramètre de capture particulier, mais lorsque nous parlons d'utiliser un octet pour représenter un pixel vous pouvez seulement avoir 0, 1, 2, et ainsi de suite jusqu'à 255, vous ne pouvez pas avoir un 0.5 pour que vous avez en fait discrétisé ou vous avez quantifié la valeur d'intensité que vous avez dans l'image. (06:25) Donc, parlons de transformer des images quand on les regarde comme des fonctions, donc voici un exemple de transformation pour que vous avez un visage et nous semblons avoir allégé le visage d'une certaine façon. Quelle est, selon vous, la transformation ici? Peux-tu deviner? Dans le cas où vous ne l'avez pas fait, la transformation ici est si votre image d'entrée était I et votre image de sortie était I ˆ vous pouvez dire que I'hat is I (x, y) plus 20. Et 20 est juste un nombre si vous voulez qu'il soit plus léger que vous direz plus 30 ou plus 40, là encore nous supposons que les valeurs se situent entre 0 et 255. (07:11) Un exemple de plus, disons que c'est l'exemple suivant où sur la gauche vous avez une image source sur la droite vous avez une image cible. Que pensez-vous de la transformation, la transformation est I'(x, y) serait I (− x, y). L'image se reflète autour de l'axe vertical, l'axe y est fixe et puis vous faites pivoter, vous flip les valeurs de l'axe des x. Si vous remarez ici ces deux exemples, les transformations se produisent point sage ou pixel sage, dans ces deux cas nous avons défini la transformation à un niveau de pixel. Est-ce la seule façon de procéder à une transformation? Pas nécessairement. (08:06) Très largement parlant, nous avons trois types d'opérations différentes que vous pouvez effectuer sur une image que vous avez des opérations de point, les opérations de point sont ce dont nous venons de parler où un pixel à la sortie dépend seulement de ce pixel particulier du même emplacement de coordonnées dans l'entrée qui serait une opération ponctuelle. Une opération locale est celle où un pixel de la sortie dépend d'une région entière ou d'un voisinage autour de cette coordonnée dans l'image d'entrée, et une opération globale est une opération dans laquelle la valeur qu'un pixel suppose dans l'image de sortie dépend de l'ensemble de l'entrée, sur l'ensemble de l'image d'entrée. En termes de complexité pour une opération ponctuelle, la complexité par pixel serait une constante, pour une opération locale, la complexité par pixel serait p carré en supposant un voisinage pxp, quartier local autour de la coordonnée que vous envisagez pour cette opération. Et dans le cas des opérations globales, évidemment, la complexité par pixel sera N 2 où l'image est N x N. (09:29) Voyons un couple d'opérations plus ponctuelles et ensuite nous voyons local et global, donc voici une opération de point très populaire que vous pouvez avoir utilisée dans votre appareil photo de smartphone ou adobe photoshop ou toute autre tâche d'édition d'image de tâche que vous avez prise. C'est une tâche d'amélioration de l'image et nous voulons inverser le contraste, inverser le contraste, nous voulons que le noir devienne blanc et le gris foncé pour devenir gris clair ainsi sur et ainsi de suite. Qu'en penses-tu? Comment mettez-vous en oeuvre cette opération? Dans le cas où vous ne l'avez pas encore fait, l'opération se ferait à un pixel particulier est une opération ponctuelle, en particulier pixel (m,) Votre sortie sera moins le pixel d'origine à cet endroit plus, 0 n0 IMAX IMIN vous flirte donc si vous aviez une valeur dit 240 qui est proche du blanc en général est à 255 et 0 est noir si vous aviez une valeur 240, maintenant ça va devenir 15 parce que I dans MAX notre cas est 255 et j'ai 0. Est 0, évidemment n'a pas d'importance, mais cette formule est MIN IMIN IMIN en supposant dans un cadre plus général où je pourrais être d'autres valeurs que vous avez dans la pratique MIN. (10:57) Nous allons nous laisser prendre un autre exemple de rehaussement d'image, mais cette fois vous allez parler d'étirer le contraste lorsque nous étirons le contraste, vous prenez l'ensemble de valeurs et vous l'étirez pour utiliser l'ensemble des valeurs que chaque pixel peut occuper, donc vous pouvez voir ici que c'est encore une opération très courante que vous avez utilisée si vous avez édité des images. Que pensez-vous est l'opération ici, c'est un peu plus compliqué que le précédent, au cas où vous n'avez pas déjà la réponse, n'oubliez pas de nous laisser d'abord trouver le rapport de sorte que vous avez un typique I qui est de 255-0 par max de I dans cette image moins min de I dans MAX − IMIN cette image nous supposons hypothétiquement que cette image sur la gauche a sa valeur maximale à 200 et sa valeur min à être 100. Si c'est le cas, tout ce rapport ici que vous voyez va devenir 2,55 ceci est (255-0 )/100. Donc, vous dites simplement que je vais prendre le pixel original ce qui nous laisse supposer pour le moment que le pixel original avait une valeur, disons 150 donc si cela avait la valeur 150 pour que vous subtriez un minimum, donc vous avez une valeur que le minimum est 100, donc vous allez avoir 50 into 2.55 plus I pour nous ce qui est égal à 0 qui est à peu près égal à 128. MIN Donc, c'est 50% de la production globale. Donc, ce qui était 150 qui était au milieu du spectre dans la gamme de valeurs que nous avions pour cette image d'entrée devient maintenant 128 qui devient le milieu du spectre pour l'ensemble des valeurs comprises entre 0 et 255, vous essayez simplement d'étirer le contraste que vous devez utiliser toutes les valeurs que vous avez entre 0 et 255. Ce qui signifie que ce qui serait passé du gris foncé au gris clair passe maintenant du noir au blanc, c'est-à-dire que vous augmentez le contraste, donc c'est ce que l'on appelle le contraste linéaire qui étend une opération simple à nouveau, mais dans la pratique, nous faisons quelque chose de plus compliqué. (13:27) Donc, nous faisons ce que l'on appelle l'égalisation de l'histogramme, vous avez peut-être encore entendu parler de ça, peut-être l'utiliser dans certains contextes si vous en avez entendu parler, lire à ce sujet et cela va être vos devoirs pour ce particuCours de lar. (13:41) Alors, posons-nous la question que les opérations ponctuelles répondent à toutes les exigences que nous avons sur les images? Prenons un exemple particulier, nous savons donc qu'un seul point s'intensifie l'influence par de multiples facteurs dont nous avons parlé à la dernière fois et qu'il ne nous en dit pas tout autant parce qu'il influence par la force de la source de lumière, la direction, la géométrie de surface, la capture du capteur, la représentation de l'image, etc. Donc, il peut ne pas être tout à fait instructif, alors prenons un exemple pour montrer ceci, alors supposons que nous vous donnons une caméra et que vous avez une scène toujours pas de mouvement comment vous pouvez réduire le bruit à l'aide d'opérations ponctuelles. Le bruit peut être à l'origine de la poussière qui souffle sur la scène pourrait être la cause de la poussière sur la lentille de votre appareil photo ou de toute autre raison pour cela pourrait être un dommage sur l'un des capteurs. Le bruit pourrait être à plusieurs niveaux, à différents niveaux, comment réduiez-vous le bruit en utilisant uniquement les opérations ponctuelles? La réponse que vous devez prendre de nombreuses images et les faire en moyenne parce que c'est encore la scène, nous pouvons continuer à prendre des images et espérer que le bruit est en moyenne par rapport à toutes vos images que vous avez prises et que vous prenez la moyenne de toutes vos images, il s'agit d'un tas de matrices que vous pouvez simplement prendre en moyenne par élément de toutes ces matrices et cela peut vous aider à atténuer la question du bruit dans une certaine mesure. Mais il est clair que c'est l'étirement que vous n'obtenez pas de multiples images pour chaque scène tout le temps et vous n'obtenez pas une scène encore tout à fait toujours tout le temps pour qu'il y ait toujours une motion et donc ce ne sera peut-être pas une méthode qui fonctionne très bien dans la pratique. Pour ce faire, nous devons passer des opérations ponctuelles aux opérations locales. (15:31) Alors, voyons ce qu'une opération locale signifie, comme nous l'avons déjà dit, une valeur de pixel à la sortie dépend d'un voisinage entier de pixels dans l'entrée autour de cette coordonnée, quelle que soit la coordonnée à laquelle nous voulons évaluer la sortie. (15:47) Donc, voici un exemple très simple pour comprendre ce que l'opération locale est l'exemple standard est ce que l'on appelle la moyenne mobile, donc ici vous avez l'image d'entrée originale I comme vous pouvez voir l'image d'entrée I est simplement une boîte blanche placée sur un fond gris foncé ou dans ce cas un fond noir parce que vous pouvez voir des zéros car les valeurs supposent que cela signifie un fond noir. Donc, l'image a la résolution particulière dans ce cas particulier il s'agit d'une image de 10 × 10 et la boîte blanche est située dans une région particulière. Mais le problème pour nous est que nous allons supposer que ce pixel noir au milieu ici et ce pixel blanc ici sont des pixels de bruit qui sont entrés par inadvertance. Alors, comment les supprimer? Donc, la façon dont nous allons les supprimer est d'envisager une moyenne mobile, donc vous prenez une fenêtre 3 × 3, n'avez pas besoin d'être 3 × 3 tout le temps pourrait être une taille différente, pour le moment nous allons prendre 3 × 3 et simplement prendre la moyenne des pixels dans cette région particulière. Donc, la moyenne ici est de 0, donc vous le remplissez à l'emplacement central de cette boîte. (17:03) Vous déplacez maintenant la boîte 3 × 3 jusqu'à l'emplacement suivant, vous prenez à nouveau une moyenne maintenant la somme s'avère être 90, 90/9 = 10. De même, déplacez la boîte de la boîte jusqu'à ce qu'elle soit plus loin et, une fois de plus, prenez la moyenne de tous les pixels de la zone dans l'entrée et cela vous donne une valeur dans la sortie. De toute évidence, vous pouvez voir qu'il s'agit d'une opération locale, le pixel de sortie dépend d'un voisinage local autour du même emplacement de coordonnées dans l'image d'entrée. (17:46) Et vous pouvez continuer ce processus et vous finira par créer l'image entière qui ressemble un peu à ça, donc vous pouvez voir maintenant que vous avez peut-être à gâchez vos yeux pour voir ça, vous pouvez voir maintenant que les pixels apparemment parasites ici et ici dans l'entrée ont été lissés à cause des valeurs des voisins et que la sortie a l'air beaucoup plus lisse, voici une image basse résolution qui a l'air un peu bloquant. Mais si vous avez une résolution plus élevée, elle serait beaucoup plus douce à vos yeux. Alors, quelle est l'opération que nous avons faite, essayons d'écrire ce que nous avons fait. Donc, nous avons dit ici que je, à un endroit particulier dire (x, y) va être, vous allez prendre un quartier. Donc, ce qui signifie que vous allez prendre le même endroit dans votre image d'entrée et dire que vous allez passer de say x moins une fenêtre k à x plus une fenêtre k. De même, nous allons passer de certains y-k à y + k et appelons cela i, appelons-en ceci dit j vous allez prendre les valeurs de tous ces pixels dans l'image d'entrée. Et évidemment, nous allons en moyenne tous, donc vous allez multiplier cette valeur entière par 1 parce que le quartier passe de x-k à x + k il y a totalement 2 k + 1 pixels là. Donc, vous allez avoir (2k + 1), parce que pour x aura 2k + 1 pixels, pour y, vous aurez 2 2k + 1 pixels et puis vous juste, donc le nombre total de pixels va être 1 croix l'autre et dans cet exemple particulier que nous avons vu k était 1 pour nous, nous sommes passés de x-1 à x + 1, donc si vous avez pris un emplacement particulier sur la sortie, vous avez pris l'emplacement correspondant sur l'entrée, puis un à gauche et un à droite. Donc, de x-1 à x + 1, y-1 à y + 1 et cela crée une matrice 3 × 3 pour vous et c'est ce que nous allons finalement normaliser par. Cela devient l'opération que vous avez pour votre moyenne mobile, donc il s'agit d'un exemple d'opération locale. (20:11) Déplacement vers le dernier type d'une opération appelée opération globale comme nous l'avons déjà mentionné dans ce cas, la valeur du pixel de sortie dépend de l'ensemble de l'image d'entrée. Pouvez-vous penser à des exemples? (20:27) Au cas où vous n'avez pas déjà compris, un exemple fort de quelque chose comme ça, ce que l'on appelle une transformée de Fourier, nous allons voir ceci dans une conférence un peu plus tard mais il y a d'autres opérations qui peuvent être globales en fonction de différentes applications, nous en verrons plus un peu plus tard et nous parlerons spécifiquement de la transformation de Fourier un peu plus tard. C'est à propos de cette conférence de sorte que vos lectures vont être le chapitre 3.1 du livre de Szeliski et aussi comme nous l'avons mentionné, pensez à la question et lisez à propos de l'égalisation des histogrammes et essayez de découvrir comment ça fonctionne et quelle est l'expression que vous écrirez pour le faire fonctionner.