Brevet FR3113432A1 — publié le 20220218

Procédé de reconnaissance automatique d’image, permettant une classification d’image, le procédé comprenant : une première étape de lecture de l’image par un curseur de lecture venant recouvrir n points de l’image ; une mesure de l’intensité et du niveau gris pour chacun des n points ; une mesure de l’intensité pour chacune des trois couleurs rouge, vert, bleu en chacun des n points, la somme des valeurs obtenues pour l’ensemble des n points étant comparée à une valeur seuil, la lecture de l’image formant quatre images matricielles ; une identification des polygones fermés avec côtés non sécants ; une détermination de la valeur d’une fonction propositionnelle A , par une évaluation de la proportion P de polygones présentant des côtés rectilignes, l’image étant classée comme représentant un paysage naturel si la proportion P est inférieure à une valeur seuil, pour chacune des trois images matricielles en niveau de gris, en couleur verte, et en couleur rouge. PROCEDE DE CLASSIFICATION AUTOMATIQUE D’IMAGES L’invention a trait à la reconnaissance automatique d’images, permettant une classification des images. Par « image » on désigne ici la reproduction d’une partie de l’univers à un instant donné, cette reproduction prenant la forme d’une photographie ou d’un extrait vidéo. Une image se présente par exemple sous la forme d’un fichier numérique au format GIF, JPEG, TGA, PNG. Par « reconnaissance automatique d’images », on désigne ici un système automatique permettant de classer les images par type, notamment image prise en extérieur ou en intérieur, image comprenant une présence humaine ou non, image représentant un milieu urbain ou image représentant un paysage naturel. L’invention est applicable aux images numériques multi-spectrales dont chaque pixel comporte plusieurs composantes à différentes longueurs d’onde. L’invention est notamment applicable à des images à trois composantes RGB. Etat de la technique La classification d’images est réalisée dans l’état de la technique par un traitement en quatre étapes. Considérant l’image comme une collection de régions d’intérêts, généralement de taille faible par rapport à la taille de l’image, ces régions sont détectées, dans une première étape, par extraction de primitives. Ces régions sont ensuite transformées en vecteurs représentant les caractéristiques de l’image, comme par exemple des contours et/ou des orientations, par une deuxième étape de description des primitives. Une troisième étape vise à construire une représentation d’images à partir de descripteurs générés lors de la deuxième étape. La quatrième étape est la prédiction de la présence ou non d’objets dans une image, en utilisant une des méthodes de classification supervisée. La détection d’objet dans l’image permet de classer l’image dans une catégorie, par exemple image comprenant une présence humaine ou non, image urbaine ou paysage. Différentes techniques ont été mises en œuvre, pour chacune de ces quatre étapes. La première étape d’extraction des primitives peut être effectuée en considérant l’image entière, par extraction dense, tous les pixels de l’image étant traités. Un exemple d’extraction dense est présenté par Jurie et al, 10th International Conf erence on Computer Vision IEEE Computer Society, 1, pp.604- 610, 2005 . Cette approche nécessite des ressources en temps et mémoire très importantes, une part du temps de calcul étant passée à traiter des régions peu informatives. Dans d’autres techniques de l’art antérieur, l’extraction des primitives est effectuée par détection des régions d’intérêt, plusieurs familles de détecteurs de points d’intérêt ayant été proposées : détecteurs de contours, détecteurs de blobs, détecteurs de régions, détecteurs de salliance. Les détecteurs de contours détectent les points qui correspondent à un changement brutal de l’intensité lumineuse. Des exemples de détecteurs de contour sont les détecteurs de Harris et leurs variantes Harris-Laplace, Harris-affine. Les points d’intérêt sont extraits le long des contours en ne prenant en compte que les points de courbure maximale ainsi que les intersections de contours. Les détecteurs de blobs détectent les régions qui diffèrent dans leurs propriétés comme la couleur, la luminosité. Un exemple de détecteur de blob est le détecteur de Hessian et ses variantes Hessian-Laplace, Hessian-affine. Un blob est en général défini comme une région de l’image qui est plus claire ou plus sombre que son environnement. Les points appartenant à ces régions sont désignés comme points-selles ou points-cols. Les détecteurs de régions sont basés sur les méthodes de segmentation. Un exemple de détecteur de région est le MSER ( Maximally Stable Extremal Regions ). Une mise en œuvre est présentée par Lee et al, Performance evaluation of local descriptors for maximally stable extremal regions, Journal of Visual Communi cation and Image Representation, Aug. 2017, vol.47, pp. 62-72 . Les détecteurs de saillance détectent les régions les plus informatives par rapport à l’attention humaine. Un exemple est le détecteur issu des travaux de Laurent Itti. L’intensité et la couleur, ainsi que l’orientation des contours sont souvent considérés comme les caractéristiques visuelles les plus pertinentes pour l’attention humaine. Le repérage des régions pertinentes dans l’image, pour l’attention humaine, permet de réduire la complexité de calcul. La deuxième étape de description des primitives peut mettre en œuvre des descripteurs différentiels, des descripteurs basés sur les distributions, des descripteurs de texture. Les descripteurs différentiels se basent sur le calcul des dérivés d’ordre n pour approximer le voisinage des points d’intérêt. Un exemple de descripteur différentiel a été proposé par Freeman et al, The design and use of steerable filters, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol 13, N°9, 1991 . Les descripteurs basés sur les distributions utilisent des histogrammes pour représenter les caractéristiques d’apparence ou de forme d’une région locale de l’image. L’histogramme décrit par exemple la distribution des intensités de pixels. Des exemples de tels descripteurs sont le SIFT ( Scale Invariant Feature Transform ), le SURF, utilisant les ondelettes de Haar, le HOG ( Hi stogram of Oriented Gradient ). Un exemple de mise en œuvre des descripteurs SIFT, SURF, et HOG est présenté dans le document WO 2019106095 (Yellow Line). On peut se référer également aux documents EP1850270 (Toyota), US6711293 (Univ British Col). Les descripteurs de texture cherchent à caractériser la texture d’une image, par exemple texture structurelle, détectant la répétition de motifs élémentaires, ou texture aléatoire présentant un aspect désordonné tout en apparaissant globalement homogène. La description de la texture peut être effectuée par exemple par une approche statistique, utilisant une matrice de co-occurence ou d’auto corrélation. Cette approche est couteuse en temps et en mémoire. La description de la texture peut être effectuée par un modèle auto-régressif ou un modèle de Markov. La matrice d’autocorrélation est calculée, pour une mesure des variations locales de l’image aux points anguleux de l’image, points aux voisinages desquels l’image varie significativement dans plusieurs directions. Cette approche est couteuse en temps de calcul. La description de la texture peut être effectuée par une approche fréquentielle. Les méthodes les plus utilisées sont basées sur les transformées de Fourier ou de Gabor. Les descripteurs construits à partie de la transformée de Fourier sont issus d’images en niveaux de gris ou d’images couleur, traitées plan par plan. Le document US7353224 (HP) décrit l’utilisation de descripteurs obtenus par transformée de Fourier-Mellin, pour l’identification d’images similaires dans une base de données. Le document FR2790571 (France Telecom) décrit l’utilisation de descripteurs DF de Fourier-Mellin pour l’identification de formes dans une image, une comparaison des descripteurs DF avec des descripteurs de référence étant effectuée après une étape d’apprentissage des descripteurs de référence, à l’aide d’un réseau de neurones. La troisième étape vise à construire une représentation d’images à partir de descripteurs générés lors de la deuxième étape. L’image peut être représentée par un histogramme global, par exemple histogramme de couleurs, histogramme de textures. L’image peut être représentée par un histogramme de valeurs statistiques calculées à partir des descripteurs locaux extraits de l’image, par exemple par sac de mot visuels. Le sac de mot visuel comprend une construction du vocabulaire visuel, les descripteurs étant extraits d’une base d’image et ensuite clustérisés par une méthode de classification non supervisée, telle que k-moyenne, ou GMM. Le sac de mot visuel comprend ensuite une construction des histogrammes de codage ( Vector Coding VQ, ou Locality-constrained Linear C oding LLC). Une variante d’algorithme LLC est présentée par Wang et al, A Dual Lo calit y-Constrained Linear Coding Algo rithm for Image Classification, IEEE. 6:19247-19254 2018. La quatrième étape est la prédiction de la présence ou non d’objets dans une image, en utilisant une des méthodes de classification supervisée, notamment classifieur de Bayes ou machine à vecteur support. Le document US7840059 (Microsoft) décrit un procédé de reconnaissance d’objet dans une image utilisant un dictionnaire de textons. Le document FR3072806 (CEA) décrit un procédé de calcul d’un descripteur global d’une image. Le descripteur global comprend un descripteur local associé à chaque pixel, un voisinage étant défini pour chaque pixel associé au descripteur local, une étiquette étant attribuée à chaque pixel du voisinage, deux pixels de valeurs différentes ayant deux étiquettes différentes, deux pixels de valeurs identiques ayant la même étiquette, l’ensemble des étiquettes du voisinage formant un motif, la valeur du descripteur local étant affectée à un représentant d’une classe d’équivalence à laquelle appartient le motif. Le document FR3009635 (STMicro) décrit un procédé de recherche d’une image similaire dans une banque d’images à partir d’une image de référence. Objet de l’invention Les approches mises en œuvre dans l’art antérieur pour la classification d’images nécessitent des ressources en temps et mémoire très importantes. Les approches par réseaux de neurone nécessitent de disposer d’une banque d’images annotées, images dont la classe à prédire est connue, pour l’apprentissage. Si l’utilisation de grandes ressources mémoire et d’un temps de calcul élevé sont acceptables pour les secteurs de recherche (par exemple la vision artificielle), les applications de sécurité (images satellites, biométrie), les applications médicales, ou la construction de moteurs de recherche d’images sur internet, il n’en va pas de même des usages privés, domestiques ou personnels. Or, le développement des terminaux mobiles de communication a transformé chaque utilisateur en photographe, au quotidien. Il est estimé que le nombre de smartphones actifs est de plus de 7 milliards, et qu’environ 50 smartphones sont vendus chaque seconde dans le monde. Chaque année, plus d’un milliard de photos sont prises par les utilisateurs de smartphones, mais également de tablettes ou d’appareils photos numériques. Une carte mémoire peut contenir plusieurs dizaines de milliers de photos et il n’est pas rare qu’un utilisateur d’ordinateur personnel stocke plus d’une centaine de milliers de photos sur différents supports. Sauf à nommer, voire indexer les images au fur et à mesure, il est fréquent qu’un utilisateur ne parvienne pas à retrouver une image dans la masse de données enregistrées. L’invention vise à fournir un procédé de reconnaissance automatique d’images, permettant une classification des images, sans avoir recours à la comparaison extensive de l’image avec une base de données conséquente. L’invention vise à fournir un procédé de reconnaissance automatique d’images pouvant être exécuté par un ordinateur de bureau, ou un terminal de communication mobile, tel que smartphone ou tablette. A ces fins, il est proposé, selon un premier aspect, à un procédé de reconnaissance automatique d’image, permettant une classification de l’image, le procédé comprenant une première étape de lecture de l’image par un curseur de lecture représenté par une grille matricielle venant recouvrir n points de l’image, le procédé comprenant une mesure de l’intensité et du niveau gris pour chacun des n points de l’image, et une mesure de l’intensité pour chacune des trois couleurs rouge, vert, bleu en chacun des n points de l’image, la somme des valeurs obtenues pour l’ensemble des n points étant comparée à une valeur seuil, la lecture de l’image formant quatre images matricielles, une en niveau de gris, une pour chacune des trois couleurs rouge, vert, bleu, le procédé comprenant une deuxième étape d’identification des polygones fermés avec côtés non sécants, le procédé comprenant, pour chacune des trois images matricielles en niveau de gris, en couleur verte, et en couleur rouge, une étape de détermination de la valeur d’une fonction propositionnelle A , la fonction propositionnelle A étant vraie lorsque l’image décrit un paysage urbain, la détermination des valeurs de cette fonction étant effectuée par une évaluation de la proportion de polygones présentant des côtés rectilignes pour chacune des trois images matricielles en niveau de gris, en couleur verte, et en couleur rouge, l’image étant classée comme représentant un paysage naturel si la proportion P de polygones présentant des côtés rectilignes est inférieure à une valeur seuil, pour chacune des trois images matricielles en niveau de gris, en couleur verte, et en couleur rouge. Dans une mise en œuvre avantageuse, la valeur seuil de polygones présentant des côtés rectilignes est de l’ordre de 30%. Le procédé comprend avantageusement une étape de détermination de la surface et de la position du centroïde du plus grand polygone dans l’image matricielle en couleur bleue. Le procédé comprend avantageusement une étape de calcul de la complexité de l’image, la complexité de l’image étant calculée en fonction du nombre de polygones détectés dans l’image, en utilisant la relation : Pi étant la probabilité associée à l’apparition d’une configuration de vertex ou de côtés de polygone, le procédé comprenant une étape de comparaison de la valeur de complexité de l’image à une valeur de complexité seuil. Avantageusement, le calcul de la complexité de l’image est effectué avant l’évaluation de la proportion de polygones présentant des côtés rectilignes. L’appartenance du résultat du calcul de complexité de l’image à un intervalle de valeur déterminé détermine en partie la caractéristique descriptive de l’image entre paysage artificiel, urbain, et paysage naturel. C’est ensuite qu’est déterminé la proportion de polygones présentant des côtés rectilignes, les polygones qui décrivent des objets artificiels étant par hypothèse plus réguliers que les polygones qui décrivent des objets naturels. Avantageusement, l’étape de calcul de la complexité de l’image est effectuée pour les quatre images matricielles, une en niveau de gris, une pour chacune des trois couleurs rouge, vert, bleu. Dans une mise en œuvre, l’image est classée comme représentant un paysage naturel si la complexité de l’image est comprise dans une gamme seuil de valeurs de complexité. La gamme seuil de valeurs de complexité est avantageusement de 100 à 400. Dans certaines mises en œuvre, le curseur de lecture est une grille matricielle carrée comprenant neuf cellules, une mesure de l’intensité des niveaux de gris et de l’intensité pour chacune des trois couleurs rouge, vert, bleu étant effectuée pour chacun des neuf points de l’image recouvert par le curseur de lecture, la somme de ces valeurs étant comparée à une valeur seuil, la valeur 1 étant attribuée aux points de l’image dans l’image matricielle lorsque la somme est supérieure à la valeur seuil. D’autres objets et avantages de l’invention apparaîtront à la lumière de la description de modes de réalisation. Acquisition de l’image Le procédé comprend une étape d’acquisition de l’image. Les images, par exemple des photographies aux formats GIF, JPG, TGA, PNG, sont enregistrées. Dans une mise en œuvre, l’image est mise aux dimensions 256x206 pixels au format paysage, ou pour le format portrait avec les dimensions 206x256 pixels. Grille matricielle de référence Les données numériques de l’image, concernant le spectre des couleurs en RGB ainsi que la distribution des pixels noir ou blanc en niveau de gris, sont enregistrées sur une grille orthogonale de référence. L’image est placée dans un espace vectoriel euclidien affine, muni d’un repère orthonormé. Une application bijective de dans 2 fait correspondre à tous les points quelconque de l’image, le couple de nombre réel (x i , y j ). Le sommet du cadre supérieur gauche de l’image correspond au point d’origine du repère. Une grille matricielle de référence G=(G ij ) est construite. La matrice G est mise aux dimensions de l’image, par exemple 256 x 206 pixels. Lecture de l’image Une fonction de lecture scanne successivement l’image en tranches verticales. Le curseur de lecture est un cadre superposé à l’image. Dans une mise en œuvre, le curseur de lecture est représenté par une grille matricielle carrée contenant 3 x 3 cellules de longueur CellLength, avec neuf positions indexées de 0 à 8. Les déplacements successifs du curseur de lecture sur l’image sont incrémentés à chaque séquence par la valeur CellLength. CellLength est un entier de valeur m qui peut être compris entre 1 et 9. Pour chaque séquence de déplacement, la valeur des données RGB et de niveaux de gris présente à la surface de l’image sont mesurées pour les neuf positions de la matrice. Une valeur 0 ou 1 est attribuée aux neuf positions, en fonction de l’intensité enregistrée sur l’image. Une fonction compare la somme totale des valeurs enregistrées par le curseur avec un seuil d’intensité moyen, et détermine ainsi la valeur respective de toutes les positions d’indice i et j sur la grille de référence, produisant ainsi une image matricielle. La matrice carrée C d’ordre n=3 et de dimensions 3 x 3 avec neuf positions est le curseur de lecture, qui définit une séquence de lecture. Le déplacement du curseur de lecture est une série de translations verticales, le long de l’axe des ordonnées, suivie d’une translation horizontale le long de l’axe des abscisses, afin de couvrir la totalité de la surface de l’image. Les indices i = 0 et j = 0 du curseur de lecture sont mis en correspondance avec le point de coordonnée (0,0) du repère. Une matrice de translation T y , qui a pour domaine de définition l’ensemble des points de coordonnée de l’image, applique une série de translations successives au curseur de lecture C, en suivant l’axe des ordonnées. Les coefficients du curseur de lecture sont incrémentés de la valeur CellLength à chaque séquence. L’expression de la matrice de translation T y en coordonnées homogènes est alors Avec Δx = 0 et Δy = m pour chaque translation du curseur C dans la direction verticale, on obtient pour l’ensemble des neuf points de coordonnées (x, y) que couvre le curseur les coordonnées (x’, y’) : La surface du curseur est donc déplacée verticalement par le coefficient m. Lorsque le curseur atteint le bord de l’image, minoré par le coefficient m afin de ne pas sortir des limites de l’image, on effectue alors une translation horizontale T x sur l’axe des abscisses. L’expression de la matrice de translation T x en coordonnées homogènes est Avec Δ’x = m et Δ’y = 0 pour chaque translation du curseur C dans la direction horizontale, on obtient pour l’ensemble des neuf points de coordonnées (x, y) que couvre le curseur : Une séquence de lecture est donc une translation verticale du curseur C par le coefficient m ou une translation horizontale du curseur C par le coefficient m. Autrement dit, CellLength fait avancer la séquence de lecture d’une longueur m. La valeur m détermine la valeur de l’incrément du déplacement du curseur à la surface de l’image. La valeur de la surface de lecture du curseur est proportionnelle à CellLength. Pour chaque translation de coefficient m, une mesure de l’intensité, 0 ou 1, des niveaux de gris et du spectre des couleurs RGB est prise sur les neuf points de la surface de l’image couvert par la matrice C du curseur. La somme S des 9 valeurs est comparée à une valeur seuil. Si S ≥ Seuil alors [Gij]= 1. Si la somme S est supérieure à la valeur seuil, alors la valeur 1 est attribuée aux indices i, j de la grille matricielle de référence G. Si S Une fois que la totalité des points (x, y) de l’image ont été lus, la matrice G a enregistré une image matricielle, de résolution CellLength = m, de l’image sur sa grille. La matrice G est une représentation binaire de l’image, composée de 0 ou de 1 obtenue par le déplacement successif du curseur de lecture C sur la surface de l’image. G est composée par l’évaluation de la somme répétée des valeurs rapportée par le curseur C sur ses neuf positions. Le curseur de lecture C peur être représenté par un ensemble de neuf éléments, ou à chacun des éléments est associée la valeur 0 ou 1. D’après la loi binomiale, le nombre d’états possibles pour le curseur C est de 2 9 , soit 512 configurations possibles, ces états étant tous équiprobables. Ces configurations peuvent être classées en dix sous-ensembles, selon le nombre d’éléments du curseur valant 1. Pour les configurations dans lesquelles le curseur C a une de ses neuf positions égales à 1 : 9 combinaisons sont possibles, avec une probabilité valant P(C 1 ) = 9/512. En suivant le même raisonnement, les probabilités des autres configurations pour le curseur C sont les suivantes : C a 2 de ses positions égales à 1, P(C 2 ) = 36/512 C a 3 de ses positions égales à 1 : P(C 3 ) = 84/512 C a 4 de ses positions égales à 1 : P(C 4 ) = 126/512 C a 5 de ses positions égales à 1 : P(C 5 ) = 126/512 C a 6 de ses positions égales à 1 : P(C 6 ) = 84/512 C a 7 de ses positions égales à 1 : P(C 7 ) = 36/512 C a 8 de ses positions égales à 1 : P(C 8 ) = 9/512 C a 9 de ses positions égales à 1 : P(C 9 ) = 1/512 C n’a aucune de ses positions égales à 1 : P(C 10 ) = 1/512 Acquisition des figures Le procédé comprend une étape de détermination de présence de polygones fermés non croisés, dans les grilles de référence. Afin de simplification, dans ce qui suit, ces polygones non croisés sont appelés « figures ». Le périmètre d’une figure est la limite continue du contour qui dessine sa surface. Le périmètre est une limite continue observable. L’acquisition d’une figure se fait par une séquence de lecture continue sur la longueur de son périmètre. Une séquence de lecture est l’intervalle de temps nécessaire pour accomplir une lecture continue de la longueur du périmètre d’une figure. Un cycle de lecture est une boucle positive. Les périmètres des figures sont finis, donc, les séquences de lecture sont des intervalles de temps finis. Des points d’entrées sur le périmètre commandent le départ d’une séquence de lecture. Lorsque le point d’entrée est identique au point final, la séquence est finie et la figure enregistrée. Avantageusement, le départ de chaque séquence de lecture se fait dans le sens positif, dans le plan vectoriel, sur l’axe des abscisses. Le sens positif est définit par l’incrémentation positive des indices i et j sur la grille G. Le sens négatif est défini par l’incrémentation négative des indices i et j sur la grille G. Le curseur C se déplace orthogonalement sur la grille en suivant l’incrémentation des indices i et j. Chaque vertex implémente un changement de direction du curseur C de lecture sur le périmètre de la figure. Les directions de recherches sont au nombre de quatre. Le curseur effectue des déplacements sur quatre directions, sur deux axes et dans le sens positif ou négatif. Lorsque le curseur est sur le périmètre, il lit les matrices carrées de neuf positions qui suivent le bord de la figure. Le bord est toujours parallèle à la direction de la lecture. La description du périmètre lu pendant une séquence sont les six positions, non vides, de la matrice carrée C du curseur qui est parallèle à la direction de lecture. Sur l’axe I, sens positif : Sur l’axe J, sens négatif : Sur l’axe J, sens positif : Sur l’axe J, sens négatif : Nous trouvons de même, sur les bords des figures, douze configurations possibles dans lesquelles la limite du périmètre peut ne pas être rectiligne. En fonction des quatre directions de lecture, nous avons pour une valeur à sept positions non nulles : sur l’axe I, sens positif : sur l’axe I, sens négatif : sur l’axe J, sens positif : sur l’axe J, sens négatif : sur l’axe I, sens positif : sur l’axe I, sens négatif : sur l’axe J, sens positif : sur l’axe J, sens négatif : sur l’axe I, sens positif : sur l’axe I, sens négatif : sur l’axe J, sens positif : sur l’axe J, sens négatif : Et pour une valeur a 8 positions non nulles, quatre configurations : sur l’axe I, sens positif : sur l’axe I, sens négatif : sur l’axe J, sens positif : sur l’axe J, sens négatif : Pour valider une figure, le curseur doit passer par au minimum une fois sur les quatre directions en accomplissant une boucle dans le sens positif, le dernier vertex doit être identique au point d’entrée. Ainsi qu’il a été indiqué, sur la grille de référence G, les figures sont des polygones fermés non croisés. Pendant la séquence, les changements de directions de la lecture sur le périmètre s’effectuent sur les points de sommet ou vertex. Un polygone est défini par le nombre et la direction de ses vertex et la longueur de son périmètre, ainsi que l’intervalle de temps nécessaire pour en faire une description. Le polygone le plus petit a quatre vertex. Le polygone le plus simple de surface non nulle est le carré. Pour représenter l’image matricielle d’un carré sur une matrice 3x3, il faut que quatre positions adjacentes de la matrice soient non nulle. Quatre configurations sont possibles : Le polygone le plus simple lu dans le sens positif a quatre vertex, chaque vertex étant une matrice carrée de d’ordre n=3, avec quatre positions adjacentes égales à 1. Les configurations a-d, représentent le vertex le plus simple possible dans les quatre directions de lectures. On appelle respectivement G00, G01, G02, G03 les matrices carrées, d’ordre n=3 et de dimensions 3 x 3, avec neuf positions. Les matrices portent des coefficients arrangés sur leurs positions respectives, en fonction de la direction de lecture qu’elles représentent. Si on se déplace dans la matrice du coefficient 1 au coefficient 9, le sens de lecture représenté commence toujours par le coefficient 1. G01 représente la direction horizontale et le sens positif, G03 la direction horizontale et le sens négatif, G02 la direction verticale et le sens positif, G00 la direction verticale et le sens négatif. Si on prend la configuration de a) comme exemple on invoque On fait la somme Val des positions non nulle sur C dans le cas de a). Pour n = 9 Val = 1 + 1 + 1 + 1 =4. La somme W : on reporte les quatre positions non nulle de C sur G01 est on fait la somme des valeurs correspondantes. Pour n = 9 W = 9 + 6 + 7 + 8 = 30. La valeur W du vertex le plus simple est 30. La somme des matrices carrée lues qui dénotent les bords du périmètre et des vertex donne la valeur du périmètre. La valeur du périmètre représente le nombre de matrices carrée lue par le curseur C pour faire le tour complet du polygone. La somme Val permet de classer les vertex par catégorie, en fonction du nombre de position non nulle sur leur matrice. Le vertex le plus simple avec la surface la plus petite a la valeur val = 4. En utilisant le principe que le périmètre est une limite continue observable et que les vertex se trouvent tous sur le périmètre, le vertex avec la surface la plus grande qui porte le dessin du contour de la figure est le vertex à huit positions non nulles. Donc Val = 8 est la valeur maximale. Ci-dessous, Vertex pour Val = 8, dans les 4 directions de lecture. Si on fait la somme W du vertex qui a la valeur 8 avec la surface observable la plus grande on obtient W = 44. Avantageusement, le curseur de lecture C enregistre uniquement les points du périmètre qui ont une somme W comprise entre 30 et 44. Autrement dit, pour être un point du périmètre il faut satisfaire la condition : 30 ≤ W ≤ 44. Pour calculer le cardinal de l’ensemble V des vertex, il faut faire la somme du cardinal des catégories des sous ensemble de Vertex de V. Il y cinq catégories de vertex pour la valeur Val comprise entre 4 et 8. Pour trouver les combinaisons de vertex possibles, il faut calculer combien de combinaisons possible il y a pour remplir la surface avec les cinq positions restantes qui sont successivement 1, 2, 3, 4 cases égales à 1. En supposant que tous les tirages sont équiprobables, l’ensemble des grilles possibles qui valide un vertex pour chaque direction de recherche est le résultat de ce calcul. Avec p représentant le nombre de case de valeur 1 et n étant égal au nombre total de positions sur la grille, Pour Val = 4, vertex avec le contour le plus simple, il n’y aucune possibilité, juste 1 solution : Il y a une possibilité, qui a une somme W tel que 30 ≤ W ≤ 44. En appliquant le même raisonnement, le nombre de possibilités pour lesquelles la somme W est telle que 30 ≤ W ≤ 44, pour Val = 5, cinq possibilités, pour Val = 6, huit possibilités, pour Val = 7, quatre possibilités, pour Val = 8, une possibilité. Le calcul des combinaisons a été fait ci-dessus pour une direction, sachant qu’il y a quatre directions, il faut multiplier par quatre pour obtenir le nombre total de combinaisons. Ainsi, par exemple, pour Val = 4, on a donc un total de quatre configurations possibles. Calcul de la complexité de l’image Le procédé comprend, dans une mise en œuvre, un calcul de la complexité de l’image. L’image décrit la somme des discontinuités observables que sont les polygones. Les polygones sont le résultat de la somme des probabilités indépendantes de l’apparition de certains types de sommet ou vertex ainsi que la somme des probabilités indépendantes de l’apparition des configurations des côtés à chaque séquence de lecture sur le périmètre. Le cardinal de l’ensemble des vertex vaut Card(v) = 4 + 32 + 16 + 4 = 76. Le cardinal de l’ensemble des points du périmètre vaut Card(p) = 76 + 4 +12 + 4 = 96. La probabilité d’obtenir un vertex quelconque vaut Pv = Card(v)/ Card(p) = 76/96. Les probabilités pour chaque configuration de vertex valent : pour Val = 4 ; P(v4) = Card(v4)/ Card(p) = 4/96=1/24 pour Val = 5 ; P(v5) = Card(v5)/ Card(p) = 20/96 = 5/24 pour Val = 6 ; P(v6) = Card(v6)/ Card(p) = 32/96 = 1/3 pour Val = 7 ; P(v7) = Card(v7)/ Card(p) = 16/96 = 1/6 pour Val = 8 ; P(v8) = Card(v8)/ Card(p) = 4/96 = 1/24 La probabilité d’obtenir un côté quelconque vaut Pv = Card(c)/ Card(p) = 20/96 = 5/24. Les probabilités pour chaque configuration de côtés valent : pour Val = 6; P(c6) = Card(c6)/ Card(p) = 4/96 = 1/24 pour Val = 7; P(c7) = Card(c7)/ Card(p) = 12/96 = 1/8 pour Val = 8; P(c8) = Card(c8)/ Card(p) = 4/96 = 1/24 Dans une mise en œuvre, la complexité de l’image est calculée en fonction du nombre de polygones détectés dans l’image, en utilisant la relation : avec Pi la probabilité associée à l’apparition d’une configuration de vertex ou de côtés. Dans une mise en œuvre, la complexité est calculée en fonction de la séquence de lecture totale qui compose l’image. avec Pci la probabilité associée à l’actualisation des motifs du curseur de lecture qui composent la totalité de l’image. Le calcul C(I) peut être apprécié comme une description instantanée et Ct(I) comme une moyenne. Détermination des aires des polygones et des positions des centroïdes Le procédé comprend avantageusement une détermination des centroïdes. Les figures sont des polygones fermés de n vertex avec des côtes non sécants. Les figures les plus simples sont des polygones réguliers à quatre vertex, les figures les plus complexes sont des polygones irréguliers à n vertex. La fonction CalculAire() calcule l’aire respective de la surface de chaque polygone. La fonction CalculCentrGrav () calcule la position respective du centroïde de chaque polygone. Le procédé comprend avantageusement un calcul des aires de chaque polygone. Le vecteur [] SurfacePoly reçoit le calcul respectif de l’aire de chaque polygone. Les polygones sont numérotes par l’indice z qui suit l’ordre des polygones trouvés. Pour le calcul on applique la formule de Gauss : L’indice z est numéroté sur le nombre de polygones trouvés. Les vecteurs [] PolyAX et [] PolyAY contiennent les coordonnées (x,y) des vertex. L’indice i des vertex est numéroté en fonction de leur apparition sur le périmètre du polygone, dans le sens de déplacement du curseur de lecture enregistré sur les vecteurs [] PolyAX et [] PolyAY. Dans ce cas, le vertex(x n , y n ) est identique au vertex(x 0 , y 0 ). Le procédé comprend avantageusement un calcul des centroïdes. Les vecteurs [] XGrav et [] YGrav reçoivent les coordonnées (x,y) des centroïdes respectifs de chaque polygone. Les coordonnées du centroïde d’un polygone fermé de n Vertex avec des cotés non sécants sont définies par les formules suivantes (pour simplifier l’expression on pose : A z =SurfacePoly[z]) : abscisse du centroïde : ordonnée du centroïde : Description de l’image et fonctions propositionnelles Le procédé comprend avantageusement une description de l’image, à l’aide de fonctions propositionnelles. On appelle I l’ensemble de tous les éléments contenus dans l’image. Une fonction propositionnelle définie sur I est une expression de la forme Pr(x) qui a la propriété de rendre Pr(b) vraie ou fausse pour chaque élément b qui appartient à I. Pr(x) devient un énoncé sur I, c'est-à-dire une proposition qui décrit une propriété de I, chaque fois qu’un élément b appartenant à I est substitué à la variable x. On nomme l’ensemble T p de tous les éléments de I tel que Pr(b) est vraie, l’ensemble de vérité de Pr(x). On a : T p = {x : x ∈ I, Pr(x) est vraie} et si {x : x ∈ I, P(x)} = I alors x, Pr(x) est vraie ; si non x, Pr(x) est fausse. De même si {x : Pr(x)} ≠ alors x tel que Pr(x) est vraie ; si non Pr(x) est fausse. Dans une mise en œuvre avantageuse, deux fonctions propositionnelles A et N sont prises en compte, les fonctions propositionnelles A et N qui ont pour domaine de définition T p , décrivant le résultat du calcul de complexité de l’image. En fonction du nombre de polygones présent dans l’ensemble I, un échantillon des polygones avec la plus grande surface est avantageusement prélevé. Sur cet échantillon, on applique deux fonctions d’évaluations, P et S, qui ont pour domaine T p . Dans une mise en œuvre, la fonction P évalue les caractéristiques géométriques des polygones. Dans une mise en œuvre, la fonction S calcule la grande surface de distribution des centroïdes en fonction des trois couleurs. Avantageusement, le procédé met en œuvre une troisième fonction propositionnelle W, concernant la distribution des centroïdes qui appartiennent à la couleur bleue. Avantageusement, le calcul de complexité et/ou le calcul des fonctions propositionnelles est effectué successivement sur les éléments x qui appartiennent à l’ensemble L pour la lumière, sur les éléments y qui appartiennent à l’ensemble R pour la couleur rouge, sur les éléments z qui appartiennent à l’ensemble V pour la couleur verte, les éléments x, y, et z étant les résultats obtenus pour la complexité et/ou le calcul des fonctions propositionnelles propres à chaque ensemble L, R, V. Exemple de mise en œuvre Dans un exemple de mise en œuvre, les fonctions propositionnelles sont construites pour une classification d’images en deux catégories sémantiques : images d’un paysage naturel ou bien image de structures urbaines. x ∈ I, A(x) est vraie signifie que I est un paysage contenant des structures urbaines ou artificielles. x ∈ I, N(x) est vraie signifie que I est un paysage naturel contenant des arbres, des montagnes ou des étendues d’eau. Le demandeur a constaté de manière inattendue que si des éléments de I qui sont identifiés comme des polygones régulier ou irrégulier non croisés ont des côtés rectilignes droit et continu avec un pourcentage supérieur à 30 %, l’image correspondant le plus souvent à des éléments artificiels, notamment des immeubles. Inversement, le demandeur a constaté de manière inattendue que si P a un pourcentage inférieur à 30%, les polygones sont très probablement des éléments naturels du paysage, arbres, feuilles, relief. Ainsi, pour tous les éléments x appartenant à l’ensemble L, quatre situations sont possibles : - la fonction propositionnelle A est vraie ; - la fonction propositionnelle N est vraie ; - les fonctions propositionnelles A et N sont toutes les deux vraies. Avec l’expression (A(x) N(x)), on ne peut pas déterminer un résultat appartenant uniquement à une des deux catégories sémantiques. L’image décrit simultanément les deux possibilités ; - un résultat pour les fonctions propositionnelles A et N ne peut pas être déterminé. Pour l’expression ¬(A(x) N(x)), Il n’y a aucune solution. De même, pour tous les éléments y appartenant à l’ensemble R, quatre situations sont possibles : - la fonction propositionnelle A est vraie. Les surfaces de couleur rouge décrivent les caractéristiques d’un paysage urbain ; - la fonction propositionnelle N est vraie. Les surfaces de couleur rouge décrivent les caractéristiques d’un paysage naturel ; - les fonctions propositionnelles A et N sont toutes les deux vraies. Avec l’expression (A(y) N(y)), on ne peut pas déterminer un résultat appartenant uniquement à une des deux catégories sémantiques. L’image décrit simultanément les deux possibilités, c’est peut être un paysage ou une scène mixte ; - un résultat pour les fonctions propositionnelles A et N ne peut pas être déterminé. Pour l’expression ¬(A(y) N(y)), Il n’ y a aucune solution. De même, pour tous les éléments appartenant à l’ensemble V, quatre situations sont possibles : - la fonction propositionnelle A est vraie. Les surfaces de couleur verte décrivent les caractéristiques d’un paysage urbain ; - la fonction propositionnelle N est vraie. Les surfaces de couleur verte décrivent les caractéristiques d’un paysage naturel ; - les fonctions propositionnelles A et N sont toutes les deux vraies. Avec l’expression (A(z) N(z)), on ne peut pas déterminer un résultat appartenant uniquement à une des deux catégories sémantiques. L’image décrit simultanément les deux possibilités, c’est peut être un paysage ou une scène mixte ; - un résultat pour les fonctions propositionnelles A et N ne peut pas être déterminé. Pour l’expression ¬(A(z) N(z)), Il n’y a aucune solution. Dans une mise en œuvre avantageuse, la fonction propositionnelle P est utilisée afin de trouver un résultat pour les expressions (A(x) N(x)) et ¬ (A(x) N(x)) définies sur les ensembles L, V, R. Le demandeur a constaté de manière inattendue que si pour toutes les variables x, y, z appartenant respectivement à L, V ou R, le résultat du calcul de la fonction P est supérieur à 30% alors la fonction A est valide. Inversement, si le calcul de P est inférieur à 30% alors la fonction N est vraie. Dans une mise en œuvre avantageuse, la fonction propositionnelle S permet de distinguer quatre situations : - situation S1, deux catégories de couleurs et la lumière présentent une symétrie ; - situation S2, une catégorie de couleur et la lumière dessinent un pattern ; - situation S3, la lumière seule dévoile une symétrie ; - situation S4, la symétrie est absente. Dans une mise en œuvre avantageuse, une fonction propositionnelle W, concernant la distribution des centroïdes qui appartiennent à la couleur bleue, permet de distinguer quatre situations : - situation C1, le ciel est étroit ; - situation C2, le ciel est étendu avec un horizon haut ; - situation C3, le ciel est grand avec un horizon bas ; - situation C4, la qualité du ciel est inconnue. La formule F qui représente l’arbre de décidabilité s’exprime dans sa forme non développée avec l’expression suivante : {(A(x) N(x) (A(x) N(x)) ¬ (A(x) N(x))) (A(y) N(y) (A(y) N(y)) ¬ (A(y) N(y))) (A(z) N(z) (A(z) N(z)) ¬ (A(z) N(z)))} {( S1(w) S2(w) S3(w) S4(w))} {(C1(x) C2(x) C3(x) C4(x))} La première partie de l’expression entre crochet exprime 216 combinaisons possibles. L’inventeur a découvert de manière inattendue que huit catégories permettent de distinguer les images de paysages artificiels et les images de paysages naturels : paysages artificiels (A(x) A(y) A(z)) (A(x) A(y) N(z)) (A(x) N(y) N(z)) (A(x) N(y) A(z)) paysages naturels (N(x) N(y) N(z)) (N(x) N(y) A(z)) (N(x) A(y) A(z)) (N(x) A(y) N(z)) Avec un échantillon de 200 images choisit aléatoirement parmi les catégories paysages urbain ou paysages naturel on obtient ainsi : 83.3 % de réussites avec la détermination de paysages urbain. 86.2 % de réussites avec la détermination de paysages naturel. Le procédé selon l’invention pour la classification d’images ne nécessite pas d’importantes ressources en temps et mémoire. L’invention fournit un procédé de reconnaissance automatique d’images, permettant une classification des images, sans avoir recours à la comparaison extensive de l’image avec une base de données conséquente. Le procédé de classification d’images selon l’invention peut être exécuté à l’aide d’un ordinateur de bureau ou un terminal de communication mobile, par exemple un smartphone, une tablette. Procédé de reconnaissance automatique d’image, permettant une classification de l’image, le procédé comprenant une première étape de lecture de l’image par un curseur de lecture représenté par une grille matricielle venant recouvrir n points de l’image, le procédé comprenant une mesure de l’intensité et du niveau gris pour chacun des n points de l’image, et une mesure de l’intensité pour chacune des trois couleurs rouge, vert, bleu en chacun des n points de l’image, la somme des valeurs obtenues pour l’ensemble des n points étant comparée à une valeur seuil, la lecture de l’image formant quatre images matricielles, une en niveau de gris, une pour chacune des trois couleurs rouge, vert, bleu, le procédé comprenant une deuxième étape d’identification des polygones fermés avec côtés non sécants, le procédé étant caractérisé en ce qu ’il comprend, pour chacune des trois images matricielles en niveau de gris, en couleur verte, et en couleur rouge, une étape de détermination de la valeur d’une fonction propositionnelle A , la fonction propositionnelle A étant vraie lorsque l’image décrit un paysage urbain, la détermination des valeurs de cette fonction étant effectuée par une évaluation de la proportion de polygones présentant des côtés rectilignes pour chacune des trois images matricielles en niveau de gris, en couleur verte, et en couleur rouge, l’image étant classée comme représentant un paysage naturel si la proportion P de polygones présentant des côtés rectilignes est inférieure à une valeur seuil, pour chacune des trois images matricielles en niveau de gris, en couleur verte, et en couleur rouge. Procédé selon la revendication 1, caractérisé en ce que la valeur seuil de polygones présentant des côtés rectilignes est de 30%. Procédé selon la revendication 1 ou 2, caractérisé en ce qu ’il comprend une étape de détermination de la surface et de la position du centroïde du plus grand polygone dans l’image matricielle en couleur bleue. Procédé selon l’une quelconque des revendications 1 à 3, caractérisé en ce qu ’il comprend une étape de calcul de la complexité de l’image, la complexité de l’image étant calculée en fonction du nombre de polygones détectés dans l’image, en utilisant la relation : avec Pi la probabilité associée à l’apparition d’une configuration de vertex ou de côtés de polygone, le procédé comprenant une étape de comparaison de la valeur de complexité de l’image à une valeur de complexité seuil. Procédé selon la revendication 4, caractérisé en ce que l’étape de calcul de la complexité de l’image est effectuée pour les quatre images matricielles, une en niveau de gris, une pour chacune des trois couleurs rouge, vert, bleu. 6. Procédé selon la revendication 4 ou 5, caractérisé en ce que l’image est classée comme représentant un paysage naturel si la complexité de l’image est comprise dans une gamme seuil de valeurs de complexité. 7. Procédé selon la revendication 6, caractérisé en ce que la gamme seuil de valeurs de complexité est de 100 à 400. 8. Procédé selon l’une quelconque des revendications 1 à 7, caractérisé en ce que le curseur de lecture est une grille matricielle carrée comprenant neuf cellules, une mesure de l’intensité des niveaux de gris et de l’intensité pour chacune des trois couleurs rouge, vert, bleu étant effectuée pour chacun des neuf points de l’image recouvert par le curseur de lecture, la somme de ces valeurs étant comparée à une valeur seuil, la valeur 1 étant attribuée aux points de l’image dans l’image matricielle lorsque la somme est supérieure à la valeur seuil.