Inhaltsverzeichnis
1. Fußgängererkennung und -verfolgung
2. Trainieren Sie ein Multi-Label-Klassifizierungsnetzwerk
PaddleClas herunterladen
Heim Technologie-Peripheriegeräte KI AI hat Sie klar gesehen, YOLO+ByteTrack+Multi-Label-Klassifizierungsnetzwerk

AI hat Sie klar gesehen, YOLO+ByteTrack+Multi-Label-Klassifizierungsnetzwerk

Apr 14, 2023 pm 06:25 PM
网络 ai yolo

Heute werde ich Ihnen ein System zur Analyse von Fußgängerattributen vorstellen. Fußgänger können anhand von Video- oder Kamera-Videostreams identifiziert und die Attribute jeder Person markiert werden.

AI hat Sie klar gesehen, YOLO+ByteTrack+Multi-Label-Klassifizierungsnetzwerk

Die identifizierten Attribute umfassen die folgenden 10 Kategorien

AI hat Sie klar gesehen, YOLO+ByteTrack+Multi-Label-Klassifizierungsnetzwerk

Einige Kategorien haben mehrere Attribute, wenn die Körperausrichtung ist: vorne, seitlich und hinten, sodass es im Abschlusstraining 26 Attribute gibt.

Es sind drei Schritte erforderlich, um ein solches System zu implementieren:

  • Verwenden Sie YOlOv5, um Fußgänger zu identifizieren.
  • Verwenden Sie ByteTrack, um dieselbe Person zu verfolgen und zu markieren.
  • Trainieren Sie ein Bildklassifizierungsnetzwerk mit mehreren Etiketten, um 26 Attribute von Fußgängern zu identifizieren.

1. Fußgängererkennung und -verfolgung

Die Fußgängererkennung verwendet das YOLOv5-Zielerkennungsmodell. Sie können das Modell selbst trainieren oder direkt das vorab trainierte YOLOv5-Modell verwenden.

Bei der Fußgängerverfolgung kommt die Multi-Object-Tracking-Technologie (MOT) zum Einsatz. Das Video besteht aus einem Bild. Obwohl wir Menschen dieselbe Person auf verschiedenen Bildern identifizieren können, kann die KI nicht identifiziert werden. MOT-Technologie ist erforderlich, um dieselbe Person zu verfolgen und jedem Fußgänger eine eindeutige ID zuzuweisen.

Das Training und die Verwendung des YOLOv5-Modells sowie die Prinzipien und Implementierungslösungen der Multi-Object-Tracking-Technologie (MOT) werden im vorherigen Artikel ausführlich beschrieben. Interessierte Freunde können sich den Artikel „YOLOv5+ByteTrack Statistics“ ansehen „Verkehrsfluss“.

2. Trainieren Sie ein Multi-Label-Klassifizierungsnetzwerk

Die meisten Bildklassifizierungen, mit denen wir zuerst in Kontakt kamen, waren Ein-Label-Klassifizierungen, das heißt: Ein Bild wird in eine Kategorie klassifiziert, und die Kategorie kann aus zwei Kategorien oder mehreren Kategorien bestehen . Unter der Annahme, dass es drei Kategorien gibt, kann die jedem Bild entsprechende Beschriftung das folgende allgemeine Format haben:

001.jpg010
002.jpg100
003.jpg100
Nach dem Login kopieren

Beschriftung​Nur eine Position ist 1.

Das Multi-Label-Klassifizierungsnetzwerk, das wir heute trainieren werden, ist ein Bild, das mehrere Kategorien gleichzeitig enthält. Das Label-Format ist wie folgt:

001.jpg011
002.jpg111
003.jpg100
Nach dem Login kopieren

label​ kann mehrere Positionen von 1 haben.

Es gibt zwei Möglichkeiten, ein solches Netzwerk zu trainieren. Eine davon besteht darin, jede Kategorie als Einzeletikettenklassifizierung zu behandeln, den Verlust separat zu berechnen, die Gesamtsumme zusammenzufassen und den Gradienten zu berechnen, um die Netzwerkparameter zu aktualisieren.

Der andere kann direkt trainiert werden, aber Sie müssen auf die Netzwerkdetails achten. Nehmen Sie ResNet50 als Beispiel.

