Maschinelles Lernen und neuronale Netze - Seite 39

 

YOLOv8 | Objekterkennung | Segmentierung | Vollständiges Tutorial Google Colab| Ein-Klick-Lösung



YOLOv8 | Objekterkennung | Segmentierung | Vollständiges Tutorial Google Colab| Ein-Klick-Lösung

Das Video-Tutorial zeigt, wie Sie YOLOv8 mit Google Colab zur Objekterkennung und -segmentierung implementieren. Benutzer werden durch die Schritte zum Klonen des GitHub-Repositorys, Installieren von Paketen, Konfigurieren von Verzeichnissen und Importieren von Demovideos von Google Drive zum Testen geführt. Dem Benutzer wird auch gezeigt, wie er das YOLOv8-Modell zur Objekterkennung in einem Demovideo ausführt, wie er etwaige Abstandsprobleme behebt und wie er das Ausgabevideo speichert und herunterlädt. Das Tutorial behandelt auch die Durchführung der Segmentierung mit YOLOv8 und betont, wie wichtig es ist, zuvor komprimierte Dateien zu entfernen, bevor Sie fortfahren. Ein Link zum Herunterladen der Notebook-Datei wird bereitgestellt, und Zuschauer werden ermutigt, Fragen im Kommentarbereich zu stellen.

  • 00:00:00 In diesem Abschnitt erörtert der Moderator die Implementierung von YOLOv8 unter Verwendung von Google Colab zur Erkennung und Segmentierung. Das Tutorial beginnt mit dem Klonen des YOLOv8-GitHub-Repositorys und der Installation der erforderlichen Pakete. Der Moderator demonstriert, wie das System mit den erforderlichen Verzeichnissen konfiguriert und Demovideos von Google Drive zum Testen importiert werden. Durch Befolgen dieser Schritte und Ausführen der bereitgestellten Zellen können Benutzer YOLOv8 in Google Colab für die Objekterkennung und -segmentierung installieren und implementieren.

  • 00:05:00 In diesem Abschnitt erläutert das Video-Tutorial die Ausführung des YOLOv8-Modells zur Objekterkennung in einem Demovideo. Das Video wird in den Ordner importiert und das YOLOv8 GitHub-Repo wird dem Notizbuch hinzugefügt. Das „Test 1“-Video wird dann mit dem YOLOv8-Modell auf Erkennung getestet, und alle Abstandsprobleme werden behoben, bevor das „Test 2“-Video ausprobiert wird. Das Ausgabevideo wird in einem Pfad gespeichert und kann heruntergeladen werden, um die Ergebnisse zu überprüfen, aber das Tutorial enthält auch ein Skript, um das Demovideo in Google Colab mithilfe von HTML- und Betriebssystembibliotheken anzuzeigen.

  • 00:10:00 Dieser Auszug scheint eine Fortsetzung eines Tutorials zum Erstellen eines Objekterkennungsmodells mit YOLOv8 in Google Colab zu sein. Der Sprecher nimmt einige Anpassungen am Code vor und sucht nach Fehlern, um sicherzustellen, dass der Pfad für das Ausgabevideo korrekt ist. Sie erwähnen ein Problem mit fehlendem RB.free und ein Abstandsproblem, das sie korrigieren, bevor sie den Code erneut ausführen. Das Video zeigt die Ausgabe des Objekterkennungsmodells.

  • 00:15:00 In diesem Abschnitt führt der Benutzer eine Segmentierung mit YOLOv8 durch. Sie kopieren den erforderlichen Code und führen ihn aus, um die Segmentierung durchzuführen, wodurch beeindruckende Ergebnisse im Ausgabevideo erzielt werden. Der Benutzer betont, wie wichtig es ist, die vorherige komprimierte Datei zu entfernen, bevor er mit der Segmentierung fortfährt. Sie bieten auch einen Link zum Herunterladen der Notizbuchdatei und ermutigen die Zuschauer, eventuelle Fragen im Kommentarbereich zu stellen.
 

KI-Gesichtserkennung | Gesichtsausdrücke identifizieren mit V7



KI-Gesichtserkennung | Gesichtsausdrücke identifizieren mit V7

