FR 3054060 A1 20180119 FR 1656748 A 20160713 1 PROCEDE DE CARTOGRAPHIE DES PRODUITS ET DES ZONES EN MAGASIN La présente invention concerne le domaine de la localisation des produits 5 entreposés, notamment dans des magasins. La localisation des produits dans un magasin reste encore aujourd'hui une tâche complexe pour les grandes enseignes : si des cartes de localisation existent pour les placements des produits, il n'y a aucune assurance que celles-ci soient exactes dans la pratique du fait de la liberté 10 pouvant être prise par certains responsables de rayons. Par ailleurs, cette localisation est complexifiée par la présence de rayons promotionnels installés de manière provisoire, en plus des rayons permanents. Afin de créer ces cartes de localisation, le document US 2013/173435 Al propose notamment une méthode de gestion des informations de 15 localisation d'un produit, reposant sur l'utilisation d'un appareil mobile avec lequel un employé répertorie les articles d'une étagère (qui peut être identifiée par un code-barres ou une puce RFID par exemple) d'un magasin à partir d'un système d'identification de type lecteur de code-barres ou de puce RFID. 20 Néanmoins, cette méthode est difficile à mettre en oeuvre en pratique, car, dans ce document, il est nécessaire de suivre un protocole de scannage standardisé et de parcourir séquentiellement tous les produits du magasin. Pour ce faire, il faut que cette tâche soit effectuée par un salarié/intérimaire du magasin à intervalles réguliers. Le processus étant 25 lourd à mettre en oeuvre, celui-ci ne peut être effectué en continu. Il y a ainsi un besoin pour simplifier et fiabiliser la création des cartes de localisation. 3054060 2 La présente invention vient améliorer la situation. À cet effet, l'invention propose un procédé de détermination d'une position d'un ensemble de produits dans un magasin, dans lequel le procédé comporte : - réception de localisations associées à des positions de scans dudit ensemble de produits dans ledit magasin ; - détermination d'au moins un groupe de localisations, chaque groupe parmi le au moins un groupe regroupant des localisations parmi lesdites localisations reçues, ladite détermination étant o effectuée à l'aide d'un algorithme de groupement ; - pour chaque groupe, appelé Gi, parmi le au moins un groupe, détermination d'une position dudit ensemble de produits dans le magasin en fonction des localisations regroupées dans le groupe G. 15 On appelle « ensemble de produits » un groupe de produits considérés comme étant identiques ou semblables. Par exemple, cela peut être des produits ayant le même code d'identification (code-barres, par exemple). En outre, cela peut être des produits similaires, comme « des confitures ». Si les scans sont effectués à l'aide de dispositifs physiques, on appelle 20 « localisations associées à des positions de scans » les localisations estimées de ces dispositifs physiques au moment des scans. On appelle un « algorithme de groupement » (ou « clustering » en anglais) un algorithme de classification de localisations (dans le contexte de l'invention). Par exemple, un tel algorithme peut être « k-moyennes » (« k25 means » en anglais), « DBSCAN », « HDBSCAN », etc. On appelle « la position d'un ensemble de produits », le ou les endroit(s) du magasin où il est possible de trouver un produit de cet ensemble. Par exemple, cette position peut être un point, une zone (ex. rectangle, disque, 3054060 3 etc.), ou encore une union de points/zones. Ainsi, dans l'hypothèse d'une pluralité de groupes Gi, la position de l'ensemble des produits peut être l'union des positions déterminées lors de la dernière étape du procédé. Un tel procédé permet de simplifier la création/mise à jour des cartes de 5 localisations des produits dans un magasin. En effet, au lieu de scanner de manière systématique des produits afin de créer/mettre à jour une telle carte, il est possible de tirer parti de l'action d'un utilisateur du magasin (ou consommateur) qui réalise de tels scans lors de ses courses. Néanmoins, du fait de l'imprécision des scans (il est impossible de donner des io consignes précises à une personne « simple consommateur »), le procédé ci-dessus permet de fiabiliser la création/mise à jour des cartes de localisation. À cet effet, l'utilisation d'un algorithme de groupement permet de former des groupes à partir des localisations reçues. Cet algorithme peut 15 avantageusement traiter (et éventuellement exclure) les localisations dites « aberrantes » (ou « bruit »), qui sont des localisations trop éloignées des groupes et qui ne doivent pas être intégrées à ces groupes (ou qui doivent être traitées de manière spécifique). 20 Dans un mode de réalisation possible, l'algorithme de groupement peut être un algorithme de groupement non supervisé. Par « algorithme de groupement non supervisé » on entend le fait qu'il n'est pas nécessaire de savoir, a priori, à quel groupe appartient une localisation. 25 En outre, l'algorithme de groupement peut être utilisé sans que le nombre de groupes de localisations ne soit connu à l'avance. En effet, l'ensemble de produits peut être situé à un seul ou à plusieurs 3054060 4 endroits de rangements du magasin (un rayon permanent et un rayon promotionnel provisoire par exemple). Dès lors, l'utilisation d'algorithmes ne présumant pas le nombre de groupes est avantageuse en soi. 5 Par ailleurs, l'algorithme de groupement peut utiliser au moins un critère de proximité entre lesdites localisations reçues. Ce critère de proximité permet de déterminer si une localisation est suffisamment proche des autres pour être considérée comme faisant partie o d'un groupe, ou si à l'inverse elle doit être considérée comme une donnée aberrante. Dans la plupart des cas, ce critère de proximité repose sur l'utilisation d'une distance, qui pourra par exemple être la distance euclidienne ou toute autre distance au sens mathématique. 15 L'algorithme de groupement peut en outre être basé sur une méthode par densité. Par « densité » on entend le nombre de localisations par unité de volume ou de surface. Avec un tel algorithme, les groupes constitués sont les zones dont la 20 densité de localisations est plus importante que les zones environnantes. Les deux avantages majeurs de cette catégorie d'algorithmes sont de pouvoir détecter des groupes non convexes, et de savoir gérer la présence de données aberrantes. 25 Dans un mode de réalisation, la position dudit ensemble de produits dans le magasin peut être fonction d'un barycentre des localisations regroupées dans le groupe G. 3054060 5 Les pondérations du barycentre peuvent être fixées selon les besoins. Dans le cas le plus simple, elles peuvent être toutes égales à 1. Dans un autre mode de réalisation, la position dudit ensemble de 5 produits dans le magasin peut être fonction d'une projection d'un barycentre des localisations regroupées dans le groupe Gi sur un étalage du magasin, ledit étalage étant déterminé de manière à ce qu'une distance entre ledit étalage et ledit barycentre soit minimale par rapport à un ensemble de distances entre des étalages du magasin et ledit barycentre. Ainsi, la position déterminée peut correspondre à un emplacement de rangement le plus probable du magasin. On entend par « étalage », une zone de rangement du magasin pour les produits. Un étalage peut donc être une étagère, un présentoir, une table, etc. Dans ce mode de réalisation, il est possible de ne considérer qu'un sous- ensemble de tous les étalages du magasin (par exemple, en excluant certains rayonnages, zones ou types d'étalage). Cela peut être avantageux dans certaines situations, par exemple les situations où il est possible de supposer qu'un produit ne se situe que sur un type donné d'étalage (ex. les légumes ne se situent pas sur une étagère). Dans un mode de réalisation alternatif, la détermination de la position dudit ensemble de produits dans le magasin en fonction des localisations regroupées dans le groupe Gi peut comporter : - détermination d'un étalage du magasin, ledit étalage étant déterminé de manière à ce qu'une distance entre ledit étalage et ledit barycentre soit minimale par rapport à un ensemble de distances entre des étalages du magasin et ledit barycentre ; 3054060 6 - et détermination d'une valeur caractérisant une dispersion des localisations regroupées dans le groupe G; ; ladite position dudit ensemble de produits dans le magasin étant une zone du magasin fonction de l'étalage déterminé et de ladite valeur. 5 L'avantage de ce mode de réalisation est de tenir compte de la dispersion des scans effectués, qui peuvent notamment donner une indication sur la largeur d'exposition de l'ensemble de produits sur l'étalage (ou les étalages). 10 Par ailleurs, le procédé peut comprendre : - réception d'instants associés respectivement aux localisations reçues, dans lequel la détermination du barycentre peut comprendre une pondération de chaque localisation par une fonction de l'instant respectif 15 associé. On appelle « instant associé à la localisation reçue » un marqueur de temps correspondant à l'instant auquel la localisation reçue a été déterminée ou reçue. L'avantage est de tenir compte des instants auxquels les scans ont été 20 effectués dans le calcul du barycentre, afin par exemple d'accorder une importance plus grande aux scans plus récents. En complément ou variante, le procédé peut comprendre en outre : - réception d'instants associés respectivement aux localisations 25 reçues ; - détermination d'un profil d'activité en fonction des instants reçus ; 3054060 7 - comparaison du profil d'activité déterminé avec un profil d'activité de référence ; - sur la base de cette comparaison, détermination d'une émission d'une alerte. 5 Ce « profil d'activité déterminé » peut refléter la fréquence de scans de produits de l'ensemble de produits en « temps réel ». Il peut notamment contenir le nombre de scans effectués pendant un certain intervalle de temps (par exemple le nombre de scans effectués au cours de la dernière heure). 10 Le « profil d'activité de référence » peut refléter quant à lui la fréquence moyenne de scans de produits de l'ensemble de produits pendant différents intervalles de temps. Il peut par exemple contenir les nombres moyens de scans effectués sur différentes plages horaires de la journée. La comparaison du profil d'activité déterminé au profil de référence peut 15 permettre de déterminer un certain nombre d'informations, par exemple : - si l'ensemble de produits est en rupture de stock (activité anormalement faible par rapport à l'activité de référence), - si un étalage a une localisation plus avantageuse (activité très élevée par rapport à l'activité de référence suite à un changement 20 d'étalage pour entreposer l'ensemble de produits). La présente invention vise également un dispositif de détermination d'une position d'un ensemble de produits dans un magasin, le dispositif comportant : 25 - une interface d'entrée pour recevoir des localisations associées à des positions de scans dudit ensemble de produits dans ledit magasin ; 3054060 8 - un circuit pour la détermination d'au moins un groupe de localisations, chaque groupe parmi le au moins un groupe regroupant des localisations parmi lesdites localisations reçues, ladite détermination étant effectuée à l'aide d'un algorithme de 5 groupement - un circuit pour la détermination, pour chaque groupe, appelé Gi, parmi le au moins un groupe, d'une position dudit ensemble de produits dans le magasin en fonction des localisations regroupées dans le groupe G. 10 Un programme informatique mettant en oeuvre tout ou partie du procédé décrit ci-avant, installé sur un équipement préexistant, est en lui-même avantageux. Ainsi, la présente invention vise également un programme informatique 15 comportant des instructions pour la mise en oeuvre du procédé précédemment décrit, lorsque ce programme est exécuté par un processeur. Ce programme peut utiliser n'importe quel langage de programmation (par exemple, un langage-objet ou autre), et être sous la forme d'un code 20 source interprétable, d'un code partiellement compilé ou d'un code totalement compilé. La figure 4 décrite en détail ci-après peut former l'organigramme de l'algorithme général d'un tel programme informatique. 25 D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : - les figures 1a et 1b illustrent le scan d'un produit et la localisation de 3054060 9 la position du scan de ce produit ; - les figures 2a et 2b représentent des réceptions de localisations associées à des scans d'un ensemble de produits et des groupes de localisations ; 5 - les figures 3a, 3b et 3c illustrent différents modes de réalisation pour déterminer une position de l'ensemble de produits ; - la figure 4 illustre un ordinogramme d'une réalisation possible dans un mode de réalisation de l'invention ; - la figure 5 illustre un dispositif de détermination d'une position d'un 10 ensemble de produits dans un mode de réalisation de l'invention ; - la figure 6 illustre un profil d'activité de référence et un profil d'activité déterminé pour un ensemble de produits. Les figures I a et 1 b illustrent respectivement le scan d'un produit et la 15 localisation de la position du scan de ce produit. Il est aujourd'hui possible de recevoir des informations sur les produits achetés par un consommateur dans un magasin, notamment par le biais d'un appareil mobile permettant au client de scanner lui-même les articles qu'il souhaite acheter, au fur et à mesure qu'il fait ses courses (système dit 20 du libre scannage, ou du « self-scanning » en anglais). Cet appareil mobile peut typiquement être une douchette équipée d'un lecteur de code-barres (par exemple, mais cela pourrait être tout système permettant l'identification d'un article) remise au client lors de son entrée dans le magasin. 25 Cet appareil mobile peut aussi être le terminal mobile du client, si ce terminal mobile (ou smartphone en anglais) est équipé d'un appareil photo numérique et que le client a téléchargé préalablement une application 3054060 10 dédiée au libre scannage. Comme représenté dans la figure 1 a, un client 101 choisit et scanne un produit 104a issu d'un ensemble de produits 104 (comportant ici les produits 104a, 104b et 104c) sur un étalage 103 du magasin 100, grâce à 5 un appareil mobile 102. Grâce aux technologies actuelles (Wifi, Bluetooth, 3G, etc.), il est possible de localiser la position à laquelle le scan a été effectué. Par exemple, quand la technologie utilisée repose sur des capteurs et des signaux (sonores, électromagnétiques, ou autres) communiqués entre 10 un/des émetteurs et un/des récepteurs, la localisation de la position à laquelle le scan a été effectué peut être obtenue à partir des signaux en question, notamment au travers de : - La détection du temps de vol (ou « time of flight » en anglais), qui permet en utilisant la vélocité déjà connue de l'onde de parvenir à la 15 distance entre émetteur et récepteur. - La détection de l'angle d'arrivée du signal sur le/les récepteurs. - L'estimation de la distance à partir de la force du signal reçu par le/les récepteurs, en utilisant des abaques préalablement réalisés. Ces technologies possèdent une précision donnée et ne permettent le 20 plus souvent pas une détermination exacte de la position des scans. Ainsi, en référence à la figure 1 b, si le scan a été « réellement » effectué à la position 105, il est possible que la localisation associée à la position de ce scan ne soit pas exactement située à cette position, mais à une localisation 105a ou 105b autour de la position 105. 25 En outre, il est possible que le client ne scanne pas le produit à l'endroit exact où il l'a trouvé, par exemple : - s'il y a trop de monde autour de l'étalage sur lequel l'ensemble de produits est entreposé (élément hachuré 103 de la figure 1 b), et 3054060 11 qu'il s'en écarte un peu avant de scanner le produit qu'il veut acheter ; - s'il a oublié de scanner le produit au moment où il l'a pris, et ne le scanne qu'avant de passer à une caisse 107, à une position 106. 5 Les figures 2a et 2b représentent des réceptions de localisations associées à des scans d'un ensemble de produits et des groupes de localisations. Lorsque différents clients scannent un (ou plusieurs) produit(s) parmi 10 l'ensemble de produits considéré, des localisations de scans associées à des positions de ces scans sont reçues. L'ensemble des localisations reçues constitue alors un « nuage de localisations », chaque localisation étant représentée par une croix sur la figure 2a. Comme expliqué précédemment, la position des scans des utilisateurs 15 peut être relativement imprécise. Des localisations apparaissent donc plus ou moins proches les unes des autres : dans certaines zones, les localisations sont proches et constituent visuellement un ou plusieurs « groupes » de points ; à l'inverse, certaines localisations reçues sont loin de ce ou ces groupes (par exemple les éléments 201a et 201b de la figure 20 2a). Dans un mode de réalisation avantageux, il est possible de définir des « zones possibles » pour les scans reçus d'un produit issu d'un ensemble de produits et d'éliminer automatiquement des localisations reçues en dehors de ces zones possibles : par exemple, une localisation d'un scan 25 d'un produit appartenant à un certain type de produits reçue près d'une caisse (élément 201b de la figure 2a) ne sera pas prise en compte dans le procédé de détermination de la position de ce produit. Pour déterminer de manière automatique le (ou les) groupe(s) à partir des localisations reçues (éléments 202 et 203 de la figure 2b), il est 3054060 12 possible de recourir à un algorithme de groupement (« clustering » en anglais). Comme le groupe auquel appartient une localisation parmi l'ensemble des localisations reçues est inconnu, cet algorithme peut être 5 préférentiellement non supervisé (les algorithmes supervisés supposent au contraire que l'appartenance des objets aux différentes classes est connue, et ont généralement pour objectif de construire des règles de regroupement pour prédire le groupe d'appartenance de nouveaux objets reçus). Il existe de nombreux algorithmes de groupement non supervisés, dont le 10 principe est de séparer un ensemble d'objets (qui sont ici les localisations reçues) en différents groupes à partir de certains critères, qui sont généralement des critères de proximité basés sur la définition d'une distance entre les objets (distance euclidienne, ou toute autre distance au sens mathématique). 15 L'un des algorithmes de groupement non supervisé les plus populaires est l'algorithme des k-moyennes (« k-means » en anglais), qui a de nombreuses variantes, dont l'algorithme des k-médoïdes, qui est plus robuste vis-à-vis des données (ou points/éléments) dites aberrantes, c'est-à-dire des objets qui ne doivent pas être pris en compte dans les groupes 20 formés (par exemple les éléments 201a et 201 b des figures 2a et 2b). Ces algorithmes sont simples à mettre en place, mais souffrent de plusieurs faiblesses. En particulier : - ils ne gèrent que des groupes ayant une forme convexe, - les groupes finalement constitués dépendent de l'initialisation qui est 25 faite (deux initialisations pourront ainsi donner lieu à deux regroupements différents), - ils nécessitent de connaître le nombre de groupes que l'on veut constituer. Par rapport au dernier inconvénient cité, avantageusement l'algorithme 3054060 13 doit pouvoir être mis en place sans que le nombre de groupes à constituer ne soit supposé connu, pour pouvoir gérer les différentes situations possibles : - l'ensemble de produits est situé dans un seul rayon du magasin, 5 - l'ensemble de produits est situé dans deux rayons du magasin : un rayon permanent et un rayon provisoire ; - etc. Parmi les algorithmes de groupement qui ne nécessitent pas de connaître le nombre de groupes à constituer, il existe des algorithmes 10 basés sur une méthode dite par densité, la densité représentant le nombre d'objets par unité volumique ou surfacique. Le principe général de ces algorithmes est d'identifier des zones de forte densité, qui forment les groupes (par exemple, les éléments 202 et 203 de la figure 2b, qui sont des zones où la densité de localisations reçues est plus importante que dans le 15 reste du magasin). Parmi eux, l'algorithme DBSCAN présente de nombreux avantages dans le cadre de notre invention, notamment : il n'est pas nécessaire de préciser le nombre de groupes en amont, les groupes n'ont pas pour obligation d'être linéairement séparables, l'algorithme gère les groupes de formes non convexes, et sait traiter les données aberrantes. 20 L'algorithme HDBSCAN, une variante de l'algorithme DBSCAN, a en outre la capacité de gérer des groupes ayant des densités différentes. Cette dernière propriété est très avantageuse dans le cadre de notre invention pour constituer les groupes des localisations, qui n'auront pas forcément tous le même nombre de scans par unité de volume (il est par exemple 25 possible qu'un rayon promotionnel particulièrement visible et attractif dans le magasin ait une densité très supérieure au rayon permanent). Le ou les groupes ainsi constitués par l'algorithme de groupement donnent une information sur l'étalage ou les étalages où est entreposé l'ensemble de produits. En effet, il est fort probable que le produit soit 3054060 14 entreposé sur un étalage à proximité d'un groupe de localisations. Ainsi sur la figure 2b, au vu des deux groupes de localisations constitués, il est probable que l'ensemble de produits soit situé sur les deux étalages 204 et 205 situés à proximité de ces groupes (ce qui peut ici, par exemple, 5 correspondre à un étalage permanent et un étalage provisoire). Les figures 3a, 3b et 3c illustrent différents modes de réalisation pour déterminer une position de l'ensemble de produits, à partir d'un groupe de localisations parmi le au moins un groupe identifié grâce à l'algorithme de o groupement. Par convenance, ce groupe de localisations est ici appelé Gi, mais il pourrait s'appeler différemment, ou ne pas avoir de nom particulier. Dans un mode de réalisation représenté sur la figure 3a, la position 302 de l'ensemble de produits déterminée à partir du groupe Gi (élément 301) 15 de localisations identifié par l'algorithme est un barycentre ou une fonction d'un barycentre de l'ensemble de localisations contenues dans le groupe 301. La position obtenue à l'issue de ce procédé simple ne correspond pas forcément à un étalage du magasin (c'est le cas par exemple sur la figure 20 3a, où le barycentre 302 se situe en dehors de l'étalage 303 le plus proche). Pour la détermination du barycentre, les pondérations associées aux différentes localisations peuvent être adaptées selon les besoins. Elles peuvent par exemple être toutes fixées à 1 dans la configuration la plus simple, ou encore être déterminées en fonction des instants auxquels les 25 scans associés aux localisations ont été effectués. Par exemple, pour toute localisation Li" (avec j E fi, ..., Ni}, où Ni représente le nombre de localisations contenues dans le groupe Gi) du groupe Gi associée à un instant il est possible de fixer une pondération 3054060 15 Wii pour calculer le barycentre de Gi à un instant t (strictement supérieur à tous les tf) de la manière suivante : w.i = 1 +(t - e) Toute autre fonction wii(t) décroissante sur [tf; oci est également possible. 5 Dans cet exemple, un scan réalisé à un instant plus récent a donc une pondération plus importante qu'un scan réalisé à un instant plus ancien. Les instants associés respectivement aux localisations reçues peuvent en outre être utilisés pour déterminer un « profil d'activité » de l'ensemble o de produits : ce profil d'activité peut notamment comporter le nombre de scans de produits de l'ensemble de produits effectués par divers utilisateurs pendant un certain intervalle de temps (par exemple le nombre de scans d'un certain pot de pâte à tartiner effectués au cours de la dernière heure). Il est également possible d'établir un profil d'activité de référence pour 15 l'ensemble de produits considéré, notamment en étudiant la fréquence de scans sur une période de temps assez longue. Ce profil d'activité de référence peut par exemple contenir les nombres moyens de scans effectués sur différentes plages horaires de la journée et pour les différents jours de la semaine, ces nombres moyens ayant été calculés à partir de 20 données relevées sur un intervalle de temps prédéterminé. À titre illustratif, la figure 6 représente les courbes associées à ces deux profils d'activité pour les scans d'un ensemble de produits effectués un jour de la semaine (en ordonnées, NS représente le nombre de scans effectués ; en abscisses, t représente le temps en heures) : 25 - la courbe 601 (trait plein) représente le profil d'activité de référence, et fait apparaître le nombre de scans moyen effectués ce jour de la 1 3054060 16 semaine, en fonction des différentes heures de la journée ; - la courbe 602 (trait discontinu) représente le profil d'activité déterminé (profil d'activité « en temps réel ») de l'ensemble de produits et fait apparaître le nombre de scans réalisés en fonction de l'heure, un jour 5 donné. La comparaison du profil d'activité déterminé de l'ensemble de produits à un instant donné (ou pendant une plage temporelle donnée) à ce profil d'activité de référence permet d'obtenir des informations sur l'ensemble de produits. Par exemple : 10 - Si pendant une certaine période, aucun scan n'est reçu alors que le profil d'activité de référence indique que généralement, il y a pendant cette période un grand nombre de scans (cf. figure 6), cela peut indiquer une rupture de stock. Il est alors possible de mettre en place l'émission d'une alerte pour indiquer cette rupture de stock. 15 - Si l'activité d'un rayon promotionnel n'est pas supérieure à l'activité indiquée par le profil d'activité de référence du rayon permanent où est habituellement rangé l'ensemble de produits, il est possible d'alerter le magasin, pour que la situation soit par la suite analysée (ensemble de produits pas assez attractif, rayon promotionnel situé dans une zone pas 20 assez fréquentée du magasin, etc.) Dans un autre mode de réalisation représenté sur la figure 3b, la position 304b de l'ensemble de produits est déterminée à partir du groupe 303 de localisations identifié par l'algorithme en : 25 - calculant un barycentre 304a des localisations contenues dans le groupe G; ; - projetant ce barycentre (par exemple une projection orthogonale) sur un étalage 305 du magasin. 3054060 17 L'étalage du magasin sur lequel le barycentre du groupe de localisations est projeté peut être l'étalage du magasin le plus proche (au sens d'une certaine distance, par exemple de la distance euclidienne) de ce barycentre, c'est-à-dire que cet étalage est déterminé en minimisant la distance entre le 5 barycentre et l'ensemble des étalages du magasin (ou un sous ensemble de tous les étalages). La position obtenue à l'issue du procédé ainsi mis en oeuvre correspond donc à un élément de rangement du magasin. Dans un mode de réalisation avantageux, certains étalages peuvent être o éliminés pour la détermination de l'étalage le plus proche : par exemple, si l'élément 306 de la figure 3b correspond à la zone « fruits et légumes » du magasin, il pourra être automatiquement éliminé avant l'étape de détermination de l'étalage le plus proche du barycentre d'un groupe de localisations correspondant à un pot de pâte à tartiner. 15 Dans le cas où deux (ou plus de deux) étalages satisfont le critère de minimisation de la distance au barycentre, il est possible, par exemple : soit de conserver tous les étalages qui satisfont le critère jusqu'à réception d'une ou plusieurs nouvelles localisations qui les départageront ; soit d'utiliser une carte de localisation déjà existante pour associer à chacun des 20 étalages trouvés une probabilité qu'il contienne l'ensemble de produits considéré. Cette dernière possibilité a l'avantage d'utiliser une information disponible a priori sur la position de l'ensemble de produits. L'étape de « détermination de l'étalage le plus proche » peut être également remplacée par une étape de « détermination des étalages situés 25 à moins d'une distance D », la distance D étant la distance minimale auquel est ajoutée une distance d prédéterminée (ex. d = 10%D). Dans un autre mode de réalisation représenté sur la figure 3c, la position de l'ensemble de produits déterminée à partir d'un groupe Gi n'est plus un point dans l'espace, mais une zone de l'espace déterminée à l'aide d'un 3054060 18 paramètre caractérisant la dispersion entre les localisations contenues dans G. La dispersion des localisations situées dans un groupe peut fournir des informations intéressantes pour le magasin : par exemple, elles peuvent 5 donner une indication sur la largeur d'exposition d'un ensemble de produits, ou elles peuvent indiquer si l'ensemble de produits est exposé dans un rayon où il y a trop de passage, ce qui oblige donc les consommateurs à s'éloigner avant de scanner leur article, etc. Afin de déterminer ces informations, il est possible de définir la position o d'un ensemble de produits à partir : - d'un étalage du magasin, qui est par exemple l'étalage qui est le plus proche d'un barycentre des localisations situées dans le groupe G; ; - et d'une valeur caractérisant la dispersion entre les localisations contenues dans Gi : cette valeur peut notamment être la variance des 15 localisations situées dans Gi (éventuellement pondérée, par exemple en associant à chaque localisation un poids qui est fonction de l'instant auquel le scan associé a été effectué). Cette variance est avantageusement calculée selon une direction représentative de l'étalage (par exemple, direction perpendiculaire à la direction de projection du barycentre). 20 Sur la figure 3c, deux groupes de localisations 310 et 320 sont représentés (ils peuvent être associés ou non à un même ensemble de produits). Après avoir déterminé les étalages correspondants respectifs, représentés par les éléments 311 et 321 de la figure 3c, une valeur de dispersion est calculée pour chacun des groupes, et les positions 25 respectives du ou des ensembles de produits 312 et 322 sont déterminées. La figure 4 illustre un ordinogramme d'une réalisation possible dans un mode de réalisation de l'invention. 3054060 19 Dans ce mode de réalisation, il est possible de recevoir des localisations associées à des positions de scans d'un ensemble de produits (étape 401), effectués par différents clients (un même client ayant la possibilité de réaliser plus d'un scan s'il achète plusieurs produits du même ensemble de 5 produits). Il est possible d'exclure de l'analyse certaines localisations (étape de filtrage spatial 402), par exemple si elles sont situées dans des zones où il est certain que l'ensemble de produits n'est pas rangé. Ces zones peuvent notamment être déterminées à l'aide d'une carte de localisation 403 du 10 magasin. Cette étape est optionnelle. Une fois que ces localisations ont été exclues (le cas échéant), un algorithme de groupement est appliqué pour obtenir un ou plusieurs groupes de localisations pour l'ensemble de produits (étape 404), chaque groupe parmi les groupes regroupant des localisations parmi lesdites 15 localisations reçues. Pour chaque groupe, appelé Gi, obtenu à l'issue de l'algorithme de groupement, une position, qui peut être un endroit précis ou une zone du magasin, est déterminée (étape 405) en fonction des localisations regroupées dans le groupe G. Cette position peut avantageusement être 20 utilisée pour mettre à jour la carte de localisation 403. L'ensemble de ces données de localisation ou la carte des localisations peut être fourni à un utilisateur suite à l'exécution de ce procédé. La figure 5 représente un exemple de dispositif de détermination d'une 25 position d'un ensemble de produits dans un magasin, dans un mode de réalisation de l'invention. Dans ce mode de réalisation, le dispositif comporte un ordinateur 500, comprenant une mémoire 505 pour stocker des instructions permettant la mise en oeuvre du procédé, les données de mesures reçues, et des 3054060 20 données temporaires pour réaliser les différentes étapes du procédé tel que décrit précédemment. L'ordinateur comporte en outre un circuit 504. Ce circuit peut être, par exemple : 5 - un processeur apte à interpréter des instructions sous la forme de programme informatique, ou - une carte électronique dont les étapes du procédé de l'invention sont décrites dans le silicium, ou encore - une puce électronique programmable comme une puce FPGA (pour 10 « Field-Programmable Gate Array » en anglais). Cet ordinateur comporte une interface d'entrée 503 pour la réception de données de localisations en provenance d'un dispositif de localisation 507, et une interface de sortie 506 pour la fourniture d'une ou plusieurs positions d'un ensemble de produits. Enfin, l'ordinateur peut comporter, pour 15 permettre une interaction aisée avec un utilisateur, un écran 501 et un clavier 502. Bien entendu, le clavier est facultatif, notamment dans le cadre d'un ordinateur ayant la forme d'une tablette tactile, par exemple. Par ailleurs, le schéma fonctionnel présenté sur la figure 4 est un exemple typique d'un programme dont certaines instructions peuvent être 20 réalisées auprès du dispositif décrit. À ce titre, la figure 4 peut correspondre à l'organigramme de l'algorithme général d'un programme informatique au sens de l'invention. Bien entendu, la présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemples ; elle s'étend à d'autres 25 variantes. D'autres réalisations sont possibles. Par exemple, si la majorité des modes de réalisations de la description concerne des magasins, le procédé peut être mis en oeuvre dans d'autres 3054060 21 situations (par exemple, des bibliothèques, des hôpitaux). Le procédé peut aussi être mis en oeuvre dans le cadre d'un scannage non systématique effectué par des employés du magasin (par exemple si les employés ont pour consigne de scanner les produits laissés par les 5 clients en caisse au moment de leur remise en rayons en fin de journée). Le procédé peut aussi être mis en oeuvre dans l'hypothèse où le scannage est effectué de manière automatique (par exemple par des robots effectuant les courses à la place des consommateurs). REVENDICATIONS1. Procédé de détermination d'une position d'un ensemble de produits (104) dans un magasin (100), dans lequel le procédé comporte : - réception (401) de localisations (105a, 105b) associées à des positions de scans dudit ensemble de produits dans ledit magasin (100) ; - détermination (404) d'au moins un groupe de localisations (202, 203), chaque groupe parmi le au moins un groupe regroupant des localisations parmi lesdites localisations reçues, ladite détermination o étant effectuée à l'aide d'un algorithme de groupement ; - pour chaque groupe, appelé Gi, parmi le au moins un groupe, détermination (405) d'une position (302, 304b, 312) dudit ensemble de produits dans le magasin (100) en fonction des localisations regroupées dans le groupe G. 15 2. Procédé selon la revendication 1, dans lequel l'algorithme de groupement est un algorithme de groupement non supervisé. 3. Procédé selon l'une des revendications précédentes, dans lequel 20 l'algorithme de groupement ne nécessite pas de connaître à l'avance le nombre de groupes de localisations. 4. Procédé selon l'une des revendications précédentes, dans lequel l'algorithme de groupement comprend l'utilisation d'au moins un critère de 25 proximité entre lesdites localisations (105a, 105b) reçues. 3054060 23 5. Procédé selon l'une des revendications précédentes, dans lequel l'algorithme de groupement est basé sur une méthode par densité. 6. Procédé selon l'une des revendications précédentes, dans lequel la 5 position déterminée pour le groupe Gi dudit ensemble de produits dans le magasin est fonction d'un barycentre (302) des localisations regroupées dans le groupe (301) G. 7. Procédé selon l'une des revendications 1 à 5, dans lequel la position (304b) déterminée pour le groupe Gi dudit ensemble de produits dans le magasin est fonction d'une projection d'un barycentre (304a) des localisations regroupées dans le groupe (303) Gi sur un étalage (305) du magasin, ledit étalage étant déterminé de manière à ce qu'une distance entre ledit étalage et ledit barycentre soit minimale par rapport à un ensemble de distances entre des étalages du magasin et ledit barycentre. 8. Procédé selon l'une des revendications 1 à 5, dans lequel la détermination de la position (312, 322) pour le groupe (310, 320) Gi dudit ensemble de produits dans le magasin en fonction des localisations regroupées dans le groupe Gi comporte : - détermination d'un étalage (311, 321) du magasin, ledit étalage étant déterminé de manière à ce qu'une distance entre ledit étalage et ledit barycentre soit minimale par rapport à un ensemble de distances entre des étalages du magasin et ledit barycentre ; - et détermination d'une valeur caractérisant une dispersion des localisations regroupées dans le groupe G; ; ladite position déterminée pour le groupe Gi dudit ensemble de produits dans le magasin étant une zone (312, 322) du magasin fonction de l'étalage 3054060 24 déterminé et de ladite valeur. 9. Procédé selon l'une des revendications précédentes, comprenant en outre : 5 - réception d'instants associés respectivement aux localisations reçues, dans lequel la détermination du barycentre (302, 304b) comprend une pondération de chaque localisation par une fonction de l'instant respectif associé. 10 10. Procédé selon l'une des revendications précédentes, comprenant en outre : - réception d'instants associés respectivement aux localisations reçues ; - détermination d'un profil d'activité (601) en fonction des instants reçus ; - comparaison du profil d'activité déterminé avec un profil d'activité de 15 référence (602) ; - sur la base de cette comparaison, détermination d'une émission d'une alerte. 11. Dispositif de détermination d'une position d'un ensemble de produits 20 dans un magasin, le dispositif comportant : - une interface d'entrée (503) pour recevoir des localisations associées à des positions de scans dudit ensemble de produits dans ledit magasin ; - un circuit pour la détermination (404) d'au moins un groupe de localisations, chaque groupe parmi le au moins un groupe regroupant des 25 localisations parmi lesdites localisations reçues, ladite détermination étant effectuée à l'aide d'un algorithme de groupement 3054060 25 - un circuit pour la détermination (405), pour chaque groupe, appelé Gi, parmi le au moins un groupe, d'une position dudit ensemble de produits dans le magasin en fonction des localisations regroupées dans le groupe G. 5 12. Produit programme informatique comportant des instructions pour la mise en oeuvre du procédé selon l'une des revendications 1 à 10, lorsque ce programme est exécuté par un processeur.