Способ и устройство для сегментации фона на основе локализации движения
Иллюстрации
Показать всеИзобретение относится к системам обнаружения движения технической кибернетики, а именно к системе и способу обнаружения статичного фона в видеопоследовательности изображений с движущимися объектами переднего плана. Его применение позволяет получить технический результат в виде повышения скорости и надежности извлечения фона из кадров при обеспечении возможности обработки случайных изменений фона и движений камеры. Этот результат достигается благодаря тому, что способ содержит локализацию движущихся объектов в каждом кадре и обучение модели фона с использованием остатка изображения. 4 н. и 37 з.п. ф-лы, 14 ил.
Реферат
Область техники
Данное изобретение относится к области детекторов движения или систем обнаружения движения и, в частности, касается способа и устройства для сегментации фона на основе локализации движения.
Уровень техники
Видеоконференции и автоматическое видеонаблюдение являются быстро развивающимися областями техники, росту которых способствует увеличивающаяся доступность систем с низкой стоимостью и прогрессом в области техники обнаружения движения. Техника видеоизображения обеспечивает отображение последовательно изображений с помощью устройства, обеспечивающего отображение изображений, например, такого как дисплей компьютера. Последовательность изображений изменяется во времени, так что она может адекватно представлять движение в сцене.
Кадр является единичным изображением в последовательности изображений, которая передается в монитор для отображения. Каждый кадр состоит из элементов изображения (пэлов или пикселей), которые являются основными единицами программируемого цвета в изображении или в кадре. Пиксель является наименьшей зоной экрана монитора, которую можно включать и выключать для создания изображения, при этом физический размер пикселя зависит от разрешения дисплея компьютера. Пиксели могут формироваться в строки и столбцы дисплея компьютера с целью визуализации кадра. Если кадр содержит цветное изображение, то каждый пиксель можно включать с конкретным цветом для визуализации кадра. Конкретный цвет, который выдает пиксель, является смесью компонентов цветного спектра, обычно таких, как красный, зеленый и синий.
Видеопоследовательности могут содержать как неподвижные объекты, так и движущиеся объекты. Неподвижные объекты являются объектами, которые остаются неподвижными из одного кадра в другой. Таким образом, пиксели, используемые для визуализации цветов неподвижного объекта, остаются по существу одинаковыми в последовательных кадрах. Зоны кадра, содержащие объекты с неизменным цветом, называются фоном. Движущиеся объекты являются объектами, которые изменяют положение в кадре относительно предыдущего положения внутри прежнего кадра в последовательности изображений. Если объект изменяет свою позицию в следующем кадре относительно его позиции в предшествующем кадре, то пиксели, используемые для визуализации изображения объекта, также изменяют цвет в последовательных кадрах. Такие зоны кадра называются передним планом.
Некоторые варианты применения, такие как техника видеоизображения, часто основываются на обнаружении движения объектов в видеопоследовательностях. Во многих системах это обнаружение движения основывается на вычитании фона. Вычитание фона является простым и эффективным способом идентификации объектов и событий, представляющих интерес, в видеопоследовательности. Существенной стадией вычитания фона является обучение модели фона способности изучать частное окружение. В большинстве случаев это подразумевает получение изображений фона для последующего сравнения с тестируемыми изображениями, где могут иметься объекты переднего плана. Однако этот подход сталкивается с проблемами при применениях, где фон не присутствует или быстро меняется.
Некоторые способы, согласно уровню техники, которые направлены на решение этих проблем, часто называются сегментацией фона. Подходы к задаче сегментации фона можно грубо разделить на две стадии: сегментацию движения и обучение фону. Сегментацию движения используют для нахождения в каждом кадре видеопоследовательности зон, которые соответствуют движущимся объектам. Сегментацию движения начинают с поля движения, полученного из оптического потока, вычисленного в двух последовательных кадрах. Поле движения разделяют на два кластера с использованием k-средств. Наибольшую группу принимают за фон.
Обучение фону состоит в обучении модели фона на остатке изображения. Основанное на модели вычитание фона состоит в вычитании фона из "музейных" цветных изображений на основе предположений о свойствах изображения. Это включает небольшое число объектов в фоне, который является относительно гладким с изменениями цвета в пространстве и легкими текстурами.
Недостатком этих решений сегментации фона, согласно уровню техники, является то, что они предлагают основанный на пикселях подход к сегментации движения. При основанном на пикселях подходе анализируют каждый пиксель для принятия решения, относится ли он к фону или нет. Поэтому время Т обработки каждого пикселя является суммой времени Т1 обнаружения движения и времени Т2 обучения фону. Если кадр состоит из N пикселей, то время обработки одного кадра составляет T*N. Такой подход может быть достаточно надежным, но требует очень много времени.
Краткое описание чертежей
Ниже приводится описание изобретения с использованием конкретного примера со ссылками на прилагаемые фигуры чертежей, которые не ограничивают существо изобретения, при этом на фигурах чертежей изображено следующее:
фиг.1 - изображает вариант выполнения способа выделения фона изображения из видеопоследовательности;
фиг.2А - пример кадра из видеопоследовательности;
фиг.2В - другой пример кадра из видеопоследовательности, следующий за кадром, согласно фиг.2А;
фиг.2С - пример выполнения изображения обнаружения изменения;
фиг.2D - пример выполнения контуров границы обнаружения изменения изображения, согласно фиг.2С;
фиг.2Е - пример выполнения конструкции оболочки;
фиг.3 - вариант выполнения итеративной конструкции оболочки;
фиг.4 - вариант выполнения схемы обучения фону;
фиг.5 - пример выполнения относительного разброса текущих средних значений в зависимости от а;
фиг.6 - пример признаков отслеживания примера фона кадра;
фиг.7 - вариант выполнения обнаружения движения камеры и его компенсации;
фиг.8 - пример процентного количества движущихся пикселей, сегментированных с помощью алгоритма локализации движения;
фиг.9 - пример процентного количества пикселей фона, сегментированных в качестве переднего плана, полученного с помощью алгоритма локализации движения;
фиг.10 - пример выполнения компьютерной системы с камерой.
Подробное описание
В последующем описании многочисленные специфичные детали описываются как примеры специальных систем, технологий, компонентов и т.д. с целью обеспечения глубокого понимания данного изобретения. Однако для специалистов в данной области техники очевидно, что эти специальные детали не являются обязательными для реализации изобретения. В других случаях хорошо известные из уровня техники компоненты и способы не описываются подробно с целью исключения ненужного усложнения данного описания.
Данное изобретение содержит различные стадии, описание которых приводится ниже. Стадии данного изобретения могут быть выполнены с помощью компонентов аппаратурного обеспечения или же могут быть представлены в выполняемых машинами командах, которые могут приводить к выполнению процессором общего назначения или специальным процессором, программируемым командами, указанных стадий. В качестве альтернативного решения, стадии могут выполняться с помощью комбинации аппаратурного обеспечения и программного обеспечения.
Данное изобретение может быть предложено в виде компьютерной программы или программного обеспечения, которое может содержать машинно-считываемый носитель информации, имеющий хранящиеся в нем команды, которые можно использовать для программирования компьютерной системы (или других электронных устройств) для выполнения способа, согласно изобретению. Машинно-считываемый носитель информации включает любой механизм для хранения или передачи информации в виде (например, программного обеспечения, прикладных программ обработки и т.д.), пригодном для считывания машиной (например, компьютером). Машинно-считываемый носитель информации может включать, но не ограничиваясь этим, магнитный носитель записи (например, гибкий магнитный диск); оптический носитель записи (например, CD-ROM), магнитно-оптический носитель записи; постоянную память (ROM), оперативную память (RAM), стираемую программируемую память (например, EPROM и EEPROM), флэш-память, электрический, оптический, акустический сигнал или сигнал с другой формой распространения (например, несущие волны, инфракрасные сигналы, цифровые сигналы и т.д.) или другие типы носителей записи, подходящие для хранения электронных команд.
Данное изобретение может быть реализовано также в распределенной вычислительной системе, где машинно-считываемый носитель информации хранится и/или выполняется более чем одной компьютерной системой. Дополнительно к этому, информация, передаваемая между компьютерными системами, может распространяться методом опроса изменений или методом принудительной рассылки в среде связи, соединяющей компьютерные системы.
Некоторые части описания представлены в виде алгоритмов или символьных представлений операций с битами данных, которые могут храниться в памяти и с которыми может работать компьютер. Эти алгоритмы и представления являются средствами, используемыми специалистами в данной области техники для эффективного выполнения своей работы. Алгоритм обычно понимается как самодостаточная последовательность действий, приводящих к желаемому результату. Действиями являются действия, требующие обращения с количествами. Обычно, но не обязательно, эти количества принимают вид электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и т.д. Иногда удобно для общего пользования называть эти сигналы битами, величинами, элементами, символами, знаками, понятиями, числами, параметрами или т.п.
Ниже приводится описание способа и системы для выделения фона изображения из видеопоследовательности с объектами переднего плана. Зоны фона в кадре, которые не перекрываются объектами переднего плана во время видеопоследовательности, могут быть захвачены посредством обработки отдельных кадров видеопоследовательности.
На фиг.1 показан конкретный неограничивающий вариант выполнения способа выделения фона изображения из видеопоследовательности. В одном варианте выполнения способ может включать локализацию движущихся объектов в изображении с использованием маски обнаружения изменений на стадии 110 и обучение модели фона на остальных зонах изображения на стадии 120. При локализации движущихся объектов на стадии 110 границы движущихся объектов, которые имеют однородный цвет для, по меньшей мере, двух последовательных кадров, маркируют посредством создания одной или нескольких оболочек, которые охватывают зоны, соответствующие движущимся объектам. Остаток изображения рассматривается в качестве фона и используется для обучения модели фона на стадии 120. В одном варианте выполнения фон может также использоваться для обнаружения и компенсации движения камеры на стадии 130.
На фиг.2А и 2В показаны два последовательных кадра одной и той же видеопоследовательности. В качестве примера стадии 110 на фиг.1 предполагается, что в видеопоследовательности представлен только один движущийся объект 205 (например, части шагающего человека), который имеет однородный цвет. В кадре 25 части шагающего человека 205 могут иметь измененное положение по сравнению с их положением в кадре 250. Разница между этими двумя кадрами - кадром 250 и кадром 255 изображения является объектом или его частями, который переместился и который показан на фиг.2С в виде изображения 209 обнаружения изменения. Например, левая нога 261 человека почти не видна в изображении 209, поскольку человек делает шаг правой ногой 264, одновременно сохраняя левую ногу 206 по существу без движения на полу. Таким образом, левая нога 262 человека не появляется в изображении 209 обнаружения изменения. В противоположность этому, пятка правой ноги 264 человека поднялась из кадра 250 в кадре 255, и поэтому она появилась в изображении 209 обнаружения изменения.
Применение маски 219 обнаружения изменения приводит к маркировке лишь пограничных контуров 210, 211 и 212 движущихся зон 209 однородного цвета, а не самих зон полностью, как показано на фиг.2D. Например, контур 210 соответствует границе вокруг торса, рук и наружных частей ног объекта 205; контур 210 соответствует границе вокруг внутренних частей ног объекта 205; и контур 212 соответствует голове и шее движущегося объекта 205. В результате маска 219 обнаружения изменения содержит намного меньшее число пикселей, чем общее число пикселей в кадре. Использование алгоритма обнаружения изменения для изображения высокого разрешения с последующей обработкой маски обнаружения изменения для локализации движения занимает намного меньше времени, чем применение сложной технологии развертки, подобной оптическому потоку.
Все движущиеся объекты локализуют посредством применения быстрого анализа связанных компонентов к маске 219 обнаружения изменения, в результате которого конструируют оболочку 239 вокруг контура каждой движущейся зоны, как показано на фиг.2Е. Например, оболочку 220 создают вокруг контура 210, оболочку 221 - вокруг контура 211, и оболочку 222 - вокруг контура 212.
Пусть It является изображением в момент времени t, mt⊂It является комплектом пикселей, которые соответствуют действительно движущимся объектам, и Mt⊂It - комплект пикселей, которые принадлежат одной из оболочек. Локализация означает, что Mt должно охватывать mt. На практике, если пиксель р принадлежит к St=It-Mt, то он соответствует статичному объекту с высокой степенью достоверности.
Для нахождения движущихся объектов алгоритм обнаружения изменения применяют к кадрам видеопоследовательности (например, к кадрам 250 и 255). В одном варианте выполнения можно использовать, например, алгоритм обнаружения изменения, описанный в "Введение в технологию трехмерного компьютерного зрения" Эмануэля Трукко и Алессандро Верри, Издательство "Prentice Hall", 1998 год. В качестве альтернативного решения можно использовать другие алгоритмы обнаружения изменения. Кроме того, алгоритм обнаружения изменения можно выбирать на основе требований конкретного применения.
Если для любого n , то пиксель рассматривается как движущийся, где является максимальным изменением в последовательно текущих средних величинах, так что модель фона для пикселей рассматривается как обученная. Пороговое значение - выбрано как произведение σ(n) вычисленное из последовательности изображений статичной сцены, где σ является стандартным отклонением нормального распределения цвета пикселей в случае одного или нескольких цветных каналов. В одном варианте выполнения маска обнаружения изменения маркирует зоны изменения шума и освещенности дополнительно к границам движущихся зон однородного цвета. Как указывалось выше, для локализации движущегося объекта создают оболочку этих зон, так что она содержит движущиеся пиксели и не захватывает, по возможности, статичные пиксели.
Движущийся объект является накоплением зон обнаружения изменения в текущий момент времени t. Для упрощения можно принять, что имеется лишь один движущийся объект. Все связанные компоненты в маске обнаружения изменения и их контуры установлены. В одном варианте выполнения для избавления от контуров шума (например, контура 231 на фиг.2D) зоны с малой площадью отфильтровываются. Затем выбирают контур Сmax с наибольшей площадью (который соответствует объекту или его границе), например контур 220 на фиг.2D. Итеративное конструирование оболочки Н начинают посредством объединения Сmax с другими площадями контуров (например, контуров 221 и 222). Эти другие площади контуров представляют другие движущиеся зоны движущегося объекта 205.
На фиг.3 показан вариант выполнения итеративного построения оболочки. На стадии 120 для всех контуров Сi конструируют их выпуклые оболочки. Выпуклая оболочка является наименьшим выпуклым многоугольником, который содержит один или несколько компонентов движущихся зон. Выпуклую оболочку контура Сi обозначают как Нi, а выпуклую оболочку контура Cmax - как Нmax. На стадии 320 находят индекс k, так что евклидово расстояние между Hk и Нmax является минимальным:
k=arg min(dist(Hi, Нmax)) и dk=min dist(Hi, Нmax).
На стадии 340 определяют, находится ли выпуклая оболочка внутри минимального расстояния Dmax выпуклой оболочки Сmax (dk меньше пороговой величины Dmax). Если это так, то конструируют выпуклую оболочку вокруг комплекта оболочек Hk и Нmax на стадии 350. Если нет, то повторяют стадию 340 для следующего контура на стадии 345. На стадии 360 обозначают и на стадии 370 определяют, были ли учтены все контуры. Затем все повторяют со стадии 320, пока все Сi не будут учтены. В противном случае переходят на стадию 380. На стадии 380 устанавливают движущуюся зону равной самому последнему максимальному контуру (Mt=Нmax). Указанные выше стадии можно объединить для случая нескольких движущихся объектов.
Качество указанного выше алгоритма можно оценить с использованием двух величин. Первая величина является условной вероятностью того, что пиксель рассматривается как движущийся при условии, что он действительно соответствует движущемуся объекту:
P1=Р(р∈Мt|р∈mt).
Вторая величина является условной вероятностью того, что пиксель рассматривается как движущийся при условии, что он является статичным: Р2=P(p∈Mt|p∈It-mt), где It является изображением в момент времени t, mt является комплектом пикселей в It, которые соответствуют движущимся объектам, и Mt является комплектом пикселей в It, которые претерпели значительное изменение в цвете в последнем или нескольких последних кадрах.
P1 должно быть как можно больше, в то время как Р2 должно быть небольшим. Если P1 является недостаточно большим, то может быть выполнено обучение искаженному фону, в то время как при недостаточно малом P2 увеличивается время обучения. P1 и Р2 должны, очевидно, расти с увеличением Dmax. Это определяет Dmax как минимальную величину, обеспечивающую P1 выше определенного уровня достоверности. Выбор Dmax будет описан со ссылками на применительно к фиг.8.
Как указывалось выше, маска обнаружения изменения маркирует лишь границы однородных движущихся зон. Кроме того, она может не маркировать зоны, которые движутся достаточно медленно. Поэтому некоторые медленно движущиеся объекты могут постоянно переходить в фон, а некоторые движущиеся объекты могут случайно рассматриваться как принадлежащие к фону. Одно решение первой проблемы состоит в выполнении обнаружения изменения несколько раз с разными опорными кадрами, например одним кадром перед текущим кадром, двумя кадрами перед текущим кадром и т.д. Одно решение второй проблемы состоит в выполнении обучения фону с учетом того, что некоторые кадры фона могут быть искажены. В этом отношении две характеристики алгоритма локализации движения представляют интерес: вероятность Р(m) того, что движущийся пиксель неправильно классифицирован m раз подряд, а индекс m* является таким, что вероятность P(m*) находится ниже уровня достоверности, в этом случае m* можно использовать в качестве параметра для алгоритма обучения фону.
Как показано на фиг.1, когда все движущиеся зоны в текущем кадре локализованы на стадии 110, то выполняется обучение модели фона с заданными статичными пикселями текущего кадра на стадии 120. Цвет пикселя может быть охарактеризован в заданный момент времени тремя величинами {X(n)}, n=1...3, которые в случае статичного пикселя можно приемлемо моделировать нормальными распределениями N(μ(n), σ(n)) с неизвестными средними μ(n) и стандартными отклонениями σ(n).
Обучение выполняют в несколько стадий для удаления выбросов, создаваемых неправильным предсказанием на стадии 110. Со случайными изменениями фона можно обращаться аналогичным образом. Если пиксель переднего плана представляет нормальное распределение с небольшим отклонением в течение длительного времени, то это рассматривается как изменение фона и модель фона сразу же обновляется. Для сегментации фона в каждом изображении можно использовать вычитание фона, как описано, например, в статье "Не параметрическая модель для вычитания фона" Ахмеда Эльгамалля, Дэвида Харвуда, Ларри Дэвиса, Proc. ECCV, том 2, страницы 751-767, 2000. А в альтернативном варианте выполнения настоящего изобретения можно использовать другие методы вычитания фона.
Во время процесса обучения используют вычисление величин μ(n) с использованием обновления текущего среднего:
где ti обозначает кадры, где пиксель был классифицирован как статичный.
Когда последовательность сходится, т.е. разница между и является небольшой:
то модель фона рассматривается как обученная в этом пикселе и . Поэтому каждый пиксель может соответствовать одному из четырех состояний, показанных на фиг.4: состояние 410 неизвестного фона (что соответствует пикселям, которые никогда не были в St), состояние 420 необученного фона (когда набирается статистика и не выполняется неравенство 2), состояние 430 обученного фона (выполняется неравенство 2) и состояние 440 переднего плана (когда обучение фону выполнено и на текущем кадре обнаружен передний план с помощью вычитания фона). Возможные переходы показаны на фиг.4. Переход А471 происходит, когда пиксель появляется в St первый раз. Переход В472 происходит, когда модель пикселя рассматривается как достаточно обученная. Переход С473 происходит, когда передний фон является статичным в течение длительного периода времени.
С целью упрощения пиксель в заданный момент времени t можно характеризовать с помощью лишь одной величины Xt. Уравнение (1) и неравенство (2) содержат неизвестные параметры α и β, которые определяют процесс обучения. Подходящий выбор этих параметров обеспечивает быстрое и в то же время статистически оптимальное обучение фону. При предположении, что X1=I+Δt, где I является постоянной величиной цвета пикселя фона, и Δ является шумом Гаусса с нулевым средним в цвете пикселя в момент времени t со стандартным отклонением Δσ, то для δt=μt-I получают следующее равенство δt=(1-α)δti-1+αΔti, где δt является разницей текущего среднего и постоянным цветом фона.
δt имеет нормальное распределение со средним и отклонением σt.
, где а является текущей средней постоянной
Для того чтобы иметь надежный фон обучение фону должно проводиться достаточно длительное время, чтобы быть уверенным, что обучение фону не выполнено с помощью движущегося объекта. Другими словами, если величина пикселя изменяется значительно, то обучение должно продолжаться по меньшей мере в течение m* кадров. Поэтому должно выполняться следующее неравенство:
где δto равно σΔ и m* является минимальным числом последовательных кадров, так что вероятность P(m*) ниже уровня достоверности; другими словами, можно предположить, что ни один пиксель не был неправильно классифицирован во всех m* последовательных кадрах. В одном варианте выполнения может не быть причины делать β меньше, чем величина, заданная в неравенстве (4), поскольку это резко увеличивает время, необходимое для обучения фону.
В то же время стандартное отклонение δm* должно быть как можно меньше. Можно доказать, что как функция α∈[0, 1] имеет один минимум , где
Примеры ζ(α) для разных чисел кадров показаны на фиг.5.
На фиг.5 показан пример выполнения относительного рассеяния текущего среднего в зависимости от значений α. В одном варианте выполнения сплошная линия 510 соответствует пятому кадру, пунктирная линия 520 соответствует десятому кадру, а штрих-пунктирная линия 530 соответствует двадцатому кадру.
Выбор слишком большой или слишком малой величины а приводит к большой статистической неопределенности δ, и текущее среднее μа=а*m* можно выбирать так, что при статичном пикселе фона текущее среднее μtm*, принимаемое в качестве величины фона пикселя, имеет минимально возможное стандартное отклонение. Заданное m*, неравенство 4 и равенство 5 задают оптимальную величину β и α.
В одном варианте выполнения изменения фона могут учитываться при обучении модели фона. Предположим, что камера не движется, а фон значительно изменился, хотя после этого остается статичным. Например, один из статичных объектов переместился в другое положение. Система маркирует прежнее и текущее места объекта как передний план. Такие пиксели обычно не являются пикселями переднего плана, а являются статичным фоном. Это свойство позволяет отслеживать такие изменения фона и адаптировать модель фона. Модель обучают для каждого пикселя в фоне, и если он имеет статичное поведение в течение длительного периода времени, то его состояние изменяется в состояние не обученного фона. После заданного числа кадров (например, трех кадров) он становится обученным фоном.
Как показано на фиг.1, в одном варианте выполнения фон можно также использовать для обнаружения и компенсации движения камеры на стадии 130. Описанные выше способы можно обобщить для случая движущейся камеры посредством включения быстрого обнаружения глобального движения. Когда часть изображения принимает состояние 430 обученного фона, согласно фиг.4, то вычитание 450 фона можно применять к каждому кадру и алгоритм оценки глобального движения воздействует на найденную маску фона.
На фиг.7 показан вариант выполнения обнаружения и компенсации движения камеры. В одном варианте выполнения признаки кадра выбраны с возможностью отслеживания фона на стадии 710, например, углов 681-693, как показано на фиг.6. Можно использовать оптический поток для отслеживания нескольких сильных признаков фона для определения движения камеры на стадии 720. В одном варианте выполнения технология выбора признаков соответствует технологии, описанной в статье "Хорошие признаки для отслеживания" Джианбо Ши и Карло Томаси, Proc. CVPR, страницы 593-600, 1994. В одном варианте выполнения технология отслеживания признаков соответствует технологии, описанной в "Введение в технологию трехмерного компьютерного зрения" Эмануэля Трукко и Алессандро Верри, Издательство "Prentice Hall", 1998. В качестве альтернативного решения можно использовать другие признаки, выбор признаков и способы отслеживания.
После обнаружения глобального движения в фоне, указывающего на движение камеры на стадии 730, модель фона возвращается в исходное состояние на стадии 740 путем перевода всех пикселей в состояние неизвестного фона (например, состояние 410 на фиг.4). Отслеживание признаков обеспечивает хорошую оценку глобального движения при отслеживании точек устойчивым образом в течение длительного времени. Если все пиксели фона потеряны, то можно отслеживать определенный процент пикселей из алгоритма обнаружения изменения. Если обнаруживается ложный конец движения (может иметь место небольшая скорость обнаружения изменения во время движения камеры, например, из-за однородного фона), то на стадиях 110 и 120 локализации движения и обучения, согласно фиг.1, производится фильтрация неправильных величин пикселей. Когда на стадии 760 камера прекращает движение, то снова начинается обучение модели фона для каждой величины пикселя (стадия 120 на фиг.1).
Ниже приводятся некоторые результаты экспериментов с использованием способов локализации движения и обучения фону. Следует отметить, что экспериментальные результаты приведены лишь для целей более наглядного описания данного изобретения и не должны ограничивать данное изобретение. В одном варианте выполнения описываемая схема осуществлялась с использованием Библиотеки обработки изображений (Image Processing Library), представленной на рынке компанией Intel®, и Библиотеки компьютерного зрения с открытым источником (OpenCV) компании Intel в системе, способной обрабатывать 320×240 изображений за 15 мс. Тестирование выполнялось на большом числе видеопоследовательностей, снятых непосредственно видеокамерой USB.
Пороговое значение Dmax локализации движения можно в одном варианте выполнения выбирать согласно фиг.8. На фиг.8 показаны в качестве примера результаты тестирования алгоритма на видеопоследовательности и сравнение этих результатов с сегментацией переднего плана на основе вычитания фона. Величина P1 представляет процентное содержание пикселей из переднего плана, которые классифицировались как движущиеся пиксели. В альтернативных вариантах выполнения пороговое значение Dmax можно выбирать на основе других эмпирических данных или с помощью других способов, например имитирования, моделирования и допущений.
На фиг.9 показано процентное содержание пикселей фона, сегментированных в качестве переднего плана, полученного с помощью тех же способов. Указанные выше P1 и Р2 можно варьировать с использованием параметра Dmax. Для Dmax=15 вычисляют число n(m) пикселей переднего плана, которые были неправильно классифицированы m раз подряд. Результаты приведены в следующей таблице:
М | 1 | 2 | 3 | 4 | 5 | 6 |
N | 542 | 320 | 238 | 128 | 3 | 0 |
Приняв m*=5, получают для приведенных выше неравенства (4) и равенства (5) следующие значения: α˜0,25 и β˜0,71.
На фиг.10 показан вариант выполнения компьютерной системы (например, системы клиента или сервер) в виде цифровой процессорной системы, представляющей собой, например, рабочую станцию, сервер, персональный компьютер, компактный компьютер, переносной компьютер, персональный цифровой ассистент, радиотелефон, телеприставку и т.д., в которой можно реализовать признаки данного изобретения. Цифровую процессорную систему 1000 можно использовать для таких применений, как видеонаблюдение, видеоконференция, зрение роботов и т.д.
Цифровая процессорная система 1000 включает одну или более шин или другие средства для передачи данных между компонентами цифровой процессорной системы 1000. Цифровая процессорная система 1000 включает также средства обработки данных, такие как процессор 1002, соединенный с системной шиной для обработки информации. Процессор 1002 может представлять один или более процессоров общего назначения (например, процессор Motorola PowerPC или процессор Intel Pentium) или специальный процессор, такой как цифровой сигнальный процессор (DSP) (например, Texas Instrument DSP). Процессор 1002 может быть выполнен с возможностью выполнения команд для осуществления указанных выше операций и стадий. Например, процессор 1002 может быть выполнен с возможностью обработки алгоритма для локализации движущегося объекта в кадрах видеопоследовательности.
Кроме того, цифровая процессорная система 1000 включает системную память 1004, которая может включать оперативную память (RAM) или другое устройство динамической памяти, соединенное с контроллером 1065 памяти, для хранения информации и команд, подлежащих исполнению процессором 1002. Контроллер 1065 управляет операциями между процессором 1002 и устройствами памяти, такими как память 1004. Память 1004 можно также использовать для хранения временных переменных или другой промежуточной информации во время исполнения команд процессором 1002. Память 1004 представляет одно или более устройств памяти, например память 1004, может также содержать постоянную память (ROM) и/или другое устройство статического хранения для хранения статической информации и команд для процессора 1002.
Цифровая процессорная система 1000 может содержать также контроллер 1070 ввода/вывода для управления операциями между процессором 1002 и одним или более устройствами 1075 ввода-вывода, клавиатуру и мышь. Контроллер 1075 ввода-вывода может также управлять операциями между процессором 1002 и периферийными устройствами, например устройством 1007 хранения. Устройство 1007 хранения представляет одно или более устройств хранения (например, привод магнитного диска или привод оптического диска), соединенных с контроллером 1070 ввода-вывода, для хранения информации и команд. Устройство 1007 хранения можно использовать для хранения команд для выполнения указанных выше стадий. Контроллер 1070 ввода-вывода может быть также соединен с базовой системой 1050 ввода-вывода (BIOS) для загрузки цифровой процессорной системы 1000.
Цифровая процессорная система содержит также видеокамеру 1071 для записи и/или воспроизведения видеопоследовательностей. Камера 1071 может быть соединена с контроллером 1070 ввода-вывода с использованием, например, универсальной последовательной шины (USB) 1073. В качестве альтернативного решения, для соединения камеры 1071 с контроллером 1070 ввода-вывода можно использовать другие типы шин, например противопожарную проводную шину. С контроллером 1070 ввода-вывода может быть соединено дисплейное устройство 1021, такое как катодно-лучевая трубка или жидкокристаллический дисплей, для отображения видеопоследовательностей для пользователя.
Устройство 1026 связи (например, модем или плата интерфейса с сетью) может быть также соединено с контроллером 1070 ввода-вывода. Например, устройство 1026 связи может быть платой локальной сети Ethernet, платой локальной сети с маркерным кольцом или другим типом интерфейса для обеспечения линии связи с сетью, с которой цифровая процессорная система 1000 приспособлена устанавливать соединение. Например, устройство 1026 связи можно использовать для приема данных, относящихся к видеопоследовательностям, из другой камеры и/или компьютерной системы или сети.
Следует отметить, что показанная на фиг.10 архитектура является лишь примером. В альтернативных вариантах выполнения настоящего изобретения можно использовать другую архитектуру для цифровой процессорной системы 1000. Например, контроллер 1065 памяти и контроллер 1070 ввода-вывода могут быть интегрированы в единственный компонент и/или разные компоненты могут быть соединены друг с другом в другие конфигурации (например, непосредственно друг с другом) или с помощью других типов шин.
В приведенном выше описании на конкретных примерах был представлен новый и быстрый способ извлечения фона из последовательности изображений с движущимися объектами переднего плана. Способ использует операции обработки изображения и контуров и способен надежно извлекать фон для небольшого числа кадров. Например, способ может работать примерно с 30 кадрами в типичной для видеоконференции видеопоследовательности со статичным фоном и одним человеком на переднем плане. Это является значительным преимуществом для видеоприменений в реальном времени, таких как наблюдение и зрение роботов, по сравнению с системами, известными согласно уровню техники, которые основываются на дорогих вычислительных операциях. Способы, согласно данному изобретению, можно применять для решения широкого круга задач, которые связаны со стационарным фоном и представляющими интерес объектами на переднем плане. Дополнительно к этому, универсальность систем обеспечивает выбор алгоритма обнаружения изменения для потребностей конкретного применения. Такие способы можно также использовать в соединении с сжатием видеоданных с использованием преимущества знания статичных зо