In den Video-Tutorials wird der Prozess der Verwendung der V7-Plattform zum Erstellen kommentierter Datensätze für die KI-Gesichtsemotionserkennung erläutert. Die Tutorials decken verschiedene Aspekte des Prozesses ab, darunter das Erstellen eines Datensatzes, das Kommentieren von Bildern und Videos für Emotionen, das Trainieren des Modells und das Testen mit Beispielbildern und Live-Webcams. Die Bedeutung einer genauen Kennzeichnung für ein effektives Training von KI-Modellen wird in den Tutorials betont, und die Funktionen und mehrere Modelle der V7-Plattform werden hervorgehoben. Die Tutorials bieten End-to-End-Beispiele für den Annotationsprozess zum Identifizieren von Gesichtsausdrücken mithilfe von KI.

  • 00:00:00 In diesem Abschnitt erklärt der YouTuber, wie man mit der V7-Plattform einen Gesichtsausdruck-Detektor erstellt. Sie durchlaufen die Schritte zum Erstellen eines Datensatzes, zum Hochladen von Bildern und Videos und zum Beschriften des Datensatzes. Die V7-Plattform ermöglicht es dem Benutzer, sein Modell für die Objekterkennung oder Segmentierung und Klassifizierung zu trainieren und es anhand von Beispielbildern, Videos oder sogar vor einer Webcam zu testen. Der YouTuber nutzt das Beispiel eines wütenden Gesichtsausdrucks und lädt Bilder hoch, um das Model zu trainieren. Sie erwähnen auch, dass V7 verschiedene Formate für Bilder und Videos anbietet, darunter unter anderem PNG, JPG, JFIF, MP4 und ABI. Insgesamt bietet dieses Video ein End-to-End-Tutorial zur Implementierung eines Mimik-Detektors mit der V7-Plattform.

  • 00:05:00 In diesem Abschnitt führt der Moderator durch den Prozess des Kommentierens von Gesichtsausdrücken mit V7 Labs. Am Beispiel der wütenden Klasse demonstriert der Moderator, wie man einen Begrenzungsrahmen um das Gesicht einer Person zeichnet und dann eine Klassenbezeichnung für wütende Emotionen erstellt. Der Präsentator fährt dann fort, alle 50 im Datensatz enthaltenen Bilder zu kommentieren, wobei er feststellt, dass der Prozess auch zum Kommentieren von Videobildern repliziert werden kann. Insgesamt betont der Moderator die Bedeutung einer genauen Kennzeichnung für ein effektives Training von KI-Gesichtserkennungsmodellen.

  • 00:10:00 In diesem Abschnitt des Videos zeigt der Moderator, wie Frames aus einem Videodatensatz kommentiert werden, um visuelle Bilder für die KI-Emotionserkennung zu erstellen. Der Moderator lädt einen Videodatensatz hoch und extrahiert ein Bild pro Sekunde, um einzelne Bilder zu erstellen. Die Bilder werden dann separat kommentiert, um die dargestellte Emotion zu identifizieren. Der Moderator weist darauf hin, dass der Prozess zeitaufwändig, aber wichtig ist, um einen umfassenden Datensatz für maschinelles Lernen zu erstellen. Der Moderator demonstriert auch die Fähigkeit, sowohl Bilder als auch Videos für die KI-Emotionserkennung zu kommentieren. Insgesamt bietet dieser Abschnitt ein hilfreiches Tutorial zum Erstellen von annotierten Datensätzen für die KI-Emotionserkennung.

  • 00:15:00 In diesem Abschnitt erläutert der Referent den Prozess des Hochladens und Kommentierens eines Datensatzes für die „Happy“-Klasse in der KI-Gesichtserkennung mit V7-Technologie. Der Referent lädt 50 Bilder hoch und versieht sie nacheinander mit dem „happy“-Label. Sie erwähnen, dass bisher insgesamt 182 Bilder kommentiert wurden, darunter 100 für die Klasse „Wütend“. Sie besprechen auch das Hochladen eines Videos und das Aufteilen in separate Frames, um jedes mit Gesichtsausdrücken zu versehen.

  • 00:20:00 In diesem Abschnitt demonstriert das Video-Tutorial den Annotationsprozess zur Identifizierung glücklicher und ängstlicher Personen in Videos und Bildern mithilfe der KI-Gesichtserkennung. Der Annotator lädt 66 Videos mit glücklichen Personen hoch und kommentiert sie mit Envision, rotiert durch jeden Frame und kennzeichnet glückliche oder neutrale Ausdrücke. Als Nächstes fügt der Annotator eine neue Klasse für Angst hinzu und lädt 50 Bilder hoch. Anschließend kommentiert er jedes Bild mit dem entsprechenden Emotionslabel. Der fertige Datensatz enthält 248 Bilder und Videos, und das Tutorial bietet ein End-to-End-Beispiel für den Annotationsprozess zur Identifizierung von Gesichtsausdrücken mithilfe von KI.

  • 00:25:00 In diesem Abschnitt bespricht der YouTuber seine Fortschritte beim Kommentieren und Animieren von Bildern für sein KI-Gesichtserkennungsprojekt. Sie haben alle 50 Bilder des Klarglases erfolgreich kommentiert und auch die Bild-für-Bild-Annotation eines Videos mit einer Angstperson abgeschlossen. Der YouTuber kommentiert dann alle Bilder für die Überraschungsklasse, die ihre letzte Klasse ist, und erwähnt, dass sie nach Abschluss aller Anmerkungen zum Trainingsteil des Videos übergehen werden. Das Video zeigt ein Workflow-Diagramm für das Projekt, und der YouTuber stellt klar, dass er Objekterkennung und Begrenzungsrahmen erstellen wird, anstatt sofortige Segmentierung oder Klassifizierung.

  • 00:30:00 In diesem Abschnitt demonstriert das Video-Tutorial den Prozess des Trainierens eines KI-Modells anhand eines Datensatzes von Gesichtsausdrücken und Emotionen mit V7. Das Tutorial zeigt, wie das Training des Datasets geplant und überwacht wird, wobei nach Abschluss eine E-Mail-Benachrichtigung gesendet wird. Das Video hebt auch die Leistungsmetriken des Modells hervor, einschließlich durchschnittlicher Präzision und Recall, sowie Verluste, die im Laufe der Zeit kontinuierlich abnahmen. Das Tutorial schließt damit, dass gezeigt wird, wie das trainierte Modell für die Verwendung in verschiedenen APIs mit Python, Shell, JavaScript oder Elixir bereitgestellt werden kann und wie das Modell auch auf Live-Webcams getestet werden kann.

  • 00:35:00 In diesem Abschnitt demonstriert der Redner die KI-Gesichtsemotionserkennung mit V7 Labs. Der Prozess beinhaltet das Sammeln und Kennzeichnen von Bilddatensätzen für die Emotionen Wut, Glück, Angst, Überraschung und mehr. Der Sprecher trainiert das Modell und testet es mit einer Webcam und Bildbeispielen, um gute Ergebnisse zu erzielen. V7 Labs bietet auch mehrere Modelle für Aufgaben wie Segmentierung und Textscannen, und Benutzer können ihre eigenen Modelle mit kostenlosen Credits erstellen. Der Sprecher neckt zukünftige Projekte mit V7 und ermutigt die Zuschauer, das Video zu teilen und zu liken.
 

Fußballspieler- und Ballerkennung und -verfolgung in Echtzeit mit YOLOv8 Live: Objektverfolgung YOLOv8



Fußballspieler- und Ballerkennung und -verfolgung in Echtzeit mit YOLOv8 Live: Objektverfolgung YOLOv8

In diesem YouTube-Video-Tutorial demonstriert der Moderator den Prozess zum Erstellen eines Datasets zur Fußballspieler- und Ballerkennung und -verfolgung mit Roboflow. Der Moderator führt Sie durch die Schritte zum Hochladen und Kommentieren von Bildern, zum Vorbereiten des Datensatzes, zum Trainieren des Modells, zum Testen von Beispielvideos und einer Live-Webcam und zum Ändern des Codes zur Verbesserung der Nachverfolgung. Insgesamt funktioniert das YOLOv8-Modell gut, weist jedoch einige Einschränkungen bei der Erkennung von Fußball in bestimmten Szenarien auf.

  • 00:00:00 In diesem Abschnitt des Tutorials führt der Moderator durch den Prozess der Erstellung eines Fußballspieler- und Ballerkennungsdatensatzes mit Roboflow. Sie demonstrieren, wie man sich für ein Konto anmeldet und ein neues Projekt erstellt, sowie wie man Videos von YouTube hochlädt und verarbeitet, um Frames für Anmerkungen zu extrahieren. Der Moderator stellt fest, dass die Frames noch nicht mit Anmerkungen versehen sind, und fährt damit fort, ein weiteres Video zur Anmerkung hochzuladen.

  • 00:05:00 In diesem Abschnitt demonstriert der Videoersteller den Vorgang des Hochladens und Kommentierens von Bildern für ein Fußballspieler- und Ballerkennungs- und -verfolgungsprojekt. Der Ersteller lädt Bilder hoch und extrahiert Frames aus einem Video und weist sich selbst die Aufgabe zu, Bilder zu kommentieren. Sie kommentieren jedes Bild mit Beschriftungen für Fußball oder Fußballspieler und demonstrieren das Kommentieren verschiedener Spieler in jedem Bild. Abschließend stellen sie fest, dass sie insgesamt 1827 Bilder für das Projekt kommentiert haben.

  • 00:10:00 In diesem Abschnitt des Videos spricht der Moderator über die Vorbereitung des Datensatzes für ein Fußballspieler- und Ballerkennungsmodell, indem er die Größe aller Bilder auf 640 x 640 ändert, nicht kommentierte Bilder herausfiltert und erweiterte Daten generiert, um den Datensatz zu vergrößern Größe. Die erweiterten Daten enthalten zwei Bilder mit unterschiedlichen Kontrasten und Helligkeitsstufen, die aus einem einzigen Bild erzeugt wurden. Der Moderator exportiert das Dataset aus Roboflow in eine Google Colab-Datei und trainiert das Modell mit einem Fußball-Dataset, das aus einem GitHub-Repository extrahiert wurde. Sie verbinden auch ihr Google Drive mit dem Colab-Notebook, um die Gewichte des trainierten Modells zu sparen.

  • 00:15:00 In diesem Abschnitt legt der Benutzer sein aktuelles Arbeitsverzeichnis als GitHub-Repository fest und installiert alle erforderlichen Abhängigkeiten, um Fehler beim Ausführen des Erkennungs- oder Vorhersageprozesses zu vermeiden. Sie bewegen sich dann zur erforderlichen Verzeichniserkennung und laden den Datensatz von roboflow in ihr Google-Notebook herunter. Der Benutzer lädt auch die Deep Sort-Dateien herunter und entpackt sie, um die Objektverfolgung mit Deep Sort zu implementieren. Schließlich trainieren sie das benutzerdefinierte Modell von YOLOv8 auf dem Fußballspieler- und Fußballdatensatz und validieren es, um einen guten Mittelwert sicherzustellen. Der Benutzer kann die Trainingsergebnisse überprüfen, einschließlich der F1-Kurve, der Präzisionskurve, der Recall-Kurve und der Trainings- und Validierungsbankergebnisse.

  • 00:20:00 In diesem Abschnitt diskutiert der Referent die Ergebnisse seines YOLOv8-Modells zur Erkennung und Verfolgung von Fußballspielern und Bällen. Sie berichten präzise Ergebnisse mit einer durchschnittlichen Genauigkeit von 0,63144 und 0,476 für Spieler und einer guten Fußballerkennung. Der Redner demonstriert dann, wie er ein Beispielvideo heruntergeladen hat, um sein Modell zu testen, und zeigt die Ergebnisse und platziert das Modell in einem Live-Webcam-Test. Insgesamt funktionierte das Modell gut bei der Erkennung von Spielern und der Zuweisung eindeutiger IDs, aber es gab einige verpasste Erkennungen von Fußball.

  • 00:25:00 In diesem Abschnitt zeigt das Video, wie die dem Fußball im Code zugewiesene eindeutige ID entfernt wird, um den Tracking-Prozess zu vereinfachen. Die Codeänderungen werden vorgenommen, indem die Datei project.py bearbeitet und die dem Fußballlabel zugewiesene eindeutige ID entfernt wird. Das Ausgabevideo wird dann heruntergeladen und auf einer Live-Webcam getestet, wo das Modell den Fußball erfolgreich erkennen kann, aber nicht den Spieler, da sie nicht wie ein Spieler gekleidet sind. Insgesamt verbesserten die am Code vorgenommenen Änderungen den Tracking-Prozess und führten zu zufriedenstellenden Ergebnissen.

  • 00:30:00 In diesem Abschnitt demonstriert der Moderator ein Skript, das geschrieben wurde, um mit YOLOv8 Vorhersagen auf einer Live-Webcam durchzuführen. Das Skript importiert YOLO, legt die Gewichtsdatei fest und führt Vorhersagen mit einer auf 0 gesetzten Quelle und einer auf wahr gesetzten Anzeige durch. Der Konfidenzwert wird auf 0,15 gesetzt. Während das Model als Spieler verkleidet war, konnte es den Moderator nicht erkennen, aber die Ergebnisse zum Erkennen eines Fußballs waren erfolgreich.
 

