Mobilenet ist ein Open-Supply-Modell, das die Entstehung von Smartphones unterstützt. Es verwendet eine CNN -Architektur, um Laptop -Imaginative and prescient -Aufgaben wie Bildklassifizierung und Objekterkennung auszuführen. Modelle, die diese Architektur verwenden, erfordern normalerweise viele Rechenkosten und {Hardware} -Ressourcen, aber Mobilenet wurde zur Arbeit mit mobilen Geräten und Einbettungen erstellt.
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, dass das Modell funktionsfähig wird.
Wir werden diskutieren, wie dieses Modell Bilder mithilfe einer vorgeschriebenen Klassenklasse zu Klassifikatorbildern mit Tiefe effizient klassifiziert.
Lernziele
- Erfahren Sie mehr über Mobilenet und sein Arbeitsprinzip.
- Erhalten Sie Einblick in die Architektur von Mobilenet.
- Führen Sie die Schlussfolgerung auf Mobilenet aus, um die Bildklassifizierung durchzuführen.
- Erkunden Sie die realen Anwendungen von Mobilenet.
Dieser Artikel wurde als Teil der veröffentlicht Knowledge Science Blogathon.
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 cell und eingebettete Geräte anpassbar werden. Das Design dieses Modells nutzt Faltungsnetzwerk (CNN) Architektur, damit es auf mobilen Geräten arbeiten kann.
Ein entscheidender Bestandteil dieser Architektur ist jedoch die Verwendung einer tiefen trennbaren Faltung, um die Anzahl der Parameter zu verringern. Diese Methode verwendet zwei Operationen: Tiefen- und punktweise Faltung.
Commonplace -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 funktioniert die Tiefe und punktweise Faltung?
Die Tiefenverarbeitung wendet einen einzelnen Filter auf den Eingangskanal an, während der punktuelle Ausgang aus der Tiefenverarbeitung neue Merkmale aus dem Bild erstellt.
Der Unterschied hier besteht additionally darin, dass die Multiplikationsaufgabe bei der Anwendung von Tiefen nur einen einzelnen Filter reduziert wird, was bedeutet, dass der Ausgang die gleiche Anzahl von Kanälen wie die Eingabe hat. Dies führt zur punktgenannten Faltung.
Die punktuelle 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 punktuelle Faltung, die Anzahl der Kanäle in der Ausgangsfunktionskarte zu erhöhen oder zu verringern.
Mobilenet Architcure
Dieses Laptop -Imaginative and prescient -Modell basiert auf CNN -Architektur, um Aufgaben zur Bildklassifizierung und Objekterkennung auszuführen. Die Verwendung einer tiefen trennbaren Faltung besteht darin, dieses Modell an cell 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 zur Erfüllung der Ressourcenbeschränkungen ein. Die Architektur ermöglicht Effizienz und Genauigkeit bei der Ausgabe des Modells.
Die zweite Model dieses Modells (Mobilenetv2) wurde mit einer Verbesserung gebaut. Mobilenet V2 führte eine spezielle Artwork 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, wird eine lineare Aktivierung verwendet, die besser funktioniert, da die Daten in dieser Part eine niedrigere räumliche Größe haben.
Wie führe ich dieses Modell aus?
Die Verwendung dieses Modells für die Bildklassifizierung erfordert 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 betreibt:
Importieren der erforderlichen 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 Internet abrufen können.
from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Picture
import requests
Laden Sie das Eingabebild
picture = Picture.open('/content material/imagef-ishfromunsplash-ezgif.com-webp-to-jpg-converter.jpg')
Die Funktion ‚Picture.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 Different wäre, das Bild mit seiner URL zu holen.
Laden des vorgebildeten Modells für die Bildklassifizierung
Der folgende Code initialisiert den Prozess „AutoimageProcessor“ aus dem vorgebildeten Modell Mobilenetv2. Dieser Teil übernimmt das Bild vorverarbeitet, bevor er es dem Modell füttert. Wie in der zweiten Zeile zu sehen ist der Code das entsprechende Mobilenetv2 -Modell für die Bildklassifizierung.
preprocessor = AutoImageProcessor.from_pretrained("google/mobilenet_v2_1.0_224")
mannequin = AutoModelForImageClassification.from_pretrained("google/mobilenet_v2_1.0_224")
Eingabeverarbeitung
In diesem Schritt wird das vorverarbeitete Bild in ein für Pytorch geeignetes Format umgewandelt. Anschließend wird es durch das Modell geleitet, um Ausgabeprotokolle zu generieren, die unter Verwendung von Softmax in Wahrscheinlichkeiten umgewandelt werden.
inputs = preprocessor(pictures=picture, return_tensors="pt")
outputs = mannequin(**inputs)
logits = outputs.logits
Ausgabe
# mannequin predicts one of many 1000 ImageNet lessons
predicted_class_idx = logits.argmax(-1).merchandise()
print("Predicted class:", mannequin.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:

Hier ist ein Hyperlink zum 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 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 conflict auch effizient bei der Erkennung von zwei Hauptformen von Hautkrebs. Diese Innovation conflict als Gesundheitsversorgung in Bereichen erheblich, die sich nicht stabile Internetkonnektivität leisten konnten.
- In der Landwirtschaft conflict dieses Modell auch entscheidend für die Erkennung von Blatterkrankungen in Tomatenpflanzen. Mit einer mobilen Anwendung kann dieses Modell additionally dazu beitragen, 10 häufige Blattkrankheiten zu erkennen.
Sie können das Modell auch hier überprüfen: Hyperlink
Einpacken
Mobilenet ist das Ergebnis einer Meisterklasse durch Google -Forscher, um Modelle mit hohen Rechenkosten auf cell 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.
Schlüssel zum Mitnehmen
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 Model 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 cell Optimierung: Das Design dieses Modells für mobiles und eingebettetes Design bedeutet, dass es niedrige Rechenressourcen serviert und gleichzeitig eine effektive Leistung bietet.
- Reale Anwendungen: Mobilenet wurde erfolgreich im Gesundheitswesen (z. B. COVID-19- und Hautkrebserkennung) und die Landwirtschaft (z. B. nach Erkennung von Blattkrankheiten in Pflanzen) eingesetzt.
Die in diesem Artikel gezeigten Medien sind nicht im Besitz von Analytics Vidhya und werden nach Ermessen des Autors verwendet.
Häufig gestellte Fragen
Ans. Mobilenetv2 verwendet eine detiefe trennbare Faltung und umgekehrte Residuen, wodurch sie für cell und eingebettete Systeme im Vergleich zu herkömmlichen CNNs effizienter gestaltet werden.
Ans. Mobilenetv2 ist für Aufgaben mit geringer Latenz und Echtzeit-Bildklassifizierung optimiert, wodurch es für cell und Kantengeräte geeignet ist.
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 cell AI -Anwendungen macht.
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 cell AI -Anwendungen macht.