


L'IA vous a clairement vu, YOLO+ByteTrack+réseau de classification multi-étiquettes
Aujourd'hui, je vais partager avec vous un système d'analyse des attributs des piétons. Les piétons peuvent être identifiés à partir de flux vidéo ou de caméras et les attributs de chaque personne peuvent être marqués.
Les attributs identifiés comprennent les 10 catégories suivantes
Certaines catégories ont plusieurs attributs, si l'orientation du corps est : avant, côté et arrière, il y a donc 26 attributs dans l'entraînement final.
Il faut 3 étapes pour mettre en œuvre un tel système :
- Utilisez YOlOv5 pour identifier les piétons
- Utilisez ByteTrack pour suivre et marquer la même personne
- Formez un réseau de classification d'images multi-étiquettes pour identifier 26 attributs des piétons
1. Identification et suivi des piétons
La reconnaissance des piétons utilise le modèle de détection de cible YOLOv5. Vous pouvez entraîner le modèle vous-même ou utiliser directement le modèle pré-entraîné YOLOv5.
Le suivi des piétons utilise la technologie MOT (Multi-Object Tracking Technology). La vidéo est composée d'une seule image. Bien que nous, les humains, puissions identifier la même personne sur différentes images, si le piéton n'est pas suivi, l'IA ne peut pas l'identifier. La technologie MOT est nécessaire pour suivre la même personne et attribuer un identifiant unique à chaque piéton.
La formation et l'utilisation du modèle YOLOv5, ainsi que les principes et les solutions de mise en œuvre de la technologie de suivi multi-objets (MOT), sont détaillés dans l'article précédent. Les amis intéressés peuvent consulter l'article « Statistiques YOLOv5+ByteTrack ». " Flux de circulation ».
2. Former un réseau de classification multi-étiquettes
La plupart des classifications d'images avec lesquelles nous sommes entrés en contact pour la première fois étaient une classification à étiquette unique, c'est-à-dire : une image est classée en 1 catégorie, et la catégorie peut être composée de deux catégories ou de plusieurs catégories. . En supposant qu'il existe trois catégories, le label correspondant à chaque image peut être au format général suivant :
001.jpg010 002.jpg100 003.jpg100
labelUne seule position vaut 1.
Le réseau de classification multi-étiquettes que nous allons entraîner aujourd'hui est une image qui contient plusieurs catégories en même temps. Le format de l'étiquette est le suivant :
001.jpg011 002.jpg111 003.jpg100
l'étiquette peut avoir plusieurs positions de 1.
Il existe deux options pour former un tel réseau. La première consiste à traiter chaque catégorie comme une classification à étiquette unique, à calculer la perte séparément, à résumer le total et à calculer le gradient pour mettre à jour les paramètres du réseau.
L'autre peut être formé directement, mais vous devez faire attention aux détails du réseau. Prenez ResNet50 comme exemple
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)
La fonction d'activation de la couche de sortie finale doit être sigmoïde, car la probabilité doit être calculée séparément pour. chaque attribut. De la même manière, la fonction de perte lors de l'entraînement doit également utiliser binaire_crossentropy.
En fait, les principes des deux méthodes ci-dessus sont similaires, mais la charge de travail de développement est différente.
Pour plus de commodité ici, j'utilise PaddleCls pour l'entraînement. La configuration de Paddle est simple, mais son inconvénient est qu'il s'agit un peu d'une boîte noire, vous ne pouvez suivre que ses propres règles, et il est plus difficile de la personnaliser.
La formation du modèle utilise l'ensemble de données PA100K. Il convient de noter que bien que l'étiquette d'origine définie par l'ensemble de données PA100K ait la même signification que Paddle, l'ordre est différent.
Par exemple : le 1er chiffre de l'étiquette d'origine indique si l'étiquette est féminine, tandis que Paddle requiert le 1er chiffre pour indiquer si l'étiquette porte un chapeau, et le 22e chiffre représente si l'étiquette est féminine.
Il nous suffit d'ajuster la position originale de l'étiquette en fonction des exigences de Paddle, afin qu'il nous soit plus facile de raisonner plus tard.
Téléchargez PaddleClas
git clone https://github.com/PaddlePaddle/PaddleClas
Décompressez l'ensemble de données téléchargé et placez-le dans le répertoire de l'ensemble de données de PaddleClas.
Recherchez le fichier de configuration ppcls/configs/PULC/person_attribute/PPLCNet_x1_0.yaml et configurez les chemins d'image et d'étiquette. Le format de
DataLoader: Train: dataset: name: MultiLabelDataset image_root: "dataset/pa100k/" #指定训练LIA vous a clairement vu, YOLO+ByteTrack+réseau de classification multi-étiquettes所在根路径 cls_label_path: "dataset/pa100k/train_list.txt" #指定训练列表文件位置 label_ratio: True transform_ops: Eval: dataset: name: MultiLabelDataset image_root: "dataset/pa100k/" #指定评估LIA vous a clairement vu, YOLO+ByteTrack+réseau de classification multi-étiquettes所在根路径 cls_label_path: "dataset/pa100k/val_list.txt" #指定评估列表文件位置 label_ratio: True transform_ops:
train_list.txt est
00001.jpg0,0,1,0,....
Après la configuration, vous pouvez directement entraîner
python3 tools/train.py -c ./ppcls/configs/PULC/person_attribute/PPLCNet_x1_0.yaml
Après l'entraînement, exporter le modèle
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
et placer les résultats exportés dans ~/.paddleclas/inference_model/PULC/person_attribute/ In le répertoire
vous pouvez utiliser la fonction fournie par PaddleCls pour appeler directement
import paddleclas model = paddleclas.PaddleClas(model_name="person_attribute") result = model.predict(input_data="./test_imgs/000001.jpg") print(result)
Les résultats de sortie sont les suivants :
[{'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'}]
Le processus de formation du modèle se termine ici, l'ensemble de données et le code source de l'ensemble du projet ont été emballé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Binance est le suzerain de l'écosystème mondial de trading d'actifs numériques, et ses caractéristiques comprennent: 1. Le volume de négociation quotidien moyen dépasse 150 milliards de dollars, prend en charge 500 paires de négociation, couvrant 98% des monnaies grand public; 2. La matrice d'innovation couvre le marché des dérivés, la mise en page Web3 et le système éducatif; 3. Les avantages techniques sont des moteurs de correspondance d'une milliseconde, avec des volumes de traitement de pointe de 1,4 million de transactions par seconde; 4. Conformité Progress détient des licences de 15 pays et établit des entités conformes en Europe et aux États-Unis.

