La vision par ordinateur est aujourd’hui l’une des approches de traitement numérique les plus rapidement développées au monde. Elle utilise différentes méthodes pour résoudre des milliers de tâches spécifiques liées à la reconnaissance de formes, à l’analyse d’images et au traitement d’images. Grâce à cette technologie, les machines peuvent trouver, suivre, classer et identifier des objets. De plus, en plus de trouver des régularités et des motifs, elle permet également l’extraction de données à partir d’images et de vidéos en analysant le nombre X d’images spécifiques fournies avec divers systèmes et algorithmes de vision par ordinateur.
Comme vous le savez peut-être, l’équipe Redwerk est toujours à l’affût des innovations technologiques et désireuse d’explorer de nouveaux domaines dans le développement logiciel. Il est donc temps pour la vision par ordinateur ! Nous avons décidé de rechercher ce sujet plus en profondeur, de l’expérimenter nous-mêmes et de déterminer ce que les bonnes entreprises peuvent faire grâce à cet “outil” qu’est la vision par ordinateur.
Cas d’utilisation de la vision par ordinateur
Les technologies modernes de vision par ordinateur sont utilisées dans diverses entreprises au niveau des consommateurs pour simplifier la routine de travail, la rendre plus efficace ou simplement pour le plaisir. Chaque jour, nous rencontrons la vision par ordinateur lorsque, par exemple, nous voyons des signalisations numériques avec des marqueurs infrarouges pour la cartographie de projection dynamique, ou lorsque nous utilisons des applications et des caméras de réalité augmentée, ou encore lorsque les systèmes d’éclairage et de température s’activent et s’adaptent en réponse à nos mouvements. Et cette liste est bien plus longue.
Dans l’industrie automobile, la technologie de vision par ordinateur est utilisée pour la reconnaissance des plaques d’immatriculation à des fins de maintien de l’ordre, la collecte électronique des péages et des amendes, et le suivi des véhicules non enregistrés. Les plaques d’immatriculation des véhicules sont lues par reconnaissance optique de caractères sur les images fournies par les caméras de surveillance routière ou par d’autres moyens d’observation. Cette technologie fonctionne à tout moment de la journée et offre un contrôle total du trafic. De plus, la vision par ordinateur est utilisée pour le contrôle à distance intelligent des voitures, des avions, des drones et d’autres machines. De grandes entreprises comme Tesla, Volvo, Audi, BMW et Mercedes-Benz l’utilisent comme l’une des technologies centrales des voitures semi-autonomes et entièrement autonomes. Leurs systèmes perçoivent l’environnement de la voiture, les marquages au sol, les véhicules, utilisent la reconnaissance faciale du conducteur, la lecture labiale, le suivi du regard et le langage naturel pour améliorer la conduite assistée, et aider à éviter les collisions et les situations difficiles.

La vision par ordinateur est également largement utilisée pour le divertissement, dans les applications grand public, par exemple. Il existe aujourd’hui de nombreuses solutions logicielles qui utilisent la détection de visages, la comparaison de visages, l’analyse de la forme du corps humain et des émotions à des fins de sécurité et de divertissement. Par exemple, la détection de visages est utilisée dans de nombreuses applications mobiles populaires, notamment dans les stories Instagram ou Snapchat, pour embellir les selfies ou créer des avatars thématiques. L’application reconnaît et identifie des parties spécifiques du visage comme les yeux, les sourcils, l’iris, les narines et les coins de la bouche, puis leur applique un certain motif ou effectue certaines actions. Si vous avez besoin de reconnaître la personne sur la photo, la technologie de comparaison de visages peut facilement s’en charger. Tout d’abord, elle vérifie l’existence des différentes caractéristiques faciales, puis mesure la symétrie du visage et compare les résultats avec les eigenfaces. La même technologie est utilisée pour la fonction Face ID dans les appareils iPhone X. Elle utilise une grille de points infrarouges projetée sur le visage de l’utilisateur et crée une carte faciale 3D de l’utilisateur qui est ensuite comparée au modèle existant dans le système.
En parlant d’analyse des émotions, elle est aujourd’hui largement utilisée dans différents domaines : robotique, médecine, sécurité, industries de la vidéo et du jeu, etc. Elle aide à prédire les actions des gens (par exemple, la TSA scanne automatiquement les passagers des compagnies aériennes à la recherche de signes de terrorisme), les entreprises peuvent juger des réactions émotionnelles du public dans le marketing et la recherche scientifique, les organisations gouvernementales peuvent détecter les émotions de culpabilité, de peur et d’incertitude pour influencer les gens. D’ailleurs, Animoji sur iPhone X analyse les émotions pour imiter vos expressions faciales sur des personnages Emoji.
L’industrie la plus importante pour l’utilisation de la vision par ordinateur est la médecine. La reconnaissance des données d’imagerie médicale permet un meilleur diagnostic, traitement et prédiction des maladies. Avec cette technologie, un ordinateur peut déterminer la texture, la forme, le contour dans l’image, et fournir des informations 3D et 4D pour une meilleure compréhension du corps humain. Les systèmes de suivi oculaire permettent aux personnes en situation de handicap de naviguer et de contrôler des ordinateurs avec leurs yeux, ainsi que de passer des appels téléphoniques habituels, de taper des messages, de jouer à des jeux et d’utiliser les réseaux sociaux.
En fait, la vision par ordinateur peut être utilisée partout et peut détecter et reconnaître presque n’importe quel objet et opérer avec lui, de sorte que chaque année, de nombreuses startups, applications et solutions utilisant cette technologie pour leurs projets voient le jour. Notre équipe a sa propre expérience dans le développement de projets de vision par ordinateur, et nous avons quelque chose à partager avec vous.
Expérience de Redwerk en matière de vision par ordinateur
Mais ce n’est que de la théorie tant que vous n’avez pas essayé. Voici donc ce que nous avons découvert en recherchant et en pratiquant dans le domaine de la vision par ordinateur :
- reconnaissance de bâtiments ;
- définition de contours contrastés ;
- placement d’effets visuels sur les objets ;
- création d’effets avec la lecture vidéo ;
Nous en avons décrit quelques-uns ici et partageons les résultats que nous avons obtenus.
Reconnaissance de bâtiments
Dans le cas de la reconnaissance de bâtiments, nous avons dû trouver un rectangle qui décrit et identifie le bâtiment et un polygone sur les bords de sa surface, puis nous avons transféré les coordonnées correspondantes à Unity pour la création d’effets ultérieurs. Dans cette tâche, nous avons utilisé plusieurs algorithmes clés pour : supprimer le bruit d’une photo, augmenter le contraste, supprimer les espaces dans un bitmap, trouver l’horizon et les côtés du bâtiment, détecter le rectangle du bâtiment, analyser les limites et construire des lignes basées sur les sommets d’un polygone. En conséquence, nous sommes arrivés à la conclusion que les immeubles de grande hauteur sur un fond monophonique sont mieux définis. Si les conditions météorologiques sur la photo sont mauvaises, ou si le bâtiment a une forme ou une structure inhabituelle, la reconnaissance peut être considérablement détériorée. Pour améliorer les résultats, la définition de l’éclairage de la photo peut être appliquée, puis, en fonction de celui-ci, le contraste souhaité doit être choisi.

