FR2968797A1 - Procede de generation d'un marqueur a apposer sur la surface d'un objet - Google Patents

Procede de generation d'un marqueur a apposer sur la surface d'un objet Download PDF

Info

Publication number
FR2968797A1
FR2968797A1 FR1060341A FR1060341A FR2968797A1 FR 2968797 A1 FR2968797 A1 FR 2968797A1 FR 1060341 A FR1060341 A FR 1060341A FR 1060341 A FR1060341 A FR 1060341A FR 2968797 A1 FR2968797 A1 FR 2968797A1
Authority
FR
France
Prior art keywords
coding
marker
positioning contour
data
digital data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1060341A
Other languages
English (en)
Inventor
Samuel Boury
Olivier Mezzarobba
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to FR1060341A priority Critical patent/FR2968797A1/fr
Publication of FR2968797A1 publication Critical patent/FR2968797A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06168Constructional details the marking being a concentric barcode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/1421Circular bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K2019/06215Aspects not covered by other subgroups
    • G06K2019/06225Aspects not covered by other subgroups using wavelength selection, e.g. colour code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K2019/06215Aspects not covered by other subgroups
    • G06K2019/06243Aspects not covered by other subgroups concentric-code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K2019/06215Aspects not covered by other subgroups
    • G06K2019/06262Aspects not covered by other subgroups with target- or other orientation-indicating feature

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

L'invention concerne un procédé de génération d'un marqueur à apposer sur une surface d'un objet, comportant 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.

Description

PROCEDE DE GENERATION D'UN MARQUEUR À APPOSER SUR LA SURFACE D'UN OBJET
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.
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.
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.
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.
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.
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.
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.
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.

Claims (10)

  1. REVENDICATIONS1. 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.
  2. 2. Procédé de génération selon la revendication 1, caractérisé en ce que le contour de positionnement est une couronne (100) formée par deux cercles concentriques (100a, 100b) ayant un rapport de rayon prédéfini.
  3. 3. Procédé de génération selon la revendication 1 ou 2, caractérisé en ce qu'il comporte une opération de détermination d'un élément détrompeur sur ou à proximité du contour de positionnement.
  4. 4. Procédé de génération selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le codage est un codage par luminance ou par chrominance.
  5. 5. Procédé de génération selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le codage est un codage par signatures géométriques.
  6. 6. Procédé de génération selon la revendication 5, caractérisé en ce que 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é.
  7. 7. Procédé de génération selon la revendication 6 ou 7, caractérisé en ce que les bits de redondance sont codés par des dimensions différentes des éléments codants.
  8. 8. Procédé de génération selon la revendication 5, caractérisé en ce que le codage est un codage par cercles centrés dans lequel chaque élément codant comporte un ou plusieurs cercles concentriques de niveaux de gris différents.
  9. 9. Procédé de génération selon l'une quelconque des revendications 6 à 8, caractérisé en ce que les éléments codants sont distribués autour du contour de positionnement.
  10. 10. Procédé de génération selon l'une quelconque des revendications 6 à 8, caractérisé en ce que les éléments codants sont distribués à l'intérieur du contour de positionnement.
FR1060341A 2010-12-10 2010-12-10 Procede de generation d'un marqueur a apposer sur la surface d'un objet Pending FR2968797A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1060341A FR2968797A1 (fr) 2010-12-10 2010-12-10 Procede de generation d'un marqueur a apposer sur la surface d'un objet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1060341A FR2968797A1 (fr) 2010-12-10 2010-12-10 Procede de generation d'un marqueur a apposer sur la surface d'un objet

Publications (1)

Publication Number Publication Date
FR2968797A1 true FR2968797A1 (fr) 2012-06-15

Family

ID=44547800

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1060341A Pending FR2968797A1 (fr) 2010-12-10 2010-12-10 Procede de generation d'un marqueur a apposer sur la surface d'un objet

Country Status (1)

Country Link
FR (1) FR2968797A1 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016173582A1 (fr) * 2015-04-30 2016-11-03 Prüftechnik Dieter Busch AG Procédé d'obtention d'informations à partir d'un corps codé, système avec un corps codé, produit de programme d'ordinateur et moyen de mémoire de données
FR3051062A1 (fr) * 2016-05-03 2017-11-10 Soft-Enov Etiquette d'identification, destinee a etre apposee sur un produit pour son authentification et sa tracabilite
EP3425568A1 (fr) * 2017-07-07 2019-01-09 Eric Gaudin Code-barre à deux dimensions encodant une donnée d'entrée, procédé d'encodage de cette donnée et de décodage de ce code-barre deux dimensions
CN110009692A (zh) * 2019-03-28 2019-07-12 渤海大学 用于相机标定的大型控制场人工标志点及其编码方法
WO2021257527A1 (fr) * 2020-06-19 2021-12-23 Apple Inc. Marqueur visuel
US11915097B1 (en) * 2020-01-14 2024-02-27 Apple Inc. Visual marker with user selectable appearance

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2549087A1 (de) * 1974-11-04 1976-05-06 Ncr Co Aufzeichnungstraeger mit codierten informationen
EP1143372A2 (fr) * 2000-04-06 2001-10-10 Seiko Epson Corporation Méthode et dispositif pour la lecture d'un code à barres bi-dimensionnel et support de stockage de données
US6484942B1 (en) * 1995-11-17 2002-11-26 Sega Enterprises Ltd. Information storage medium, information reproducing apparatus, game machine and its information reproducing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2549087A1 (de) * 1974-11-04 1976-05-06 Ncr Co Aufzeichnungstraeger mit codierten informationen
US6484942B1 (en) * 1995-11-17 2002-11-26 Sega Enterprises Ltd. Information storage medium, information reproducing apparatus, game machine and its information reproducing method
EP1143372A2 (fr) * 2000-04-06 2001-10-10 Seiko Epson Corporation Méthode et dispositif pour la lecture d'un code à barres bi-dimensionnel et support de stockage de données

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016173582A1 (fr) * 2015-04-30 2016-11-03 Prüftechnik Dieter Busch AG Procédé d'obtention d'informations à partir d'un corps codé, système avec un corps codé, produit de programme d'ordinateur et moyen de mémoire de données
US10853599B2 (en) 2015-04-30 2020-12-01 Prüftechnik Dieter Busch AG Method for obtaining information from a coding body, system comprising a coding body, computer program product and data storage means
FR3051062A1 (fr) * 2016-05-03 2017-11-10 Soft-Enov Etiquette d'identification, destinee a etre apposee sur un produit pour son authentification et sa tracabilite
EP3425568A1 (fr) * 2017-07-07 2019-01-09 Eric Gaudin Code-barre à deux dimensions encodant une donnée d'entrée, procédé d'encodage de cette donnée et de décodage de ce code-barre deux dimensions
FR3068805A1 (fr) * 2017-07-07 2019-01-11 Eric Gaudin Code-barre a deux dimensions encodant une donnee d'entree, procede d'encodage de cette donnee et de decodage de ce code-barre deux dimensions
CN110009692A (zh) * 2019-03-28 2019-07-12 渤海大学 用于相机标定的大型控制场人工标志点及其编码方法
CN110009692B (zh) * 2019-03-28 2023-05-02 渤海大学 用于相机标定的大型控制场人工标志点及其编码方法
US11915097B1 (en) * 2020-01-14 2024-02-27 Apple Inc. Visual marker with user selectable appearance
WO2021257527A1 (fr) * 2020-06-19 2021-12-23 Apple Inc. Marqueur visuel

Similar Documents

Publication Publication Date Title
CN109791623B (zh) 具有包括物理表面的基底的制品及其构造方法
FR2968797A1 (fr) Procede de generation d'un marqueur a apposer sur la surface d'un objet
JP2019537098A (ja) 機械可読性物品のための耐遮蔽性光学コード
EP2649560B1 (fr) Procédé de détection d'un marqueur apposé sur la surface d'un objet et système de mise en oeuvre
KR101781775B1 (ko) 에르미트 대칭성을 갖는 코딩된 광 패턴
JP2017215978A (ja) 能動奥行き検知のためのアフィン不変空間マスクの受信
FR2894685A1 (fr) Procede et dispositif d'identification et de calibration d'optiques panoramiques
WO2004040236A2 (fr) Cible codee et procede de photogrammetrie utilisant de telles cibles
EP3304047B1 (fr) Procédé de traitement d'images avec specularités et produit programme d'ordinateur correspondant
US10068338B2 (en) Active sensing spatial resolution improvement through multiple receivers and code reuse
EP3901794A1 (fr) Procédé d'authentification ou d'identification d'un individu
US10049454B2 (en) Active triangulation calibration
Bergamasco et al. Image-space marker detection and recognition using projective invariants
EP3234914A1 (fr) Procede de discrimination et d'identification par imagerie 3d d'objets d'une scene
FR3042893A1 (fr) Procede de detection de fraude par projection d'image pre-enregistree
WO2001081858A1 (fr) Procede de mesurage d'un objet tridimensionnel, ou d'un ensemble d'objets
EP3686761A1 (fr) Élément de marquage sécurisé et procédés d'encodage et d'authentification dudit élément de marquage
WO2015198148A2 (fr) Étalonnage de triangulation active
FR3065097B1 (fr) Procede automatise de reconnaissance d'un objet
FR3095286A1 (fr) Procédé de traitement d’image d’un document d’identité.
EP3655889B1 (fr) Méthode d'authentification par voie optique
WO2012107696A1 (fr) Procédés, dispositif et programmes d'ordinateur pour la reconnaissance de formes, en temps réel, à l'aide d'un appareil comprenant des ressources limitées
EP3945450A1 (fr) Lecture d'un code graphique
FR3032296A1 (fr) Calibrage 3d
FR3052287A1 (fr) Construction d'une image tridimensionnelle