Heim >Technologie-Peripheriegeräte >KI >Wie mache ich Bildklassifizierung mit Mobilenetv2 -Modell?

Wie mache ich Bildklassifizierung mit Mobilenetv2 -Modell?

Lisa Kudrow
Lisa KudrowOriginal
2025-03-04 11:02:091001Durchsuche

Mobilenet ist ein Open-Source-Modell, das die Entstehung von Smartphones unterstützt. Es verwendet eine CNN -Architektur, um Computer -Vision -Aufgaben wie Bildklassifizierung und Objekterkennung auszuführen. Modelle, die diese Architektur verwenden, erfordern normalerweise viele Rechenkosten und Hardware -Ressourcen, aber Mobilenet wurde dazu gebracht, mit mobilen Geräten zu arbeiten und sich einzubetten.

Im Laufe der Jahre wurde dieses Modell für verschiedene reale Anwendungen verwendet. Es verfügt auch über einige Funktionen, z. B. die Reduzierung der Parameter mithilfe der Faltung der Tiefenabteilung. Mit den begrenzten Hardware -Ressourcen mobiler Geräte kann diese Technik dazu beitragen, das Modell funktional zu machen.

Wir werden diskutieren, wie dieses Modell Bilder mithilfe der vorgeschriebenen Klasse zu Klassifikatoren mit Tiefe effizient klassifiziert.

Lernziele

  • Erfahren Sie etwas über Mobilenet und sein Arbeitsprinzip.
  • Erhalten Sie Einblick in die Architektur von Mobilenet.
  • Inferenz von Mobilenet ausführen, um Bildklassifizierung durchzuführen.
  • Erforschen Sie die realen Anwendungen von Mobilenet.

Dieser Artikel wurde als Teil des Data Science -Blogathon veröffentlicht.

Inhaltsverzeichnis

  • Arbeitsprinzip von Mobilenet
  • Standard -Kovulation
  • Wie funktioniert die Tiefen- und punktweise Faltung? Bild
  • Laden Sie das vorgebildete Modell für die Bildklassifizierung
  • Eingabebereich
    • Ausgabe
    • Anwendung dieses Modells
    • häufig gestellte Fragen
  • Arbeitsprinzip von Mobilenet
  • Das Arbeitsprinzip von Mobilenet ist einer der wichtigsten Teile der Struktur dieses Modells. Es beschreibt die Techniken und Methoden, die zum Erstellen dieses Modells angewendet und es an mobile und eingebettete Geräte anpassbar werden. Das Design dieses Modells nutzt die CNN -Architektur der Figolution Neural Network (CNN), damit er auf mobilen Geräten arbeiten kann.
  • Ein entscheidender Teil dieser Architektur ist jedoch die Verwendung einer tiefen trennbaren Faltung, um die Anzahl der Parameter zu verringern. Diese Methode verwendet zwei Operationen: Tiefen- und punktuelle Faltung.
  • Standard -Kovulation

Ein Standardverteilungsprozess beginnt mit dem Filter (Kernel); In diesem Schritt werden Bildfunktionen wie Kanten, Texturen oder Muster in Bildern erkannt. Darauf folgt der Filter über die Breite und Höhe des Bildes. Und jeder Schritt beinhaltet eine elementbezogene Multiplikation und Zusammenfassung. Die Summe davon ergibt eine einzige Zahl, die zur Bildung einer Merkmalskarte führt. Es repräsentiert das Vorhandensein und die Stärke der vom Filter erkannten Merkmale.

Dies ist jedoch mit hohen Rechenkosten und erhöhten Parameterzahl geliefert, weshalb die Notwendigkeit einer tiefen und punktuellen Faltung erforderlich ist.

Wie mache ich Bildklassifizierung mit Mobilenetv2 -Modell?

Wie funktioniert die Tiefe und punktweise Faltung?

Die Tiefenverfolgung wendet einen einzelnen Filter auf den Eingangskanal an, während die pointentische Ausgabe aus der Tiefenverfolgung kombiniert, um neue Merkmale aus dem Bild zu erstellen.

ist also der Unterschied hier, dass die Multiplikationsaufgabe bei der Anwendung von Tiefenwiell nur ein einzelner Filter reduziert wird, was bedeutet, dass der Ausgang die gleiche Anzahl von Kanälen wie die Eingabe hat. Dies führt zur punktgenannten Faltung.

