видение. ForegroundDetector

Приоритетное обнаружение с помощью Гауссовых моделей смеси

Описание

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

Обнаружить передний план в изображении:

  1. Создайте объект vision.ForegroundDetector и установите его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Синтаксис

detector = vision.ForegroundDetector
detector = vision.ForegroundDetector(Name,Value)

Описание

пример

detector = vision.ForegroundDetector вычисляет и возвращает приоритетную маску с помощью Гауссовой модели смеси (GMM).

detector = vision.ForegroundDetector(Name,Value) свойства наборов с помощью одной или нескольких пар "имя-значение". Заключите каждое имя свойства в кавычки. Например, detector = vision.ForegroundDetector('LearningRate',0.005)

Свойства

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

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и функция release разблокировала их.

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

Адаптируйте темп обучения, заданный как 'true' или 'false'. Это свойство включает объекту адаптировать темп обучения в период, заданный свойством NumTrainingFrames. Когда вы устанавливаете это свойство на true, объект устанавливает свойство LearningRate на 1 / (текущий номер кадра). Когда вы устанавливаете это свойство на false, свойство LearningRate должно быть установлено на каждом временном шаге.

Количество начальных кадров видео для учебной фоновой модели, заданной как целое число. Когда вы установите AdaptLearningRate на false, это свойство не будет доступно.

Темп обучения для обновлений параметра, заданных в виде числа. Задайте темп обучения, чтобы адаптировать параметры модели. Это свойство управляет, как быстро модель адаптируется к изменяющимся условиям. Установите это свойство соответственно гарантировать устойчивость алгоритма.

Темп обучения, заданный этим свойством, может только быть реализован, когда вы устанавливаете AdaptLearningRate на true и после того, как период подготовки, заданный NumTrainingFrames, закончен.

Настраиваемый: да

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

Количество режимов Gaussian в модели смеси, заданной как положительное целое число. Как правило, вы установили бы это значение к 3, 4 или 5. Установите значение к 3 или больше смочь смоделировать несколько фоновых режимов.

Начальное отклонение модели смеси, заданное в виде числа или вектора символов 'Auto'.

Тип данных imageНачальное отклонение
double/single(30/255)^2
uint830^2

Это свойство применяется ко всем цветовым каналам за цветные входные параметры.

Использование

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить Систему object™ алгоритм. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

foregroundMask = detector(I)
foregroundMask = detector(I,learningRate)

Описание

пример

foregroundMask = detector(I) вычисляет приоритетную маску для входного изображения I и возвращает логическую маску. Значения 1 в маске соответствуют приоритетным пикселям.

foregroundMask = detector(I,learningRate) вычисляет приоритетную маску с помощью LearningRate.

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

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

Введите изображение, заданное как полутоновый или истинный цвет (RGB).

Темп обучения для обновлений параметра, заданных в виде числа. Задайте темп обучения, чтобы адаптировать параметры модели. Это свойство управляет, как быстро модель адаптируется к изменяющимся условиям. Установите это свойство соответственно гарантировать устойчивость алгоритма.

Темп обучения, заданный этим свойством, может только быть реализован, когда вы устанавливаете AdaptLearningRate на true и после того, как период подготовки, заданный NumTrainingFrames, закончен.

Настраиваемый: да

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

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

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

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

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

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

stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

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

Создайте объект источника видеосигнала считать файл.

videoSource = vision.VideoFileReader('viptraffic.avi',...
    'ImageColorSpace','Intensity','VideoOutputDataType','uint8');

Создайте объект детектора и определите номер учебных кадров к 5 (потому что это - короткое видео.) Стандартное отклонение начальной буквы набора.

detector = vision.ForegroundDetector(...
       'NumTrainingFrames', 5, ...
       'InitialVariance', 30*30);

Выполните анализ блоба.

blob = vision.BlobAnalysis(...
       'CentroidOutputPort', false, 'AreaOutputPort', false, ...
       'BoundingBoxOutputPort', true, ...
       'MinimumBlobAreaSource', 'Property', 'MinimumBlobArea', 250);

Вставьте границу.

shapeInserter = vision.ShapeInserter('BorderColor','White');

Проигрывайте результаты. Чертите ограничительные рамки вокруг автомобилей.

videoPlayer = vision.VideoPlayer();
while ~isDone(videoSource)
     frame  = videoSource();
     fgMask = detector(frame);
     bbox   = blob(fgMask);
     out    = shapeInserter(frame,bbox);
     videoPlayer(out);
end

Выпустите объекты.

release(videoPlayer);
release(videoSource);

Ссылки

[1] Kaewtrakulpong, P. и Р. Боуден. Улучшенная Адаптивная Фоновая Модель Смеси для Отслеживания В реальном времени с Теневым Обнаружением. В материалах 2-й европейский Семинар по Усовершенствованным основанным на видео Системам Наблюдения, AVBS01, СИСТЕМАМ VIDEO BASED SURVEILLANCE: Компьютерное зрение и Распределенная обработка (сентябрь 2001)

[2] Stauffer, C. и В.Е.Л. Гримсон. Адаптивные Фоновые Модели Смеси для Отслеживания В реальном времени, Компьютерного зрения и Распознавания образов, Конференции Общества эпохи компьютеризации IEEE по, Издание 2 (06 августа 1999), стр 2246-252 Издания 2.

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

Введенный в R2011a

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