YOLOv8 und VGG16 für Gesicht, Geschlechtserkennung, Gesichtszählung und Personenverfolgung | Benutzerdefinierter Datensatz



YOLOv8 und VGG16 für Gesicht, Geschlechtserkennung, Gesichtszählung und Personenverfolgung | Benutzerdefinierter Datensatz

Das Video-Tutorial erklärt den Prozess der Gesichtserkennung, Geschlechtsklassifizierung, Gesichtszählung und Personenverfolgung mit den Modellen YOLOv8 und VGG16. Das Tutorial behandelt verschiedene Aspekte der Implementierung und des Trainings dieser Modelle, einschließlich Datenaufbereitung, Datenerweiterung, Feinabstimmung des vortrainierten VGG16-Modells, Verwendung von Transfer Learning und Training des YOLOv8-Modells für die Gesichtserkennung. Der Referent erklärt außerdem, wie man ein Google Drive in ein Google Colab-Notebook einbindet, auf Bilddatensätze zugreift und diese konvertiert, benötigte Bibliotheken herunterlädt und die Objektverfolgung mit Deepsort integriert. Das Tutorial enthält detaillierte Codeerklärungen zum Zeichnen von Begrenzungsrahmen um erkannte Objekte, zum Integrieren des Geschlechtsklassifizierungsmodells, zum Zählen der Anzahl der Gesichter in einem Frame und zum Zuweisen jedes erkannten Gesichts mit deepsort.update zu einer eindeutigen ID.

  • 00:00:00 In diesem Abschnitt des Video-Tutorials wird der Workflow für die Gesichtserkennung mit Geschlechtsklassifizierung und Gesichtszählung mit Tracking mit YOLOv8 und VGG16 erklärt. Der erste Schritt besteht darin, den Datensatz mit Bildern von Männern und Frauen vorzubereiten, um das VGG16-Modell für die Geschlechtserkennung zu trainieren, gefolgt vom Training des YOLOv8-Modells für die Gesichtserkennung. Bei der Gesichtserkennung von YOLOv8 erfolgt die Geschlechtsklassifizierung anhand des trainierten VGG16-Modells. Die Objektverfolgung wird dann mit Deepsort implementiert, wobei jedem erkannten Gesicht oder jeder erkannten Person eine eindeutige ID zugewiesen wird. Das Notebook ist in neun Schritte unterteilt, darunter das Importieren erforderlicher Bibliotheken, das Mounten von Google Drive, das Laden des Datensatzes, das Konvertieren von Bildern und Beschriftungen in Arrays, das Anwenden von Datenerweiterungen, das Feinabstimmen des VGG16-Modells auf Geschlechtsklassifizierungsdaten, das Zeichnen von Trainings- und Validierungsverlusten und Testen mit einem Beispielbild.

  • 00:05:00 In diesem Abschnitt erläutert der Referent verschiedene Bibliotheken und Funktionen, die zum Konvertieren von Bildern in Numpy-Arrays und umgekehrt verwendet werden können. Sie erklären auch die Verwendung einer kategorialen Bibliothek mit zwei Bindestrichen und das Konzept sequentieller und funktionaler Ansätze zum Anordnen von Schichten im neuronalen Netzwerk. Die abgeflachte Schicht wird zum Konvertieren mehrdimensionaler Eingaben in eindimensionale verwendet, während die dichte Schicht zum Definieren der Größe der Ausgabeschicht verwendet wird. Darüber hinaus diskutieren sie die Verwendung von Transfer Learning mit dem VGG16-Modell und den Import von Train-Test-Split-, Numpy- und OS-Bibliotheken. Schließlich erwähnen sie die Verwendung der gdob-Bibliothek für den Zugriff auf alle Dateien in einem Ordner und die zufällige Bibliothek für das Mischen von Bilddatensätzen.

  • 00:10:00 In diesem Abschnitt erklärt das Video, wie Sie ein Google Drive mit einem Google Colab-Notebook bereitstellen, um auf einen Datensatz zuzugreifen, der im ZIP-Format hochgeladen wird. Der Datensatz enthält Bilder von Gesichtern von Männern und Frauen, und das Video zeigt, wie Sie den Ordner mit diesen Bildern entpacken und darauf zugreifen können. Unter Verwendung der Glob-Bibliothek greift das Video auf alle Bilddateien in den Datensatzordnern zu und konvertiert sie in ein Array-Format mit Beschriftungen, die angeben, ob das Bild ein Mann- oder ein Frauengesicht ist. Das Video zeigt ein Beispielbild und erklärt, wie die Variable image files alle Bilddateipfade des Ordners men und women enthält, die mit cb2.im read ausgelesen werden können.

  • 00:15:00 In diesem Abschnitt erklärt der Referent, wie sie ihren Datensatz für die Gesichts- und Geschlechtserkennung aufbereitet haben. Sie erstellten einen „Männer“- und einen „Frauen“-Ordner, veränderten die Größe der darin enthaltenen Bilder und wandelten sie in Arrays um, die dann in einer Datenliste gespeichert wurden. Sie fügten die entsprechenden Labelwerte in eine Labelliste ein, mit 1 für Frauen und 0 für Männer. Die Daten- und Etikettenlisten wurden dann mit NumPy in Arrays umgewandelt. Der Referent demonstriert auch die Datenaugmentation mit Hilfe eines Bilddatengenerators, der mehrere Bilder aus einem einzigen Bild generiert, indem er verschiedene Transformationen anwendet. Anschließend optimierten sie ein vortrainiertes VGG16-Modell auf ihrem Geschlechtsklassifikationsdatensatz und implementierten die Softmax-Aktivierung, um die Ausgabeschicht zu definieren. Die Ausgabegröße wurde auf 2 gesetzt, um entweder Männer oder Frauen zu klassifizieren.

  • 00:20:00 In diesem Abschnitt des Video-Tutorials demonstriert der Referent das VGG16-Modell zur Gesichts- und Geschlechtserkennung und zeigt, wie es mit einem allgemeinen Klassifizierungsdatensatz trainiert wird. Das Modell wird im .H5-Format gespeichert und seine Genauigkeit, Validierungsgenauigkeit und Verlustanteile werden berechnet. Mit cv2.dsize wird das Bild auf die Größe 100 x 100 geändert und in ein Array konvertiert, und das Modell sagt voraus, ob das Bild einen Mann oder eine Frau enthält. Im nächsten Teil des Tutorials wird das YOLOv8-Modell mit einem Gesichtsdatensatz trainiert, um Gesichter zu erkennen und eine eindeutige ID für die Nachverfolgung zuzuweisen. Der Sprecher erwähnt auch, dass die Gesichtszählung mithilfe eines einfachen Codes implementiert wird, der der Datei „predict.pi“ hinzugefügt wird. Insgesamt gliedert sich das Tutorial in sieben Schritte.

  • 00:25:00 In diesem Abschnitt stellt der Moderator das GitHub-Repository vor, das er verwenden wird, um die Objektverfolgung mit Deep Sort zu implementieren, sowie das YOLO V8-Modell für die Gesichtsreduzierung. Sie besprechen, wie sie Gesichter erkennen und eine Geschlechterklassifizierung durchführen, bevor sie Deep-Sort-Objektverfolgungscode integrieren, um jeder Person eine eindeutige ID zuzuweisen. Der Präsentator legt dann sein aktuelles Verzeichnis als Klon-Repository fest und installiert alle erforderlichen Bibliotheken und Abhängigkeiten, die für das Skript benötigt werden. Sie laden den Datensatz auch von RoboFlow in ihr Google Colab-Notebook herunter, stoßen jedoch auf Probleme, weil sie ein privates Konto haben.

  • 00:30:00 Verwenden Sie die Gewichte des vortrainierten YOLOv8-Modells für die Gesichtserkennung. Der Datensatz wird heruntergeladen und in meinem Google Drive-Konto gespeichert, und ich habe bereits ein YOLOv8-Modell für 80 Epochen zur Gesichtserkennung trainiert. Das trainierte Modell wurde bereits gespeichert und die Gewichte wurden in das Google Colab-Notizbuch heruntergeladen. Die Deep-Sort-Dateien werden ebenfalls in das Notebook heruntergeladen, da die Objektverfolgung mit Deep-Sort implementiert wird. Außerdem wurde ein VGG16-Modell für die Geschlechtserkennung trainiert, und die .h5-Datei des Modells wurde gespeichert und in das Google Drive-Konto heruntergeladen. Die Beispielvideos werden von Google Drive heruntergeladen, um das Skript „predict.pi“ zu testen, das den Geschlechtsklassifizierungscode und die Gesichtszählung enthält.

  • 00:35:00 In diesem Abschnitt erklärt der Sprecher den Code, der hinzugefügt wurde, um die Objektverfolgung mit Deep Sort zu implementieren. Der Deep-Sort-Objektverfolgungsport wird initialisiert, und eine Funktion wird definiert, um die vom YOLOv8-Modell empfangene Ausgabe in ein kompatibles Format für Deep-Sort umzuwandeln. Die UI-Box-Funktion erstellt Begrenzungsrahmen um die erkannten Objekte, während die Draw-Box-Funktion die UI-Box aufruft und Randfunktionen zeichnet, um ein abgerundetes Rechteck für den Text zu zeichnen. Der Deep-Sort-Tracking-Code ist zusammen mit der Möglichkeit zum Zeichnen von Spuren integriert. Der Sprecher erklärt dann den Code für die Geschlechtsklassifizierung und die Zählfunktion in der Paint-Datei. Die Zählfunktion wird verwendet, um jedes Objekt in jedem Rahmen zu zählen. Insgesamt erklärt der Code, wie X1-, Y1-, X2- und Y2-Ausgabewerte von YOLOv8 in Mittenkoordinaten, Höhen- und Breitenwerte für die Objektverfolgung mithilfe von Deep Sort konvertiert werden, wodurch Objekterkennung und Objektverfolgung in einer realen Anwendung implementiert werden.

  • 00:40:00 In diesem Abschnitt erörtert der Referent die Konvertierung des YOLOv8-Modells in die xcyc-Zentrumskoordinaten des Begrenzungsrahmens sowie Breite und Höhe des Begrenzungsrahmens, um es mit Deep-Sort-Objektverfolgung kompatibel zu machen. Sie erklären auch, wie die Funktion „Farbe für Beschriftung berechnen“ den erkannten Objekten eindeutige Farben zuweist und die Funktion „Dash-Rand zeichnen“ ein Rechteck über dem Begrenzungsrahmen erstellt, in dem die Beschriftung und der Konfidenzwert geschrieben werden. Der Sprecher spricht auch über die Geschlechtsklassifikatorklasse und wie sie geladen und in jedem Frame des Videos verwendet wird, um das Geschlecht der erkannten Objekte zu klassifizieren. Darüber hinaus erwähnen sie die UI-Dash-Box-Funktion und die Draw-Dash-Box-Funktion, die verwendet werden, um Begrenzungsrahmen zu erstellen und die Gender-Classifier-Funktion aufzurufen.

  • 00:45:00 In diesem Abschnitt erklärt der Moderator, wie das Geschlechtsklassifizierungsmodell verwendet wird, um zu erkennen, ob ein Gesicht zu einem Mann oder einer Frau gehört. Nach dem Erkennen des Gesichts werden nur die Begrenzungsrahmenkoordinaten an das Geschlechtsklassifikationsmodell weitergegeben. Das Modell sagt dann voraus, ob das Gesicht einem Mann oder einer Frau gehört, und die Beschriftung wird entsprechend über dem Begrenzungsrahmen hinzugefügt. Der Moderator erklärt dann die Funktion count, die ein Wörterbuch namens Foundry-classes verwendet, um die Anzahl der im Rahmen erkannten Gesichter zu speichern. Die Anzahl wird in der Benutzeroberfläche über dem Video oder Bild angezeigt.

  • 00:50:00 In diesem Abschnitt erklärt der Sprecher, dass die Anzahl der im aktuellen Frame erkannten Gesichter im Foundry-Klassenwörterbuch in der FaceDetails-Klasse gespeichert wird. Das Wörterbuch enthält zwei Werte, die Schlüsselvariable, die "Gesicht" enthält, und die Wertvariable, die enthält, wie viele Gesichter im aktuellen Rahmen erkannt wurden. Der Sprecher verwendet die Zählfunktion, um anzuzeigen, wie viele Gesichter in jedem Frame erkannt wurden, und weist jedem erkannten Gesicht mit deepsort.update eine eindeutige ID zu. Der Sprecher erstellt auch eine allgemeine Klasse, eine Klassifizierungsklasse und eine Gefahrenklasse. Die Modellerkennungen werden in mehreren Demovideos getestet und der Sprecher zeigt die Ergebnisse der Erkennungen in jedem Frame.
 

