0 Notizen der YOLO-Serie
-
[YOLO] Einfache und unprätentiöse Konfiguration der Yolov5-Umgebung (1)
-
[YOLO] Export und OpenCV-Bereitstellung des Zielerkennungsmodells (3)
1. Einleitung
In der vorherigen Übung habe ich zusammengefasst, wie YOLOv5 zur Zielerkennung verwendet wird, von der Einrichtung der Umgebung über das Training Ihres eigenen Datensatzes bis hin zur Bereitstellung des trainierten Modells mithilfe von OpenCV. In diesem Artikel wird hauptsächlich die semantische Segmentierung des Anwendungsfelds erweitert. , oder Fokus zum Einstieg in Anwendungen.
2 Grundkonzepte
Bevor Sie beginnen, sollten Sie verstehen, was semantische Segmentierung und Instanzsegmentierung sind. Lesen Sie diesen Artikel . Einfach ausgedrückt weist die semantische Segmentierung jedem Pixel des Bildes eine Kategorie zu, Objekte in derselben Kategorie werden jedoch nicht unterschieden. von. Die Instanzsegmentierung klassifiziert nur bestimmte Objekte, was der Zielerkennung sehr ähnlich ist. Tatsächlich denke ich, dass sie als „verfeinerte Zielerkennung“ verstanden werden kann , das heißt, die Grenze ist nicht mehr auf eine Box beschränkt, sondern auf eine unregelmäßige Grenze. Sie können das folgende Bild verwenden, um es zu zeigen [das Bild stammt auch aus dem obigen Artikel]
3 Datensätze
Wie bei der Zielerkennung ist auch die Struktur des Trainingsdatensatzes für das Segmentierungsproblem wie folgt.
├───images
│ ├───train
│ └───val
└───labels
│ ├───train
│ └───val
└───data.yaml
Unter diesen yaml
sind auch das Dateiformat und die Zielerkennung gleich und werden hier nicht wiederholt.
Der andere ist der Stil der Beschriftungen im Datensatz. Genau wie bei der Zielerkennung muss das Beschriftungsformat vor dem Training der Daten in das YOLO-Format konvertiert werden, wie unten gezeigt.
Unter diesen ist die ganz linke Seite die Zielkategorie und die rechte Seite 2*N
eine Gleitkommazahl zwischen 0 und 1, die die N Punktkoordinaten des Zielumrisses darstellt . Bei allen handelt es sich um normalisierte Werte.
4 Ausbildung
Genau wie bei der vorherigen Trainingszielerkennung können Sie die Python-Datei direkt unter dem Yolo-Projekt ausführen, wenn Sie die Parameter nicht ändern müssen. Unter dem Projekt befindet sich ein segment
Ordner , und der darin enthaltene Code ist das Programm zum Trainieren der semantischen Segmentierung.
Ebenso ist die Verwendungsmethode in den Kommentaren vor der Datei klar angegeben:
5 Datenanmerkung
Was ist, wenn Sie den Datensatz und die Beschriftung noch selbst erstellen müssen? Es scheint eine Annotation-Software namens labelImg zu geben, die labelImg ähnelt . Die Installationsmethode ist die gleiche wie bei labelImg. Sie kann direkt über pip installiert werden:
pip install labelme
Außerdem ist es relativ einfach zu verwenden und Sie können schnell loslegen. Hier ist ein Link zur Verwendung .