evaluateLaneBoundaries

Оцените модели контура маршрута относительно основной истины

Описание

numMatches = evaluateLaneBoundaries(boundaries,worldGroundTruthPoints,threshold) возвращает общее количество контуров маршрута (true positives) в пределах бокового расстояния threshold путем сравнения моделей входа контура, boundaries, против достоверных данных.

пример

[numMatches,numMissed,numFalsePositives] = evaluateLaneBoundaries(___) также возвращает общее количество промахов (ложных срабатываний) и ложных срабатываний, используя предыдущие входы.

[___] = evaluateLaneBoundaries(___,xWorld) задает x точки -оси, в которых будут выполняться сравнения. Точки, указанные в worldGroundTruthPoints линейно интерполированы в заданных x местоположениях по оси.

[___] = evaluateLaneBoundaries(boundaries,groundTruthBoundaries,threshold) сравнивает контуры с моделями основной истины, которые заданы в массиве объектов контура маршрута или массиве ячеек из массивов.

[___,assignments] = evaluateLaneBoundaries(___) также возвращает индексы назначения, указанные в groundTruthBoundaries. Каждый контур совпадает с соответствующим назначением классов в groundTruthBoundaries. The kI контур в boundaries совпадает с assignments(k) элемент worldGroundTruthPoints. Нуль указывает на ложное положительное (совпадение не найдено).

Примеры

свернуть все

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

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

parabolaParams1 = [-0.001 0.01 0.5];
parabolaParams2 = [0.001 0.02 0.52];
x = (0:0.1:20)';
y1 = polyval(parabolaParams1,x);
y2 = polyval(parabolaParams1,x);

Добавьте шум относительно параметра offset.

y1 = y1 + 0.10*parabolaParams1(3)*(rand(length(y1),1)-0.5);
y2 = y2 + 0.10*parabolaParams2(3)*(rand(length(y2),1)-0.5);

Создайте набор тестовых контуров.

testlbs = parabolicLaneBoundary([-0.002 0.01 0.5;
                                 -0.001 0.02 0.45;
                                 -0.001 0.01 0.5;
                                  0.000 0.02 0.52;
                                 -0.001 0.01 0.51]);

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

threshold = 0.1;
[numMatches,numMisses,numFalsePositives,~] = ...
        evaluateLaneBoundaries(testlbs,{[x y1],[x y2]},threshold);

disp('Precision:');
Precision:
disp(numMatches/(numMatches+numFalsePositives));
    0.4000
disp('Sensitivity/Recall:');
Sensitivity/Recall:
disp(numMatches/(numMatches+numMisses));
     1

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

свернуть все

Основные истины точки контуров маршрута, заданные как [x y] массив или массив ячеек [x y] массивы. Точки x-оси должны быть уникальными и находиться в той же системе координат, что и модели границ. Контур маршрута должен содержать как минимум две точки, но для надежного сравнения рекомендуются четыре или более точки. Каждый элемент массива ячеек представляет отдельный контур маршрута.

Максимальное боковое расстояние между моделью и основной истиной точкой в порядок для этой точки считается допустимым соответствием (истинным положительным), заданным как действительный скаляр.

Модели контура маршрута, заданные как массив parabolicLaneBoundary объекты или cubicLaneBoundary объекты. Модели контуров маршрута содержат следующие свойства:

  • Parameters - вектор, соответствующий коэффициентам краевой модели. Размер вектора зависит от степени полинома для модели.

    Объект контура маршрутаПараметры
    parabolicLaneBoundary

    [A B C], соответствующий коэффициентам полиномиального уравнения второй степени вида y = Ax2 + Bx + C

    cubicLaneBoundary[A B C D], соответствующий коэффициентам полиномиального уравнения третьей степени вида y = Ax3 + Bx2 + Cx + D
  • BoundaryType - A LaneBoundaryType перечисление поддерживаемых контуров маршрута:

    • Unmarked

    • Solid

    • Dashed

    • BottsDots

    • DoubleSolid

    Задайте тип контура маршрута как LaneBoundaryType BoundaryType.. Для примера:

    LaneBoundaryType.BottsDots
    
  • Strength - Отношение количества уникальных x -осей на контуре к общему числу точек вдоль линии на основе XExtent свойство.

  • XExtent - Двухэлементный вектор, описывающий минимальное и максимальное x местоположение оси для граничных точек.

x -осевые положения контура, заданные как действительный вектор. Точки в worldGroundTruthPoints линейно интерполированы в заданных x местоположениях по оси. Контуры за пределами этих местоположений исключены и считаются ложными срабатываниями.

Основные истины контура модели, заданные как массив parabolicLaneBoundary или cubicLaneBoundary объекты или массив ячеек parabolicLaneBoundary или cubicLaneBoundary массивы.

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

свернуть все

Количество матчей (истинных срабатываний), возвращенных как настоящий скаляр.

Количество промахов (ложных срабатываний), возвращаемых как действительный скаляр.

Количество ложных срабатываний, возвращенных как действительный скаляр.

Индексы назначения для основной истины контуров, возвращенные как массив ячеек из вещественных массивов. Каждый контур соответствует соответствующему назначению в groundTruthBoundaries. The kI контур в boundaries совпадает с assignments(k) элемент worldGroundTruthPoints. Нуль указывает на ложное положительное (совпадение не найдено).

Введенный в R2017a