Brevet FR3164822A1 — publié le 20260123

Dispositif et méthode de détection d’objets dans des images aériennes La présente invention concerne un dispositif pour détecter un nombre N o d’objets dans une image aérienne courante, le dispositif comprenant : a. au moins une interface d’entrée configurée pour recevoir ladite image aérienne courante ; b. au moins un processeur configuré pour : i. appliquer une fonction apprise appelée fonction de détection à ladite image aérienne courante, de sorte à générer un résultat de détection, ladite fonction de détection étant issue d’un modèle pré-entraîné ; c. au moins une interface de sortie configurée pour retourner ledit résultat de détection. [Fig. 7] Dispositif et méthode de détection d’objets dans des images aériennes L’invention se rapporte au domaine de la détection d’objets dans des images aériennes, notamment prises par des vecteurs aériens de systèmes de drones. Les systèmes de drones sont de plus en plus fréquemment utilisés dans une grande variété de missions d’inspection et d’assistance. Une application potentielle est l’assistance dans des interventions de lutte contre les incendies, dans laquelle les images enregistrées par les vecteurs aériens peuvent être utilisées pour détecter et identifier des départs de feux. Le traitement d’images aériennes est difficile en ce que ces images présentent à la fois une résolution relativement basse et de larges variations d’échelle. Par ailleurs, dans le cas d’images prises par des vecteurs aériens, pour que le traitement de ces images puisse s’effectuer en temps réel, la difficulté réside dans la conception d’un logiciel à la fois rapide (donc peu coûteux en ressources) et précis. Or, les méthodes actuelles sont soit adaptées pour permettre une inférence rapide, au détriment de la précision de détection, soit conçues pour améliorer cette précision de détection, mais par conséquent consommatrices de ressources de calcul. Il existe également un besoin de développer une méthode de détection adaptée au déploiement en périphérie (en anglais, « edge computing »). Par ailleurs une méthode de détection rapide pourrait avantageusement être mise en œuvre en parallèle d’autres processus de calcul. L’invention présentée vise à résoudre ce problème. A cet effet, l’invention propose un dispositif et une méthode pour détecter des objets dans des images aériennes en temps réel et avec une grande précision. Il est ainsi proposé un dispositif pour détecter un nombre N o d’objets dans une image aérienne courante, le dispositif comprenant : au moins une interface d’entrée configurée pour recevoir l’image aérienne courante ; au moins un processeur configuré pour : Appliquer une fonction apprise appelée fonction de détection à l’image aérienne courante, de sorte à générer un résultat de détection, la fonction de détection étant issue d’un modèle pré-entraîné ; au moins une interface de sortie configurée pour retourner le résultat de détection, le modèle comprenant un ensemble d’étages comprenant un premier étage et un dernier étage, chaque étage retournant en sortie une carte de caractéristiques sémantiques de résolution supérieure à la carte de caractéristiques sémantiques retournée par l’étage inférieur correspondant, chaque étage supérieur au premier étage retournant la carte de caractéristiques sémantiques correspondante à partir de la carte de caractéristiques sémantiques retournée par l’étage inférieur correspondant, au moins un étage parmi l’ensemble d’étages comprenant une séquence composée d’un module comprenant un sous-module de type Vision Transformer suivi d’un module d’attention. Ainsi, avantageusement, une telle architecture du modèle permet d’obtenir un résultat de détection à la fois précis et rapide et permet d’utiliser le dispositif selon l’invention dans des applications en temps réel. Un autre avantage est qu’une telle architecture est scalable, de sorte qu’elle peut être adaptée à une grande variété de performances de processeurs. Par exemple, le dispositif peut être une machine virtuelle émulée et activée à distance. Aussi, l’ensemble d’étages du modèle, retournant des cartes de caractéristiques sémantiques de résolutions différentes, permet de générer une fonction de détection permettant de détecter des objets de tailles différentes dans l’image aérienne courante. Avantageusement, le nombre N o d’objets détectés est un nombre entier. Par nombre entier, il est entendu un nombre nul ou entier strictement positif. Dans certains modes de réalisation, le modèle comprend : - un module d’extraction de caractéristiques configuré pour extraire une pluralité de cartes de caractéristiques de l’image aérienne courante ; - un module d’enrichissement de caractéristiques comprenant l’ensemble d’étages et étant configuré pour retourner en sortie des caractéristiques sémantiques issues des cartes de caractéristiques sémantiques, au moins un étage de l’ensemble d’étages recevant des caractéristiques issues directement ou indirectement du module d’extraction de caractéristiques ; et - un module de prédiction configuré pour calculer au moins une prédiction sur la base des caractéristiques sémantiques, le résultat de détection étant basé sur la au moins une prédiction. Par le terme « directement », il est entendu ici que les caractéristiques sont reçues par l’au moins un étage, en fonctionnement, du module d’extraction de caractéristiques sans couches ou blocs de calcul intermédiaires. Par le terme « indirectement », il est entendu que l’au moins un étage est connecté au module d’extraction de caractéristiques par des couches de calcul ou des blocs de calcul intermédiaires. Dans certains modes de réalisation, le premier étage est connecté au module d’extraction de caractéristiques uniquement par des blocs de convolution et des modules de suréchantillonnage. Ainsi, l’architecture du modèle utilisé dans l’invention est simple et concise, sans répétition de couches, ce qui renforce les performances du dispositif en fonctionnement, notamment en termes de vitesse d’inférence du fait de la réduction des coûts de calcul. En d’autres termes, le modèle est conçu pour réaliser moins d’étapes calculatoires et la fonction de détection peut ainsi être mise en œuvre plus efficacement par le dispositif. Dans certains modes de réalisation, tous les étages de l’ensemble d’étages comprennent une séquence composée d’un module comprenant un sous-module de type Vision Transformer suivi d’un module d’attention. L’intégration d’une telle séquence à tous les étages du module d’enrichissement de caractéristiques renforce la précision du résultat de détection réalisé par le dispositif. Il est par ailleurs plus fréquent et classique d’utiliser des modules de convolution dans l’architecture de modèles dédiés à la détection d’objet, et beaucoup moins naturel d’utiliser des modules de type Vision Transformer dans ces modèles. Dans certains modes de réalisation, l’au moins un étage comprend une séquence d’un nombre compris entre un et trois modules comprenant un sous-module de type Vision Transformer suivie d’un module d’attention. Avantageusement, le module d’enrichissement de caractéristiques comprend trois étages. Avantageusement, le module d’enrichissement de caractéristiques comprend entre trois et cinq étages. Un nombre bas d’étages permet d’accélérer la vitesse d’inférence du modèle. Un nombre élevé d’étages permet d’adapter la performance du modèle à détecter des images aériennes de grande taille et pouvant contenir des objets de plusieurs échelles différentes allant de petits objets à des grands objets, relativement aux dimensions des images aériennes. Dans certains modes de réalisation, le module d’extraction de caractéristiques consiste en un ensemble formé uniquement de couches de convolution et de blocs résiduels composés chacun d’une pluralité de couches, l’ensemble comprenant un nombre total de couches inférieur à 50. Dans ces modes de réalisation, le module d’extraction de caractéristiques ne comprend pas d’autres structures, en particulier pas de sous-module de type Vision Transformer ou de module d’attention. Avantageusement, le module d’enrichissement de caractéristiques comprend un réseau de neurones de type réseau de pyramides de caractéristiques. Avantageusement, lorsque le nombre N o d’objets détectés est supérieur ou égal à 1, le résultat de détection comprend, pour chaque objet détecté, une classe de l’objet détecté, une information de position de l’objet détecté dans l’image aérienne courante, et optionnellement un score de confiance représentatif de la fiabilité de détection de l’objet. Avantageusement, lorsque le nombre N o d’objets détectés est supérieur ou égal à 1, le résultat de détection comprend en outre, pour chaque objet parmi l’au moins un objet présent, un score de confiance représentatif de la fiabilité de détection de l’objet. Avantageusement, lorsque le nombre N o d’objets détectés est supérieur ou égal à 1, le résultat de détection comprend en outre, pour chaque objet parmi l’au moins un objet présent, un ensemble de probabilités, chaque probabilité correspondant à la probabilité que l’objet appartienne à une classe parmi un ensemble de classes. Avantageusement, lorsque le nombre N o d’objets détectés est supérieur ou égal à 1, le résultat de détection comprend, pour chaque objet parmi l’au moins un objet détecté, une valeur de présence d’objet comprise entre 0 et 1. La valeur de présence d’objet est également dénommée « objectness ». Lorsque la valeur de présence d’objet est égale à 1, l’objet correspondant est détecté avec une fiabilité de 100%. Lorsque la valeur de présence d’objet est égale à 0, l’objet correspondant est détecté avec une fiabilité nulle. Dans certains modes de réalisation, le sous-module de type Vision Transformer comprend un ensemble de paires de couches, chaque paire comprenant une première couche et une deuxième couche, le module étant configuré pour calculer, pour chaque couche parmi l’ensemble de paires de couches, un ensemble de scores d’attention pour un ensemble de fenêtres formant entre elles une partition d’une image d’entrée, la partition pour une deuxième couche d’une paire de couches étant décalée par rapport à la partition pour la première couche de ladite paire de couches. Ainsi, avantageusement, en utilisant des partitions décalées, le mécanisme d’attention du sous-module de type Transformer appliqué aux jetons d’entrée (constitués par des patches de l’image aérienne courante) reçus en entrée peut traiter des patches voisins, ce qui permet de saisir efficacement le contexte local, améliorant ainsi la reconnaissance des objets et contribuant à l’obtention de caractéristiques enrichies. Autrement dit, un sous-module de ce type s’avère plus précis dans une tâche de détection, et par conséquence, il en est de même pour la fonction de détection qui est appliquée à l’image aérienne courante. Dans certains modes de réalisation, le sous-module de type Transformer est un module de type Vision Transformer à fenêtres décalées. Dans d’autres modes de réalisation, le sous-module de type Transformer consiste en une association de couches d’attention et d’un réseau de neurones à action directe (en anglais « feedforward neural network »). Dans certains modes de réalisation, le module d’attention de l’au moins un étage comprend une séquence d’un premier sous-module d’attention des canaux et d’un second sous-module d’attention spatiale, le premier sous-module d’attention des canaux étant configuré pour appliquer un premier algorithme d’attention à au moins une partie des caractéristiques issues du module comprenant le sous-module de type Transformer, le second sous-module d’attention spatiale étant configuré pour appliquer un second algorithme d’attention. Ainsi, l’intégration d’un tel module d’attention permet d’extraire et de retenir les informations importantes à la fois spatialement et du point de vue des canaux et d’atténuer (voire supprimer) les informations moins importantes de ces deux points de vue. Dans certains modes de réalisation, la fonction de détection est configurée pur réaliser un nombre d’opérations en virgule flottante par seconde inférieur à 150 GigaFLOPS. Par comparaison avec d’autres modèles comprenant un module d’enrichissement de caractéristiques (en anglais « neck »), le modèle permet de selon l’invention permet de générer une fonction de détection accomplissant un nombre réduit d’opérations qui est ainsi adaptée aux applications en temps réel. Dans certains modes de réalisation, le modèle comprend un nombre N de couches. Dans certains modes de réalisation, le modèle est constitué d’un ensemble de N couches arrangées de manière linéaire. Dans certains modes de réalisation, N est inférieur ou égal à 100. Dans certains modes de réalisation, le modèle comprend des couches connectées par des chemins non linéaires. Dans certains modes de réalisation, au moins un étage du module d’enrichissement de caractéristiques comprend, en aval de ladite séquence, un module additionnel de type module à reparamétrisation. Avantageusement, l’ajout d’un tel module additionnel améliore la vitesse d’inférence et donc la performance du dispositif de détection, tout en maintenant la précision de détection du dispositif qui a été déterminé lors de la phase d’entraînement. L’amélioration de la vitesse d’inférence est liée à la reparamétrisation effectuée lors de la phase d’entraînement. Le modèle, dans sa version pour la phase d’inférence, présente un nombre de paramètres diminué et un nombre d’opérations en virgule flottante réduit (en anglais « floating point operations per second», FLOPS). Dans certains modes de réalisation, chaque étage du module d’enrichissement de caractéristiques comprend, en aval de ladite séquence, un module additionnel de type module à reparamétrisation. Dans d’autres modes de réalisation, chaque étage du module d’enrichissement de caractéristiques comprend, en aval de ladite séquence, un module de convolution Atrous. Dans encore d’autres modes de réalisation, au moins un étage du module d’enrichissement de caractéristiques comprend, en aval de ladite séquence, un module Ghost. Avantageusement, un module Ghost permet d’augmenter l’efficacité du module d’enrichissement de caractéristiques par l’utilisation d’un nombre limité de paramètres tout en augmentant le nombre de caractéristiques sortant du module. Dans encore d’autres modes de réalisation, chaque étage du module d’enrichissement de caractéristiques comprend, en aval de ladite séquence, un module Ghost. Dans certains modes de réalisation, le module de prédiction comprend au moins un bloc d’addition implicite et/ou un bloc de multiplication implicite. Avantageusement, un tel bloc contribue à la tâche d’enrichissement des caractéristiques effectuée par le modèle ainsi qu’à l’amélioration de la précision de détection réalisée par la fonction de détection. Dans certains modes de réalisation, le dispositif est un dispositif de calcul embarqué dans un drone. Un autre aspect de l’invention porte sur un système pour détecter un nombre N o d’objets dans une image aérienne courante comprenant : - un capteur d’images embarqué configuré pour acquérir des images aériennes ; - un dispositif pour détecter un nombre N o d’objets dans une image aérienne courante tel que décrit précédemment, l’au moins une interface d’entrée dudit dispositif étant configurée pour recevoir les images aériennes, et l’image aérienne courante étant l’une parmi les images aériennes. Dans certains modes de réalisation, le système est un ensemble embarqué dans un drone et comprenant un capteur d’images et un dispositif de calcul. Un autre aspect de l’invention porte sur une méthode mise en œuvre par ordinateur pour détecter un nombre N o d’objets dans une image aérienne courante mise en œuvre par un dispositif tel que décrit précédemment, la méthode comprenant : - a. (S10) recevoir ladite image aérienne courante ; - b. (S20) appliquer une fonction apprise appelée fonction de détection à ladite image aérienne courante, de sorte à générer un résultat de détection, ladite fonction de détection étant issue d’un modèle pré-entraîné ; - c. (S30) retourner ledit résultat de détection, le modèle comprenant un ensemble d’étages comprenant un premier étage et un dernier étage, chaque étage retournant en sortie une carte de caractéristiques sémantiques de résolution supérieure à la carte de caractéristiques sémantique retournée par l’étage inférieur correspondant, chaque étage supérieur au premier étage retournant la carte de caractéristiques sémantiques correspondante à partir de la carte de caractéristiques sémantiques retournée par l’étage inférieur correspondant, au moins un étage parmi l’ensemble d’étages comprenant une séquence composée d’un module comprenant un sous-module de type Vision Transformer suivi d’un module d’attention. Dans certains modes de réalisation, la méthode comprend en outre : d. déclencher une action, par exemple une alerte, en fonction au moins d’une valeur du résultat de détection. Un programme informatique, mettant en œuvre tout ou partie de la méthode décrite ci-avant, installé sur un équipement préexistant, est en lui-même avantageux. Ainsi, la présente invention vise également un programme informatique comportant des instructions pour la mise en œuvre de la méthode précédemment décrite, 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 source interprétable, d’un code partiellement compilé ou d’un code totalement compilé. Un autre aspect concerne un support de stockage non-transitoire d’un programme exécutable par ordinateur, comprenant un ensemble de données représentant un ou plusieurs programmes, lesdits un ou plusieurs programmes comprenant des instructions pour, lors de l’exécution desdits un ou plusieurs programmes par un ordinateur comprenant une unité de traitement couplée de manière opérationnelle à des moyens mémoire et à un module d’interface entrées/sorties, pour exécuter tout ou partie de la méthode décrite ci-avant. D’autres caractéristiques, détails et avantages de l’invention apparaîtront à la lecture de la description détaillée ci-après. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés, sur lesquels : FIG. 1 représente un schématiquement une situation dans laquelle un ou plusieurs modes de réalisation de l’invention peuvent être exécutés ; FIG. 2 représente un exemple d’ensemble de composants d’un dispositif de commande pour détecter un nombre N o d’objets dans une image aérienne courante selon un mode de réalisation de l’invention ; FIG. 3 représente un ordinogramme avec un exemple d’ensemble d’étapes pouvant être exécutées pour détecter un nombre N o d’objets dans une image aérienne courante selon un mode de réalisation de l’invention ; FIG. 4 représente schématiquement une architecture d’un modèle pour générer une fonction utilisée par un dispositif pour détecter un nombre N o d’objets selon un mode de réalisation de l’invention ; FIG. 5 représente un exemple d’architecture d’un module d’extraction de caractéristiques du modèle de la FIG. 4 pouvant être utilisé dans des modes de réalisation de l’invention ; FIG. 6 représente schématiquement un réseau de type réseau de pyramides de caractéristiques ; FIG. 7 représente un exemple d’architecture d’un module d’enrichissement de caractéristiques du modèle de la FIG. 4 pouvant être utilisé dans des modes de réalisation de l’invention ; FIG. 8 représente un exemple de partitions d’une même image décalées ; FIG. 9 représente schématiquement une architecture d’un sous-module de type Transformer à fenêtres décalées (Swin Transformer) ; FIG. 10 représente deux blocs Swin Transformer successifs dans le sous-module de type Transformer à fenêtres décalées de la FIG. 9 ; FIG. 11 représente un exemple de module comprenant un sous-module de type Transformer à fenêtres décalées ; FIG. 12 représente une partie d’un bloc de type RepConv, ou bloc de reparamétrisation, pour l’entraînement et pour l’inférence ; FIG. 13 représente un exemple d’une portion d’architecture d’un module d’enrichissement de caractéristiques du modèle de la FIG. 4 selon un mode de réalisation de l’invention ; FIG. 14 représente un exemple d’architecture d’un module de prédiction du modèle de la FIG. 4 pouvant être utilisé dans certains modes de réalisation de l’invention. Description détaillée Il est proposé un dispositif 100 pour détecter un nombre N o d’objets dans une image aérienne ainsi qu’une méthode 200 associée mises en œuvre par ordinateur pour détecter la présence d’un objet dans une image aérienne courante. La FIG. 1 illustre schématiquement une situation dans laquelle la méthode 200 selon la présente divulgation peut être mise en œuvre. Plus spécifiquement, il est représenté schématiquement sur la FIG. 1 des éléments relatifs à une mission d’intervention de lutte contre des incendies assistée par un système de drones. Un drone 10 est représenté, qui détecte dans le champ de vision de sa caméra embarquée des objets tels qu’un feu ou de la végétation, et enregistre un flux d’images correspondant. Le flux d’images est envoyé à une station au sol associée à un opérateur, via éventuellement un opérateur intermédiaire manipulant un dispositif de télécommande 300. Le dispositif 100 peut être cette station au sol et mettre en œuvre la méthode 200 selon l’invention afin de détecter des départs de feu et des objets spécifiques, visualiser les résultats associés à la détection, et, le cas échéant, effectuer des opérations de post-traitement et déclencher des actions. Avantageusement, le drone 10 peut comprendre un système de calcul embarqué pouvant, alternativement à une station au sol, constituer le dispositif 100 et mettre en œuvre la méthode 200. D’autres applications de la méthode 200 existent dès lors qu’une opération de détection d’objets dans des images aériennes est envisagée. Par système de drones, on entend dans la présente demande un système composé d’un ou plusieurs véhicules aériens autonomes équipés de capteurs de détection et d’une ou plusieurs stations au sol de commandement et de recueil des informations issues des capteurs de détection. Dans la suite, on dénommera « drones » les véhicules aériens autonomes. L’ensemble des drones forment une flotte de drones. La ou les stations au sol pilotent les drones à distance. Dans certains modes de réalisation, un ou plusieurs dispositifs intermédiaires de télécommande commandent à distance le ou les drones et reçoivent et transmettent des informations à la ou aux stations au sol. Comme vu plus haut, les drones sont équipés de capteurs de détection tels que des caméras détectant et enregistrant des images. Les drones peuvent comprendre d’autres capteurs de détection. Les images détectées et enregistrées par un drone 10 peuvent être transmises à la / aux station(s) au sol pour traitement. La FIG. 2 représente un exemple de dispositif 100 dans un mode de réalisation de l’invention et pouvant mettre en œuvre la méthode 200 de détection de présence d’un objet dans une image aérienne. Dans ce mode de réalisation, le dispostif 100 comprend une ou plusieurs mémoires 102, 103 pour stocker des instructions permettant la mise en œuvre de la méthode 200 de détection d’un objet, les données de mesures reçues, et des données temporaires pour réaliser les différentes étapes de la méthode 200. Le dispositif 100 comporte en outre un circuit 101. Ce circuit peut être, par exemple : - un processeur apte à interpréter des instructions sous la forme de programme informatique ( par exemple un processeur graphique GPU, 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 « Field-Programmable Gate Array » en anglais), comme un SOC (pour « System On Chip » en anglais) ou comme un ASIC (pour « Application Specific Integrated Circuit » an anglais). Les SOC ou système sur puce sont des systèmes embarqués qui intègrent tous les composants d’un système électronique dans une puce unique. Un ASIC est un circuit électronique spécialisé qui regroupe des fonctionnalités sur mesure pour une application donnée. Les ASIC sont généralement configurés lors de leur fabrication et ne peuvent être que simulés par l’utilisateur. Les circuits logiques programmables de type FPGA (Field-Programmable Gate Array) sont des circuits électroniques reconfigurables par l’utilisateur. Ce dispositif 100 comporte des interfaces d’entrée et de sortie 107, pour la réception de données de mesures, notamment des images en provenance du drone 10 via un réseau 104, et pour la fourniture de données de sortie, notamment les résultats issus de la mise en œuvre de la méthode 200 selon l’invention. Enfin, la station 100 peut comporter, pour permettre une interaction aisée avec un utilisateur, un écran et un clavier. Bien entendu, le clavier est facultatif, notamment dans le cadre d’une station ayant la forme d’une tablette tactile, par exemple. En fonction du mode de réalisation, le dispositif 100 peut être un ordinateur, un réseau d’ordinateurs, un composant électronique, ou un autre appareil comportant un processeur couplé de manière opérationnelle à une mémoire, ainsi que, selon le mode de réalisation choisi, une unité de stockage de données, et d'autres éléments matériels associés comme une interface de réseau et un lecteur de support pour lire un support de stockage amovible et écrire sur un tel support (non représentés sur la figure). Le support de stockage amovible peut être, par exemple, un disque compact (CD), un disque vidéo/polyvalent numérique (DVD), un disque flash, une clé USB, etc. En fonction du mode de réalisation, la mémoire, l’unité de stockage de données ou le support de stockage amovible contient des instructions qui, lorsqu'elles sont exécutées par le circuit de commande 101, amènent ce circuit de commande 201 à effectuer ou contrôler les parties interface d’entrée et interface de sortie 207, stockage de données dans la ou les mémoires 102, 103 et/ou traitement de données des exemples de mise en œuvre du procédé proposé décrits dans les présentes. Dans d’autres modes de réalisation et comme évoqué plus haut, la méthode 200 peut être mise en œuvre par un système de calcul embarqué dans le drone 10. Dans ces modes de réalisation, le système de calcul embarqué reçoit directement les images enregistrées par le capteur embarqué du drone 10 et met en œuvre la méthode 200 à partir des images enregistrées. La méthode 200 va être décrite ci-après en référence à la FIG. 3 . Il est supposé que le drone 10 est en vol de mission après avoir décollé suite à une commande d’un opérateur, et enregistre des images. Les images peuvent être des photographies ou des trames d’un flux vidéo. Par exemple, le nombre d’images par seconde transmis par le drone 10 peut être compris entre 24 et 30 images par secondes (i/s). Le drone 10 reste connecté au dispositif 100 (ou un dispositif de télécommande 300 intermédiaire) avec laquelle il échange des informations et dont il reçoit des instructions. La méthode 200 mettant en œuvre un modèle d’apprentissage automatique préalablement entraîné, celle-ci est avantageusement mise en œuvre lors d’une phase d’inférence de ce modèle. Pour rappel, la phase d’inférence d’un modèle désigne le processus au cours duquel le modèle, préalablement entraîné, est utilisé pour réaliser des prédictions à partir de nouvelles données qui n’ont pas été utilisées lors de la phase d’apprentissage du modèle. Dans une étape S10, le dispositif 100 reçoit une image dite image courante I 0 en provenance d’un capteur de détection du drone 10. Dans une étape S20, une fonction apprise appelée fonction de détection est appliquée à l’image courante I 0 par le circuit de commande 101 du dispositif 100. La fonction de détection est configurée pour déterminer la présence, dans l’image courante I 0 , d’objets appartenant à une classe parmi une pluralité de classes. Des exemples de classes sont : un piéton, un ensemble de flammes, une fumée, un véhicule terrestre. D’autres exemples de classes comprennent : un vélo, une voiture, un van, un camion, un tricycle, un bus, une motocyclette. Par exemple, la pluralité de classes comprend 10 classes. Dans un autre exemple, la pluralité de classes comprend 12 classes. La fonction de détection est issue d’un modèle M préalablement entraîné, dont l’architecture va être décrite ci-après. Selon un exemple, le modèle M peut être un modèle construit avec l’interface PyTorch et l’image courante I0 peut être convertie en une chaîne de caractères (par exemple par conversion Base64), convertie elle-même en un tenseur pouvant être utilisé par le modèle PyTorch. L’interface PyTorch est une interface de programmation de la bibliothèque logicielle PyTorch pour l’apprentissage profond mettant à disposition de développeurs des conventions et des fonctions pour créer des architectures d’apprentissage automatique, en particulier à base de réseaux de neurones. Dans une étape S30, la fonction de détection retourne en sortie un résultat R nommé résultat de détection. La fonction de détection est configurée pour détecter un nombre N o d’objets dans l’image courante. N o est un entier positif ou nul. Autrement dit, il est possible que lorsque la fonction de détection est appliquée à l’image courante I 0 , aucun objet ne soit détecté dans l’image courante I 0 . Lorsque la fonction de détection détermine la présence d’un nombre N o d’objets supérieur ou égal à 1 dans l’image courante I 0 , le résultat de détection R comprend une liste d’objets détectés et, pour chaque objet détecté, un ensemble de données comprenant : une information de position B de l’objet, la classe CL de l’objet détecté et, optionnellement un score de confiance représentatif de l’exactitude de la prédiction de présence de l’objet par la fonction de détection. Lorsque la fonction de détection ne détermine la présence d’aucun objet dans l’image courante I 0 , le résultat détection R peut être un message indiquant l’absence d’objet détecté ou un ensemble de données vide. Dans certains modes de réalisation, l’information de position d’un objet détecté permet d’identifier un contour délimitant la position de l’objet détecté sur l’image courante I 0 . Par exemple, le contour est un rectangle englobant (en anglais « bounding box »). Par exemple, l’information de position B d’un objet détecté comprend les coordonnées dans l’image courante I 0 d’un sommet du rectangle englobant et celles du sommet opposé. Le modèle M dont est issue la fonction de détection présente une architecture schématiquement représentée sur la FIG. 4 et constituée d’un module d’extraction de caractéristiques R1, d’un module d’enrichissement de caractéristiques R2 et d’un module de prédiction R3 connectés en série. L’architecture du modèle M est ainsi de type épine dorsale, cou et tête (en anglais « backbone, neck and head »). Le module d’extraction de caractéristiques R1 est constitué d’un premier réseau de neurones artificiels configuré pour recevoir en entrée l’image courante I 0 et retourner en sortie des caractéristiques (en langue anglaise : « features »). Le module d’enrichissement de caractéristiques R2 est constitué d’un deuxième réseau de neurones artificiels et est configuré pour recevoir en entrée les caractéristiques issues du premier réseau de neurones artificiels R1 et retourner en sortie de nouvelles caractéristiques appelées caractéristiques enrichies. Le module de prédiction R3 est constitué d’un troisième réseau de neurones artificiels et est configuré pour recevoir en entrée les caractéristiques enrichies issues du deuxième réseau de neurones artificiels R2 et calculer au moins une prédiction. Dans certains modes de réalisation, le premier réseau de neurones artificiels R1 comprend un ensemble de couches de convolution et de connexions résiduelles comprenant des blocs résiduels (en anglais « residual block »). La plupart des couches de convolution sont agencées de manière linéaire. Les connexions résiduelles assurer un meilleur flux de gradient, similairement aux architectures de type ResNet. Un exemple de premier réseau de neurones artificiels R1 pouvant être utilisé dans le cadre de l’invention est illustré sur la FIG. 5 . Dans cet exemple, le premier réseau de neurones artificiels est constitué de 50 couches de convolution, chacune munie d’une couche de normalisation (« Batch normalisation layer ») et d’une couche d’activation ReLU. Une couche d’activation ReLU est une couche comprenant une unité de rectification linéaire réalisant une fonction qui retourne la valeur 0 pour une valeur de variable négative et l’identité pour une valeur de variable positive ou nulle. La liste ci-dessous donne une définition pour chaque bloc représenté sur la FIG. 5 . Sur cette figure, le formalisme est le suivant pour la notation « 3x3 conv, 32,/1 » : couche de convolution 2D avec 32 filtres indépendants de noyau de taille 3x3 et un pas (en anglais « stride ») de 1. La notation « Residual Block (64,128)x2 » désigne la répétition de deux structures comprenant chacune une couche de convolution comprenant 64 filtres puis 128 filtres, suivie d’un bloc résiduel. 3x3 conv : désigne un module convolutif 3x3. Un tel module applique un filtre (noyau) de taille 3x3 à une carte de caractéristiques d’entrée. Le filtre glisse sur la carte d’entrée en calculant des sommes pondérées de pixels voisins. La carte de caractéristiques obtenue en sortie de ce module détecte des motifs spatiaux et des représentations hiérarchiques. L’utilisation d’un tel module présente plusieurs avantages : il permet d’obtenir une propriété d’invariance de translation ; il permet de capturer des hiérarchies spatiales locales, permettant ainsi au réseau d’apprendre des caractéristiques à différentes échelles ; l’utilisation de filtres à taille réduite (par rapport à de plus grands filtres de taille 5x5 ou 7x7) permet de réduire le nombre de paramètres ; il introduit de la non-linéarité par des fonctions d’activations (telles que ReLU), améliorant la puissance expressive du modèle ; plus couches 3x3 peuvent être empilées, de sorte à pouvoir créer des réseaux profonds ; les convolutions 3x3 peuvent être effectuées en parallèle ; les filtres 3x3 sont performants dans la détection de bords et de gradients. Bloc résiduel ( en anglais « residual block » ) : Un bloc résiduel consiste en une connexion de saut (également appelée connexion de raccourci, « skip connection ») qui relie l'entrée d'une couche à la sortie d'une couche ultérieure, en contournant certaines couches intermédiaires. Un tel bloc permet au réseau d'apprendre la cartographie résiduelle (c'est-à-dire la différence entre la sortie, couche ultérieure, souhaitée et l'entrée) plutôt que d'apprendre directement la cartographie sous-jacente. L’utilisation d’un tel bloc présente plusieurs avantages : une connexion « skip » garantit que les gradients peuvent passer directement de la sortie à l'entrée sans s'évanouir/exploser, ce qui permet de former des réseaux très profonds ; si une couche nuit aux performances, la connexion « skip » permet de l'ignorer pendant la formation, agissant ainsi comme une régularisation implicite ; par ailleurs l’utilisation de ce type d’architecture offre une précision remarquable dans diverses tâches, notamment la classification d'images et la détection d'objets. SPPCSPC (Spatial Pyramid Pooling Cross Stage Partial Connections en anglais ) : un tel module combine les fonctionnalités d’un module de mise en commun pyramidal (en anglais « pyramid pooling », SPP) et d’un réseau de type réseau partiel à étages croisés (en anglais, CSPNet « Cross Stage Partial Network ») ; le module de mise en commun pyramidal SPP met en commun des caractéristiques à plusieurs échelles, ce qui permet de capturer des hiérarchies spatiales et des informations multi-échelles. Ce résultat est obtenu en appliquant des opérations de regroupement maximal avec différentes tailles de noyau (en anglais « kernel ») à la même carte de caractéristiques d'entrée, puis en concaténant les caractéristiques regroupées qui en résultent ; aussi, quelle que soit la taille de la carte d'entrée, le module SPP génère une sortie de taille fixe, ce qui facilite le traitement de caractéristiques de dimensions spatiales variables. Un réseau de type CSPNet divise une carte des caractéristiques d'entrée en deux parties. Une partie est traitée par une série de couches convolutives, tandis que l'autre est directement connectée à la sortie ce qui permet de préserver le flux de gradient et d'améliorer la capacité d'apprentissage du réseau. Les deux parties sont ensuite concaténées, ce qui permet au réseau de fusionner différents niveaux de caractéristiques de manière efficace. La combinaison SPPCSPC permet d’enrichir la représentation des caractéristiques en capturant les informations multi-échelles et en maintenant le flux de gradient., et ce de manière efficace, en améliorant à la fois la vitesse et la précision du réseau. Un module de combinaison SPPCSPC présente une pluralité d’avantages : - Extraction de caractéristiques à plusieurs échelles : Le composant de mise en commun pyramidal SPP permet au réseau d'extraire des caractéristiques à plusieurs échelles, ce qui est essentiel pour détecter des objets de différentes tailles. Cela permet de capturer les détails fins et grossiers de l'image. - Amélioration du flux de gradient : le composant de type réseau partiel à étages croisés CSPNet garantit un meilleur flux de gradient pendant la rétropropagation en divisant la carte des caractéristiques et en autorisant les connexions partielles. Cela réduit le risque de disparition des gradients et permet d'entraîner plus efficacement des réseaux plus profonds. - Complexité de calcul réduite : La conception du réseau partiel à étages croisés CSPNet permet de réduire la complexité informatique du réseau en divisant la carte des caractéristiques d'entrée et en ne traitant qu'une partie de celle-ci par le biais de couches convolutives. Cela rend le réseau plus efficace sans compromettre les performances. - Fusion améliorée des caractéristiques : En combinant les caractéristiques traitées par les couches convolutives avec les caractéristiques non traitées, le réseau partiel à étages croisés CSPNet permet une meilleure fusion des caractéristiques. Il en résulte des représentations de caractéristiques plus riches qui peuvent améliorer la précision de la détection d'objets. - Flexibilité : La sortie de taille fixe du composant de mise en commun pyramidal SPP permet de traiter avec souplesse des cartes de caractéristiques d'entrée de taille variable. Le bloc SPPCSPC peut ainsi s'adapter à différentes architectures de réseau et dimensions d'entrée. Le premier réseau de neurones artificiels R1 permet d’extraire une pluralité de cartes de caractéristiques au fur et à mesure de la progression dans ses couches, les caractéristiques extraites des premières couches étant des caractéristiques dites de haut niveau, telles que des bords, des couleurs ou encore des motifs, et les caractéristiques extraites des couches les plus profondes étant des caractéristiques sémantiques. Dans des modes de réalisation préférés, le module d’extraction de caractéristiques R1 comprend un ensemble de couches avec un nombre de couches inférieur ou égal à 50. Ainsi, le module d’extraction de caractéristiques R1 est de taille réduite, ce qui est avantageux pour des applications du modèle M en temps réel. Dans des modes de réalisation préférés, le module d’enrichissement de caractéristiques (deuxième réseau de neurones artificiels) R2 est de type réseau de pyramides de caractéristiques (« Feature Pyramid Network », FPN selon la terminologie anglosaxonne) et comprend un nombre entier N d’étages. Comme il va être décrit par la suite, la conception de l’architecture du deuxième réseau de neurones artificiels R2 (le cou, en anglais « neck ») joue un rôle crucial dans le compromis entre la précision de détection et la vitesse d’inférence du modèle M. Les architectures de modules « neck » de l’art antérieur comprennent un nombre de couches élevées afin d’améliorer la précision de détection au prix d’une vitesse d’inférence lente les rendant inadaptées pour des applications temps réel, même en utilisant des processeurs graphiques puissants. La structure du deuxième réseau de neurones artificiels R2 selon l’invention présente, par rapport aux solutions de l’art antérieur, une architecture plus simple et plus concise (en d’autres termes, avec un nombre réduit de couches de calcul et de blocs de calcul). La FIG. 6 illustre schématiquement un réseau de pyramides de caractéristiques FPN. Un réseau de pyramides de caractéristiques se compose de trois éléments principaux : une voie dite ascendante BU (« bottom-up pathway » en anglais) configurée pour diminuer la résolution spatiale de données d’entrée tout en fournissant en sortie des cartes de caractéristiques, telles que les cartes C1, C2 sur la FIG. 6 , de richesse sémantique augmentée, une voie descendante TD (« top-down pathway » en anglais) munie de connections latérales LC configurée pour augmenter la résolution des cartes de caractéristiques sémantiques issues de la voie ascendante, les connexions latérales LC servant à fusionner les données de sortie de la voie ascendante BU avec celles de la voie descendante TD. Ainsi, un réseau de pyramides de caractéristiques FPN résulte en une pyramide de cartes de caractéristiques à plusieurs échelles avec une richesse sémantique améliorée à chaque niveau. Alternativement, le module d’enrichissement de caractéristiques peut être de type réseau d’agrégation de chemins PANet (en anglais « Path Aggregation Network »). Il s’agit d’une variante d’un réseau de type réseau de pyramides de caractéristiques (FPN), comprenant une voie ascendante supplémentaire fusionnant chaque carte de caractéristiques issue d’un étage de la voie descendante TD avec la carte de caractéristiques de l’étage inférieur (i.e., de résolution plus élevée). Dans d’autres modes de réalisation, le module d’enrichissement de caractéristiques peut avoir une structure de réseau dit réseau de pyramides de caractéristiques bidirectionnel (en anglais « Bi-directional Feature Pyramid Network » BiFPN). Un réseau de pyramides de caractéristiques bidirectionnel est similaire à un réseau d’agrégation de chemin PANet, où chaque caractéristique d’entrée d’une carte de caractéristiques de résolution donnée présente un poids destiné à prendre en compte l’importance d’une caractéristique d’entrée par rapport à une autre. Dans ces modes de réalisation où le module d’enrichissement de caractéristiques R2 est de type réseau de pyramides de caractéristiques (FPN), au moins un étage du réseau de pyramides de caractéristiques reçoit en entrée des caractéristiques en provenance directe ou indirecte d’une couche C2, C3 du module d’extraction de caractéristiques (premier réseau de neurones artificiels) R1. La fusion des données de sortie de la voie ascendante avec celles de la voie descendante est effectuée par réception en entrée des étages autres que l’étage correspondant à la plus faible résolution spatiale, dans le réseau de pyramides de caractéristiques, des données de sortie de l’étage de résolution inférieure. Par exemple, la sortie de l’étage i du réseau peut être obtenue par : , avec Resize une opération de mise à l’échelle (suréchantillonnage ou sous-échantillonnage) pour ajuster les résolutions des deux termes. Dans certains modes de réalisation préférés, le nombre d’étages N est égal à trois étages. Dans d’autres modes de réalisation, le nombre d’étages N est supérieur à trois étages. Dans des modes de réalisation préférés, au moins un étage du deuxième réseau de neurones artificiels R2 comprend une séquence de modules composée d’un module T comprenant un sous-module de type Vision Transformer et d’un module d’attention A (« attention module » en anglais). Une telle combinaison améliore les performances du deuxième réseau de neurones artificiels R2. Le module d’attention A est configuré pour recevoir des cartes de caractéristiques générées par le module T. Les cartes de caractéristiques générées par le module T sont des tenseurs ayant pour paramètres une largeur, une hauteur et un nombre de canaux. Selon un exemple, les cartes de caractéristiques sont reçues par lots. Dans des modes de réalisation préférés, chaque étage du deuxième réseau de neurones artificiels R2 comprend une telle séquence. Une description d’une architecture de sous-module type Vision Transformer peut être trouvée dans l’article « An image is worth 16x16 words : Transformers for image recognition at scale ”, Dosovitskiy A. et al ., ICLR, (2021). Une architecture de type Vision Transformer est une architecture adaptée des architectures de type Transformer au traitement d’images bidimensionnelles, utilisant pour éléments d’entrée des portions d’une image d’entrée à traiter formant une partition de cette image d’entrée. Plus spécifiquement, une architecture de type Vision Transformer partitionne une image d’entrée à traiter en éléments d’entrée, qui sont transformés en vecteurs unidimensionnels. Des encodages positionnels viennent enrichir les vecteurs unidimensionnels. Les vecteurs unidimensionnels enrichis des encodages positionnels viennent alimenter une architecture de type Transformer. Pour rappel, une architecture de type Transformer comprend une séquence de modules, chaque module comprenant un module dit module multi-tête d’auto-attention (en anglais « multi-head self attention », MSA) et un réseau de neurones à propagation avant (en anglais « feed forward network »). Le module multi-tête d’auto-attention pondère la pertinence de chaque jeton, encore appelé élément, d'entrée par rapport à chaque autre jeton (élément) d'entrée et en élabore de l'information en conséquence pour produire la sortie. Chaque élément de sortie issu de cette séquence de modules est pris séquentiellement et passe par un module de classification. Par module d’attention, on entend dans la présente divulgation un module configuré pour mettre en œuvre un mécanisme d’attention, comme il est connu dans le domaine de l’apprentissage machine. Une définition de l’attention dans le domaine de l’apprentissage automatique peut être trouvée au lien suivant : https://en.wikipedia.org/wiki/Attention_(machine_learning). Le module d’attention A est configuré pour générer des cartes de caractéristiques enrichies, en appliquant un ou plusieurs mécanismes d’attention aux cartes de caractéristiques reçues du module T comprenant un sous-module de type Vision Transformer. La FIG. 7 représente un exemple d’architecture du module d’enrichissement de caractéristiques (deuxième réseau de neurones artificiels) R2 pouvant être utilisé selon un mode de réalisation de la méthode 200 de détection d’un objet. Sur cette figure, le deuxième réseau de neurones artificiels R2 est de type réseau de pyramides de caractéristiques à trois étages E1, E2, E3. L’étage E1 reçoit en entrée des données CB issues d’une combinaison des cartes de caractéristiques C1, C2 et C3 issues des couches les plus profondes du premier réseau de neurones artificiels R1 représenté sur la FIG. 5 . L’étage E3 reçoit en entrée, en complément des données issues de l’étage E2, la carte de caractéristiques C3 issue de la couche la plus profonde du premier réseau de neurones artificiels R1. Un exemple de combinaison des cartes de caractéristiques C1, C2 et C3 issues du module d’extraction de caractéristiques R1, pour obtenir les données CB, sera décrit plus loin. Sur l’exemple de la FIG. 7 , un bloc MP représente un bloc dit de mise en commun du maximum (en anglais « max pooling »). Pour rappel, la technique de mise en commun du maximum est une opération de sous-échantillonnage qui réduit les dimensions des cartes de caractéristiques. Elle consiste à faire glisser un filtre (généralement une petite fenêtre) sur la carte des caractéristiques et à sélectionner la valeur maximale dans chaque région couverte par le filtre. Au lieu d'utiliser toutes les caractéristiques précises générées par les couches convolutives précédentes, la technique de mise en commun du maximum résume les caractéristiques les plus importantes dans une région locale. Cette synthèse permet de réduire la charge de calcul et le nombre de paramètres dans le réseau. Cette technique présente plusieurs avantages : – Invariance par rapport aux changements d'échelle et d'orientation : la technique de mise en commun du maximum permet de détecter des caractéristiques invariantes aux changements d'échelle et d'orientation. Par exemple, si un objet est tourné ou mis à l'échelle, les mêmes caractéristiques principales seront toujours capturées par l'opération de regroupement maximal. Ainsi, en résumant les caractéristiques, la technique de mise en commun du maximum rend le modèle plus robuste aux variations de position des caractéristiques dans l'image d'entrée et garantit que le réseau se concentre sur les modèles essentiels plutôt que sur des emplacements spatiaux précis. – Minimisation du surapprentissage (en anglais « overfitting ») : En réduisant la résolution spatiale des cartes de caractéristiques, la technique de mise en commun du maximum empêche le sur-ajustement d’un modèle. Il encourage le modèle à apprendre des caractéristiques plus générales plutôt que de mémoriser des détails spécifiques à partir des données d'apprentissage. - Efficacité de calcul : la technique de mise en commun du maximum réduit la complexité des calculs en réduisant l'échantillonnage des cartes de caractéristiques. Il permet aux couches suivantes d'opérer sur des représentations plus petites, ce qui accélère l’entraînement et l'inférence. - Augmentation du champ réceptif (en anglais « receptive field ») : la technique de mise en commun du maximum augmente le champ réceptif des neurones dans les couches plus profondes. Les neurones peuvent « voir » un contexte plus large, ce qui est bénéfique pour la capture de modèles globaux. Sur la FIG. 7 également, les modules noté « CONV » désignent des couches de convolution avec des noyaux (en anglais « kernel ») de taille 1x1 ou 3x3. Dans certains modes de réalisation, le sous-module de type Vision Transformer T comprend un ensemble de paires de couches, chaque paire comprenant une première couche et une dernière couche. Le sous-module de type Vision Transformer T est alors configuré pour calculer, pour chaque couche parmi l’ensemble de paires de couches, un ensemble de scores d’attention pour un ensemble de fenêtres formant entre elles une partition d’une image d’entrée, la partition pour une deuxième couche d’une paire de couches étant décalée par rapport à la partition pour la première couche de ladite paire de couches. La FIG. 8 montre un exemple de deux partitions Pl et Pl+1 correspondant à deux couches successives. Chacune des partitions Pl et Pl+1 comprend un ensemble de fenêtres W comportant chacune un ensemble de patches P. Les fenêtres W de la partition Pl+1 sont décalées par rapport aux fenêtres W de la partition Pl. Le module d’attention recevant la partition Pl ou Pl+1 calcule un score d’attention pour chaque fenêtre W. Les scores d’attention calculés sur la partition Pl+1 traversent les frontières des fenêtres W de la partition Pl, ce qui a pour effet de créer des connexions entre les fenêtres de la partition Pl dans les scores d’attention calculés sur la partition Pl+1 et ainsi d’améliorer le modèle. Selon un exemple, le sous-module de type Vision Transformer peut être un sous-module de de type Vision Transformer à fenêtres décalées (en anglais « Swin Transformer » Swin TR). Un exemple de sous-module de type Vision Transformer à fenêtres décalées Swin TR est illustré à la FIG. 9 . Ce module comprend la succession d’un premier sous-module SM1, d’un deuxième sous-module SM2, d’un troisième sous-module SM3 et d’un quatrième sous-module SM4. Le premier sous-module SM1 comprend une couche d’intégration linéaire (en anglais, « linear embedding layer ») représentée par le rectangle avec zigzags et deux blocs dénommés ici blocs à fenêtres décalées représentés par le rectangle hachuré avec des lignes diagonales et le coefficient multiplicatif x2. Le deuxième sous-module SM2 comprend une couche de fusion de patches représentée par le rectangle rempli de pointillés et deux blocs à fenêtres décalées représentés par le rectangle hachuré avec des lignes diagonales et le coefficient multiplicatif x2. Le troisième sous-module SM3 comprend une couche de fusion de patches et six blocs à fenêtres décalées représentés par le rectangle hachuré avec des lignes diagonales et le coefficient multiplicatif x6. Le quatrième sous-module SM4 comprend une couche de fusion de patches et deux blocs à fenêtres décalées représentés par le rectangle hachuré avec des lignes diagonales et le coefficient multiplicatif x2. Par couche de fusion de patches, il est entendu, dans la présente demande, une couche recevant en entrée un ensemble de NxM patches comprenant chacun un nombre déterminé de caractéristiques, cette couche retournant en sortie un nombre réduit de patches. Par exemple, une telle couche peut concaténer les caractéristiques de groupes de patches tout en modifiant la dimensionnalité des caractéristiques des patches. Si un patch d’entrée comprend C caractéristiques, une couche de fusion de patches concaténant les caractéristiques de groupes de 2x2 patches diminuera le nombre de jetons d’un facteur 2x2 et pourra retourner 2C caractéristiques par groupe de 2x2 patches fusionnés. La figure 10 représente la structure d’une succession de deux blocs à fenêtres décalées. Le premier bloc à fenêtres décalées comprend un module multi-tête d’auto-attention MSA classique, suivi d’un module perceptron multicouches MLP (en anglais « multilayer perceptron »). Une couche de normalisation LN est appliquée au module multi-tête d’auto-attention MSA et au module perceptron multicouches MLP, et une connexion résiduelle est appliquée à chacun des modules MSA et MLP. Le deuxième bloc à fenêtres décalées comprend à la place d’un module multi-tête d’auto-attention MSA classique un module dénommé S-MSA basé sur des fenêtres décalées. L’ensemble des caractéristiques reçues par le premier bloc à fenêtres décalées est noté , l’ensemble des caractéristiques calculées par le premier bloc à fenêtres décalées est noté et constitue les données d’entrée du deuxième bloc à fenêtres décalées, l’ensemble des caractéristiques calculées par le deuxième bloc Swin Transformer est noté . Par exemple, les partitions d’image reçues par le premier bloc à fenêtres décalées et par le deuxième bloc à fenêtres décalées peuvent correspondre aux partitions Pl et Pl+1 décrites à la FIG. 8 . La FIG. 11 illustre un exemple de module T comprenant un sous-module de type Vision Transformer Swin TR à fenêtres décalées pouvant être intégré à au moins un étage du module d’enrichissement de caractéristiques R2. Dans cet exemple, le module T comprend trois branches parallèles. Une première branche, représentée sur la gauche de la FIG. 11 , comprend un bloc de convolution. Une deuxième branche, représentée au centre sur la FIG. 11 , comprend un bloc de convolution et un ensemble de modules de type « Bottleneck » BN. Une troisième branche, représentée sur la droite de la FIG. 11 comprend un bloc de convolution suivi du sous-module de type Vision Transformer à fenêtres décalées. Les sorties de la première branche, la deuxième branche et la troisième branche se rejoignent et concaténées par un bloc de concaténation, dont la sortie est injectée dans un bloc de convolution. Les données de sortie du module T sont les données issues du dernier bloc de convolution. L’utilisation d’un module de type Vision Transformer à fenêtres décalées dans le module d’enrichissement de caractéristiques présente plusieurs avantages : en utilisant des partitions décalées, le mécanisme d’attention appliqué aux jetons (que constituent les patches de l’image) reçus en entrée peut traiter des patches voisins, ce qui permet de saisir efficacement le contexte local, améliorant ainsi la reconnaissance des objets. Autrement dit, il est possible, avec un module de type Transformer à fenêtres décalées de capturer efficacement les informations contextuelles. Cette compréhension du contexte local facilite la reconnaissance d’objets dans des scènes encombrées ; par ailleurs, les modules de type Transformer à fenêtres décalées sont plus performants, en termes de précision, que les réseaux de base traditionnels (tels que ResNet et EfficientNet). Leur conception hiérarchique leur permet d'apprendre des caractéristiques discriminantes pour les tâches de détection d'objets ; aussi, malgré la taille importante de leur modèle, les modules de type Transformer à fenêtres décalées restent efficaces en termes de calcul en raison de leur champ d'attention restreint qui les rend pratiques pour les applications au monde réel ; par ailleurs, ils offrent une flexibilité de conception qui permet d'équilibrer la précision et le coût de calcul. Selon des modes de réalisation pouvant être combinés avec les modes de réalisation précédents, le module d’attention A comprend une séquence composée d’un premier sous-module d’attention des canaux et d’un second sous-module d’attention spatiale. Le premier sous-module d’attention des canaux est configuré pour appliquer un premier mécanisme d’attention à au moins une partie des caractéristiques issues du module T comprenant le sous-module de type Transformer. Le second sous-module d’attention spatiale est configuré pour appliquer un second mécanisme d’attention au résultat du premier sous-module d’attention des canaux. Un tel module d’attention A permet d’extraire et de retenir les informations importantes à la fois spatialement et du point de vue des canaux et d’atténuer (voire supprimer) les informations moins importantes de ces deux points de vue. Par exemple, le module d’attention A peut être un module de type module d’attention de blocs convolutionnels (en anglais « Convolutional Block Attention Module », CBAM). Une description d’un tel module peut être trouvée dans l’article « CBAM: Convolutional Block Attention Module », de WOO et al. , In : Proceedings of the European conference on computer vision (ECCV), 2018. p. 3-19. Plus spécifiquement, un module d’attention de blocs convolutionnels CBAM reçoit en entrée une carte de caractéristiques F appartenant à l’espace et retourne séquentiellement une première carte d’attention M C appartenant à l’espace et obtenue par application d’un premier module d’attention des canaux à la carte de caractéristiques F, ainsi qu’une carte de caractéristiques intermédiaires F’ obtenue par le produit élément par élément de F par la première carte d’attention M C ; puis une carte d’attention spatiale bidimensionnelle M S appartenant à l’espace et obtenue par application d’un second sous-module d’attention spatiale à la carte de caractéristiques intermédiaires F’, ainsi qu’une carte de caractéristiques finales F’’ obtenue par le produit élément par élément de F’ par la carte d’attention spatiale bidimensionnelle M S . Le premier sous-module d’attention des canaux d’un module d’attention de blocs convolutionnels CBAM utilise avantageusement une combinaison d’opérations de mise en commun du maximum (en anglais « maximum pooling ») et de mise en commun de la moyenne (en anglais « average pooling »), de sorte à obtenir une première catégorie de descripteurs issue de la mise en commun du maximum et une deuxième catégorie de descripteurs issue de la mise en commun de la moyenne La première catégorie et la deuxième catégorie sont injectées dans un réseau de type perceptron multi-couches, dont les deux sorties sont ensuite sommées élément par élément. Pour une carte de caractéristiques d’entrée F, la carte d’attention issue du premier sous-module d’attention des canaux peut s’écrire : avec σ la fonction sigmoide. Le deuxième sous-module d’attention spatiale utilise également avantageusement des opérations de mise en commun du maximum et de mise en commun de la moyenne, ainsi que des opérateurs de convolution. Pour une carte de caractéristiques d’entrée F, la carte d’attention issue du deuxième sous-module d’attention spatiale peut s’écrire par exemple : , avec f 7x7 un opérateur de convolution de taille de filtre 7x7. Avantageusement, chaque étage du deuxième réseau de neurones artificiels R2 comprend, en aval de la succession du module T comprenant un sous-module de type Transformer et du module d’attention A, un module additionnel RC dénommé module à reparamétrisation. Le module additionnel RC est configuré pour passer d’une structure à branches dédiée à une phase d’entraînement, à une structure à action directe dédiée à une phase d’inférence. L’ajout d’un tel module permet d’améliorer la performance (i.e. le temps d’inférence) du modèle M tout en maintenant la précision de détection. Par exemple, le module additionnel RC peut être de type RepVGG (ou RepConv). Un module de type RepVGG est un empilement de couches qui présente une première configuration dédiée à son entraînement, et une deuxième configuration défiée à sa phase d’inférence, de sorte que le module est rendu plus précis grâce à sa configuration d’entraînement, et plus rapide de par sa configuration d’inférence plus légère. Sur la FIG. 12 , la couche Ltr_i représente la structure d’une couche de la première configuration et comprend un bloc conv 3x3, un bloc conv 1x1 et un module d’identité ID, recevant chacun les caractéristiques d’entrée. Les caractéristiques de sortie sont une combinaison des traitements des caractéristiques d’entrée par chacun de ces blocs. La couche Linf_i, présente la structure d’une couche de la deuxième configuration qui ne comprend qu’un bloc conv 3x 3. Un tel bloc est donc plus précis qu’un bloc de convolution traditionnel, mais plus rapide qu’un bloc résiduel. Selon certains modes de réalisation, le deuxième réseau de neurones artificiels R2 peut comprendre, en amont d’un réseau de pyramides de caractéristiques, des blocs dits blocs additionnels BA1 et BA2. Selon un exemple, un bloc additionnel BA1 comprend une séquence de couches de convolution et un bloc additionnel BA2 comprend une séquence de couches de convolution et un module de suréchantillonnage. L’intégration de tels blocs additionnels au module d’enrichissement de caractéristiques R2 permet d’en réduire la complexité et les besoins en ressources de calcul, rendant un traitement plus rapide, par rapport aux modules d’enrichissement de caractéristiques (en anglais « neck ») de l’art antérieur. Un exemple d’agencement de tels blocs additionnels BA1 et BA2 est représenté sur la FIG. 13 . Sur cet exemple, les blocs additionnels sont combinés aux couches les plus profondes C1, C2 et C3 du premier réseau de neurones et les données CB sont les données de sortie d’un des blocs additionnels BA1. Dans l’exemple de la FIG. 13 , les modules notés « Upsample » sont des modules configurés pour effectuer un suréchantillonnage d’une carte de caractéristiques reçue en entrée. Dans le contexte des réseaux neuronaux, le suréchantillonnage dans le réseau intègre des blocs de type « Upsample » dans les couches elles-mêmes, ce qui permet au réseau d'apprendre à augmenter efficacement la résolution des données d'entrée au cours de la phase d’entraînement. Les blocs de suréchantillonnage sont généralement utilisés pour récupérer les informations spatiales perdues lors du sous-échantillonnage (par exemple, lors de mises en commun du maximum ou de convolutions stridées). Ces blocs augmentent la résolution des cartes de caractéristiques, ce qui permet une localisation plus fine et une meilleure délimitation des objets. En d’autres termes, dans l’exemple de la FIG. 13 , le premier étage E1 est connecté au module d’extraction de caractéristiques R1 uniquement par des blocs de convolution et des modules de suréchantillonnage. Le module d’extraction (troisième réseau de neurones) R3 reçoit en entrée les caractéristiques enrichies CE issues du deuxième réseau de neurones R2 et génère, pour chaque objet détecté, un ensemble d’informations comprenant : une classe CL, des informations de position B et une valeur binaire O représentative du résultat de détection (affirmatif en cas de détection, négatif en cas de non-détection). Avantageusement, le module de prédiction (troisième réseau de neurones artificiels) R3 présente une structure en branches, chaque branche délivrant une donnée de sortie, parmi une classe, des informations de localisation, et un score de confiance. Selon un exemple, les informations de localisation sont des coordonnées, dans l’image courante I 0 , de sommets de rectangles englobants entourant les objets détectés (« bounding box » en anglais). Un exemple d’architecture pour le troisième réseau de neurones artificiels R3 est présenté à la FIG. 14 . Dans cet exemple, le troisième réseau de neurones artificiels R3 comprend deux branches principales, l’une d’entre elles se décomposant en deux sous-branches. Chacune des branches principales comprend une couche de convolution 3x3 11 telle que précédemment définie dans l’architecture du premier réseau de neurones artificiels R1 sur la FIG. 5 . Puis, chacune des branches comprend une séquence de blocs de couches 12, 13, 14 et 15. Les blocs de couches 12 et 14 sont des blocs de représentation implicite. Une description de ce type de blocs peut être trouvée dans l’article « You only learn one representation : Unified network for multiple tasks . », de Wang, C. Y. et al., arXiv preprint arXiv:2105.04206 (2021). Plus précisément, le bloc de couches 12 est un bloc de couches nommé bloc d’addition implicite et le bloc de couches 14 est un bloc de couches nommé bloc de multiplication implicite. Ces blocs de couches présentent une architecture simple ainsi qu’une efficacité de traitement. Le bloc d’addition implicite 12 ajoute un tenseur implicite entraîné à la carte des caractéristiques d'entrée qu’il reçoit en entrée. Ce tenseur implicite est entraîné en même temps que le réseau et agit comme un biais additif aux caractéristiques d'entrée. Le tenseur implicite a généralement la même forme que la carte des caractéristiques d'entrée et est initialisé soit de manière aléatoire, par exemple avec un bruit additif Gaussien, soit avec une stratégie spécifique. Une initialisation avec un bruit Gaussien permet d’éviter un surajustement du modèle (en anglais « overfitting ») et d’améliorer la généralisation du modèle à un plus large éventail de données d’entrée. Au cours de l’entraînement, le bloc de couches 12 apprend à ajuster le tenseur implicite afin d'optimiser les performances de détection. Le bloc de couches 12 présente une pluralité d’avantages : En ajoutant un tenseur appris aux caractéristiques d'entrée, le bloc de couches 12 peut contribuer à affiner et à améliorer la représentation des caractéristiques, ce qui facilite la détection des objets par les couches suivantes ; étant donné que le bloc de couches 12 n'implique qu'une addition par élément, il introduit une surcharge de calcul négligeable, ce qui le rend efficace ; par ailleurs, le bloc de couches 12 peut fournir un biais supplémentaire au processus d'apprentissage, ce qui peut améliorer le taux de convergence du modèle pendant l'apprentissage. Le bloc de multiplication implicite 14 implique la multiplication élément par élément d’une carte des caractéristiques d'entrée avec un tenseur implicite qui a été entraîné. Le bloc de multiplication implicite 14 peut être initialisé de manière aléatoire, par exemple avec un bruit multiplicatif Gaussien. Une initialisation avec un bruit Gaussien permet d’éviter un surajustement du modèle (en anglais « overfitting ») et d’améliorer la généralisation du modèle à un plus large éventail de données d’entrée. Ce tenseur est également entraîné en même temps que le réseau et agit comme un facteur multiplicatif des caractéristiques d'entrée. Le tenseur implicite est entraîné de manière à accentuer ou à atténuer certaines caractéristiques de la carte des caractéristiques d'entrée. Le bloc de couches 14 présente une pluralité d’avantages : par application d’un tenseur multiplicatif entraîné, le bloc de couches 14 peut adapter l'échelle des caractéristiques, ce qui peut aider à mettre en évidence les caractéristiques importantes et à supprimer celles qui le sont moins ; par ailleurs, le bloc de couches 14 n'implique qu'une multiplication par élément, ce qui est peu coûteux en termes de calcul ; par ailleurs, le bloc de couches 14 peut améliorer la discrimination des caractéristiques en les mettant à l'échelle d'une manière entraînée, ce qui peut améliorer les performances du module de prédiction R3. Le bloc de couches 13 est nommé bloc de convolution 1x1. Un tel bloc de couches applique un filtre de taille 1x1 à une carte de caractéristiques reçue en entrée, par projection linéaire de la carte de caractéristiques sur une dimension de canal. Un tel bloc de couches est utilisé pour réduire la dimensionnalité de caractéristiques qu’il reçoit en entrée et pour transformer ces caractéristiques. Un bloc de convolution 1x1 présente plusieurs avantages : il permet de réduire le nombre de canaux tout en préservant les informations essentielles ; l’utilisation de la projection des caractéristiques permet de créer des inclusions (en anglais « embeddings ») performantes ; il permet une mise en commun des canaux et d’agréger l’information provenant de l’ensemble des canaux ; lorsqu’il est utilisé avec une fonction d’activation (telle qu’une fonction ReLU), il introduit une non-linéarité ; il permet de gérer la complexité du réseau global en ajustant le nombre de canaux ; il offre une flexibilité dans la conception du réseau en permettant d’augmenter ou de réduire le nombre de canaux dans le réseau. L’utilisation du troisième réseau de neurones artificiels R3 couplée à celle des caractéristiques enrichies CE issues du deuxième réseau de neurones artificiels R2 selon l’invention rend l’architecture du modèle M robuste et efficace, et adaptée à des applications en temps réel. Les modes de réalisation du dispositif 100 et de la méthode 200 peuvent se voir apporter des compléments ou des variantes décrits ci-après. Ainsi, avantageusement, le résultat de détection R peut subir un post-traitement visant à son affinement. Par exemple, un seuil de confiance peut être appliqué aux prédictions retournées par le modèle M, de sorte à éliminer les détections de score de confiance bas. Selon un autre exemple, une technique de suppression du non-maximum (en anglais « non maximum suppression », NMS) peut être utilisée lorsque des rectangles englobants se recouvrent, de sorte à éliminer les détections doubles. Selon encore un autre exemple, les rectangles englobants peuvent être redimensionnés à la taille de l’image courante initiale I 0 . Le résultat de détection R obtenu à l’étape S30 de la méthode 200 de détection d’un objet peut être utilisé avantageusement de différentes manières. Ainsi, selon la valeur du résultat de détection, une action, telle qu’une alerte, peut être déclenchée. Par exemple, une action peut être déclenchée lorsque le résultat de détection R comprend une détection d’une fumée ou d’un ensemble de flammes. Avantageusement, dans une étape S40, le résultat de détection R peut être affiché sur un dispositif d’affichage de la station 100 afin d’être visualisé. Par exemple, pour chaque objet détecté, un rectangle englobant correspondant peut être affiché, positionné selon les coordonnées des sommets par exemple, avec la classe déterminée et optionnellement le score de confiance. Un tel affichage permet de guider un opérateur afin d’évaluer la situation et décider d’actions à mener en temps réel. Dans certains modes de réalisation, le résultat de détection R peut être transmis à un système automatique pouvant prendre des décisions sur des actions à mener, de sorte à minimiser les interventions humaines. Ainsi, un autre avantage de l’invention est de minimiser les erreurs humaines, de réduire les coûts opérationnels et de fournir des informations précises en temps réel facilitant la prise de décision par l’utilisation de la technologie des drones. Le tableau 1 présente des résultats de performances de détection avec la fonction de détection issue du modèle M constitué des premier, deuxième et troisième réseaux de neurones artificiels R1, R2 et R3 représentés aux figures 5, 7 et 14, appliquée aux images de la base de données VisDrone2019-DET. La précision de détection est évaluée avec les métriques mAP50, mAP75 et mAP50 :95 (mean average precision) et la vitesse de détection est évaluée par l’estimation du temps d’inférence avec deux processeurs graphiques différents. La métrique mAP est basée sur les métriques de précision et de rappel, qui permettent la prise en compte de plusieurs classes d'objets et sur la définition des prédictions positives à l'aide de l'intersection sur l'union (IoU). L'intersection sur l'union est le rapport entre la zone d'intersection et la zone d'union du rectangle de délimitation prédit et du rectangle de délimitation de la vérité terrain. L’intersection sur l’union mesure le chevauchement entre les rectangles englobants de la vérité terrain et de la prédiction. La convention Microsoft COCO est utilisée pour le calcul de la métrique AP. Cette convention utilise une interpolation en 101 points, c'est-à-dire qu'elle calcule la précision pour 101 seuils de rappel de 0 à 1 par incrément de 0,01. En outre, la métrique mAP est obtenue en calculant une moyenne de plusieurs valeurs sur plusieurs intersections sur l’union, à l'exception de la métrique AP50, qui correspond à l’AP pour un seuil d’intersection sur l’union de 0,5. Le calcul de la métrique mAP selon la convention COCO comprend les étapes suivantes : 1. Pour chaque classe, calcul de la courbe de précision-rappel en faisant varier le seuil de confiance des prédictions du modèle. 2. Calcul de la métrique AP de chaque classe en utilisant les seuils de 101 rappels. 3. Calcul de la métrique AP à différents seuils d'intersection sur l'union (IoU), généralement de 0,5 à 0,95 avec un pas de 0,05. Un seuil d'intersection sur l'union plus élevé exige une prédiction plus précise pour être considéré comme un vrai positif. 4. Pour chaque seuil d'intersection, calcul de la moyenne des valeurs d’AP dans toutes les classes. 5. Calcul de la métrique mAP globale en calculant la moyenne des valeurs d’AP calculées pour chaque seuil d’intersection sur l’union. La référence 9th correspond à l’intégration dans le modèle M d’une seule séquence Swin Transformer, CBAM, à l’étage le plus bas du module d’enrichissement de caractéristiques R2. La référence 10th correspond à l’intégration dans le modèle de d’une séquence Swin Transformer, CBAM, à chaque étage du module d’enrichissement de caractéristiques R2. Les notations L (pour « large » ou « grand »), M (pour « medium » ou « moyen ») et S (pour « small » ou « petit ») correspondent à différentes versions du modèle M, présentant, dans cet ordre, une profondeur décroissante, liée au nombre de filtres dans chacune des couches de convolution de chacune de ces versions. Par exemple, à une couche donnée du modèle L comprenant 256 filtres correspond une couche donnée du modèle M comprenant 160 filtres, et une couche donnée du modèle S comprenant 120 filtres. L’ordre de grandeur de leur GFLOPS (en anglais « Giga floating point operations, of addition and multiplication »), est approximativement et respectivement, en partant du modèle L vers le modèle S, en passant par le modèle M, de 150, 100 et 50. Il peut être observé que l’intégration à chaque étage dans le modèle d’une séquence Swin Transformer, CBAM améliore, par rapport à l’intégration seulement à l’étage le plus bas d’une telle séquence, la valeur de la métrique mAP50 :95, ce qui est très difficile à partir de la base de données VisDrone2019-DET. Par ailleurs, le modèle M selon l’invention permet d’obtenir une meilleure valeur de la métrique m50 :95 par rapport à des modèles de l’art antérieur, tel que le modèle EdgeYOLO pour lequel cette métrique est égale à 18.7. Modèle mAP50 mAP75 mAP50:95 Temps d’inférence NVIDIA-A40) (ms) Temps d’inférence NVIDIA-T1200) (ms) L 9th 35.3 19.8 19.8 8.16 43.8 10th 35.7 20.1 19.9 8.35 45.1 M 9th 34.0 17.6 18.4 7.4 26.0 10th 32.9 17.3 17.9 9.1 28.8 S 9th 26.0 13.0 13.6 7.95 19.1 10th 26.8 13.6 14.1 8.22 20.2 Par ailleurs, le modèle M, dans la version L présente un temps d’inférence d’approximativement 45 ms par trame vidéo. Le modèle M est entraîné préalablement à l’implémentation de la méthode 200 de détection d’un objet lors d’une phase d’entraînement. Les étapes de la phase d’entraînement vont être décrites ci-après. Selon un exemple, le modèle M peut être entraîné à partir de données d’entraînement consistant en des images annotées avec des coordonnées de rectangles englobants associées à une classe. Par exemple, la base de données VisDrone2019-DET peut être utilisée. Cette base de données comprend des images enregistrées par des drones et représentant des personnes et des véhicules sous une grande variété de conditions et qui ont été annotées manuellement. Par ailleurs, les images de cette base de données présentent des résolutions, des échelles et des rapports d’aspect variés et adaptés à l’entraînement de modèles dédiés à des tâches de détection dans des images. Les données d’entraînement subissent préalablement à leur utilisation pour la phase d’entraînement un pré-traitement comprenant : une mise à l’échelle (de sorte à atteindre une résolution d’image attendue par le modèle M par exemple 640x640 pixels, une normalisation des valeurs des pixels des images sur une même échelle pour assurer la cohérence et la stabilité numérique des données d’entrée, par exemple entre 0 et 1, une étape d’augmentation des données d’entraînement visant à optimiser la généralisation du modèle M (par exemple les techniques d’augmentation Enhanced-Mosaic et Mixup, décrites dans l’article «mixup: Beyond Empirical Risk Minimization », de Zhang et al .). Lors de la phase d’entraînement, une fonction de coût est minimisée par la technique de descente du gradient. La fonction de coût peut être de manière avantageuse une combinaison de plusieurs fonctions de coût, par exemple : une première fonction de coût mesurant la précision des prédictions de localisation, notamment de coordonnées de rectangles englobants ; une deuxième fonction de coût mesurant la précision des scores de confiance ; et une troisième fonction de coût mesurant la précision des prédictions de classes. La phase d’entraînement consiste en une série d’itérations sur l’ensemble des données d’entraînement se terminant au bout d’un nombre prédéterminé d’itérations ou lorsqu’un critère est atteint. Le critère peut porter sur une métrique évaluant la performance du modèle à la fin de la phase d’entraînement. Une itération comprend une phase de propagation avant visant à obtenir les prédictions du modèle avec les poids actuels, une étape de calcul de la fonction de coût sur la base des prédictions et des annotations réelles et une étape de rétropropagation lors de laquelle les poids du modèle sont mis à jour par la technique de descente du gradient. Avantageusement, la phase d’entraînement peut être échelonnée, c’est-à-dire qu’elle comprend plusieurs étapes, pour lesquelles, pour chacune d’entre elle, une fonction de coût spécifique est utilisée. Par exemple une fonction de coût de type IoU peut être utilisée dans une première étape. Une description d’une telle fonction de coût peut être trouvée dans “ Generalized intersection over union: A metric and a loss for bounding box regression ”, Rezatofighi, H., In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (pp. 658-666) (2019). Puis, une fonction de coût de type “Hybrid-Random Loss » peut être utilisée dans des étapes suivantes. Enfin, à la fin de la phase d’entraînement, une fonction de coût de type « cIoU loss » (complete IoU loss) peut être utilisée pour accélérer la convergence du modèle. Des hyperparamètres peuvent être ajustés, tels que le taux d’apprentissage (en anglais « learning rate »), la taille de lot (« batch size »), le taux de régularisation (« regularization strength »). La phase d’entraînement peut être finalisée par une phase de validation sur une base de données dite données de validation. Une phase d’évaluation du modèle peut être exécutée, consistant à déterminer une pluralité de métriques permettant de mesurer la qualité du modèle. Par exemple, les métriques de précision moyenne (« average precision » et « mean average precision ») et d’intersection sur union peuvent être calculées. Lorsque la phase d’entraînement est terminée, les paramètres du modèle (poids) sont sauvegardés, dans l’optique de la phase d’inférence (c’est-à-dire utilisation) du modèle. 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 variantes. D’autres réalisations sont possibles. En fonction du mode de réalisation choisi, certains actes, actions, évènements ou fonctions de chacune des méthodes décrites dans le présent document peuvent être effectués ou se produire selon un ordre différent de celui dans lequel ils ont été décrits, ou peuvent être ajoutés, fusionnés ou bien ne pas être effectués ou ne pas se produire, selon le cas. En outre, dans certains modes de réalisation, certains actes, actions ou évènements sont effectués ou se produisent concurremment et non pas successivement. Bien que décrits à travers un certain nombre d’exemples de réalisation détaillés, la méthode proposée et l’équipement, dispositif pour la mise en œuvre de la méthode comprennent différentes variantes, modifications et perfectionnements qui apparaîtront de façon évidente à l’homme de l’art, étant entendu que ces différentes variantes, modifications et perfectionnements font partie de la portée de l’invention, telle que définie par les revendications qui suivent. De plus, différents aspects et caractéristiques décrits ci-dessus peuvent être mis en œuvre ensemble, ou séparément, ou bien substitués les uns aux autres, et l’ensemble des différentes combinaisons et sous combinaisons des aspects et caractéristiques font partie de la portée de l’invention. En outre, il se peut que certains systèmes et équipements décrits ci-dessus n’incorporent pas la totalité des modules et fonctions décrits pour les modes de réalisation préférés. Comme évoqué plus haut, l’invention peut trouver à s’appliquer notamment dans le cas de l’utilisation de systèmes de drones dans l’assistance de missions telles que les interventions de lutte contre les incendies. L’invention peut trouver des applications dans d’autres domaines, tels que les secours dans des zones naturelles, forêts ou montages, ou des scènes de catastrophes naturelles), la surveillance d’environnements industriels, et l’identification de véhicules. Dispositif (100) pour détecter un nombre (N o ) d’objets dans une image aérienne courante (I 0 ), le dispositif (100) comprenant : Au moins une interface d’entrée configurée pour recevoir ladite image aérienne courante (I 0 ) ; Au moins un processeur configuré pour : Appliquer une fonction apprise appelée fonction de détection à ladite image aérienne courante (I 0 ), de sorte à générer un résultat de détection (R), ladite fonction de détection étant issue d’un modèle (M) pré-entraîné ; Au moins une interface de sortie configurée pour retourner ledit résultat de détection (R), le modèle (M) comprenant un ensemble d’étages comprenant un premier étage et un dernier étage, chaque étage retournant en sortie une carte de caractéristiques sémantiques de résolution supérieure à la carte de caractéristiques sémantiques retournée par l’étage inférieur correspondant, chaque étage supérieur au premier étage retournant la carte de caractéristiques sémantiques correspondante à partir de la carte de caractéristiques sémantiques retournée par l’étage inférieur correspondant, au moins un étage parmi l’ensemble d’étages comprenant une séquence composée d’un module (T) comprenant un sous-module de type Vision Transformer suivi d’un module d’attention (A). Dispositif (100) selon la revendication 1, caractérisé en ce que le modèle (M) comprend : - un module d’extraction de caractéristiques (R1) configuré pour extraire une pluralité de cartes de caractéristiques (C1,C2,C3) de l’image aérienne courante (I 0 ) ; - un module d’enrichissement de caractéristiques (R2) comprenant l’ensemble d’étages et étant configuré pour retourner en sortie des caractéristiques sémantiques (CE) issues des cartes de caractéristiques sémantiques, au moins un étage de l’ensemble des étages recevant des caractéristiques issues directement ou indirectement du module d’extraction de caractéristiques (R1) ; et - un module de prédiction (R3) configuré pour calculer au moins une prédiction sur la base des caractéristiques sémantiques (CE), le résultat de détection (R) étant basé sur la au moins une prédiction. Dispositif (100) selon la revendication 2, caractérisé en ce que le premier étage est connecté au module d’extraction de caractéristiques (R1) uniquement par des blocs de couches de convolution et des modules de suréchantillonnage. Dispositif (100) selon l’une des revendications précédentes, caractérisé en ce que tous les étages comprennent une séquence composée d’un module (T) comprenant un sous-module de type Vision Transformer suivi d’un module d’attention (A). Dispositif (100) selon l’une des revendications précédentes, caractérisé en ce que le module d’extraction de caractéristiques (R1) consiste en un ensemble formé uniquement de couches de convolution et de blocs résiduels composés chacun d’une pluralité de couches, ledit ensemble comprenant un nombre total de couches inférieur à 50. Dispositif (100) selon l’une des revendications précédentes, caractérisé en ce que, lorsque le nombre (N o ) d’objets détectés est supérieur ou égal à 1, le résultat de détection (R) comprend, pour chaque objet détecté, une classe (CL) de l’objet détecté, une information de position (B) de l’objet détecté dans l’image aérienne courante (I 0 ), et optionnellement un score de confiance représentatif de la fiabilité de détection de l’objet. Dispositif (100) selon l’une des revendications précédentes, caractérisé en ce que le sous-module de type Vision Transformer comprend un ensemble de paires de couches, chaque paire comprenant une première couche et une deuxième couche, le module étant configuré pour calculer, pour chaque couche parmi l’ensemble de paires de couches, un ensemble de scores d’attention pour un ensemble de fenêtres (W) formant entre elles une partition d’une image d’entrée, la partition pour une deuxième couche d’une paire de couches étant décalée par rapport à la partition pour la première couche de ladite paire de couches. Dispositif (100) selon la revendication 7, caractérisé en ce que le sous-module de type Vision Transformer est un module de type Vision Transformer à fenêtres décalées (SwinTR). Dispositif (100) selon l’une des revendications précédentes, caractérisé en ce que le module d’attention (A) de l’au moins un étage comprend une séquence d’un premier sous-module d’attention des canaux et d’un second sous-module d’attention spatiale, le premier sous-module d’attention des canaux étant configuré pour appliquer un premier mécanisme d’attention à au moins une partie des caractéristiques issues du module (T) comprenant le sous-module de type Vision Transformer (T), le second sous-module d’attention spatiale étant configuré pour appliquer un second algorithme d’attention. Dispositif (100) selon l’une des revendications précédentes, caractérisé en ce que au moins un étage du module d’enrichissement de caractéristiques (R2) comprend, en aval de ladite séquence, un module additionnel (RC) de type module à reparamétrisation. Dispositif (100) selon l’une des revendications précédentes, caractérisé en ce que le module de prédiction (R3) comprend au moins un bloc d’addition implicite et/ou un bloc de multiplication implicite. Système pour détecter un nombre (N o ) d’objets dans une image aérienne courante (I 0 ) comprenant : un capteur d’images embarqué configuré pour acquérir des images aériennes ; un dispositif (100) pour détecter le nombre (N o ) d’objets dans une image aérienne courante (I 0 ) selon l’une des revendications 1 à 11, l’au moins une interface d’entrée dudit dispositif étant configurée pour recevoir les images aériennes, et l’image aérienne courante (I 0 ) étant l’une parmi les images aériennes. Méthode (200) mise en œuvre par ordinateur pour détecter un nombre (N o ) d’objets dans une image aérienne courante (I 0 ) mise en œuvre par un dispositif (100) selon l’une des revendications 1 à 11, ladite méthode (200) comprenant : (S10) recevoir ladite image aérienne courante (I 0 ) ; (S20) appliquer une fonction apprise appelée fonction de détection à ladite image aérienne courante (I 0 ), de sorte à générer un résultat de détection (R), ladite fonction de détection étant issue d’un modèle (M) pré-entraîné ; (S30) retourner ledit résultat de détection (R), le modèle (M) comprenant un ensemble d’étages comprenant un premier étage et un dernier étage, chaque étage retournant en sortie une carte de caractéristiques sémantiques de résolution supérieure à la carte de caractéristiques sémantique retournée par l’étage inférieur correspondant, chaque étage supérieur au premier étage retournant la carte de caractéristiques sémantiques correspondante à partir de la carte de caractéristiques sémantiques retournée par l’étage inférieur correspondant, au moins un étage parmi l’ensemble d’étages comprenant une séquence composée d’un module (T) comprenant un sous-module de type Vision Transformer et d’un module d’attention (A). Méthode (200) selon la revendication précédente comprenant en outre : déclencher une action, par exemple une alerte, en fonction au moins d’une valeur du résultat de détection (R). Produit programme informatique comportant des instructions pour la mise en œuvre de la méthode selon l’une des revendications 13 à 14, lorsque ce programme est exécuté par un processeur. Support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme pour la mise en œuvre de la méthode selon l’une des revendications 13 à 14 lorsque ce programme est exécuté par un processeur.