Maison > Périphériques technologiques > IA > Comment faire la classification des images avec le modèle MobileNetv2?

Comment faire la classification des images avec le modèle MobileNetv2?

Lisa Kudrow
Libérer: 2025-03-04 11:02:09
original
996 Les gens l'ont consulté

MobileNet est un modèle open source créé pour soutenir l'émergence des smartphones. Il utilise une architecture CNN pour effectuer des tâches de vision par ordinateur telles que la classification d'images et la détection d'objets. Les modèles utilisant cette architecture nécessitent généralement beaucoup de coûts de calcul et de ressources matérielles, mais MobileNet a été conçu pour fonctionner avec des appareils mobiles et une intégration.

Au fil des ans, ce modèle a été utilisé pour diverses applications du monde réel. Il a également certaines capacités, comme la réduction des paramètres en utilisant la convolution de séparation du sens de la profondeur. Ainsi, avec les ressources matérielles limitées des appareils mobiles, cette technique peut aider à rendre le modèle fonctionnel.

Nous allons discuter de la façon dont ce modèle classe efficacement les images en utilisant la classe prédite pré-formée pour le classificateur des images avec la profondeur.

Objectifs d'apprentissage

  • en savoir plus sur MobileNet et son principe de travail.
  • Gardez un aperçu de l'architecture de Mobilenet.
  • Exécutez l'inférence sur MobileNet pour effectuer la classification d'images.
  • Explorez les applications réelles de Mobilenet.

Cet article a été publié dans le cadre du Data Science Blogathon.

Table des matières

  • Principe de travail du mobilenet
  • Covulation standard
  • Comment fonctionne la convolution en profondeur et ponctuelle? Image d'entrée
  • Chargement du modèle pré-formé pour la classification d'image
  • Traitement d'entrée
    • Sortie
    • Application de ce modèle
    • Enveloppement
    • Questions fréquemment posées
  • Principe de travail de Mobilenet
  • Le principe de travail de MobileNet est l'une des parties les plus importantes de la structure de ce modèle. Il décrit les techniques et méthodes utilisées pour construire ce modèle et la rendre adaptable aux appareils mobiles et intégrés. La conception de ce modèle exploite l'architecture du réseau neuronal de convolution (CNN) pour lui permettre de fonctionner sur des appareils mobiles.
  • Cependant, une partie cruciale de cette architecture est l'utilisation d'une convolution séparable dans le sens de la profondeur pour réduire le nombre de paramètres. Cette méthode utilise deux opérations: Convolution dans le sens de la profondeur et ponctuelle.
  • Covulation standard

Un processus de convolution standard commence par le filtre (noyau); Cette étape est l'endroit où les caractéristiques de l'image telles que les bords, les textures ou les motifs sont détectées dans les images. Ceci est suivi en glissant le filtre sur la largeur et la hauteur de l'image. Et chaque étape implique une multiplication et une sommation par élément. La somme de cela donne un seul numéro qui se traduit par la formation d'une carte de fonctionnalité. Il représente la présence et la force des caractéristiques détectées par le filtre.

Cependant, cela est livré avec un coût de calcul élevé et une augmentation du nombre de paramètres, d'où la nécessité d'une convolution en profondeur et ponctuelle.

Comment faire la classification des images avec le modèle MobileNetv2?

Comment fonctionne la convolution du sens de la profondeur et du ponctuel?

La convolution de la profondeur applique un seul filtre au canal d'entrée, tandis que le ponctuel combine la sortie de la convolution de la profondeur pour créer de nouvelles fonctionnalités à partir de l'image.

Ainsi, la différence ici est qu'avec le sens de la profondeur en appliquant un seul filtre, la tâche de multiplication est réduite, ce qui signifie que la sortie a le même nombre de canaux que l'entrée. Cela conduit à la convolution ponctuelle.

La convolution ponctuelle utilise un filtre 1 × 1 qui combine ou étend les fonctionnalités. Cela aide le modèle à apprendre différents modèles de distribution sur les fonctionnalités de la chaîne pour créer une nouvelle carte de fonctionnalité. Cela permet à la convolution ponctuelle d'augmenter ou de diminuer le nombre de canaux dans la carte de la fonction de sortie.

mobilenet architecure

Ce modèle de vision par ordinateur est construit sur l'architecture CNN pour effectuer des tâches de classification d'images et de détection d'objets. L'utilisation de la convolution séparable dans le sens de la profondeur est d'adapter ce modèle à des appareils mobiles et intégrés, car il permet la construction de réseaux de neurones profonds légers.

Ce mécanisme apporte la réduction du nombre de paramètres et de la latence pour respecter les contraintes de ressources. L'architecture permet l'efficacité et la précision dans la sortie du modèle.

La deuxième version de ce modèle (MobileNetv2) a été construite avec une amélioration. MobileNet V2 a introduit un type spécial de bloc de construction appelé résidus inversés avec des goulets d'étranglement. Ces blocs aident à réduire le nombre de canaux traités, ce qui rend le modèle plus efficace. Il comprend également les raccourcis entre les couches d'étranglement pour améliorer le flux d'informations. Au lieu d'utiliser une fonction d'activation standard (RELU) dans la dernière couche, il utilise une activation linéaire, qui fonctionne mieux car les données ont une taille spatiale plus faible à ce stade.

comment exécuter ce modèle?

L'utilisation de ce modèle pour la classification d'images nécessite quelques étapes. Le modèle reçoit et classe une image d'entrée en utilisant sa classe de prédiction intégrée. Plongeons-nous dans les étapes de la façon d'exécuter Mobilenet:

Importation de bibliothèques nécessaires pour la classification d'images

