PROCEDE DE GENERATION D'UN MARQUEUR À APPOSER SUR LA SURFACE D'UN OBJET METHOD FOR GENERATING A MARKER TO BE APPLIED ON THE SURFACE OF AN OBJECT
Domaine de l'invention L'invention concerne un procédé de génération d'un marqueur apposé sur la surface d'un objet pour permettre l'identification de cet objet. L'invention trouve des applications dans le domaine de la reconnaissance d'objets au moyen d'un marqueur contenant des données spécifiques à chaque objet. Field of the Invention The invention relates to a method of generating a marker affixed to the surface of an object to enable the identification of this object. The invention finds applications in the field of object recognition by means of a marker containing data specific to each object.
Etat de la technique Dans le domaine de la reconnaissance d'objets, il est fréquent d'apposer, sur chaque objet à reconnaître, un marqueur contenant des données spécifiques à l'objet et permettant de reconnaître et d'identifier ledit objet. Actuellement, les marqueurs les plus répandus sont les marqueurs à code-barres. Ces marqueurs à code-barres sont des papiers autocollants, ou étiquettes, destinés à être collés chacun sur un objet à reconnaitre et munis chacun d'un code-barres. Un code-barres, ou code à barres, est un codage de données numériques sous la forme d'un symbole constitué de barres et d'espaces dont l'épaisseur varie en fonction des données à coder. Plus précisément, un code-barres est constitué d'un nombre prédéfini de barres verticales blanches ou noires codant chacune, respectivement, un 0 binaire ou un 1 binaire, un ensemble de 0 et 1 binaires représentant un chiffre, comme montré sur la figure 1. Un code-barres permet ainsi d'associer un nombre à un objet, ce nombre correspondant à des données spécifiques audit objet. Classiquement, ces données spécifiques sont une référence de l'objet, un prix de l'objet, etc. Ces marqueurs à code-barres, très répandus actuellement, ont non seulement l'inconvénient d'être peu esthétiques, mais surtout d'être difficiles à lire. En effet, les codes-barres sont lus au moyen d'un terminal de lecture optique comportant une optique d'émission d'un faisceau lumineux et un capteur optique. Lors de la lecture d'un marqueur à codes-barres, le terminal de lecture envoie, sur le code-barres, un faisceau lumineux, généralement un faisceau laser de faible puissance, puis analyse la lumière réfléchie. Aussi, pour lire un marqueur à code-barres, l'opérateur chargé de la lecture de ces marqueurs doit présenter ledit marqueur face à l'optique du terminal de lecture, perpendiculaire au faisceau lumineux afin que le faisceau lumineux puisse être réfléchi par le code-barres. L'opérateur doit également présenter le code-barres à une distance relativement proche du capteur afin que le code-barres entre totalement dans un cadre dont la dimension est délimitée par la taille du capteur optique car le terminal de lecture ne comporte aucun moyen d'auto-calibration. Par ailleurs, comme dans la plupart des types de codage, le codage à code-barres comporte des informations de redondance. En effet, un code-barres comporte, en plus de l'information codée, une information de redondance pour sécuriser la lecture de l'information. Si un code-barres est mal positionné par rapport au capteur optique, ou s'il est déformé car son support est trop souple, alors le code-barres n'est lu que partiellement et il est donc impossible de localiser toute l'information contenue dans ce code-barres. Il y a donc une perte de l'information. On comprend qu'un marqueur à code-barres ne peut être lu que si le code-barres est correctement placé face au terminal de lecture. La lecture de tels marqueurs à code-barres est donc relativement fastidieuse et longue puisqu'elle nécessite le placement de chaque code-barres devant le terminal de lecture. Ainsi, dans le cas classique de courses dans un supermarché, l'opérateur en caisse doit rechercher, sur chaque objet acheté, le marqueur à code barre puis le placer face au terminal de lecture, un marqueur à code-barres mal positionné ne pouvant être lu. On comprend qu'avec de tels inconvénients, l'utilisation des marqueurs à code-barres est limitée à des applications dans lesquelles chaque objet muni d'un marqueur à code-barres peut être pris séparément dans un ensemble d'objets afin d'être placé un par un devant le terminal de lecture. STATE OF THE ART In the field of object recognition, it is common to affix, on each object to be recognized, a marker containing data specific to the object and making it possible to recognize and identify said object. Currently, the most common markers are barcode markers. These barcode markers are self-adhesive papers, or labels, intended to be glued each on an object to be recognized and each provided with a barcode. A barcode, or barcode, is a coding of digital data in the form of a symbol consisting of bars and spaces whose thickness varies according to the data to be encoded. More specifically, a barcode consists of a predefined number of white or black vertical bars each encoding, respectively, a binary 0 or a binary 1, a set of 0's and 1's representing a digit, as shown in Fig. 1 A barcode thus makes it possible to associate a number with an object, this number corresponding to data specific to said object. Classically, these specific data are a reference of the object, a price of the object, etc. These barcode markers, which are widespread today, not only have the disadvantage of being unattractive, but above all of being difficult to read. Indeed, the bar codes are read by means of an optical reading terminal comprising a light beam emission optics and an optical sensor. When reading a barcode marker, the reading terminal sends a light beam, usually a low power laser beam, to the barcode, and then analyzes the reflected light. Also, to read a barcode marker, the operator responsible for reading these markers must have said marker facing the optics of the reading terminal, perpendicular to the light beam so that the light beam can be reflected by the code -Bars. The operator must also present the barcode at a distance relatively close to the sensor so that the barcode completely enters a frame whose size is delimited by the size of the optical sensor because the reading terminal has no means of self-calibration. Furthermore, as in most types of coding, the barcode coding includes redundancy information. Indeed, a barcode comprises, in addition to the coded information, redundancy information to secure the reading of the information. If a barcode is incorrectly positioned relative to the optical sensor, or if it is deformed because its support is too flexible, then the barcode is read only partially and it is therefore impossible to locate all the information contained in this barcode. There is a loss of information. It is understood that a barcode marker can be read only if the barcode is correctly placed in front of the reading terminal. Reading such barcode markers is therefore relatively tedious and time consuming since it requires the placement of each barcode in front of the reading terminal. Thus, in the conventional case of shopping in a supermarket, the cash register operator must search, on each purchased object, the barcode marker and place it in front of the reading terminal, a badly positioned barcode marker can not be read. It is understood that with such drawbacks, the use of barcode markers is limited to applications in which each object having a barcode marker can be taken separately in a set of objects to be placed one by one in front of the reading terminal.
Exposé de l'invention L'invention a justement pour but de remédier aux inconvénients des techniques énoncées précédemment. A cette fin, l'invention propose un marqueur pouvant être lu dans différentes positions, même si la totalité des informations contenues par le marqueur n'est pas directement lisible par le terminal de lecture. L'invention propose également un procédé permettant de lire un tel marqueur et, si besoin, de reconstituer l'information manquante du marqueur. Pour cela, le marqueur de l'invention comporte un contour de positionnement de forme géométrique, ce contour de positionnement permettant la détection du marqueur dans une zone contenant ledit marqueur. La détermination de ce contour, associée à une localisation du marqueur dans un référentiel, permet de recomposer l'ensemble du marqueur, et donc l'information contenue dans le marqueur, même en cas d'occultation ou de conditions perturbées. L'invention propose ainsi d'obtenir une information à partir d'un signal image. De façon plus précise, l'invention concerne un procédé de génération d'un marqueur à apposer sur une surface d'un objet, caractérisé en ce qu'il comporte les opérations suivantes : - choisir une forme d'un contour de positionnement du marqueur dans une famille de quadratiques ; - choisir un type de codage apte à coder des données numériques de manière déterministe ; - encoder les données numériques destinées à être contenues par le marqueur ; - encoder des bits de redondance des dites données numériques afin de sécuriser les données codées ; et - placer les données et bits de redondance codés autour ou à l'intérieur du contour de positionnement. Ce procédé peut comporter une ou plusieurs des caractéristiques suivantes : - le contour de positionnement est une couronne (100) formée par deux cercles concentriques (100a, 100b) ayant un rapport de rayon prédéfini. - il comporte une opération de détermination d'un élément détrompeur sur ou à proximité du contour de positionnement. - le codage est un codage par luminance ou par chrominance. - le codage est un codage par signatures géométriques. - le codage est un codage par cercles décentrés dans lequel chaque élément codant comporte un disque grisé de rayon R et un disque blanc de rayon R/2, le disque blanc étant décentré dans le disque grisé. - les bits de redondance sont codés par des dimensions différentes des éléments codants. - le codage est un codage par cercles centrés dans lequel chaque élément codant comporte un ou plusieurs cercles centrés de niveaux de gris différents. - les éléments codants sont distribués autour du contour de positionnement. - les éléments codants sont distribués à l'intérieur du contour de positionnement. DISCLOSURE OF THE INVENTION The purpose of the invention is precisely to remedy the drawbacks of the techniques described above. To this end, the invention provides a marker that can be read in different positions, even if all the information contained by the marker is not directly readable by the reading terminal. The invention also provides a method for reading such a marker and, if necessary, reconstructing the missing marker information. For this, the marker of the invention comprises a positioning contour of geometric shape, this positioning contour for the detection of the marker in an area containing said marker. The determination of this contour, associated with a location of the marker in a repository, recomposes the entire marker, and therefore the information contained in the marker, even in case of occultation or disturbed conditions. The invention thus proposes to obtain information from an image signal. More specifically, the invention relates to a method for generating a marker to be affixed to a surface of an object, characterized in that it comprises the following operations: - choosing a shape of a positioning contour of the marker in a family of quadratics; - choose a type of coding able to code numeric data deterministically; - encode the digital data intended to be contained by the marker; encoding redundancy bits of said digital data in order to secure the coded data; and placing the redundant data and bits encoded around or within the positioning contour. This method may comprise one or more of the following features: the positioning contour is a ring (100) formed by two concentric circles (100a, 100b) having a predefined radius ratio. it comprises an operation for determining a polarizing element on or near the positioning contour. the coding is a luminance or chrominance coding. the coding is a geometric signature coding. the coding is an off-center coding in which each coding element comprises a gray disc of radius R and a white disc of radius R / 2, the white disc being off-center in the gray disc. the redundancy bits are coded by different dimensions of the coding elements. the coding is a centered circle coding in which each coding element comprises one or more centered circles of different gray levels. the coding elements are distributed around the positioning contour. the coding elements are distributed inside the positioning contour.
Brève description des dessins La figure 1, déjà décrite, représente un exemple de marqueur à code-barres selon l'art antérieur. La figure 2 représente de façon schématique le système de détection d'un marqueur selon l'invention. La figure 3 représente un diagramme fonctionnel du procédé de détection d'un marqueur selon l'invention. La figure 4 représente un exemple de l'étape de localisation du marqueur de l'invention. La figure 5 représente un exemple de marqueur selon l'invention. Les figures 6A, 6B, 6C, 6D, 6E et 6H représentent différents exemples de marqueurs selon l'invention. Les figures 7A, 7B et 7C représentent les éléments codants et le contour de positionnement d'un marqueur selon l'invention. La figure 8 représente un diagramme fonctionnel de l'encodage des données et du décodage des données selon l'invention. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1, already described, represents an example of a bar code marker according to the prior art. Figure 2 schematically shows the detection system of a marker according to the invention. FIG. 3 represents a functional diagram of the method for detecting a marker according to the invention. FIG. 4 represents an example of the step of locating the marker of the invention. FIG. 5 represents an example of a marker according to the invention. FIGS. 6A, 6B, 6C, 6D, 6E and 6H represent different examples of markers according to the invention. FIGS. 7A, 7B and 7C represent the coding elements and the positioning contour of a marker according to the invention. FIG. 8 represents a functional diagram of the encoding of the data and the decoding of the data according to the invention.
Description détaillée de modes de réalisation de l'invention L'invention concerne un procédé de détection d'un marqueur apposé sur la surface d'un objet et de lecture des données contenues dans ledit marqueur. Ce procédé consiste tout d'abord à réaliser une image d'une zone de l'environnement dans lequel se trouve au moins un marqueur. Cette zone, ou scène, peut être relativement vaste ; ce n'est pas nécessairement une zone ciblée autour du marqueur ; au contraire, cette zone peut être étendue et contenir plusieurs marqueurs. Par exemple, cette zone peut être un caddie de supermarché contenant plusieurs articles équipés chacun d'un marqueur selon l'invention et dont on cherche à évaluer le prix total des articles. Cette zone peut également être un lieu public dans lequel évolue une foule de personnes équipées chacune d'un marqueur selon l'invention et dont on cherche à connaitre les identités, .... Le procédé de l'invention consiste ensuite à traiter l'image de cette zone pour détecter un contour de positionnement d'un marqueur, ou pattern de localisation, puis traiter les données contenues à l'intérieur de ce contour de positionnement. Ces traitements de l'image et des données sont décrits de façon plus détaillée par la suite. Le procédé de l'invention est mis en oeuvre par un système de lecture tel que celui représenté de façon schématique sur la figure 2. Ce système comporte un terminal de lecture 20 qui assure la détection et la lecture d'un marqueur 11 apposé sur un objet 10, tel qu'un badge. Ce terminal de lecture 20 comporte un dispositif de prise d'images 21 apte à réaliser une prise d'image d'une zone contenant au moins un marqueur. Le dispositif de prise d'images 21, ou capteur photographique, assure l'acquisition d'une d'image de la zone, quelle que soit la zone et la position du marqueur dans cette zone. Le terminal de lecture 20 comporte également une unité de traitement d'image 22 qui assure la détection du marqueur dans l'image ainsi que le décodage des données contenues au sein du marqueur. Le terminal de lecture 20 comporte, de plus, une unité de commande 23 assurant la gestion des données décodées. Pour cela, l'unité de commande 23 est reliée, d'une part, à une interface 24, par exemple une interface homme/machine, et, d'autre part, à une base de données 30. Cette base de données 30 peut être distante du terminal de lecture 20 et reliée, par voie filaire ou non filaire (par exemple par liaison Wifi), à l'unité de commande 23. Cette base de données 30 contient des informations associées aux données spécifiques contenues dans le marqueur. L'interface homme/machine 24 peut être un écran, par exemple associé à un clavier, ou un écran tactile sur lequel peuvent être affichées les données décodées du marqueur et/ou des informations issues de la base de données 30. Le procédé mis en oeuvre par ce système est représenté sous la forme d'un diagramme fonctionnel sur la figure 2. Ce diagramme montre une première étape 40 d'acquisition d'une image d'une zone contenant au moins un marqueur. L'image peut être réalisée quel que soit l'angle de vue du capteur photographique, dans la limite des caractéristiques dudit capteur. Cette image étant une image globale d'une zone, le marqueur peut se trouver positionné face au capteur photographique ou bien de travers ou encore à une extrémité de l'image (en haut, en bas, sur un coté, etc.). L'environnement du marqueur peut donc être bruité. On considère qu'une image est bruitée lorsque la luminosité est faible et que l'image est sous-exposée ou, au contraire, lorsque la luminosité est élevée et que l'image est surexposée. Une image est également bruitée lorsqu'elle est floue, que le marqueur est de biais, ou qu'il est éloigné dans la zone de l'image, etc. Le procédé de l'invention comporte ensuite une étape 50 de traitement de l'image de la zone afin de détecter le marqueur dans l'image. Pour détecter un marqueur, le procédé consiste à détecter un contour de positionnement du marqueur. Selon l'invention, le contour du marqueur est le contour d'une quadratique. En effet, dans l'invention, on choisit un marqueur ayant une forme géométrique particulière, à savoir une forme appartenant à des quadriques. La quadrique utilisée peut être une hyperboloïde, un paraboloïde, un cône à base elliptique, etc. Dans un mode de réalisation préféré de l'invention, on choisit comme contour de positionnement du marqueur deux cercles concentriques dont la zone inter-cercle peut être grisée ou colorée de façon à former une sorte de couronne. Le procédé de l'invention propose donc de détecter le contour de cette quadrique afin de réduire l'image à une région d'intérêt, appelée aussi zone ROI, correspondant à la zone de l'image située autour du marqueur. L'extraction des contours de la zone ROI peut être réalisée au moyen, par exemple, d'un opérateur du type Sobel ou Canny. Il est possible alors d'améliorer les contrastes et la luminosité en normalisant cette zone ROI. Le procédé consiste ensuite à appliquer un détecteur de projection des primitives de cette quadrique sur un plan, par exemple au moyen d'une transformée de Hough ou d'un ajustement (fitting, en termes anglo-saxons) par la méthode des moindres carrés. Tout procédé de détection des contours même partiels peut être appliqué. Dans le mode de réalisation préféré où le contour de positionnement a une forme de couronne, les primitives détectées sont des ellipses. Le procédé consiste ensuite à sélectionner, parmi toutes les primitives projetées, le meilleur candidat selon un critère prédéfini. Dans notre mode de réalisation préféré où le contour de positionnement a une forme de couronne, on sélectionne deux ellipses concentriques possédant un rapport de taille des petits axes et un rapport de taille des grands axes connus de façon à ce que les foyers de ladite ellipse soient proches. Cette détermination des projections de primitives permet de connaitre le contour de positionnement du marqueur dans un plan Réel. A l'issue de cette détection, les signatures géométriques des primitives sélectionnées sont utilisées pour réaliser l'étape 60 du procédé de l'invention. Dans le mode de réalisation préféré où le contour de positionnement a une forme de couronne, les signatures géométriques sont la position des foyers et l'excentricité des deux ellipses. Cette étape 60 est une étape de localisation du contour de positionnement du marqueur qui consiste à estimer la transformation homographique des primitives pour passer du plan Réel à un plan Image du marqueur. Cette étape de localisation 60 fournit une information 90 de localisation ou positionnement du marqueur dans un référentiel, tel que le référentiel du dispositif de prise d'image. On a représenté, sur la figure 4, un exemple des plans Réel et Image lors d'une transformation homographique. Cette figure 4 montre : - le plan focal PF qui correspond au plan contenant le centre optique CO du capteur photographique, - le plan image PI qui correspond au plan contenant l'image du marqueur MI, et - le plan Réel qui contient le marqueur réel MR. Cette figure 4 représente également le cône elliptique E formé entre le centre CO du capteur photographique et le plan Réel PR et montrant que le contour du marqueur dans le plan Réel est une ellipse tandis que le contour du marqueur dans le plan Image est circulaire. Il existe actuellement de nombreux procédés en vision 3D qui permettent la détection des primitives et la transformation homographique. L'algorithme DLT normalisé (DLT : Direct Linear Transform, en termes anglo-saxons) est l'un de ces procédés. Le procédé de l'invention permet ainsi, en utilisant les propriétés des coniques et la nature même de la géométrie projective, de trouver le plan unique coupant les cônes de visée optique passant par le centre optique CO du capteur photographique, les images des coniques et leur tracé d'origine dans ce plan unique qui est le plan Réel. Lors de la génération d'un marqueur selon l'invention, on choisit un contour de ce marqueur qui puisse être, de préférence, facilement détectable. Pour cela, on peut choisir un contour de positionnement qui soit suffisamment contraint pour ne donner lieu qu'à une solution unique. Dans le mode de réalisation préféré où le contour de positionnement a une forme de couronne, le rapport de rayon entre les deux cercles concentriques formant la couronne est connu. Les points de ces cercles se projettent dans le plan Image sur deux coniques, à savoir des ellipses, représentées par leurs matrices respectives Al et A2 pour lesquelles un point x de l'ellipse i satisfait l'équation xT xAi xx = O. Une manière optimisée de calculer la matrice homographique à partir de calculs de valeurs propres généralisées de Al et A2 est décrit dans la publication IEEE intitulée « Geometric and Algebraic Contraints of Projected Concentric Circles and their applications to Camera Calibration ». Dans ce mode de réalisation préféré, les cercles étant concentriques, une ambiguïté de rotation peut persister à l'issue du calcul homographique. Le procédé de l'invention propose alors d'ajouter un point de référence formant un élément détrompeur. Cet élément détrompeur constitue une des signatures géométriques des primitives du contour de positionnement lors de l'étape de localisation dudit contour de positionnement. Cet élément détrompeur peut être un point particulier tel qu'un rond, placé à un endroit particulier par rapport au contour de positionnement, c'est-à-dire aux cercles concentriques du marqueur. Un exemple d'un marqueur équipé d'un tel élément détrompeur est représenté sur la figure 5. Dans cet exemple, le marqueur comporte deux cercles concentriques 100a et 100b formant une couronne 100. Le cercle concentrique 100a a un rayon inférieur au cercle concentrique 100b. Le marqueur comporte aussi un élément détrompeur 110, ou détrompeur angulaire. Ce détrompeur angulaire est un élément de forme ronde, placé de façon excentrée par rapport aux données codées 120, à proximité du cercle concentrique de rayon inférieur 100a. Dans cet exemple, l'élément détrompeur 110 est une pastille ronde et noire ; il pourrait aussi avoir la forme d'un cercle ou toute autre forme géométrique facilement dissociable des données codées, ce qui lui permet d'être détecté sans ambiguïté. Dans l'exemple de la figure 5, l'élément détrompeur a une forme identique à celle des données codées 120, mais son emplacement est suffisamment décentré pour être détecté sans ambiguïté. En réalisant une détection de ce détrompeur, par exemple par corrélation, une matrice de rotation est calculée puis multipliée à la matrice homographique pour former une matrice homographique totale. On comprend de ce qui précède que la reconstruction des données contenues dans le marqueur peut être réalisée dans des conditions perturbées, telles qu'une sur ou sous-exposition de lumière, un point de vu distant ou de biais, un flou de bougé, un flou de mise au point, une occultation partielle, etc. En effet, la détermination du contour de positionnement associé à une localisation du marqueur dans un référentiel, par exemple le référentiel du dispositif de prise d'image, permet de recomposer l'ensemble du marqueur lorsqu'il en manque une partie sur l'image et, ainsi, de récupérer toute l'information sans problème d'occultation ou de conditions perturbées. En outre, les traitements d'images utilisés dans le procédé de détection de l'invention étant rapides, le calcul homographique restreint et le calcul de décomposition en valeurs singulières étant légers, la détection des marqueurs est rapide et performante. Comme montré sur la figure 3, le procédé de l'invention comporte ensuite une étape 70 de décodage de l'information contenue dans les données codées du marqueur. En effet, le marqueur selon l'invention comporte, outre son contour de positionnement et l'élément détrompeur, les données codées placées à l'intérieur ou à l'extérieur du contour de positionnement, selon une géométrie prédéterminée par le type de codage. Cette étape de décodage consiste à appliquer un algorithme de décodage pour décoder les données numériques codées dans le marqueur. Un schéma fonctionnel montrant les différentes étapes du décodage est représenté sur la figure 8. Ce schéma montre que l'étape 70 comporte une opération 320 de décodage de la donnée lue sur le marqueur, puis une opération 310 de décodage des valeurs de correction de la donnée puis une opération 300 de vérification de l'intégrité de la donnée. L'étape 70 peut comporter, avant le décodage de l'information, une transformation homographique inverse pour projeter l'image sur le plan Réel. DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION The invention relates to a method for detecting a marker affixed to the surface of an object and for reading the data contained in said marker. This method consists first of all in producing an image of an area of the environment in which at least one marker is located. This area, or scene, can be relatively large; it is not necessarily a targeted area around the marker; on the contrary, this zone can be extended and contain several markers. For example, this zone may be a supermarket shopping cart containing several items each equipped with a marker according to the invention and which seeks to evaluate the total price of the items. This zone can also be a public place in which a crowd of people each equipped with a marker according to the invention and whose identities are sought to be known. The method of the invention then consists in treating the image of this area to detect a positioning contour of a marker, or pattern of location, then process the data contained within this positioning contour. These image and data processing are described in more detail later. The method of the invention is implemented by a reading system such as that shown schematically in FIG. 2. This system comprises a reading terminal 20 which ensures the detection and the reading of a marker 11 affixed to a object 10, such as a badge. This reading terminal 20 comprises an image pickup device 21 capable of taking an image of an area containing at least one marker. The imaging device 21, or photographic sensor, acquires an image of the area, regardless of the zone and the position of the marker in this area. The reading terminal 20 also includes an image processing unit 22 which ensures the detection of the marker in the image as well as the decoding of the data contained within the marker. The reading terminal 20 further comprises a control unit 23 for managing the decoded data. For this, the control unit 23 is connected, on the one hand, to an interface 24, for example a man / machine interface, and, on the other hand, to a database 30. This database 30 can remote from the reading terminal 20 and connected, wired or non-wired (for example via Wi-Fi), to the control unit 23. This database 30 contains information associated with the specific data contained in the marker. The human / machine interface 24 may be a screen, for example associated with a keyboard, or a touch screen on which can be displayed the decoded data of the marker and / or information from the database 30. This diagram shows a first step 40 of acquiring an image of a zone containing at least one marker. The image can be made regardless of the angle of view of the photographic sensor, within the limits of the characteristics of said sensor. Since this image is a global image of a zone, the marker can be positioned facing the photographic sensor or at an angle or at one end of the image (up, down, on one side, etc.). The environment of the marker can therefore be noisy. An image is considered noisy when the brightness is low and the image is underexposed or, on the contrary, when the brightness is high and the image is overexposed. An image is also noisy when it is fuzzy, the marker is slanted, or it is distant in the image area, and so on. The method of the invention then comprises a step 50 of processing the image of the zone in order to detect the marker in the image. To detect a marker, the method comprises detecting a positioning contour of the marker. According to the invention, the outline of the marker is the outline of a quadratic. Indeed, in the invention, one chooses a marker having a particular geometric shape, namely a form belonging to quadrics. The quadric used can be a hyperboloid, a paraboloid, an elliptic-based cone, etc. In a preferred embodiment of the invention, two concentric circles whose inter-circle area can be grayed out or colored so as to form a kind of ring are chosen as positioning contour of the marker. The method of the invention therefore proposes to detect the outline of this quadric in order to reduce the image to a region of interest, also called zone ROI, corresponding to the zone of the image situated around the marker. The extraction of the contours of the ROI zone can be carried out by means of, for example, an operator of the Sobel or Canny type. It is then possible to improve the contrasts and the brightness by normalizing this zone ROI. The method then consists in applying a projection detector of the primitives of this quadric on a plane, for example by means of a Hough transform or an adjustment (fitting, in Anglo-Saxon terms) by the least squares method. Any method of detecting even partial contours can be applied. In the preferred embodiment where the positioning contour has a crown shape, the detected primitives are ellipses. The method then consists in selecting, from all the projected primitives, the best candidate according to a predefined criterion. In our preferred embodiment where the positioning contour has a crown shape, two concentric ellipses having a small axis size ratio and a known large axis size ratio are selected so that the foci of said ellipse are relatives. This determination of primitive projections makes it possible to know the positioning contour of the marker in a Real plane. At the end of this detection, the geometric signatures of the selected primitives are used to carry out step 60 of the method of the invention. In the preferred embodiment where the positioning contour has a crown shape, the geometric signatures are the position of the foci and the eccentricity of the two ellipses. This step 60 is a positioning step of the marker positioning contour which consists of estimating the homographic transformation of the primitives to go from the Real plane to an image plane of the marker. This locating step 60 provides information 90 for locating or positioning the marker in a repository, such as the repository of the image pickup device. FIG. 4 shows an example of the Real and Image planes during a homographic transformation. This FIG. 4 shows: the focal plane PF which corresponds to the plane containing the optical center CO of the photographic sensor, the image plane PI which corresponds to the plane containing the image of the marker MI, and the real plane which contains the real marker. MR. This FIG. 4 also represents the elliptical cone E formed between the center CO of the photographic sensor and the Real plane PR and showing that the outline of the marker in the Real plane is an ellipse while the outline of the marker in the Image plane is circular. There are currently many 3D vision processes that allow primitive detection and homographic transformation. The DLT (Direct Linear Transform) algorithm is one of these methods. The method of the invention thus makes it possible, by using the properties of the conics and the very nature of the projective geometry, to find the single plane intersecting the optical aiming cones passing through the optical center CO of the photographic sensor, the images of the cones and their original layout in this single plane which is the Real plane. During the generation of a marker according to the invention, an outline of this marker is chosen which can preferably be easily detectable. For this, we can choose a positioning contour that is sufficiently constrained to give rise to a single solution. In the preferred embodiment where the positioning contour has a crown shape, the radius ratio between the two concentric circles forming the crown is known. The points of these circles are projected in the plane Image on two conics, namely ellipses, represented by their respective matrixes A1 and A2 for which a point x of the ellipse i satisfies the equation xT xAi xx = O. One way Optimized to compute the homographic matrix from generalized eigenvalue calculations of Al and A2 is described in the IEEE publication "Geometric and Algebraic Constraints of Projected Concentric Circles and their Applications to Camera Calibration". In this preferred embodiment, the circles being concentric, an ambiguity of rotation can persist at the end of the homographic calculation. The method of the invention then proposes to add a reference point forming a polarizing element. This polarizing element constitutes one of the geometric signatures of the primitives of the positioning contour during the step of locating said positioning contour. This polarizing element may be a particular point such as a circle, placed at a particular location with respect to the positioning contour, that is to say the concentric circles of the marker. An example of a marker equipped with such a polarizing element is shown in FIG. 5. In this example, the marker has two concentric circles 100a and 100b forming a ring 100. The concentric circle 100a has a radius smaller than the concentric circle 100b . The marker also comprises a polarizing element 110, or angular keying. This angular polarizer is a round-shaped element, placed eccentrically with respect to the coded data 120, near the concentric circle of lower radius 100a. In this example, the polarizing element 110 is a round and black pellet; it could also have the shape of a circle or any other easily dissociable geometric form of the coded data, which allows it to be detected without ambiguity. In the example of Figure 5, the polarizing element has a shape identical to that of the coded data 120, but its location is sufficiently off-center to be detected unambiguously. By performing a detection of this polarizer, for example by correlation, a rotation matrix is calculated and then multiplied to the homographic matrix to form a total homographic matrix. It is understood from the above that the reconstruction of the data contained in the marker can be carried out under disturbed conditions, such as over or under exposure of light, a distant point of view or bias, a camera shake, a focus blur, partial blackout, etc. Indeed, the determination of the positioning contour associated with a location of the marker in a repository, for example the repository of the image taking device, makes it possible to recompose the entire marker when it lacks a part of it on the image and, thus, to recover all the information without occultation problem or disturbed conditions. In addition, the image processing used in the detection method of the invention being fast, the restricted homographic calculation and singular value decomposition calculation being light, the detection of the markers is fast and efficient. As shown in FIG. 3, the method of the invention then comprises a step 70 of decoding the information contained in the coded data of the marker. Indeed, the marker according to the invention comprises, in addition to its positioning contour and the polarizing element, coded data placed inside or outside the positioning contour, according to a geometry predetermined by the type of coding. This decoding step involves applying a decoding algorithm to decode the digital data encoded in the marker. A block diagram showing the various decoding steps is shown in FIG. 8. This diagram shows that step 70 comprises an operation 320 for decoding the data read on the marker, then an operation 310 for decoding the correction values of the data then an operation 300 of checking the integrity of the data. Step 70 may include, before the decoding of the information, an inverse homographic transformation to project the image on the Real plane.
Des techniques d'interpolation usuelles peuvent être utilisées en cas de dilatation de l'image. L'image obtenue peut aussi être normalisée pour favoriser la lecture des données codées. Plusieurs types de codage peuvent être utilisés pour encoder les données du marqueur de l'invention. Quel que soit le type de codage utilisé, une donnée est encodée en respectant les opérations du schéma fonctionnel représenté sur la figure 8 : une opération 200 d'application de l'intégrité à la donnée est tout d'abord réalisée, puis une opération 210 de codage des données de correction, puis une opération 220 de codage de la donnée elle-même. Une fois codée, la donnée peut être appliquée sur le marqueur. Le codage peut être un codage spécifique au marqueur de l'invention ou, au contraire, un codage non spécifique et utilisé pour d'autres marqueurs. Les données contenues dans le marqueur peuvent aussi être codées par les composantes d'une image. Comme codage non spécifique, on peut citer, par exemple, le codage en luminance ou en chrominance. Dans un tel codage, chaque donnée est codée sous la forme de points ou d'amas de points dont la valeur binaire est représentée par une couleur ou un niveau de gris. Un exemple de marqueur dans lequel les données sont codées en luminance, est le code Barrel, représenté sur la figure 6A. Dans cet exemple, l'information est portée par une valeur de la luminance au centre des cercles : certaines données sont codées par des points blancs 121 au centre d'un cercle grisé 123 ; d'autres données sont codées par des points grisés 122 à l'intérieur d'un cercle blanc 124. Un autre exemple de marqueur comportant des données codées selon le code Barrel est représenté sur la figure 6B. Avec un tel codage, l'étape 70 du procédé de l'invention peut comporter une opération supplémentaire de seuillage de l'image, ce seuillage offrant une lecture optimale de la dominante en luminance au centre des cercles. Dans ce cas, une information binaire de 24 bits peut alors être extraite et décodée et/ou corrigée par une fonction de calcul de code correcteur d'erreurs du type Golay, BCH ou Red Solomon. L'information obtenue en sortie de l'algorithme de décodage est alors une information corrigée. Standard interpolation techniques can be used in case of image dilation. The image obtained can also be standardized to promote the reading of the coded data. Several types of coding may be used to encode the marker data of the invention. Whatever the type of coding used, a piece of data is encoded according to the operations of the block diagram represented in FIG. 8: an operation 200 for applying integrity to the piece of data is first performed, then an operation 210 encoding the correction data, then an operation 220 coding the data itself. Once coded, the data can be applied to the marker. The coding may be a coding specific to the marker of the invention or, on the contrary, a non-specific coding and used for other markers. The data contained in the marker can also be encoded by the components of an image. As nonspecific coding, there may be mentioned, for example, luminance or chrominance coding. In such encoding, each data item is encoded as dots or points clusters whose binary value is represented by a color or a gray level. An example of a marker in which the data is luminance coded is the Barrel code, shown in Figure 6A. In this example, the information is carried by a value of the luminance at the center of the circles: some data are coded by white dots 121 in the center of a gray circle 123; other data are encoded by gray dots 122 within a white circle 124. Another example of a marker having data coded according to the Barrel code is shown in Figure 6B. With such a coding, the step 70 of the method of the invention may comprise an additional operation of thresholding the image, this thresholding providing an optimal reading of the dominant luminance at the center of the circles. In this case, 24-bit binary information can then be extracted and decoded and / or corrected by an error-correcting code calculation function of the Golay, BCH or Red Solomon type. The information obtained at the output of the decoding algorithm is then corrected information.
Comme codage non spécifique, on peut citer également certains codages par signatures géométriques comme le code-barres, montré sur la figure 6C. D'autres codages par signatures géométriques, spécifiques à l'invention, peuvent être, par exemple, un codage par cercles décentrés, appelé aussi codage Necklace, ou un codage par cercles centrés, appelé codage Flower. Comme montré sur la figure 7B, dans le codage par cercles décentrés, chaque donnée numérique est codée au moyen de deux cercles décentrés, ou disques décentrés, formant un élément codant 130. Cet élément codant 130 comporte un disque grisé 131 de rayon R et un disque blanc 132 de rayon R/2. Le disque blanc 132 est placé à l'intérieur de cercle grisé 131, de façon décentrée par rapport audit disque grisé 131. L'emplacement du disque blanc dans le disque grisé détermine la valeur binaire de l'élément codant. Des exemples de valeurs binaires des éléments codants sont représentés sur la figure 7C, décrite de façon plus détaillée par la suite. L'élément codant 130 peut également avoir différentes dimensions, la dimension de cet élément codant déterminant les bits de redondance pour la protection des données. Selon ce codage par cercles décentrés, le motif de codage, appelé séquence, est composé de au plus 6 éléments codants 130 placés autour, ou à l'intérieur, du contour de positionnement du marqueur. Un exemple d'un tel contour de positionnement est représenté sur la figure 7A. Comme expliqué précédemment, ce contour de positionnement 100 comporte un cercle extérieur 100a et un cercle intérieur 100b, concentriques. Le cercle extérieur 100a peut avoir un diamètre de 60 unités relatives et le cercle intérieur 100b un diamètre de 45 unités relatives. Comme montré sur la figure 7C, la position du disque blanc dans le disque grisé indique une valeur binaire. Par exemple, si on note S une donnée de 24 bits à encoder selon un codage à cercles décentrés, on représente S sous la forme : S = aoal ...al~bob~...bi~ où les ai peuvent être des bits de redondance liés à un code correcteur d'erreur systématique et les bl des bits utiles d'information. Pour chaque i compris entre 0 et 5, la construction du marqueur consiste à ajouter un motif Mi basé sur : - la valeur de a2ia2i+1 selon la règle suivante : 00=>R=40; 01 =>R=35; 11 =>R=30; 10=>R=25;et - la position du disque blanc dans le disque grisé, en fonction de la valeur de b2ib2i+1 selon la règle montrée sur la figure 7C. Le motif M. est inséré dans le sens inverse des aiguilles d'une montre, après Mi_1 autour ou à l'intérieur du contour de positionnement du marqueur. Un tel codage par cercles décentrés a l'avantage de coder des données sur 24 bits avec 12 bits utiles, ce qui permet un codage de 4496 mots. Les figures 6D et 6E montrent deux exemples de codage par cercles décentrés selon l'invention. Dans l'exemple de la figure 6D, les éléments codants 130 décrits précédemment sont répartis autour du contour de positionnement 100. Dans l'exemple de la figure 6E, les éléments codants 130 sont répartis à l'intérieur du contour de positionnement 100. La figure 6H représente un exemple de codage par cercles centrés. Dans cet exemple, les données sont codées par des ensembles de un ou plusieurs cercles de niveaux de gris différents, par exemple des cercles grisés et des cercles blancs, centrés les uns dans les autres et formant des éléments codants 140. Ces éléments codants 140 sont répartis à l'intérieur d'un contour de positionnement 100. Dans une variante, les éléments codants sont placés autour du contour de positionnement. Dans l'exemple de la figure 6H, l'élément détrompeur est réalisé par deux ouvertures 150 dans le contour de positionnement, en regard l'une de l'autre. On comprend que, dans le procédé de l'invention, les données codées sont décodées en appliquant un algorithme de décodage dépendant du type de codage utilisé. Par exemple, des données codées par signatures géométriques seront décodées en appliquant un algorithme de décodage par signatures géométriques. As nonspecific coding, some geometric signature encodings such as the barcode, shown in FIG. 6C, may also be mentioned. Other encodings by geometric signatures, specific to the invention, can be, for example, an encoding by off-center circles, also called Necklace encoding, or a centered circles coding, called Flower encoding. As shown in FIG. 7B, in the decentered circle coding, each digital datum is encoded by means of two off-center circles, or off-centered disks, forming a coding element 130. This coding element 130 comprises a gray disc 131 of radius R and a white disk 132 of radius R / 2. The white disk 132 is placed inside a gray circle 131, off-center with respect to said gray disk 131. The location of the white disk in the gray disk determines the binary value of the coding element. Examples of binary values of the coding elements are shown in Figure 7C, described in more detail below. The coding element 130 may also have different dimensions, the size of this coding element determining the redundancy bits for data protection. According to this coding by off-center circles, the coding pattern, called sequence, is composed of at most 6 coding elements 130 placed around, or inside, the positioning contour of the marker. An example of such a positioning contour is shown in Figure 7A. As explained above, this positioning contour 100 has an outer circle 100a and an inner circle 100b, concentric. The outer circle 100a may have a diameter of 60 relative units and the inner circle 100b a diameter of 45 relative units. As shown in Fig. 7C, the position of the white disk in the gray disk indicates a binary value. For example, if we write S a 24-bit data to be encoded according to a decentered circle coding, we represent S in the form: S = aoal ... al ~ bob ~ ... bi ~ where the ai can be bits redundancy related to a systematic error correcting code and the bits of useful information bits. For each i between 0 and 5, the construction of the marker consists in adding a pattern Mi based on: the value of a2ia2i + 1 according to the following rule: 00 => R = 40; 01 => R = 35; 11 => R = 30; 10 => R = 25 and - the position of the white disc in the gray disc, depending on the value of b2ib2i + 1 according to the rule shown in Fig. 7C. The pattern M. is inserted counterclockwise, after Mi_1 around or within the positioning contour of the marker. Such off-center coding has the advantage of coding 24-bit data with 12 useful bits, which allows coding of 4496 words. FIGS. 6D and 6E show two examples of off-center coding according to the invention. In the example of FIG. 6D, the coding elements 130 previously described are distributed around the positioning contour 100. In the example of FIG. 6E, the coding elements 130 are distributed inside the positioning contour 100. Figure 6H shows an example of center circle coding. In this example, the data is encoded by sets of one or more different gray scale circles, for example gray circles and white circles, centered one inside the other and forming coding elements 140. These coding elements 140 are distributed in a positioning contour 100. In a variant, the coding elements are placed around the positioning contour. In the example of Figure 6H, the polarizing element is formed by two openings 150 in the positioning contour, facing one another. It is understood that, in the method of the invention, the coded data are decoded by applying a decoding algorithm depending on the type of coding used. For example, data encoded by geometric signatures will be decoded by applying a geometric signature decoding algorithm.
Une fois l'étape 70 de décodage terminée, les données numériques contenues dans le marqueur sont décodées et donc lisibles. Ces données numériques peuvent alors être utilisées directement. Elles peuvent également être utilisées pour rechercher des informations associées à ces données. Comme expliqué précédemment ces informations, référencées 80 sur la figure 3, peuvent être recherchées dans une base de données, en utilisant comme lien, la donnée numérique décodée. Par exemple, la donnée numérique décodée peut être associée à des informations d'identité d'une personne, à un prix d'article, à une localisation GPS, etc. On vient de décrire précédemment un procédé de détection et de décodage d'un marqueur selon l'invention. On peut déduire, de cette description, un procédé pour générer un tel marqueur. En effet, un marqueur selon l'invention est généré en choisissant, dans une famille de quadratiques et de leurs associations, une forme de contour de positionnement du marqueur puis en déterminant un élément détrompeur et en insérant cet élément détrompeur dans le marqueur. Un type de codage doit ensuite être choisi pour coder les données numériques de manière déterministe et non ambigüe. Les données numériques ainsi que les bits de redondance sont ensuite codés et placés autour du contour de positionnement, ou à l'intérieur dudit contour, en fonction du codage choisi. Ce placement des éléments codants peut être réalisé selon un arrangement aléatoire ou personnalisé (comme dans le cas du codage par cercle décentrés). Le procédé de génération du marqueur selon l'invention permet d'obtenir des marqueurs ayant une présentation graphique visuellement agréable. En conséquence, le marqueur de l'invention peut être installé à des emplacements visibles tels que des panneaux publicitaires, des logos, des badges, etc. L'esthétisme du marqueur de l'invention offre ainsi un choix d'applications important. En outre, ce marqueur étant facile à détecter quelles que soient les conditions environnementales, il peut être positionné à distance du terminal lecteur. Par exemple, un marqueur de 5 cm de diamètre peut être détecté et lu à une distance de l'ordre de 4 m ; un marqueur de 30 cm de diamètre peut être détecté et lu à une distance de l'ordre de 10 à 12 m. Ainsi, un marqueur selon l'invention peut être utilisé, par exemple, pour signer ou tagguer des objets ou des points d'intérêt, par exemple dans un musée, et fournir des services ou des informations associés à ces objets ou points d'intérêt. Il peut aussi être utilisé pour fournir des points de référence de positionnement absolu, par exemple, pour une fonction de navigation géolocalisée. Il peut aussi servir de point de référence de positionnement relatif, par exemple, pour superposer des informations 3D virtuelles sur des éléments réels filmés et affichés sur un écran. Once the decoding step 70 is complete, the digital data contained in the marker are decoded and therefore readable. This digital data can then be used directly. They can also be used to search for information associated with this data. As previously explained, this information, referenced 80 in FIG. 3, can be searched in a database, using as a link, the decoded digital data. For example, the decoded digital data may be associated with a person's identity information, item price, GPS location, etc. A method of detecting and decoding a marker according to the invention has been described above. From this description, it is possible to deduce a method for generating such a marker. Indeed, a marker according to the invention is generated by choosing, in a family of quadratic and their associations, a form of positioning contour of the marker and then determining a polarizing element and inserting this polarizing element in the marker. A type of coding must then be chosen to code the digital data in a deterministic and unambiguous manner. The digital data as well as the redundancy bits are then coded and placed around the positioning contour, or within said contour, according to the chosen coding. This placement of the coding elements can be done in a random or custom arrangement (as in the case of off-center coding). The method of generating the marker according to the invention makes it possible to obtain markers having a visually pleasing graphical presentation. Accordingly, the marker of the invention can be installed in visible locations such as billboards, logos, badges, etc. The aesthetics of the marker of the invention thus offers an important choice of applications. In addition, this marker being easy to detect whatever the environmental conditions, it can be positioned at a distance from the reader terminal. For example, a marker 5 cm in diameter can be detected and read at a distance of the order of 4 m; a marker 30 cm in diameter can be detected and read at a distance of the order of 10 to 12 m. Thus, a marker according to the invention can be used, for example, to sign or tag objects or points of interest, for example in a museum, and provide services or information associated with these objects or points of interest . It can also be used to provide absolute positioning reference points, for example, for a geolocated navigation function. It can also serve as a relative positioning reference point, for example, for superimposing virtual 3D information on actual elements filmed and displayed on a screen.