Ampelerkennung und Farberkennung mit YOLOv8 | Lernprogramm zur benutzerdefinierten Objekterkennung



Ampelerkennung und Farberkennung mit YOLOv8 | Lernprogramm zur benutzerdefinierten Objekterkennung

Das Video-Tutorial „Ampelerkennung und Farberkennung mit YOLOv8“ erklärt die Schritte zum Erstellen eines Ampelerkennungs- und Farberkennungsmodells mit Ultralytics YOLOv8 Web Pro. Es behandelt den Ampeldatensatz, die Datenerweiterung, die Installation der erforderlichen Bibliotheken, die Feinabstimmung des YOLOv8-Modells und das Testen des Modells in mehreren Videos. Der Moderator betont, wie wichtig es ist, alle erforderlichen Bibliotheken zu installieren, und die Ergebnisse des Testens des Modells auf Videos zeigen seine Genauigkeit beim Erkennen und Erkennen von Ampeln in verschiedenen Farben.

  • 00:00:00 behandelt das Tutorial den Ampeldatensatz, den sie für das Projekt verwenden werden, der aus rund 1000 Bildern mit drei verschiedenen Ampelklassen besteht: grün, rot und gelb. Sie zeigen Beispiele für jedes Etikett und erklären, wie sie die Datenerweiterung angewendet haben, um die Größe ihres Datensatzes zu erhöhen, da sie nicht genügend Bilder in ihrem Trainingsdatensatz hatten. Das Video zeigt weiter, wie man den Datensatz von RoboFlow in das Google Colab-Notebook exportiert, und stellt auch das neu eingeführte Produkt Expense vor, das unter anderem beim Trainieren, Bereitstellen und Überwachen von Modellen helfen kann.

  • 00:05:00 In diesem Abschnitt erklärt der YouTuber die ersten Schritte im Implementierungsprozess zur Erstellung eines Ampelerkennungs- und Farberkennungsmodells mit dem ultralytics YOLOv8 Web Pro. Der erste Schritt umfasst das Importieren aller erforderlichen Bibliotheken wie OS und Glob, die zum Navigieren in verschiedenen Dateipfaden und zum Plotten von Eingabe- und Ausgabebildern verwendet werden. Als nächstes prüfen sie, ob eine GPU vorhanden ist, und installieren alle erforderlichen Bibliotheken mit pip. Schließlich klonen sie das GitHub-Repo von ultralytics und legen es als aktuelles Verzeichnis fest, bevor sie alle verbleibenden erforderlichen Bibliotheken installieren. Das Video betont, wie wichtig es ist, alle erforderlichen Bibliotheken zu installieren, um spätere Skriptfehler zu vermeiden.

  • 00:10:00 In diesem Abschnitt des Videos demonstriert der Moderator die Schritte zum Trainieren und Feinabstimmen eines YOLO V8-Modells auf einem Ampeldatensatz mit Google Colab. Nachdem Sie den Datensatzordner als aktuelles Verzeichnis festgelegt haben, wird das Modell auf Ade-Box für 80 Boxen trainiert, und die Ergebnisse zeigen, dass die mittlere durchschnittliche Genauigkeit mit IOU50s für alle Klassen 98,3 % beträgt. Anschließend wird die Konfusionsmatrix präsentiert, die zeigt, dass das Modell grüne, rote und gelbe Lichter in 96,7 %, 97,4 % bzw. 95,5 % der Fälle genau klassifiziert hat. Der Moderator stellt auch fest, dass der Verlust kontinuierlich abnimmt und das Modell weiter verbessert werden könnte, indem es auf eine höhere Anzahl von Epochen trainiert wird. Schließlich werden die besten Gewichtungen des Modells anhand der Validierungsbilder validiert.

  • 00:15:00 In diesem Abschnitt diskutiert der Sprecher die Ergebnisse des Tests des YOLOv8-Modells in mehreren Videos, einschließlich eines Demovideos von Ampeln. Das Modell ist in der Lage, Ampeln genau zu erkennen und Labels basierend auf der Farbe der Ampel zuzuweisen, mit einer Begrenzungsrahmenfarbe, die der Farbe der Ampel entspricht. Der Sprecher zeigt Beispiele für das Modell, das rote, grüne und gelbe Ampeln erkennt, mit der entsprechenden Beschriftung und der Farbe des Begrenzungsrahmens für jede. Die Ergebnisse des Modells auf verschiedenen Videos demonstrieren seine Genauigkeit beim Erkennen und Erkennen von Ampeln in verschiedenen Farben.
 