Définition de contours contrastés
En étudiant les capacités de la vision par ordinateur, nous avons eu pour tâche d’identifier les contours des objets situés sur un fond contrasté. Comme le montre l’exemple, nous avons pris l’image d’un clavier sur la surface d’une table et utilisé la technologie de flou pour supprimer l’arrière-plan. Dans ce cas, la meilleure approche était d’appliquer un flou gaussien, avec un noyau simple et l’indication d’un rayon correspondant aux dimensions de l’image d’origine. Nous avons utilisé le flou gaussien car il est plus complexe que d’autres fonctions de flou, mais il offre le meilleur résultat et supprime le bruit sans détruire significativement les contours de l’objet.


Placement d’effets visuels sur les objets
Pour réaliser cette tâche, nous avions d’abord utilisé la technologie de définition de contours contrastés pour obtenir le masque binaire de l’objet souhaité dans une vidéo, qui a ensuite été transféré à Unity pour être utilisé dans les shaders. Pour créer des effets visuels, nous avons écrit quelques shaders avec différents ensembles de paramètres et créé 3 couches. La première couche d’arrière-plan est restée inchangée pour lire la vidéo de la caméra à travers elle, la deuxième couche contenait les effets et les objets, la troisième, dupliquait partiellement les images de la caméra, découpant ainsi l’objet. Nous avons préparé plusieurs effets 2D simples, tels que des cœurs et des sourires, pour tester leur apparition derrière l’image du clavier sur la vidéo. Découvrez le résultat !
Création d’effets avec la lecture vidéo
Basé sur l’algorithme de définition de contours, nous avons eu pour tâche de créer deux types d’effets : lorsque l’arrière-plan sous l’objet est remplacé par une vidéo, et lorsque la vidéo est lue sur l’objet lui-même. Initialement, nous avions prévu de reconnaître la zone au moyen d’une analyse de couleur.

Nous avons trouvé la couleur réelle sur l’écran et avons remplacé cette zone par un flux vidéo. Mais sous différents éclairages, l’image pouvait changer de saturation des couleurs, il était donc difficile de garder la couleur réelle au point de mire. Par conséquent, nous avons essayé d’améliorer légèrement l’algorithme en réduisant la gamme de couleurs d’une image à l’aide d’un algorithme de quantification des couleurs. Les résultats n’étant pas satisfaisants, nous avons décidé de créer un marqueur qui permettrait aux utilisateurs de choisir la zone souhaitée eux-mêmes, puis d’utiliser un traqueur et de surveiller le mouvement de la zone sélectionnée. Voyons comment cela fonctionne !
Conclusion
L’étude des technologies de vision par ordinateur et de leur utilisation pour différentes entreprises a été une expérience intéressante pour nous. Nous avons constaté que cette innovation peut être appliquée dans presque toutes les industries pour résoudre diverses tâches, mais elle nécessite une approche spécifique pour la construction de l’architecture et le développement du produit. Redwerk dispose d’une équipe de spécialistes talentueux et qualifiés qui explorent constamment de nouvelles technologies pour les utiliser dans des projets clients et internes. Donc, si la vision par ordinateur vous intéresse, nous pouvons donner vie à vos idées !
À propos de Redwerk
Redwerk est une équipe d’experts certifiés, qui met à disposition un service d’externalisation informatique de haute qualité pour les entreprises qui visent un produit robuste, stable et impressionnant. Redwerk est une société de développement de logiciels personnalisés, qui emploie des maîtres dans leur domaine avec une approche proactive pour livrer exactement ce que le client exige. Nous apprécions ceux qui nous font confiance, alors soyez l’un d’entre eux !