exponenta event banner

blockedImageAutomationAlgorithm

Реализует алгоритм автоматизации заблокированных изображений

    Описание

    res = blockedImageAutomationAlgorithm(algObj,bstruct) вычисляет метки на основе алгоритма, указанного в этом методе. Приложение Image Labeler вызывает этот метод для каждого изображения, выбранного для автоматизации заблокированных изображений в приложении. algObj является vision.labeler.AutomationAlgorithm объект. bstruct - структура. Формат вывода, res, зависит от типа заданного алгоритма автоматизации.

    Примеры

    Пример функции автоматизации алгоритма блокированных изображений

    • Ниже приведен пример функции автоматизации алгоритма блокированных изображений.

      function res = blockedImageAutomationAlgorithm(algObj,bstruct)
         % Detect people using aggregate channel features
         detector = peopleDetectorACF('inria-100x41');
         [bboxes, scores] = detect(detector, bstruct.Data,...
                  'SelectStrongest', false);
                 
         % Apply non-maximum suppression to select the strongest bounding boxes.
         [selectedBboxes, selectedScores] = selectStrongestBbox(bboxes, scores,...
                  'RatioType', 'Min',...
                  'OverlapThreshold', 0.65);
                 
         % Consider only detections that meet specified score threshold
         selectedBboxes = selectedBboxes(selectedScores > 0, :);
         selectedBboxes(:,1) = selectedBboxes(:,1)+bstruct.Start(2);
         selectedBboxes(:,2) = selectedBboxes(:,2)+bstruct.Start(1);
                 
         if algObj.SelectedLabelDefinitions.Type == "Rectangle"
            % Add the selected label at the bounding box position(s)
            res = struct(...
                'Type', labelType.Rectangle,...
                'Name', algObj.SelectedLabelDefinitions.Name,...
                'Position', selectedBboxes);
         end
      end

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

    свернуть все

    Алгоритм автоматизации, указанный как vision.labeler.AutomationAlgorithm объект.

    Структура данных, передаваемых в заблокированное изображение apply объектная функция, заданная как скаляр struct с этими полями.

    ОбластьОписание
    DataБлок данных массива из заблокированного образа.
    StartИндексы массива первого элемента в блоке. Если BorderSize указывается, этот нижний индекс может быть вне границ для пограничных блоков.
    EndИндексы массива последнего элемента в блоке. Если BorderSize указывается, этот нижний индекс может быть вне границ для блоков кромок.
    BlocksubПодстрочные индексы текущего блока
    BorderSizeЗначение BorderSize параметр
    BlockSizeЗначение BlockSize параметр. Примечание: размер (данные) может быть меньше этого значения для блоков границPadPartialValue имеет значение false.
    BatchSizeЗначение BatchSize параметр

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

    свернуть все

    Результат обработки, возвращаемый как скаляр struct. Формат структуры зависит от типа алгоритма автоматизации.

    Для алгоритмов автоматизации без пиксельных меток, struct содержит поля, описанные в этой таблице.

    ОбластьОписание
    TypeA labelType перечисление, определяющее тип метки. Тип может иметь значения: Rectangle, Line, Projected cuboid, Cuboid, или Scene.
    NameВектор символов, указывающий имя метки, возвращающей true для checkLabelDefinition. Можно использовать только существующие имена меток, ранее определенные в приложении Image Labeler.
    Position

    Положения меток. Тип метки определяет формат данных позиции.

    Тип меткиОписание
    ПрямоугольникP-by-1 массив ячеек, задающий прямоугольники P, каждый из которых содержит вектор 1 на 4, задающий положение расположения ограничивающей рамки как [x y w h] или несколько Rectangle ROI, указанных как матрица M-by-4.
    ЛинияP-by-1 массив ячеек, задающий P полилиний, каждая из которых содержит вектор N-by-2 задающий N точек вдоль каждой полилинии как: [x1,y1; x2,y2;...xN,yN]
    МногоугольникиP-by-1 массив ячеек, задающий P многоугольников, каждый из которых содержит вектор N-by-2 задающий N точек вдоль каждого многоугольника, как: [x1,y1; x2,y2;...xN,yN]
    Спроецированный кубоидP-by-1 массив ячеек, задающий P проецируемых кубоидов, каждый из которых содержит вектор 1 на 8, задающий положение первичной и вторичной граней как: [x1 y1 w1 h1 x2 y2 w2 h2] или несколько проецированных кубических ROI могут быть определены как матрица M-by-8.
    AttributesМассив structs представление атрибутов, содержащихся в автоматических метках. Каждый атрибут указан как поле struct с именем поля, представляющего имя атрибута, и значением поля, представляющего значение атрибута. Это необязательное поле, присутствующее только в том случае, если определенные метки имеют атрибуты.

    Для алгоритмов автоматизации с метками пикселей res является categorical матрица меток, где каждая категория представляет метку пикселя.

    Совет

    • Для алгоритмов автоматизации без пиксельных меток, Position поле в res должно быть в мировой системе координат. Это может быть достигнуто путем добавления индексов X и Y в bstruct.Start поле на выход алгоритма автоматизации. Чтобы получить правильную координату X, добавьте bstruct.Start(2) получить положение выхода автоматики в мировых координатах. Чтобы получить правильную координату Y, добавьте bstruct.Start(1) получить положение выхода автоматики в мировых координатах.

    Представлен в R2021a