СИСТЕМА И СПОСОБ ОТСЛЕЖИВАНИЯ ДВИЖУЩИХСЯ ОБЪЕКТОВ ПО ВИДЕОДАННЫМ
SYSTEM AND METHOD FOR TRACKING MOVING OBJECTS BY VIDEO DATA

Настоящее изобретение относится к области видеонаблюдения, а более конкретно к системам и способам обработки видеоданных, полученных от видеокамер, для отслеживания движения объектов.
УРОВЕНЬ ТЕХНИКИ
Под системами видеонаблюдения понимается программно-аппаратное обеспечение или технические средства, использующие методы компьютерного зрения для автоматизированного сбора данных, на основании анализа потокового видео (видеоанализа). Системы видеонаблюдения опираются на алгоритмы обработки изображения и распознавания образов, позволяющие анализировать видео без прямого участия человека.
Системы видеонаблюдения, в зависимости от конкретных целей, могут реализовывать множество функций, например таких, но не ограничиваясь, как: обнаружение объектов, слежение за движением объектов, сопровождение объектов, классификация объектов, идентификация объектов, распознавание различных объектов или ситуаций и многое другое.
К задачам, которые возможно решить посредством систем видеонаблюдения, относится отслеживание движений (перемещений) объектов, посредством использования множества камер, расположенных в зоне контроля, а также предсказание камеры, в области зрения которой может появиться движущийся объект, после того как покинет область зрения текущей видеокамеры, видеоизображение с которой в настоящий момент просматривается оператором.
Из уровня техники известно множество систем, способных отслеживать движения объектов по видео данным, в том числе и в режиме реального времени. Широкое применение получили системы, способные предсказывать/просчитывать направление движения объектов. При помощи таких систем можно выбрать объект интереса и проследить его движение во времени по множеству видеокамер (причем, не только по данным от видеокамер, а также и по данным от различных датчиков). Для примера, представлен патент RU 2670429 C1, опубл. 23.10.2018.
Также из уровня техники известно решение, раскрытое в заявке US 20050265582 A1, H04N 7/181, опубл. 01.12.2005, в котором раскрыт способ видеоанализа, включающий: прием множества серий видеокадров, сгенерированных множеством датчиков изображения, каждый из которых имеет свое поле обзора из общей охраняемой зоны; и одновременное отслеживание, независимо от калибровки: (i) множества объектов в контролируемой среде, когда объекты перемещаются между полями обзора, по меньшей мере два из которых перекрываются, и ii) множества объектов в одном поле обзора на основе множества полученных серий видеокадров.
Однако, все известные из уровня техники решения имеют один существенный недостаток, который сильно замедляет анализ данных, например, поиск объектов по данным от камер и/или датчиков. Трекер объектов, используемый в системе видеонаблюдения, определяет в кадре движущиеся объекты, после чего каждому объекту присваивается свой ID. Однако, когда объект покидает поле зрения одной видеокамеры и появляется в поле зрения следующей видеокамеры, то с точки зрения следующей видеокамеры объект определяется как новый, и соответственно ему присваивается новый ID (отличный от предыдущего). То есть в общем случае система видеонаблюдения не видит никакой связи между этими объектами, хотя объект может являться тем же самым.
Этот недостаток непосредственно влияет на скорость поиска по видеоданным, поскольку системе видеонаблюдения постоянно приходится анализировать огромное количество движущихся объектов с разными ID и пытаться их сопоставлять по каким-то предварительно заданным условиям поиска. Подробнее о поиске и задаваемых критериях поиска указано в патенте RU 2710308 C1, опубл. 25.12.2019.
Из уровня техники также известно решение, раскрытое в патенте US 9710716 B2, G06K 9/00, опубл. 18.07.2017, в котором раскрыта система компьютерного зрения, выполняющая такие этапы, как: получение набора данных и предоставление серии видеокадров, полученных из упомянутых данных; построение из серии видеокадров битовой карты движения в модуле обнаружения движения; построение из серии видеокадров растрового изображения переднего плана в модуле вычитания фона; идентификация одной или нескольких областей в серии кадров, каждая из которых соответствует объекту указанной категории, и отслеживание одной или нескольких областей в нескольких кадрах серии видеокадров модулем отслеживания объекта, на основе сравнения битовой карты движения и битовой карты переднего плана. Далее из отслеживаемых областей, выполняется определение модулем классификатора объектов, включает ли каждая из идентифицированных областей объект указанной категории. При этом модуль классификатора может быть реализован с использованием нейронной сети (о которой более подробно описано в патенте US 10002313 B2, опубл. 19.06.2018).
Заявляемое нами решение главным образом направлено на повышение маневренности, скорости и точности поиска по видеоданным, что в свою очередь позволит строить более сложные условия поиска, при этом сократит время поиска. Эти моменты имеют огромное значение для систем безопасности.
Таким образом основная цель заявляемого изобретения — это обеспечить систему видеонаблюдения, способную соотносить один и тот же объект в поле зрения разных видеокамер. Благодаря этому на охраняемых территориях любого размера/масштаба (например, целый район или город и т.д.) можно быстро отследить движение объектов по всей его территории.
Следует также отметить, что в последнее время стало широко распространено использование нейронных сетей в различных задачах, в том числе и в системах видеонаблюдения.
В общем случае искусственная нейронная сеть (ИНС) – это математическая модель, а также её аппаратное и/или программное воплощение, построенное по принципу организации и функционирования биологических нейронных сетей (сетей нервных клеток живых организмов). Одним из главных преимуществ ИНС является возможность их обучения, в процессе которого ИНС способна самостоятельно выявлять сложные зависимости между входными и выходными данными.
Именно использование ИНС для обработки видеоданных, а также использование стандартных средств видеонаблюдения и средств обработки данных, делает заявляемое решение более простым для осуществления и более точным по сравнению с известными из уровня техники решениями.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Заявляемое техническое решение направлено на устранение недостатков, присущих предшествующему уровню техники и на развитие уже известных решений.
Техническим результатом
заявленной группы изобретений является повышение точности и скорости отслеживания движущихся объектов.
Данный технический результат достигается тем, что система отслеживания движущихся объектов содержит: память, сконфигурированную для хранения видеоданных и их метаданных; несколько видеокамер, сконфигурированных для получения в режиме реального времени видеоданных из зоны контроля, при этом каждая видеокамера содержит трекер объектов; по меньшей мере, одно устройство обработки данных, сконфигурированное для выполнения этапов, включающих: привязку каждой видеокамеры системы к карте местности; калибровку каждой привязанной к карте местности видеокамеры; получение видеоданных от каждой откалиброванной и привязанной к карте местности видеокамеры в режиме реального времени; обнаружение по меньшей мере одного движущегося объекта в кадре видеоданных, полученных от первой видеокамеры; присвоение этому обнаруженному в кадре объекту уникального идентификационного номера (ID); анализ геометрии движения обнаруженного в кадре по меньшей мере одного объекта с последующей оценкой его направления движения; предсказание второй видеокамеры, в области зрения которой может появиться упомянутый объект; при этом в случае, когда области зрения первой и второй видеокамеры не пересекаются, выполняется: обнаружение по меньшей мере одного объекта в области зрения второй видеокамеры после того, как объект покинул область зрения первой видеокамеры; построение на основе использования искусственной нейронной сети (ИНС) первого вектора признаков объекта, обнаруженного в кадре от первой видеокамеры и второго вектора признаков объекта, обнаруженного в кадре от второй видеокамеры; сравнение упомянутых первого и второго векторов признаков объекта; присвоение объекту, обнаруженному в кадре второй видеокамеры такого же ID, как и объекту, обнаруженному в кадре первой видеокамеры, если результат сравнения больше или равен предварительно заданному пользователем пороговому значению.
Указанный технический результат также достигается за счет способа отслеживания движущихся объектов, выполняемого компьютерной системой, содержащей, по меньшей мере, устройство обработки данных, память и несколько видеокамер, причем способ содержит этапы, на которых осуществляется: привязка каждой видеокамеры системы к карте местности; калибровка каждой привязанной к карте местности видеокамеры; получение видеоданных от каждой откалиброванной и привязанной к карте местности видеокамеры в режиме реального времени; обнаружение по меньшей мере одного движущегося объекта в кадре видеоданных, полученных от первой видеокамеры; присвоение этому обнаруженному в кадре объекту уникального идентификационного номера (ID); анализ геометрии движения обнаруженного в кадре по меньшей мере одного объекта с последующей оценкой его направления движения; предсказание второй видеокамеры, в области зрения которой может появиться упомянутый объект; при этом в случае, когда области зрения первой и второй видеокамеры не пересекаются, выполняется: обнаружение по меньшей мере одного объекта в области зрения второй видеокамеры после того, как объект покинул область зрения первой видеокамеры; построение на основе использования искусственной нейронной сети (ИНС) первого вектора признаков объекта, обнаруженного в кадре от первой видеокамеры и второго вектора признаков объекта, обнаруженного в кадре от второй видеокамеры; сравнение упомянутых первого и второго векторов признаков объекта; присвоение объекту, обнаруженному в кадре второй видеокамеры такого же ID, как и объекту, обнаруженному в кадре первой видеокамеры, если результат сравнения больше или равен предварительно заданному пользователем пороговому значению.
В одном частном варианте заявленного решения в случае, когда области зрения первой и второй видеокамеры пересекаются, если в области зрения упомянутых видеокамер появляется только один движущийся объект, то этому объекту автоматически присваивается одинаковый ID.
В другом частном варианте заявленного решения в случае, когда области зрения первой и второй видеокамеры пересекаются, причем если в области зрения упомянутых видеокамер есть несколько движущихся объектов, то: для каждого объекта, обнаруженного в кадре видеоданных, полученных первой видеокамерой, строится предполагаемая траектория движения на основании анализа геометрии движения объекта, при этом упомянутой траектории и самому объекту присваивается одинаковый ID; и в случае, когда построенная траектория движения по меньшей мере одного объекта не пересекается с остальными траекториями движения объектов, на основании полученной траектории движения объекта выполняется выявление этого же объекта в кадре видеоданных, полученных от второй видеокамеры, с последующим присвоением им одинакового ID, соответствующего траектории движения.
Еще в одном частном варианте заявленного решения в случае, когда построенные траектории движения нескольких движущихся объектов пересекаются, выполняется: построение векторов признаков каждого движущегося объекта; попарное сравнение упомянутых векторов признаков движущихся объектов, обнаруженных в видеоданных соседних видеокамер; присвоение объектам одинакового ID, если результат сравнения больше или равен предварительно заданному пользователем пороговому значению.
В другом частном варианте заявленного решения выполняется поиск по объектам, на основании заданных пользователем параметров поиска.
Еще в одном частном варианте заявленного решения дополнительно, на основании результирующих данных, полученных от ИНС, выполняется постанализ истории назначения ID, для автоматического исправления ошибок при назначении ID объектам в режиме реального времени.
В другом частном варианте заявленного решения упомянутый постанализ запускается системой автоматически, через каждый промежуток времени, предварительно заданный пользователем, или же выполняется в момент, когда пользователь системы запускает поиск по объектам.
Еще в одном частном варианте заявленного решения система дополнительно содержит средства для ввода и вывода данных, позволяющие пользователю системы в ручном режиме переназначать ID объектов в случае, если пользователь считает, что система ошиблась.
А в другом частном варианте заявленного решения система дополнительно содержит средства для ввода и вывода данных, позволяющие пользователю системы задавать параметры/характеристики поиска объектов и запускать упомянутый поиск по объектам.
Помимо указанного выше, данный технический результат также достигается за счет считываемого компьютером носителя данных, содержащего исполняемые процессором компьютера инструкции для осуществления способов отслеживания движущихся объектов.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1
– блок-схема системы для отслеживания движущихся объектов.
Фиг. 2
– блок-схема операций системы в зависимости от того, сколько движущихся объектов обнаружено в области зрения видеокамер.
Фиг. 3
– пример различных траекторий движения объектов в области зрения смежных видеокамер.
Фиг. 4
– блок-схема примерного варианта реализации способа отслеживания движущихся объектов, в случае, когда области зрения видеокамер не пересекаются.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Ниже будет приведено описание примерных вариантов осуществления заявленной группы изобретений. Однако заявленная группа изобретений не ограничивается только этими вариантами осуществления. Специалистам будет очевидно, что под объем заявленной группы изобретений, описанной в формуле, могут попадать и другие варианты реализаций.
Заявляемое техническое решение в различных своих вариантах осуществления может быть выполнено в виде вычислительных систем и способов, реализуемых различными компьютерными средствами, а также в виде считываемого компьютером носителя данных, хранящего исполняемые процессором компьютера инструкции.
На фиг. 1 представлена блок-схема системы отслеживания движущихся объектов по видеоданным. Данная система включает в себя: память (10), сконфигурированную для хранения видеоданных и их метаданных; по меньшей мере одно устройство обработки данных (20, …, 2n), каждое из которых содержит графический пользовательский интерфейс (30); и несколько видеокамер (40, …, 4m), каждая из которых содержит трекер объектов (50). Дополнительно система может включать в себя различные устройства ввода данных (60), такие как клавиатура, мышь и т.д., а также устройства отображения данных (70), например, дисплеи. Все компоненты связаны с единую систему по локальной или глобальной сети (сети Интернет) через шину данных.
В данном контексте под системами понимаются любые вычислительные/компьютерные системы, построенные на базе программно-аппаратных взаимосвязанных технических средств.
Компьютерная система в свою очередь может быть персональным компьютером (PC), планшетным компьютером, персональным цифровым помощником (PDA), мобильным телефоном или любым устройством, способным выполнять набор инструкций (последовательных или иных), определяющих действия, которые должны выполняться этим устройством.
Видеокамеры сконфигурированы для получения в режиме реального времени видеоданных и их метаданных и передачи их по сети к по меньшей мере одному устройству обработки данных. При этом все видеокамеры системы содержат трекер объектов (например, AxxonSoft), сконфигурированный для формирования метаданных объектов.
Трекер объектов это программный алгоритм для определения местоположения движущихся объектов в видеоданных. Посредством использования упомянутого трекера возможно выполнить обнаружение всех движущихся в кадре объектов и определить их конкретные пространственные координаты. В случае, когда все видеокамеры системы содержат трекер объектов, получаемые в режиме реального времени видеоданные и метаданные могут сразу же передаваться к устройству обработки данных.
Следует также отметить, что метаданными являются подробные данные обо всех объектах, перемещающихся в поле зрения каждой камеры (местоположения, траектории движений, описатели лиц, описатели одежды и т.п.).
В качестве устройства обработки данных может выступать процессор, микропроцессор, центральный процессор, графический процессор, ЭВМ (электронно-вычислительная машина), ПЛК (программируемый логический контроллер) или интегральная схема, сконфигурированные для исполнения определенных команд (инструкций, программ) по обработке данных. На каждом устройстве обработки данных установлен графический пользовательский интерфейс.
Графический пользовательский интерфейс (ГПИ) представляет собой систему средств ввода и вывода данных, для взаимодействия пользователя с вычислительным устройством, основанную на представлении всех доступных пользователю системных объектов и функций в виде графических компонентов экрана (окон, значков, меню, кнопок, списков и т.п.). При этом пользователь имеет произвольный доступ, посредством устройств ввода данных, ко всем видимым экранным объектам – блокам интерфейса, которые отображаются на дисплее. Устройство ввода данных может представлять собой, но не ограничиваясь, например, манипулятор мышь, клавиатуру, тачпад, стилус, джойстик, трекпад и т.п.
В роли устройства памяти, сконфигурированного для хранения данных, могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, статическая оперативная память (SRAM), сервер, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические накопители информации, основное запоминающее устройство (ОЗУ) (например, постоянное запоминающее устройство (ROM), динамическая оперативная память (DRAM), синхронная динамическая оперативная память (SDRAM)) либо любая их комбинация.
Память может хранить базу данных (DB), которая содержит видеоданные и соответствующие им метаданные, получаемые от видеокамер системы. Также память может хранить инструкции, вынуждающие устройство обработки данных выполнять определенные операции.
Следует отметить, что в описанную систему могут входить и любые другие известные в данном уровне техники устройства, например, такие как различного вида датчики, устройства ввода/вывода, устройства отображения и т.п.
Далее будет подробно описан пример работы вышеупомянутой системы отслеживания движущихся объектов. Все нижеописанные этапы работы системы в различной ее конфигурации также применимы и к соответствующим вариантам способов отслеживания движущихся объектов, которые будут более подробно расписаны ниже.
Рассмотрим принцип работы заявляемой системы отслеживания движущихся объектов.
Предположим, что системы установлена на большой территории, допустим на территории крупного города. То есть в данном случае есть по меньшей мере один диспетчерский центр (с установленными там устройствами обработки данных), и есть множество связанных с системой видеокамер, данные с которых поступают в режиме реального времени к устройству или устройствам обработки данных.
Для того, чтобы система функционировала с должной точностью, скоростью и качеством, необходимо соблюдение некоторых условий, для соблюдения которых пользователь должен выполнить определенные действия при помощи использования средств ГПИ системы.
1.      Все видеокамеры должны содержать трекер объектов (это может быть абсолютно любой трекер, например, AxxonSoft). Следует отметить, что большинство современных видеокамер содержат встроенный трекер объектов, который может быть использован в заявляемой системе.
2.   Все видеокамеры системы должны быть привязаны к карте местности. Для этого пользователь системы посредством использования средств ГПИ системы осуществляется привязку каждой видеокамеры к карте местности. А именно пользователь системы помещает значок видеокамеры в определенную точку на карте местности (данная точка соответствует координатам реального местоположения видеокамеры). После этого устройство обработки данных присваивает определенное местоположение конкретной видеокамере.
3.  Все видеокамеры системы должны быть откалиброваны. Соответственно, необходимо выполнить калибровку камеры на карте местности (все детали калибровки видеокамер подробно описаны в нашем более раннем патенте RU 2679200 С1, опубл. 06.02.2019).
В общем случае калибровка камеры — это задача получения внутренних и внешних параметров камеры по имеющимся изображениям или видео, отснятым ею. Калибровка камеры часто используется на начальном этапе решения многих задач компьютерного зрения. Калибровка камеры помогает исправлять дисторсию на изображениях и видеоданных.
В процессе калибровки определяются не менее четырех виртуальных отрезков на карте местности и кадре рассматриваемого изображения, характеризующих координаты местоположения неподвижного объекта в пространстве. Осуществляется задание связей между ними, при этом один конец каждого отрезка соответствует расположению неподвижного объекта в кадре, другой конец отрезка соответствует расположению объекта на карте местности. Для откалиброванных камер отмечается совпадение положения изображений предметов с их положением на карте местности.
Карта местности — это разновидность топографической карты или чертёж небольшого участка местности в заданном масштабе, который представляет из себя изображение в общедоступном формате. В настоящее время широкое распространение получили интерактивные карты.
В общем случае интерактивная карта — это электронная карта, на которой представлена информация, привязанная к географическому контексту. В контексте данной заявки интерактивная карта представляет из себя план местности или открытую карту местности (OpenStreetMap). OpenStreetMap конфигурируется на основании данных геоинформационной системы (ГИС), при этом есть возможность ее редактировать (в зависимости от требований и интересов пользователя). При этом в случае, когда интерактивная карта является OpenStreetMap, в настройках каждой видеокамеры есть возможность указать точные координаты ее местоположения. После этого каждая видеокамера будет добавлена на интерактивную карту в предварительно заданную точку (привязка).
Таким образом в контексте описываемой реализации изобретения к упомянутой интерактивной карте привязаны все видеокамеры системы, при этом видеокамеры откалиброваны и содержат трекер объектов. Когда все указанные условия корректной работы системы выполнены, система видеонаблюдения может приступать к непосредственной работе, то есть к обнаружению и отслеживанию движущихся в кадре объектов. По обнаруженным объектам легко производить дальнейший поиск в системе.
Основную работу выполняет по меньшей мере одно устройство обработки данных, например, такое как процессор компьютера. Упомянутое устройство обработки данных (одно или несколько) получает в режиме реального времени от упомянутых видеокамер видеоданные. Аналогично устройство обработки данных может получать метаданные (соответствующие получаемым видеоданным).
По полученным данным выполняется анализ движущихся объектов, на основании которого выполняется обнаружение всех движущихся объектов на охраняемой территории системы. Данный анализ может быть выполнен как в режиме реального времени, так и по архивным данным системы.
Для примера рассмотрим одну/первую видеокамеру, в кадре видеоданных от которой обнаружен один движущийся объект. Следует отметить, что система сконфигурирована для обнаружения сразу всех имеющихся в кадре движущихся объектов (такие ситуации будут описаны далее). Однако остановимся на подробном описании обнаружения одного объекта для простоты понимания сути изобретения. Аналогичным образом обнаруживаются все последующие объекты в кадре. Также важно отметить, что бывают такие промежутки времени, когда в области зрения видеокамеры может не быть движущихся объектов вообще. Это нормальная ситуация, при которой система продолжает свою работу. А при обнаружении движущегося объекта система переходит к последующим действиям.
После того как движущийся объект обнаружен, посредством устройства обработки данных ему присваивается уникальный идентификационный номер (ID). Этот ID присущ конкретному движущемуся объекту до тех пор, пока объект находится в области зрения первой видеокамеры.
Однако наша цель – соотносить один и тот же движущийся объект в области зрения нескольких видеокамер. Для достижения этой цели процессор выполняет следующий этап, а именно: выполняется анализ геометрии движения обнаруженного в кадре движущегося объекта.
Под анализом геометрии подразумевается анализ прошлой траектории объекта, а также анализ характера изменения его размеров и скорости движения. Другими словами, под "анализом" подразумевается поиск модели, хорошо описывающей и предсказывающей траекторию и размеры объекта в следующий момент времени. Анализ выполняется на основе всего промежутка сопровождения объекта на сцене, то есть все то время, пока он определяется в области зрения одной камеры. Соответственно, временной промежуток анализа является динамической величиной и зависит от длительности пребывания конкретного объекта в поле зрения камеры.
По результатам анализа выполняется оценка направления движения объекта. То есть система предполагает, в каком направлении будет двигаться объект и с какой скоростью, на основании чего можно предсказать вторую видеокамеру (или несколько видеокамер), в области зрения которой может появиться упомянутый движущийся объект. Таким образом следующий этап направлен на предсказание второй видеокамеры (подробнее о предсказании видеокамер раскрыто в нашем более раннем патенте RU 2670429 C1, опубл. 23.10.2018).
При этом следует отметить, что существует некоторое пороговое допустимое время отсутствия объекта в окрестности места предсказания (в области зрения предсказанной видеокамеры), по истечению которого трек завершается, а не продолжается под тем же ID. Это пороговое время вычисляется динамически исходя из характера закона движения объекта. То есть если объект двигался быстро, то ему дается меньше времени на перемещение в точку предсказания, если двигался медленно, то это время увеличивается. Таким образом, если объект появляется в некой окрестности места предсказания в указанный/рассчитанный диапазон времени, то он продолжается под прошлым ID, если же не появляется - то старый трек считается завершенным и вновь появившийся объект будет иметь новый ID.
Взаимосвязь нескольких видеокамер подразумевает под собой выполнение системой «глобального анализа», который учитывает характеристики размеров и движения объекта при перемещении между несколькими видеокамерами. Глобальный анализ продолжается до тех пор, пока удается прослеживать движение одного объекта по камерам системы.
Далее реализация изобретения будет отличается в зависимости от того, есть ли пересечения областей (полей) зрения видеокамер. При этом следует отметить, что в состав системы видеонаблюдения могут входить различные видеокамеры. То есть области зрения некоторых видеокамер будут пересекать (смежные видеокамеры), а области зрения других не будут пересекаться (при этом они могут быть как соседними, так и расположенными произвольно). Для того чтобы учесть все эти нюансы рассмотрим подробнее каждый отдельный вариант.
Области зрения видеокамер системы не пересекаются.
В этом случае используется искусственная нейронная сеть для сравнения объектов с соседних видеокамер. Например, объект был обнаружен в области зрения первой видеокамеры. Затем через какое-то время объект покидает поле зрение этой видеокамеры и появляется в области зрения другой (второй) видеокамеры. При этом направление движение обнаруженного объекта предполагало его появление именно в области зрения второй видеокамеры.
Таким образом, следующим этапом устройством обработки данных выполняется обнаружение по меньшей мере одного объекта в области зрения второй видеокамеры после того, как объект покинул область зрения первой видеокамеры. Когда по меньшей мере один объект в области зрения второй видеокамеры обнаружен, выполняется построение, на основе использования ИНС, первого вектора признаков объекта, обнаруженного в кадре от первой видеокамеры и второго вектора признаков объекта, обнаруженного в кадре от второй видеокамеры. Далее упомянутые первый и второй вектора признаков объекта сравниваются.
По итогу сравнения векторов признаков выполняется автоматическое присвоение объекту, обнаруженному в кадре второй видеокамеры, такого же ID, как и объекту, обнаруженному в кадре первой видеокамеры, если результат сравнения больше или равен предварительно заданному пользователем пороговому значению. Если же результат сравнения меньше порогового значения, то обнаруженному в области зрения второй видеокамеры объекту присваивается другой (новый) ID. Пользователь перед работой системы или в процессе ее работы может задавать/установить пороговое значение (например, значение 0,9, что соответствует 90% совпадению векторов).
Рассмотрим более подробно работу нейронной сети. Следует отметить, что могут быть использованы различные сети, но не ограничиваясь, например, как: OSNet – Omni Scale Net, сиамская нейронная сеть, детекционная сеть, классическая классификационная сеть, скелетизирующая сеть и другие. Остановимся на подробном рассмотрении использованной в заявляемом решении искусственной нейронной сети.
На вход сети поступает RGB-изображение размера 256x128, в NCHW формате (где N – количество изображений, C – количество каналов в изображении, H – высота, W – ширина), нормализованное по ImageNet стандарту. Нормализация подразумевает вычитание средних значений по каждому из 3 каналов (123.675, 116.28, 103.53) и деление на отклонение каждого канала (58.395, 57.12, 57.375). На выходе сети получается вектор с размерностью в 256 элементов, содержащий актуальную информацию о визуальных признаках объекта на изображении, таких как одежда или наличие/отсутствие всевозможных атрибутов (сумок, головных уборов и т.д.). Полученный вектор используется для последующего сравнения с векторами от других объектов с целью определения степени сходства между объектами и назначения объектам верного ID.
Используемая сеть характеризуется наличием и использованием следующего набора слоёв:
Таблица 1.
<b>№</b>
<b>Слои</b>
1
свёрточные слои
2
слои батч-нормализации
3
слои экземплярной нормализации
4
слои групповой нормализации
5
слои ReLU активации
6
слои PReLU активации
7
слои MaxPooling
8
слои AveragePooling
9
слои Sigmoid активации
10
линейные слои
В контексте данного решения можно выделить следующие этапы работы нейронной сети:
1. К входному изображению/кадру применяется экземплярная нормализация с аффинным преобразованием, после чего, с помощью блока, состоящего из свёртки, экземплярной нормализации (также с аффинным преобразованием), ReLU активации и слоя MaxPooling, извлекаются базовые признаки объекта (карта признаков), такие как контуры, углы и т.д.
2. К полученным картам признаков последовательно применяются специальные блоки сети (всего три), которые содержат однокальные свёртки, четыре субблока с разным количеством поканальных свёрток (от 1 до 4) и агрегирующий механизм с параметрами, разделяемыми в рамках одного блока.
Агрегирующий механизм в свою очередь состоит из AveragePooling слоя, слоя групповой нормализации и слоя Sigmoid активации, при этом агрегирующий механизм получает на вход признаки, полученные после применения различного количества поканальных свёрток (наподобие Inception блокам в GoogleNet).  Блоки позволяют извлечь глобальные признаки объекта (карта признаков) с различных масштабов и отсеять фоновые признаки.
3. К полученному набору карт признаков (базовые признаки и глобальные признаки) применяется одноканальная свёртка и поканальная свёртка, с размерностью фильтра, равной размеру карт признаков. Данный этап нужен для преобразования карт признаков в одномерный вектор фиксированного размера. Полученный вектор содержит глобальные признаки объекта на изображении. Однако для более глубокого анализа имеющихся признаков выполняется следующий этап обработки, поскольку если не делать дальнейших преобразований, результат сравнения по векторам будет менее корректным.
4. К полученному вектору применяется блок, состоящий из линейного слоя, батч-нормализации и PReLU активации. Данный этап позволяет извлечь локальные признаки объекта. То есть к вектору с глобальными признаками применяется нелинейное преобразование, позволяющее помимо глобальных признаков дополнительно учитывать при сравнения локальные признаки (что повышает точность последующего сравнения).
Таким образом на выходе сети получается вектор с размерностью в 256 элементов, содержащий актуальную информацию о визуальных признаках объекта на изображении. Полученный вектор используется для последующего сравнения с векторами от других объектов. Причем сравнение может выполняться как стандартными средствами устройства обработки данных, так и при помощи использования ИНС. Операция сравнения векторов является стандартной операцией и не требует отдельного разъяснения.
Устройство обработки данных (или нейросеть) сравнивает объекты и если процент совпадения выше порогового значения, то система считает, что это один и тот же объект и, следовательно, для него будет использован тот же ID.
Следует также отметить, что нейросеть может быть обучена для вычисления векторов признаков любых типов объектов, таких, но не ограничиваясь, как: человек, транспортное средство, животное, предмет, вещь и т.д. Однако для каждого типа объектов более целесообразно использовать разные нейронные сети, поскольку для каждого типа требуется индивидуальное обучение сети.
Рассмотрим следующую ситуацию, когда области зрения видеокамер пересекаются.
То есть видеокамеры являются смежными.
В этом случае есть несколько вариантов развития событий и соответственно вариантов работы системы. На фиг. 2 представлена блок-схема операций системы в зависимости от того, сколько движущихся объектов обнаружено в области зрения первой и второй видеокамер.
Самый простой случай, это когда в области зрения смежных видеокамер появляется только один движущийся объект. Этот объект воспринимается системой (и алгоритмом) как один и тот же объект. То есть этому объекту системой автоматически присваивается одинаковый ID. Для большей наглядности на Фиг. 3 представлен пример различных траекторий движения объектов в области зрения смежных видеокамер. Как можно увидеть на Фиг. 3 (а) – в области зрения смежных видеокамер (камера 1 и камера 2) есть только один движущийся объект, с траекторией движения t1. Соответственно, этому объекту и его траектории присвоен один и тот же ID.
А вот в случае, когда в области зрения смежных видеокамер есть несколько движущихся объектов, работа системы усложняется.
В таком случае для каждого объекта, обнаруженного в кадре видеоданных, полученных первой видеокамерой, строится предполагаемая траектория движения на основании анализа геометрии движения объекта. Так на Фиг. 3 (б) можно увидеть три траектории движения для трех разных объектов – t2, t3 и t4.
Под траекторией в контексте данной заявки понимается набор точек/координат (в 2х или 3х мерном пространстве, в зависимости от исходных данных) с указанием их времен. При этом точки могут быть получены с нескольких видеокамер. Следует также отметить, что траектории движения и самому объекту присваивается одинаковый ID (то есть у объекта есть один единственный ID и одна единственная траектория, с тем же ID).
В случае, когда построенная траектория движения по меньшей мере одного объекта не пересекается с остальными траекториями движения объектов, на основании полученной траектории движения объекта выполняется выявление этого же объекта в кадре видеоданных, полученных от второй видеокамеры, с последующим присвоением им одинакового ID, соответствующего траектории движения. Как показано на Фиг. 3 (б), траектория второго объекта t2 не пересекается с остальными объектами в области зрения представленных смежных видеокамер.
А вот в более сложном случае, когда построенные траектории движения нескольких движущихся объектов пересекаются (то есть в случае возникновения коллизии), на основе использования ИНС выполняются аналогичные описанным выше операции (для случая, когда области зрения видеокамер не пересекаются). На Фиг. 3 (б) для наглядности представленные пересекающиеся траектории движения объектов t3 и t4.
Выполняется построение векторов признаков каждого движущегося объекта с использованием ИНС (о чем подробно описано выше). Затем выполняется попарное сравнение упомянутых векторов признаков движущихся объектов, обнаруженных в видеоданных соседних/смежных видеокамер. Сравнение может быть выполнено как стандартными средствами устройства обработки данных, так и с задействованием ресурсов нейронной сети. Далее осуществляется присвоение объектам одинакового ID, если результат сравнения больше или равен предварительно заданному пользователем пороговому значению (например, порог 0,96). И соответственно присвоение разного ID, если результат сравнения меньше порога.
Следует также обратить внимание на особенности системы.
В одном из частных вариантов реализации, системой дополнительно выполняется постанализ истории, который исправляет ошибки. То есть на основании результирующих данных, полученный от ИНС и процессора, выполняется постанализ истории назначения ID, для автоматического исправления ошибок при назначении ID объектам в режиме реального времени.
Суть упомянутого постанализа состоит в том, что в режиме онлайн ID объекту может назначаться неверно, так как у системы еще нет векторов признаков и результатов их соответствующего сравнения. В случае, когда в кадре сложное движение нескольких объектов, чьи траектории движения пересекаются, вероятность ошибки в режиме реального времени возрастает. Однако после получения данных от нейросети, устройство обработки данных может переназначить ID объектов на верные/корректные.
Кроме того, в одном из частных вариантов реализации система содержит средства для ввода и вывода данных, позволяющие пользователю системы в ручном режиме переназначать ID объектов в случае, если пользователь считает, что система ошиблась. Для примера, могут возникнуть такие ситуации, когда оператор/пользователь системы видит, что и система и ИНС сработали неверно. В этом случае пользователь системы может вручную (при использовании средств ГПИ системы) указать, что движущийся объект в области зрения первой видеокамеры и объект в области зрения второй видеокамеры является одним и тем же объектом. Следовательно, у этого объекта должен быть одинаковый ID. Таким образом, если пользователь уверен в ошибке системы, то он легко может ее исправить.
Следует также отметить, что упомянутый выше постанализ запускается системой либо автоматически, через каждый (какой-то) промежуток времени, предварительно заданный пользователем (например, через несколько минут после перемещения объекта, если в кадре много объектов, 10-15 минут если движение не интенсивное), либо же постанализ может быть выполнен непосредственно в момент, когда пользователь системы запускает поиск по объектам или какую-либо другую операцию анализа видеоданных.
Кроме того, заявляемое решение позволяет оператору/пользователю системы значительно/колоссально экономить время при расследованиях. Для этого система дополнительно содержит средства для ввода и вывода данных, позволяющие пользователю системы задавать параметры поиска объектов и запускать упомянутый поиск по объектам. Соответственно система сконфигурирована для выполнения поиска по объектам, на основании заданных пользователем параметров/характеристик поиска.
Для примера, если интересующий объект попал в поле зрения какой-либо видеокамеры, то можно выделить/выбрать его, назначить любые критерии/параметры поиска (из возможных в системе), указать временной интервал поиска и система выдаст видеозаписи со всех других видеокамер, в поле зрения которых попал этот объект за предварительно заданный промежуток времени.  Подробнее о поиске и о критериях поиска раскрыто в нашем более раннем патенте RU 2710308 C1, опубл. 25.12.2019).
В общем случае рассматривается три режима поиска: режим поиска по лицам (1), режим поиска по номерам транспортных средств (2) или же режим поиска по объектам (3). Режим поиска по объектам является более общим режимом, однако его использование часто является более эффективным. Для упомянутого режима поиска по объектам в ГПИ пользователь может задать все известные ему характеристики объекта. Характеристиками объекта являются: тип объекта, цвет объекта, минимальный размер объекта, максимальный размер объекта и т.д. К типам объекта относятся: человек, группа людей, транспортное средство, оставленный предмет или вещь и т.д.
Далее будет описан пример конкретной реализации способа. На фиг. 4 представлена блок-схема одного из вариантов реализации способа отслеживания движущихся объектов по видеоданным, в случае, когда области зрения видеокамер не пересекаются.
Указанный способ выполняется уже описанной выше вычислительной/компьютерной системой, содержащей, по меньшей мере, устройство обработки данных, память и несколько видеокамер, связанных по сети. При этом способ содержит этапы, на которых выполняется:
(100) привязка каждой видеокамеры системы к карте местности;
(200) калибровка каждой привязанной к карте местности видеокамеры;
(300) получение видеоданных от каждой откалиброванной и привязанной к карте местности видеокамеры в режиме реального времени;
(400) обнаружение по меньшей мере одного движущегося объекта в кадре видеоданных, полученных от первой видеокамеры;
(410) присвоение этому обнаруженному в кадре объекту уникального идентификационного номера (ID);
(420) анализ геометрии движения, обнаруженного в кадре по меньшей мере одного объекта с последующей оценкой его направления движения;
(500) предсказание второй видеокамеры, в области зрения которой может появиться упомянутый объект;
при этом в случае, когда области зрения первой и второй видеокамеры не пересекаются, выполняется:
(600) обнаружение по меньшей мере одного объекта в области зрения второй видеокамеры после того, как объект покинул область зрения первой видеокамеры;
(700) построение на основе использования искусственной нейронной сети (ИНС) первого вектора признаков объекта, обнаруженного в кадре от первой видеокамеры и второго вектора признаков объекта, обнаруженного в кадре от второй видеокамеры;
(800) сравнение упомянутых первого и второго векторов признаков объекта;
(900) присвоение объекту, обнаруженному в кадре второй видеокамеры такого же ID, как и объекту, обнаруженному в кадре первой видеокамеры, если результат сравнения больше или равен предварительно заданному пользователем пороговому значению.
Следует еще раз отметить, что указанные выше варианты способов могут быть реализованы посредством использования охарактеризованных ранее соответствующих вычислительных систем. Следовательно, способ может быть расширен и уточнен всеми теми же частными вариантами исполнения, которые уже были описаны выше для реализации системы отслеживания движущихся объектов.
Кроме того, варианты осуществления настоящей группы изобретений могут быть реализованы с использованием программного обеспечения, аппаратных средств, программной логики или их комбинации. В данном примере осуществления программная логика, программное обеспечение или набор инструкций хранятся на одном или более из различных традиционных считываемых компьютером носителе данных.
В контексте данного описания «считываемым компьютером носителем данных» может быть любая среда или средства, которые могут содержать, хранить, передавать, распространять или транспортировать инструкции (команды) для их использования (исполнения) вычислительной системой, например, такой как компьютер. При этом носитель данных может являться энергонезависимым машиночитаемым носителем данных.
Следует также отметить, что в контекст данного описания введены термины «первая» и «вторая» видеокамеры и т.п. Данные термины предназначены для обозначения различных элементов и необязательно имеют порядковое значение в соответствии с их числовым обозначением. Раскрытое в описание взаимодействие между первой и второй видеокамерами может быть аналогично выполнено для любых двух видеокамер системы, не зависимо от их порядкового номера.
Любой аспект или решение, описанные в настоящем документе как «пример» или «приведенный в качестве примера», необязательно должны рассматриваться как предпочтительный или преимущественный по сравнению с другими аспектами или решениями. Скорее, использование слова «пример» предназначено для представления концепций с практической точки зрения.
При необходимости, по меньшей мере, часть различных операций, рассмотренных в описании данного решения, может быть выполнена в отличном от представленного порядке и/или одновременно друг с другом.
Хотя данное техническое решение было описано подробно в целях иллюстрации наиболее необходимых в настоящее время и предпочтительных вариантов осуществления, следует понимать, что данное изобретение не ограничивается раскрытыми вариантами осуществления и более того, предназначено для модификации и различных других комбинаций признаков из описанных вариантов осуществления. Например, следует понимать, что настоящее изобретение предполагает, что в возможной степени, один или более признаков любого варианта осуществления могут быть объединены с другим одним или более признаками любого другого варианта осуществления.