18 Projets de Vision par ordinateur Open Source Classiques de tous les temps pour les débutants
- Aperçu
- Introduction
- Les 18 Projets de Vision par Ordinateur Open Source sont divisés en ces Catégories:
- Projets de Vision par ordinateur Open-Source pour la Classification des images
- Cifar 10
- ImageNet
- Projets de Vision par ordinateur Open-Source pour la Reconnaissance faciale
- MegaFace
- Visages étiquetés dans la nature accueil
- Projets de vision par ordinateur Open-Source pour le Transfert de style Neural À l’aide de GaNS
- COCO dataset
- ImageNet
- Projets de Vision par Ordinateur Open-Source pour la Détection de Texte de Scène
- SVHN
- Jeu de données SceneText
- Projets de Vision par Ordinateur Open-Source pour la Détection d’Objets avec DETR
- Open Images
- MS-COCO
- Projets de vision par ordinateur open-Source pour la segmentation sémantique
- CamVid
- Paysages urbains
- Projets de Vision par ordinateur Open-Source pour la Détection de Voies Routières dans des Véhicules autonomes
- TUsimple
- Projets de vision par ordinateur Open Source pour le sous-titrage d’images
- COCO Caption
- Ensemble de données Flicker 8k
- Projets de Vision par Ordinateur Open-Source pour l’Estimation de la Pose Humaine
- MPII
- L’HOMME
- Projets de Vision par ordinateur Open-Source pour la Reconnaissance des Émotions à travers les Expressions faciales
- Base de données des Visages Affectifs du monde réel
- Notes de fin
Aperçu
- Les projets de vision par ordinateur Open source sont un excellent segway pour décrocher un rôle dans l’industrie de l’apprentissage profond
- Commencez à travailler sur ces 18 projets de vision par ordinateur open source populaires et classiques de tous les temps
Introduction
Les applications de vision par ordinateur sont omniprésentes en ce moment. Honnêtement, je ne me souviens pas de la dernière fois que j’ai passé une journée entière sans rencontrer ou interagir avec au moins un cas d’utilisation de la vision par ordinateur (bonjour la reconnaissance faciale sur mon téléphone!).
Mais voici la chose– les personnes qui veulent apprendre la vision par ordinateur ont tendance à rester coincées dans les concepts théoriques. Et c’est le pire chemin que vous puissiez emprunter! Pour vraiment apprendre et maîtriser la vision par ordinateur, nous devons combiner la théorie avec une expérience pratique.
Et c’est là que les projets de vision par ordinateur open source entrent en jeu. Vous n’avez pas besoin de dépenser un centime pour pratiquer vos compétences en vision par ordinateur – vous pouvez le faire assis là où vous êtes en ce moment!
Ainsi, dans cet article, j’ai fusionné et créé une liste de projets de Vision par ordinateur Open Source basés sur les différentes applications de la vision par ordinateur. Il y a beaucoup à parcourir et c’est une liste assez complète, alors creusons!
Si vous êtes complètement novice en vision par ordinateur et en apprentissage profond et que vous préférez l’apprentissage sous forme vidéo, vérifiez ceci:
- Vision par ordinateur à l’aide de l’apprentissage en profondeur 2.0
Les 18 Projets de Vision par Ordinateur Open Source sont divisés en ces Catégories:
- Classification D’Image
- Reconnaissance Faciale
- Transfert De Style Neuronal À L’Aide De GaNS
- Détection De Texte De Scène
- Détection D’Objet Avec DETR
- Segmentation Sémantique
- Détection De Voie Routière dans les Véhicules Autonomes
- Sous-titrage des images
- Projets d’Estimation de la Pose humaine
- Reconnaissance des émotions par les Expressions Faciales
Projets de Vision par ordinateur Open-Source pour la Classification des images
La classification des images est une tâche fondamentale en vision par ordinateur. Ici, le but est de classer une image en lui attribuant une étiquette spécifique. Il est facile pour nous, les humains, de comprendre et de classer les images que nous voyons. Mais le cas est très différent pour une machine. C’est une tâche onéreuse pour une machine de faire la différence entre une voiture et un éléphant.
Voici deux des projets open-source les plus importants pour la classification des images:
-
Cifar 10
L’ensemble de données CIFAR-10 est une collection d’images couramment utilisées pour former des algorithmes d’apprentissage automatique et de vision par ordinateur. C’est l’un des ensembles de données les plus populaires pour la recherche sur l’apprentissage automatique. Il contient 60 000 images en couleurs 32×32 dans 10 classes différentes. Les classes représentent des avions, des voitures, des oiseaux, des chats, des cerfs, des chiens, des grenouilles, des chevaux, des navires et des camions.
-
ImageNet
L’ensemble de données ImageNet est une grande base de données visuelle destinée à la recherche en vision par ordinateur. Plus de 14 millions d’images ont été annotées à la main par le projet pour indiquer quels objets sont représentés et dans au moins un million d’images, des boîtes de délimitation sont également fournies. ImageNet contient plus de 20 000 catégories !
En tant que débutant, vous pouvez commencer avec un réseau de neurones à partir de zéro en utilisant Keras ou PyTorch. Pour de meilleurs résultats et augmenter le niveau d’apprentissage, je conseillerai d’utiliser l’apprentissage par transfert via des modèles pré-formés comme VGG-16, Restnet-50, Googlenet, etc.
Je recommande de passer par l’article ci-dessous pour en savoir plus sur la classification des images:
- Top 4 des Modèles Pré-formés pour la Classification des Images avec le Code Python
Je suggère également de parcourir les articles ci-dessous pour une meilleure compréhension de la classification des images:
- Classification ImageNet avec des Réseaux de neurones Convolutifs Profonds
- Aller plus loin avec des Circonvolutions
- Apprentissage Résiduel Profond pour la Reconnaissance d’images
Projets de Vision par ordinateur Open-Source pour la Reconnaissance faciale
La reconnaissance faciale est l’une des applications les plus importantes de la vision par ordinateur. Il est utilisé pour la sécurité, la surveillance ou pour déverrouiller vos appareils. Il s’agit d’identifier les visages d’une image ou d’une vidéo par rapport à une base de données préexistante. Nous pouvons utiliser des méthodes d’apprentissage en profondeur pour apprendre les caractéristiques des visages et les reconnaître.
C’est un processus en plusieurs étapes, composé des étapes suivantes:
- Détection de visage: C’est la première étape et consiste à localiser un ou plusieurs visages présents dans l’image ou la vidéo d’entrée.
- Alignement des faces : L’alignement normalise les faces d’entrée pour qu’elles soient géométriquement cohérentes avec la base de données.
- Extraction d’entités : Plus tard, des entités sont extraites qui peuvent être utilisées dans la tâche de reconnaissance.
- Reconnaissance d’entités : Effectuez la correspondance des entités d’entrée avec la base de données.
Les jeux de données open source suivants vous donneront une bonne exposition à la reconnaissance faciale-
-
MegaFace
MegaFace est un ensemble de données de formation à la reconnaissance faciale publique à grande échelle qui constitue l’un des points de référence les plus importants pour les problèmes de reconnaissance faciale commerciaux. Il comprend 4 753 320 visages de 672 057 identités
-
Visages étiquetés dans la nature accueil
Visages étiquetés dans la nature (LFW) est une base de données de photographies de visages conçue pour étudier le problème de la reconnaissance faciale sans contrainte. Il contient 13 233 images de 5 749 personnes détectées et collectées sur le Web. De plus, 1 680 des personnes photographiées ont deux photos distinctes ou plus dans l’ensemble de données.
De plus, pour amener le projet à un stade avancé, vous pouvez utiliser des modèles pré-formés comme Facenet.
Facenet est un modèle d’apprentissage en profondeur qui fournit des intégrations unifiées pour la reconnaissance faciale, la vérification et la tâche de clustering. Le réseau mappe chaque image de visage dans un espace euclidien de telle sorte que la distance entre des images similaires soit inférieure.
Source
Vous pouvez facilement utiliser des modèles Facenet pré-formés disponibles dans Keras et PyTorch pour créer votre propre système de reconnaissance faciale.
Il existe d’autres modèles de reconnaissance faciale à la pointe de la technologie que vous pouvez expérimenter. Deepface est un réseau profond basé sur CNN développé par des chercheurs de Facebook. Ce fut une étape importante dans l’utilisation de l’apprentissage profond dans une tâche de reconnaissance faciale.
Pour mieux comprendre le développement de la technologie de reconnaissance faciale au cours des 30 dernières années, je vous encourage à lire un article intéressant intitulé:
- Reconnaissance faciale profonde: Une enquête
Projets de vision par ordinateur Open-Source pour le Transfert de style Neural À l’aide de GaNS
Le transfert de style neural est une technologie de vision par ordinateur qui recrée le contenu d’une image dans le style de l’autre image. C’est une application d’un Réseau Contradictoire Génératif (GAN). Ici, nous prenons deux images – une image de contenu et une image de référence de style et les mélangeons de sorte que l’image de sortie ressemble à une image de contenu peinte dans le style de l’image de référence.
Ceci est mis en œuvre en optimisant les statistiques de contenu de l’image de sortie correspondant à l’image de contenu et les statistiques de style à l’image de référence de style.
Source
Voici la liste de quelques jeux de données impressionnants à pratiquer:
-
COCO dataset
“COCO est un ensemble de données de détection, de segmentation et de sous-titrage d’objets à grande échelle. Les images de l’ensemble de données sont des objets du quotidien capturés à partir de scènes quotidiennes. En outre, il fournit un étiquetage multi-objets, des annotations de masque de segmentation, un sous-titrage d’image et une détection de points clés avec un total de 81 catégories, ce qui en fait un ensemble de données très polyvalent et polyvalent.
-
ImageNet
- Nous l’avons déjà mentionné ci–dessus – ImageNet est incroyablement flexible!
Si vous vous demandez comment implémenter le modèle de transfert de style, voici un tutoriel TensorFlow qui peut vous aider. De plus, je vous suggérerai de lire les articles suivants si vous souhaitez approfondir la technologie:
- Une Représentation Apprise Pour Le Style Artistique
- Traduction Image à Image Non Appariée à l’aide de Réseaux Antagonistes Cohérents par Cycle
- Transfert de Style d’Image à l’Aide de Réseaux Neuronaux Convolutifs
Projets de Vision par Ordinateur Open-Source pour la Détection de Texte de Scène
La détection de texte dans une scène donnée est un autre problème très intéressant. Le texte de scène est le texte qui apparaît sur les images capturées par une caméra dans un environnement extérieur. Par exemple, les plaques d’immatriculation des voitures sur les routes, les panneaux d’affichage sur le bord de la route, etc.
Le texte des images de scène varie en forme, police, couleur et position. La complication dans la reconnaissance du texte de la scène augmente encore par un éclairage et une mise au point non uniformes.
Les jeux de données populaires suivants vous aideront à enrichir vos compétences dans l’analyse de la détection de texte de scène:
-
SVHN
L’ensemble de données Street View House Numbers (SVHN) est l’un des ensembles de données open source les plus populaires sur le marché. Il a été utilisé dans les réseaux de neurones créés par Google pour lire les numéros de maison et les faire correspondre à leurs géolocalisations. Il s’agit d’un excellent ensemble de données de référence pour jouer, apprendre et former des modèles qui identifient avec précision les numéros de rue. Cet ensemble de données contient plus de 600k images réelles étiquetées de numéros de maison prises à partir de Google Street View.
-
Jeu de données SceneText
Le jeu de données scene text comprend 3000 images capturées dans différents environnements, y compris des scènes extérieures et intérieures sous différentes conditions d’éclairage. Les images ont été capturées soit à l’aide d’un appareil photo numérique haute résolution, soit à l’aide d’un appareil photo de téléphone portable basse résolution. De plus, toutes les images ont été redimensionnées à 640×480.
En outre, la détection de texte de scène est un processus en deux étapes consistant en une détection de texte dans l’image et une reconnaissance de texte. Pour la détection de texte, j’ai trouvé une méthode d’apprentissage profond à la pointe de la technologie EAST (Détecteur de Texte de Scène Précis Efficace). Il peut trouver des boîtes de délimitation horizontales et tournées. Vous pouvez l’utiliser en combinaison avec n’importe quelle méthode de reconnaissance de texte.
Voici d’autres articles intéressants sur la détection de texte de scène:
- Détection de Texte dans une Image Naturelle avec Réseau de Propositions de Texte Connectionist
- COCO-Text: Ensemble de Données et Benchmark pour la Détection et la Reconnaissance de Texte dans des Images Naturelles
Projets de Vision par Ordinateur Open-Source pour la Détection d’Objets avec DETR
La détection d’objets consiste à prédire chaque objet d’intérêt présent dans l’image à travers une boîte englobante avec des étiquettes appropriées.
Il y a quelques mois, Facebook a ouvert son framework de détection d’objets – DEtection TRansformer (DETR). DETR est une solution efficace et innovante aux problèmes de détection d’objets. Il rationalise le pipeline d’entraînement en considérant la détection d’objets comme un problème de prédiction directe. En outre, il adopte une architecture codeur-décodeur basée sur des transformateurs.
Pour en savoir plus sur DERT, voici le cahier papier et Colab.
Diversifiez votre portefeuille en travaillant sur les jeux de données open source suivants pour la détection d’objets:
-
Open Images
Open Image est un ensemble de données de ~9 millions d’images annotées avec des étiquettes au niveau de l’image, des boîtes de délimitation d’objets, des masques de segmentation d’objets, des relations visuelles et des récits localisés. L’ensemble de données est divisé en un ensemble d’entraînement (9 011 219 images), un ensemble de validation (41 620 images) et un ensemble de test (125 436 images).
-
MS-COCO
MS-COCO est un ensemble de données à grande échelle couramment utilisé pour les problèmes de détection d’objets. Il se compose de 330K images avec 80 catégories d’objets ayant 5 légendes par image et 250 000 personnes avec des points clés.
Vous pouvez lire les ressources suivantes pour en savoir plus sur la détection d’objets:
- Une Introduction Étape par Étape aux Algorithmes de Détection d’Objets de Base
- Un Guide Pratique pour la Détection d’Objets à l’aide du Populaire Framework YOLO
- Facebook AI Lance DEtection TRansformer (DETR) – Une Approche de Détection d’Objets basée sur un Transformateur!
Projets de vision par ordinateur open-Source pour la segmentation sémantique
Lorsque nous parlons de compréhension complète de la scène en technologie de vision par ordinateur, la segmentation sémantique entre en jeu. Il s’agit de classer tous les pixels d’une image en classes pertinentes des objets.
Voici la liste des jeux de données open-source pour mettre en pratique ce sujet:
-
CamVid
Cette base de données est l’un des premiers ensembles de données sémantiquement segmentés à être publiés. Ceci est souvent utilisé dans la recherche de segmentation sémantique (en temps réel). L’ensemble de données contient:
- 367 paires d’entraînement
- 101 paires de validation
- 233 paires de test
-
Paysages urbains
Cet ensemble de données est un sous-échantillon traité de paysages urbains originaux. L’ensemble de données contient des images fixes des vidéos originales, et les étiquettes de segmentation sémantique sont affichées dans les images à côté de l’image originale. C’est l’un des meilleurs ensembles de données pour les tâches de segmentation sémantique. Il dispose de 2975 fichiers d’images d’entraînement et de 500 fichiers d’images de validation de 256×512 pixels chacun
Pour en savoir plus sur la segmentation sémantique, je recommanderai l’article suivant:
- Segmentation sémantique: Introduction à la Technique d’Apprentissage Profond Derrière l’appareil photo de Google Pixel!
Voici quelques articles disponibles avec du code pour la segmentation sémantique:
- Codeur-Décodeur à Convolution Séparable Atrous pour la Segmentation Sémantique des Images
- DeepLab: Segmentation d’images Sémantiques avec des Réseaux Convolutifs Profonds, une Convolution Atrous et des CRF Entièrement Connectés
Projets de Vision par ordinateur Open-Source pour la Détection de Voies Routières dans des Véhicules autonomes
Une voiture autonome est un véhicule capable de détecter son environnement et de fonctionner sans intervention humaine. Ils créent et maintiennent une carte de leur environnement basée sur une variété de capteurs qui s’adaptent à différentes parties du véhicule.
Ces véhicules sont équipés de capteurs radar qui surveillent la position des véhicules à proximité. Alors que les caméras vidéo détectent les feux de circulation, lisent les panneaux de signalisation, suivent d’autres véhicules et que les capteurs Lidar (détection et télémétrie de la lumière) rejettent des impulsions de lumière sur l’environnement de la voiture pour mesurer les distances, détecter les bords de route et identifier les marques de voie
La détection de voie est une partie importante de ces véhicules. Dans le transport routier, une voie fait partie d’une chaussée désignée pour être utilisée par une seule ligne de véhicules pour contrôler et guider les conducteurs et réduire les conflits de circulation.
C’est un projet passionnant à ajouter dans le CV de votre data scientist. Voici quelques ensembles de données disponibles pour expérimenter-
-
TUsimple
Cet ensemble de données faisait partie du Défi de détection de voie Tusimple. Il contient 3626 clips vidéo d’une durée de 1 sec chacun. Chacun de ces clips vidéo contient 20 images avec une dernière image annotée. Il se compose d’ensembles de données de formation et de test avec 3626 clips vidéo, 3626 images annotées dans l’ensemble de données de formation et 2782 clips vidéo pour les tests.
Au cas où vous chercheriez un tutoriel pour développer le projet, consultez l’article ci-dessous-
- Tutoriel pratique sur la Détection de Voie en Temps Réel à l’aide d’OpenCV (Projet de Voiture Autonome!)
Projets de vision par ordinateur Open Source pour le sous-titrage d’images
Avez-vous déjà souhaité une technologie capable de sous-titrer vos images de médias sociaux parce que ni vous ni vos amis ne pouvez créer une légende cool? L’apprentissage profond pour le sous-titrage d’images vient à votre secours.
Le sous-titrage d’image est le processus de génération d’une description textuelle pour une image. Il s’agit d’une tâche combinée de vision par ordinateur et de traitement du langage naturel (PNL).
Les méthodes de vision par ordinateur aident à comprendre et à extraire la caractéristique des images d’entrée. De plus, la PNL convertit l’image en description textuelle dans l’ordre correct des mots.
Voici quelques ensembles de données utiles pour vous salir les mains avec le sous-titrage d’images:
-
COCO Caption
COCO est un ensemble de données de détection, de segmentation et de sous-titrage d’objets à grande échelle. Il se compose d’images of330K (> 200K étiquetées) avec 1,5 million d’instances d’objets et 80 catégories d’objets avec 5 légendes par image.
-
Ensemble de données Flicker 8k
Il s’agit d’un corpus de légendes d’images composé de 158 915 légendes provenant de la foule décrivant 31 783 images. Ceci est une extension de l’ensemble de données Flickr 8k. Les nouvelles images et légendes se concentrent sur les personnes qui font des activités et des événements quotidiens.
Si vous recherchez la mise en œuvre du projet, je vous suggérerai de regarder l’article suivant:
- Sous-titrage automatique des images à l’aide de l’apprentissage en profondeur (CNN et LSTM) dans PyTorch
De plus, je vous suggère de parcourir cet article important sur le sous-titrage des images.
Projets de Vision par Ordinateur Open-Source pour l’Estimation de la Pose Humaine
L’estimation de la Pose Humaine est une application intéressante de la Vision par ordinateur. Vous devez avoir entendu parler de Posenet, qui est un modèle open source pour l’estimation de la pose humaine. En bref, l’estimation de la pose est une technique de vision par ordinateur permettant de déduire la pose d’une personne ou d’un objet présent dans l’image / vidéo.
Avant de discuter du fonctionnement de l’estimation de la pose, comprenons d’abord “Squelette de Pose humaine”. C’est l’ensemble des coordonnées pour définir la pose d’une personne. Une paire de coordonnées est un membre. En outre, l’estimation de la pose est réalisée en identifiant, localisant et suivant les points clés du squelette de pose humaine dans une Image ou une vidéo.
Source
Voici quelques ensembles de données si vous souhaitez développer un modèle d’estimation de pose:
-
MPII
L’ensemble de données de pose humaine MPII est une référence de pointe pour l’évaluation de l’estimation de la pose humaine articulée. L’ensemble de données comprend environ 25 000 images contenant plus de 40 000 personnes avec des articulations corporelles annotées. Dans l’ensemble, l’ensemble de données couvre 410 activités humaines et chaque image a une étiquette d’activité.
-
L’HOMME
Le jeu de données HumanEva-I contient 7 séquences vidéo calibrées synchronisées avec des poses corporelles 3D. La base de données contient 4 sujets effectuant 6 actions courantes (par exemple, marcher, faire du jogging, faire des gestes, etc.) qui sont divisés en ensembles de formation, de validation et de test.
J’ai trouvé DeepPose de Google comme un document de recherche très intéressant utilisant des modèles d’apprentissage en profondeur pour l’estimation de la pose. De plus, vous pouvez consulter plusieurs documents de recherche disponibles sur l’estimation de la pose pour mieux la comprendre.
Projets de Vision par ordinateur Open-Source pour la Reconnaissance des Émotions à travers les Expressions faciales
Les expressions faciales jouent un rôle essentiel dans le processus de communication non verbale, ainsi que pour identifier une personne. Ils sont très importants pour reconnaître les émotions d’une personne. Par conséquent, les informations sur les expressions faciales sont souvent utilisées dans les systèmes automatiques de reconnaissance des émotions.
La reconnaissance des émotions est une tâche difficile car les émotions peuvent varier en fonction de l’environnement, de l’apparence, de la culture et de la réaction du visage, ce qui conduit à des données ambiguës.
Le système de reconnaissance d’expression faciale est un processus à plusieurs étapes consistant en un traitement d’image faciale, une extraction de caractéristiques et une classification.
source
Voici un ensemble de données sur lequel vous pouvez vous entraîner:
-
Base de données des Visages Affectifs du monde réel
La base de données des visages affectifs du monde réel (RAF-DB) est une base de données d’expressions faciales à grande échelle avec environ 30K images faciales très diverses. Il se compose de 29672 images du monde réel et d’un vecteur de distribution d’expression en 7 dimensions pour chaque image,
Vous pouvez lire ces ressources pour améliorer votre compréhension-
- Réseaux d’attention de cadre pour la reconnaissance de l’expression faciale dans les vidéos
- Réseaux d’attention de région pour la pose et l’occlusion Reconnaissance robuste de l’expression faciale
Notes de fin
Pour conclure, dans cet article, nous avons discuté de 10 projets de vision par ordinateur intéressants que vous pouvez mettre en œuvre en tant que débutant. Cette liste n’est pas exhaustive. Donc, si vous pensez que nous avons raté quelque chose, n’hésitez pas à ajouter les commentaires ci-dessous!
De plus, voici quelques ressources CV utiles pour vous aider à explorer le monde de l’apprentissage en profondeur et de la vision par ordinateur:
- Voici votre parcours d’apprentissage pour Maîtriser la Vision par ordinateur en 2020
- Cours de vision par ordinateur à l’aide du Deep Learning 2.0
- Programme certifié: Vision par Ordinateur pour les Débutants
- Premiers Pas Avec Les Réseaux De Neurones (Gratuit)
-
Réseaux de Neurones convolutifs (CNN) à partir de zéro (Gratuit)
Il y a beaucoup de différence entre la science des données que nous apprenons dans les cours et l’auto-pratique et celle que nous travaillons dans l’industrie. Je vous recommande de suivre ces cours gratuits limpides pour tout comprendre sur l’analytique, l’apprentissage automatique et l’intelligence artificielle:
- Introduction à AI / ML Cours gratuit / Application mobile
- Introduction à AI / ML pour les chefs d’entreprise Application mobile
- Introduction à Business Analytics Cours gratuit / Application mobile
J’espère que vous trouverez la discussion utile. Maintenant, c’est à votre tour de commencer la mise en œuvre de la vision par ordinateur par vous-même.
Vous pouvez également lire cet article sur notre APPLICATION mobile