evaluateDetectionMissRate

Оцените метрику коэффициента непопаданий для обнаружения объектов

Синтаксис

logAverageMissRate = evaluateDetectionMissRate(detectionResults,groundTruthData)
[logAverageMissRate,fppi,missRate] = evaluateDetectionMissRate(___)
[___] = evaluateDetectionMissRate(___,threshold)

Описание

пример

logAverageMissRate = evaluateDetectionMissRate(detectionResults,groundTruthData) возвращает средний журналом коэффициент непопаданий detectionResults по сравнению с groundTruthTable, который используется, чтобы измерить уровень объектного детектора. Для детектора мультикласса средний журналом коэффициент непопаданий является вектором музыки к каждому классу объекта в порядке, заданном groundTruthTable.

пример

[logAverageMissRate,fppi,missRate] = evaluateDetectionMissRate(___) возвращает точки данных для графического вывода логарифмических положительных сторон лжи коэффициента непопаданий на изображение (FPPI) кривая, с помощью входных параметров от предыдущего синтаксиса.

[___] = evaluateDetectionMissRate(___,threshold) задает порог перекрытия для присвоения обнаружения к наземному полю истины.

Примеры

свернуть все

Загрузите наземную таблицу истинности.

load('stopSignsAndCars.mat')
stopSigns = stopSignsAndCars(:, 1:2);
stopSigns.imageFilename = fullfile(toolboxdir('vision'),'visiondata', ...
    stopSigns.imageFilename);

Обучите основанный на ACF детектор.

detector = trainACFObjectDetector(stopSigns,'NegativeSamplesFactor',2);
ACF Object Detector Training
The training will take 4 stages. The model size is 34x31.
Sample positive examples(~100% Completed)
Compute approximation coefficients...Completed.
Compute aggregated channel features...Completed.
--------------------------------------------
Stage 1:
Sample negative examples(~100% Completed)
Compute aggregated channel features...Completed.
Train classifier with 42 positive examples and 84 negative examples...Completed.
The trained classifier has 19 weak learners.
--------------------------------------------
Stage 2:
Sample negative examples(~100% Completed)
Found 84 new negative examples for training.
Compute aggregated channel features...Completed.
Train classifier with 42 positive examples and 84 negative examples...Completed.
The trained classifier has 20 weak learners.
--------------------------------------------
Stage 3:
Sample negative examples(~100% Completed)
Found 84 new negative examples for training.
Compute aggregated channel features...Completed.
Train classifier with 42 positive examples and 84 negative examples...Completed.
The trained classifier has 54 weak learners.
--------------------------------------------
Stage 4:
Sample negative examples(~100% Completed)
Found 84 new negative examples for training.
Compute aggregated channel features...Completed.
Train classifier with 42 positive examples and 84 negative examples...Completed.
The trained classifier has 61 weak learners.
--------------------------------------------
ACF object detector training is completed. Elapsed time is 16.8011 seconds.

Создайте массив структур, чтобы сохранить результаты.

numImages = height(stopSigns);
results(numImages) = struct('Boxes', [], 'Scores', []);

Запустите детектор на учебных изображениях.

for i = 1 : numImages
    I = imread(stopSigns.imageFilename{i});
    [bboxes, scores] = detect(detector, I);
    results(i).Boxes = bboxes;
    results(i).Scores = scores;
end

results = struct2table(results);

Оцените результаты против наземных данных об истине.

[am, fppi, missRate] = evaluateDetectionMissRate(results, stopSigns(:, 2));

Постройте кривую, "регистрируют коэффициент непопаданий".

figure
loglog(fppi, missRate);
grid on
title(sprintf('log Average Miss Rate = %.1f', am))

Входные параметры

свернуть все

Объектные местоположения и очки, заданные как таблица 2D столбца, содержащая ограничительные рамки и музыку к каждому обнаруженному объекту. Для обнаружения мультикласса третий столбец содержит предсказанную метку для каждого обнаружения. Ограничительные рамки должны храниться в M-by-4 массив ячеек. Очки должны храниться в M-by-1 массив ячеек, и метки должны храниться как категориальный вектор.

При обнаружении объектов можно создать таблицу результатов обнаружения при помощи struct2table, чтобы объединить bboxes и scores выходные параметры:

    for i = 1 : numImages
        I = imread(stopSigns.imageFilename{i});
        [bboxes, scores] = detect(detector,I);
        results.Boxes{i} = bboxes;
        results.Scores{i} = scores;
    end

Типы данных: table

Данные тренировки, заданные как таблица с одним или несколькими столбцами. Таблица содержит один столбец для данных единого класса и несколько столбцов для данных о мультиклассе. Каждый столбец содержит M-by-4 матрицы [x, y, width, height] ограничительные рамки, которые задают объектные местоположения. Формат задает местоположение верхнего левого угла и размер объекта. Имя столбца задает метку класса.

Перекройте порог для обнаружения, присвоенного наземному полю истины, заданному в виде числа. Отношение перекрытия вычисляется как пересечение по объединению.

Выходные аргументы

свернуть все

Средняя журналом метрика коэффициента непопаданий, возвращенная или в виде числа или в виде вектора. Для детектора мультикласса средний журналом коэффициент непопаданий возвращен как вектор значений, которые соответствуют точкам данных для каждого класса.

Ложные положительные стороны на изображение, возвращенное или как вектор числовых скаляров или как массив ячеек. Для детектора мультикласса FPPI и логарифмический коэффициент непопаданий являются массивами ячеек, где каждая ячейка содержит точки данных для каждого класса объекта.

Регистрируйте коэффициент непопаданий, возвращенный или как вектор числовых скаляров или как массив ячеек. Для детектора мультикласса FPPI и логарифмический коэффициент непопаданий являются массивами ячеек, где каждая ячейка содержит точки данных для каждого класса объекта.

Введенный в R2017a

Для просмотра документации необходимо авторизоваться на сайте