tbe pointise -Faltung verwendet einen 1 × 1 -Filter, der Funktionen kombiniert oder erweitert. Dies hilft dem Modell, verschiedene Muster zu lernen, die auf den Kanalfunktionen verzichten, um eine neue Funktionskarte zu erstellen. Dies ermöglicht die punkte Faltung, die Anzahl der Kanäle in der Ausgangsfunktionskarte zu erhöhen oder zu verringern.

mobilenet architecure

Dieses Computer Vision -Modell basiert auf CNN -Architektur, um Aufgaben zur Bildklassifizierung und Objekterkennung auszuführen. Die Verwendung einer tiefen trennbaren Faltung besteht darin, dieses Modell an mobile und eingebettete Geräte anzupassen, da es das Aufbau von leichten tiefen neuronalen Netzwerken ermöglicht.

Dieser Mechanismus bringt die Reduzierung der Parameterzahlen und die Latenz mit den Ressourcenbeschränkungen ein. Die Architektur ermöglicht Effizienz und Genauigkeit in der Ausgabe des Modells.

Die zweite Version dieses Modells (Mobilenetv2) wurde mit einer Verbesserung erstellt. Mobilenet V2 führte eine spezielle Art von Baustift ein, die invertierte Residuen mit Engpässen bezeichnet. Diese Blöcke reduzieren die Anzahl der verarbeiteten Kanäle und machen das Modell effizienter. Es enthält auch Verknüpfungen zwischen Engpassschichten, um den Informationsfluss zu verbessern. Anstatt eine Standardaktivierungsfunktion (Relu) in der letzten Schicht zu verwenden, verwendet sie eine lineare Aktivierung, die besser funktioniert, da die Daten in dieser Phase eine niedrigere räumliche Größe haben.

wie kann ich dieses Modell ausführen?

erfordert dieses Modell für die Bildklassifizierung einige Schritte. Das Modell empfängt und klassifiziert ein Eingabebild unter Verwendung seiner eingebauten Vorhersageklasse. Lassen Sie uns in die Schritte eintauchen, wie man Mobilenet ausführt:

importieren erforderliche Bibliotheken für die Bildklassifizierung

Sie müssen einige wesentliche Module importieren, um dieses Modell auszuführen. Dies beginnt mit dem Importieren des Bildprozessor- und Bildklassifizierungsmoduls aus der Transformator -Bibliothek. Sie helfen bei der Vorverarbeitung von Bildern und laden ein vorgebildetes Modell. Außerdem wird PIL verwendet, um Bilder zu manipulieren, während Sie mit „Anfragen“ Bilder aus dem Web abrufen können.

from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import requests

Eingabebild laden

 image = Image.open('/content/imagef-ishfromunsplash-ezgif.com-webp-to-jpg-converter.jpg')

Die Funktion "Image.open" wird aus der PIL -Bibliothek verwendet, um das Bild von einem Dateipfad zu laden, der in diesem Fall von unserem lokalen Gerät hochgeladen wurde. Eine andere Alternative wäre, das Bild mit seiner URL zu holen.

Wie mache ich Bildklassifizierung mit Mobilenetv2 -Modell?

Laden des vorgebildeten Modells für die Bildklassifizierung

Der nachstehende Code initialisiert den Prozess "AutoimageProcessor" aus dem vorgeborenen Modell Mobilenetv2. Dieser Teil übernimmt das Bild vorverarbeitet, bevor er es dem Modell füttert. Wie in der zweiten Zeile zu sehen, lädt der Code das entsprechende Mobilenetv2 -Modell für die Bildklassifizierung.

preprocessor = AutoImageProcessor.from_pretrained("google/mobilenet_v2_1.0_224")
model = AutoModelForImageClassification.from_pretrained("google/mobilenet_v2_1.0_224")

Eingabeverarbeitung

In diesem Schritt wird das vorverarbeitete Bild in ein für Pytorch geeigneter Format umgewandelt. Dann wird es durch das Modell geleitet, um Ausgangsprotokoll zu generieren, die unter Verwendung von Softmax in Wahrscheinlichkeiten umgewandelt werden.

inputs = preprocessor(images=image, return_tensors="pt")
 
outputs = model(**inputs)
logits = outputs.logits

Ausgabe

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

Dieser Code findet die Klasse mit dem höchsten Vorhersagewert aus der Ausgabe (Logits) des Modells und ruft ihre entsprechende Etikett aus der Konfiguration des Modells ab. Das vorhergesagte Klassenetikett wird dann gedruckt.

