ОЦЕНКА ТРЕХМЕРНОЙ ТОПОЛОГИИ ДОРОГИ НА ОСНОВЕ ВИДЕОПОСЛЕДОВАТЕЛЬНОСТЕЙ ПОСРЕДСТВОМ ОТСЛЕЖИВАНИЯ ПЕШЕХОДОВ
EVALUATING THREE-DIMENSIONAL ROAD TOPOLOGY BASED ON VIDEO SEQUENCES BY TRACKING PEDESTRIANS

Область техники
Настоящее изобретение, в общем, имеет отношение к видеонаблюдению и, в частности, к анализу движения объектов в трехмерной (3D) сцене.
Уровень техники
Системы видеонаблюдения используются для обеспечения безопасности людей и объектов. В ранних системах видеоизображения непрерывно отслеживались служащими безопасности. При наблюдении нескольких дисплеев в течение длительных промежутков времени служащие часто испытывали усталость и часто пропускали интересующие события, происходящие в зафиксированных изображениях отслеживаемой сцены. Под влиянием этого некоторые системы видеонаблюдения фиксировали изображения только тогда, когда в отслеживаемой сцене что-либо изменялось. Однако эти системы по-прежнему требовали ручного управления и наблюдения служащими безопасности.
Позже были разработаны различные методики для автоматического фиксирования и анализа изображений. Компьютерное зрение стало общепризнанным разделом исследований в области теории вычислительных систем. Однако остается много работы по реализации практических приложений, которые автоматически фиксируют и анализируют изображения в системе наблюдения.
Краткое описание чертежей
Особенности и преимущества настоящего изобретения станут понятны из следующего подробного описания настоящего изобретения, в котором:
Фиг.1 является блок-схемой системы обработки в соответствии с вариантом воплощения настоящего изобретения;
Фиг.2 является диаграммой, иллюстрирующей проекцию объекта на плоскость камеры с плоскости земли в соответствии с вариантом воплощения настоящего изобретения;
Фиг.3 является иллюстративным изображением сцены, включающим в себя оценку высоты объектов;
Фиг.4 является иллюстративным изображением другой сцены;
Фиг.5 является иллюстративной картой дороги, соответствующей сцене на фиг.4;
Фиг.6 является иллюстративной трехмерной картой дороги, соответствующей сцене на фиг.4; и
Фиг.7 является блок-схемой, иллюстрирующей прогнозирование масштаба объекта и процесс обнаружения карты дороги в соответствии с вариантом воплощения настоящего изобретения.
Осуществление изобретения
Вариант воплощения настоящего изобретения содержит способ и систему для автоматического изучения трехмерной (3D) структуры сцены вне помещения, наблюдаемой посредством одной некалиброванной видеокамеры. В частности, оценка трехмерной топологии дорог и путей, по которым ходят пешеходы, может быть создана посредством наблюдения пешеходов в течение времени и посредством оценки параметров дороги на основе высоты и положения пешеходов в последовательности видеокадров. Эксперименты с реальными видео вне помещения показывают надежность вариантов воплощения настоящего изобретения по отношению к искажениям камеры, изменению освещенности сцены, возможным ошибкам в обнаружении движения объектов, изменению покрытия дороги и дрожанию камеры. Предполагаемая трехмерная карта дороги (с точностью до масштабного коэффициента) может использоваться в областях применения компьютерного зрения, которые требуют калибровки относительных положений между камерой и трехмерной сценой, таких как видеонаблюдение, распознавание человеческой активности и анализ походки человека.
Ссылка в спецификации на "один вариант воплощения" или "вариант воплощения" настоящего изобретения означает, что отдельный признак, структура или характеристика, описанные в связи с вариантом воплощения, включены, по меньшей мере, в один вариант воплощения настоящего изобретения. Таким образом, фразы "в одном варианте воплощения", встречающиеся в различных местах в спецификации, не обязательно относятся к одному и тому же варианту воплощения.
Настоящее изобретение имеет дело с двумя взаимосвязанными задачами: прогнозированием масштаба объекта в наблюдаемой сцене и оценкой карты дороги. Первая задача заключается в том, как оценить соответствие между положениями двухмерных (2D) объектов в сцене и масштабом объекта. Для этой цели оцениваются параметры функции, отражающей относительное положение плоскости камеры на плоскости земли, с использованием траектории движения объектов. Варианты воплощения настоящего изобретения включают в себя точный и устойчивый процесс прогнозирования высоты объектов в сцене.
Высота объекта может быть точно спрогнозирована, только если траектория перемещающегося объекта находится на плоскости дороги (то есть, на плоскости земли). Варианты воплощения настоящего изобретения включают в себя процесс для обнаружения дороги в сцене с использованием информации, относящейся к движущимся объектам в сцене, которая не противоречит спрогнозированному масштабу. Приблизительное положение объекта в видеокадре может быть оценено с использованием одной из нескольких известных методик обнаружения переднего плана (например, Liyuan Li, Weimin Huang, Irene Y.H. Gu и Qi Tian, "Обнаружение объектов переднего плана в видеоизображениях, содержащих сложный фон" ("Foreground Object Detection from Videos Containing Complex Background"), доклады одиннадцатой международной конференции Ассоциации по вычислительной технике (ACM) по мультимедиа, MM2003, 2003). Процесс обнаружения карты дороги вариантов воплощения настоящего изобретения устойчив к ошибкам при оценке положения, изменениям освещенности сцены (например, в течение дня), искажениям изображения и изменениям покрытия дороги (например, после дождя или снега, идущего в сцене).
Процесс обнаружения карты дороги не контролируется и может самостоятельно адаптироваться в случае движения камеры, частичного изменения сцены и других наблюдаемых изменений окружающей обстановки. В прикладной программе видеонаблюдения, включающей в себя настоящее изобретение как часть, процесс обнаружения карты дороги не контролируется, поэтому для управления процессом не нужен человек-оператор или пользователь. Процесс обнаружения карты дороги может самостоятельно адаптироваться, автоматически обновляя параметры трехмерного преобразования, если изменяется положение камеры или происходят другие изменения окружающей обстановки (такие как, например, изменения условий освещения). Для получения правильных результатов процессу требуется только вид сверху вниз на отдаленную сцену. Процесс основан на предположении, что движущиеся объекты подчиняются известному статистическому распределению размеров объектов (например, людей) и что все дороги в сцене лежат в одной и той же плоскости. Эти предположения выполняются в большинстве задач видеонаблюдения, таких как, например, распознавание человеческой активности, анализ походки человека, оценка географического местоположения объекта и отслеживание и подсчет транспортных средств. Ограничение плоскости земли часто включается в существующие методики наблюдения.
Варианты воплощения настоящего изобретения объединяют прогнозирование масштаба объекта и обнаружение карты дороги для получения точных и надежных результатов для трехмерной топологии дорог в сцене, фиксируемой одной камерой.
Фиг.1 является блок-схемой системы 100 обработки в соответствии с вариантом воплощения настоящего изобретения. Видеопоток 102 содержит последовательность видеокадров, зафиксированных одной камерой (не показана). Каждый кадр в последовательности содержит битовый массив пикселей, битовый массив имеет выбранный размер, зафиксированный камерой. Каждый кадр видеопотока может быть обработан посредством блока 104 известного обнаружения объектов переднего плана для извлечения объектов (представленных пятнами, "blobs") на переднем плане каждого видеокадра из фона кадра. Каждое обнаруженное пятно имеет соответствующее положение отпечатка следа в трехмерной сцене на плоскости земли. В одном варианте воплощения блок обнаружения объектов переднего плана реализует методику, описанную Liyuan Li, Weimin Huang, Irene Y.H. Gu и Qi Tian в статье "Обнаружение объектов переднего плана в видео, содержащих сложный фон" ("Foreground Object Detection from Videos Containing Complex Background"), доклады одиннадцатой международной конференции Ассоциации по вычислительной технике (ACM) по мультимедиа, MM2003, 2003. Однако в других вариантах воплощения могут использоваться другие процессы обнаружения объекта переднего плана. Блок 104 обнаружения объектов переднего плана передает обнаруженные пятна объектов 106 блоку 108 прогнозирования масштаба объектов и блоку 110 оценки карты дороги. Блок 104 обнаружения объектов переднего плана также передает фоновое изображение 112, полученное в результате определения объектов переднего плана, блоку 110 оценки карты дороги. Блок 108 обнаружения масштаба объектов анализирует пятна объектов в зафиксированной сцене, чтобы оценить их высоту. Блок 110 оценки карты дороги формирует оценку карты дороги зафиксированной сцены. Обнаружение объектов переднего плана, прогнозирование масштаба объектов и обнаружение карты дороги могут быть выполнены на каждом видеокадре видеопотока. Результаты блока прогнозирования масштаба объектов и блока обнаружения карты дороги объединяются для получения масштабной карты движущихся объектов на дорогах 114 сцены, представленной в видеопотоке. Масштабная карта может быть выдана в качестве входных данных другим приложениям 116, таким как приложения видеонаблюдения, приложения создания информационного содержания, системы воссоздания трехмерных объектов и т.д.
Прогнозирование 108 масштаба объекта может быть выполнено над пятнами объектов. Для каждого пятна, обнаруженного блоком обнаружения объектов переднего плана в заданном видеокадре, блок прогнозирования масштаба объектов вычисляет предполагаемую высоту объекта частично на основе отпечатка следа, соответствующего пятну. Фиг.2 является диаграммой, иллюстрирующей проекцию объекта на плоскость камеры с плоскости земли в соответствии с вариантом воплощения настоящего изобретения. В этом примере объект (например, человек) в трехмерной сцене имеет "вершину" в точке (tx, ty, tz) относительно плоскости земли сцены. Когда сцена фиксируется камерой, имеющей плоскость камеры, объект имеет отпечаток следа в точке (X, Y) в плоскости камеры и вершину в точке (px, py).
Предположим общее преобразование перспективы между камерой (не показана) и зафиксированной трехмерной сценой в соответствии со следующей формулой:
xx
xy
xx
xz
x0
zx
zy
zx
z0
yx
yy
yz
y0
zx
zy
zz
z0
где tx, ty, tz обозначают трехмерные мировые координаты вершины объекта в сцене, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R, R и R обозначают константы, и px, py обозначают координаты точки (то есть вершины объекта) в плоскости камеры.
Предположим, что все движущиеся объекты в сцене имеют почти одинаковую высоту. Используя это предположение, можно показать, что Y-координата py "вершины" объекта в плоскости камеры зависит от положения (X, Y) его "основания" в плоскости камеры в соответствии с уравнением 1:
Предположим без потери общности, что движущиеся объекты в сцене являются людьми. Каждый человек i в сцене имеет соответствующие положение (X[i], Y[j]) отпечатка следа и положение (py[i]) головы по оси y в плоскости камеры. Используя предполагаемый набор из N положений (X[i], Y[j]) "ног" людей, где N является положительным целым числом, можно оценить параметры p1, p2, p3, p4, p5 трехмерного преобразования посредством минимизации следующего функционала:
Для решения этой задачи минимизации в одном варианте воплощения может быть использована известная численная итеративная оптимизация (как показано в книге William H. Press и др. "Численные рецепты на языке C: искусство применения вычислительных машин для научных расчетов" ("Numerical Recipes in C: The Art of Scientific Computing"), издательство Cambridge University Press, 1992) для нахождения начального решения. В других вариантах воплощения могут использоваться другие методы. Чтобы найти начальное решение уравнения (2), может быть решена система линейных уравнений (3) с использованием алгоритма SVD (как показано в книге William H. Press и др. "Численные рецепты на языке C: искусство применения вычислительных машин для научных расчетов" ("Numerical Recipes in C: The Art of Scientific Computing"), издательство Cambridge University Press, 1992).
Однако часто в наборе данных отпечатков следов людей могут быть искажения. Чтобы уменьшить влияние ошибок на оценку положения людей и оценку размера, может использоваться процедура удаления выбросов для исключения пятен искажений в наборе данных. Высота (и масштаб) для каждого пятна, представляющего человека, прогнозируется с использованием формулы (1) с оптимальными параметрами, полученными посредством формулы (2). Затем в одном варианте воплощения приблизительно P% пятен, которые имеют наибольшее отклонение своей спрогнозированной высоты от фактической высоты пятна, может быть удалено из набора точек (X[i], Y[i]), представляющих "ноги" людей. В одном варианте воплощения значение P может быть установлено равным приблизительно 30%. В других вариантах воплощения могут использоваться другие значения. Наибольшее отклонение может иметь место у пятен, которые являются слишком маленькими, и/или у пятен, которые являются слишком большими, чтобы представлять собой людей. Набор данных отпечатков следов людей без выбросов может быть использован для адаптации модели (1) с использованием уравнения (2).
Выходными данными блока 108 прогнозирования масштаба объектов после удаления выбросов являются оцененные высоты (py[i]-Y[i]) и положения (X[i], Y[i]) для каждого оставшегося пятна в видеокадре. Эта информация может быть представлена визуально на видеокадре. Фиг.3 является примером, иллюстрирующим оценку высоты "типичных" людей. Черные линии соответствуют предполагаемой высоте человека в соответствующем местоположении в видеокадре. Белая линия представляет реальную (отслеженную) высоту пятна, представляющего человека, в видеокадре.
Обнаружение карты дороги может быть выполнено посредством блока 110 обнаружения карты дороги с использованием пятен объектов 106 и фонового изображения 112. Фиг.4 является иллюстративным изображением трехмерной сцены. Отфильтрованный набор положений (X[i], Y[i]) "ног" объекта (то есть человека) может использоваться для оценки границы дороги на сцене. Предполагается, что эти положения имеют пиксели такого же цвета, как дорога, которая предполагается однородной. Следовательно, предположение заключается в том, что объекты являются пешеходами, идущими по дороге. Для нахождения пикселей видеокадра, которые принадлежат поверхности дороги, может использоваться процесс наращивания области. Процесс заполняет соединенный компонент от начального пикселя с порядковым номером i (здесь это пиксель на "ноге" объекта в точке (X[i], Y[i])), где все пиксели в пределах компонента имеют цвет, существенно сходный с цветом начального пикселя. Более формально считается, что точка (x, y) принадлежит "дороге", если ее цвет в оцененном фоновом изображении 112 удовлетворяет следующим условиям:
r
r
r
(I(X[i],Y[i])-t<=I(x,y)<=I(X[i],Y[i])+t) AND
g
g
g
(I(X[i],Y[i])-t<=I(x,y)<=I(X[i],Y[i])+t) AND
b
b
b
(I(X[i],Y[i])-t<=I(x,y)<=I(X[i],Y[i])+t)
Где I обозначает интенсивность, Ir, Ig, Ib - цветовые компоненты пикселя в предполагаемом фоновом изображении 112 и t - параметр вариации цвета дороги (например, t=20). Предполагаемое фоновое изображение используется для исключения объектов из сцены там, где предполагаются дороги. Так как границы дороги обычно соответствуют контурам в изображении, наращивание области прекращается, когда оно достигает пикселей контура в изображении. Эта обработка может быть выполнена на каждом видеокадре. В одном варианте воплощения для нахождения этих контуров может быть использован известный процесс обнаружения контура автора J. Canny, описанный в статье "Вычислительный подход к обнаружению контура" ("A Computational Approach to Edge Detection"), труды IEEE по анализу образов и искусственному интеллекту, 8(6):679-698, 1986, (также описанный в книге "Введение в методы трехмерного компьютерного зрения" ("Introductory Techniques for 3-D Computer Vision") Emanuele Trucco и Alessandro Verri, издательство Prentice Hall, 1998, стр.71-79). В других вариантах воплощения могут использоваться другие процессы обнаружения контура.
Чтобы уменьшить влияние ошибок на оценку положения "ноги" объекта, в одном варианте воплощения может быть подсчитано количество N раз, когда пиксель был классифицирован как "дорога", и пиксель считается принадлежащим к классу пикселей дороги в текущей сцене, только если N>MaxN*0,1, где MaxN - максимальное значение N от всех пикселей видеокадра для сцены. Таким образом, некоторые пиксели искажений могут быть исключены из карты дороги. Такая процедура удаления выбросов для оценки карты дороги также позволяет пользователю наблюдать только наиболее "популярную" дорогу. Следует отметить, что процесс может правильно анализировать дороги сцены с неоднородным покрытием (например, мощеные дорожки).
Фиг.5 является иллюстративной картой дороги, соответствующей сцене, изображенной на фиг.4, полученной с помощью блока обнаружения карты дороги после обработки иллюстративного десятиминутного видеопотока. Фиг.6 является иллюстративной трехмерной картой дороги, соответствующей сцене, изображенной на фиг.4, полученной с помощью блока обнаружения карты дороги. Карта дороги включает в себя информацию о масштабе объектов, причем информация о глубине варьирует от темного цвета, соответствующего далекому расстоянию, до яркого цвета, соответствующего близкому расстоянию.
Фиг.7 является блок-схемой, иллюстрирующей обработку прогнозирования масштаба объектов и обнаружения карты дороги в соответствии с вариантом воплощения настоящего изобретения. Каждый кадр видеопотока может быть введен в блок 108 прогнозирования масштаба объектов, а также в блок 110 обнаружения карты дороги. На этапе 700 блок 104 обнаружения объектов переднего плана обнаруживает положение объектов в кадре с использованием оценки переднего плана. В некоторых случаях объекты содержат представление человека в кадре (например, пешехода). На этапе 702 блок прогнозирования масштаба объектов оценивает параметры p1, p2, p3, p4 и p5 трехмерного преобразования для уравнения (1) преобразования с использованием функционального уравнения (2). На этапе 704 блок прогнозирования масштаба объектов прогнозирует высоту объектов с использованием уравнения (1). Затем на этапе 706 блок прогнозирования масштаба объектов определяет, были ли удалены выбросы из спрогнозированных высот объектов. Если выбросы еще не были удалены, то выбросы могут быть удалены на этапе 708. В результате получается отфильтрованный набор объектов для адаптации модели. Затем обработка переходит на этап 702. Если выбросы были удалены, то обработка переходит на обработку обнаружения карты дороги на этап 710.
На этапе 710 блок обнаружения карты дороги использует фоновое изображение, полученное от блока 104 обнаружения объектов переднего плана, и процесс наращивания области, чтобы заполнить однородную цветовую область, начиная с точки "ноги" каждого объекта и заканчивая при достижении пикселей контура в изображении. Это действие может быть произведено для каждого объекта в наборе данных объектов для формирования карты дороги. На этапе 712 из предполагаемой карты дороги могут быть удалены выбросы. Наконец, на этапе 714 карта высот (то есть масштабная карта 114) для движущихся объектов на дорогах может быть оценена на основе карты дороги, полученной с помощью блока 110 обнаружения карты дороги.
Варианты воплощения настоящего изобретения предлагают способ оценки масштаба типичного объекта в трехмерной сцене и способ обнаружения дороги в сцене, наблюдаемой посредством видеокамеры. Настоящее изобретение предоставляет возможность полностью автоматической калибровки системы видеонаблюдения благодаря ее способности адаптации на каждом видеокадре, обработке удаления выбросов и ее особенностям самонастройки. Настоящее изобретение является устойчивым к изменению освещенности сцены (например, в течение дня), искажениям видеокамеры и изменениям покрытия дороги (например, после дождя или снега). Настоящее изобретение является неконтролируемым и может осуществлять самостоятельную калибровку в случае движения камеры, частичного изменения сцены и других наблюдаемых изменений в окружающей обстановке. Настоящее изобретение также автоматически оценивает преобразование между двухмерными координатами в плоскости изображения камеры и трехмерными мировыми координатами дорог наблюдаемой сцены.
Варианты воплощения настоящего изобретения могут значительно улучшить надежность многих приложений компьютерного зрения, которые требуют калибровки относительных положений между камерой и трехмерной сценой (таких как анализ человеческой активности, зрение в робототехнике, создание информационного содержания, обнаружение и отслеживание объектов, понимание трехмерных сцен, видеообработка, воссоздание трехмерных объектов и системы распознавания жестов). Варианты воплощения настоящего изобретения могут сделать системы видеонаблюдения более автоматизированными и более надежными. Например, настоящее изобретение может быть выполнено с возможностью формировать сигнал тревоги, если обнаружено, что человек идет вне границы дороги или пути, или если размер обнаруженного объекта отклоняется от спрогнозированного среднего значения.
Хотя описанные здесь действия могут быть описаны как последовательный процесс, некоторые из действий фактически могут быть выполнены параллельно или одновременно. Кроме того, в некоторых вариантах воплощения порядок действий может быть изменен без отступления от сущности изобретения.
Описанная здесь методика не ограничена какой-либо конкретной конфигурацией аппаратных средств или программного обеспечения; она может найти применение в любой вычислительной или производственной среде. Методика может быть осуществлена в аппаратных средствах, программном обеспечении или их комбинации. Методика может быть осуществлена в исполнении программ на программируемых машинах, таких как мобильные или стационарные компьютеры, карманные компьютеры, телеприставки, мобильные телефоны и пейджеры и другие электронные устройства, каждое из которых включает в себя процессор, носитель данных, доступный для чтения с помощью процессора (в том числе энергозависимую и энергонезависимую память и/или элементы памяти), по меньшей мере, одно устройство ввода и одно или более устройств вывода. Программный код применяется к данным, введенным с помощью устройства ввода, чтобы выполнить описанные функции и сформировать выходную информацию. Выходная информация может быть выдана на одно или более устройств вывода. Специалист в области техники поймет, что изобретение может быть осуществлено с помощью компьютерных систем различных конфигураций, в том числе мультипроцессорных систем, миникомпьютеров, универсальных вычислительных систем и т.п. Изобретение может также быть осуществлено в распределенных вычислительных средах, в которых задачи могут выполняться посредством удаленных устройств обработки, которые связаны через сеть связи.
Каждая программа может быть реализована на процедурном или объектно-ориентированном языке программирования высокого уровня для взаимодействия с системой обработки. Однако при желании программы могут быть реализованы на языке ассемблера или машинном языке. В любом случае язык может быть компилируемым или интерпретируемым.
Программные команды могут быть использованы, чтобы заставить систему обработки общего назначения или специального назначения, которая запрограммирована с помощью команд, выполнять описанные здесь действия. В качестве альтернативы действия могут быть выполнены посредством специальных аппаратных компонентов, которые содержат постоянно запрограммированную логическую схему для выполнения действий, или посредством любой комбинации запрограммированных компьютерных компонентов и специализированных аппаратных компонентов. Описанные здесь способы могут быть реализованы с помощью компьютерного программного продукта, который может включать в себя машиночитаемый носитель, на котором хранятся команды, которые могут быть использованы для программирования системы обработки или другого электронного устройства для выполнения способов. Используемый здесь термин "машиночитаемый носитель" должен включать в себя любой носитель, который может хранить или кодировать последовательность команд для выполнения посредством машины и который заставляет машину выполнять любой из описанных здесь способов. В соответствии с этим термин "машиночитаемый носитель" должен включать в себя, без ограничения, твердотельную память, оптические и магнитные диски и несущую волну, которая кодирует сигнал данных. Кроме того, в области техники обычно говорят, что программное обеспечение в том или ином виде (например, программа, процедура, процесс, приложение, модуль, логическая схема и т.д.) производит действие или приводит к результату. Такие выражения являются лишь сокращением утверждения, что исполнение программного обеспечения посредством системы обработки заставляет процессор выполнить действие и получить результат.
Хотя это изобретение было описано со ссылкой на иллюстративные варианты воплощения, это описание не предназначено для его толкования в ограничивающем смысле. Подразумевается, что различные модификации иллюстративных вариантов воплощения, а также другие варианты воплощения изобретения, очевидные для специалистов в области техники, к которой принадлежит изобретение, будут находиться в пределах сущности и объема изобретения.