exponenta event banner

ssdObjectDetector

Обнаружение объектов с помощью детектора глубокого обучения SSD

Описание

ssdObjectDetector детектирует объекты из изображения, используя детектор объектов с одиночным снимком (SSD). Чтобы обнаружить объекты на изображении, передайте обученный детектор в detect функция.

Создание

Создание ssdObjectDetector объект-детектор путем вызова trainSSDObjectDetector функция с данными обучения (требует Toolbox™ глубокого обучения).

detector = trainSSDObjectDetector(trainingData,...)

Чтобы обнаружить объекты в изображении, передайте detector в detect функция.

Свойства

развернуть все

Это свойство доступно только для чтения.

Имя классификационной модели, указанное как вектор символа или скаляр строки. По умолчанию для имени устанавливается заголовок второго столбца trainingData таблица, указанная в trainSSDObjectDetector функция. Это имя можно изменить после создания ssdObjectDetector объект.

Это свойство доступно только для чтения.

Обученная сеть обнаружения объектов на основе многопользовательского твердотельного накопителя, указанная как DAGNetwork(Панель инструментов глубокого обучения). Этот объект хранит слои, которые определяют сверточную нейронную сеть, используемую в детекторе SSD.

Это свойство доступно только для чтения.

Размер полей привязки, указанный как массив ячеек P-by-1 для P-числа слоев извлечения элементов, используемых для обнаружения объектов в сети SSD. Каждый элемент массива содержит M-by-2 матрицу размеров полей привязки в формате [ширина высоты ]. Каждая ячейка может содержать разное количество полей привязки. Это значение устанавливается во время обучения.

Это свойство доступно только для чтения.

Имена классов объектов, которые был обучен находить детектор SSD, указанные как массив ячеек. Это свойство задается параметром trainingData входной аргумент для trainSSDObjectDetector функция.

Функции объекта

detectОбнаружение объектов с помощью детектора объектов SSD multibox

Примеры

свернуть все

Загрузить предварительно обученный одиночный детектор (SSD) для обнаружения транспортных средств в изображении. Детектор обучен изображениям автомобилей на автодорожной сцене.

vehicleDetector = load('ssdVehicleDetector.mat','detector');
detector = vehicleDetector.detector;

Считывание тестового изображения в рабочую область.

I = imread('highway.png');

Отображение тестового изображения.

imshow(I);

Figure contains an axes. The axes contains an object of type image.

Запустите предварительно обученный детектор объектов SSD с помощью detect функция. Выходные данные содержат ограничивающие рамки, оценки и метки для транспортных средств, обнаруженных на изображении. Метки получаются из ClassNames свойство детектора.

[bboxes,scores,labels] = detect(detector,I)
bboxes = 2×4

   139    78    96    81
    99    67   165   146

scores = 2x1 single column vector

    0.8349
    0.6302

labels = 2x1 categorical
     vehicle 
     vehicle 

Аннотирование изображения с результатами обнаружения.

if ~isempty(bboxes)
    detectedI = insertObjectAnnotation(I,'rectangle',bboxes,cellstr(labels));
else
   detectedI = insertText(I,[10 10],'No Detections');
end
   
figure
imshow(detectedI)

Figure contains an axes. The axes contains an object of type image.

Расширенные возможности

..
Представлен в R2020a