Hier ist die Ausgabe:

Wie mache ich Bildklassifizierung mit Mobilenetv2 -Modell?

Hier ist ein Link zur Colab -Datei.

Anwendung dieses Modells

Mobilenet hat Anwendungen in verschiedenen realen Anwendungsfällen gefunden. Und es wurde in verschiedenen Bereichen einschließlich des Gesundheitswesens eingesetzt. Hier sind einige der Anwendungen dieses Modells:

  • Während der Covid-Pandemie wurde Mobilenet verwendet, um die Röntgenaufnahme der Brust in drei zu kategorisieren: normale, covid und virale Lungenentzündung. Das Ergebnis kam auch mit einer sehr hohen Genauigkeit.
  • mobilenetv2 war auch effizient bei der Nachweis von zwei Hauptformen von Hautkrebs. Diese Innovation war als Gesundheitsversorgung in Bereichen erheblich, die sich keine stabile Internetkonnektivität leisten konnten.
  • In der Landwirtschaft war dieses Modell auch entscheidend für die Erkennung von Blatterkrankungen in Tomatenpflanzen. Mit einer mobilen Anwendung kann dieses Modell also dazu beitragen, 10 häufige Blattkrankheiten zu erkennen.

Sie können auch das Modell hier überprüfen: Link

einpacken

mobilenet ist das Ergebnis einer Meisterklasse durch Google -Forscher, um Modelle mit hohen Rechenkosten auf mobile Geräte zu bringen, ohne ihre Effizienz zu stören. Dieses Modell wurde auf einer Architektur basiert, die die Erstellung von Bildklassifizierung und Erkennung nur aus mobilen Anwendungen ermöglicht. Die Anwendungsfälle im Gesundheitswesen und in der Landwirtschaft sind Beweise für die Kapazitäten dieses Modells.

Key Takeaway

Es gibt einige Gesprächsthemen darüber, wie dieses Modell funktioniert, von der Architektur bis zu Anwendungen. Hier sind einige der Höhepunkte dieses Artikels:

  • Verbesserte Architektur: Die zweite Version von Mobilenet wurde mit umgekehrten Residuen und Engpässen in Mobilenetv2 geliefert. Diese Entwicklung verbesserte die Effizienz und Genauigkeit bei der Aufrechterhaltung der leichten Leistung.
  • Effiziente mobile Optimierung: Das Design dieses Modells für mobiles und eingebettetes Design bedeutet, dass es niedrige Rechenressourcen bietet und gleichzeitig eine effektive Leistung bietet.
  • reale Anwendungen: Mobilenet wurde erfolgreich im Gesundheitswesen (z. B. Covid-19- und Hautkrebserkennung) und Landwirtschaft (z. B. Erkennung von Blattkrankheiten in Pflanzen) verwendet.
  • ).

Die in diesem Artikel gezeigten Medien sind nicht im Besitz von Analytics Vidhya und wird nach Ermessen des Autors verwendet.

häufig gestellte Fragen Q1. Was unterscheidet Mobilenetv2 von anderen CNN -Modellen?

Ans. Mobilenetv2 verwendet eine detiefe trennbare Faltung und umgekehrte Residuen, wodurch es für mobile und eingebettete Systeme effizienter wird als herkömmliche CNNs. Q2. Kann Mobilenetv2 für Echtzeitanwendungen verwendet werden? 

Ans. Mobilenetv2 ist für Aufgaben mit geringer Latenz und Echtzeit-Bildklassifizierung optimiert, wodurch es für mobile und Kantengeräte geeignet ist. Q3. Wie genau ist Mobilenetv2 im Vergleich zu größeren Modellen? 

Ans. Während Mobilenetv2 für die Effizienz optimiert ist, hält es eine hohe Genauigkeit in der Nähe größerer Modelle, was es zu einer starken Wahl für mobile AI -Anwendungen macht. Q4. Wie genau ist Mobilenetv2 im Vergleich zu größeren Modellen?

Ans. Während Mobilenetv2 für die Effizienz optimiert ist, hält es eine hohe Genauigkeit in der Nähe größerer Modelle, was es zu einer starken Wahl für mobile AI -Anwendungen macht.

Das obige ist der detaillierte Inhalt vonWie mache ich Bildklassifizierung mit Mobilenetv2 -Modell?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Chinas neuer AI-Video Star: Stiefvideo-T2VNächster Artikel:Keiner