Les plates-formes qui ont des performances exceptionnelles dans le commerce, la sécurité et l'expérience utilisateur en effet de levier en 2025 sont: 1. OKX, adaptés aux traders à haute fréquence, fournissant jusqu'à 100 fois l'effet de levier; 2. Binance, adaptée aux commerçants multi-monnaies du monde entier, offrant un effet de levier 125 fois élevé; 3. Gate.io, adapté aux joueurs de dérivés professionnels, fournissant 100 fois l'effet de levier; 4. Bitget, adapté aux novices et aux commerçants sociaux, fournissant jusqu'à 100 fois l'effet de levier; 5. Kraken, adapté aux investisseurs stables, fournissant 5 fois l'effet de levier; 6. BUTBIT, adapté aux explorateurs Altcoin, fournissant 20 fois l'effet de levier; 7. Kucoin, adapté aux commerçants à faible coût, fournissant 10 fois l'effet de levier; 8. Bitfinex, adapté au jeu senior

WorldCoin (WLD) se démarque sur le marché des crypto-monnaies avec ses mécanismes uniques de vérification biométrique et de protection de la vie privée, attirant l'attention de nombreux investisseurs. WLD a permis de se produire avec remarquablement parmi les Altcoins avec ses technologies innovantes, en particulier en combinaison avec la technologie d'Intelligence artificielle OpenAI. Mais comment les actifs numériques se comporteront-ils au cours des prochaines années? Prédons ensemble le prix futur de WLD. Les prévisions de prix de 2025 WLD devraient atteindre une croissance significative de la WLD en 2025. L'analyse du marché montre que le prix moyen du WLD peut atteindre 1,31 $, avec un maximum de 1,36 $. Cependant, sur un marché baissier, le prix peut tomber à environ 0,55 $. Cette attente de croissance est principalement due à WorldCoin2.

Les facteurs de la hausse des prix des devises virtuels comprennent: 1. Une augmentation de la demande du marché, 2. Daisser l'offre, 3. Stimulé de nouvelles positives, 4. Sentiment du marché optimiste, 5. Environnement macroéconomique; Les facteurs de déclin comprennent: 1. Daissement de la demande du marché, 2. AUGMENT DE L'OFFICATION, 3. Strike of Negative News, 4. Pespimiste Market Sentiment, 5. Environnement macroéconomique.

Échanges qui prennent en charge les transactions transversales: 1. Binance, 2. UniSwap, 3. Sushiswap, 4. Curve Finance, 5. Thorchain, 6. 1inch Exchange, 7. DLN Trade, ces plateformes prennent en charge les transactions d'actifs multi-chaînes via diverses technologies.

Les principaux échanges comprennent: 1. Binance, le plus grand volume de trading au monde, prend en charge 600 devises et les frais de gestion des points sont de 0,1%; 2. Okx, une plate-forme équilibrée, prend en charge 708 paires de trading, et les frais de traitement des contrats perpétuels sont de 0,05%; 3. Gate.io, couvre 2700 petites monnaies, et les frais de traitement des points sont de 0,1% à 0,3%; 4. Coinbase, la référence de conformité américaine, les frais de traitement des points sont de 0,5%; 5. Kraken, la haute sécurité et l'audit de réserve régulière.

Dans le monde animé des crypto-monnaies, de nouvelles opportunités émergent toujours. À l'heure actuelle, l'activité aérienne de Kerneldao (noyau) attire beaucoup l'attention et attire l'attention de nombreux investisseurs. Alors, quelle est l'origine de ce projet? Quels avantages le support BNB peut-il en tirer? Ne vous inquiétez pas, ce qui suit le révélera un par un pour vous.

Les échanges jouent un rôle essentiel sur le marché des crypto-monnaies d'aujourd'hui. Ce ne sont pas seulement des plateformes pour les investisseurs pour négocier, mais aussi des sources importantes de liquidité du marché et la découverte des prix. Les plus grands échanges de devises virtuels au monde se classent parmi les dix premiers, et ces échanges sont non seulement bien en avance dans le volume des échanges, mais présentent également leurs propres avantages dans l'expérience utilisateur, la sécurité et les services innovants. Les échanges qui dépassent la liste ont généralement une grande base d'utilisateurs et une influence approfondie du marché, et leur volume de trading et leurs types d'actifs sont souvent difficiles à atteindre par d'autres échanges.
