Область техники
Настоящее изобретение относится к спортивному хронометражу на основе системы камер и, в частности, но не исключительно, к способам и системам спортивного хронометража на основе системы камер, а также к компьютерному программному продукту, позволяющему компьютерной системе выполнять такие способы.
Предпосылки создания изобретения
Спортивные мероприятия, такие как автомобильные гонки или мотогонки, велоспорт, легкая атлетика, дроны и катание на коньках, обычно требуют точной и быстрой регистрации времени для отслеживания объектов (людей или транспортных средств) во время мероприятия. Такая система хронометража обычно основана на системе радиочастотной идентификации (RFID, Radio Frequency IDentification), в которой каждому участнику мероприятия предоставляется транспондер RFID, например, метка обратного рассеяния ультравысокой частоты (UHF, Ultra High Frequncy) или метка низкой частоты (LF, Low Frequency) на основе магнитной индукции, которые могут быть считаны считывателями RFID, расположенными вдоль трассы. Такие считыватели могут быть выполнены в виде антенного коврика, боковых антенн и/или антенн, установленных на раме над дорожкой. Каждый транспондер настроен на передачу пакетов на определенной частоте и вставку в пакет уникального идентификатора, чтобы детектор мог связать пакет с определенным передатчиком.
Когда участник входит в зону обнаружения считывателя, транспондер начинает передавать сигналы, которые будут приняты считывателем. Сигналы могут иметь временные метки, чтобы алгоритм в считывателе мог определять время прохождения на основе одного или более принятых сигналов прохождения. В настоящее время технология RFID может использоваться для создания очень надежных систем учета времени для массовых мероприятий с надежностью 99,8% и более. Точно так же технология RFID может использоваться для создания очень точных систем хронометража, позволяющих определять время прохождения с погрешностью менее сотой доли секунды.
При обеспечении надежных и точных систем хронометража система RFID имеет определенные недостатки. Один недостаток связан с тем, что каждый участник должен иметь транспондер. Таким образом, перед марафоном каждому участнику предоставляется нагрудный номер (BIB), который включает в себя UHF метку, сконфигурированную для передачи идентификатора (ID), однозначно связанного с идентификатором BIB. Дополнительные недостатки связаны с тем, что UHF метки, передающие и принимающие сигналы, довольно чувствительны к воздействиям окружающей среды, включая отражение и поглощение объектами и конфликты (например, когда большое количество UHF меток одновременно передают сигналы, которые должны быть уловлены считывателем). Кроме того, рабочая частота меток близка к рабочей частоте других мобильных устройств, что может вызывать нежелательные влияния помех.
В предшествующем уровне техники было предложено использовать систему хронометража с помощью видеосистемы, т.е. систему хронометража, основанную на анализе информации, полученной одной или более камерами, которые фиксируют временной ряд видеокадров участников соревнования. Например, в документе US 6433817 описывается система камеры для измерения прохождения участником виртуальной линии финиша. Камера включает в себя камеру, которая способна захватывать изображения в формате "красный, зеленый и синий" (RGB, Red Green Blue) и инфракрасные (IR, Infra Red) изображения. IR-изображения генерируются лазером, передающим IR-импульсы к линии финиша. Таким образом, камера может определять информацию о глубине, связанную с объектами, например, участниками, проходящими через линию финиша. Аналогичным образом, в документе DE 102006006667 представлена система высокого уровня на базе системы камер для хронометража массового соревнования, такого как марафон.
В этом документе решается проблема, связанная с тем, что в массовых соревнованиях большое число участников одновременно или почти одновременно пересекают линию финиша. В документе предлагается использовать множество маркеров участников, чтобы система могла идентифицировать каждого участника. Хотя в общем это может показаться разумным решением, оно не описывает реализацию такой системы. Реализация системы хронометража с помощью видеосистемы, отвечающая требованиям надежности и точности, необходимым для профессионального использования, не является тривиальной задачей.
Например, Lynx technologies является одной из фирм, которые в настоящее время продают систему хронометража на основе камеры. Эта система включает в себя (ультра-) высокоскоростную камеру фотофиниша для определения времени прохождения, расположенную параллельно линии финиша, в сочетании с видеокамерой, расположенной перед линией финиша, для идентификации различных объектов, проходящих через линию финиша (почти) одновременно. Камера фотофиниша не подходит для массовых мероприятий, так как слишком много участников невозможно идентифицировать визуально. Кроме того, высокоскоростные камеры очень дороги и поэтому не подходят для простого определения времени прохождения для массовых видов соревнований в многочисленных точках вдоль трассы. Такая система камер не может конкурировать с надежностью, точностью и стоимостью, предлагаемыми в настоящее время системами хронометража на основе RFID.
Таким образом, из вышеизложенного следует, что в данной области техники существует потребность в улучшенном хронометраже спортивных соревнований с помощью видеосистемы, которая позволяет надежно определять время прохождения и идентифицировать участников спортивного соревнования, особенно спортивного соревнования с большим количеством участников. В частности, в данной области техники существует потребность в хронометраже спортивных соревнований с помощью видеосистемы, который был бы быстрым, надежным, легким в настройке и простым в использовании.
Сущность изобретения
Как будет понятно специалистам в данной области техники, аспекты настоящего изобретения могут быть воплощены в виде системы, способа или компьютерного программного продукта.
Соответственно, аспекты настоящего изобретения могут принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления (включая микропрограммное обеспечение, резидентное программное обеспечение, микрокод и т.д.) или варианта осуществления, сочетающего программные и аппаратные аспекты, которые в общем случае могут называться здесь как "схема", "модуль" или "система". Функции, описанные в этом документе, могут быть реализованы в виде алгоритма, выполняемого микропроцессором компьютера. Кроме того, аспекты настоящего изобретения могут принимать форму компьютерного программного продукта, воплощенного на одном или более машиночитаемых носителях, имеющих машиночитаемый программный код, например, сохраненный на нем.
Может быть использована любая комбинация одного или более машиночитаемых носителей. Машиночитаемый носитель может быть машиночитаемым носителем в виде сигнала или машиночитаемым носителем для хранения данных. Машиночитаемый носитель данных может быть, например, но, не ограничиваясь этим, электронной, магнитной, оптической, электромагнитной, инфракрасной или полупроводниковой системой, аппаратом или устройством, или любой подходящей комбинацией вышеперечисленного. Более конкретные примеры (неполный список) машиночитаемых носителей данных могут включать следующее: электрическое соединение с одним или более проводами, переносную компьютерную дискету, жесткий диск, оперативную память (RAM, Random Access Memory), постоянную память (ROM, Read-Only Memory), стираемую программируемую постоянную память (EPROM, Erasable Programmable Read-Only Memory) или флэш-память, оптическое волокно, компакт-диск, предназначенным только для чтения (CD-ROM, Compact Disk Readonly Memory), оптическое запоминающее устройство, магнитное запоминающее устройство или любую подходящую комбинацию вышеперечисленного. В контексте этого документа машиночитаемый носитель данных может быть любым материальным носителем, который может содержать или хранить программу для использования системой, аппаратурой или устройством выполнения команд или в связи с ними.
Машиночитаемый носитель в виде сигнала может включать в себя распространяющийся сигнал данных с воплощенным в нем машиночитаемым программным кодом, например, в основной полосе частот или как часть несущей волны. Такой распространяющийся сигнал может принимать любую из множества форм, включая, помимо прочего, электромагнитную, оптическую или любую их подходящую комбинацию. Машиночитаемый носитель сигналов может быть любым машиночитаемым носителем, который не является машиночитаемой средой для хранения данных и который может передавать, распространять или транспортировать программу для использования системой, прибором или устройством выполнения команд или в связи с ними.
Программный код, воплощенный на машиночитаемом носителе, может быть передан с использованием любого подходящего носителя, включая, помимо прочего, беспроводную связь, проводную связь, оптическое волокно, кабель, радиочастоту и т.п.или любую подходящую комбинацию вышеперечисленного. Компьютерный программный код для выполнения операций для аспектов настоящего изобретения может быть написан на любой комбинации одного или более языков программирования, включая функциональный или объектно-ориентированный язык программирования, такой как Java(TM), Scala, С++, Python и т.п. и обычные процедурные языки программирования, такие как язык программирования С или подобные языки программирования. Программный код может выполняться полностью на компьютере пользователя, частично на компьютере пользователя, как отдельный пакет программ, частично на компьютере пользователя и частично на удаленном компьютере, или полностью на удаленном компьютере, сервере или виртуализированном сервере. В последнем случае удаленный компьютер может быть подключен к компьютеру пользователя через сеть любого типа, включая локальную сеть (LAN, Local Area Network) или глобальную сеть (WAN, Wide Area Network), или подключение может быть выполнено к внешнему компьютеру (например, через Интернет с помощью интернет-провайдера).
Аспекты настоящего изобретения описаны ниже со ссылкой на иллюстрации структурных схем и/или блок-схемы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления изобретения. Следует понимать, что каждый блок структурных схем и/или блок-схем и комбинации блоков в иллюстрациях структурных схем и/или блок-схемах могут быть реализованы командами компьютерной программы. Эти команды компьютерной программы могут быть предоставлены процессору, в частности микропроцессору или центральному процессору (CPU, Central Processing Unit), или графическому процессору (GPU, Graphics Processing Unit), компьютеру общего назначения, компьютеру специального назначения или другому программируемому устройству обработки данных или другим устройствам, которые создают средства для реализации функций/действий, указанных в блоке или блоках структурной схемы и/или блок-схемы.
Эти команды для компьютерных программ также могут храниться на машиночитаемом носителе, который может указывать компьютеру, другому программируемому устройству обработки данных или другим устройствам функционировать определенным образом, так что команды, хранящиеся на машиночитаемом носителе, создают промышленное изделие, включающее команды, которые реализуют функцию/действие, указанные в блоке или блоках структурной схемы и/или блок-схемы.
Команды компьютерной программы также могут быть загружены в компьютер, другое программируемое устройство обработки данных или другие устройства, чтобы обеспечить выполнение ряда рабочих шагов на компьютере, другом программируемом устройстве или других устройствах для создания реализуемого компьютером процесса, так что команды, которые выполняются на компьютере или другом программируемом устройстве, обеспечивают процессы для реализации функций/действий, указанных в блоке или блоках структурной схемы и/или блок-схемы.
Структурные схемы и блок-схемы на фигурах иллюстрируют архитектуру, функциональные возможности и работу возможных реализаций систем, способов и компьютерных программных продуктов согласно различным вариантам осуществления настоящего изобретения. В связи с этим каждый блок на структурной схеме или блок-схеме может представлять модуль, сегмент или часть кода, которая включает в себя одну или более исполняемых команд для реализации заданной(-ых) логической(-их) функции (функций). Следует также отметить, что в некоторых альтернативных реализациях функции, указанные в блоках, могут выполняться не в порядке, указанном на фигурах. Например, два последовательно показанных блока фактически могут выполняться по существу одновременно, или иногда блоки могут выполняться в обратном порядке, в зависимости от задействованной функциональности. Следует также отметить, что каждый блок иллюстраций структурных схем и/или блок-схем и комбинации блоков в иллюстрациях структурных схем и/или блок-схем могут быть реализованы аппаратными системами специального назначения, которые выполняют упомянутые функции или действия, или комбинации специального оборудования и компьютерных команд.
Целью вариантов осуществления в этом изобретении является уменьшение или устранение по меньшей мере одного из недостатков, известных в предшествующем уровне техники. В одном аспекте изобретение может относиться к способу определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, включающему: прием последовательности видеокадров, фиксируемых по меньшей мере одной системой камеры, предпочтительно системой 3D камеры; причем каждый видеокадр, представляет изображение сцены с одним или более объектами, например, человеком, животным или транспортным средством, движущимися вдоль дорожки, и каждый видеокадр имеет временную метку; определение информации о глубине, например карт глубины, для последовательности видеокадров, при этом информация о глубине содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра и системой камеры; обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом упомянутые объекты, обнаруженные алгоритмом обнаружения, определяются одним или более обнаруженными объектами; определение на видеокадрах обнаруженного объекта, пересекающего линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определяется виртуальной плоскостью, расположенной поперек дорожки на заданном расстоянии от системы камеры, определение прохождения осуществляется на основе координат виртуальной плоскости и информации о глубине; и определение времени прохождения на основе метки времени видеокадра, содержащего обнаруженный объект, пересекающий линию хронометража.
В варианте осуществления изобретения способ может дополнительно включать применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; и определение идентичности обнаруженного объекта, для которого определяется время прохождения, на основе идентификационных признаков обнаруженного объекта, который прошел через линию хронометража.
В варианте осуществления изобретения идентификационные признаки обнаруженного объекта включают в себя один или более оптически читаемых идентификационных маркеров, таких как нагрудный номер или печатная метка; и/или одну или более характеристик формы и/или цвета обнаруженного объекта; и/или, если обнаруженный объект является животным или человеком, один или более биометрических идентификаторов обнаруженного объекта.
В варианте осуществления изобретения алгоритм обнаружения объектов и алгоритм анализа признаков могут быть частью алгоритма машинного обучения, предпочтительно алгоритма глубокого обучения, такого как система сверточной глубокой нейронной сети, которая обучается обнаруживать один или более объектов в видеокадре и определять идентификационные признаки, связанные с обнаруженными объектами.
В варианте осуществления изобретения обнаружение одного или более объектов в видеокадрах может включать: определение одной или более областей интереса (ROI, Region Of Interest) в видеокадре, причем каждая область ROI содержит пиксели, представляющие объект; определение идентификационных признаков в одной или более областях ROI; и определение объекта в ROI на основе определенных идентификационных признаков.
В варианте осуществления изобретения система камеры может содержать множество модулей камер, предпочтительно два модуля камер, образующих стереокамеру, при этом стереокамера выполнена с возможностью формировать в каждый момент времени по меньшей мере первый видеокадр и второй видеокадр сцены, и карта глубины определяется на основе алгоритма отображения диспаратности, сконфигурированного для определения диспаратности между пикселями первого и второго видеокадра.
В варианте осуществления изобретения время прохождения может быть определено на основе видеокадра сцены, в которой заранее определенная часть обнаруженного объекта прошла виртуальную плоскость.
В другом аспекте изобретение может относиться к способу определения времени прохождения объектов через линию хронометража, проходящую поперек спортивной дорожки, включающему:
прием видеокадров от множества систем камер, предпочтительно систем камер, синхронизированных по времени, причем множество систем камер фиксируют сцену спортивной дорожки с разных углов обзора, причем видеокадры представляют собой изображения сцены, содержащей один или более объектов, например, человека, животного или транспортного средства, движущихся вдоль дорожки, причем каждый из видеокадров имеет метку времени; определение информации о глубине, например, карт глубины, на основе принятых видеокадров, при этом информация о глубине содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадров и множеством систем камер; обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных алгоритмом обнаружения, определяют один или более обнаруженных объектов; определение обнаруженного объекта видеокадров, проходящего через линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определяется виртуальной плоскостью, расположенной поперек дорожки на заданных расстояниях от множества систем камер, определение прохождения осуществляется на основе координат виртуальной плоскости и карт информации о глубине; и определение времени прохождения на основе одной или более меток времени одного или более видеокадров, содержащих обнаруженный объект, проходящий через линию хронометража.
В варианте осуществления изобретения способ может дополнительно включать: применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; и определение идентичности обнаруженного объекта, для которого определяется время прохождения, на основе идентификационных признаков обнаруженного объекта, который прошел через линию хронометража.
В дополнительном аспекте изобретение может относиться к способу калибровки системы хронометража, сконфигурированной для определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, способ включает: прием последовательности видеокадров, захваченных системой камеры, предпочтительно системой 3D камеры, системы хронометража, причем каждый видеокадр представляет изображение сцены, включающей дорожку и калибровочные маркеры, расположенные на противоположных сторонах дорожки; определение одной или более карт глубины на основе видеокадров, при этом карта глубины содержит информацию о расстоянии между одним или более объектами в изображении видеокадра; использование одной или более карт глубины для определения расстояния между калибровочными маркерами и системой камеры; определение координат виртуальной плоскости, расположенной поперек дорожки между маркерами, причем виртуальная плоскость определяет линию хронометража для системы хронометража; и сохранение координат виртуальной плоскости в памяти системы хронометража.
В еще одном аспекте изобретение относится к системе для определения времени прохождения объекта, пересекающего линию хронометража, проходящую поперек спортивной дорожки, при этом система может содержать: по меньшей мере одну систему камеры, подключенную к компьютеру; компьютер, содержащий машиночитаемый носитель данных, имеющий воплощенный на нем машиночитаемый программный код, и процессор, предпочтительно микропроцессор, соединенный с машиночитаемым носителем данных, при этом в ответ на выполнение машиночитаемого программного кода процессор конфигурируется для выполнения исполняемых операций, включающих: прием последовательности видеокадров, фиксируемых по меньшей мере одной системой камеры, предпочтительно системой 3D камеры, причем каждый видеокадр представляет собой изображение сцены с одним или более объектами, например, человеком, животным или транспортным средством, движущимися вдоль дорожки, и каждый видеокадр имеет временную метку; определение карт глубины для последовательности видеокадров, причем карта глубины содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра и системой камеры; обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных алгоритмом обнаружения, определяют один или более обнаруженных объектов; определение обнаруженного объекта в одном из видеокадров, который проходит через линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определяется виртуальной плоскостью, расположенной поперек дорожки на заданном расстоянии от системы камеры, определение прохождения на основе координат виртуальной плоскости и карт глубины, причем координаты предпочтительно хранятся на машиночитаемом носителе данных компьютера; и определение времени прохождения на основе метки времени видеокадра, содержащего обнаруженный объект, проходящий через линию хронометража.
В варианте осуществления изобретения выполняемые операции могут дополнительно включать: применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; и определение идентичности обнаруженного объекта, для которого определяется время прохождения, на основе идентификационных признаков обнаруженного объекта, прошедшего линию хронометража.
В еще одном аспекте изобретение может относиться к калибровочному модулю для системы хронометража, сконфигурированному для определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, при этом модуль содержит: прием последовательности видеокадров, захваченных системой камеры, предпочтительно системой 3D камеры, системы хронометража, где каждый видеокадр представляет собой изображение сцены, включающей дорожку и калибровочные маркеры, расположенные на противоположных сторонах дорожки; определение одной или более карт глубины на основе видеокадров, при этом карта глубины содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра; использование одной или более карт глубины для определения расстояния между калибровочными маркерами и системой камеры; определение координат виртуальной плоскости, расположенной поперек дорожки между маркерами, при этом виртуальная плоскость определяет линию хронометража для системы хронометража; и сохранение координат виртуальной плоскости в памяти системы хронометража.
Изобретение также может относиться к компьютерной программе или комплекту компьютерных программ, содержащих по меньшей мере одну часть кода программного обеспечения, или к компьютерному программному продукту, хранящему по меньшей мере одну часть кода программного обеспечения, при этом часть кода программного обеспечения при запуске в компьютерной системе сконфигурирована для выполнения любого из описанных выше этапов способа.
Изобретение может дополнительно относиться к машиночитаемому носителю данных, хранящему по меньшей мере одну часть кода программного обеспечения, при этом часть кода программного обеспечения при выполнении или обработке компьютером конфигурируется для выполнения любого из этапов способа, как описано выше.
Далее изобретение будет проиллюстрировано со ссылкой на прилагаемые чертежи, на которых схематично показаны варианты осуществления согласно изобретению. Следует понимать, что изобретение никоим образом не ограничивается этими конкретными вариантами осуществления.
Краткое описание чертежей
На фиг.1 изображена схема системы хронометража согласно варианту осуществления изобретения.
На фиг.2 изображена система камеры для использования в системе хронометража согласно варианту осуществления изобретения.
На фиг.3 изображено отображение диспаратности изображений, созданных системой камеры.
На фиг.4А и 4В изображена калибровка системы хронометража согласно варианту осуществления изобретения.
На фиг.5 изображена структурная схема способа калибровки системы хронометража согласно варианту осуществления изобретения.
На фиг.6А и 6В изображен способ определения времени прохождения согласно варианту осуществления изобретения.
На фиг.7 изображен способ идентификации синхронизированного объекта согласно варианту осуществления изобретения.
На фиг.8 изображена структурная схема способа определения времени прохождения согласно варианту осуществления изобретения.
На фиг.9 изображена система для определения времени прохождения согласно варианту осуществления изобретения.
На фиг.10 изображены некоторые иллюстративные изображения объектов, проходящих через виртуальную плоскость системы хронометража, согласно варианту осуществления изобретения.
Фиг. 11 представляет собой блок-схему, иллюстрирующую пример системы обработки данных, которую можно использовать для выполнения способов и программных продуктов, описанных в этой заявке.
Подробное описание
На фиг.1 изображена система хронометража согласно варианту осуществления изобретения. В частности, на фигуре изображена основанная на видеосистеме система 100 спортивного хронометража, включающая в себя одну или более систем 1021,2 камер, управляемых компьютером 1041,2. Каждая система камер может быть сконфигурирована для захвата сцены спортивной дорожки 106 и определения информации о глубине, связанной с захваченной сценой. Например, в варианте осуществления изобретения информация о глубине может включать в себя так называемые карты глубины для видеокадров, сформированных датчиком изображения системы камеры. Карта глубины видеокадра, например видеокадра в формате RGB, может быть представлена как пиксельное изображение, содержащее значения пикселей, представляющих значение расстояния для каждого пикселя видеокадра. Значение расстояния может определять расстояние между камерой (плоскостью изображения камеры) и объектами в видеокадрах.
Например, группа пикселей в видеокадре может быть частью объекта на сцене, который отображается системой камеры. В этом случае карта глубины может указывать относительное расстояние между камерой (точкой съемки) и поверхностью объекта в сцене. Следовательно, во время захвата последовательности видеокадров с метками времени объекта, например, спортсмена или транспортного средства, движущегося по спортивной дорожке, соответствующие карты глубины могут предоставлять информацию о расстоянии между движущимся объектом в видеокадрах и (статической) системой камеры как функцию времени.
Известны системы камер, способные генерировать карту глубины. Например, в варианте осуществления изобретения камера может быть реализована как система 3D камеры, например стереокамера, содержащая два или более модулей камер, при этом каждый модуль камеры имеет собственную систему линз. Пример вида сверху такой системы формирования трехмерных (3D) изображений показан на фиг.2. Как показано на этой фигуре, стереокамера 202 может быть расположена вдоль стороны дорожки 204. Стереокамера имеет (по меньшей мере) два модуля 2041,2 камер с параллельной оптической осью 2061,2 для наблюдения за сценой беговой дорожки, включающей объекты, например калибровочные маркеры 2101,2 и/или спортсменов (как показано на фиг.1). Таким образом захватываются два изображения одной и той же сцены с разных точек обзора. Такая стереокамера может использоваться для определения карт глубины и/или 3D изображений. Система 3D камеры может иметь более двух модулей камер, чтобы можно было использовать многочисленные изображения для вычисления карты глубины. Таким образом можно повысить точность карт глубины.
Система 3D камеры (или компьютерная система, управляющая системой камеры) может включать в себя модуль для вычисления карты глубины на основе видеокадров, захваченных двумя (или более) модулями камер. В варианте осуществления изобретения модуль может использовать технику отображения диспаратности для вычисления карты глубины на основе изображений, формируемых двумя датчиками изображения. На фиг.3 схематично показан принцип отображения диспаратности. Система 3D камеры содержит два модуля камер, разделенные расстоянием, которое называется базой 308. Два модуля камер могут быть синхронизированы таким образом, чтобы в каждый момент времени формировались два видеокадра 3021,2 одного и того же объекта с разных точек обзора.
Чтобы вычислить карту глубины на основе этих видеокадров, может быть выполнен алгоритм сопоставления для сопоставления соответствующих пикселей левого и правого видеокадра. Следовательно, объект 300, отображаемый двумя синхронизированными модулями камер, расположен в одной и той же позиции 3041,2, но разделен расстоянием 308 базы. В этом случае объект появится в одинаковых позициях на обоих изображениях. Расстояние между объектами на левом и правом изображениях известно как диспаратность 306. Алгоритм построения карты диспаратности на основе двух изображений известен как алгоритм сопоставления стереоизображений. Существуют различные алгоритмы сопоставления стереоизображений, которые должны быть точными и быстрыми для применений реального времени.
Система 3D камеры, которая используется в вариантах осуществления изобретения этой заявки, не ограничивается техниками формирования изображений на основе стерео, и также могут использоваться другие техники формирования 3D изображений. Например, карта глубины может быть сформирована на основе техники RGBAR (используемого Kinect) или трехмерной (3D) времяпролетной (TOF, Time-Of-Flight) техники или их комбинации. Кроме того, для увеличения угла обзора системы камеры в некоторых вариантах осуществления изобретения может использоваться одна или более систем широкоугольных камер, например, камера с углом обзора 180 градусов или камера с углом обзора 360 градусов. Также карты глубины могут быть созданы для такого типа видеоформатов как 360-градусное видео или видеосреда с погружением, генерируемых с использованием специальных систем 360-градусных камер, в которых видео проецируется на 2D видеокадр с использованием, например, равнопромежуточной проекции.
Как показано на фиг.1, одна или более систем 1021,2 3D камер могут быть расположены сбоку или над спортивной дорожкой. Кроме того, системы камер могут быть выровнены и откалиброваны таким образом, что каждая из систем 3D камер захватывает одну и ту же сцену 114 спортивной дорожки, включая объекты, движущиеся вдоль дорожки. С этой целью можно использовать один или более калибровочных маркеров 1101,2. Один или более калибровочных маркеров могут быть расположены на одной стороне из обеих сторон, например, на противоположных сторонах дорожки. Эти калибровочные маркеры могут использоваться системой хронометража для вычисления координат виртуальной плоскости 112, расположенной поперек пути между двумя калибровочными маркерами. После калибровки известно относительное расстояние между системой 3D камеры и каждой позицией на виртуальной плоскости. Это позволяет системе хронометража определять, на основе видеокадров с метками времени и соответствующих карт глубины, в какой момент времени движущийся объект прошел виртуальную плоскость.
Процесс калибровки системы 3D камеры требуется для точного определения положения и ориентации калибровочных маркеров при любых внешних условиях. Таким образом, калибровочные маркеры проектируются так, чтобы они имели заранее определенную форму и/или цветовую комбинацию, и чтобы во время калибровки программа обнаружения объектов могла легко и точно определить позицию (края) маркеров в видеокадрах, чтобы можно было точно определить координаты виртуальной плоскости. Когда работает (откалиброванная) система хронометража, система 3D камеры может захватывать видеокадры, в которых спортсмены проходят через виртуальную плоскость. Хотя на фигуре показана система камер вдоль обочины беговой дорожки, в других вариантах осуществления изобретения одна или несколько систем камер могут быть установлены над спортивной дорожкой с использованием подходящей монтажной конструкции.
Как будет более подробно описано ниже, система хронометража, изображенная на фиг.1, сконфигурирована для определения времени прохождения объектов через виртуальную плоскость. Кроме того, система хронометража сконфигурирована для идентификации объектов, для которых определяется время прохождения. Идентификация может быть основана на идентификационных маркерах, связанных с объектами. Например, в случае спортсменов идентификационные маркеры могут включать (но не ограничиваются этим) нагрудный номер, цвета, биометрическую информацию и т.п. В случае идентификации транспортного средства маркеры могут включать характеристики транспортного средства, например, цвет, форму, фабричные марки и т.п.
Компьютер для управления одной или более системами 3D камер и выполнения способов калибровки и хронометража может быть реализован как автономный компьютер или набор соединенных (беспроводным способом) компьютеров. Например, системы 3D камер, которые используются для определения времени прохождения на основе виртуальной плоскости, расположенной поперек пути, могут управляться компьютером, который включает в себя беспроводной интерфейс для беспроводной связи с компьютерами, которые управляют другими системами 3D камер.
Множество систем хронометража, как показано на фиг.1, могут располагаться в разных местах вдоль трассы. Таким образом, каждая система хронометража может определять время прохождения на основе видеокадров объектов, проходящих через виртуальную плоскость. Системы хронометража могут поддерживать беспроводной протокол, который позволяет установить ячеистую сеть системы хронометража вдоль трассы. Таким образом, информация, определенная одной системой хронометража, может использоваться одной или более другими системами хронометража, которые являются частью ячеистой сети.
Способы обработки данных, которые используются системой хронометража для вычисления карт глубины и анализа видеокадров, могут потребовать обработки изображения в реальном времени, поэтому в некоторых вариантах осуществления изобретения процессор специального назначения, такой как графический процессор (GPU), может использоваться для выполнения частей процесса калибровки и синхронизации, требующих больших вычислительных ресурсов. В других вариантах осуществления изобретения одна или более систем 3D камер могут быть подключены к облачным ресурсам, которые могут выполнять части процессов, требующие интенсивного вычисления. Тактовая частота CPU или сигнал синхронизации глобальной системы навигации и определения местоположения (GPS, Global Positioning System) может использоваться для привязки видеокадров к информации о времени. Например, в варианте осуществления изобретения все или по меньшей мере часть видеокадров могут быть привязаны к моменту времени посредством временной маркировки видеокадров.
Система хронометража на фиг.1 может работать на основе одной 3D камеры. В качестве альтернативы для захвата видеокадров сцены можно использовать две или более систем 3D камер под разными углами обзора. В этом случае системы 3D камер могут быть синхронизированы по времени, чтобы видеокадры с временными метками различных систем 3D камер можно было легко комбинировать и анализировать. Многочисленные системы 3D камер могут использоваться для обработки конфликтов, т.е. событий, когда несколько объектов проходят через виртуальную плоскость.
Фиг. 4А и 4В изображают вариант осуществления системы хронометража, которая калибруется, и системы хронометража, которая работает, соответственно. Как показано на фиг.4А система 402 камеры расположена вдоль стороны дорожки 406. На заданном расстоянии 406 один или более калибровочных маркеров 4101,2 могут быть расположены на одной или обеих сторонах дорожки. Поле обзора камеры направлено на дорожку так, что оно захватывает сцену, включающую один или более калибровочных маркеров. Затем программа калибровки выполняется компьютером 404 системы камеры. Во время калибровки камера генерирует видеокадры, и карты глубины сцены, включающей один или более калибровочных маркеров, определяются на основе генерируемых видеокадров (например, как описано со ссылкой на фиг.2 и 3). Программа обнаружения объектов может использоваться для обнаружения калибровочных маркеров в видеокадрах (например, в изображениях RGB).
Один или более калибровочных маркеров могут быть спроектированы таким образом, чтобы они имели конструктивные особенности, обеспечивающие точную калибровку при различных внешних условиях.
Например, форма, края и/или цвета маркера могут быть спроектированы таким образом, чтобы обеспечивать точное обнаружение на изображениях. Карта глубины, связанная с видеокадрами, может использоваться для определения расстояния между камерой и обнаруженными калибровочными маркерами. В качестве альтернативы, если может быть построена достаточно точная карта глубины, программа обнаружения объектов может также определять положение калибровочных маркеров непосредственно на основе карты глубины.
Как только позиция одного или более маркеров обнаружена, компьютер может определить виртуальную плоскость, расположенную между двумя калибровочными маркерами. Виртуальная плоскость может использоваться как место, в котором система хронометража определяет время прохождения. Эта виртуальная плоскость может быть расположена внутри прямоугольного трехмерного (3D) объема 412 в пространстве, при этом ширина объема может определяться калибровочными маркерами, а высота и глубина объема могут определяться компьютером. 3D объем может определять 3D зону обнаружения, в которой система хронометража будет получать видеоданные (например, видеокадры) для определения времени прохождения и для идентификации объекта, связанного со временем прохождения.
Тот же самый процесс калибровки может использоваться для установки и калибровки одной или более дополнительных систем 3D камер вдоль дорожки, чтобы каждая из этих систем 3D камер могла захватывать видеокадры объектов, проходящих через одну и ту же 3D зону обнаружения, под другим углом обзора. Системы камер могут (беспроводным способом) связываться друг с другом, чтобы процесс захвата видео можно было синхронизировать по времени. Таким образом, в один момент времени каждая из систем камер будет обрабатывать один или более видеокадров спортивной дорожки с метками времени, которые включают в себя 3D зону обнаружения, снятую с определенного угла обзора. Видеокадры с метками времени (и связанные с ними карты глубины) для различных углов обзора могут использоваться для определения времени прохождения объектов, проходящих через виртуальную плоскость, и идентификации объектов, для которых было определено время прохождения.
На фиг.5 изображена структурная схема способа калибровки системы хронометража согласно варианту осуществления изобретения. Этот способ можно использовать для калибровки системы хронометража, содержащей калибровочные маркеры, как описано со ссылкой на фиг.1 и фиг.4А. Как показано на структурной схеме, способ может начинаться с наведения системы трехмерной камеры системы хронометража на один или более калибровочных маркеров, расположенных на одной или на обеих сторонах дорожки. Один или более калибровочных маркеров могут указывать положение виртуальной плоскости, расположенной поперек спортивной дорожки (этап 502). Например, в случае двух калибровочных маркеров на противоположных сторонах дорожки виртуальная плоскость может располагаться между двумя маркерами. На следующем этапе 504 последовательность видеокадров может быть захвачена системой 3D камеры, при этом каждый видеокадр может представлять изображение сцены, включающей дорожку и маркеры калибровки.
После этого информация о глубине, такая как одна или более карт глубины, может быть определена на основе видеокадров; карта глубины может включать в себя информацию, касающуюся расстояния между одним или более объектами на изображении и системой 3D камеры (этап 506). Например, карта глубины может быть сгенерирована на основе двух видеокадров, сгенерированных двумя модулями камер в стереокамере, и отображение диспаратности может быть использовано для создания карты глубины, таким же образом, как описано со ссылкой на фиг.2 и 3 выше. Информация о глубине может включать в себя карту глубины, содержащую для каждого видеокадра (или по меньшей мере его существенной части) информацию, касающуюся расстояния между объектами в захваченных видеокадрах и 3D камерой. Информация о глубине может использоваться для определения расстояния между каждым из калибровочных маркеров и 3D камерой (этап 508). Затем могут быть вычислены координаты виртуальной плоскости, расположенной поперек трассы между калибровочными маркерами. Виртуальная плоскость может использоваться системой хронометража для определения времени прохождения объектов через виртуальную плоскость. Кроме того, вычисляются координаты 3D объема, ориентированного поперек спортивной трассы между калибровочными маркерами. 3D объем охватывает виртуальную плоскость и определяет объем обнаружения для определения времени прохождения и идентификации объекта, связанного с временем прохождения (этап 510). Координаты виртуальной плоскости и связанный с ней 3D объем зоны обнаружения могут быть сохранены в памяти системы хронометража (этап 512).
Как показано на фиг.4В, система хронометража больше не нуждается в калибровочных маркерах. Калиброванная система камеры будет использовать виртуальную плоскость в 3D зоне обнаружения для определения времени прохождения и одного или более идентификационных признаков объекта, проходящего через виртуальную плоскость. Этот процесс будет называться событием прохождения, которое будет описано более подробно со ссылкой на фиг.6 и 7.
Фиг. 6А и 6В изображают способ определения времени прохождения согласно варианту осуществления изобретения. На фиг.6А показаны три снимка движущегося объекта (в данном случае спортсмена), проходящего через 3D зону обнаружения системы хронометража, как описано со ссылкой на варианты осуществления этой заявки. 3D зона обнаружения может быть установлена с использованием способа калибровки, как описано выше со ссылкой на фиг.5. Как показано на фиг.6В, 3D зона 612 обнаружения включает в себя виртуальную плоскость 614, расположенную поперек дорожки, при этом нормаль к виртуальной плоскости по существу параллельна направлению спортивной дорожки. Виртуальная плоскость делит 3D зону обнаружения на первую часть 6161, в которой объект приближается к виртуальной плоскости и пересекает ее, и вторую часть 6162, в которой движущийся объект пересекает виртуальную плоскость и удаляется от нее.
Таким образом, когда объект движется вдоль дорожки, система 3D камеры будет захватывать изображения (пары изображений в случае стереокамеры) сцены, включающей 3D зону обнаружения. Для каждого изображения (видеокадра) система обработки трехмерных (3D) изображений может вычислить карту глубины. Алгоритм обнаружения и отслеживания объектов может использоваться для обнаружения и отслеживания заданного объекта, например, объекта-человека, или объекта, представляющего объект, в последующих видеокадрах. Известны алгоритмы обнаружения объектов. На основе карт глубины компьютер может определить, что обнаруженный объект входит в первую часть трехмерной зоны обнаружения. В этом случае компьютер может начать сохранять видеокадры и связанные с ними карты глубины в буфере до тех пор, пока объект не покинет 3D зону обнаружения через вторую часть. В другом варианте осуществления изобретения сохраняются только пары видеокадров, а карты глубины определяются позже. Эти видеокадры и карты глубины используются компьютером для определения времени прохождения и идентификации объекта, связанного со временем прохождения.
Фиг. 6А и 6В иллюстрируют способ определения времени прохождения согласно варианту осуществления изобретения. В частности, на фиг.6А изображен объект (в данном примере спортсмен), движущийся через 3D зону обнаружения системы 3D камеры. На фиг.6А изображены три образца 6021-3 последовательности видеокадров с метками времени, когда спортсмен перемещается через 3D зону обнаружения. Эти видеокадры сняты системой 3D камеры и сохранены в компьютере. Как показано на фиг.6В, первый видеокадр 6021 захвачен в момент времени Т1, то есть в то время, когда большая часть тела спортсмена все еще находилась в первой части 6021 3D зоны обнаружения. В момент времени Т2 захватывается второй видеокадр 602 г, когда спортсмен движется дальше и проходит виртуальную плоскость 614 3D зоны обнаружения. Наконец, в момент времени Т3 захватывается третий видеокадр 6023, в котором спортсмен переместился во вторую часть 6162 3D зоны обнаружения.
Модуль времени прохождения в компьютере системы хронометража может анализировать последовательность видеокадров с метками времени, чтобы определить, в какой момент времени спортсмен прошел виртуальную плоскость. С этой целью к каждому видеокадру может быть применен алгоритм обнаружения и классификации объектов. С этой целью алгоритм может определять области интереса видеокадра 6081-3 (ROI), которые принадлежат объекту. Кроме того, для каждой из этих областей интереса алгоритм может классифицировать пиксели как принадлежащие спортсмену или нет (принадлежащие фону). Кроме того, карта глубины, связанная с каждым из видеокадров, может использоваться для определения значений расстояния, принадлежащих тем пикселям, которые классифицируются как принадлежащие объекту. Эти значения расстояния можно сравнить с расстоянием между камерой и виртуальной плоскостью. Таким образом, когда система 3D камеры захватывает объект, пересекающий виртуальную плоскость, для каждого видеокадра может быть определена часть пикселей объекта, пересекающих виртуальную плоскость. Это видно на видеокадрах фиг.6А, где серые области определяют пиксели (части) объекта, которые пересекли виртуальную плоскость.
Для видеокадра в момент времени Т1 только пиксели 6041, представляющие часть руки, и пиксели 6061, представляющие обувь спортсмена, связаны со значениями расстояния, меньшими, чем расстояние между виртуальной плоскостью и системой 3D камеры. Аналогично, для видеокадра в момент времени Т2 пиксели 6041, представляющие часть верхней части тела, и пиксели 6062, представляющие часть ноги, связаны со значениями расстояния меньшими, чем расстояние между виртуальной плоскостью и системой 3D камеры. Наконец, для видеокадра в момент Т3 все пиксели 608, представляющие спортсмена, связаны со значениями расстояния, меньшими, чем расстояние между виртуальной плоскостью и системой 3D камеры. На основании этого анализа компьютер может определить, что в момент Т2 значительная часть тела спортсмена пересекла виртуальную плоскость. Например, компьютер может определить, что если часть объекта, которая пересекла виртуальную плоскость, больше определенного порогового значения, то в этом случае определяется, что спортсмен пересек плоскость. Следовательно, метка времени Т2 может в этом случае определять время прохождения 610, в данном примере 2:34. Могут быть определены различные правила, чтобы определить, пересек ли объект виртуальную плоскость.
На фиг.7 изображен способ идентификации хронометрируемого объекта согласно варианту осуществления изобретения. Как только установлено время прохождения объекта, можно установить идентичность объекта. С этой целью сохраненные видеокадры могут быть проанализированы модулем идентификации объекта. Области интереса (ROI) в видеокадрах могут быть подвергнуты процессу анализа признаков, который ищет предварительно определенные признаки в ROI. Например, как показано на фиг.7, ROI 703 видеокадра Т3 702 из фиг.6 может быть подвергнута обработке алгоритмом анализа признаков, который может быть сконфигурирован для идентификации предварительно определенных признаков, таких как заранее определенные маркеры, например, нагрудный номер 7041, или код, такой как код 704 г быстрого реагирования (QR, Quick Response). Может использоваться любой уникальный идентификационный признак, включая тип обуви 7043, биометрические маркеры, цветные маркеры или маркеры специальной формы или их комбинация. Анализ может быть выполнен на основе набора ROI из разных видеокадров во время прохождения 3D зоны обнаружения. Часто бывает так, что видеокадр, используемый для определения времени прохождения, не подходит для целей идентификации. Кроме того, модуль идентификации объекта может определить, что видеокадр с меткой времени (например, видеокадр в Т2 в примере на фиг.6), который представляет изображение объекта, пересекающего виртуальную плоскость, не подходит для надежной идентификации объекта. В этом случае можно определить, что один или более других видеокадров (например, видеокадр в Т3 в примере на фиг.6) подходят для надежной идентификации хронометрируемого объекта. Любой известный алгоритм обнаружения объектов может использоваться для идентификации признаков в области интереса (ROI), включая обычные алгоритмы машинного зрения, технологии машинного обучения и глубокого обучения. Например, в одном варианте осуществления изобретения одна или более глубоких нейронных сетей могут использоваться для определения ROI в видеокадре, который содержит объект, и для определения определенных признаков, связанных с объектом.
На фиг.8 изображена структурная схема способа определения времени прохождения согласно варианту осуществления изобретения. Как показано на этой фигуре, способ может начинаться с получения последовательности видеокадров, захваченных по меньшей мере одной системой камеры, предпочтительно системой 3D камеры, причем каждый видеокадр представляет изображение одного или более объектов, например, человека, животного или транспортного средства, движущихся вдоль дорожки, и каждый видеокадр имеет метку времени (этап 802). После этого информация о глубине, такая как одна или более карт глубины, может быть определена для последовательности видеокадров, при этом информация о глубине может включать в себя информацию, касающуюся расстояния между одним или более объектами на изображении видеокадра и системой камеры (этап 804). Как правило, система 3D камеры может быть стереокамерой, так что она создает пары видеокадров, которые можно использовать для определения карты глубины. После этого один или более объектов в видеокадрах могут быть обнаружены с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных алгоритмом обнаружения, определяют один или более обнаруженных объектов (этап 806). Таким образом, в каждом видеокадре может быть идентифицирован объект и определено расстояние между идентифицированным объектом и системой 3D камеры.
В варианте осуществления изобретения этап обнаружения объекта может включать в себя определение областей интереса (ROI), содержащих объект, и для каждой ROI обработку пикселей в ROI с помощью алгоритма классификации для классификации того, представляет ли пиксель часть объекта или часть фона.
Кроме того, может быть определен обнаруженный объект в видеокадрах, проходящий через линию хронометража, проходящую поперек спортивной дорожки, при этом линия хронометража определяется виртуальной плоскостью, расположенной поперек дорожки на заданном расстоянии от системы камеры, причем определение прохождения основано на координатах виртуальной плоскости и картах глубины (этап 808). Следовательно, расстояние между системой 3D камеры и виртуальной плоскостью можно сравнить с расстоянием между системой 3D камеры и обнаруженным объектом. Затем определяют время прохождения на основе момента времени, например метки времени, связанной с одним или более видеокадрами, содержащими обнаруженный объект, проходящий через линию хронометража (этап 810). Например, с этой целью может быть определен один или более видеокадров, в которых часть объекта, прошедшего через виртуальную плоскость, имеет определенные размеры.
Следовательно, можно использовать определенные правила для определения, прошел ли объект через виртуальную плоскость. Момент времени, например метка времени, связанная с видеокадром, который показывает эту ситуацию, определяет время прохождения. После этого алгоритм анализа признаков может быть применен к одному или более обнаруженным объектам в видеокадрах, при этом алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах (этап 812) и идентичность обнаруженного объекта, для которого время прохождения может быть определено на основе идентификационных признаков обнаруженного объекта, который прошел через линию хронометража.
В варианте осуществления изобретения алгоритм обнаружения объектов и алгоритм анализа признаков являются частью алгоритма машинного обучения, предпочтительно алгоритма глубокого обучения, такого как система сверточной глубокой нейронной сети, которая обучается обнаруживать один или более объектов в видеокадре и определять идентификационные признаки, связанные с обнаруженными объектами.
Таким образом, различные изображения из последовательности видеокадров могут быть использованы для идентификации объекта, пересекшего виртуальную плоскость в момент прохождения. Следовательно, видеокадр, используемый для определения времени прохождения объекта, может отличаться от одного или более видеокадров, которые используются для определения идентичности объекта.
На фиг.9 изображена система для определения времени прохождения согласно варианту осуществления изобретения. Как показано на фигуре, система содержит одну или более систем камер 9011,2, подключенных к компьютерной системе, которая сконфигурирована для управления системами камер и обработки видеокадров 9031,2, генерируемых системами камер. Каждая из систем камер калибруется в соответствии со способом калибровки, описанным в этой заявке, так что она захватывает сцену дорожки, включающую движущиеся объекты, которые проходят через линию хронометража, представленную виртуальной плоскостью 902. Компьютерная система может содержать анализатор 904 событий для выполнения обнаружения объектов и анализа признаков объектов в видеокадрах с использованием подходящего алгоритма. Кроме того, анализатор событий может генерировать информацию о глубине, например карты глубины, связанные с видеокадрами. Модуль 906 прохождения может определять время прохождения на основании информации о глубине и координатах виртуальной плоскости. Кроме того, модуль 908 идентификации объекта может идентифицировать объекты, которые обнаруживаются и связываются со временем прохождения модулем времени прохождения. Значения времени прохождения и идентификаторы (ID) объекта, который прошел, могут сохраняться в памяти компьютера. Кроме того, может сохраняться изображение прохождения хронометрируемого объекта. Эта информация может передаваться через (беспроводной) интерфейс 912 на сетевой сервер 914.
На фиг.10 показаны некоторые иллюстративные изображения объектов, проходящих через линию хронометража системы хронометража согласно варианту осуществления изобретения. Как показано на этих изображениях, средства калибровки используются для установки виртуальной плоскости между маркерами. Плоскость расположена перпендикулярно дорожке, чтобы такие объекты как спортсмены могли пересекать ее. На изображениях также показано, что система хронометража способна обнаруживать во время прохождения объекта часть объекта, прошедшую виртуальную плоскость (обозначенную белыми частями), и часть объекта, не прошедшую линию финиша.
Фиг. 11 представляет собой блок-схему, иллюстрирующую пример систем обработки данных, описанных в настоящем документе. Система 1100 обработки данных может содержать по меньшей мере один процессор 1102, соединенный с элементами 1104 памяти через системную шину 1106. Таким образом, система обработки данных может хранить программный код в элементах 1104 памяти. Кроме того, процессор 1102 может выполнять программный код, полученный из элементов 1104 памяти через системную шину 1106. В одном аспекте система обработки данных может быть реализована в виде компьютера, подходящего для хранения и/или выполнения программного кода. Однако следует понимать, что система 2100 обработки данных может быть реализована в виде любой системы, содержащей процессор и память, которая способна выполнять функции, описанные в этом описании.
Элементы 1104 памяти могут включать в себя одно или более устройств физической памяти, таких как, например, локальная память 1108 и одно или более запоминающих устройств 1110 большого объема. Локальная память может относиться к оперативной памяти или другому устройству (устройствам) непостоянной памяти, обычно используемым во время фактического выполнения программного кода. Устройство хранения данных может быть реализовано как жесткий диск или другое постоянное устройство хранения данных. Система 1100 обработки может также включать в себя одну или более кэш-памятей (не показанных), которые обеспечивают временное хранение по меньшей мере некоторого программного кода, чтобы уменьшить количество раз, когда программный код должен извлекаться из устройства 1110 хранения данных во время выполнения.
Устройства ввода/вывода (I/O, Input/Output), изображенные как устройство 1112 ввода и устройство 1114 вывода, могут быть опционально подключены к системе обработки данных. Примеры устройства ввода могут включать в себя, но не ограничиваются ими, например, клавиатуру, указывающее устройство, такое как мышь, и т.п. Примеры устройства вывода могут включать, но не ограничиваются ими, например, монитор или дисплей, громкоговорители и т.п. Устройство ввода и/или устройство вывода могут быть связаны с системой обработки данных либо напрямую, либо через промежуточные контроллеры ввода/вывода (I/O). Сетевой адаптер 1116 также может быть соединен с системой обработки данных, чтобы обеспечить ее связь с другими системами, компьютерными системами, удаленными сетевыми устройствами и/или удаленными устройствами хранения данных через промежуточные частные или общедоступные сети. Сетевой адаптер может содержать приемник данных для приема данных, которые передаются упомянутыми системами, устройствами и/или сетями для упомянутых данных, и передатчик данных для передачи данных в упомянутые системы, устройства и/или сети. Модемы, кабельные модемы и Ethernet-карты являются примерами различных типов сетевых адаптеров, которые могут использоваться с системой 1100 обработки данных.
Как показано на фиг.11, элементы 1104 памяти могут хранить приложение 1118. Следует понимать, что система 1100 обработки данных может дополнительно выполнять операционную систему (не показанную), которая может облегчить выполнение приложения. Приложение, реализованное в виде исполняемого программного кода, может выполняться системой 1100 обработки данных, например, процессором 1102. В ответ на выполнение приложения система обработки данных может быть сконфигурирована для выполнения одной или более операций, которые подробно описаны в данном документе.
В одном аспекте, например, система 1100 обработки данных может представлять клиентскую систему обработки данных. В этом случае приложение 1118 может представлять собой клиентское приложение, которое при выполнении конфигурирует систему 2100 обработки данных для выполнения различных функций, описанных здесь со ссылкой на "клиента". Примеры клиента могут включать, помимо прочего, персональный компьютер, портативный компьютер, мобильный телефон и т.п.
В другом аспекте система обработки данных может представлять собой сервер. Например, система обработки данных может представлять собой сервер (обработки запросов по протоколу передачи гипертекстовых данных (HTTP, Hypertext Transfer Protocol)), и в этом случае приложение 1118 при выполнении может конфигурировать систему обработки данных для выполнения операций сервера (HTTP). В другом аспекте система обработки данных может представлять собой модуль, блок или функцию, как указано в данном описании.
Используемая здесь терминология предназначена только для описания конкретных вариантов осуществления и не предназначена для ограничения изобретения. Используемые здесь формы единственного числа предназначены также для включения форм множественного числа, если в контексте явно не указано иное. Кроме того, следует понимать, что термины "содержит" и/или "содержащий" при использовании в данном описании определяют наличие заявленных признаков, целых, этапов, операций, элементов и/или компонентов, но не исключают наличия или добавление одного или более других признаков, целых, этапов, операций, элементов, компонентов и/или их групп.
Соответствующие структуры, материалы, действия и эквиваленты всех средств или этапов плюс функциональные элементы в формуле изобретения, приведенной ниже, предназначены для включения любой конструкции, материала или действия для выполнения функции в сочетании с другими заявленными элементами, как конкретно заявлено. Описание настоящего изобретения было представлено в целях иллюстрации и описания, но не предназначено быть исчерпывающим или ограничивающим изобретение в раскрытой форме. Специалистам в данной области техники будут очевидны многие модификации и вариации, не выходящие за рамки объема и сущности изобретения. Вариант осуществления изобретения был выбран и описан для того, чтобы наилучшим образом объяснить принципы изобретения и его практическое применение и дать возможность другим специалистам в данной области техники понять изобретение для различных вариантов осуществления с различными модификациями, которые подходят для конкретного предполагаемого использования.
Изобретение относится к области вычислительной техники. Технический результат направлен на повышение точности определения времени прохождения объекта. Способ определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, включающий: прием видеокадров, определение информации о глубине, обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, определение по меньшей мере одного обнаруженного объекта по меньшей мере в части видеокадров, при этом по меньшей мере один обнаруженный объект проходит через линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определена виртуальной плоскостью, расположенной поперек дорожки на заранее заданном расстоянии от системы камеры, и определение прохождения объекта основано на координатах виртуальной плоскости и информации о глубине, и определение времени прохождения на основе одного или более моментов времени одного или более видеокадров, содержащих по меньшей мере один обнаруженный объект, проходящий линию хронометража. 6 н. и 8 з.п. ф-лы, 13 ил.
1. Способ определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, включающий:
прием видеокадров, предпочтительно последовательности видеокадров, захваченных по меньшей мере одной системой камеры, предпочтительно системой 3D-камеры, причем каждый видеокадр представляет изображение сцены с одним или более объектами, например, человеком, животным или транспортным средством, движущимися вдоль дорожки, и каждый видеокадр связан с моментом времени, например, имеет метку времени;
определение информации о глубине, например, одной или более карт глубины, по меньшей мере для части видеокадров, при этом информация о глубине содержит информацию, касающуюся расстояния между по меньшей мере одним из одного или более объектов на изображении видеокадра и системой камеры;
обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных алгоритмом обнаружения, определяют один или более обнаруженных объектов;
определение по меньшей мере одного обнаруженного объекта по меньшей мере в части видеокадров, при этом по меньшей мере один обнаруженный объект проходит через линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определена виртуальной плоскостью, расположенной поперек дорожки на заранее заданном расстоянии от системы камеры, и определение прохождения объекта основано на координатах виртуальной плоскости и информации о глубине; и
определение времени прохождения на основе одного или более моментов времени одного или более видеокадров, содержащих по меньшей мере один обнаруженный объект, проходящий линию хронометража.
2. Способ по п. 1, дополнительно включающий:
применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; и
определение идентичности обнаруженного объекта, для которого определяют время прохождения, на основе идентификационных признаков обнаруженного объекта, прошедшего линию хронометража.
3. Способ по п. 2, в котором идентификационные признаки обнаруженного объекта включают в себя один или более оптически читаемых идентификационных маркеров, таких как нагрудный номер или печатная метка; и/или одну или более характеристик формы и/или цвета обнаруженного объекта; и/или, если обнаруженный объект является животным или человеком, один или более биометрических идентификаторов обнаруженного объекта.
4. Способ по п. 2 или 3, в котором алгоритм обнаружения объектов и алгоритм анализа признаков являются частью алгоритма машинного обучения, предпочтительно алгоритма глубокого обучения, такого как система сверточной глубокой нейронной сети, которая обучается обнаруживать один или более объектов в видеокадре и определять идентификационные признаки, связанные с обнаруженными объектами.
5. Способ по любому из пп. 1-4, в котором обнаружение одного или более объектов в видеокадрах включает:
определение одной или более областей интереса (ROI) в видеокадре, при этом каждая область ROI содержит пиксели, представляющие объект;
определение идентификационных признаков в одной или более областях ROI; и
определение объекта в ROI на основе идентификационных признаков, которые определены.
6. Способ по любому из пп. 1-5, в котором система камеры содержит множество модулей камер, предпочтительно два модуля камер, образующих стереокамеру, при этом стереокамера выполнена с возможностью формировать в каждый момент времени по меньшей мере первый видеокадр и второй видеокадр сцены, и карту глубины определяют на основе алгоритма отображения диспаратности, сконфигурированного для определения диспаратности между пикселями первого и второго видеокадра.
7. Способ по любому из пп. 1-6, в котором время прохождения определяют на основе видеокадра сцены, в которой заданная часть обнаруженного объекта прошла виртуальную плоскость.
8. Способ определения времени прохождения объектов через линию хронометража, проходящую поперек спортивной дорожки, включающий:
прием видеокадров от множества систем камер, предпочтительно синхронизированных по времени, при этом множество систем камер захватывают сцену спортивной дорожки с разных углов обзора, причем видеокадры представляют собой изображения сцены, содержащей один или
более объектов, например, человека, животного или транспортного средства, движущихся вдоль дорожки, при этом каждый из видеокадров связан с моментом времени, например, имеет метку времени;
определение информации о глубине, например, одной или более карт глубины, на основе принятых видеокадров, при этом информация о глубине содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра и по меньшей мере одной из множества систем камер;
обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных алгоритмом обнаружения, определяют один или более обнаруженных объектов;
определение по меньшей мере одного обнаруженного объекта по меньшей мере в части видеокадров, причем по меньшей мере один обнаруженный объект проходит через линию хронометража, проходящую поперек спортивной дорожки, при этом линия хронометража определена виртуальной плоскостью, расположенной поперек дорожки на заранее заданных расстояниях от множества систем камер, и определение прохождения объекта основано на координатах виртуальной плоскости и информации о глубине; и
определение времени прохождения на основе одного или более моментов времени одного или более видеокадров, содержащих по меньшей мере один обнаруженный объект, проходящий через линию хронометража.
9. Способ по п. 8, дополнительно включающий:
применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа
признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; и
определение идентичности обнаруженного объекта, для которого определяют время прохождения, на основе идентификационных признаков обнаруженного объекта, который прошел линию хронометража.
10. Способ калибровки системы хронометража, сконфигурированной для определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, при этом способ включает:
прием видеокадров, предпочтительно последовательности видеокадров, захваченных системой камеры, предпочтительно системой 3D-камеры, упомянутой системы хронометража, при этом каждый видеокадр представляет собой изображение сцены, включающей дорожку и один или более калибровочных маркеров, предпочтительно по меньшей мере два калибровочных маркера, расположенных на противоположных сторонах дорожки;
определение информации о глубине, например, одной или более карт глубины, на основе видеокадров, причем информация о глубине содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра;
использование информации о глубине для определения расстояния между по меньшей мере одним калибровочным маркером и системой камеры;
определение координат виртуальной плоскости, расположенной поперек дорожки в месте расположения одного или более калибровочных маркеров, предпочтительно между по меньшей мере двумя калибровочными маркерами, расположенными на противоположных сторонах дорожки, при этом виртуальная плоскость определяет линию хронометража для системы хронометража; и
сохранение координат виртуальной плоскости в памяти системы хронометража.
11. Система для определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, содержащая:
по меньшей мере одну систему камеры, подключенную к компьютеру;
компьютер, содержащий машиночитаемый носитель данных, имеющий воплощенный на нем машиночитаемый программный код, и процессор, предпочтительно микропроцессор, соединенный с машиночитаемым носителем данных,
при этом в ответ на выполнение машиночитаемого программного кода процессор конфигурируется для выполнения исполняемых операций, включающих:
прием видеокадров, предпочтительно последовательности видеокадров, фиксируемых по меньшей мере одной системой камеры, предпочтительно системой 3D-камеры, причем каждый видеокадр представляет собой изображение сцены с одним или более объектами, например, человеком, животным или транспортным средством, движущимися вдоль дорожки, и каждый видеокадр связан с моментом времени, например, имеет метку времени;
определение информации о глубине, например, одной или более карт глубины, по меньшей мере для части видеокадров, при этом информация о глубине содержит информацию, касающуюся расстояния между по меньшей мере одним из одного или более объектов в изображении видеокадра и системой камеры;
обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных с помощью алгоритма обнаружения, определяет один или более обнаруженных объектов;
определение по меньшей мере одного обнаруженного объекта по меньшей мере в части видеокадров, при этом по меньшей мере один обнаруженный объект проходит через линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определяется виртуальной плоскостью, расположенной поперек дорожки на заданном расстоянии от системы камеры, и определение прохождения основано на координатах виртуальной плоскости и информации о глубине; и
определение времени прохождения на основе одного или более моментов времени одного или более видеокадров, содержащих по меньшей мере один обнаруженный объект, проходящий через линию хронометража.
12. Система по п. 11, в которой выполняемые операции дополнительно включают:
применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; и
определение идентичности обнаруженного объекта, для которого определяется время прохождения, на основе идентификационных признаков обнаруженного объекта, прошедшего линию хронометража.
13. Калибровочный модуль для системы хронометража, сконфигурированной для определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, причем модуль содержит:
прием видеокадров, предпочтительно последовательности видеокадров, захваченных системой камеры, предпочтительно системой 3D-камеры, системы хронометража, причем каждый видеокадр представляет собой изображение сцены, включающей дорожку и один или более калибровочных маркеров, предпочтительно не менее двух калибровочных маркеров, расположенных на противоположных сторонах дорожки;
определение информации о глубине, например, одной или более карт глубины, на основе видеокадров, причем информация о глубине содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра;
использование информации о глубине для определения расстояния между по меньшей мере одним калибровочным маркером и системой камеры;
определение координат виртуальной плоскости, расположенной поперек дорожки в месте расположения одного или более калибровочных маркеров, предпочтительно между по меньшей мере двумя калибровочными маркерами, расположенными на противоположных сторонах дорожки, при этом виртуальная плоскость определяет линию хронометража для системы хронометража; и
сохранение координат виртуальной плоскости в памяти системы хронометража.
14. Машиночитаемый носитель данных, на котором хранится по меньшей мере одна часть программного обеспечения, которая при выполнении или обработке компьютером сконфигурирована для выполнения этапов способа по любому из пп. 1-9.
US 6433817 B1, 13.08.2002 | |||
US 9291713 B2, 22.03.2016 | |||
US 9615015 B2, 04.04.2017 | |||
Фотофиниш | 1990 |
|
SU1777650A3 |
Авторы
Даты
2024-02-12—Публикация
2020-09-14—Подача