СПОСОБ ИНДЕКСИРОВАНИЯ ВИДЕОДАННЫХ ПРИ ПОМОЩИ КАРТЫ
INDEXING METHOD OF VIDEO DATA BY MEANS OF CARD

Изобретение относится к обработке данных, а именно к области охранного телевидения, видеонаблюдения, видеоаналитики, хранения и поиска видеоданных. Изобретение позволяет реализовать эффективный поиск и анализ данных в территориально-распределенных системах видеонаблюдения о перемещениях объектов, таких как людей и транспортных средств, для различных отраслей, включая охрану и безопасность, транспорт и сети розничных продаж, спорт и развлечения, жилищно-коммунальное хозяйство и социальную инфраструктуру. Изобретение может быть использовано в локальных и глобальных сетях, на выделенных или облачных серверах.
Актуальной проблемой развития территориально-распределенных систем видеонаблюдения является значительный объем информации, поступающий с видеокамер. С одной стороны, современные алгоритмы видеоаналитики позволяют вести автоматическое обнаружение (detection), сопровождение (слежение, tracking), классификацию и идентификацию объектов (людей, транспортных средств). С другой стороны, объем данных, формируемый видеоаналитикой о перемещениях объектов (метаданные с местоположением и/или траекториями движения объектов) в поле зрения камеры, является весьма существенным. Поиск и анализ объектов в больших массивах видеоданных является высокозатратным с точки зрения аппаратно-программного обеспечения и времени, расходуемыми пользователями системы видеонаблюдения.
Некоторые существующие системы видеонаблюдения записывают информацию о движении объекта, рассчитанную видеоаналитикой, в базу данных в виде траекторий (последовательности местоположений) в системе координат кадра. Пользователь имеет возможность сделать поиск в базе данных траекторий и найти траекторию, которая удовлетворяет критериям, заданным в пространстве кадра и времени. Данный подход к анализу траекторий движения объектов в рамках одного кадра имеет следующие недостатки.
Во-первых, использование координат кадра для хранения траектории предполагает, что пользователь должен знать камеру, которая зафиксировала искомый объект. В территориально-распределенных сетях видеонаблюдения с большим числом камер данное требование практически невыполнимо. Пользователю сложно ориентироваться в большом количестве камер и учитывать геометрию зон действия камер для задания критериев поиска.
Во-вторых, траектория движения объекта в системе координат кадра неоднородна по своей точности. Объекты на переднем плане камеры сопровождаются с высокой точностью, и возникает избыточная детализация траектории. Объекты на заднем плане камеры сопровождаются с низкой точностью, и возникает недостаточная детализация траектории. Прямой поиск по неоднородным данным с различной детализацией не является эффективным. Необходимо преобразование и/или индексирование координат объектов для получения однородных траекторий.
В третьих, в случае, если две или более видеокамер обнаруживают один объект, то в области перекрытия зон действия этих камер возникает избыточность данных. В результате, расходуется лишняя память базы данных, увеличивается время поиска и анализа данных, так как пользователь получает дублирующие записи.
Из-за описанных недостатков архивы траекторий в системах видеонаблюдений занимают существенный объем дискового пространства, а на поиск в архиве с сотнями тысяч траекторий объекта пользователь может потратить несколько часов или даже дней.
Настоящее изобретение направлено на решение описанных проблем и повышение эффективности поиска данных о перемещениях объектов на территории, контролируемой множеством камер.
Техническим результатом настоящего изобретения является улучшение процедуры доступа к нужной части видеоматериала поскольку увязывает видеоматериал с факторами и ориентирами, которыми человек обычно пользуется как опорными точками, при установлении ассоциативных связей, снижение объема хранимой информации вследствие исключения дублированных записей.
Способ индексирования видеоданных при помощи карты реализуется согласно изобретению следующим образом: вначале получают видеоданные с, по крайней мере, одной видеокамеры, затем по полученным видеоданным находят, по крайней мере, один подвижный объект и определяют его местоположение и/или параметры движения в двумерной системе координат кадра - местоположение на кадре, далее полученное местоположение и/или параметры движения найденного объекта преобразуют из двумерной системы координат кадра в двумерную систему координаты карты - местоположение на карте, затем создают по меньшей мере, одну индексирующую запись, устанавливающую взаимосвязь между видеоданными, содержащими найденный объект, и местоположением и/или параметрами движения найденного объекта на карте, далее индексирующую запись записывают в базу данных и/или хранилище.
Местоположение и/или параметры движения могут быть определены при помощи детектора движения.
Местоположение и/или параметры движения могут быть определены при помощи детектора объектов, в том числе при помощи детектора людей, детектора лица человека или детектора номерного знака автомобиля.
Местоположение и/или параметры движения могут быть определены при помощи видеоаналитики, встроенной в сетевую камеру или в видеосервер.
Местоположение и/или параметры движения могут быть определены при помощи серверной видеоаналитики.
Местоположение и/или параметры движения могут быть уточнены при помощи камеры, фиксирующей различные части спектра, такие как видимые, тепловые, и/или датчиков, отличных по принципу действия от видеокамеры, таких как радары.
Местоположение на кадре или карте может быть визуализировано для пользователя путем отображения условных обозначений объекта поверх карты на экране монитора.
Видеоданные могут быть визуализированы для пользователя путем отображения видеоданных поверх карты на экране монитора.
Найденный объект может быть идентифицирован, причем людей идентифицируют по лицам, а транспортные средства идентифицируют по номерным знакам.
Вместе с индексирующей записью может быть записана в базу данных и/или хранилище временная последовательность местоположений объекта на карте - траектория движения объекта.
Последовательность местоположений на карте может быть сжата перед записью методом сглаживания траектории, или методом кусочно-линейной аппроксимации, или методом построения сплайн-аппроксимации.
Местоположение объекта и/или параметры его движения может быть непрерывно определено по мере движения объекта в реальном масштабе времени.
Индексирование видеоданных может осуществляться, по крайней мере, в двух, измерениях.
Может быть использовано аффинное преобразование для преобразования местоположения из системы координат кадра в систему координат карты.
Преобразование систем координат может быть рассчитано на основании взаимно однозначного отображения между множеством узловых точек на кадре и множеством узловых точек на карте.
Местоположение объекта на карте, определенное по данным одной видеокамеры, может быть уточнено путем сопоставления с данными другой видеокамеры, зафиксировавшей этот же самый объекта, с использованием методов многокамерного слежения.
Сопоставление и/или объединение местоположений могут осуществлять методом корреляции местоположений или методом вычисления квадратов расстояний между местоположениями.
Видеокамера может быть выполнена с возможностью поворота и/или изменения увеличения при помощи моторизированного привода, при этом привязку зоны действия видеокамеры к карте изменяют в зависимости от текущего положения видеокамеры.
Индексирующую запись могут связывать с областью карты, которую вручную задает пользователь системы видеонаблюдения.
Индексирующая запись может быть связана с областью карты, определяемой алгоритмом автоматически, причем алгоритм может разделять карту на области либо равномерно, либо неравномерно с учетом плотности обнаружения объектов в каждой области, при этом области могут перекрываться.
Индексирующую запись может быть связана с направлением движения объекта.
Индексирующая запись может быть связана со скоростью движения объекта.
Индексирующая запись может быть связана с сигнальной линией, которую пересекает объект.
Индексирующие записи могут быть объединены в иерархическую структуру.
Индексирующая запись может быть связана с интервалом времени движения объекта.
Индексирующая запись может быть связана с числом объектов, находящихся в заданной области.
Индексирующая запись может содержать минимальное и/или максимальное расстояние от заданной точки до точек траектории объекта.
Индексирующая запись может содержать минимальный ограничивающий прямоугольник траектории движения объекта.
Индексирующая запись может содержать уникальный идентификатор объекта.
Индексирующая запись может быть связана с типом - классом объекта.
Индексирующая запись может быть связана с типом движения объекта, определенным по траектории движения объекта на карте.
Индексирующая запись может быть связана с текстовыми тегами. Индексирующие записи могут сохранять в реляционной базе данных.
Настоящее изобретение поясняется рис.1-7.
На рис.1 представлена одна из возможных схем индексирования видеоданных согласно настоящему изобретению. На рис.2 представлена схема поиска индексирования видеоданных. На рис.3 изображены примеры кадров, полученных с видеокамер, и рассчитанных траекторий объектов на кадрах. На рис.4 приведен пример карты и проекций траекторий движения объектов, зарегистрированных различными видеокамерами. На рис.5 изображена обобщенная траектория движения объектов, полученная путем объединения траекторий, зарегистрированных различными видеокамерами. На рис.6 приведен пример структуры индекса с записями, устанавливающими взаимосвязь между местоположением и/или параметрами движения найденного объекта на карте и видеоданными. На рис.7 представлен эскиз пользовательского интерфейса для задания областей индексирования и/или формирования запроса поиска видеоданных на карте.
Способ индексирования видеоданных включает следующие шаги, отображенные на рис.1:
Шаг 1. Получение видеоданных с видеокамеры
На шаге 1 получают видеоданные, то есть один или несколько кадров с видеокамеры с сенсором CCD, CMOS или иным типом сенсора, например тепловизионным сенсором. Изображение может быть цветным или черно-белым. Пример кадров, полученных с видеокамеры, представлен на рис.3.
Шаг 2. Обнаружение местоположения объекта на кадре
На шаге 2 по полученным видеоданным находят, по крайней мере, один подвижный объект и определяют местоположение и/или параметры движения найденного объекта в двумерной системе координат кадра (далее - местоположение на кадре). Для обнаружения подвижного объекта может быть использован детектор движения или более сложная видеоаналитика. Например, на рис.3 обнаруженные объекты выделены черными прямоугольными рамками, а последовательность их местоположений (траектория движения) показана белым цветом. В результате анализа временной последовательности местоположений (траекторий) могут быть определены параметры движения, такие как как скорость (включая абсолютное значение скорости и направление) и ускорение.
Шаг 3. Отображение местоположения объекта на карту
На шаге 3 полученное местоположение и/или параметры движения найденного объекта преобразуют из двумерной системы координат кадра в двумерную систему координаты карты (далее - местоположение на карте).
Привязка расположения видеокамер к карте может быть реализована в процессе первоначальной калибровки системы видеонаблюдения. Наиболее оптимально это осуществлять при помощи точечной калибровки (на кадре, отображаемом видеокамерой, выбирается набор точек с известными местоположениями на карте). В процессе этой калибровки для каждой видеокамеры определяется матрицей преобразования А, которая позволяет однозначно осуществлять преобразование местоположение объекта из локального местоположения r на кадре в глобальное местоположение R на карте:
<mrow><mrow><mo>[</mo><mtable columnalign="left"><mtr><mtd><mi>X</mi></mtd></mtr><mtr><mtd><mi>Y</mi></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable><mo>]</mo></mrow><mo>=</mo><mrow><mo>[</mo><mrow><mtable columnalign="left"><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>p</mi><mrow><mn>00</mn></mrow></msub></mrow></mtd><mtd columnalign="left"><mrow><msub><mi>p</mi><mrow><mn>01</mn></mrow></msub></mrow></mtd><mtd columnalign="left"><mrow><msub><mi>p</mi><mrow><mn>02</mn></mrow></msub></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>p</mi><mrow><mn>10</mn></mrow></msub></mrow></mtd><mtd columnalign="left"><mrow><msub><mi>p</mi><mrow><mn>11</mn></mrow></msub></mrow></mtd><mtd columnalign="left"><mrow><msub><mi>p</mi><mrow><mn>12</mn></mrow></msub></mrow></mtd></mtr><mtr columnalign="left"><mtd columnalign="left"><mrow><msub><mi>p</mi><mrow><mn>20</mn></mrow></msub></mrow></mtd><mtd columnalign="left"><mrow><msub><mi>p</mi><mrow><mn>21</mn></mrow></msub></mrow></mtd><mtd columnalign="left"><mrow><msub><mi>p</mi><mrow><mn>22</mn></mrow></msub></mrow></mtd></mtr></mtable></mrow><mo>]</mo></mrow><mrow><mo>[</mo><mtable columnalign="left"><mtr><mtd><mi>x</mi></mtd></mtr><mtr><mtd><mi>y</mi></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable><mo>]</mo></mrow></mrow>
R=A·r или
Например, на рис.4 представлены отдельные траектории движения объектов на карте, зарегистрированных различными видеокамерами, и преобразованные в систему координат карты.
На шаге 3 отдельные движения объектов на карте, зарегистрированных различными видеокамерами, могут быть сопоставлены и/или объединены в обобщенную траекторию (например, см. рис.5).
Объединение траекторий на карте позволяет: а) устранить избыточность метаданных с траекториями объектов в области перекрытия зон действия камер, что сократит объем данных и время поиска; б) реализовать многокамерный анализ перемещений объектов, то есть анализировать перемещения объектов от одной видеокамеры к другой; в) вычислить более точное местоположение объекта на карте, например, геодезическими методами с использование известных координат и ориентации камер.
Сопоставление и/или объединение местоположений может производиться, например, методом корреляции местоположений или методом вычисления квадратов расстояний между местоположениями. В случае, если значения корреляционной функции в окрестности близости траекторий больше порогового значения, либо если сумма квадратов между точками различных траектории меньше порогового значения, то считаются, что траектории соответствуют одному объекту и объединяются. В области объединения, обобщенная траектория может содержать координаты местоположения, усредненные по траекториям, зафиксированным отдельными камерами.
Шаг 4. Добавление индексирующей записи в хранилище
На шаге 4 в базу данных или иное хранилище добавляют, по крайней мере, одну индексирующую запись, устанавливающую взаимосвязь между видеоданными, содержащими найденный объект с одной стороны, и местоположением и/или параметрами движения найденного объекта на карте с другой стороны. Таким образом устанавливается взаимосвязь между видеоданными и местоположением (параметрами движения)
На рис.6 приведен пример структуры индекса с записями. Карта (3) разделена на области A1, A2, B1, B2, C1, C2 и связана с видеоданными (1) через индексирующие записи (2). Таким же образом установлена взаимосвязь между параметрами движения (5), включая направления движения (6) и скорости движения (7) с одной стороны и видеоданными (1) с другой стороны. Связь между индексирующей записью и видеоданными может быть реализована путем хранения в индексирующей записи идентификатора кадра, временной метки и/или имени файла с видеоданными. Связь между индексирующей записью и местоположением может быть реализована путем хранения в индексирующей записи либо координатами на карте, либо ссылки на область или другой объект на карте (например, точку или сигнальную линию), относительно которого происходит индексирование. Аналогичным образом может быть реализовать связь между индексирующей записью и параметрами движения.
Множество индексирующих записей будем называть индексом. Индекс может иметь древовидную (иерархическую) структуру, например в R-дерево, KD-дерево и другие В-деревья, для повышения эффективности поиска в пространстве карты.
R-дерево разбивает пространство двумерной карты на множество иерархически вложенных и, возможно, пересекающихся прямоугольников. В случае трехмерной карты это будут прямоугольные параллелепипеды.
Алгоритмы вставки и удаления индексирующей записей в R-дерево используют эти ограничивающие прямоугольники для обеспечения того, чтобы видеоданные, близкорасположенные на карте, были помещены в одну листовую вершину. В частности, ссылка на новые видеоданные попадет в ту листовую вершину, для которой потребуется наименьшее расширение ее ограничивающего прямоугольника. Каждый элемент листовой вершины может хранить два поля данных: ссылку на видеоданные и ограничивающий прямоугольник этого объекта.
Аналогично, алгоритмы поиска (например, пересечение, включение, окрестности) используют ограничивающие прямоугольники для принятия решения о необходимости поиска в дочерней вершине. Таким образом, большинство вершин никогда не затрагиваются в ходе поиска. Это свойство R-деревьев обусловливает их применимость для баз данных, где вершины могут выгружаться на диск по мере необходимости.
Для расщепления переполненных вершин могут применяться различные алгоритмы, что порождает деление R-деревьев на подтипы: квадратичные и линейные.
Могут быть использованы приоритетные R-деревья, которые оптимальны для наихудшего случая распределения видеоданных на карте.
Могут быть использованы другие способы разбиения пространства карты на области для связывания с индексирующими записями с видеоданными, например диаграмма Вороного.
В индексирующую запись могут записываться хеши для быстрого сравнения траектории (последовательности местоположений) объекта и параметров движения (скорости и направления) с запросами пользователя.
Могут быть использованы индексы современных баз данных, в том числе реляционных баз данных.
Шаги 1-4 повторяют по мере поступления новых видеоданных с видеокамер и по мере движения объектов в поле зрения видеокамер.
Поиск индексированных видеоданных может включать следующие шаги (рис.2):
Шаг 1 Формирование запроса пользователя на карте
Пользователь выделяет область поиска объекта на карте. На рис.7 приведен такой пользовательский интерфейс. Например, могут быть использоваться инструменты выделения области: 1) прямоугольная область; 2) сигнальная линия; 3) эллиптическая (круглая) область; 4) область произвольной формы.
Запрос может быть сложным, только содержать несколько критериев для поиска. Например, вместе с областью на карте может быть указано направление и интервал времени движение объекта.
Шаг 2 Поиск видеоданных по индексу
Находят видеоданные, соответствующие запросу пользователя, при помощи индекса, построенного на шаге 4. Индекс позволяет многократно сократить объем данных, которые необходимо сравнить с запросом пользователя, что существенно сокращает временные затраты на поиск и/или требования к аппаратным ресурсам.
Шаг 3 Представление найденных видеоданных пользователю
Найденные видеоданные могут быть отображены пользователю в виде отдельного отчета или непосредственно на карте. Видеоданные могут отображаться либо в виде статических кадров, либо в виде фрагментов видео. Видеоданные могут дополняться текстовой информацией, например о месте и времени обнаружения объектов (событий).
Способ индексирования видеоданных может быть использован не только на живом (поточном) видео, поступающем с камер в реальном масштабе времени, но на архивном видео, записанном в хранилище (постобработка).
Способ индексирования видеоданных может быть использован в системах видеонаблюдения, построен с применением стандартов и/или рекомендаций «Форума по интерфейсу открытого сетевого видео» («Open Network Video Interface Forum», ONVIF, www.onvif.org) или «Общества по физической безопасности совместимости» («Physical Security Interoperability Alliance», PSIA, psiaalliance.org). В частности, координаты объекта и/или его траектория может передаваться в метаданных, сообщениях и/или событиях в соответствии с рекомендациями ONVIF и/или PSIA.