ssdObjectDetector

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

Описание

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

Создание

Создайте ssdObjectDetector Объект детектора вызовом trainSSDObjectDetector функция с обучающими данными (требует Deep Learning Toolbox™).

detector = trainSSDObjectDetector(trainingData,...)

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

Свойства

расширить все

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

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

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

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

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

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

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

Имена классов объектов, которые был обучен найти детектор твердотельных накопителей, заданные как массив ячеек. Это свойство задается функцией 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