Kundenabwanderungsanalyse und -vorhersage mit ANN| Deep-Learning-Tutorial (Tensorflow, Keras & Python)



Kundenabwanderungsanalyse und -vorhersage mit ANN| Deep-Learning-Tutorial (Tensorflow, Keras & Python)

Das YouTube-Video mit dem Titel „Customer Churn Analysis and Prediction using ANN| Deep Learning Tutorial(Tensorflow, Keras & Python)“ demonstriert die Verwendung künstlicher neuronaler Netze zur Vorhersage der Kundenabwanderung anhand eines Datensatzes von Kaggle. Das Video behandelt verschiedene Schritte zur Vorbereitung der Daten, z. B. Datenbereinigung, Codierung kategorialer Features und Skalierung der Werte in Spalten. Der Sprecher erstellt dann ein neuronales Netzwerk mit einer einzelnen verborgenen Schicht aus 20 Neuronen und einer Sigmoid-Aktivierungsfunktion, während er Eingabe- und Ausgabeschichten und einen Optimierer mit einer binären Kreuzentropie-Verlustfunktion definiert. Die erreichte Genauigkeit und der Klassifizierungsbericht unter Verwendung der Scikit-learn-Bibliothek werden angezeigt, wobei die vorhergesagten Werte entweder in 0- oder 1-Form umgewandelt werden, um eine Genauigkeit von 0,78 anzuzeigen.

  • 00:00:00 In diesem Abschnitt führt der YouTuber in das Thema Kundenabwanderung ein und erklärt, wie künstliche neuronale Netze zu ihrer Vorhersage eingesetzt werden können. Sie werden einen Datensatz von Kaggle und Jupyter Notebook verwenden, um eine explorative Datenanalyse und Datenbereinigung durchzuführen, gefolgt von Datenwrangling, Train-Test und Split und schließlich der Vorhersage der Kundenabwanderung mithilfe eines künstlichen neuronalen Netzwerks. Sie beginnen mit dem Importieren der erforderlichen Bibliotheken wie Pandas und NumPy und fahren dann mit dem Laden und Analysieren des Datensatzes fort, wobei sie die Kunden-ID-Spalte löschen, da sie für die Vorhersage der Kundenabwanderung nicht hilfreich ist.

  • 00:05:00 In diesem Abschnitt des Videos erläutert der Sprecher den Prozess der Überprüfung der Datentypen und der Identifizierung kategorialer Merkmale. Der Sprecher stellt fest, dass die Spalte „Gesamtgebühren“ als kategoriale Variable angezeigt wird, obwohl es sich um einen Gleitkomma- oder Ganzzahlwert handeln sollte. Um dieses Problem zu beheben, wandelt der Sprecher die Spalte in eine Ganzzahl um. Sie stoßen auch auf einen Leerzeichenfehler an Position 488 und lösen ihn mit errors = "coerce", um den Fehler zu ignorieren. Schließlich überprüft der Sprecher die Zeilen auf keine Werte und plant, sie nach Bedarf zu löschen.

  • 00:10:00 In diesem Abschnitt erläutert der Referent den Vorgang des Löschens leerer Zeilen aus den Spalten für die Gesamtgebühren mithilfe von Python. Zunächst identifiziert der Sprecher die Anzahl der leeren Zeilen in der Spalte Gesamtgebühren und wendet dann pd.notnull() an, um sie zu entfernen. Nach dem Löschen der Zeilen überprüft der Sprecher die Anzahl der verbleibenden Zeilen, um sicherzustellen, dass sie mit der erwarteten Anzahl übereinstimmt. Später wandelt der Sprecher die Spalte Gesamtgebühren mit pd.to_numeric() in einen numerischen Datentyp um. Der Sprecher erkennt den Fehler, dass die Datentypkonvertierung nicht gespeichert wurde, und passt sie an.

  • 00:15:00 In diesem Abschnitt des Videos führt der Moderator eine explorative Datenanalyse zu Kundenabwanderungsdaten durch. Sie wandeln die Spalte „Gesamtgebühren“ in den Float-Typ um und prüfen die Werte anhand von Visualisierungen. Dann zeichnen sie ein Histogramm, um zu sehen, wie viele treue Kunden bleiben (nicht abwandern), basierend auf einer Dauer von 10 Monaten, und farbkodieren die Datenpunkte, die angeben, dass Kunden verlassen werden, in Grün und diejenigen, die in Rot bleiben.

  • 00:20:00 In diesem Abschnitt erörtert der Sprecher das Ändern von Anweisungen, um die eindeutigen Werte in jeder Spalte zu finden, und das Hinzufügen von Spaltennamen vor den eindeutigen Werten. Der Referent spricht auch darüber, alle Spalten mit kategorialen Variablen zu finden und sie in Ganzzahlen oder Gleitkommazahlen umzuwandeln. Anschließend definieren sie eine Funktion, um all diese Schritte zusammenzufügen und die kategorialen Werte in jedem Datenrahmen ausdrucken zu können.

  • 00:25:00 In diesem Abschnitt des Videos demonstriert der Sprecher, wie eine Funktion verwendet wird, um kategoriale Werte oder Objektdatentypwerte für jeden darin eingefügten Datenrahmen auszudrucken. Anschließend ändern sie ihren Datenrahmen, indem sie eine Spalte in einen Float-Datentyp konvertieren und entfernen. Der Sprecher ersetzt „kein Internetdienst“ und „kein Telefondienst“ mit „nein“ unter Verwendung der Ersetzungsfunktion und definiert eine Ja-Nein-Spalte, in der er alle Ja- und Nein-Variablen durch 1 bzw. 0 ersetzt, um kategoriale Werte umzuwandeln Zahlenwerte, die für maschinelle Lernmodelle leichter zu verstehen sind.

  • 00:30:00 In diesem Abschnitt erläutert der Referent die Schritte zur Vorbereitung der Daten für maschinelles Lernen. Sie demonstrieren, wie man den Datensatz in Trainings- und Testsätze aufteilt und wie man kategoriale Merkmale kodiert, indem man „weiblich“ durch 1 und „männlich“ durch 0 ersetzt. Der Sprecher verwendet dann TensorFlow und Keras, um ein neuronales Netzwerk mit einer einzigen verborgenen Schicht zu erstellen von 20 Neuronen und einer sigmoidalen Aktivierungsfunktion. Die Eingabeschicht hat 27 Features und die Ausgabeschicht ist definiert.

  • 00:35:00 In diesem Abschnitt des Videos erläutert der Moderator, wie Textdaten mithilfe von Get-Dummies in Ganzzahlwerte konvertiert werden, um die Daten für Modelle des maschinellen Lernens vorzubereiten. Der Moderator zeigt, wie Dummy-Werte für Variablen wie Internetdienst und Vertrag generiert werden, und verwendet dann den Min-Max-Skalar, um die Werte in den Spalten zwischen 0 und 1 zu skalieren. Der Zweck der Skalierung besteht darin, die Werte in den Spalten zwischen 0 und zu bringen 1, damit das maschinelle Lernmodell die Daten genau verstehen und interpretieren kann.

  • 00:40:00 In diesem Abschnitt erläutert der Referent, wie die Eingabeschicht, die Ausgabeschicht und der Optimierer für die Analyse und Vorhersage der Kundenabwanderung mithilfe eines künstlichen neuronalen Netzwerks definiert werden. Er entfernt die unnötige Eingabeschicht und definiert die Ausgabeschicht, die aus Eins oder Null besteht, mit einer sigmoidalen Aktivierungsfunktion. Er stellt fest, dass die ReLU-Funktion in der verborgenen Schicht für Klassifizierungsprobleme verwendet werden kann, aber nicht in der Ausgabeschicht. Der Optimierer wird mit einer binären Kreuzentropieverlustfunktion definiert und die Genauigkeit wird mit einer 100-Epochen-Modellkompilierung überprüft. Abschließend zeigt er die erreichte Genauigkeit und den Klassifizierungsbericht mithilfe der Scikit-Learn-Bibliothek an.

  • 00:45:00 In diesem Abschnitt erklärt der Sprecher, wie er die vorhergesagten Werte, die sich in einem zweidimensionalen Array befanden und von 0 bis 1 reichten, entweder in die Form 0 oder 1 konvertierte. Sie taten dies mit einer for-Schleife, die besagte, dass ein Wert größer als 0,5 als 1 und ein Wert kleiner als 0,5 als 0 betrachtet würde. Nach der Konvertierung der Werte druckte der Sprecher die Klassifizierung aus Bericht, der eine Genauigkeit von 0,78 zeigt. Das Tutorial endet damit, dass der Sprecher den Zuschauern für das Zusehen dankt und sie einlädt, den Kanal zu abonnieren.
 

