Cet article est une compilation de technologie blog AI Yanxishe, le titre original:
vision par ordinateur d'apprentissage
Auteur | Romain Beaumont
Traduction | Huang Weicong, chesc
Relecture | sauce poire finale Fan | soeur d'ananas
Lien original:
https://towardsdatascience.com/learning-computer-vision-41398ad9941f
Récemment, j'ai lu beaucoup d'informations relatives à la vision par ordinateur et fait beaucoup d'expériences, décrit le contenu intéressant dans le domaine de l'apprentissage et l'utilisation du processus ici.
segmentation d'images Autopilot
Ces dernières années, la vision par ordinateur a fait de grands progrès. Ce sont les sujets que je mentionnerai ici:
technologie :
-
Détection des visages: Haar, HOG, MTCNN, MobileNet
-
Reconnaissance des visages: CNN, Facenet
-
reconnaissance de la cible: alexnet, inceptionnet, ResNet
-
l'apprentissage de transfert: avec très peu de nouveau sur la scène d'une des ressources à grande échelle pour reconvertir le réseau de neurones
-
segmentation de l'image: RCNN
-
Formule réseau de confrontation
-
Vision par ordinateur matériel nécessaire: ce choix, la clé est GPU
-
applications de l'interface utilisateur visuelle intégrée: ownphotos
application :
-
photos personnelles, commander
-
véhicules autonomes
-
UAV automatique
-
Codes d'identification / OCR
-
Photos sur le site / app filtre
-
L'image est automatiquement étiqueté l'application
-
Informations Extrait des vidéos (des émissions de télévision, films) en
-
Q & Vision
-
art
Les gens sont préoccupés :
-
Il est important de fondateur de l'apprentissage en profondeur: andrew ng, yann LeCun, Bengio yoshua, hinton joffrey
-
Page adam Accueil geitgey a beaucoup d'articles intéressants vision par ordinateur, tels que les liens ont une détection complète visage / alignement / processus d'identification
cours :
-
site Coursera dans les cours d'apprentissage en profondeur
-
site Coursera où les cours d'apprentissage de la machine
domaines connexes :
-
l'apprentissage de renforcement profondeur: CNN inclus la PPO et DPN traité comme couche d'entrée
-
Interaction avec le traitement du langage naturel: LSTM 2 cnn
Détection des visages
bloc de détection de visage est marqué autour de la face
La détection des visages est de détecter le visage de la tâche. Il y a plusieurs algorithmes peuvent le faire.
https://github.com/nodefluxio/face-detector-benchmark fournit ces méthodes référence de vitesse, et la réutilisation facile de code de mise en uvre.
classificateur Haar
Ce sont les vieilles méthodes de vision par ordinateur depuis 2000 est apparu dans OpenCV en. Fait un //wearables.cc.gatech.edu/paper_of_week/viola01rapid.pdf de présentation: Dans cet article: http.
Ceci est un modèle d'apprentissage machine, conçu pour l'extraction de caractéristiques de détection de cible. la vitesse du classificateur Haar, mais une faible précision.
Voir: https: //docs.opencv.org/3.4.3/d7/d8b/tutorial_py_face_detection.html expliqué plus en détail et des exemples sur la façon de l'utiliser.
HOG: Histogramme de Dégradés Oriented
HOG est une nouvelle méthode d'extraction de caractéristiques de détection d'objets: l'utilisation de celui-ci depuis 2005. Le procédé est basé le calcul de gradient de pixel d'image. Ces caractéristiques sont ensuite introduites dans les algorithmes d'apprentissage machine, par exemple SVM. Cette méthode a une meilleure précision que les classificateurs Haar.
Dlib dans la mise en oeuvre d'un tel procédé en ce que la lib face_recognition (https://github.com/ageitgey/face_recognition) de.
MTCNN
Une nouvelle méthode pour détecter une image en utilisant un CNNs variable. Plus lent mais plus précis. Voir: https: //kpzhang93.github.io/MTCNN_face_detection_alignment/index.html
MobileNet
La meilleure et la plus rapide pour la détection des visages actuellement utilisé, basé sur une architecture réseau mobile commun. Voir: https: //arxiv.org/abs/1704.04861
Détection cible
Détection cible et détection de visage peuvent être utilisées des méthodes similaires pour atteindre
Il y a deux document présente la mise en uvre de sa nouvelle approche. Ces méthodes sont parfois fournit également une catégorie pour cible (reconnaissance de la cible):
-
https://towardsdatascience.com/review-r-fcn-positive-sensitive-score-maps-object-detection-91cd2389345c r-fcn
-
https://towardsdatascience.com/r-cnn-fast-r-cnn-faster-r-cnn-yolo-object-detection-algorithms-36d53571365e une comparaison de r-cnn, rapide r-cnn, plus rapide r-cnn et Yolo
Convolution réseau de neurones
Le développement récent rapide de l'apprentissage en profondeur, nous pouvons voir beaucoup de la nouvelle architecture a obtenu un grand succès.
Beaucoup convolution en utilisant une couche de réseau de neurones est l'un d'entre eux. Une image 2D en utilisant une structure de couche de convolution afin de produire des informations utiles dans la couche suivante du réseau de neurones.
Quelle est la convolution des détails pertinents, voir: https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1
reconnaissance cible
objet de reconnaissance cible est classée comme une catégorie spécifique (comme les chats, les chiens, ......) questions générales.
Sur la base de la profondeur de convolution de réseau de neurones obtenu de très bons résultats dans la tâche de reconnaissance d'objets. réunion ILSVR a été concours IMAGEnet ( Il y a beaucoup de photos d'un ensemble de données, y compris les chats, les chiens et autres articles étiquette) tenue le.
Le plus de succès le nombre de couches du réseau de neurones utilisé de plus en plus.
l'architecture ResNet est de loin la meilleure architecture réseau pour la classification cible.
Pour former correctement ResNet, il nécessite l'utilisation de millions d'images, et même avec des dizaines de GPU cher, ont également besoin de passer beaucoup de temps.
Afin d'éviter à chaque fois dans ces grands ensembles de données de recyclage, trouver une autre méthode en place, il est très important, et l'apprentissage de transfert et l'intégration plongement est une telle méthode.
A propos de modèle de pré-formation ResNet, visitez s'il vous plaît: https://github.com/tensorflow/tensor2tensor#image-classification
reconnaissance des visages
La reconnaissance faciale est de savoir qui est un visage.
Méthode historique
Approche historique de cette tâche est de travaux de fonction utilisés dans l'apprentissage de la machine standard (par exemple svm), ou la profondeur de l'apprentissage pour la reconnaissance cible.
Le problème avec ces méthodes est qu'ils ont besoin d'une grande quantité de données pour chaque personne. En fait, les données ne sont pas toujours disponibles.
Facenet
Google chercheurs en 2015 ont lancé Facenet https://arxiv.org/abs/1503.03832. Il présente une méthode d'identification d'un visage humain, sans la nécessité de fournir un grand nombre d'échantillons de visage pour tout le monde.
Cette méthode est efficace pour le travail à travers un grand nombre d'images de visage ensembles de données capturées (par exemple
Ensuite, en utilisant des architectures de vision par ordinateur classiques, par exemple le début (ou ResNet), puis en remplaçant la dernière couche de reconnaissance de cible calculée réseau neuronal face de couche enterrée.
Pour chaque ensemble de données, (en utilisant des heuristiques) sélectionner trois faces (échantillons négatifs, les échantillons positifs, un second échantillons positifs) et introduit dans le réseau neuronal. Il en résulte trois incorporations intégration. Utilisation de la perte de trois triplet informatique embarquée, ce qui rend la distance entre les échantillons positifs et l'autre pour réduire au minimum tout échantillon positif, et de maximiser la distance entre la position de l'échantillon avec d'autres échantillons négatifs.
Le résultat final est chaque face (même si pas présent dans l'ensemble de la formation originale du visage) peut maintenant être exprimée en un plongement intégré (vecteur 128 dimensions), qui est intégré dans le visage de l'autre personne embarquée avec une grande distance.
Ensuite, l'insert peut être utilisé pour identifier une personne avec des modèles d'apprentissage de la machine (comme knn même simples).
Chose à propos facenet et incorporations visage très intéressant est que vous pouvez l'utiliser pour identifier seulement quelques photos ou tout simplement une photo de personnes.
Reportez-vous à réaliser son lib: https://github.com/ageitgey/face_recognition
C'est l'une de sa réalisation tensorflow: https://github.com/davidsandberg/facenet
Ceci est une application de reconnaissance de visage processus de pensée derrière un endroit frais, est d'identifier le visage d'ours: https: //hypraptive.github.io/2017/01/21/facenet-for-bears.html
l'apprentissage de transfert
une nouvelle formation rapide et précis du réseau de neurones sur des ensembles de données personnalisés
La formation des réseaux de neurones très profond (comme ResNet) est très gourmand en ressources, et exige également beaucoup de données.
Vision par ordinateur est très intensive informatiquement (pendant plusieurs semaines sur une pluralité de GPU de formation) et nécessitent de grandes quantités de données. Pour résoudre ce problème, nous avons déjà discuté d'un visage humain pour calculer les incorporations encastrements universelles. Une autre approche consiste à utiliser re-formation du réseau existant et d'autres ensembles de données, dans lequel seules les couches de formation de formation.
Ceci est un tutoriel: codelab tutoriel. Il est recommandé de former un nouveau modèle initial, afin de former les fleurs inconnues.
Au cours de l'étude de la migration, le choix dont un à se recycler, à l'adresse suivante fournit un bon guide: https: //medium.com/@14prakash/transfer-learning-using-keras-d804b2e04ef8
La segmentation d'images
Pour le pilote automatique de segmentation d'images
Ces dernières années, la segmentation d'images peut être une tâche impressionnante. Comprenant l'identification de chaque pixel de l'image.
La tâche de détection cible liée. Un algorithme est son masque r-cnn, pour plus d'informations, consultez cet article: https://medium.com/@jonathan_hui/image-segmentation-with-mask-r-cnn-ebe6d793272
GAN
Contre la formule réseau, proposée par Ian Goodfellow, l'architecture du réseau est divisé en deux parties: la détermination et le générateur.
-
Discriminateur pour détecter si une image appartient à une classe, il est pré-formé habituellement sur un ensemble cible de classification des données.
-
Générateur pour une catégorie donnée pour générer une image.
l'objectif est de rendre l'image avec l'image réelle générée par la classe aussi proche que possible, de sorte que le jugement ne peut être distingué régler lors de l'étude du poids du générateur,.
Ce qui suit est un exemple d'une GAN maximale d'image (https://arxiv.org/abs/1809.11096) généré.
A propos de GAN mis en uvre sur keras, voir: https://github.com/eriklindernoren/Keras-GAN
Vision par ordinateur matériel nécessaire
Former un modèle à grande échelle, nous avons besoin d'utiliser beaucoup de ressources. Il y a deux façons d'atteindre cet objectif. La première est l'utilisation des services de cloud, tels que Google Cloud ou aws. La deuxième méthode consiste à assembler leur propre ordinateur avec le GPU.
Seulement 1000 $, vous pouvez assembler une très bonne machine pour former le modèle d'apprentissage en profondeur.
Pour plus de détails, s'il vous plaît se référer à: https://hypraptive.github.io/2017/02/13/dl-computer-build.html
interface utilisateur Computer Vision
ownphotos le tableau de bord du visage
Ownphotos est une interface étonnante utilisateur qui vous permet de importer des photos et calcule automatiquement l'insert frontal, pour l'identification des cibles et la reconnaissance faciale.
Il utilise des algorithmes:
-
Reconnaissance des visages: face_recognition
-
Détection cible: densecap, places365
application
Il existe de nombreuses applications de vision par ordinateur:
-
photos personnelles, commander
-
véhicules autonomes
-
UAV automatique
-
Codes d'identification / OCR
-
Photos sur le site / app filtre
-
L'image est automatiquement étiqueté l'application
-
Informations Extrait des vidéos (des émissions de télévision, films) en
-
Visuel Q & R: traitement du langage naturel et vision par ordinateur
-
Art: réseau contre générative
conclusion
Comme nous l'avons vu ici, la mise en uvre divers aspects du champ visuel de la naissance de nombreuses méthodes nouvelles et intéressantes et des applications.
Je pense que le plus l'intelligence artificielle d'intéressant, dans tous les domaines, en particulier dans le champ visuel, algorithmes d'apprentissage est réutilisable. Alors que ces méthodes sont applicables pour gérer de plus en plus de tâches sans avoir besoin de ressources de puissance de calcul et des données supplémentaires:
-
l'apprentissage de transfert: le prétraitement de recyclage rapide du réseau de neurones à grande échelle possible
-
Intégration (par exemple facenet): l'identification d'un certain nombre de classes sans avoir à faire ces cours de formation possible
Je veux continuer à voir les articles liens et références connexes?
Appuyez sur et cliquez pour ouvrir un lien ou cliquez sur le fond pour vous prendre lire l'article [Computer Vision]:
https://ai.yanxishe.com/page/TextTranslation/1286
AI Yanxishe contenu passionnant mis à jour quotidiennement, la visualisation de contenu plus excitant: Lei Feng Lei Feng Lei réseau de réseau de réseau Feng
Mot du point de vue linguistique le modèle intégré
réseau profondeur mathématique derrière le secret de Deep Web
Comment l'apprentissage profond appliqué à l'image de drone de détection cible
Python pointe avancée: coupé en deux avec une seule ligne de l'empreinte mémoire de code
En attendant vous interprétez: