Brevet FR3114178A1 — publié le 20220318

Il est proposé un procédé de détection d’objet(s) dans des images numériques sources (1) par une machine de calcul (70) configurée pour implémenter un réseau de neurones, le procédé comprend les étapes suivantes, exécutées par la machine de calcul pour au moins une des images numériques sources : obtention (S1) d’une ou plusieurs régions d’intérêt (4) contenues dans l’image numérique source ; collage (S3) de la ou les régions d’intérêt dans une image numérique cible (3) possédant une taille inférieure à la taille de l’image numérique source ; et détection (S4) d’objet(s) dans l’image numérique cible, en utilisant le réseau de neurones, dans une phase d’apprentissage ou dans une phase d’inférence. Figure 1 Procédé de détection d’objet(s) dans des images numériques sources par une machine de calcul configurée pour implémenter un réseau de neurones 1. DOMAINE TECHNIQUE Le domaine de l’invention est celui de la détection (on parle également de « reconnaissance ») d’objets dans des images numériques en utilisant un réseau de neurones artificiels (aussi appelé « réseau neuronal artificiel » ou plus simplement, dans la suite de la description, « réseau de neurones »). Plus précisément, l’invention concerne un procédé de détection d’objet(s) dans des images numériques par une machine de calcul configurée pour implémenter un réseau de neurones. 2. ARRIÈRE-PLAN TECHNOLOGIQUE La détection d’objets dans des images numériques est un enjeu important car les champs d’application sont innombrables de par la diversité des objets détectés (personne, bus, avion, voiture, chien, chat, etc.). Il est connu d’effectuer une telle détection en utilisant un réseau de neurones. On distingue généralement deux phases de calcul pour un réseau de neurones : la phase d’apprentissage (avec différents modes possibles, notamment : supervisé, non-supervisé ou renforcé), au cours de laquelle le réseau de neurones ajuste ses paramètres de façon à accomplir la tâche demandée, et la phase d’inférence, au cours de laquelle le réseau de neurones effectue la tâche pour laquelle il a été entraîné lors de la phase d’apprentissage. La détection d’objets au sein d’une image consiste typiquement à définir et dessiner une boîte englobante (« bounding box » en anglais), généralement un rectangle, entourant chaque objet détecté. La détection permet de définir les dimensions et la position de cette boîte englobante (fonction de localisation), et éventuellement de lui attribuer une classe d’objet (fonction de classification). Les réseaux de neurones offrent de très bonnes performances dans la détection d’objets dans une image, mais ils présentent, dans leur utilisation actuelle, des inconvénients. Un premier inconvénient est que les réseaux de neurones supervisés nécessitent, dans leur phase d’apprentissage, une très grande quantité de données d’apprentissage (images) devant être stockées sur des médias (supports de stockage) non volatiles. Se pose alors la question du coût de ce stockage. Un autre inconvénient est que lorsque les réseaux de neurones sont portés sur des plateformes temps réel embarquées, ils souffrent le plus souvent d’un problème de précision de la détection (reconnaissance) des objets de petite dimension dans l’image, de par la nécessité de réduire la taille de l’image (« réduction d’échelle » ou « downscaling » en anglais) en entrée du réseau de neurones au regard des ressources disponibles de la plateforme et du temps d’exécution du réseau de neurones dans le cas d’une exécution sur des parties successives de l’image. 3. OBJECTIFS L’invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l’état de la technique. Plus précisément, dans au moins un mode de réalisation de l’invention, un objectif est de fournir une solution permettant de réduire l’espace de stockage nécessaire pour stocker les données d’apprentissage dans le cas où le réseau de neurones effectuant la détection d’objet(s) dans des images numériques met en œuvre un apprentissage supervisé. Un autre objectif d’au moins un mode de réalisation de l’invention est de fournir une solution permettant une meilleure gestion de la dualité entre d’une part la précision de détection (par exemple localisation et classification) de petits objets dans une image et d’autre part les ressources de calcul (aussi appelées « temps processeur » ou « temps CPU ») et d’occupation en mémoire RAM de la machine de calcul qui implémente le réseau de neurones effectuant la détection d’objet(s) dans des images numériques. Un autre objectif d’au moins un mode de réalisation de l’invention est de fournir une telle solution qui soit simple à mettre en œuvre et peu coûteuse (notamment pour ce qui est des ressources matérielles et/ou logicielles). 4. RÉSUMÉ Dans un mode de réalisation particulier de l’invention, il est proposé un procédé de détection d’objet(s) dans des images numériques sources par une machine de calcul configurée pour implémenter un réseau de neurones. Le procédé comprend les étapes suivantes, exécutées par la machine de calcul pour au moins une des images numériques sources : obtention d’une ou plusieurs régions d’intérêt contenues dans l’image numérique source ; collage de la ou les régions d’intérêt dans une image numérique cible possédant une taille inférieure à la taille de l’image numérique source ; et détection d’objet(s) dans l’image numérique cible, en utilisant le réseau de neurones, dans une phase d’apprentissage ou dans une phase d’inférence. La solution proposée consiste donc, selon une approche tout à fait nouvelle et inventive, à remplacer, en entrée du réseau de neurones effectuant la détection d’objet(s), l’image source par une image cible ne contenant qu’une ou plusieurs régions d’intérêt de l’image source. Ceci permet de réduire de manière automatique la taille des images traitées par le réseau de neurones (puisque les images cibles sont plus petites que les images sources), tout en conservant les portions de l’image (c'est-à-dire les régions d’intérêt) susceptibles de contenir des objets que l’on cherche à détecter, ainsi que le rapport hauteur/largeur de ces régions d’intérêt (et donc des objets contenus dans celles-ci). La solution proposée présente plusieurs avantages découlant du fait que les images cibles sont de plus petite taille que les images sources, notamment : réduction de l’espace de stockage nécessaire pour stocker les données d’apprentissage, dans le cas où le réseau de neurones met en œuvre un apprentissage supervisé ; meilleure gestion de la dualité entre d’une part la précision de détection (par exemple localisation et classification) de petits objets dans une image et d’autre part les ressources (de calcul et d’occupation en mémoire RAM) de la machine de calcul qui effectue le remplacement de l’image source par l’image cible et qui implémente le réseau de neurones, avec : soit une réduction des ressources de la machine de calcul, pour une précision de détection donnée ; soit une amélioration de la précision de détection, pour une capacité donnée des ressources de la machine de calcul. La solution proposée permet également une meilleure détection d’objets que dans le cas où l’image source subirait une simple réduction d’échelle visant à atteindre la taille de l’image cible. En effet, une telle simple réduction d’échelle de l’image source s’appliquerait de manière homogène sur l’ensemble de l’image source et rendrait plus difficile la détection d’objets ayant été réduits. Même dans le cas où l’image cible doit elle-même subir une réduction d’échelle pour atteindre une taille prédéterminée (par exemple 512 x 512), ce qui est souvent imposé pour améliorer le temps de traitement du réseau de neurones, la solution proposée est plus performante en matière de détection qu’une simple réduction d’échelle de l’image source. En effet, comme l’image cible est plus petite que l’image source (du fait qu’elle ne contient que la ou les régions d’intérêt de cette dernière), le taux de réduction d’échelle pour passer de l’image cible à la taille prédéterminée est inférieur au taux de réduction d’échelle pour passer de l’image source à la taille prédéterminée. Par conséquent, les objets présents vont être moins réduits par la réduction appliquée à l’image cible que par celle appliquée à l’image source. De là, le réseau de neurones va plus facilement détecter des objets dans l’image cible réduite que dans l’image source réduite. Des objets ne pouvant pas être détectés dans l’image source réduite vont pouvoir l’être dans l’image cible réduite. Selon une caractéristique particulière, l’étape d’obtention de la ou les régions d’intérêt comprend une réception, via une interface utilisateur, d’informations de sélection de la ou les régions d’intérêt. Ainsi, dans cette implémentation, l’utilisateur peut définir comme il le souhaite les régions d’intérêt. Selon une caractéristique particulière, l’étape d’obtention de la ou les régions d’intérêt comprend une exécution d’une méthode de détection automatique de régions d’intérêt. Dans cette variante de l’implémentation précédente, les régions d’intérêt sont définies automatiquement, sans participation de l’utilisateur. Selon une caractéristique particulière, le procédé comprend une étape de stockage de l’image numérique cible sur un support de stockage, si l’image cible est utilisée dans la phase d’apprentissage. De cette façon, les images cibles peuvent être réutilisées dans la phase d’apprentissage d’autres réseaux de neurones. Comme déjà mentionné plus haut, la présente solution permet de réduire l’espace de stockage (sur le support de stockage) nécessaire pour stocker les images cibles constituant ici des données d’apprentissage. Selon une caractéristique particulière, le procédé comprend une étape d’emballage, dans laquelle est calculée une organisation spatiale de la ou les régions d’intérêt en fonction d’un critère de minimisation de surface et/ou d’un critère d’approximation d’une forme carrée, et en ce que l’étape de collage est effectuée en fonction de ladite organisation spatiale. Ainsi, on réduit autant que faire se peut la taille de l’image cible, de façon à bénéficier au mieux des avantages précités. L’utilisation du critère d’approximation d’une forme carrée (utilisé seul ou en combinaison avec le critère de minimisation de surface) permet quant à elle de minimiser l’impact d’une réduction d’échelle que doit subir l’image cible pour atteindre une taille prédéterminée de forme carrée (par exemple 512 x 512), ce qui est souvent imposé pour améliorer le temps de traitement du réseau de neurones. Selon une première implémentation particulière, si ladite organisation spatiale possède une taille supérieure à une taille prédéterminée autorisée en entrée du réseau de neurones, l’étape de collage comprend une réduction d’échelle de ladite organisation spatiale et de la ou les régions d’intérêt qu’elle comprend. Ainsi, on limite les calculs pour passer de l’image cible à l’image cible modifiée. Selon une deuxième implémentation particulière, si ladite organisation spatiale possède une taille supérieure à une taille prédéterminée autorisée en entrée du réseau de neurones, l’étape de collage comprend une réduction d’échelle de la ou d’au moins une des régions d’intérêt, et une réitération du calcul de l’organisation spatiale tenant compte de ladite réduction. Ainsi, contrairement à la première implémentation précitée, on ne réduit pas toute l’image cible mais seulement une ou plusieurs région(s) d’intérêt. Par rapport à la première implémentation précitée, ceci permet d’améliorer la qualité de la détection dans les régions d’intérêt qui ne sont pas réduites. Selon une troisième implémentation particulière, si ladite organisation spatiale possède une taille supérieure à une taille prédéterminée autorisée en entrée du réseau de neurones, l’étape de collage comprend une suppression d’au moins une des régions d’intérêt, et une réitération du calcul de l’organisation spatiale tenant compte de ladite réduction. Ainsi, contrairement à la première implémentation précitée, on ne réduit pas toute l’image cible mais on supprime une ou plusieurs région(s) d’intérêt. Par rapport à la première implémentation précitée, ceci permet d’améliorer la qualité de la détection dans les régions d’intérêt qui ne sont pas supprimées. Selon une caractéristique particulière, l’étape de collage comprend un remplissage, avec un zéro, de chaque pixel de l’image numérique cible non occupé par la ou une des régions d’intérêt. Ainsi, on garantit que seule(s) la ou les régions d’intérêt sont traitées par le réseau de neurones. Selon une caractéristique particulière, l’étape de détection d’objet(s) est suivie d’une étape de remappage, dans laquelle est calculée, pour chaque objet détecté, une position P dudit objet détecté dans l’image numérique source en fonction d’une position P’ dudit objet détecté dans l’image numérique cible. Ainsi, la solution proposée permet de fournir, pour chaque objet détecté, sa position dans l’image source, ce qui est plus parlant et compréhensible pour l’utilisateur. Selon une caractéristique particulière, l’étape de remappage comprend, pour chaque objet détecté compris dans une boîte englobante : sélection de la région d’intérêt contenant la boîte englobante ; et calcul de la position P de l’objet détecté dans l’image numérique source, selon l’équation : P = P’ – A + B, avec : P’ la position de l’objet détecté dans l’image numérique cible ; A la position de la région d’intérêt dans l’image numérique cible ; et B la position de la région d’intérêt dans l’image numérique source. Ainsi, le calcul de la position P de l’objet détecté dans l’image source est simple à effectuer. Dans un autre mode de réalisation de l'invention, il est proposé un produit programme d'ordinateur comprenant des instructions de code de programme qui, quand elles sont exécutées par une machine de calcul, provoquent la réalisation par la machine de calcul du procédé précité (dans l’un quelconque de ses différents modes de réalisation). Dans un autre mode de réalisation de l'invention, il est proposé un médium de stockage lisible par ordinateur et non transitoire, stockant le produit programme d’ordinateur précité. Dans un autre mode de réalisation de l'invention, il est proposé une machine de calcul configurée pour réaliser le procédé précité (dans l’un quelconque de ses différents modes de réalisation). 5. LISTE DES FIGURES D’autres caractéristiques et avantages de l’invention apparaîtront à la lecture de la description suivante, donnée à titre d’exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : présente un organigramme simplifié d’un procédé de détection d’objets selon un mode de réalisation particulier de l’invention ; illustre un premier exemple d’image source ; illustre un premier exemple d’image cible obtenue à partir de l’image source de la figure 2A ; illustre un deuxième exemple d’image source ; illustre un deuxième exemple d’image cible obtenue à partir de l’image source de la figure 3A ; illustre le principe de l’étape d’emballage S2 de la figure 1 ; illustre le principe de l’étape de détection S4 de la figure 1 ; illustre le principe de l’étape de remappage S5 de la figure 1 ; et présente la structure d'une machine de calcul, selon un mode de réalisation particulier, configurée pour réaliser le procédé de l'invention. 6. DESCRIPTION DÉTAILLÉE Sur toutes les figures du présent document, les éléments et étapes identiques sont désignés par une même référence numérique. On présente maintenant, en relation avec la figure 1 , un procédé, selon un mode de réalisation particulier de l’invention, de détection d’objet(s) dans des images numériques sources. Le procédé est exécuté par une machine de calcul (voir figure 7) configurée pour implémenter un réseau de neurones. Pour au moins une des images numériques sources 1 (et préférentiellement pour chacune), le procédé comprend diverses étapes S1 à S5 qui sont détaillées ci-dessous. Dans une étape S1 (dite d’obtention), la machine de calcul obtient une ou plusieurs régions d’intérêt 4 (ou ROI, pour « Regions Of Interest » en anglais) contenues dans l’image numérique source 1. Les régions d’intérêt sont par exemple délimitées par des polygones (par exemple des rectangles, comme dans les exemples décrits ci-après) ou par des poly-lignes. Dans un premier cas, on entend par « obtention de la ou les régions d’intérêt » la réception, via une interface utilisateur, d’informations de sélection de la ou les régions d’intérêt. Dans ce premier cas, les régions d’intérêt sont donc définies en temps réel (de manière dynamique) et non pas prédéfinies. Par exemple, pour une application de comptage de piétons et véhicules dans un carrefour, l’utilisateur choisit manuellement, via une interface utilisateur, les régions d’intérêt qui correspondent à des passages piétons et aux zones qui les entourent. Dans un deuxième cas, on entend par « obtention de la ou les régions d’intérêt » l’exécution d’une méthode de détection automatique de régions d’intérêt. Dans ce deuxième cas, les régions d’intérêt sont donc définies en temps réel (de manière dynamique) et non pas prédéfinies. Différentes méthodes, connues de l’homme du métier, permettent de détecter des régions d’intérêt (aussi appelées « zones actives ») dans une image. Parmi ces méthodes, nous pouvons citer les méthodes à base fusion de capteurs (exemples de capteurs : caméra thermique, LIDAR, RADAR, etc.) ou les méthodes d’imagerie basées sur les différences entre deux images successives (méthodes basées par exemple sur le flux optique ou l’egomotion). Il est possible de retenir comme régions d’intérêt dans une image, les régions dans lesquelles des objets sont mobiles entre deux images successives ou bien dans lesquelles des objets sont statiques mais ont une propriété caractéristique (température, signature radar, etc.) perçue par un autre type de capteur que la caméra. Dans un troisième cas, on entend par « obtention de la ou les régions d’intérêt » la réception d’informations relatives à la ou aux régions d’intérêt. Dans ce troisième cas, les régions d’intérêt sont donc prédéfinies. On suppose donc que la définition des informations relatives à la ou aux régions d’intérêt a été effectuée au préalable, par exemple comme indiqué dans le cas implémentation (c'est-à-dire via une interface utilisateur) ou bien comme indiqué dans le cas implémentation (c'est-à-dire par l’exécution d’une méthode de détection automatique de régions d’intérêt). Dans un quatrième cas, on entend par « obtention de la ou les régions d’intérêt » le fait que les régions d’intérêt sont prédéfinies à la compilation (c'est-à-dire que les informations relatives à celles-ci sont contenues dans les instructions de code de programme qui, quand elles sont exécutées par la machine de calcul, provoquent la réalisation du procédé). Les premier et deuxième cas s’appliquent par exemple dans la phase d’inférence et les troisième et quatrième cas s’applique par exemple dans la phase d’apprentissage. Dans une étape S2 (dite d’emballage), la machine de calcul calcule une organisation spatiale de la ou les régions d’intérêt en fonction d’un critère de minimisation de surface et/ou d’un critère d’approximation d’une forme carrée. En d’autres termes, l’étape d’emballage consiste à organiser les régions d’intérêts dans le but d’occuper une faible surface (soit la plus petite surface possible, dans le cas optimal, soit une surface s’approchant de la surface minimale, dans un cas dégradé) et/ou dans le but d’occuper une surface si possible carrée (ou sinon rectangulaire mais s’approchant le plus possible d’une forme carrée. Premier exemple d’algorithme pour organiser les régions d’intérêts (en fonction uniquement d’un critère de minimisation de surface) : trier les régions d’intérêt dans une liste, de la plus grande à la plus petite ; prendre la première région d’intérêt de la liste (la plus grande) et la positionner définitivement dans le coin supérieur gauche d’un premier rectangle ; prendre la région d’intérêt suivante dans la liste et la positionner provisoirement à droite de la région d’intérêt précédente ; calculer la superficie occupée par un deuxième rectangle englobant au plus près l’ensemble des régions d’intérêt déjà positionnées (celle(s) déjà définitivement positionnée(s) et celle provisoirement positionnée à l’étape 3) ; reprendre la même région d’intérêt suivante qu’à l’étape 3 et la positionner provisoirement sous la région d’intérêt précédente ; calculer la superficie occupée par un troisième rectangle englobant au plus près l’ensemble des régions d’intérêt déjà positionnées (celle(s) déjà définitivement positionnée(s) et celle provisoirement positionnée à l’étape 5) ; choisir la position définitive de la région d’intérêt suivante en fonction des surfaces calculées aux étapes 4 et 6, et plus précisément en retenant la position de l’étape 3 (à droite de la région d’intérêt précédente) si la surface calculée à l’étape 4 est la plus faible des deux et celle de l’étape 5 (sous la région d’intérêt précédente) si la surface calculée à l’étape 6 est la plus faible des deux ; et répéter les étapes 3 à 7 jusqu’à parcourir toutes les régions d’intérêt de la liste. Deuxième exemple d’algorithme pour organiser les régions d’intérêts (en fonction d’un critère de minimisation de surface et d’un critère d’approximation d’une forme carrée) : trier les régions d’intérêt dans une liste, de la plus grande à la plus petite ; prendre la première région d’intérêt de la liste (la plus grande) et la positionner définitivement dans le coin supérieur gauche d’un premier rectangle ; prendre la région d’intérêt suivante dans la liste (appelée ci-après « région d’intérêt N ») et la positionner provisoirement à droite de la région d’intérêt précédente (appelée ci-après « région d’intérêt N-1 »); en cas de collision spatiale (c'est-à-dire de chevauchement au moins partiel) entre la région d’intérêt N provisoirement positionnée (à l’étape 3) et au moins une des régions d’intérêt déjà définitivement positionnées, passer à l’étape 7 ; calculer la superficie occupée par un deuxième rectangle englobant au plus près l’ensemble des régions d’intérêt déjà positionnées (celle(s) déjà définitivement positionnée(s) et celle provisoirement positionnée à l’étape 3) ; calculer la valeur absolue de la largeur du deuxième rectangle moins la hauteur du deuxième rectangle ; reprendre la même région d’intérêt N qu’à l’étape 3 et la positionner provisoirement sous la région d’intérêt N-1 ; en cas de collision spatiale (c'est-à-dire de chevauchement au moins partiel) entre la région d’intérêt N provisoirement positionnée (à l’étape 7) et au moins une des régions d’intérêt déjà définitivement positionnées, passer à l’étape 11 ; calculer la superficie (appelée ci-après S ») occupée par un troisième rectangle englobant au plus près l’ensemble des régions d’intérêt déjà positionnées (celle(s) déjà définitivement positionnée(s) et celle provisoirement positionnée à l’étape 7) ; calculer la valeur absolue (appelée ci-après VA) de la largeur du troisième rectangle moins la hauteur du troisième rectangle ; pour chacune des régions d’intérêt qui précèdent la région d’intérêt N-1 (c'est-à-dire chacune des régions d’intérêt de rang 1 à N-2 dans la liste de l’étape 1), appelée ci-après « autre région précédente », répéter les étapes 3 à 10 en remplaçant la région d’intérêt N-1 par cette autre région précédente ; normaliser entre 0 et 1 les deux valeurs S et VA (appelées ci-après « couple de valeurs S et VA ») obtenues à chaque itération des étapes 5 et 6 ou des étapes 9 et 10 ; choisir la position définitive de la région d’intérêt N en fonction des couples de valeurs S et VA normalisées, et plus précisément en retenant la position de la région d’intérêt N pour laquelle la somme des valeurs S et VA normalisées est minimale ; et répéter les étapes 3 à 13 jusqu’à parcourir toutes les régions d’intérêt de la liste. Dans le cas où trop de zones d’intérêt existent dans l’image source, conduisant au fait que l’organisation spatiale calculée (et plus précisément le rectangle englobant au plus près l’ensemble des régions d’intérêt) possède une taille supérieure à une taille prédéterminée autorisée en entrée du réseau de neurones (par exemple 512 x 512 pixels), différentes stratégies peuvent être mises en œuvre : réduction d’échelle de l’organisation spatiale et donc de la ou les régions d’intérêt qu’elle comprend ; réduction d’échelle de la ou d’au moins une des régions d’intérêt, et réitération du calcul de l’organisation spatiale tenant compte de ladite réduction ; suppression d’au moins une des régions d’intérêt, et réitération du calcul de l’organisation spatiale tenant compte de ladite réduction ; … Dans une étape S3 (dite de collage), la machine de calcul effectue un collage de la ou les régions d’intérêt dans une image numérique cible 2 possédant une taille inférieure à celle de l’image numérique source 1. Le collage est effectué en fonction de l’organisation spatiale calculée à l’étape d’emballage S2. En outre, l’étape de collage comprend un remplissage, avec un zéro (opération « zero padding ») de chaque pixel de l’image numérique cible 2 non occupé par la ou une des régions d’intérêt. Si l’image cible générée à l’étape S3 est utilisée dans la phase d’apprentissage du réseau de neurones, le procédé comprend une étape de stockage (non représentée et effectuée par exemple avant l’étape S4) de celle-ci sur un support de stockage. Dans une étape S4 (dite de détection), la machine de calcul effectue une détection d’objet(s) dans l’image numérique cible, en utilisant le réseau de neurones, dans une phase d’apprentissage ou dans une phase d’inférence. Comme déjà mentionné plus haut, la détection d’objets consiste typiquement à définir et dessiner une boîte englobante (« bounding box »), généralement un rectangle, entourant chaque objet détecté. La détection permet de définir les dimensions et la position de cette boîte englobante (fonction de localisation), et éventuellement de lui attribuer une classe d’objet (fonction de classification). Dans une étape S5 (dite de remappage), la machine de calcul calcule, pour chaque objet détecté, une position P dudit objet détecté dans l’image numérique source (c'est-à-dire des coordonnées globales dans un repère (O,x,y) propre à l’image numérique source) en fonction d’une position P’ dudit objet détecté dans l’image numérique cible (c'est-à-dire des coordonnées locales dans un repère (O’,x’,y’) propre à l’image numérique cible). Par exemple, pour chaque objet détecté compris dans une boîte englobante (« bounding box »), l’étape de remappage S5 comprend elle-même les étapes suivantes : sélection de la région d’intérêt contenant la boîte englobante (cette sélection est par exemple effectuée de la manière suivante : calcul de la zone de chevauchement entre la boîte englobante et chacune des régions d’intérêt, puis assignation de la boîte englobante à la région d’intérêt pour laquelle le chevauchement est le plus grand) ; et calcul de la position P de l’objet détecté dans l’image numérique source, selon l’équation : P = P’ – A + B, avec : P’ la position de l’objet détecté dans l’image numérique cible ; A la position de la région d’intérêt dans l’image numérique cible ; et B la position de la région d’intérêt dans l’image numérique source. La figure 2A illustre un premier exemple d’image source 21 et la figure 2B illustre un premier exemple d’image cible 22 obtenue à partir de l’image source de la figure 2A. Dans cet exemple d’application, la détection d’objets vise à effectuer un comptage de piétons et de véhicule dans un carrefour. L’image cible 22 comprend deux régions d’intérêt 23a et 23b. La partie restante 23c est remplie avec des zéros (opération « zero padding »). La taille de l’image source 21 est 1280 x 712 pixels et celle de l’image cible 22 est 803 x 842 pixels. Dans l’hypothèse où une réduction d’échelle serait nécessaire pour arriver à une taille prédéterminée de 512 x 512 pixels en entrée du réseau de neurones, on aurait une réduction d’échelle de 3,5 pour l’image source 21 (1280 x 712 / 512 x 512) et une réduction d’échelle de seulement 2,6 (donc permettant au final une meilleure détection d’objets) pour l’image cible 22 (803 x 842 / 512 x 512). Ceci est illustré par le fait que trois objets 24a, 24b et 24c sont détectés dans l’image source 21, tandis que six sont détectés dans l’image cible 22 (les trois objets 24a, 24b et 24c et trois objets supplémentaires 24d, 24e et 24f). La figure 3A illustre un deuxième exemple d’image source 31 et la figure 3B illustre un deuxième exemple d’image cible 32 obtenue à partir de l’image source de la figure 3A. Dans cet exemple, l’image cible 32 comprend trois régions d’intérêt 33a, 33b et 33c. La partie restante 33d est remplie avec des zéros (opération « zero padding »). La figure 4 illustre le principe de l’étape d’emballage S2 de la figure 1. La partie gauche représente une image source 41 sur laquelle sont identifiées trois régions d’intérêt 43a, 43b et 43c. La partie droite représente l’image cible 42, dans laquelle a été placée l’organisation spatiale des trois régions d’intérêt 43a, 43b et 43c (résultant de l’étape d’emballage S2). La figure 5 illustre le principe de l’étape de détection S4 de la figure 1. La partie gauche représente une image cible 52 comprenant trois régions d’intérêt 53a, 53b et 53c. La partie droite représente la même image cible 52, sur laquelle sont identifiés cinq objets détectés 54a, 54b, 54c, 54d et 54e. La figure 6 illustre le principe de l’étape de remappage S5 de la figure 1. La partie gauche représente la même image cible 52 que sur la partie droite de la figure 5 (comprenant les trois régions d’intérêt 53a, 53b et 53c dans lesquelles sont détectés les cinq objets détectés 54a, 54b, 54c, 54d et 54e), et sur laquelle est représenté en outre le repère (O’,x’,y’) propre à l’image cible 52. La partie droite représente l’image source 51 correspondante, sur laquelle est représenté le repère (O,x,y) propre à l’image source 51, ainsi que les cinq objets détectés 54a, 54b, 54c, 54d et 54 e . La figure 7 présente un exemple de structure d'une machine de calcul 70 pour réaliser (exécuter) le procédé présenté ci-dessus en relation avec les figures 1 à 6. Cette structure comprend une mémoire vive 72 (par exemple une mémoire RAM), une mémoire morte 73 (par exemple une mémoire ROM ou un disque dur) et une unité de traitement 71 (équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur 730 stocké dans la mémoire morte 73). A l'initialisation, les instructions de code du programme d'ordinateur 730 sont par exemple chargées dans la mémoire vive 72 avant d'être exécutées par le processeur de l'unité de traitement 71. Le processeur reçoit en entrée l’image source 1 (et éventuellement les régions d’intérêt 4), et génère en sortie les objets détectés. Cette figure 7 illustre seulement une manière particulière, parmi plusieurs possibles, d’implémenter une machine de calcul pour réaliser (exécuter) le procédé. En effet, la machine de calcul s’implémente indifféremment sous la forme d’une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP, un microcontrôleur, etc.) exécutant un programme comprenant une séquence d’instructions, ou sous la forme d’une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel). Dans le cas d’une implémentation sous la forme d’une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d’instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur. Procédé de détection d’objet(s) dans des images numériques sources (1) par une machine de calcul (70) configurée pour implémenter un réseau de neurones, le procédé étant caractérisé en ce qu’il comprend les étapes suivantes, exécutées par la machine de calcul pour au moins une des images numériques sources : obtention (S1) d’une ou plusieurs régions d’intérêt (4) contenues dans l’image numérique source ; collage (S3) de la ou les régions d’intérêt dans une image numérique cible (3) possédant une taille inférieure à la taille de l’image numérique source ; et détection (S4) d’objet(s) dans l’image numérique cible, en utilisant le réseau de neurones, dans une phase d’apprentissage ou dans une phase d’inférence. Procédé selon la revendication 1, caractérisé en ce que l’étape (S1) d’obtention de la ou les régions d’intérêt comprend une réception, via une interface utilisateur, d’informations de sélection de la ou les régions d’intérêt. Procédé selon la revendication 1, caractérisé en ce que l’étape (S1) d’obtention de la ou les régions d’intérêt comprend une exécution d’une méthode de détection automatique de régions d’intérêt. Procédé selon l’une quelconque des revendications 1 à 3, caractérisé en ce qu’il comprend une étape de stockage de l’image numérique cible sur un support de stockage, si l’image cible est utilisée dans la phase d’apprentissage. Procédé selon l’une quelconque des revendications 1 à 4, caractérisé en ce qu’il comprend une étape d’emballage (S2), dans laquelle est calculée une organisation spatiale de la ou les régions d’intérêt en fonction d’un critère de minimisation de surface et/ou d’un critère d’approximation d’une forme carrée, et en ce que l’étape de collage (S3) est effectuée en fonction de ladite organisation spatiale. Procédé selon la revendication 5, caractérisé en ce que, si ladite organisation spatiale possède une taille supérieure à une taille prédéterminée autorisée en entrée du réseau de neurones, l’étape de collage (S3) comprend une réduction d’échelle de ladite organisation spatiale et de la ou les régions d’intérêt qu’elle comprend. Procédé selon la revendication 5, caractérisé en ce que, si ladite organisation spatiale possède une taille supérieure à une taille prédéterminée autorisée en entrée du réseau de neurones, l’étape de collage (S3) comprend une réduction d’échelle de la ou d’au moins une des régions d’intérêt, et une réitération du calcul de l’organisation spatiale tenant compte de ladite réduction. Procédé selon la revendication 5, caractérisé en ce que, si ladite organisation spatiale possède une taille supérieure à une taille prédéterminée autorisée en entrée du réseau de neurones, l’étape de collage (S3) comprend une suppression d’au moins une des régions d’intérêt, et une réitération du calcul de l’organisation spatiale tenant compte de ladite réduction. Procédé selon l’une quelconque des revendications 1 à 8, caractérisé en ce que l’étape de collage (S3) comprend un remplissage, avec un zéro, de chaque pixel de l’image numérique cible non occupé par la ou une des régions d’intérêt. Procédé selon l’une quelconque des revendications 1 à 9, caractérisé en ce que l’étape (S4) de détection d’objet(s) est suivie d’une étape de remappage (S4), dans laquelle est calculée, pour chaque objet détecté, une position P dudit objet détecté dans l’image numérique source en fonction d’une position P’ dudit objet détecté dans l’image numérique cible. Procédé selon la revendication 10, caractérisé en ce que l’étape de remappage (S5) comprend, pour chaque objet détecté compris dans une boîte englobante : sélection de la région d’intérêt contenant la boîte englobante ; et calcul de la position P de l’objet détecté dans l’image numérique source, selon l’équation : P = P’ – A + B, avec : P’ la position de l’objet détecté dans l’image numérique cible ; A la position de la région d’intérêt dans l’image numérique cible ; et B la position de la région d’intérêt dans l’image numérique source. Produit programme d'ordinateur (730), comprenant des instructions de code de programme qui, quand elles sont exécutées par une machine de calcul (70), provoquent la réalisation par la machine de calcul du procédé selon l’une quelconque des revendications 1 à 11. Médium de stockage (73) lisible par ordinateur et non transitoire, stockant le produit programme d’ordinateur selon la revendication 12. Machine de calcul (70) configurée pour réaliser le procédé selon l’une quelconque des revendications 1 à 11.