Fahrzeugverfolgung / Verkehrsüberwachung yolov5+deepsort



Fahrzeugverfolgung / Verkehrsüberwachung yolov5+deepsort

Für alle, die von YouTube hierher kommen oder einfach nur mein Repo für Rückschlüsse verwenden möchten. Dies ist ein sehr altes Projekt, nur um den Lebenslauf zu lernen, als ich in der Schule war. Es ist lange her, also habe ich alles vergessen, was ich in diesem Spielzeugprojekt gemacht habe. Ich habe dieses Repo bearbeitet und einige Codezeilen für einige Einschränkungen hinzugefügt. Ihr könnt dieses Repo als Referenz verwenden. Danke.

Die von YOLOv5 generierten Erkennungen werden an den Deep Sort-Algorithmus weitergegeben, der die Objekte verfolgt.

Code: https://github.com/duongcongnha/Vehicle-tracking

GitHub - mikel-brostrom/yolov8_tracking: Real-time multi-object tracking and segmentation using YOLOv8 with DeepOCSORT and OSNet
GitHub - mikel-brostrom/yolov8_tracking: Real-time multi-object tracking and segmentation using YOLOv8 with DeepOCSORT and OSNet
  • mikel-brostrom
  • github.com
This repository contains a highly configurable two-stage-tracker that adjusts to different deployment scenarios. It can jointly perform multiple object tracking and instance segmentation (MOTS). The detections generated by YOLOv8, a family of object detection architectures and models pretrained on the COCO dataset, are passed to the tracker of...
 

Demo der Fahrzeugverfolgung und Geschwindigkeitsschätzung beim 2. AI City Challenge Workshop im CVPR 2018



Demo der Fahrzeugverfolgung und Geschwindigkeitsschätzung beim 2. AI City Challenge Workshop im CVPR 2018

Unser Team von der University of Washington ist der Gewinner von Track 1 (Verkehrsflussanalyse) beim 2. AI City Challenge Workshop im CVPR 2018.

Die Datensätze der 2. AI City Challenge (2018) sind nicht mehr öffentlich zugänglich. Sie können jedoch weiterhin auf die Datensätze der 3. AI City Challenge (2019) zugreifen oder an der neuesten 4. AI City Challenge im CVPR 2020 teilnehmen.

