vision.ForegroundDetector

Обнаружение переднего плана с использованием Смешанных гауссовских моделей

Описание

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

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

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

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

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

пример

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

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

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Описание

пример

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

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

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

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

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

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

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

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

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

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

Маска переднего плана, вычисленная с помощью смешанной гауссовской модели, возвращается как двоичная маска.

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

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

release(obj)

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

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

Примеры

свернуть все

Создайте исходный объект видео для чтения файла.

videoSource = VideoReader('viptraffic.avi');

Создайте объект детектора и установите количество обучающих систем координат равным 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 hasFrame(videoSource)
     frame  = readFrame(videoSource);
     fgMask = detector(frame);
     bbox   = blob(fgMask);
     out    = shapeInserter(frame,bbox);
     videoPlayer(out);
     pause(0.1);
end

Деблокируйте объекты.

release(videoPlayer);

Ссылки

[1] Kaewtrakulpong, P. and R. Bowden. Улучшенная модель адаптивной фоновой смеси для отслеживания в реальном времени с обнаружением теней. В проц. 2-й Европейский семинар по усовершенствованным системам видеонаблюдения, AVBS01, СИСТЕМАМ ВИДЕОНАБЛЮДЕНИЯ: компьютерное зрение и распределенная обработка (сентябрь 2001 г.)

[2] Stauffer, C. and W.E.L. Гримсон. Адаптивные модели фоновой смеси для отслеживания в реальном времени, компьютерного зрения и распознавания шаблона, Конференция компьютерного общества IEEE, том 2 (06 августа 1999 года), стр. 2246-252 том 2.

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

.
Введенный в R2011a