resnet50 = ResNet50(include_top=False, weights='imagenet')

# 迁移学习,不重新训练卷积层
for layer in resnet50.layers:
layer.trainable = False

# 新的全连接层
x = Flatten()(resnet50.output)
x = Dense(1024)(x)
x = Activation('relu')(x)
x = BatchNormalization()(x)
x = Dropout(0.5)(x)

# 输出 26 个属性的多分类标签
x = Dense(26, activatinotallow='sigmoid')(x)

model = Model(inputs = resnet50.input, outputs=x)
Nach dem Login kopieren

Die Aktivierungsfunktion der endgültigen Ausgabeschicht muss Sigmoid sein, da die Wahrscheinlichkeit separat berechnet werden muss jedes Attribut. Auf die gleiche Weise muss auch die Verlustfunktion während des Trainings die Binär_Kreuzentropie verwenden.

Tatsächlich sind die Prinzipien der beiden oben genannten Methoden ähnlich, aber der Entwicklungsaufwand ist unterschiedlich.

Der Einfachheit halber verwende ich PaddleCls zum Training. Die Konfiguration von Paddle ist einfach, aber der Nachteil besteht darin, dass es sich um eine Art Blackbox handelt. Man kann nur seine eigenen Regeln befolgen und es ist schwieriger, es anzupassen.

Das Modelltraining verwendet den PA100K-Datensatz. Es ist zu beachten, dass die durch den PA100K-Datensatz definierte Originalbezeichnung zwar dieselbe Bedeutung wie Paddle hat, die Reihenfolge jedoch unterschiedlich ist.

Zum Beispiel: Die 1. Ziffer des Originaletiketts gibt an, ob das Etikett weiblich ist, während Paddle die 1. Ziffer benötigt, um anzugeben, ob das Etikett einen Hut trägt, und die 22. Ziffer gibt an, ob das Etikett weiblich ist.

AI hat Sie klar gesehen, YOLO+ByteTrack+Multi-Label-Klassifizierungsnetzwerk

Wir können die ursprüngliche Etikettenposition entsprechend den Anforderungen von Paddle anpassen, damit unsere Argumentation später einfacher wird.

PaddleClas herunterladen

git clone https://github.com/PaddlePaddle/PaddleClas
Nach dem Login kopieren

Entpacken Sie den heruntergeladenen Datensatz und legen Sie ihn im Datensatzverzeichnis von PaddleClas ab.

Suchen Sie die Konfigurationsdatei ppcls/configs/PULC/person_attribute/PPLCNet_x1_0.yaml und konfigurieren Sie die Bild- und Etikettenpfade. Das Format von

DataLoader:
Train:
dataset:
name: MultiLabelDataset
image_root: "dataset/pa100k/" #指定训练AI hat Sie klar gesehen, YOLO+ByteTrack+Multi-Label-Klassifizierungsnetzwerk所在根路径
cls_label_path: "dataset/pa100k/train_list.txt" #指定训练列表文件位置
label_ratio: True
transform_ops:

Eval:
dataset:
name: MultiLabelDataset
image_root: "dataset/pa100k/" #指定评估AI hat Sie klar gesehen, YOLO+ByteTrack+Multi-Label-Klassifizierungsnetzwerk所在根路径
cls_label_path: "dataset/pa100k/val_list.txt" #指定评估列表文件位置
label_ratio: True
transform_ops:
Nach dem Login kopieren

train_list.txt ist

00001.jpg0,0,1,0,....
Nach dem Login kopieren

Nach der Konfiguration können Sie direkt trainieren

python3 tools/train.py 
-c ./ppcls/configs/PULC/person_attribute/PPLCNet_x1_0.yaml
Nach dem Login kopieren

Nach dem Training exportieren Sie das Modell

python3 tools/export_model.py 
-c ./ppcls/configs/PULC/person_attribute/PPLCNet_x1_0.yaml 
-o Global.pretrained_model=output/PPLCNet_x1_0/best_model 
-o Global.save_inference_dir=deploy/models/PPLCNet_x1_0_person_attribute_infer
Nach dem Login kopieren

und platzieren Sie die exportierten Ergebnisse in ~/.paddleclas/inference_model/PULC/person_attribute/ In Im Verzeichnis