Sie stellten einen neuen Datensatz im Stadtmaßstab für die Fahrzeugverfolgung mit mehreren Kameras sowie für die bildbasierte Reidentifikation bereit. Sie hatten auch einen neuen Datensatz zur Erkennung von Verkehrsanomalien. Sowohl der Umfang der Datensätze als auch die Anzahl der Fahrzeuge, die für die Auswertung verwendet werden, sind beispiellos. Die Website der AI City Challenges ist unter https://www.aicitychallenge.org/ zu finden.

Code: https://github.com/zhengthomastang/2018AICity_TeamUW

 

Objektverfolgung mit Opencv und Python

Code: https://pysource.com/2021/01/28/object-tracking-with-opencv-and-python/



Objektverfolgung mit Opencv und Python

Das Video-Tutorial zur Objektverfolgung mit OpenCV und Python erklärt den Unterschied zwischen Objekterkennung und Objektverfolgung und zeigt, wie Sie eine Objektverfolgungsdatei für eine effiziente Verfolgung erstellen. Das Video skizziert die erforderlichen erforderlichen Dateien, z. B. ein Video und eine Objekt-Tracker-Datei, und zeigt, wie die main.py-Datei für die Echtzeit-Videoanzeige codiert wird. Das Tutorial behandelt auch, wie Sie kleine Elemente aus der Maske entfernen und einen Interessenbereich definieren, um einen Teil des Bildes zu extrahieren, um sich auf die Fahrzeuge zu konzentrieren. Das Video schließt mit der Erläuterung des Prozesses der Objektverfolgung und dem Hinzufügen eindeutiger IDs zu den Objekten, um sie korrekt zu zählen. Das Tutorial stellt jedoch fest, dass die Methode nicht perfekt ist, sondern als hervorragende Einführung in die Objektverfolgung dient, und ein tiefergehender Kurs zu OpenCV und Deep Learning wird empfohlen.

  • 00:00:00 In diesem Abschnitt stellt der Referent den Unterschied zwischen Objekterkennung und Objektverfolgung vor. Ersteres erkennt Objekte Frame für Frame, während Letzteres Objekte über Frames hinweg verfolgt, um ihre Geschichte zu verfolgen. Die Objektverfolgung ist in verschiedenen Anwendungen von entscheidender Bedeutung, z. B. beim Zählen von Personen, Verfolgen von Objekttrajektorien und Zählen von Autos, die auf Autobahnen vorbeifahren. Der Redner stellt dann die notwendigen Dateien vor, um das Projekt zu starten, einschließlich eines Videos und einer Objektverfolgungsdatei. Als Nächstes beginnt der Sprecher mit dem Codieren der Datei „main.py“, beginnend mit dem Importieren der OpenCV-Bibliothek und dem Erstellen eines Erfassungsobjekts zum Lesen von Einzelbildern aus dem Video. Abschließend zeigt der Sprecher, wie das Video in Echtzeit angezeigt und ein Schlüsselereignis zum Schließen des Videos erstellt wird.

  • 00:05:00 In diesem Abschnitt erörtert der Referent die Objektverfolgung mit OpenCV und Python. Sie erklären, dass für diese spezielle Methode eine stabile Kamera erforderlich ist, was bedeutet, dass sich der Hintergrund im Laufe der Zeit nicht ändert, während sich nur die bewegten Objekte ändern. Durch die Verwendung eines Objektdetektors können die sich bewegenden Objekte aus der stabilen Kamera extrahiert werden. Der Detektor erstellt eine Maske und das Ziel der Maske ist es, alles, was nicht benötigt wird, schwarz zu machen, während die Fahrzeuge, die erkannt werden müssen, weiß sind. Anschließend werden die Koordinaten der weißen Elemente extrahiert und die zu kleinen entfernt. Dann werden mit der Find Contours-Funktion von OpenCV die Grenzen der weißen Objekte gefunden und auf dem Rahmen grün gezeichnet.

  • 00:10:00 In diesem Abschnitt erklärt das Video-Tutorial, wie Sie kleine Elemente aus der Maske entfernen, indem Sie die Fläche der Kontur berechnen und alle Konturen mit einer Fläche von weniger als 100 Pixeln entfernen. Anschließend erläutert das Tutorial, wie eine Region of Interest (ROI) definiert wird, um einen Teil des Bildes zu extrahieren und sich nur auf die Fahrzeuge auf diesem bestimmten Teil der Straße zu konzentrieren, was den Erkennungsprozess erheblich vereinfacht. Das Tutorial beschreibt, wie Sie den ROI definieren, indem Sie die Position, Höhe und Breite des Abschnitts angeben, der die zu verfolgenden Fahrzeuge enthält. Das Tutorial schließt mit einer Erläuterung, wie die Maske auf den ROI angewendet wird, um die Objektverfolgung nur in diesem bestimmten Bereich durchzuführen.

  • 00:15:00 In diesem Abschnitt des Videos wendet der Sprecher den Objekterkennungsalgorithmus auf den ROI statt auf das gesamte Bild an und zeigt, wie sich die Erkennung verbessert hat. Es gibt jedoch immer noch Probleme mit Fehlalarmen und dem Erkennungsalgorithmus. Um die Objekterkennung zu verbessern, passt der Sprecher die Größe des Verlaufs und den var-Schwellenwert an, was sich auf die Menge an Fehlalarmen auswirkt. Der Sprecher extrahiert dann das Rechteck, das jedes erkannte Objekt umgibt, und zeichnet es grün auf dem ROI. Schließlich entfernt der Sprecher die Schatten aus dem Bild, indem er mithilfe eines Schwellwertoperators nur die weißen Elemente im Bild beibehält, was zu einer genaueren Objekterkennung führt.

  • 00:20:00 In diesem Abschnitt erklärt das Video den Prozess der Objektverfolgung mit OpenCV und Python. Für ein effizientes Tracking ist es notwendig, die Datei „tracker.py“ zu importieren und ein „tracker“-Objekt zu erstellen. Der „Tracker“ sammelt Begrenzungsrahmen von Objekten und speichert sie in einem Array namens „Erkennungen“. Jeder Begrenzungsrahmen hat seinen eigenen Satz von x-, y-Positions-, Breiten- und Höhenwerten. Diese Boxen müssen einen Mindestwert von 100 haben, damit der Tracker irrelevante Objekte verwirft. Eine Reihe von erkannten Objekten wird Bild für Bild angezeigt, und das Erkennungsarray wird an das Verfolgerobjekt weitergegeben. Der Tracker gibt dann den Verlauf und die eindeutigen IDs jedes verfolgten Objekts zurück. Der erste Schritt für die Objektverfolgung ist die Objekterkennung, und dies ist nur möglich, wenn ein Objekt in Frame eins erkannt wird.

  • 00:25:00 In diesem Abschnitt behandelt das Video das Hinzufügen eindeutiger IDs zur Objektverfolgungsfunktion in OpenCV und Python. Jedes Objekt hat jetzt eine andere ID, wodurch Fehler beim Zählen von Objekten vermieden werden. Durch die Verwendung der IDs können Objekte korrekt gezählt und eine Linie gezogen werden, um zu erkennen, wenn Objekte sie überqueren. Das Video endet mit der Erklärung, dass die gezeigte Methode einfach, nicht perfekt, aber eine gute Einführung in die Objektverfolgung ist. Für tiefergehende Kenntnisse zur Objekterkennung und -verfolgung empfiehlt der Ersteller, sich seinen Videokurs zu OpenCV und Deep Learning anzusehen.