Vous devez importer des modules essentiels pour exécuter ce modèle. Cela commence par l'importation du processeur d'image et du module de classification d'image à partir de la bibliothèque Transformer. Ils aident à prétraiter les images et à charger un modèle pré-formé, respectivement. De plus, PIL est utilisé pour manipuler des images, tandis que les «demandes» vous permet de récupérer des images à partir du Web.

from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import requests
Copier après la connexion

Chargement de l'image d'entrée

 image = Image.open('/content/imagef-ishfromunsplash-ezgif.com-webp-to-jpg-converter.jpg')
Copier après la connexion

La fonction «image.open» est utilisée à partir de la bibliothèque PIL pour charger l'image à partir d'un chemin de fichier, qui, dans ce cas, a été téléchargé à partir de notre appareil local. Une autre alternative serait de récupérer l'image en utilisant son URL.

Comment faire la classification des images avec le modèle MobileNetv2?

Chargement du modèle pré-formé pour la classification des images

Le code ci-dessous initialise le processus «AutoimageProcessor» du modèle pré-formé MobileNetv2. Cette pièce gère le prétraitement de l'image avant de le nourrir au modèle. De plus, comme le montre la deuxième ligne, le code charge le modèle MobileNetv2 correspondant pour la classification d'images.

preprocessor = AutoImageProcessor.from_pretrained("google/mobilenet_v2_1.0_224")
model = AutoModelForImageClassification.from_pretrained("google/mobilenet_v2_1.0_224")
Copier après la connexion

Traitement des entrées

Cette étape est l'endroit où l'image prétraitée est convertie en un format adapté à Pytorch. Ensuite, il est passé à travers le modèle pour générer des logits de sortie, qui seront convertis en probabilités à l'aide de softmax.

inputs = preprocessor(images=image, return_tensors="pt")
 
outputs = model(**inputs)
logits = outputs.logits
Copier après la connexion

sortie

 # model predicts one of the 1000 ImageNet classes
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
Copier après la connexion

Ce code trouve la classe avec le score de prédiction le plus élevé à partir de la sortie (Logits) du modèle et récupère son étiquette correspondante à partir de la configuration du modèle. L'étiquette de classe prévue est ensuite imprimée.

Voici la sortie:

Comment faire la classification des images avec le modèle MobileNetv2?

Voici un lien vers le fichier Colab.

Application de ce modèle

Mobilenet a trouvé des applications dans divers cas d'utilisation réelle. Et il a été utilisé dans divers domaines, y compris les soins de santé. Voici quelques-unes des applications de ce modèle:

  • Pendant la pandémie covide, le mobilenet a été utilisé pour catégoriser la radiographie pulmonaire en trois: pneumonie normale, covide et virale. Le résultat est également venu avec une précision très élevée.
  • MobileNetv2 a également été efficace pour détecter deux formes majeures de cancer de la peau. Cette innovation a été importante en tant que soins de santé dans des domaines qui ne pouvaient pas se permettre une connectivité Internet stable qui a sauté ce modèle.
  • Dans l'agriculture, ce modèle était également crucial pour détecter la maladie des feuilles dans les cultures de tomates. Ainsi, avec une application mobile, ce modèle peut aider à détecter 10 maladies des feuilles courantes.

Vous pouvez également consulter le modèle ici: lien

Envelopper

Mobilenet est le résultat d'une masterclass par des chercheurs de Google dans la mise en œuvre de modèles avec des coûts de calcul élevés aux appareils mobiles sans interférer avec leur efficacité. Ce modèle a été construit sur une architecture qui permet la création de la classification et de la détection d'images uniquement à partir d'applications mobiles. Les cas d'utilisation des soins de santé et de l'agriculture sont des preuves des capacités de ce modèle.

Takeaway clé

Il y a quelques points de discussion sur le fonctionnement de ce modèle, de l'architecture aux applications. Voici quelques-uns des faits saillants de cet article:

  • Architecture améliorée: La deuxième version de MobileNet est venue avec des résidus inversés et des couches d'étranglement dans MobileNetv2. Ce développement a amélioré l'efficacité et la précision tout en conservant des performances légères.
  • Optimisation mobile efficace: la conception de ce modèle pour la conception mobile et intégrée signifie qu'elle sert de faibles ressources de calcul tout en offrant des performances efficaces.
  • Applications du monde réel: MobileNet a été utilisé avec succès dans les soins de santé (par exemple, Covid-19 et détection du cancer de la peau) et l'agriculture (par exemple, la détection des maladies foliaires dans les cultures).

Le média présenté dans cet article ne appartient pas à l'analyse vidhya et est utilisé à la discrétion de l'auteur.

Les questions fréquemment posées

Q1. Qu'est-ce qui rend MobileNetv2 différent des autres modèles CNN?

ANS. MobileNetv2 utilise une convolution séparable dans le sens de la profondeur et des résidus inversés, ce qui le rend plus efficace pour les systèmes mobiles et intégrés par rapport aux CNN traditionnels.

Q2. MobileNetv2 peut-il être utilisé pour des applications en temps réel? 

Ans. MobileNetv2 est optimisé pour les tâches de classification d'images à faible latence et en temps réel, ce qui le rend adapté aux appareils mobiles et bords.

Q3. Quelle est la précision de MobileNetv2 par rapport aux modèles plus grands? 

Ans. Bien que MobileNetV2 soit optimisé pour l'efficacité, il maintient une précision élevée près des modèles plus grands, ce qui en fait un choix fort pour les applications d'IA mobiles.

Q4. Quelle est la précision de MobileNetv2 par rapport aux modèles plus grands?

ANS. Bien que MobileNetV2 soit optimisé pour l'efficacité, il maintient une précision élevée près des modèles plus grands, ce qui en fait un choix fort pour les applications d'IA mobiles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal