Brevet FR3113970A1 — publié le 20220311

Procédé de positionnement d’une palette dans un entrepôt au moyen de modules d’analyses d’image comportant un moyen de stockage et réalisant les étapes suivantes : générer des données d’images (dI) à partir d’une capture d’image, générer des données d’objets classifiés (dCO) à partir des données d’images, les objets pouvant être de classe chariot vide ou de classe chariot plein, générer des données de trajectoire (dT) à partir des données d’objets classifiés, générer des données de sortie à partir des données de trajectoires, les données de sorties comportant, à un instant courant, un identifiant unique d’un objet et sa position dans le référentiel local, les données de sorties étant déterminées à partir des positions géographiques d’objets, lors d’une détection d’un changement de classification d’un objet entre un instant passé et un instant présent, depuis l’état chariot vide vers l’état chariot plein ou réciproquement, une émission d’un message à destination d’un module de traitement de données, le message comportant un identifiant unique d’un objet, sa nouvelle classification et sa position dans le référentiel local. Fig. 1 PROCEDE DE POSITIONNEMENT D’UNE PALETTE DANS UN ENTREPOT AU MOMENT DE SA PRISE DANS UN CHARIOT VIDE OU DE SA DEPOSE La présente invention se rapporte à un module d’analyse d’image configuré pour déterminer des données de sortie comportant des positions de sujets d’intérêt. Elle se rapporte également à une architecture mettant en œuvre ledit module d’analyse. État de la technique antérieure Le suivi de sujets d’intérêts se déplaçant dans un entrepôt, tels que des chariots ou personnes, est un problème courant. On connaît des solutions dans lesquelles les sujets d’intérêts sont équipés d’émetteurs dont la position dans l’entrepôt est déterminée à partir de récepteurs dont la position est connue, à partir de techniques de triangulation. Ces solutions présentent différents inconvénients. D’une part ces solutions nécessitent d’équiper chaque sujet d’intérêt, d’autre part des solutions basées sur des niveaux de réception de puissance des émetteurs sont souvent faussées par la présence de nombreux éléments métalliques, y compris au niveau des sujets d’intérêts, rendant le positionnement difficile si ce n’est impossible. Un but de l’invention est notamment de remédier à tout ou partie des inconvénients précités. Selon un premier aspect de l’invention, il est proposé un procédé de positionnement d’une palette dans un entrepôt au moyen de modules d’analyses d’image comportant un moyen de stockage et réalisant les étapes suivantes : générer des données d’images à partir d’une capture d’image ; générer des données d’objets classifiés à partir desdites données d’images, lesdits objets pouvant être de classe chariot vide ou de classe chariot plein, générer des données de trajectoire à partir des données d’objets classifiés, générer des données de sortie à partir des données de trajectoires, lesdites données de sorties comportant, à un instant courant, un identifiant unique d’un objet et sa position dans ledit référentiel local, lesdites données de sorties étant déterminées à partir desdites positions géographiques d’objets, Lors d’une détection d’un changement de classification d’un objet entre un instant passé et un instant présent, depuis l’état chariot vide vers l’état chariot plein ou réciproquement le procédé comporte une étape d’émission d’un message à destination d’un module de traitement de données, ledit message comportant un identifiant unique d’un objet, sa nouvelle classification et sa position dans ledit référentiel local. Lors d’une détection d’un changement de classification d’un objet de type chariot vide vers un objet de type chariot plein, le module de traitement de données met en œuvre une procédure de prise de palette comportant l’émission par le module de traitement de données d’un message comportant un identifiant unique de la palette prise et sa position dans ledit référentiel local. Description des figures D’autres avantages et particularités de l’invention apparaîtront à la lecture de la description détaillée de mises en œuvre et de modes de réalisation nullement limitatifs, au regard de dessins annexés sur lesquels : La figure 1 représente schématiquement une architecture comportant un module d’analyse d’image selon l’invention. La figure 2 représente un diagramme de machine à états utilisée pour la trajectographie des objets. La figure 3 représente schématiquement un arbre associé à chaque trajectoire dans le module d’analyse d’image. La figure 4 est un modèle de caméra de type sténopé mis en œuvre dans le module d’analyse d’image. La figure 5 est un diagramme de flux d’une procédure de prise de palette d’un module de positionnement de palettes. La figure 6 est un diagramme de flux d’une procédure de dépose de palette du module de positionnement de palettes. Description de mode de réalisation Les modes de réalisation décrits ci-après n’étant nullement limitatifs, on pourra notamment considérer des variantes de l’invention ne comprenant qu’une sélection de caractéristiques décrites, par la suite isolées des autres caractéristiques décrites, si cette sélection de caractéristiques est suffisante pour conférer un avantage technique ou pour différencier l’invention par rapport à l’état de la technique antérieure. Cette sélection comprend au moins une caractéristique, de préférence fonctionnelle sans détails structurels, ou avec seulement une partie des détails structurels si cette partie uniquement est suffisante pour conférer un avantage technique ou pour différencier l’invention par rapport à l’état de la technique antérieure. Sur les figures, un élément apparaissant sur plusieurs figures conserve la même référence. Il est maintenant décrit, en référence à Figure 1 , une architecture 100 selon un mode de réalisation de l’invention qui peut être associée à un entrepôt ou à un hangar. L’architecture 100 comporte : un module d’analyse d’image 200, trois modules de communication 300’, 300’’, 300 ’’’, un module de traitement de données 400, une passerelle de réception de données 500 (en anglais gateway ). Le module d’analyse d’image 200 est configuré pour déterminer des données de sortie comportant des positions dans un référentiel local du module d’analyse d’image. L’architecture 100 peut comprendre plusieurs modules d’analyse d’image. L’architecture 100 peut comprendre un, deux, ou plusieurs modules de communications. Le module d’analyse d’image 200 est configuré pour générer des données de sortie. Chaque module d’analyse d’image 200 est disposé dans l’entrepôt. Plus précisément, le module d’analyse d’image 200 selon l’invention comporte une unité de capture d’image 202, une unité de détection et de classification d’objets 204, une unité de trajectographie 206, une unité de positionnement géographique 208. L’unité de capture d’image 202 est configurée pour capturer des images et générer des données d’image dI. L’unité de détection et de classification d’objets 204 est configurée pour générer des données d’objets classifiés dCO comportant des objets détectés et classifiés. L’unité de trajectographie 206 est configurée pour générer des données de trajectoires dT des objets classifiés, à partir des données d’objets classifiés dCO. L’unité de positionnement géographique 208 est configurée pour générer des messages dM à partir desdites données de trajectoires dT. Les messages dM comportent des données de sortie et peuvent être d’un type position, d’un type évènement ou d’un type état, par exemple pour indiquer l’état ouvert ou fermé d’une porte. Les messages dM de type position comportent un identifiant unique d’un objet, sa classification et sa position dans le référentiel local. Chacun des modules d’analyse d’image 200 est disposé dans l’entrepôt, ou dans le hangar, en des positions géographiques connues. Le module de traitement de données 400 est agencé pour générer des données de sorties à partir des messages reçus du module d’analyse d’image 200, de sa position géographique et de l’orientation de son unité de capture d’image. L’orientation de l’unité de capture d’image du module 200 est connue du module de traitement de données 400. À cet effet, le module de traitement de données 400 peut être équipé de moyens de stockage (non représentés) de la position géographique du module d’analyse d’image et de l’orientation de son unité de capture d’image. L’orientation de l’unité de capture d’image est de préférence verticale. Les données d’objets classifiés dCO peuvent être générées selon deux méthodes distinctes par l’unité de détection et de classification d’objets 204. La première méthode est basée sur la différentiation d’images (mouvement) tandis que la seconde méthode localise et classifie les objets en une seule passe. Selon la première méthode, la détection et la classification sont réalisées en deux passes. Selon une première passe de cette première méthode, l’unité de détection et de classification d’objets 204 reçoit les données d’image dI et procède à leurs traitements par un module de détection 20412. Le module de détection 20412 est configuré pour déterminer une liste de formes contenues chacune dans un rectangle orienté englobant leur position, orientation et taille dans l’image. Le module de détection, appelé en anglais Moving Shapes Detection , est configuré pour calculer un masque d’objets mobiles en intégrant la différence entre une succession d’images, puis calculer le contour des formes détourables sur ce masque avant de déterminer leurs rectangles orientés. À cet effet, il peut être utilisé un algorithme de type SSD connu par l’homme du métier en anglais sous le nom Single Shot Detector . Un tel algorithme a l’avantage de localiser plusieurs instances d’objets différents sur une seule image, même en présence d’occlusion. D’autre algorithme de type RefineDet , pour l’anglais Single- Shot Refinement Neural Network for Object Detection , peuvent être mis en œuvre. Selon une deuxième passe de cette première méthode, la liste de forme déterminée par le module de détection 20412 est soumise à un module de classification 20414. Le module de classification 20414 est configuré pour réaliser une classification à partir d’une liste de forme prédéterminée, par exemple au moyen d’un réseau de neurones convolutif CNN, pour l’anglais Convolutional Neural Network . La classification permet d’identifier la nature de chacune des formes configurées pour être détectées. Différentes formes sont identifiées dans la suite de cette description, telles qu’un chariot plein, un chariot vide, une personne ou un arrière-plan. Selon une deuxième méthode, la détection et la classification sont réalisées en une seule passe par un module classificateur à une passe 20416. En sortie de la première ou de la seconde méthode, la classification, réalisée par le module de classification 20414 ou par le module classificateur à une passe 20416, peut être adressée à un module filtre passe-bas 20418 de l’unité de détection et de classification d’objets 204, afin de réduire les mauvaises classifications. Le module filtre passe-bas 20418 peut par exemple être un filtre de type majoritaire. La classe déterminée par le module de classification 20414 ou le module classificateur à une passe 20416 est écrite sur une structure de données initiale, et, de préférence, seuls les objets n’étant pas identifiés comme arrière-plan sont adressés à l’unité de trajectographie 206. Une fois que les sujets d’intérêts mobiles sont localisés et que leur nature est identifiée en sortie de l’unité de détection et de classification d’objets 204, les sujets d’intérêts sont associés à une trajectoire nouvelle ou existante au sein de l’unité de trajectographie 206, ce qui est communément appelé du suivi d’objets. Selon une possibilité, l’unité de trajectographie 206 comporte : des moyens de stockage et calcul (non représenté), un filtre prédictif 2062, une machine à état 2064. Chaque trajectoire est associée à un filtre prédictif 2062 et à une machine à état 2064. Le filtre prédictif 2062 est par exemple de type Kalman et sert à prédire la position de l’objet suivi sur l’image actuelle. Les prédictions sont agrégées dans une matrice avant de procéder à l’attribution de chaque objet candidat à ces objets préexistants (tel qu’avec l’algorithme hongrois par exemple). La matrice de coûts utilisée pour l’attribution optimale est calculée uniquement à partir de distances euclidiennes dans l’image. La matrice de coûts ne prend donc pas en compte la nature des objets. En effet, un objet peut changer de classe à tout moment (une personne qui monte sur un chariot par exemple). S’il reste des objets candidats non attribués à la fin de la procédure, alors une nouvelle trajectoire leur sera attribuée. Par la suite, la nouvelle position (lissée par le filtre prédictif 2062) de chaque objet est associée à un horodatage de l’image puis ajoutée à la trajectoire de l’objet. Une dernière passe est faite sur la liste des trajectoires, dans le but de purger les objets qui n’ont pas été mis à jour pendant un certain nombre d’images consécutives. Cela permet de ne pas associer de candidat à un faux positif ou à un objet qui vient de quitter le champ de la caméra. Figure 2 montre les transitions et états possibles de la machine à état 2064. Le pseudo-état initial Ei de la machine à état peut être suivi d’un des quatre états prévus dans la présente description : un état de type « inconnu » Eci, un état de type « chariot vide » Ecv, un état de type « chariot plein » Ecp, un état de type personne Ep. Tous les états peuvent être atteints depuis chacun des états. Cette figure montre chaque transition possible par une flèche unidirectionnelle représentant la classification du sujet d’intérêt en sortie du module de classification d’objets 204. Chaque classification peut mener à un nouvel état. Bien entendu, d’autres états pourraient être rajoutés. Bien entendu, certains états pourraient être supprimés. Par exemple, un sujet d’intérêt classifié dans l’état inconnu Ei peut passer dans l’état « chariot vide » Ecv. Lorsque ce sujet d’intérêt s’associe à une palette, il passe alors dans l’état « chariot plein » Ecp. Il transite par l’état « pallet pickup » Epp puis sort directement pour rejoindre l’état « chariot plein » Ecp. Si ce sujet d’intérêt se sépare de sa palette, il est de nouveau classifié « chariot vide ». Il rejoint l’état « pallet drop » Epd puis directement l’état « chariot vide » Ecv. - Si l’objet perd sa classification et que la transition est autorisée, il peut rejoindre un nouvel état par le biais d’une classification, en l’occurrence « arrière-plan » ou « personne » pour rejoindre respectivement les états « inconnu » Ei ou « personne » Ep. Comme il vient d’être vu, plusieurs objets peuvent être agrégés sur une seule trajectoire mère, tels qu’une personne et un chariot. À cet effet, une structure de données en arbre est attribuée à chaque trajectoire. La machine à état 2064 est configurée pour déclencher des ajouts ou des retraits de nœuds sur l’une desdites structures de données en arbre, les nœuds étant typés en fonction de la classification de l’objet. Ces ajouts et suppressions de nœuds sont illustrés sur Figure 2 par l’appel respectif des fonctions entry/ insert_ node ( ) et exit/ remove_node () . Dans cet arbre, chaque nœud correspond à un type d’objet et contient un identifiant unique. La présence d’un nœud à un instant t signifie que cet objet se déplace sur la trajectoire, et s’il est enlevé de l’arbre il s’arrête donc de suivre la trajectoire mère. Figure 3 illustre une possibilité d’évolution d’une telle structure de données en arbre. Selon une première étape, un nœud de type inconnu est ajouté à la structure de données. Dans une deuxième étape, et après que la machine à état 2064 soit passée de l’état « inconnu » à l’état « personne », le nœud de type « inconnu » est supprimé de l’arbre et un nœud de type « personne » est ajouté. Dans une troisième étape, et après que la machine à état 2064 soit passée de l’état « personne » à l’état « chariot vide », un nœud de type « chariot » est ajouté. Dans une troisième étape, et après que la machine à état 2064 soit passée de l’état « chariot vide » à l’état « chariot plein », un nœud de type « palette » est ajouté en tant que branche du nœud de type chariot. Si le nœud chariot vient à disparaître, la palette est alors également supprimée. L’inverse n’est pas vrai. Ainsi, la machine à états gère un aspect de l’invention : le positionnement des palettes. En effet, les palettes ne sont ni détectées ni classifiées par l’unité de détection et de classification d’objets 204. Ainsi, leur position est déduite par le changement d’état des chariots. Lorsqu’un chariot passe de l’état « chariot plein » à « chariot vide », la machine à états ajoute enlève le nœud «  palett e   » à l’arbre et déclenche une procédure de dépose de palette (décrite ci-après). Lorsqu’un chariot passe de l’état « chariot vide » à « chariot plein », la machine à états ajoute le nœud «  palett e   » à l’arbre et déclenche une procédure de prise de palette (décrite ci-après). Chaque nœud est en outre associé à un état de lecture, ou drapeau pour l’anglais flag , qui peut être vrai ou faux. Par défaut, l’état de lecture est faux. Un message est généré pour chacun des objets de l’arbre à la fin du traitement de l’image par le module de cartographie 206. Pour cela, l’arbre de chaque trajectoire est parcouru et pour chaque nœud qui présente l’état de lecture à l’état faux (ce qui veut dire que le nœud n’a pas été lu par cette même procédure), un message est construit. Ce message comporte l’identifiant de l’objet (et donc du nœud), sa classe. Ce message est de type position pour tous les nœuds, sauf pour ceux de type palette pour lesquels le message est de type évènement. L’unité de positionnement géographique 208 est configurée pour compléter chaque message DOPI avec et les coordonnées de l’objet dans le référentiel local du module d’analyse d’image 200, qui sont calculées à partir du dernier point en date de la trajectoire mère fournie par le module de cartographie 206. À cet effet, l’unité de positionnement géographique 208 positionne les objets captés par simple projection de points de l’image vers le référentiel local, en utilisant le modèle de caméra « pin-hole », dit sténopé, avec distorsions, illustré par la Figure 4 . L’utilisation de caméras fixes en vue de dessus rend cette projection inverse possible, étant donné que les objets peuvent être considérés comme planaires. En considérant les objets comme étant planaires, et en utilisant une distance caméra-sol fixe, les coordonnées des objets dans le référentiel terrestre se calculent simplement par la projection inverse du modèle, défini (sans prendre en compte les distorsions de la lentille) comme suit : où C correspond aux paramètres intrinsèques de l’unité de capture d’image 202, et RT aux paramètres extrinsèques (rotation et translation) de l’unité de capture d’image 202. En inversant l’équation précédente, on obtient donc la projection inverse d’un point de l’image vers le référentiel local : Lors de l’installation du système dans un entrepôt, il est tout d’abord nécessaire de calibrer la caméra pour extraire ses paramètres intrinsèques ainsi que les coefficients de distorsion. Il convient aussi d’installer la caméra de sorte que son système de coordonnées soit aligné avec celui de l’entrepôt (ou par rotations de 90 deg). Ainsi, il n’est pas nécessaire de calculer les paramètres extrinsèques, ce qui permet de faire une calibration normalisée au sol, et il suffit de mesurer la distance objectif-sol. Si la calibration est faite hors entrepôt et que la matrice de caméra C est normalisée, il est nécessaire de dé-normaliser le point projeté en mesurant l’échelle en mètres des axes X et Y du champ de vision de la caméra. En pratique, cela se traduit par une prise de mesures au laser de quatre points : les extrémités de chaque axe depuis l’origine du système de coordonnées. Ces distances sont corrélées avec les mêmes distances en pixels pour dé-normaliser le système de coordonnées des points projetés. Selon le mode de réalisation préféré, les données déterminées par le module d’analyse d’image 200 sont transmises par liaison filaire à destination d’un module des modules de communications 300’, 300’’. Selon une autre possibilité, les données déterminées par le module d’analyse d’image 200 sont transmises par liaison sans fil à destination d’un module de communications 300’’. À cet effet, le module d’analyse d’image 200 peut comporter des moyens de communications sans fil configurés pour émettre les données déterminées au moyen d’un réseau 600, par exemple de type 4G. Les modules de communication 300’, 300’’, 300’’’, sont configurés pour émettre les données déterminées par le module d’analyse d’image 200 à destination du module de traitement de données 400, lesdites données étant de préférence transmises par une liaison sans-fil ou CPL. Les modules de communication 300’, 300’’, 300’’’ sont de préférence disposés dans l’entrepôt. Plus précisément, dans le but d’offrir une interface scalable et flexible, les messages sortants de DOPI-Eye sont ajoutés à une file d’attente 210, de type FCFS (pour l’anglais First Come First Serve d ) , dont ils sont extraits à destination d’une interface série asynchrone UART 2102, pour l’anglais Universal Asynchronous Receiver Transmitter , et d’une interface de connexion 2104, en anglais s ocket 2104. En pratique, il est possible de choisir que les messages sortants soient uniquement écrits sur l’interface série asynchrone UART 2102, où le module de communication 300’, 300’’, 300 ’’’ écoute et retransmet sur le réseau sans-fil ou CPL. La file est de taille limitée, ce qui empêche les délais trop importants si l’envoi des messages subit des ralentissements, au risque de perdre des messages. La passerelle de réception de données 500 est configurée pour recevoir les données émises par les modules de communication 300’, 300’’, 300 ’’’ et les adresser au module de traitement de données 400. La passerelle de réception de données 500 peut être disposée hors l’entrepôt. Le module de traitement de données 400 est configuré pour collecter, fusionner et unifier les données déterminées par les différents modules d’analyse d’image 200. Ainsi, les messages déterminés par le traitement de données informent de la position de tout objet en mouvement dans un contexte global, celui de l’entrepôt. Le module de traitement de données 400 est ainsi configuré pour reporter les positions locales dans le système de coordonnées de l’entrepôt, puisque c’est le seul point où les positions et orientations de chaque module d’analyse d’image 200 sont connues. A contrario des objets identifiés par chaque module d’analyse d’image 200, il y a une réelle persistance de l’identification des objets au niveau du module de traitement de données 400 : là où le module d’analyse d’images 200 fait du suivi d’objets, le module de traitement de données 400 fait de la ré identification d’objets. À cet effet, le module de traitement de données 400 comporte notamment : une file d’attente 402, un module de fusion de trajectoires 404, une base de données d’objets, de leur classification et de leur position 406. Lorsqu’un module d’analyse d’image 200 « perd de vue » un objet (parce qu’il est occlus ou qu’il s’arrête de bouger pendant un certain temps, ledit module d’analyse d’image assigne un nouvel identifiant à ce même objet dès qu’il sera à nouveau revu. Afin que le module de traitement de données 400 puisse identifier les deux trajectoires déterminées par le module d’analyse d’images comme étant le même objet, un procédé de fusion est mis en place. Selon une première possibilité, le procédé de fusion calcule une perte pour chaque objet existant dans le module de traitement de données 400 en association avec la trajectoire candidate (l’objet à réassocier), puis minimise cette perte pour obtenir l’objet le plus apte à correspondre. Cette perte peut par exemple être déterminée comme une pondération de plusieurs mesures, telles que la distance entre l’objet et la trajectoire candidate, l’angle entre leurs vecteurs de direction, la différence de temps entre leur dernière mise à jour, ou encore la similarité de leur classe. Par exemple, pour deux objets A et B, la perte p peut être déterminée comme : a*dist(A,B) + b*angle(A.dir,B.dir) + c*(A.time-B.time) avec 0 Selon une deuxième possibilité, possiblement en combinaison avec la première, uniquement mise en œuvre pour le cas où une zone de l’entrepôt est couverte par au moins deux modules d’analyse d’image, le même objet peut être perçu par plusieurs modules d’analyse d’image et il y a donc plusieurs trajectoires — non nécessairement synchronisées — représentant le même objet en entrée du module de traitement de données 400. La stratégie de fusion repose sur la notion de trajectoire mère et de points candidats. La première est déterminée automatiquement par la fusion en zone simple, et les points candidats sont attribués selon la même fonction de perte que précédemment discuté. Chaque point candidat est ensuite intégré dans la trajectoire mère selon sa position sur la trajectoire : il est ajouté soit dans le passé, soit dans le futur, soit sur le présent. Lorsque la trajectoire mère n’est plus active (l’objet sort du champ de la caméra mère), la trajectoire appartenant au DOPI-Eye où l’objet se dirige prend le relais. Pour ce qui est des évènements de prise et de pose de palette, ceux-ci sont regroupés et le centre du regroupement est utilisé. Comme cela est illustré par Figure 1 , le module de traitement de données 400 peut être conçu pour générer des données qui sont adressées sur un système informatique de type nuagique 700 (pour l’anglais cloud com puting ). Comme cela est illustré sur Figure 5 , le procédé de positionnement de palette au sol a pour objet de positionner précisément une palette au sol au moment de sa prise. Lorsqu’un chariot passe de la classe ‘chariot vide“à la classe “chariot plein“, il en est déduit qu’une palette vient d’être prise. Déclenchée par la machine à états, la procédure 500 est exécutée sur un fil d’exécution séparé, et précède la création d’un message de type « évènement » à destination du module de traitement de données 400. Le contrôle passe à l’étape 504 pour effectuer quelques vérifications telles que la vélocité du chariot à cet instant. Le contrôle passe à l’étape 506 pour projeter la palette sur l’axe de déplacement du chariot à une distance prédéterminée. L’axe de déplacement du chariot est déterminé à partir d’un vecteur de direction précalculé. Le contrôle passe à l’étape 508 pour calculer la position du centre de la palette projeté dans le référentiel terrestre. Comme cela est illustré sur Figure 6 , le procédé de positionnement de palette au sol a pour objet de positionner précisément une palette au sol au moment de sa dépose. Lorsqu’un chariot passe de la classe ‘chariot plein“à la classe “chariot vide“, il en est déduit qu’une palette vient d’être déposée. Déclenchée par la machine à états, la procédure 600 est exécutée sur un fil d’exécution séparé, et précède la création d’un message de type « évènement » à destination du module de traitement de données 400. La cinématique d’un chariot est analysée à chaque instant, du présent vers le passé, afin de trouver une forme correspondant à un chariot dont les fourches ne sont plus visibles (sous la palette). Le contrôle passe à l’étape 604 pour effectuer quelques vérifications telles que la vélocité du chariot à cet instant puis trouver une forme candidate dans la trajectoire passée. Le contrôle passe à l’étape 608 pour extraire une partie d’image correspondant à l’avant du chariot (ROI pour l’anglais Region Of Interest ) sur la forme trouvée. Le contrôle passe à l’étape 606 pour extraire une partie d’image correspondant à l’avant du chariot sur la forme trouvée à l’étape 604. Le contrôle passe à l’étape 610 pour déterminer si la partie d’image extraite correspond bien. Si ce n’est pas le cas, le procédé 600 se termine. Si c’est le cas, la commande passe à l’étape 612 pour extraire le de la forme trouvée, c’est-à-dire le contour de la palette dans l’image courante. Puis le contrôle passe à l’étape 614 pour projeter le centre du contour dans l’image. Le contrôle passe à l’étape 616 pour calculer la position du centre de la palette projeté dans le référentiel terrestre. Dans les procédés 500 et 600, la position du centre de la palette est déterminée en utilisant du traitement d’image. Le traitement d’image rend la détermination de la position plus précise. En effet, le positionnement des palettes à leur dépose se doit d’être le plus précis possible, afin que le module de traitement de données 400 puisse corriger les prises de palettes avec plus de flexibilité. Les messages de type évènement envoyés au module de traitement de données 400 sont traités spécifiquement pour corroborer la trajectoire des palettes associée avec leur position au sol. Cette corroboration est réalisée par mesure de distance euclidienne, et éventuellement d’orientation au sol. Ces informations sont contenues dans les messages évènements. Bien sûr, l’invention n’est pas limitée aux exemples qui viennent d’être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l’invention. De plus, les différentes caractéristiques, formes, variantes et modes de réalisation de l’invention peuvent être associés les uns avec les autres selon diverses combinaisons dans la mesure où ils ne sont pas incompatibles ou exclusifs les uns des autres. La description qui précède est de nature purement illustrative et ne vise en aucune façon à limiter la divulgation, son application ou ses utilisations. Les enseignements généraux de la divulgation peuvent être mis en œuvre sous diverses formes. Par conséquent, bien que cette divulgation comprenne des exemples particuliers, sa portée réelle ne doit pas être aussi limitée puisque d’autres modifications apparaîtront après l’étude des dessins, de la spécification et des revendications suivantes. Il doit être entendu qu’une ou plusieurs étapes d’une méthode peuvent être exécutées dans un ordre différent (ou simultanément) sans altérer les principes de la présente divulgation. En outre, bien que chacun des modes de réalisation soit décrit ci-dessus comme ayant certaines caractéristiques, une ou plusieurs de ces caractéristiques décrites en ce qui concerne tout mode de réalisation de la divulgation peuvent être mises en œuvre dans et/ou combinées avec des caractéristiques de tout autre mode de réalisation, même si cette combinaison n’est pas explicitement décrite. En d’autres termes, les formes de réalisation décrites ne s’excluent pas mutuellement et les permutations d’une ou plusieurs formes de réalisation entre elles restent dans le champ d’application de la divulgation. Les relations spatiales et fonctionnelles entre les éléments (par exemple, entre les modules, les éléments de circuit, les couches de semi-conducteurs, etc.) sont décrites à l’aide de divers termes, notamment « connecté », « engagé », « couplé », « adjacent », « à côté », « au-dessus », « au-dessous » et « disposé ». Sauf si elle est explicitement décrite comme étant « directe », lorsqu’une relation entre un premier et un deuxième élément est décrite dans la divulgation ci-dessus, cette relation peut être une relation directe où aucun autre élément intervenant n’est présent entre le premier et le deuxième élément, mais peut également être une relation indirecte où un ou plusieurs éléments intervenants sont présents (soit spatialement soit fonctionnellement) entre le premier et le deuxième élément. Dans cette divulgation, qui comprend les définitions ci-dessous, le terme « module » ou le terme « contrôleur » peut être remplacé par le terme « circuit ». Le terme « module » peut se référer à, faire partie de, ou inclure : un circuit intégré à application spécifique (ASIC) ; un circuit discret numérique, analogique ou mixte analogique/numérique ; un circuit intégré numérique, analogique ou mixte analogique/numérique ; un circuit logique combinatoire ; un réseau de portes programmables (FPGA) ; un circuit processeur (partagé, dédié ou groupe) qui exécute du code ; un circuit de mémoire (partagé, dédié ou groupe) qui stocke le code exécuté par le circuit processeur ; d’autres composants matériels appropriés qui fournissent la fonctionnalité décrite ; ou une combinaison de tout ou partie des éléments ci-dessus, comme dans un système sur puce. Le module peut comprendre un ou plusieurs circuits d’interface. Dans certains exemples, le ou les circuits d’interface peuvent mettre en œuvre des interfaces câblées ou sans fil qui se connectent à un réseau local (LAN) ou à un réseau personnel sans fil (WPAN). Des exemples de réseau local sont la norme 802.11-2016 de l’Institute of Electrical and Electronics Engineers (IEEE) (également connue sous le nom de norme de réseau sans fil WIFI) et la norme 802.3-2015 de l’IEEE (également connue sous le nom de norme de réseau câblé ETHERNET). Des exemples de WPAN sont la norme IEEE 802.15.4 (y compris la norme ZIGBEE de l’Alliance ZigBee) et, du Bluetooth Special Interest Group (SIG), la norme de réseau sans fil BLUETOOTH (y compris les versions 3.0, 4.0, 4.1, 4.2, 5.0 et 5.1 de la spécification de base du SIG Bluetooth). Un module peut communiquer avec d’autres modules en utilisant le(s) circuit(s) d’interface. Bien que le module puisse être décrit dans la présente communication comme communiquant logiquement directement avec d’autres modules, dans diverses implémentations, le module peut en fait communiquer via un système de communication. Le système de communication comprend des équipements de mise en réseau physique et/ou virtuel tels que des concentrateurs, des commutateurs, des routeurs et des passerelles. Dans certaines implémentations, le système de communication se connecte à un réseau étendu (WAN) tel que l’Internet ou le traverse. Par exemple, le système de communication peut comprendre plusieurs réseaux locaux connectés entre eux sur l’internet ou des lignes louées point à point utilisant des technologies telles que la commutation multiprotocole par étiquette (MPLS) et les réseaux privés virtuels (VPN). Dans diverses implémentations, la fonctionnalité du module peut être répartie entre plusieurs modules qui sont connectés via le système de communication. Par exemple, plusieurs modules peuvent mettre en œuvre la même fonctionnalité répartie par un système d’équilibrage de charge. Dans un autre exemple, la fonctionnalité du module peut être répartie entre un module de serveur (également appelé module distant ou « cloud ») et un module de client (ou d’opérateur). Par exemple, le module client peut inclure une application native ou web s’exécutant sur un appareil client et en communication réseau avec le module serveur. Procédé de positionnement d’une palette dans un entrepôt au moyen de modules d’analyses d’image comportant un moyen de stockage et réalisant les étapes suivantes : générer des données d’images (dI) à partir d’une capture d’image, générer des données d’objets classifiés (dCO) à partir desdites données d’images, lesdits objets pouvant être de classe chariot vide ou de classe chariot plein, générer des données de trajectoire (dT) à partir des données d’objets classifiés, générer des données de sortie à partir des données de trajectoires, lesdites données de sorties comportant, à un instant courant, un identifiant unique d’un objet et sa position dans ledit référentiel local, lesdites données de sorties étant déterminées à partir desdites positions géographiques d’objets, lors d’une détection d’un changement de classification d’un objet entre un instant passé et un instant présent, depuis l’état chariot vide vers l’état chariot plein ou réciproquement : émission d’un message à destination d’un module de traitement de données, ledit message comportant un identifiant unique d’un objet, sa nouvelle classification et sa position dans ledit référentiel local. Procédé de positionnement d’une palette au sol dans un entrepôt selon la revendication 1, dans lequel, lors d’une détection d’un changement de classification d’un objet de type chariot vide vers un objet de type chariot plein, le module de traitement de données met en œuvre une procédure de prise de palette comportant l’émission par le module de traitement de données d’un message comportant un identifiant unique de la palette prise et sa position dans ledit référentiel local. Procédé de positionnement d’une palette au sol dans un entrepôt selon la revendication 1 ou 2, dans lequel, lors d’une détection d’un changement de classification d’un objet de type chariot plein vers un objet de type chariot vide, module de traitement de données met en œuvre une procédure de dépose de palette comportant l’émission par le module de traitement de données d’un message comportant un identifiant unique de la palette déposée et sa position dans ledit référentiel local.