Object Tracking with Opencv and Python - Pysource
Object Tracking with Opencv and Python - Pysource
  • Sergio Canu Hi there, I’m the founder of Pysource. I’m a Computer Vision Consultant, developer and Course instructor. I help Companies and Freelancers to easily and efficiently build Computer Vision Software .
  • pysource.com
In this tutorial we will learn how to use Object Tracking with Opencv and Python. First of all it must be clear that what is the difference between object detection and object tracking: Object detection is the detection on every single frame and frame after frame. Object tracking does frame-by-frame tracking but keeps the history of where the...
 

Computer-Vision-Roadmap | So wird man Computer Vision Engineer



Computer-Vision-Roadmap | So wird man Computer Vision Engineer

Dieses Video bietet einen Fahrplan, um Computer Vision Engineer zu werden, und unterteilt den Lernprozess in vier Module: Python und OpenCV, Robotik und Low-Level-Programmierung, künstliche Intelligenz und fortgeschrittene Themen. Die Bedeutung von praktischen Projekten mit physikalischen Geräten wie Robotik und Arduinos wird betont, zusammen mit der Notwendigkeit, ein grundlegendes Verständnis der Mathematik zu haben. Der Referent diskutiert auch Wettbewerbe und Projekte, die angehenden Computer-Vision-Ingenieuren dabei helfen können, ihre Fähigkeiten zu verbessern. Darüber hinaus wird die Bedeutung von Soft Skills wie Dokumentation und Kenntnissen von Software-Tools wie Git und Docker hervorgehoben. Abschließend werden Abschlüsse in Mathematik, Data Science, Informatik oder Ingenieurwissenschaften empfohlen, wobei auch selbstständiges Lernen durch Projekte und Kurse möglich ist.

  • 00:00:00 In diesem Abschnitt des Videos stellt der Sprecher eine Computer-Vision-Roadmap vor, die alles abdeckt, was eine Person lernen muss, um ein Computer-Vision-Entwickler zu werden. Die Roadmap beantwortet drei Hauptfragen: Welche Fähigkeiten sind erforderlich, an welchen Projekten können Sie arbeiten, um diese Fähigkeiten zu erwerben, und welche Hochschulabschlüsse stehen zum Erlernen dieser Fähigkeiten zur Verfügung. Die Roadmap ist in vier Modelle unterteilt, wobei das erste Modell Python und OpenCV abdeckt, die für die Lösung von 70 % der Computer-Vision-Probleme unerlässlich sind. Das zweite Modell befasst sich mit Robotik und Low-Level-Programmierung, was die Arbeit mit C++ und Elektronik umfasst. Das dritte und vierte Modell behandeln künstliche Intelligenz bzw. fortgeschrittene Themen. Der Referent schlägt Anfängerprojekte für jedes Modell vor, wie z. B. die Arbeit an einem Linienfolger-Roboter oder einem QR-Code-Lesegerät, um Wissen und Fähigkeiten aufzubauen.

  • 00:05:00 In diesem Abschnitt des Videos erläutert der Sprecher die Bedeutung der Arbeit an Projekten, die physische Geräte wie Robotik und Arduinos beinhalten. Der Referent erklärt, dass die Programmierung für solche Geräte einen anderen Ansatz erfordert, da derselbe Code aufgrund von Faktoren wie Sensorrauschen und Beleuchtungsänderungen zu unterschiedlichen Ergebnissen führen kann. Das dritte Modul, das der Referent erwähnt, konzentriert sich auf künstliche Intelligenz und maschinelles Lernen unter Verwendung der beliebten Python-Bibliothek Scikit-learn, die für Aufgaben wie Bildklassifizierung und Objekterkennung verwendet werden kann. Abschließend betont der Referent auch die Bedeutung eines Grundverständnisses von Mathematik und deren Zusammenhang mit Computer Vision.

  • 00:10:00 In diesem Abschnitt erklärt der Sprecher, wie wichtig es ist, die Umgebung in verschiedene Regionen zu unterteilen und wie sie verwendet werden kann, um Situationen wie Fahrbahnüberquerungen zu erkennen, während er ein einfaches Bild mit verschiedenen Regionen demonstriert, die durch grundlegende Geometrie getrennt sind. Er betont, dass Computer-Vision-Ingenieure fließend Mathematik beherrschen müssen, und empfiehlt, sich die Grundlagen der Bildklassifizierung und Objekterkennung, des geheimen Lernens und der Geometrie anzueignen, bevor sie sich mit fortgeschritteneren Fähigkeiten in maschinellem Lernen, Mathematik und Elektronik befassen. Er schlägt Projekte wie generative gegnerische Netzwerke und die Implementierung hochmoderner Arbeiten in Computer Vision vor, um fortgeschrittenes maschinelles Lernen zu erlernen, während er fortgeschrittene Arduino-Projekte aufgreift oder an Robotikwettbewerben teilnimmt, um das Elektronikwissen zu verbessern.

  • 00:15:00 In diesem Abschnitt erörtert der Referent verschiedene Wettbewerbe und Projekte, die angehenden Computer-Vision-Ingenieuren dabei helfen können, ihre Fähigkeiten zu verbessern. Bei diesen Wettbewerben geht es darum, Roboter und Agenten zu bauen, die komplexe Aufgaben ausführen und sich mit anderen Teams messen können. Der Referent betont, wie wichtig es ist, die Grundlagen des maschinellen Sehens zu lernen, einschließlich Python und OpenCV, die zur Lösung von 70 % der verfügbaren Probleme beitragen können. Die vier erwähnten Module sind: Grundlagen, Robotik, künstliche Absichten und fortgeschrittene Module. Obwohl das fortgeschrittene Modul wichtig ist, schlägt der Referent vor, sich zuerst auf die anderen Module zu konzentrieren, da sie die wesentlichen Fähigkeiten abdecken, die erforderlich sind, um ein erfolgreicher Computer-Vision-Ingenieur zu werden.

  • 00:20:00 In diesem Abschnitt erörtert der Referent die verschiedenen softwarebezogenen Fähigkeiten, die ein Computer-Vision-Entwickler neben Kenntnissen in Computer Vision, maschinellem Lernen und Python haben sollte. Dazu gehört die Kenntnis der Grundlagen von Tools wie Git und Docker sowie von Cloud-Anbietern wie AWS oder Google Cloud. Zusätzliche Fähigkeiten, die als wertvoll angesehen werden, umfassen Web- oder Mobilentwicklung, JavaScript-Kenntnisse und das Wissen, wie man eine ordnungsgemäße Dokumentation schreibt, z. B. eine Readme-Datei für ein GitHub-Repository oder die Dokumentation eines gesamten Prozesses. Obwohl nicht alle diese Fähigkeiten ein Muss sind, können sie nützlich sein, um die Arbeit eines Entwicklers zu präsentieren und verschiedene Probleme zu lösen.

  • 00:25:00 In diesem Abschnitt betont der Redner die Bedeutung der Dokumentation für Computer-Vision-Entwickler, da sie die Dinge für alle einfacher macht. Sie schlagen auch vor, dass jeder Entwickler, nicht nur Computer-Vision-Entwickler, die Dokumentation beherrschen sollte, da dies eine entscheidende Fähigkeit ist. Der Referent betont dann die Bedeutung der Vertrautheit mit verschiedenen Software-Tools und ermutigt angehende Computer Vision-Ingenieure, so viel wie möglich zu lernen. Für Interessenten an einem Hochschulabschluss empfiehlt der Referent Abschlüsse in Mathematik, Data Science, Informatik, Elektrotechnik oder anderen Ingenieurstudiengängen, da sie die Grundlage bieten, um Probleme anzugehen und Lösungen zu finden. Es sei jedoch durchaus möglich, alles selbstständig durch Projekte und Kurse zu lernen, so die Referentin.