Intelligence artificielle

Détection d'objets YOLOv2 à partir du modèle ONNX dans MATLAB

Détection d'objets YOLOv2 à partir du modèle ONNX dans MATLAB


Une fois que j'ai eu le réseau formé, j'ai ensuite évalué ses performances sur les données de test selon les étapes ci-dessous.

résultats = table('Taille',[height(TestData) 3], ...
'VariableTypes', {'cellule', 'cellule', 'cellule'}, ...
'VariableNames', {'Boxes', 'Scores', 'Labels'});
depVideoPlayer = vision.DeployableVideoPlayer;
pour i = 1: hauteur (Données de test)
% Lire l'image
I = imread (TestData.imageFilename {i});

% Exécutez le détecteur.
[bboxes,scores,labels] = détecter (détecteurTinyYolo2, I);

if ~ isempty (bboxes)
I = insertObjectAnnotation(I, 'Rectangle', bboxes, cellstr (étiquettes))

depVideoPlayer (I);
pause (0,1);
autre
depVideoPlayer (I);
fin

% Collectez les résultats dans le tableau des résultats
results.Boxes {i} = floor (bboxes);
results.Scores {i} = scores;
results.Labels {i} = labels;
fin
seuil = 0,3;
expectResults = TestData;
Boucle à travers des images de données de test pour visualiser la détection du réseau, à l'aide d'un lecteur vidéo déployable. (Image courtoisie Neha Goel)
[ap, recall, precision]  = assessDetectionPrecision(résultats, résultats attendus (:, 2: fin), seuil);
plot (rappel {1,1}, précision {1,1}, 'g -', 'LineWidth', 2, "DisplayName", 'greenBuoy');
attendez;
plot (rappel {2,1}, précision {2,1}, 'b -', 'LineWidth', 2, "DisplayName", 'navGate');
attendez;
plot (rappel {3,1}, précision {3,1}, 'r -', 'LineWidth', 2, "DisplayName", 'redBuoy');
attendez;
plot (rappel {4,1}, précision {4,1}, 'y -', 'LineWidth', 2, "DisplayName", 'yellowBuoy');
tenir le coup;
xlabel («Rappel»);
ylabel («Précision»);
title (sprintf ('Precision moyenne =% .2f n', ap)
légende («Emplacement», «meilleur»);
légende («boxoff»);
Courtoisie d'image Neha Goel
[am,fppi,missRate]  = assessDetectionMissRate(résultats, résultats attendus (:, 2: fin), seuil);
loglog (fppi {1,1}, missRate {1,1}, '- g', 'LineWidth', 2, "DisplayName", 'greenBuoy');
attendez;
loglog (fppi {2,1}, missRate {2,1}, 'b', 'LineWidth', 2, "DisplayName", 'navGate');
attendez;
loglog (fppi {3,1}, missRate {3,1}, '- r', 'LineWidth', 2, "DisplayName", 'redBuoy');
attendez;
loglog (fppi {4,1}, missRate {4,1}, '- y', 'LineWidth', 2, "DisplayName", 'yellowBuoy');
tenir le coup;
xlabel («Faux positifs par image»);
ylabel («Log Average Miss Rate»);
title (sprintf ('Log Average Miss Rate =% .2f n', am))
légende («Emplacement», «meilleur»);
légende («boxoff»);
Courtoisie d'image Neha Goel

Remarques finales

Le but principal de cette histoire était de suivre une approche d’importation de modèles onnx et de recyclage sur des données personnalisées dans MATLAB. Vous pouvez regarder la vidéo de cette histoire ici.

Afficher plus

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Articles similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page
Fermer