AI hat Sie klar gesehen, YOLO+ByteTrack+Multi-Label-Klassifizierungsnetzwerk

können Sie die von PaddleCls bereitgestellte Funktion verwenden, um

import paddleclas

model = paddleclas.PaddleClas(model_name="person_attribute")

result = model.predict(input_data="./test_imgs/000001.jpg")

print(result)
Nach dem Login kopieren

direkt aufzurufen. Die Ausgabeergebnisse lauten wie folgt:

[{'attributes': ['Female', 'Age18-60', 'Front', 'Glasses: False', 'Hat: False', 'HoldObjectsInFront: True', 'ShoulderBag', 'Upper: ShortSleeve', 'Lower:Trousers', 'No boots'], 'output': [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0], 'filename': './test_imgs/000001.jpg'}]
Nach dem Login kopieren

Der Modelltrainingsprozess endet hier, der Datensatz und der Quellcode des gesamten Projekts liegen vor verpackt worden.

Das obige ist der detaillierte Inhalt vonAI hat Sie klar gesehen, YOLO+ByteTrack+Multi-Label-Klassifizierungsnetzwerk. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

CentOS Shutdown -Befehlszeile CentOS Shutdown -Befehlszeile Apr 14, 2025 pm 09:12 PM

Der Befehl centOS stilldown wird heruntergefahren und die Syntax wird von [Optionen] ausgeführt [Informationen]. Zu den Optionen gehören: -h das System sofort stoppen; -P schalten Sie die Leistung nach dem Herunterfahren aus; -r neu starten; -t Wartezeit. Zeiten können als unmittelbar (jetzt), Minuten (Minuten) oder als bestimmte Zeit (HH: MM) angegeben werden. Hinzugefügten Informationen können in Systemmeldungen angezeigt werden.

Was sind die Backup -Methoden für Gitlab auf CentOS? Was sind die Backup -Methoden für Gitlab auf CentOS? Apr 14, 2025 pm 05:33 PM

Backup- und Wiederherstellungsrichtlinie von GitLab im Rahmen von CentOS -System Um die Datensicherheit und Wiederherstellung der Daten zu gewährleisten, bietet GitLab on CentOS eine Vielzahl von Sicherungsmethoden. In diesem Artikel werden mehrere gängige Sicherungsmethoden, Konfigurationsparameter und Wiederherstellungsprozesse im Detail eingeführt, um eine vollständige GitLab -Sicherungs- und Wiederherstellungsstrategie aufzubauen. 1. Manuell Backup Verwenden Sie den GitLab-RakegitLab: Backup: Befehl erstellen, um die manuelle Sicherung auszuführen. Dieser Befehl unterstützt wichtige Informationen wie GitLab Repository, Datenbank, Benutzer, Benutzergruppen, Schlüssel und Berechtigungen. Die Standardsicherungsdatei wird im Verzeichnis/var/opt/gitlab/backups gespeichert. Sie können /etc /gitlab ändern

So überprüfen Sie die CentOS -HDFS -Konfiguration So überprüfen Sie die CentOS -HDFS -Konfiguration Apr 14, 2025 pm 07:21 PM

Vollständige Anleitung zur Überprüfung der HDFS -Konfiguration in CentOS -Systemen In diesem Artikel wird die Konfiguration und den laufenden Status von HDFS auf CentOS -Systemen effektiv überprüft. Die folgenden Schritte helfen Ihnen dabei, das Setup und den Betrieb von HDFs vollständig zu verstehen. Überprüfen Sie die Hadoop -Umgebungsvariable: Stellen Sie zunächst sicher, dass die Hadoop -Umgebungsvariable korrekt eingestellt ist. Führen Sie im Terminal den folgenden Befehl aus, um zu überprüfen, ob Hadoop ordnungsgemäß installiert und konfiguriert ist: Hadoopsion-Check HDFS-Konfigurationsdatei: Die Kernkonfigurationsdatei von HDFS befindet sich im/etc/hadoop/conf/verzeichnis, wobei core-site.xml und hdfs-site.xml von entscheidender Bedeutung sind. verwenden

Wie ist die GPU -Unterstützung für Pytorch bei CentOS? Wie ist die GPU -Unterstützung für Pytorch bei CentOS? Apr 14, 2025 pm 06:48 PM

Aktivieren Sie die Pytorch -GPU -Beschleunigung am CentOS -System erfordert die Installation von CUDA-, CUDNN- und GPU -Versionen von Pytorch. Die folgenden Schritte führen Sie durch den Prozess: Cuda und Cudnn Installation Bestimmen Sie die CUDA-Version Kompatibilität: Verwenden Sie den Befehl nvidia-smi, um die von Ihrer NVIDIA-Grafikkarte unterstützte CUDA-Version anzuzeigen. Beispielsweise kann Ihre MX450 -Grafikkarte CUDA11.1 oder höher unterstützen. Download und installieren Sie Cudatoolkit: Besuchen Sie die offizielle Website von Nvidiacudatoolkit und laden Sie die entsprechende Version gemäß der höchsten CUDA -Version herunter und installieren Sie sie, die von Ihrer Grafikkarte unterstützt wird. Installieren Sie die Cudnn -Bibliothek:

CentOS installieren MySQL CentOS installieren MySQL Apr 14, 2025 pm 08:09 PM

Die Installation von MySQL auf CentOS umfasst die folgenden Schritte: Hinzufügen der entsprechenden MySQL Yum -Quelle. Führen Sie den Befehl mySQL-server aus, um den MySQL-Server zu installieren. Verwenden Sie den Befehl mySQL_SECURE_INSTALLATION, um Sicherheitseinstellungen vorzunehmen, z. B. das Festlegen des Stammbenutzerkennworts. Passen Sie die MySQL -Konfigurationsdatei nach Bedarf an. Tune MySQL -Parameter und optimieren Sie Datenbanken für die Leistung.

Detaillierte Erklärung des Docker -Prinzips Detaillierte Erklärung des Docker -Prinzips Apr 14, 2025 pm 11:57 PM

Docker verwendet Linux -Kernel -Funktionen, um eine effiziente und isolierte Anwendungsumgebung zu bieten. Sein Arbeitsprinzip lautet wie folgt: 1. Der Spiegel wird als schreibgeschützte Vorlage verwendet, die alles enthält, was Sie für die Ausführung der Anwendung benötigen. 2. Das Union File System (UnionFS) stapelt mehrere Dateisysteme, speichert nur die Unterschiede, speichert Platz und beschleunigt. 3. Der Daemon verwaltet die Spiegel und Container, und der Kunde verwendet sie für die Interaktion. 4. Namespaces und CGroups implementieren Container -Isolation und Ressourcenbeschränkungen; 5. Mehrere Netzwerkmodi unterstützen die Containerverbindung. Nur wenn Sie diese Kernkonzepte verstehen, können Sie Docker besser nutzen.

CentOS8 startet SSH CentOS8 startet SSH Apr 14, 2025 pm 09:00 PM

Der Befehl zum Neustart des SSH -Dienstes lautet: SystemCTL Neustart SSHD. Detaillierte Schritte: 1. Zugriff auf das Terminal und eine Verbindung zum Server; 2. Geben Sie den Befehl ein: SystemCTL Neustart SSHD; 1. Überprüfen Sie den Dienststatus: SystemCTL -Status SSHD.

Wie man eine verteilte Schulung von Pytorch auf CentOS betreibt Wie man eine verteilte Schulung von Pytorch auf CentOS betreibt Apr 14, 2025 pm 06:36 PM

Pytorch Distributed Training on CentOS -System erfordert die folgenden Schritte: Pytorch -Installation: Die Prämisse ist, dass Python und PIP im CentOS -System installiert sind. Nehmen Sie abhängig von Ihrer CUDA -Version den entsprechenden Installationsbefehl von der offiziellen Pytorch -Website ab. Für CPU-Schulungen können Sie den folgenden Befehl verwenden: PipinstallTorChTorChVisionTorChaudio Wenn Sie GPU-Unterstützung benötigen, stellen Sie sicher, dass die entsprechende Version von CUDA und CUDNN installiert ist und die entsprechende Pytorch-Version für die Installation verwenden. Konfiguration der verteilten Umgebung: Verteiltes Training erfordert in der Regel mehrere Maschinen oder mehrere Maschinen-Mehrfach-GPUs. Ort

See all articles