RU2813497C1 - Sports timing based on camera system - Google Patents

Sports timing based on camera system Download PDF

Info

Publication number
RU2813497C1
RU2813497C1 RU2022108642A RU2022108642A RU2813497C1 RU 2813497 C1 RU2813497 C1 RU 2813497C1 RU 2022108642 A RU2022108642 A RU 2022108642A RU 2022108642 A RU2022108642 A RU 2022108642A RU 2813497 C1 RU2813497 C1 RU 2813497C1
Authority
RU
Russia
Prior art keywords
video frames
objects
track
determining
timing
Prior art date
Application number
RU2022108642A
Other languages
Russian (ru)
Inventor
Адриан Клас ВЕРВУРД
Тайлор Далтон ХОСТ
Ямес Александер ВИЛДЕ
Кинг-Хей ФЮНГ
Кай Вайне ФОНГ
Йохн Зин Ханг ХО
Беньямин Стюарт РОСС
Original Assignee
Майлапс Б.В.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майлапс Б.В. filed Critical Майлапс Б.В.
Application granted granted Critical
Publication of RU2813497C1 publication Critical patent/RU2813497C1/en

Links

Abstract

FIELD: computer technology.
SUBSTANCE: method for determining the time of passage of an object through a timing line running across a sports track, including: receiving video frames, determining depth information, detecting one or more objects in the video frames using an object detection algorithm, determining at least one detected object in at least a portion of the video frames wherein at least one detected object passes through a timing line extending across the track, wherein the timing line is defined by a virtual plane located across the track at a predetermined distance from the camera system, and the determination of the object's passage is based on the coordinates of the virtual plane and depth information, and determining a transit time based on one or more times of one or more video frames containing at least one detected object passing the timing line.
EFFECT: increasing the accuracy of determining the time of passage of an object.
14 cl, 13 dwg

Description

Область техникиTechnical field

Настоящее изобретение относится к спортивному хронометражу на основе системы камер и, в частности, но не исключительно, к способам и системам спортивного хронометража на основе системы камер, а также к компьютерному программному продукту, позволяющему компьютерной системе выполнять такие способы.The present invention relates to camera system-based sports timing, and particularly, but not exclusively, to camera system-based sports timing methods and systems, as well as a computer program product enabling a computer system to perform such methods.

Предпосылки создания изобретенияPrerequisites for creating the invention

Спортивные мероприятия, такие как автомобильные гонки или мотогонки, велоспорт, легкая атлетика, дроны и катание на коньках, обычно требуют точной и быстрой регистрации времени для отслеживания объектов (людей или транспортных средств) во время мероприятия. Такая система хронометража обычно основана на системе радиочастотной идентификации (RFID, Radio Frequency IDentification), в которой каждому участнику мероприятия предоставляется транспондер RFID, например, метка обратного рассеяния ультравысокой частоты (UHF, Ultra High Frequncy) или метка низкой частоты (LF, Low Frequency) на основе магнитной индукции, которые могут быть считаны считывателями RFID, расположенными вдоль трассы. Такие считыватели могут быть выполнены в виде антенного коврика, боковых антенн и/или антенн, установленных на раме над дорожкой. Каждый транспондер настроен на передачу пакетов на определенной частоте и вставку в пакет уникального идентификатора, чтобы детектор мог связать пакет с определенным передатчиком.Sports events such as car or motorcycle racing, cycling, athletics, drones and ice skating typically require accurate and fast time recording to track objects (people or vehicles) during the event. This timing system is typically based on an RFID (Radio Frequency IDentification) system, in which each event participant is provided with an RFID transponder, such as a UHF (Ultra High Frequency) backscatter tag or a Low Frequency (LF) tag. based on magnetic induction, which can be read by RFID readers located along the route. Such readers can be made in the form of an antenna mat, side antennas and/or antennas mounted on a frame above the track. Each transponder is configured to transmit packets on a specific frequency and insert a unique identifier into the packet so that the detector can associate the packet with a specific transmitter.

Когда участник входит в зону обнаружения считывателя, транспондер начинает передавать сигналы, которые будут приняты считывателем. Сигналы могут иметь временные метки, чтобы алгоритм в считывателе мог определять время прохождения на основе одного или более принятых сигналов прохождения. В настоящее время технология RFID может использоваться для создания очень надежных систем учета времени для массовых мероприятий с надежностью 99,8% и более. Точно так же технология RFID может использоваться для создания очень точных систем хронометража, позволяющих определять время прохождения с погрешностью менее сотой доли секунды.When a participant enters the reader's detection zone, the transponder begins to transmit signals that will be received by the reader. The signals may be time stamped so that an algorithm in the reader can determine the transit time based on one or more received transit signals. RFID technology can now be used to create highly reliable timekeeping systems for public events, with reliability of 99.8% or more. Similarly, RFID technology can be used to create highly accurate timing systems, allowing passage times to be determined with an accuracy of less than a hundredth of a second.

При обеспечении надежных и точных систем хронометража система RFID имеет определенные недостатки. Один недостаток связан с тем, что каждый участник должен иметь транспондер. Таким образом, перед марафоном каждому участнику предоставляется нагрудный номер (BIB), который включает в себя UHF метку, сконфигурированную для передачи идентификатора (ID), однозначно связанного с идентификатором BIB. Дополнительные недостатки связаны с тем, что UHF метки, передающие и принимающие сигналы, довольно чувствительны к воздействиям окружающей среды, включая отражение и поглощение объектами и конфликты (например, когда большое количество UHF меток одновременно передают сигналы, которые должны быть уловлены считывателем). Кроме того, рабочая частота меток близка к рабочей частоте других мобильных устройств, что может вызывать нежелательные влияния помех.While providing reliable and accurate timing systems, the RFID system has certain disadvantages. One drawback is that each participant must have a transponder. Thus, before the marathon, each participant is provided with a bib number (BIB), which includes a UHF tag configured to convey an identifier (ID) uniquely associated with the BIB identifier. Additional disadvantages arise from the fact that UHF tags transmitting and receiving signals are quite sensitive to environmental influences, including reflection and absorption by objects and collisions (for example, when a large number of UHF tags simultaneously transmit signals that must be picked up by the reader). In addition, the operating frequency of the tags is close to the operating frequency of other mobile devices, which may cause unwanted interference effects.

В предшествующем уровне техники было предложено использовать систему хронометража с помощью видеосистемы, т.е. систему хронометража, основанную на анализе информации, полученной одной или более камерами, которые фиксируют временной ряд видеокадров участников соревнования. Например, в документе US 6433817 описывается система камеры для измерения прохождения участником виртуальной линии финиша. Камера включает в себя камеру, которая способна захватывать изображения в формате "красный, зеленый и синий" (RGB, Red Green Blue) и инфракрасные (IR, Infra Red) изображения. IR-изображения генерируются лазером, передающим IR-импульсы к линии финиша. Таким образом, камера может определять информацию о глубине, связанную с объектами, например, участниками, проходящими через линию финиша. Аналогичным образом, в документе DE 102006006667 представлена система высокого уровня на базе системы камер для хронометража массового соревнования, такого как марафон.In the prior art it has been proposed to use a timing system using a video system, i.e. a timing system based on the analysis of information received by one or more cameras that record a time series of video frames of competition participants. For example, US 6,433,817 describes a camera system for measuring a participant's progress through a virtual finish line. The camera includes a camera that is capable of capturing RGB (Red Green Blue) and infrared (IR) images. IR images are generated by a laser that transmits IR pulses to the finish line. In this way, the camera can detect depth information associated with objects, such as competitors passing the finish line. Likewise, DE 102006006667 presents a high-level system based on a camera system for timing a mass competition such as a marathon.

В этом документе решается проблема, связанная с тем, что в массовых соревнованиях большое число участников одновременно или почти одновременно пересекают линию финиша. В документе предлагается использовать множество маркеров участников, чтобы система могла идентифицировать каждого участника. Хотя в общем это может показаться разумным решением, оно не описывает реализацию такой системы. Реализация системы хронометража с помощью видеосистемы, отвечающая требованиям надежности и точности, необходимым для профессионального использования, не является тривиальной задачей.This document addresses the problem that in mass competitions a large number of participants cross the finish line at the same time or almost simultaneously. The paper suggests using multiple participant tokens so that the system can identify each participant. While this may seem like a reasonable solution in general, it does not describe the implementation of such a system. Implementing a video timing system that meets the reliability and accuracy requirements required for professional use is not a trivial task.

Например, Lynx technologies является одной из фирм, которые в настоящее время продают систему хронометража на основе камеры. Эта система включает в себя (ультра-) высокоскоростную камеру фотофиниша для определения времени прохождения, расположенную параллельно линии финиша, в сочетании с видеокамерой, расположенной перед линией финиша, для идентификации различных объектов, проходящих через линию финиша (почти) одновременно. Камера фотофиниша не подходит для массовых мероприятий, так как слишком много участников невозможно идентифицировать визуально. Кроме того, высокоскоростные камеры очень дороги и поэтому не подходят для простого определения времени прохождения для массовых видов соревнований в многочисленных точках вдоль трассы. Такая система камер не может конкурировать с надежностью, точностью и стоимостью, предлагаемыми в настоящее время системами хронометража на основе RFID.For example, Lynx technologies is one of the firms that currently sells a camera-based timing system. This system includes an (ultra-) high-speed photo finish timing camera positioned parallel to the finish line, combined with a video camera positioned in front of the finish line to identify various objects passing the finish line (almost) simultaneously. A photo finish camera is not suitable for mass events because too many participants cannot be visually identified. In addition, high-speed cameras are very expensive and therefore not suitable for easily determining lap times for mass events at multiple points along the course. Such a camera system cannot compete with the reliability, accuracy, and cost of RFID-based timing systems currently offered.

Таким образом, из вышеизложенного следует, что в данной области техники существует потребность в улучшенном хронометраже спортивных соревнований с помощью видеосистемы, которая позволяет надежно определять время прохождения и идентифицировать участников спортивного соревнования, особенно спортивного соревнования с большим количеством участников. В частности, в данной области техники существует потребность в хронометраже спортивных соревнований с помощью видеосистемы, который был бы быстрым, надежным, легким в настройке и простым в использовании.Thus, it follows from the above that there is a need in the art for improved timing of sports competitions using a video system that allows reliable timing and identification of participants in a sports competition, especially a sports competition with a large number of participants. In particular, there is a need in the art for video timing of sports events that is fast, reliable, easy to set up, and easy to use.

Сущность изобретенияThe essence of the invention

Как будет понятно специалистам в данной области техники, аспекты настоящего изобретения могут быть воплощены в виде системы, способа или компьютерного программного продукта.As will be appreciated by those skilled in the art, aspects of the present invention may be embodied in the form of a system, method, or computer program product.

Соответственно, аспекты настоящего изобретения могут принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления (включая микропрограммное обеспечение, резидентное программное обеспечение, микрокод и т.д.) или варианта осуществления, сочетающего программные и аппаратные аспекты, которые в общем случае могут называться здесь как "схема", "модуль" или "система". Функции, описанные в этом документе, могут быть реализованы в виде алгоритма, выполняемого микропроцессором компьютера. Кроме того, аспекты настоящего изобретения могут принимать форму компьютерного программного продукта, воплощенного на одном или более машиночитаемых носителях, имеющих машиночитаемый программный код, например, сохраненный на нем.Accordingly, aspects of the present invention may take the form of an all-hardware embodiment, an all-software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, which may generally be referred to herein as "circuit", "module" or "system". The functions described in this document may be implemented as an algorithm executed by a computer microprocessor. In addition, aspects of the present invention may take the form of a computer program product embodied on one or more computer-readable media having computer-readable program code, for example, stored thereon.

Может быть использована любая комбинация одного или более машиночитаемых носителей. Машиночитаемый носитель может быть машиночитаемым носителем в виде сигнала или машиночитаемым носителем для хранения данных. Машиночитаемый носитель данных может быть, например, но, не ограничиваясь этим, электронной, магнитной, оптической, электромагнитной, инфракрасной или полупроводниковой системой, аппаратом или устройством, или любой подходящей комбинацией вышеперечисленного. Более конкретные примеры (неполный список) машиночитаемых носителей данных могут включать следующее: электрическое соединение с одним или более проводами, переносную компьютерную дискету, жесткий диск, оперативную память (RAM, Random Access Memory), постоянную память (ROM, Read-Only Memory), стираемую программируемую постоянную память (EPROM, Erasable Programmable Read-Only Memory) или флэш-память, оптическое волокно, компакт-диск, предназначенным только для чтения (CD-ROM, Compact Disk Readonly Memory), оптическое запоминающее устройство, магнитное запоминающее устройство или любую подходящую комбинацию вышеперечисленного. В контексте этого документа машиночитаемый носитель данных может быть любым материальным носителем, который может содержать или хранить программу для использования системой, аппаратурой или устройством выполнения команд или в связи с ними.Any combination of one or more computer-readable media may be used. The computer-readable medium may be a computer-readable medium in the form of a signal or a computer-readable medium for storing data. A computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus or device, or any suitable combination thereof. More specific examples (not an exhaustive list) of computer-readable storage media may include the following: an electrical connection with one or more wires, a portable computer diskette, a hard disk, random access memory (RAM), read-only memory (ROM), EPROM (Erasable Programmable Read-Only Memory) or flash memory, optical fiber, CD-ROM (Compact Disk Readonly Memory), optical storage device, magnetic storage device or any a suitable combination of the above. As used herein, a computer-readable storage medium can be any tangible medium that can contain or store a program for use by or in connection with a system, hardware, or instruction execution device.

Машиночитаемый носитель в виде сигнала может включать в себя распространяющийся сигнал данных с воплощенным в нем машиночитаемым программным кодом, например, в основной полосе частот или как часть несущей волны. Такой распространяющийся сигнал может принимать любую из множества форм, включая, помимо прочего, электромагнитную, оптическую или любую их подходящую комбинацию. Машиночитаемый носитель сигналов может быть любым машиночитаемым носителем, который не является машиночитаемой средой для хранения данных и который может передавать, распространять или транспортировать программу для использования системой, прибором или устройством выполнения команд или в связи с ними.The computer-readable medium in the form of a signal may include a propagating data signal with computer-readable program code embodied therein, for example, in a baseband or as part of a carrier wave. Such a propagating signal may take any of a variety of forms, including, but not limited to, electromagnetic, optical, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium that is not a computer-readable data storage medium and that can transmit, distribute, or transport a program for use by or in connection with a system, instrument, or command execution device.

Программный код, воплощенный на машиночитаемом носителе, может быть передан с использованием любого подходящего носителя, включая, помимо прочего, беспроводную связь, проводную связь, оптическое волокно, кабель, радиочастоту и т.п.или любую подходящую комбинацию вышеперечисленного. Компьютерный программный код для выполнения операций для аспектов настоящего изобретения может быть написан на любой комбинации одного или более языков программирования, включая функциональный или объектно-ориентированный язык программирования, такой как Java(TM), Scala, С++, Python и т.п. и обычные процедурные языки программирования, такие как язык программирования С или подобные языки программирования. Программный код может выполняться полностью на компьютере пользователя, частично на компьютере пользователя, как отдельный пакет программ, частично на компьютере пользователя и частично на удаленном компьютере, или полностью на удаленном компьютере, сервере или виртуализированном сервере. В последнем случае удаленный компьютер может быть подключен к компьютеру пользователя через сеть любого типа, включая локальную сеть (LAN, Local Area Network) или глобальную сеть (WAN, Wide Area Network), или подключение может быть выполнено к внешнему компьютеру (например, через Интернет с помощью интернет-провайдера).The program code embodied on a computer-readable medium may be transmitted using any suitable medium, including, but not limited to, wireless communication, wired communication, optical fiber, cable, radio frequency, or the like, or any suitable combination thereof. The computer program code for performing the operations for aspects of the present invention may be written in any combination of one or more programming languages, including a functional or object-oriented programming language such as Java(TM), Scala, C++, Python, and the like. and conventional procedural programming languages, such as the C programming language or similar programming languages. The software code may run entirely on the user's computer, partially on the user's computer as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer, server, or virtualized server. In the latter case, the remote computer can be connected to the user's computer through any type of network, including a local network (LAN, Local Area Network) or a wide area network (WAN, Wide Area Network), or the connection can be made to an external computer (for example, via the Internet using your internet service provider).

Аспекты настоящего изобретения описаны ниже со ссылкой на иллюстрации структурных схем и/или блок-схемы способов, устройств (систем) и компьютерных программных продуктов в соответствии с вариантами осуществления изобретения. Следует понимать, что каждый блок структурных схем и/или блок-схем и комбинации блоков в иллюстрациях структурных схем и/или блок-схемах могут быть реализованы командами компьютерной программы. Эти команды компьютерной программы могут быть предоставлены процессору, в частности микропроцессору или центральному процессору (CPU, Central Processing Unit), или графическому процессору (GPU, Graphics Processing Unit), компьютеру общего назначения, компьютеру специального назначения или другому программируемому устройству обработки данных или другим устройствам, которые создают средства для реализации функций/действий, указанных в блоке или блоках структурной схемы и/или блок-схемы.Aspects of the present invention are described below with reference to illustrations of block diagrams and/or block diagrams of methods, devices (systems), and computer program products in accordance with embodiments of the invention. It should be understood that each block diagram and/or block diagram and combination of blocks in the block diagram illustrations and/or block diagrams may be implemented by computer program instructions. These computer program instructions may be provided to a processor, in particular a microprocessor or central processing unit (CPU, or GPU, Graphics Processing Unit), a general purpose computer, a special purpose computer, or other programmable data processing device, or other devices , which create means for implementing the functions/actions specified in the block or blocks of a block diagram and/or flowchart.

Эти команды для компьютерных программ также могут храниться на машиночитаемом носителе, который может указывать компьютеру, другому программируемому устройству обработки данных или другим устройствам функционировать определенным образом, так что команды, хранящиеся на машиночитаемом носителе, создают промышленное изделие, включающее команды, которые реализуют функцию/действие, указанные в блоке или блоках структурной схемы и/или блок-схемы.These computer program instructions may also be stored on a computer readable medium that may direct a computer, other programmable data processing device, or other devices to operate in a particular manner, such that the instructions stored on the computer readable medium create an article of manufacture including instructions that implement a function/action , specified in the block or blocks of the block diagram and/or block diagram.

Команды компьютерной программы также могут быть загружены в компьютер, другое программируемое устройство обработки данных или другие устройства, чтобы обеспечить выполнение ряда рабочих шагов на компьютере, другом программируемом устройстве или других устройствах для создания реализуемого компьютером процесса, так что команды, которые выполняются на компьютере или другом программируемом устройстве, обеспечивают процессы для реализации функций/действий, указанных в блоке или блоках структурной схемы и/или блок-схемы.Computer program instructions may also be loaded into a computer, other programmable data processing device, or other devices to cause a series of operating steps to be performed on the computer, other programmable device, or other devices to create a computer-implemented process such that the instructions that are executed on the computer or other programmable device, provide processes for implementing the functions/actions specified in the block or blocks of the block diagram and/or block diagram.

Структурные схемы и блок-схемы на фигурах иллюстрируют архитектуру, функциональные возможности и работу возможных реализаций систем, способов и компьютерных программных продуктов согласно различным вариантам осуществления настоящего изобретения. В связи с этим каждый блок на структурной схеме или блок-схеме может представлять модуль, сегмент или часть кода, которая включает в себя одну или более исполняемых команд для реализации заданной(-ых) логической(-их) функции (функций). Следует также отметить, что в некоторых альтернативных реализациях функции, указанные в блоках, могут выполняться не в порядке, указанном на фигурах. Например, два последовательно показанных блока фактически могут выполняться по существу одновременно, или иногда блоки могут выполняться в обратном порядке, в зависимости от задействованной функциональности. Следует также отметить, что каждый блок иллюстраций структурных схем и/или блок-схем и комбинации блоков в иллюстрациях структурных схем и/или блок-схем могут быть реализованы аппаратными системами специального назначения, которые выполняют упомянутые функции или действия, или комбинации специального оборудования и компьютерных команд.The block diagrams and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products in accordance with various embodiments of the present invention. In this regard, each block in a block diagram or block diagram may represent a module, segment, or portion of code that includes one or more executable instructions to implement specified logical function(s). It should also be noted that in some alternative implementations, the functions shown in the blocks may not be executed in the order shown in the figures. For example, two blocks shown sequentially may actually be executed substantially simultaneously, or sometimes the blocks may be executed in reverse order, depending on the functionality involved. It should also be noted that each block of the block diagram and/or block diagram illustrations and combinations of blocks in the block diagram and/or block diagram illustrations may be implemented by special purpose hardware systems that perform the mentioned functions or actions, or combinations of special purpose hardware and computer commands

Целью вариантов осуществления в этом изобретении является уменьшение или устранение по меньшей мере одного из недостатков, известных в предшествующем уровне техники. В одном аспекте изобретение может относиться к способу определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, включающему: прием последовательности видеокадров, фиксируемых по меньшей мере одной системой камеры, предпочтительно системой 3D камеры; причем каждый видеокадр, представляет изображение сцены с одним или более объектами, например, человеком, животным или транспортным средством, движущимися вдоль дорожки, и каждый видеокадр имеет временную метку; определение информации о глубине, например карт глубины, для последовательности видеокадров, при этом информация о глубине содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра и системой камеры; обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом упомянутые объекты, обнаруженные алгоритмом обнаружения, определяются одним или более обнаруженными объектами; определение на видеокадрах обнаруженного объекта, пересекающего линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определяется виртуальной плоскостью, расположенной поперек дорожки на заданном расстоянии от системы камеры, определение прохождения осуществляется на основе координат виртуальной плоскости и информации о глубине; и определение времени прохождения на основе метки времени видеокадра, содержащего обнаруженный объект, пересекающий линию хронометража.The purpose of the embodiments in this invention is to reduce or eliminate at least one of the disadvantages known in the prior art. In one aspect, the invention may relate to a method for determining the time of passage of an object through a timing line extending across a sports track, comprising: receiving a sequence of video frames captured by at least one camera system, preferably a 3D camera system; wherein each video frame represents an image of a scene with one or more objects, such as a person, animal or vehicle, moving along the track, and each video frame has a timestamp; determining depth information, such as depth maps, for a sequence of video frames, wherein the depth information includes information regarding the distance between one or more objects in an image of the video frame and the camera system; detecting one or more objects in the video frames using an object detection algorithm, wherein said objects detected by the detection algorithm are determined by the one or more detected objects; determining on video frames a detected object crossing a timing line running across the sports track, wherein the timing line is determined by a virtual plane located across the track at a given distance from the camera system, the passage is determined based on the coordinates of the virtual plane and depth information; and determining a transit time based on a timestamp of the video frame containing the detected object crossing the timing line.

В варианте осуществления изобретения способ может дополнительно включать применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; и определение идентичности обнаруженного объекта, для которого определяется время прохождения, на основе идентификационных признаков обнаруженного объекта, который прошел через линию хронометража.In an embodiment of the invention, the method may further include applying a feature analysis algorithm to one or more detected objects in the video frames, the feature analysis algorithm determining identifying features for the one or more detected objects in the video frames; and determining the identity of the detected object for which the transit time is determined based on identification features of the detected object that has passed through the timing line.

В варианте осуществления изобретения идентификационные признаки обнаруженного объекта включают в себя один или более оптически читаемых идентификационных маркеров, таких как нагрудный номер или печатная метка; и/или одну или более характеристик формы и/или цвета обнаруженного объекта; и/или, если обнаруженный объект является животным или человеком, один или более биометрических идентификаторов обнаруженного объекта.In an embodiment of the invention, identifying features of a detected object include one or more optically readable identification markers, such as a bib number or a printed mark; and/or one or more characteristics of the shape and/or color of the detected object; and/or, if the detected object is an animal or human, one or more biometric identifiers of the detected object.

В варианте осуществления изобретения алгоритм обнаружения объектов и алгоритм анализа признаков могут быть частью алгоритма машинного обучения, предпочтительно алгоритма глубокого обучения, такого как система сверточной глубокой нейронной сети, которая обучается обнаруживать один или более объектов в видеокадре и определять идентификационные признаки, связанные с обнаруженными объектами.In an embodiment of the invention, the object detection algorithm and the feature analysis algorithm may be part of a machine learning algorithm, preferably a deep learning algorithm, such as a convolutional deep neural network system, that learns to detect one or more objects in a video frame and determine identifying features associated with the detected objects.

В варианте осуществления изобретения обнаружение одного или более объектов в видеокадрах может включать: определение одной или более областей интереса (ROI, Region Of Interest) в видеокадре, причем каждая область ROI содержит пиксели, представляющие объект; определение идентификационных признаков в одной или более областях ROI; и определение объекта в ROI на основе определенных идентификационных признаков.In an embodiment of the invention, detecting one or more objects in video frames may include: determining one or more regions of interest (ROI, Region Of Interest) in the video frame, each ROI containing pixels representing an object; determining identification features in one or more areas of the ROI; and identifying an object in the ROI based on certain identification features.

В варианте осуществления изобретения система камеры может содержать множество модулей камер, предпочтительно два модуля камер, образующих стереокамеру, при этом стереокамера выполнена с возможностью формировать в каждый момент времени по меньшей мере первый видеокадр и второй видеокадр сцены, и карта глубины определяется на основе алгоритма отображения диспаратности, сконфигурированного для определения диспаратности между пикселями первого и второго видеокадра.In an embodiment of the invention, the camera system may comprise a plurality of camera modules, preferably two camera modules, forming a stereo camera, wherein the stereo camera is configured to generate at least a first video frame and a second video frame of the scene at each instant, and a depth map is determined based on a disparity mapping algorithm , configured to determine the disparity between the pixels of the first and second video frame.

В варианте осуществления изобретения время прохождения может быть определено на основе видеокадра сцены, в которой заранее определенная часть обнаруженного объекта прошла виртуальную плоскость.In an embodiment of the invention, the transit time may be determined based on a video frame of the scene in which a predetermined portion of the detected object has passed the virtual plane.

В другом аспекте изобретение может относиться к способу определения времени прохождения объектов через линию хронометража, проходящую поперек спортивной дорожки, включающему:In another aspect, the invention may relate to a method for determining the time of passage of objects through a timing line extending across a sports track, comprising:

прием видеокадров от множества систем камер, предпочтительно систем камер, синхронизированных по времени, причем множество систем камер фиксируют сцену спортивной дорожки с разных углов обзора, причем видеокадры представляют собой изображения сцены, содержащей один или более объектов, например, человека, животного или транспортного средства, движущихся вдоль дорожки, причем каждый из видеокадров имеет метку времени; определение информации о глубине, например, карт глубины, на основе принятых видеокадров, при этом информация о глубине содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадров и множеством систем камер; обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных алгоритмом обнаружения, определяют один или более обнаруженных объектов; определение обнаруженного объекта видеокадров, проходящего через линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определяется виртуальной плоскостью, расположенной поперек дорожки на заданных расстояниях от множества систем камер, определение прохождения осуществляется на основе координат виртуальной плоскости и карт информации о глубине; и определение времени прохождения на основе одной или более меток времени одного или более видеокадров, содержащих обнаруженный объект, проходящий через линию хронометража.receiving video frames from a plurality of camera systems, preferably time-synchronized camera systems, the plurality of camera systems capturing a sports track scene from different viewing angles, the video frames being images of the scene containing one or more objects, such as a person, animal or vehicle, moving along the track, each of the video frames having a time stamp; determining depth information, such as depth maps, based on the received video frames, wherein the depth information includes information regarding the distance between one or more objects in an image of the video frames and the plurality of camera systems; detecting one or more objects in the video frames using an object detection algorithm, wherein the one or more objects detected by the detection algorithm determines the one or more detected objects; determining a detected object of video frames passing through a timing line extending across the sports track, the timing line being defined by a virtual plane located across the track at specified distances from a plurality of camera systems, the detection of the passage being made based on the coordinates of the virtual plane and depth information maps; and determining a transit time based on one or more timestamps of one or more video frames containing the detected object passing through the timing line.

В варианте осуществления изобретения способ может дополнительно включать: применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; и определение идентичности обнаруженного объекта, для которого определяется время прохождения, на основе идентификационных признаков обнаруженного объекта, который прошел через линию хронометража.In an embodiment of the invention, the method may further include: applying a feature analysis algorithm to one or more detected objects in the video frames, wherein the feature analysis algorithm determines identifying features for the one or more detected objects in the video frames; and determining the identity of the detected object for which the transit time is determined based on identification features of the detected object that has passed through the timing line.

В дополнительном аспекте изобретение может относиться к способу калибровки системы хронометража, сконфигурированной для определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, способ включает: прием последовательности видеокадров, захваченных системой камеры, предпочтительно системой 3D камеры, системы хронометража, причем каждый видеокадр представляет изображение сцены, включающей дорожку и калибровочные маркеры, расположенные на противоположных сторонах дорожки; определение одной или более карт глубины на основе видеокадров, при этом карта глубины содержит информацию о расстоянии между одним или более объектами в изображении видеокадра; использование одной или более карт глубины для определения расстояния между калибровочными маркерами и системой камеры; определение координат виртуальной плоскости, расположенной поперек дорожки между маркерами, причем виртуальная плоскость определяет линию хронометража для системы хронометража; и сохранение координат виртуальной плоскости в памяти системы хронометража.In a further aspect, the invention may relate to a method for calibrating a timing system configured to determine the time of passage of an object through a timing line extending across a sports track, the method comprising: receiving a sequence of video frames captured by a camera system, preferably a 3D camera system, of the timing system, each video frame representing an image of a scene including a track and calibration markers located on opposite sides of the track; determining one or more depth maps based on the video frames, wherein the depth map contains information about the distance between one or more objects in an image of the video frame; using one or more depth maps to determine the distance between the calibration markers and the camera system; determining the coordinates of a virtual plane located across the track between the markers, the virtual plane defining a timing line for the timing system; and storing the coordinates of the virtual plane in the memory of the timing system.

В еще одном аспекте изобретение относится к системе для определения времени прохождения объекта, пересекающего линию хронометража, проходящую поперек спортивной дорожки, при этом система может содержать: по меньшей мере одну систему камеры, подключенную к компьютеру; компьютер, содержащий машиночитаемый носитель данных, имеющий воплощенный на нем машиночитаемый программный код, и процессор, предпочтительно микропроцессор, соединенный с машиночитаемым носителем данных, при этом в ответ на выполнение машиночитаемого программного кода процессор конфигурируется для выполнения исполняемых операций, включающих: прием последовательности видеокадров, фиксируемых по меньшей мере одной системой камеры, предпочтительно системой 3D камеры, причем каждый видеокадр представляет собой изображение сцены с одним или более объектами, например, человеком, животным или транспортным средством, движущимися вдоль дорожки, и каждый видеокадр имеет временную метку; определение карт глубины для последовательности видеокадров, причем карта глубины содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра и системой камеры; обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных алгоритмом обнаружения, определяют один или более обнаруженных объектов; определение обнаруженного объекта в одном из видеокадров, который проходит через линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определяется виртуальной плоскостью, расположенной поперек дорожки на заданном расстоянии от системы камеры, определение прохождения на основе координат виртуальной плоскости и карт глубины, причем координаты предпочтительно хранятся на машиночитаемом носителе данных компьютера; и определение времени прохождения на основе метки времени видеокадра, содержащего обнаруженный объект, проходящий через линию хронометража.In another aspect, the invention relates to a system for determining the time of passage of an object crossing a timing line extending across a sports track, the system may comprise: at least one camera system connected to a computer; a computer comprising a computer-readable storage medium having computer-readable program code embodied thereon, and a processor, preferably a microprocessor, coupled to the computer-readable storage medium, wherein in response to execution of the computer-readable program code, the processor is configured to perform executable operations including: receiving a sequence of video frames captured at least one camera system, preferably a 3D camera system, wherein each video frame is an image of a scene with one or more objects, such as a person, animal or vehicle, moving along the track, and each video frame has a timestamp; determining depth maps for a sequence of video frames, wherein the depth map contains information regarding the distance between one or more objects in an image of the video frame and the camera system; detecting one or more objects in the video frames using an object detection algorithm, wherein the one or more objects detected by the detection algorithm determines the one or more detected objects; determining a detected object in one of the video frames that passes through a timing line extending across the athletic track, the timing line being defined by a virtual plane located across the track at a specified distance from the camera system, determining the passage based on the coordinates of the virtual plane and depth maps, the coordinates being preferred stored on a computer readable storage medium; and determining a transit time based on a timestamp of a video frame containing the detected object passing through the timing line.

В варианте осуществления изобретения выполняемые операции могут дополнительно включать: применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; и определение идентичности обнаруженного объекта, для которого определяется время прохождения, на основе идентификационных признаков обнаруженного объекта, прошедшего линию хронометража.In an embodiment of the invention, the operations performed may further include: applying a feature analysis algorithm to one or more detected objects in the video frames, wherein the feature analysis algorithm determines identifying features for the one or more detected objects in the video frames; and determining the identity of the detected object for which the transit time is determined based on identification features of the detected object that has passed the timing line.

В еще одном аспекте изобретение может относиться к калибровочному модулю для системы хронометража, сконфигурированному для определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, при этом модуль содержит: прием последовательности видеокадров, захваченных системой камеры, предпочтительно системой 3D камеры, системы хронометража, где каждый видеокадр представляет собой изображение сцены, включающей дорожку и калибровочные маркеры, расположенные на противоположных сторонах дорожки; определение одной или более карт глубины на основе видеокадров, при этом карта глубины содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра; использование одной или более карт глубины для определения расстояния между калибровочными маркерами и системой камеры; определение координат виртуальной плоскости, расположенной поперек дорожки между маркерами, при этом виртуальная плоскость определяет линию хронометража для системы хронометража; и сохранение координат виртуальной плоскости в памяти системы хронометража.In yet another aspect, the invention may relate to a calibration module for a timing system configured to determine the time of passage of an object through a timing line extending across a track, the module comprising: receiving a sequence of video frames captured by a camera system, preferably a 3D camera system, the timing system, where each video frame is an image of a scene including a track and calibration markers located on opposite sides of the track; determining one or more depth maps based on the video frames, wherein the depth map contains information regarding the distance between one or more objects in an image of the video frame; using one or more depth maps to determine the distance between the calibration markers and the camera system; determining the coordinates of a virtual plane located across the track between the markers, wherein the virtual plane defines a timing line for the timing system; and storing the coordinates of the virtual plane in the memory of the timing system.

Изобретение также может относиться к компьютерной программе или комплекту компьютерных программ, содержащих по меньшей мере одну часть кода программного обеспечения, или к компьютерному программному продукту, хранящему по меньшей мере одну часть кода программного обеспечения, при этом часть кода программного обеспечения при запуске в компьютерной системе сконфигурирована для выполнения любого из описанных выше этапов способа.The invention may also relate to a computer program or set of computer programs containing at least one piece of software code, or to a computer program product storing at least one piece of software code, wherein the portion of the software code is configured when run on a computer system to perform any of the method steps described above.

Изобретение может дополнительно относиться к машиночитаемому носителю данных, хранящему по меньшей мере одну часть кода программного обеспечения, при этом часть кода программного обеспечения при выполнении или обработке компьютером конфигурируется для выполнения любого из этапов способа, как описано выше.The invention may further relate to a computer-readable storage medium storing at least one portion of software code, wherein the portion of the software code, when executed or processed by a computer, is configured to perform any of the steps of the method as described above.

Далее изобретение будет проиллюстрировано со ссылкой на прилагаемые чертежи, на которых схематично показаны варианты осуществления согласно изобретению. Следует понимать, что изобретение никоим образом не ограничивается этими конкретными вариантами осуществления.The invention will now be illustrated with reference to the accompanying drawings, which schematically show embodiments according to the invention. It should be understood that the invention is in no way limited to these specific embodiments.

Краткое описание чертежейBrief description of drawings

На фиг.1 изображена схема системы хронометража согласно варианту осуществления изобретения.FIG. 1 is a diagram of a timing system according to an embodiment of the invention.

На фиг.2 изображена система камеры для использования в системе хронометража согласно варианту осуществления изобретения.FIG. 2 illustrates a camera system for use in a timing system according to an embodiment of the invention.

На фиг.3 изображено отображение диспаратности изображений, созданных системой камеры.FIG. 3 shows a disparity display of images produced by the camera system.

На фиг.4А и 4В изображена калибровка системы хронометража согласно варианту осуществления изобретения.FIGS. 4A and 4B depict calibration of a timing system according to an embodiment of the invention.

На фиг.5 изображена структурная схема способа калибровки системы хронометража согласно варианту осуществления изобретения.FIG. 5 is a block diagram of a method for calibrating a timing system according to an embodiment of the invention.

На фиг.6А и 6В изображен способ определения времени прохождения согласно варианту осуществления изобретения.FIGS. 6A and 6B illustrate a method for determining transit time according to an embodiment of the invention.

На фиг.7 изображен способ идентификации синхронизированного объекта согласно варианту осуществления изобретения.FIG. 7 illustrates a method for identifying a synchronized object according to an embodiment of the invention.

На фиг.8 изображена структурная схема способа определения времени прохождения согласно варианту осуществления изобретения.FIG. 8 is a block diagram of a method for determining transit time according to an embodiment of the invention.

На фиг.9 изображена система для определения времени прохождения согласно варианту осуществления изобретения.FIG. 9 illustrates a system for determining transit time according to an embodiment of the invention.

На фиг.10 изображены некоторые иллюстративные изображения объектов, проходящих через виртуальную плоскость системы хронометража, согласно варианту осуществления изобретения.FIG. 10 depicts some illustrative images of objects passing through a virtual plane of a timing system, according to an embodiment of the invention.

Фиг. 11 представляет собой блок-схему, иллюстрирующую пример системы обработки данных, которую можно использовать для выполнения способов и программных продуктов, описанных в этой заявке.Fig. 11 is a block diagram illustrating an example of a data processing system that can be used to implement the methods and software products described in this application.

Подробное описаниеDetailed description

На фиг.1 изображена система хронометража согласно варианту осуществления изобретения. В частности, на фигуре изображена основанная на видеосистеме система 100 спортивного хронометража, включающая в себя одну или более систем 1021,2 камер, управляемых компьютером 1041,2. Каждая система камер может быть сконфигурирована для захвата сцены спортивной дорожки 106 и определения информации о глубине, связанной с захваченной сценой. Например, в варианте осуществления изобретения информация о глубине может включать в себя так называемые карты глубины для видеокадров, сформированных датчиком изображения системы камеры. Карта глубины видеокадра, например видеокадра в формате RGB, может быть представлена как пиксельное изображение, содержащее значения пикселей, представляющих значение расстояния для каждого пикселя видеокадра. Значение расстояния может определять расстояние между камерой (плоскостью изображения камеры) и объектами в видеокадрах.FIG. 1 illustrates a timing system according to an embodiment of the invention. In particular, the figure depicts a video-based sports timing system 100 including one or more camera systems 102 1,2 controlled by a computer 104 1,2 . Each camera system may be configured to capture a scene of the athletic track 106 and determine depth information associated with the captured scene. For example, in an embodiment of the invention, the depth information may include so-called depth maps for video frames generated by the camera system's image sensor. A depth map of a video frame, such as an RGB video frame, can be represented as a pixel image containing pixel values representing a distance value for each pixel in the video frame. The distance value can determine the distance between the camera (camera image plane) and objects in video frames.

Например, группа пикселей в видеокадре может быть частью объекта на сцене, который отображается системой камеры. В этом случае карта глубины может указывать относительное расстояние между камерой (точкой съемки) и поверхностью объекта в сцене. Следовательно, во время захвата последовательности видеокадров с метками времени объекта, например, спортсмена или транспортного средства, движущегося по спортивной дорожке, соответствующие карты глубины могут предоставлять информацию о расстоянии между движущимся объектом в видеокадрах и (статической) системой камеры как функцию времени.For example, a group of pixels in a video frame may be part of an object in the scene that is being imaged by the camera system. In this case, the depth map can indicate the relative distance between the camera (the shooting point) and the surface of an object in the scene. Therefore, while capturing a sequence of video frames with timestamps of an object, such as an athlete or a vehicle moving on a sports track, corresponding depth maps can provide information about the distance between the moving object in the video frames and the (static) camera system as a function of time.

Известны системы камер, способные генерировать карту глубины. Например, в варианте осуществления изобретения камера может быть реализована как система 3D камеры, например стереокамера, содержащая два или более модулей камер, при этом каждый модуль камеры имеет собственную систему линз. Пример вида сверху такой системы формирования трехмерных (3D) изображений показан на фиг.2. Как показано на этой фигуре, стереокамера 202 может быть расположена вдоль стороны дорожки 204. Стереокамера имеет (по меньшей мере) два модуля 2041,2 камер с параллельной оптической осью 2061,2 для наблюдения за сценой беговой дорожки, включающей объекты, например калибровочные маркеры 2101,2 и/или спортсменов (как показано на фиг.1). Таким образом захватываются два изображения одной и той же сцены с разных точек обзора. Такая стереокамера может использоваться для определения карт глубины и/или 3D изображений. Система 3D камеры может иметь более двух модулей камер, чтобы можно было использовать многочисленные изображения для вычисления карты глубины. Таким образом можно повысить точность карт глубины.Camera systems are known that are capable of generating a depth map. For example, in an embodiment of the invention, the camera may be implemented as a 3D camera system, such as a stereo camera, comprising two or more camera modules, each camera module having its own lens system. An example of a top view of such a three-dimensional (3D) imaging system is shown in FIG. 2. As shown in this figure, a stereo camera 202 may be positioned along a side of the track 204. The stereo camera has (at least) two camera modules 204 1,2 with a parallel optical axis 206 1,2 for observing a treadmill scene including objects, such as calibration markers 210 1,2 and/or athletes (as shown in Fig. 1). This captures two images of the same scene from different viewpoints. Such a stereo camera can be used to determine depth maps and/or 3D images. A 3D camera system can have more than two camera modules so that multiple images can be used to calculate the depth map. In this way, the accuracy of depth maps can be improved.

Система 3D камеры (или компьютерная система, управляющая системой камеры) может включать в себя модуль для вычисления карты глубины на основе видеокадров, захваченных двумя (или более) модулями камер. В варианте осуществления изобретения модуль может использовать технику отображения диспаратности для вычисления карты глубины на основе изображений, формируемых двумя датчиками изображения. На фиг.3 схематично показан принцип отображения диспаратности. Система 3D камеры содержит два модуля камер, разделенные расстоянием, которое называется базой 308. Два модуля камер могут быть синхронизированы таким образом, чтобы в каждый момент времени формировались два видеокадра 3021,2 одного и того же объекта с разных точек обзора.The 3D camera system (or a computer system controlling the camera system) may include a module for calculating a depth map based on video frames captured by two (or more) camera modules. In an embodiment of the invention, the module may use disparity mapping techniques to calculate a depth map based on images generated by two image sensors. Figure 3 schematically shows the principle of disparity display. The 3D camera system contains two camera modules separated by a distance called base 308. The two camera modules can be synchronized such that two video frames 302 1,2 of the same object from different viewpoints are generated at any given time.

Чтобы вычислить карту глубины на основе этих видеокадров, может быть выполнен алгоритм сопоставления для сопоставления соответствующих пикселей левого и правого видеокадра. Следовательно, объект 300, отображаемый двумя синхронизированными модулями камер, расположен в одной и той же позиции 3041,2, но разделен расстоянием 308 базы. В этом случае объект появится в одинаковых позициях на обоих изображениях. Расстояние между объектами на левом и правом изображениях известно как диспаратность 306. Алгоритм построения карты диспаратности на основе двух изображений известен как алгоритм сопоставления стереоизображений. Существуют различные алгоритмы сопоставления стереоизображений, которые должны быть точными и быстрыми для применений реального времени.To compute a depth map based on these video frames, a matching algorithm can be performed to match the corresponding pixels of the left and right video frame. Therefore, the object 300 displayed by the two synchronized camera modules is located at the same position 304 1,2 but separated by a base distance 308. In this case, the object will appear in the same positions in both images. The distance between objects in the left and right images is known as disparity 306. An algorithm for constructing a disparity map from two images is known as a stereo matching algorithm. There are various stereo image matching algorithms that need to be accurate and fast for real-time applications.

Система 3D камеры, которая используется в вариантах осуществления изобретения этой заявки, не ограничивается техниками формирования изображений на основе стерео, и также могут использоваться другие техники формирования 3D изображений. Например, карта глубины может быть сформирована на основе техники RGBAR (используемого Kinect) или трехмерной (3D) времяпролетной (TOF, Time-Of-Flight) техники или их комбинации. Кроме того, для увеличения угла обзора системы камеры в некоторых вариантах осуществления изобретения может использоваться одна или более систем широкоугольных камер, например, камера с углом обзора 180 градусов или камера с углом обзора 360 градусов. Также карты глубины могут быть созданы для такого типа видеоформатов как 360-градусное видео или видеосреда с погружением, генерируемых с использованием специальных систем 360-градусных камер, в которых видео проецируется на 2D видеокадр с использованием, например, равнопромежуточной проекции.The 3D camera system that is used in the embodiments of this application is not limited to stereo-based imaging techniques, and other 3D imaging techniques may also be used. For example, the depth map can be generated based on the RGBAR technique (used by Kinect) or three-dimensional (3D) time-of-flight (TOF) technique, or a combination of both. Additionally, to increase the viewing angle of the camera system, some embodiments of the invention may use one or more wide-angle camera systems, such as a 180-degree camera or a 360-degree camera. Depth maps can also be created for types of video formats such as 360-degree video or immersive video environments, generated using special 360-degree camera systems in which video is projected onto a 2D video frame using, for example, equidistant projection.

Как показано на фиг.1, одна или более систем 1021,2 3D камер могут быть расположены сбоку или над спортивной дорожкой. Кроме того, системы камер могут быть выровнены и откалиброваны таким образом, что каждая из систем 3D камер захватывает одну и ту же сцену 114 спортивной дорожки, включая объекты, движущиеся вдоль дорожки. С этой целью можно использовать один или более калибровочных маркеров 1101,2. Один или более калибровочных маркеров могут быть расположены на одной стороне из обеих сторон, например, на противоположных сторонах дорожки. Эти калибровочные маркеры могут использоваться системой хронометража для вычисления координат виртуальной плоскости 112, расположенной поперек пути между двумя калибровочными маркерами. После калибровки известно относительное расстояние между системой 3D камеры и каждой позицией на виртуальной плоскости. Это позволяет системе хронометража определять, на основе видеокадров с метками времени и соответствующих карт глубины, в какой момент времени движущийся объект прошел виртуальную плоскость.As shown in FIG. 1, one or more 3D camera systems 102 1,2 may be located on the side or above the athletic track. Additionally, the camera systems may be aligned and calibrated such that each of the 3D camera systems captures the same track scene 114, including objects moving along the track. For this purpose, one or more calibration markers 110 1,2 can be used. One or more calibration markers may be located on one side of both sides, for example, on opposite sides of the track. These calibration markers can be used by the timing system to calculate the coordinates of a virtual plane 112 located across the path between the two calibration markers. After calibration, the relative distance between the 3D camera system and each position on the virtual plane is known. This allows the timing system to determine, based on time-stamped video frames and associated depth maps, at what point in time a moving object passed the virtual plane.

Процесс калибровки системы 3D камеры требуется для точного определения положения и ориентации калибровочных маркеров при любых внешних условиях. Таким образом, калибровочные маркеры проектируются так, чтобы они имели заранее определенную форму и/или цветовую комбинацию, и чтобы во время калибровки программа обнаружения объектов могла легко и точно определить позицию (края) маркеров в видеокадрах, чтобы можно было точно определить координаты виртуальной плоскости. Когда работает (откалиброванная) система хронометража, система 3D камеры может захватывать видеокадры, в которых спортсмены проходят через виртуальную плоскость. Хотя на фигуре показана система камер вдоль обочины беговой дорожки, в других вариантах осуществления изобретения одна или несколько систем камер могут быть установлены над спортивной дорожкой с использованием подходящей монтажной конструкции.The 3D camera system calibration process is required to accurately determine the position and orientation of the calibration markers under any environmental conditions. Thus, the calibration markers are designed to have a predetermined shape and/or color combination, and so that during calibration, the object detection program can easily and accurately determine the position (edges) of the markers in the video frames so that the coordinates of the virtual plane can be accurately determined. When the (calibrated) timing system is running, the 3D camera system can capture video footage of athletes passing through the virtual plane. Although the figure shows a camera system along the side of a treadmill, in other embodiments of the invention one or more camera systems may be installed above the track using a suitable mounting structure.

Как будет более подробно описано ниже, система хронометража, изображенная на фиг.1, сконфигурирована для определения времени прохождения объектов через виртуальную плоскость. Кроме того, система хронометража сконфигурирована для идентификации объектов, для которых определяется время прохождения. Идентификация может быть основана на идентификационных маркерах, связанных с объектами. Например, в случае спортсменов идентификационные маркеры могут включать (но не ограничиваются этим) нагрудный номер, цвета, биометрическую информацию и т.п. В случае идентификации транспортного средства маркеры могут включать характеристики транспортного средства, например, цвет, форму, фабричные марки и т.п.As will be described in more detail below, the timing system depicted in FIG. 1 is configured to determine the time of passage of objects through a virtual plane. In addition, the timing system is configured to identify objects for which transit times are determined. Identification may be based on identification markers associated with objects. For example, in the case of athletes, identification markers may include, but are not limited to, a bib number, colors, biometric information, and the like. In the case of vehicle identification, the markers may include characteristics of the vehicle, such as color, shape, brand names, etc.

Компьютер для управления одной или более системами 3D камер и выполнения способов калибровки и хронометража может быть реализован как автономный компьютер или набор соединенных (беспроводным способом) компьютеров. Например, системы 3D камер, которые используются для определения времени прохождения на основе виртуальной плоскости, расположенной поперек пути, могут управляться компьютером, который включает в себя беспроводной интерфейс для беспроводной связи с компьютерами, которые управляют другими системами 3D камер.The computer for controlling one or more 3D camera systems and performing the calibration and timing methods may be implemented as a stand-alone computer or a set of wirelessly connected computers. For example, 3D camera systems that are used to determine travel times based on a virtual plane located transverse to the track may be controlled by a computer that includes a wireless interface for wireless communication with computers that control other 3D camera systems.

Множество систем хронометража, как показано на фиг.1, могут располагаться в разных местах вдоль трассы. Таким образом, каждая система хронометража может определять время прохождения на основе видеокадров объектов, проходящих через виртуальную плоскость. Системы хронометража могут поддерживать беспроводной протокол, который позволяет установить ячеистую сеть системы хронометража вдоль трассы. Таким образом, информация, определенная одной системой хронометража, может использоваться одной или более другими системами хронометража, которые являются частью ячеистой сети.Multiple timing systems, as shown in FIG. 1, may be located at different locations along the route. Thus, each timing system can determine transit times based on video frames of objects passing through the virtual plane. Timing systems can support a wireless protocol that allows a mesh network of timing systems to be established along the course. Thus, information determined by one timing system can be used by one or more other timing systems that are part of the mesh network.

Способы обработки данных, которые используются системой хронометража для вычисления карт глубины и анализа видеокадров, могут потребовать обработки изображения в реальном времени, поэтому в некоторых вариантах осуществления изобретения процессор специального назначения, такой как графический процессор (GPU), может использоваться для выполнения частей процесса калибровки и синхронизации, требующих больших вычислительных ресурсов. В других вариантах осуществления изобретения одна или более систем 3D камер могут быть подключены к облачным ресурсам, которые могут выполнять части процессов, требующие интенсивного вычисления. Тактовая частота CPU или сигнал синхронизации глобальной системы навигации и определения местоположения (GPS, Global Positioning System) может использоваться для привязки видеокадров к информации о времени. Например, в варианте осуществления изобретения все или по меньшей мере часть видеокадров могут быть привязаны к моменту времени посредством временной маркировки видеокадров.The data processing methods used by the timing system to calculate depth maps and analyze video frames may require real-time image processing, so in some embodiments of the invention, a special purpose processor, such as a graphics processing unit (GPU), may be used to perform portions of the calibration process and synchronization that requires large computing resources. In other embodiments, one or more 3D camera systems may be connected to cloud resources that can perform computationally intensive portions of the processes. The CPU clock or Global Positioning System (GPS) clock signal can be used to associate video frames with time information. For example, in an embodiment of the invention, all or at least a portion of the video frames may be time-locked by time-stamping the video frames.

Система хронометража на фиг.1 может работать на основе одной 3D камеры. В качестве альтернативы для захвата видеокадров сцены можно использовать две или более систем 3D камер под разными углами обзора. В этом случае системы 3D камер могут быть синхронизированы по времени, чтобы видеокадры с временными метками различных систем 3D камер можно было легко комбинировать и анализировать. Многочисленные системы 3D камер могут использоваться для обработки конфликтов, т.е. событий, когда несколько объектов проходят через виртуальную плоскость.The timing system in FIG. 1 can be operated using a single 3D camera. Alternatively, two or more 3D camera systems from different viewing angles can be used to capture video frames of a scene. In this case, the 3D camera systems can be time-synchronized so that time-stamped video frames from different 3D camera systems can be easily combined and analyzed. Numerous 3D camera systems can be used to handle collisions, e.g. events when several objects pass through the virtual plane.

Фиг. 4А и 4В изображают вариант осуществления системы хронометража, которая калибруется, и системы хронометража, которая работает, соответственно. Как показано на фиг.4А система 402 камеры расположена вдоль стороны дорожки 406. На заданном расстоянии 406 один или более калибровочных маркеров 4101,2 могут быть расположены на одной или обеих сторонах дорожки. Поле обзора камеры направлено на дорожку так, что оно захватывает сцену, включающую один или более калибровочных маркеров. Затем программа калибровки выполняется компьютером 404 системы камеры. Во время калибровки камера генерирует видеокадры, и карты глубины сцены, включающей один или более калибровочных маркеров, определяются на основе генерируемых видеокадров (например, как описано со ссылкой на фиг.2 и 3). Программа обнаружения объектов может использоваться для обнаружения калибровочных маркеров в видеокадрах (например, в изображениях RGB).Fig. 4A and 4B depict an embodiment of a timing system that is being calibrated and a timing system that is operating, respectively. As shown in FIG. 4A, a camera system 402 is located along a side of the track 406. At a given distance 406, one or more calibration markers 410 1,2 may be located on one or both sides of the track. The camera's field of view is directed toward the track so that it captures the scene including one or more calibration markers. The calibration program is then executed by the camera system computer 404. During calibration, the camera generates video frames, and depth maps of a scene including one or more calibration markers are determined based on the generated video frames (eg, as described with reference to FIGS. 2 and 3). An object detection program can be used to detect calibration markers in video frames (such as RGB images).

Один или более калибровочных маркеров могут быть спроектированы таким образом, чтобы они имели конструктивные особенности, обеспечивающие точную калибровку при различных внешних условиях.One or more calibration markers may be designed to have design features that provide accurate calibration under a variety of environmental conditions.

Например, форма, края и/или цвета маркера могут быть спроектированы таким образом, чтобы обеспечивать точное обнаружение на изображениях. Карта глубины, связанная с видеокадрами, может использоваться для определения расстояния между камерой и обнаруженными калибровочными маркерами. В качестве альтернативы, если может быть построена достаточно точная карта глубины, программа обнаружения объектов может также определять положение калибровочных маркеров непосредственно на основе карты глубины.For example, the shape, edges and/or colors of the marker can be designed to enable accurate detection in images. The depth map associated with the video frames can be used to determine the distance between the camera and the detected calibration markers. Alternatively, if a sufficiently accurate depth map can be constructed, the object detection program can also determine the position of the calibration markers directly from the depth map.

Как только позиция одного или более маркеров обнаружена, компьютер может определить виртуальную плоскость, расположенную между двумя калибровочными маркерами. Виртуальная плоскость может использоваться как место, в котором система хронометража определяет время прохождения. Эта виртуальная плоскость может быть расположена внутри прямоугольного трехмерного (3D) объема 412 в пространстве, при этом ширина объема может определяться калибровочными маркерами, а высота и глубина объема могут определяться компьютером. 3D объем может определять 3D зону обнаружения, в которой система хронометража будет получать видеоданные (например, видеокадры) для определения времени прохождения и для идентификации объекта, связанного со временем прохождения.Once the position of one or more markers is detected, the computer can determine a virtual plane located between the two calibration markers. The virtual plane can be used as the location at which the timing system determines the time of passage. This virtual plane may be located within a rectangular three-dimensional (3D) volume 412 in space, where the width of the volume may be determined by gauge markers and the height and depth of the volume may be determined by a computer. The 3D volume may define a 3D detection zone in which the timing system will receive video data (eg, video frames) to determine the time of passage and to identify an object associated with the time of passage.

Тот же самый процесс калибровки может использоваться для установки и калибровки одной или более дополнительных систем 3D камер вдоль дорожки, чтобы каждая из этих систем 3D камер могла захватывать видеокадры объектов, проходящих через одну и ту же 3D зону обнаружения, под другим углом обзора. Системы камер могут (беспроводным способом) связываться друг с другом, чтобы процесс захвата видео можно было синхронизировать по времени. Таким образом, в один момент времени каждая из систем камер будет обрабатывать один или более видеокадров спортивной дорожки с метками времени, которые включают в себя 3D зону обнаружения, снятую с определенного угла обзора. Видеокадры с метками времени (и связанные с ними карты глубины) для различных углов обзора могут использоваться для определения времени прохождения объектов, проходящих через виртуальную плоскость, и идентификации объектов, для которых было определено время прохождения.The same calibration process can be used to install and calibrate one or more additional 3D camera systems along a track so that each of these 3D camera systems can capture video frames of objects passing through the same 3D detection zone from a different viewing angle. Camera systems can (wirelessly) communicate with each other so that the video capture process can be time-synchronized. Thus, at one point in time, each of the camera systems will process one or more time-stamped video frames of the sports track that include a 3D detection zone taken from a specific viewing angle. Time-stamped video frames (and associated depth maps) for different viewing angles can be used to determine the transit times of objects passing through the virtual plane and to identify objects for which transit times have been determined.

На фиг.5 изображена структурная схема способа калибровки системы хронометража согласно варианту осуществления изобретения. Этот способ можно использовать для калибровки системы хронометража, содержащей калибровочные маркеры, как описано со ссылкой на фиг.1 и фиг.4А. Как показано на структурной схеме, способ может начинаться с наведения системы трехмерной камеры системы хронометража на один или более калибровочных маркеров, расположенных на одной или на обеих сторонах дорожки. Один или более калибровочных маркеров могут указывать положение виртуальной плоскости, расположенной поперек спортивной дорожки (этап 502). Например, в случае двух калибровочных маркеров на противоположных сторонах дорожки виртуальная плоскость может располагаться между двумя маркерами. На следующем этапе 504 последовательность видеокадров может быть захвачена системой 3D камеры, при этом каждый видеокадр может представлять изображение сцены, включающей дорожку и маркеры калибровки.FIG. 5 is a block diagram of a method for calibrating a timing system according to an embodiment of the invention. This method can be used to calibrate a timing system containing calibration markers, as described with reference to FIG. 1 and FIG. 4A. As shown in the block diagram, the method may begin by pointing the timing system's three-dimensional camera system at one or more calibration markers located on one or both sides of the track. One or more calibration markers may indicate the position of a virtual plane located across the track (step 502). For example, in the case of two calibration markers on opposite sides of the track, the virtual plane may be located between the two markers. In a next step 504, a sequence of video frames may be captured by a 3D camera system, where each video frame may represent an image of a scene including a track and calibration markers.

После этого информация о глубине, такая как одна или более карт глубины, может быть определена на основе видеокадров; карта глубины может включать в себя информацию, касающуюся расстояния между одним или более объектами на изображении и системой 3D камеры (этап 506). Например, карта глубины может быть сгенерирована на основе двух видеокадров, сгенерированных двумя модулями камер в стереокамере, и отображение диспаратности может быть использовано для создания карты глубины, таким же образом, как описано со ссылкой на фиг.2 и 3 выше. Информация о глубине может включать в себя карту глубины, содержащую для каждого видеокадра (или по меньшей мере его существенной части) информацию, касающуюся расстояния между объектами в захваченных видеокадрах и 3D камерой. Информация о глубине может использоваться для определения расстояния между каждым из калибровочных маркеров и 3D камерой (этап 508). Затем могут быть вычислены координаты виртуальной плоскости, расположенной поперек трассы между калибровочными маркерами. Виртуальная плоскость может использоваться системой хронометража для определения времени прохождения объектов через виртуальную плоскость. Кроме того, вычисляются координаты 3D объема, ориентированного поперек спортивной трассы между калибровочными маркерами. 3D объем охватывает виртуальную плоскость и определяет объем обнаружения для определения времени прохождения и идентификации объекта, связанного с временем прохождения (этап 510). Координаты виртуальной плоскости и связанный с ней 3D объем зоны обнаружения могут быть сохранены в памяти системы хронометража (этап 512).Thereafter, depth information, such as one or more depth maps, can be determined based on the video frames; the depth map may include information regarding the distance between one or more objects in the image and the 3D camera system (step 506). For example, a depth map can be generated based on two video frames generated by two camera modules in a stereo camera, and the disparity mapping can be used to generate a depth map in the same manner as described with reference to FIGS. 2 and 3 above. The depth information may include a depth map containing, for each video frame (or at least a substantial portion thereof), information regarding the distance between objects in the captured video frames and the 3D camera. The depth information may be used to determine the distance between each of the calibration markers and the 3D camera (step 508). The coordinates of a virtual plane located across the path between the calibration markers can then be calculated. The virtual plane can be used by a timing system to determine the time at which objects pass through the virtual plane. In addition, the coordinates of a 3D volume oriented across the sports track between the calibration markers are calculated. The 3D volume spans the virtual plane and defines a detection volume to determine the transit time and identify an object associated with the transit time (step 510). The coordinates of the virtual plane and the associated 3D volume of the detection zone may be stored in the memory of the timing system (step 512).

Как показано на фиг.4В, система хронометража больше не нуждается в калибровочных маркерах. Калиброванная система камеры будет использовать виртуальную плоскость в 3D зоне обнаружения для определения времени прохождения и одного или более идентификационных признаков объекта, проходящего через виртуальную плоскость. Этот процесс будет называться событием прохождения, которое будет описано более подробно со ссылкой на фиг.6 и 7.As shown in FIG. 4B, the timing system no longer requires calibration markers. A calibrated camera system will use a virtual plane in the 3D detection zone to determine the transit time and one or more identifying features of an object passing through the virtual plane. This process will be referred to as a pass event, which will be described in more detail with reference to FIGS. 6 and 7.

Фиг. 6А и 6В изображают способ определения времени прохождения согласно варианту осуществления изобретения. На фиг.6А показаны три снимка движущегося объекта (в данном случае спортсмена), проходящего через 3D зону обнаружения системы хронометража, как описано со ссылкой на варианты осуществления этой заявки. 3D зона обнаружения может быть установлена с использованием способа калибровки, как описано выше со ссылкой на фиг.5. Как показано на фиг.6В, 3D зона 612 обнаружения включает в себя виртуальную плоскость 614, расположенную поперек дорожки, при этом нормаль к виртуальной плоскости по существу параллельна направлению спортивной дорожки. Виртуальная плоскость делит 3D зону обнаружения на первую часть 6161, в которой объект приближается к виртуальной плоскости и пересекает ее, и вторую часть 6162, в которой движущийся объект пересекает виртуальную плоскость и удаляется от нее.Fig. 6A and 6B depict a method for determining transit time according to an embodiment of the invention. FIG. 6A shows three photographs of a moving object (in this case, an athlete) passing through the 3D detection zone of a timing system, as described with reference to embodiments of this application. The 3D detection zone can be set using a calibration method as described above with reference to FIG. 5. As shown in FIG. 6B, the 3D detection zone 612 includes a virtual plane 614 located across the track, with the normal to the virtual plane being substantially parallel to the direction of the track. The virtual plane divides the 3D detection zone into a first part 616 1 in which an object approaches and traverses the virtual plane, and a second part 616 2 in which a moving object traverses and moves away from the virtual plane.

Таким образом, когда объект движется вдоль дорожки, система 3D камеры будет захватывать изображения (пары изображений в случае стереокамеры) сцены, включающей 3D зону обнаружения. Для каждого изображения (видеокадра) система обработки трехмерных (3D) изображений может вычислить карту глубины. Алгоритм обнаружения и отслеживания объектов может использоваться для обнаружения и отслеживания заданного объекта, например, объекта-человека, или объекта, представляющего объект, в последующих видеокадрах. Известны алгоритмы обнаружения объектов. На основе карт глубины компьютер может определить, что обнаруженный объект входит в первую часть трехмерной зоны обнаружения. В этом случае компьютер может начать сохранять видеокадры и связанные с ними карты глубины в буфере до тех пор, пока объект не покинет 3D зону обнаружения через вторую часть. В другом варианте осуществления изобретения сохраняются только пары видеокадров, а карты глубины определяются позже. Эти видеокадры и карты глубины используются компьютером для определения времени прохождения и идентификации объекта, связанного со временем прохождения.Thus, when an object moves along the track, the 3D camera system will capture images (pairs of images in the case of a stereo camera) of the scene including the 3D detection zone. For each image (video frame), the three-dimensional (3D) image processing system can calculate a depth map. An object detection and tracking algorithm can be used to detect and track a given object, such as a human object, or an object representing an object, in subsequent video frames. Algorithms for detecting objects are known. Based on the depth maps, the computer can determine that the detected object is included in the first part of the three-dimensional detection zone. In this case, the computer can begin storing video frames and their associated depth maps in a buffer until the object leaves the 3D detection zone through the second part. In another embodiment of the invention, only pairs of video frames are stored and depth maps are determined later. These video frames and depth maps are used by the computer to determine the transit time and identify the object associated with the transit time.

Фиг. 6А и 6В иллюстрируют способ определения времени прохождения согласно варианту осуществления изобретения. В частности, на фиг.6А изображен объект (в данном примере спортсмен), движущийся через 3D зону обнаружения системы 3D камеры. На фиг.6А изображены три образца 6021-3 последовательности видеокадров с метками времени, когда спортсмен перемещается через 3D зону обнаружения. Эти видеокадры сняты системой 3D камеры и сохранены в компьютере. Как показано на фиг.6В, первый видеокадр 6021 захвачен в момент времени Т1, то есть в то время, когда большая часть тела спортсмена все еще находилась в первой части 6021 3D зоны обнаружения. В момент времени Т2 захватывается второй видеокадр 602 г, когда спортсмен движется дальше и проходит виртуальную плоскость 614 3D зоны обнаружения. Наконец, в момент времени Т3 захватывается третий видеокадр 6023, в котором спортсмен переместился во вторую часть 6162 3D зоны обнаружения.Fig. 6A and 6B illustrate a method for determining transit time according to an embodiment of the invention. In particular, FIG. 6A depicts an object (in this example, an athlete) moving through the 3D detection zone of a 3D camera system. 6A depicts three sample sequences 602 1-3 of time-stamped video frames as the athlete moves through the 3D detection zone. These video frames are captured by a 3D camera system and stored in a computer. As shown in FIG. 6B, the first video frame 602 1 is captured at time T1, that is, while most of the athlete's body is still in the first portion 602 1 of the 3D detection zone. At time T2, a second video frame 602 d is captured as the athlete moves on and passes the virtual plane 614 of the 3D detection zone. Finally, at time T3, a third video frame 602 3 is captured in which the athlete has moved into the second 3D detection zone portion 616 2 .

Модуль времени прохождения в компьютере системы хронометража может анализировать последовательность видеокадров с метками времени, чтобы определить, в какой момент времени спортсмен прошел виртуальную плоскость. С этой целью к каждому видеокадру может быть применен алгоритм обнаружения и классификации объектов. С этой целью алгоритм может определять области интереса видеокадра 6081-3 (ROI), которые принадлежат объекту. Кроме того, для каждой из этих областей интереса алгоритм может классифицировать пиксели как принадлежащие спортсмену или нет (принадлежащие фону). Кроме того, карта глубины, связанная с каждым из видеокадров, может использоваться для определения значений расстояния, принадлежащих тем пикселям, которые классифицируются как принадлежащие объекту. Эти значения расстояния можно сравнить с расстоянием между камерой и виртуальной плоскостью. Таким образом, когда система 3D камеры захватывает объект, пересекающий виртуальную плоскость, для каждого видеокадра может быть определена часть пикселей объекта, пересекающих виртуальную плоскость. Это видно на видеокадрах фиг.6А, где серые области определяют пиксели (части) объекта, которые пересекли виртуальную плоскость.The passage time module in the timing system's computer can analyze a sequence of time-stamped video frames to determine at what point in time the athlete passed the virtual plane. For this purpose, an object detection and classification algorithm can be applied to each video frame. To this end, the algorithm may determine regions of interest of the video frame 608 1-3 (ROIs) that belong to the object. Additionally, for each of these ROIs, the algorithm can classify the pixels as belonging to the athlete or not (belonging to the background). In addition, the depth map associated with each of the video frames can be used to determine the distance values belonging to those pixels that are classified as belonging to the object. These distance values can be compared to the distance between the camera and the virtual plane. Thus, when the 3D camera system captures an object intersecting the virtual plane, for each video frame the portion of the object's pixels intersecting the virtual plane can be determined. This can be seen in the video frames of Fig. 6A, where the gray areas define the pixels (parts) of the object that crossed the virtual plane.

Для видеокадра в момент времени Т1 только пиксели 6041, представляющие часть руки, и пиксели 6061, представляющие обувь спортсмена, связаны со значениями расстояния, меньшими, чем расстояние между виртуальной плоскостью и системой 3D камеры. Аналогично, для видеокадра в момент времени Т2 пиксели 6041, представляющие часть верхней части тела, и пиксели 6062, представляющие часть ноги, связаны со значениями расстояния меньшими, чем расстояние между виртуальной плоскостью и системой 3D камеры. Наконец, для видеокадра в момент Т3 все пиксели 608, представляющие спортсмена, связаны со значениями расстояния, меньшими, чем расстояние между виртуальной плоскостью и системой 3D камеры. На основании этого анализа компьютер может определить, что в момент Т2 значительная часть тела спортсмена пересекла виртуальную плоскость. Например, компьютер может определить, что если часть объекта, которая пересекла виртуальную плоскость, больше определенного порогового значения, то в этом случае определяется, что спортсмен пересек плоскость. Следовательно, метка времени Т2 может в этом случае определять время прохождения 610, в данном примере 2:34. Могут быть определены различные правила, чтобы определить, пересек ли объект виртуальную плоскость.For the video frame at time T1, only pixels 604 1 representing part of the hand and pixels 606 1 representing the athlete's shoe are associated with distance values less than the distance between the virtual plane and the 3D camera system. Likewise, for a video frame at time T2, pixels 604 1 representing part of the upper body and pixels 606 2 representing part of the leg are associated with distance values less than the distance between the virtual plane and the 3D camera system. Finally, for the video frame at time T3, all pixels 608 representing the athlete are associated with distance values less than the distance between the virtual plane and the 3D camera system. Based on this analysis, the computer can determine that at T2 a significant portion of the athlete's body has crossed the virtual plane. For example, the computer may determine that if the portion of an object that has crossed the virtual plane is greater than a certain threshold value, then the athlete is determined to have crossed the plane. Therefore, timestamp T2 may in this case determine the time of passage 610, in this example 2:34. Various rules can be defined to determine whether an object has crossed the virtual plane.

На фиг.7 изображен способ идентификации хронометрируемого объекта согласно варианту осуществления изобретения. Как только установлено время прохождения объекта, можно установить идентичность объекта. С этой целью сохраненные видеокадры могут быть проанализированы модулем идентификации объекта. Области интереса (ROI) в видеокадрах могут быть подвергнуты процессу анализа признаков, который ищет предварительно определенные признаки в ROI. Например, как показано на фиг.7, ROI 703 видеокадра Т3 702 из фиг.6 может быть подвергнута обработке алгоритмом анализа признаков, который может быть сконфигурирован для идентификации предварительно определенных признаков, таких как заранее определенные маркеры, например, нагрудный номер 7041, или код, такой как код 704 г быстрого реагирования (QR, Quick Response). Может использоваться любой уникальный идентификационный признак, включая тип обуви 7043, биометрические маркеры, цветные маркеры или маркеры специальной формы или их комбинация. Анализ может быть выполнен на основе набора ROI из разных видеокадров во время прохождения 3D зоны обнаружения. Часто бывает так, что видеокадр, используемый для определения времени прохождения, не подходит для целей идентификации. Кроме того, модуль идентификации объекта может определить, что видеокадр с меткой времени (например, видеокадр в Т2 в примере на фиг.6), который представляет изображение объекта, пересекающего виртуальную плоскость, не подходит для надежной идентификации объекта. В этом случае можно определить, что один или более других видеокадров (например, видеокадр в Т3 в примере на фиг.6) подходят для надежной идентификации хронометрируемого объекта. Любой известный алгоритм обнаружения объектов может использоваться для идентификации признаков в области интереса (ROI), включая обычные алгоритмы машинного зрения, технологии машинного обучения и глубокого обучения. Например, в одном варианте осуществления изобретения одна или более глубоких нейронных сетей могут использоваться для определения ROI в видеокадре, который содержит объект, и для определения определенных признаков, связанных с объектом.FIG. 7 illustrates a method for identifying a timed object according to an embodiment of the invention. Once the transit time of an object is established, the identity of the object can be established. For this purpose, the stored video frames can be analyzed by the object identification module. Regions of interest (ROIs) in video frames can be subjected to a feature analysis process that looks for predefined features in the ROI. For example, as shown in FIG. 7, the ROI 703 of the T3 video frame 702 of FIG. 6 may be subjected to processing by a feature analysis algorithm, which may be configured to identify predetermined features, such as predetermined markers, for example, bib number 704 1 , or code such as the 704 g quick response code (QR, Quick Response). Any unique identifying feature may be used, including shoe type 704 3 , biometric markers, colored or specially shaped markers, or a combination thereof. The analysis can be performed based on a set of ROIs from different video frames during the 3D detection zone. It is often the case that the video frame used to determine transit time is not suitable for identification purposes. In addition, the object identification module may determine that a time-stamped video frame (eg, a video frame at T2 in the example of FIG. 6) that represents an image of an object crossing the virtual plane is not suitable for reliable object identification. In this case, one or more other video frames (eg, the video frame in T3 in the example of FIG. 6) may be determined to be suitable for reliably identifying the timed object. Any known object detection algorithm can be used to identify features in a region of interest (ROI), including conventional computer vision algorithms, machine learning and deep learning technologies. For example, in one embodiment of the invention, one or more deep neural networks may be used to determine an ROI in a video frame that contains an object and to determine certain features associated with the object.

На фиг.8 изображена структурная схема способа определения времени прохождения согласно варианту осуществления изобретения. Как показано на этой фигуре, способ может начинаться с получения последовательности видеокадров, захваченных по меньшей мере одной системой камеры, предпочтительно системой 3D камеры, причем каждый видеокадр представляет изображение одного или более объектов, например, человека, животного или транспортного средства, движущихся вдоль дорожки, и каждый видеокадр имеет метку времени (этап 802). После этого информация о глубине, такая как одна или более карт глубины, может быть определена для последовательности видеокадров, при этом информация о глубине может включать в себя информацию, касающуюся расстояния между одним или более объектами на изображении видеокадра и системой камеры (этап 804). Как правило, система 3D камеры может быть стереокамерой, так что она создает пары видеокадров, которые можно использовать для определения карты глубины. После этого один или более объектов в видеокадрах могут быть обнаружены с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных алгоритмом обнаружения, определяют один или более обнаруженных объектов (этап 806). Таким образом, в каждом видеокадре может быть идентифицирован объект и определено расстояние между идентифицированным объектом и системой 3D камеры.FIG. 8 is a block diagram of a method for determining transit time according to an embodiment of the invention. As shown in this figure, the method may begin by obtaining a sequence of video frames captured by at least one camera system, preferably a 3D camera system, wherein each video frame represents an image of one or more objects, such as a person, animal or vehicle, moving along a track, and each video frame has a timestamp (step 802). Thereafter, depth information, such as one or more depth maps, may be determined for the sequence of video frames, wherein the depth information may include information regarding the distance between one or more objects in the video frame image and the camera system (step 804). Typically, a 3D camera system may be a stereo camera such that it produces pairs of video frames that can be used to determine a depth map. Thereafter, one or more objects in the video frames may be detected using an object detection algorithm, wherein the one or more objects detected by the detection algorithm determines the one or more objects detected (step 806). Thus, in each video frame an object can be identified and the distance between the identified object and the 3D camera system can be determined.

В варианте осуществления изобретения этап обнаружения объекта может включать в себя определение областей интереса (ROI), содержащих объект, и для каждой ROI обработку пикселей в ROI с помощью алгоритма классификации для классификации того, представляет ли пиксель часть объекта или часть фона.In an embodiment of the invention, the object detection step may include identifying regions of interest (ROIs) containing the object, and for each ROI, processing the pixels in the ROI using a classification algorithm to classify whether the pixel represents part of the object or part of the background.

Кроме того, может быть определен обнаруженный объект в видеокадрах, проходящий через линию хронометража, проходящую поперек спортивной дорожки, при этом линия хронометража определяется виртуальной плоскостью, расположенной поперек дорожки на заданном расстоянии от системы камеры, причем определение прохождения основано на координатах виртуальной плоскости и картах глубины (этап 808). Следовательно, расстояние между системой 3D камеры и виртуальной плоскостью можно сравнить с расстоянием между системой 3D камеры и обнаруженным объектом. Затем определяют время прохождения на основе момента времени, например метки времени, связанной с одним или более видеокадрами, содержащими обнаруженный объект, проходящий через линию хронометража (этап 810). Например, с этой целью может быть определен один или более видеокадров, в которых часть объекта, прошедшего через виртуальную плоскость, имеет определенные размеры.In addition, a detected object in video frames may be determined to pass through a timing line extending across the athletic track, wherein the timing line is defined by a virtual plane located across the track at a specified distance from the camera system, wherein the determination of the passage is based on virtual plane coordinates and depth maps (step 808). Therefore, the distance between the 3D camera system and the virtual plane can be compared with the distance between the 3D camera system and the detected object. The transit time is then determined based on a time point, such as a timestamp, associated with one or more video frames containing the detected object passing through the timing line (step 810). For example, for this purpose, one or more video frames can be defined in which part of the object that has passed through the virtual plane has certain dimensions.

Следовательно, можно использовать определенные правила для определения, прошел ли объект через виртуальную плоскость. Момент времени, например метка времени, связанная с видеокадром, который показывает эту ситуацию, определяет время прохождения. После этого алгоритм анализа признаков может быть применен к одному или более обнаруженным объектам в видеокадрах, при этом алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах (этап 812) и идентичность обнаруженного объекта, для которого время прохождения может быть определено на основе идентификационных признаков обнаруженного объекта, который прошел через линию хронометража.Therefore, certain rules can be used to determine whether an object has passed through the virtual plane. A point in time, such as a timestamp, associated with a video frame that shows this situation determines the transit time. The feature analysis algorithm may then be applied to the one or more detected objects in the video frames, wherein the feature analysis algorithm determines identifying features for the one or more detected objects in the video frames (step 812) and the identity of the detected object, for which a travel time can be determined at based on the identification characteristics of a detected object that passed through the timing line.

В варианте осуществления изобретения алгоритм обнаружения объектов и алгоритм анализа признаков являются частью алгоритма машинного обучения, предпочтительно алгоритма глубокого обучения, такого как система сверточной глубокой нейронной сети, которая обучается обнаруживать один или более объектов в видеокадре и определять идентификационные признаки, связанные с обнаруженными объектами.In an embodiment of the invention, the object detection algorithm and the feature analysis algorithm are part of a machine learning algorithm, preferably a deep learning algorithm, such as a convolutional deep neural network system, that learns to detect one or more objects in a video frame and determine identifying features associated with the detected objects.

Таким образом, различные изображения из последовательности видеокадров могут быть использованы для идентификации объекта, пересекшего виртуальную плоскость в момент прохождения. Следовательно, видеокадр, используемый для определения времени прохождения объекта, может отличаться от одного или более видеокадров, которые используются для определения идентичности объекта.Thus, different images from a sequence of video frames can be used to identify the object that crossed the virtual plane at the moment of its passage. Therefore, the video frame used to determine the transit time of an object may be different from the one or more video frames that are used to determine the identity of the object.

На фиг.9 изображена система для определения времени прохождения согласно варианту осуществления изобретения. Как показано на фигуре, система содержит одну или более систем камер 9011,2, подключенных к компьютерной системе, которая сконфигурирована для управления системами камер и обработки видеокадров 9031,2, генерируемых системами камер. Каждая из систем камер калибруется в соответствии со способом калибровки, описанным в этой заявке, так что она захватывает сцену дорожки, включающую движущиеся объекты, которые проходят через линию хронометража, представленную виртуальной плоскостью 902. Компьютерная система может содержать анализатор 904 событий для выполнения обнаружения объектов и анализа признаков объектов в видеокадрах с использованием подходящего алгоритма. Кроме того, анализатор событий может генерировать информацию о глубине, например карты глубины, связанные с видеокадрами. Модуль 906 прохождения может определять время прохождения на основании информации о глубине и координатах виртуальной плоскости. Кроме того, модуль 908 идентификации объекта может идентифицировать объекты, которые обнаруживаются и связываются со временем прохождения модулем времени прохождения. Значения времени прохождения и идентификаторы (ID) объекта, который прошел, могут сохраняться в памяти компьютера. Кроме того, может сохраняться изображение прохождения хронометрируемого объекта. Эта информация может передаваться через (беспроводной) интерфейс 912 на сетевой сервер 914.FIG. 9 illustrates a system for determining transit time according to an embodiment of the invention. As shown in the figure, the system includes one or more camera systems 901 1,2 connected to a computer system that is configured to control the camera systems and process video frames 903 1,2 generated by the camera systems. Each of the camera systems is calibrated in accordance with the calibration method described in this application so that it captures a track scene including moving objects that pass through a timing line represented by virtual plane 902. The computer system may include an event analyzer 904 to perform object detection and analyzing features of objects in video frames using a suitable algorithm. Additionally, the event analyzer can generate depth information, such as depth maps associated with video frames. The transit module 906 can determine the transit time based on depth information and virtual plane coordinates. In addition, the object identification module 908 may identify objects that are detected and associated with the transit time by the transit time module. The transit time values and the identifiers (IDs) of the object that has passed may be stored in the computer's memory. In addition, an image of the passage of the timed object can be stored. This information may be transmitted via (wireless) interface 912 to network server 914.

На фиг.10 показаны некоторые иллюстративные изображения объектов, проходящих через линию хронометража системы хронометража согласно варианту осуществления изобретения. Как показано на этих изображениях, средства калибровки используются для установки виртуальной плоскости между маркерами. Плоскость расположена перпендикулярно дорожке, чтобы такие объекты как спортсмены могли пересекать ее. На изображениях также показано, что система хронометража способна обнаруживать во время прохождения объекта часть объекта, прошедшую виртуальную плоскость (обозначенную белыми частями), и часть объекта, не прошедшую линию финиша.FIG. 10 shows some illustrative images of objects passing through a timing line of a timing system according to an embodiment of the invention. As shown in these images, the calibration tools are used to set a virtual plane between the markers. The plane is positioned perpendicular to the track to allow objects such as athletes to cross it. The images also show that the timing system is able to detect, as an object passes, the part of the object that has passed the virtual plane (indicated by the white parts) and the part of the object that has not passed the finish line.

Фиг. 11 представляет собой блок-схему, иллюстрирующую пример систем обработки данных, описанных в настоящем документе. Система 1100 обработки данных может содержать по меньшей мере один процессор 1102, соединенный с элементами 1104 памяти через системную шину 1106. Таким образом, система обработки данных может хранить программный код в элементах 1104 памяти. Кроме того, процессор 1102 может выполнять программный код, полученный из элементов 1104 памяти через системную шину 1106. В одном аспекте система обработки данных может быть реализована в виде компьютера, подходящего для хранения и/или выполнения программного кода. Однако следует понимать, что система 2100 обработки данных может быть реализована в виде любой системы, содержащей процессор и память, которая способна выполнять функции, описанные в этом описании.Fig. 11 is a block diagram illustrating an example of the data processing systems described herein. The data processing system 1100 may include at least one processor 1102 coupled to the memory elements 1104 via a system bus 1106. Thus, the data processing system may store program code in the memory elements 1104. In addition, processor 1102 may execute program code obtained from memory elements 1104 via system bus 1106. In one aspect, the data processing system may be implemented as a computer suitable for storing and/or executing program code. However, it should be understood that the data processing system 2100 may be implemented as any system comprising a processor and memory that is capable of performing the functions described in this specification.

Элементы 1104 памяти могут включать в себя одно или более устройств физической памяти, таких как, например, локальная память 1108 и одно или более запоминающих устройств 1110 большого объема. Локальная память может относиться к оперативной памяти или другому устройству (устройствам) непостоянной памяти, обычно используемым во время фактического выполнения программного кода. Устройство хранения данных может быть реализовано как жесткий диск или другое постоянное устройство хранения данных. Система 1100 обработки может также включать в себя одну или более кэш-памятей (не показанных), которые обеспечивают временное хранение по меньшей мере некоторого программного кода, чтобы уменьшить количество раз, когда программный код должен извлекаться из устройства 1110 хранения данных во время выполнения.Memory elements 1104 may include one or more physical memory devices, such as, for example, local memory 1108 and one or more mass storage devices 1110. Local memory may refer to RAM or other non-persistent memory device(s) commonly used during the actual execution of program code. The storage device may be implemented as a hard disk or other permanent storage device. Processing system 1100 may also include one or more caches (not shown) that provide temporary storage of at least some program code to reduce the number of times program code must be retrieved from storage device 1110 during execution.

Устройства ввода/вывода (I/O, Input/Output), изображенные как устройство 1112 ввода и устройство 1114 вывода, могут быть опционально подключены к системе обработки данных. Примеры устройства ввода могут включать в себя, но не ограничиваются ими, например, клавиатуру, указывающее устройство, такое как мышь, и т.п. Примеры устройства вывода могут включать, но не ограничиваются ими, например, монитор или дисплей, громкоговорители и т.п. Устройство ввода и/или устройство вывода могут быть связаны с системой обработки данных либо напрямую, либо через промежуточные контроллеры ввода/вывода (I/O). Сетевой адаптер 1116 также может быть соединен с системой обработки данных, чтобы обеспечить ее связь с другими системами, компьютерными системами, удаленными сетевыми устройствами и/или удаленными устройствами хранения данных через промежуточные частные или общедоступные сети. Сетевой адаптер может содержать приемник данных для приема данных, которые передаются упомянутыми системами, устройствами и/или сетями для упомянутых данных, и передатчик данных для передачи данных в упомянутые системы, устройства и/или сети. Модемы, кабельные модемы и Ethernet-карты являются примерами различных типов сетевых адаптеров, которые могут использоваться с системой 1100 обработки данных.Input/output devices (I/O, Input/Output), depicted as input device 1112 and output device 1114, can optionally be connected to the data processing system. Examples of the input device may include, but are not limited to, a keyboard, a pointing device such as a mouse, and the like. Examples of output devices may include, but are not limited to, a monitor or display, speakers, and the like. An input device and/or an output device may be coupled to the data processing system either directly or through intermediate input/output (I/O) controllers. The network adapter 1116 may also be coupled to the data processing system to allow it to communicate with other systems, computer systems, remote network devices, and/or remote storage devices via intermediate private or public networks. The network adapter may include a data receiver for receiving data that is transmitted by said systems, devices and/or networks for said data, and a data transmitter for transmitting data to said systems, devices and/or networks. Modems, cable modems, and Ethernet cards are examples of various types of network adapters that can be used with the data processing system 1100.

Как показано на фиг.11, элементы 1104 памяти могут хранить приложение 1118. Следует понимать, что система 1100 обработки данных может дополнительно выполнять операционную систему (не показанную), которая может облегчить выполнение приложения. Приложение, реализованное в виде исполняемого программного кода, может выполняться системой 1100 обработки данных, например, процессором 1102. В ответ на выполнение приложения система обработки данных может быть сконфигурирована для выполнения одной или более операций, которые подробно описаны в данном документе.As shown in FIG. 11, memory elements 1104 may store application 1118. It should be understood that processing system 1100 may further implement an operating system (not shown) that may facilitate execution of the application. The application, implemented as executable program code, may be executed by a data processing system 1100, such as a processor 1102. In response to execution of the application, the data processing system may be configured to perform one or more operations, which are described in detail herein.

В одном аспекте, например, система 1100 обработки данных может представлять клиентскую систему обработки данных. В этом случае приложение 1118 может представлять собой клиентское приложение, которое при выполнении конфигурирует систему 2100 обработки данных для выполнения различных функций, описанных здесь со ссылкой на "клиента". Примеры клиента могут включать, помимо прочего, персональный компьютер, портативный компьютер, мобильный телефон и т.п.In one aspect, for example, the data processing system 1100 may represent a client data processing system. In this case, application 1118 may be a client application that, when executed, configures data processing system 2100 to perform various functions described herein with reference to a “client.” Examples of a client may include, but are not limited to, a personal computer, laptop computer, mobile phone, or the like.

В другом аспекте система обработки данных может представлять собой сервер. Например, система обработки данных может представлять собой сервер (обработки запросов по протоколу передачи гипертекстовых данных (HTTP, Hypertext Transfer Protocol)), и в этом случае приложение 1118 при выполнении может конфигурировать систему обработки данных для выполнения операций сервера (HTTP). В другом аспекте система обработки данных может представлять собой модуль, блок или функцию, как указано в данном описании.In another aspect, the data processing system may be a server. For example, the data processing system may be a server (Hypertext Transfer Protocol (HTTP) request processing), in which case application 1118 may, when executed, configure the data processing system to perform server (HTTP) operations. In another aspect, the data processing system may be a module, block, or function, as defined herein.

Используемая здесь терминология предназначена только для описания конкретных вариантов осуществления и не предназначена для ограничения изобретения. Используемые здесь формы единственного числа предназначены также для включения форм множественного числа, если в контексте явно не указано иное. Кроме того, следует понимать, что термины "содержит" и/или "содержащий" при использовании в данном описании определяют наличие заявленных признаков, целых, этапов, операций, элементов и/или компонентов, но не исключают наличия или добавление одного или более других признаков, целых, этапов, операций, элементов, компонентов и/или их групп.The terminology used herein is intended to describe specific embodiments only and is not intended to limit the invention. The singular forms used herein are intended to also include plural forms unless the context clearly indicates otherwise. In addition, it should be understood that the terms “comprises” and/or “comprising” when used herein define the presence of the claimed features, integers, steps, operations, elements and/or components, but do not exclude the presence or addition of one or more other features , whole, stages, operations, elements, components and/or their groups.

Соответствующие структуры, материалы, действия и эквиваленты всех средств или этапов плюс функциональные элементы в формуле изобретения, приведенной ниже, предназначены для включения любой конструкции, материала или действия для выполнения функции в сочетании с другими заявленными элементами, как конкретно заявлено. Описание настоящего изобретения было представлено в целях иллюстрации и описания, но не предназначено быть исчерпывающим или ограничивающим изобретение в раскрытой форме. Специалистам в данной области техники будут очевидны многие модификации и вариации, не выходящие за рамки объема и сущности изобретения. Вариант осуществления изобретения был выбран и описан для того, чтобы наилучшим образом объяснить принципы изобретения и его практическое применение и дать возможность другим специалистам в данной области техники понять изобретение для различных вариантов осуществления с различными модификациями, которые подходят для конкретного предполагаемого использования.The respective structures, materials, acts and equivalents of all means or steps plus functional elements in the claims below are intended to include any structure, material or act to perform a function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limiting of the invention in its disclosed form. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the invention. An embodiment of the invention has been selected and described to best explain the principles of the invention and its practical application and to enable others skilled in the art to understand the invention for various embodiments with various modifications as are suitable for the particular intended use.

Claims (53)

1. Способ определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, включающий:1. A method for determining the time of passage of an object through a timing line running across a sports track, including: прием видеокадров, предпочтительно последовательности видеокадров, захваченных по меньшей мере одной системой камеры, предпочтительно системой 3D-камеры, причем каждый видеокадр представляет изображение сцены с одним или более объектами, например, человеком, животным или транспортным средством, движущимися вдоль дорожки, и каждый видеокадр связан с моментом времени, например, имеет метку времени;receiving video frames, preferably a sequence of video frames, captured by at least one camera system, preferably a 3D camera system, wherein each video frame represents an image of a scene with one or more objects, such as a person, animal or vehicle, moving along a track, and each video frame is associated with a point in time, for example, has a timestamp; определение информации о глубине, например, одной или более карт глубины, по меньшей мере для части видеокадров, при этом информация о глубине содержит информацию, касающуюся расстояния между по меньшей мере одним из одного или более объектов на изображении видеокадра и системой камеры;determining depth information, such as one or more depth maps, for at least a portion of the video frames, wherein the depth information includes information regarding a distance between at least one of the one or more objects in an image of the video frame and the camera system; обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных алгоритмом обнаружения, определяют один или более обнаруженных объектов;detecting one or more objects in the video frames using an object detection algorithm, wherein the one or more objects detected by the detection algorithm determines the one or more detected objects; определение по меньшей мере одного обнаруженного объекта по меньшей мере в части видеокадров, при этом по меньшей мере один обнаруженный объект проходит через линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определена виртуальной плоскостью, расположенной поперек дорожки на заранее заданном расстоянии от системы камеры, и определение прохождения объекта основано на координатах виртуальной плоскости и информации о глубине; иdetermining at least one detected object in at least a portion of the video frames, wherein the at least one detected object passes through a timing line extending across the track, wherein the timing line is defined by a virtual plane located across the track at a predetermined distance from the camera system, and determining the passage of the object is based on virtual plane coordinates and depth information; And определение времени прохождения на основе одного или более моментов времени одного или более видеокадров, содержащих по меньшей мере один обнаруженный объект, проходящий линию хронометража.determining a transit time based on one or more times of one or more video frames containing at least one detected object passing the timing line. 2. Способ по п. 1, дополнительно включающий:2. The method according to claim 1, additionally including: применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; иapplying the feature analysis algorithm to the one or more detected objects in the video frames, the feature analysis algorithm determining identifying features for the one or more detected objects in the video frames; And определение идентичности обнаруженного объекта, для которого определяют время прохождения, на основе идентификационных признаков обнаруженного объекта, прошедшего линию хронометража.determining the identity of the detected object, for which the transit time is determined, based on the identification characteristics of the detected object that has passed the timing line. 3. Способ по п. 2, в котором идентификационные признаки обнаруженного объекта включают в себя один или более оптически читаемых идентификационных маркеров, таких как нагрудный номер или печатная метка; и/или одну или более характеристик формы и/или цвета обнаруженного объекта; и/или, если обнаруженный объект является животным или человеком, один или более биометрических идентификаторов обнаруженного объекта.3. The method of claim 2, wherein the identification features of the detected object include one or more optically readable identification markers, such as a bib number or a printed mark; and/or one or more characteristics of the shape and/or color of the detected object; and/or, if the detected object is an animal or human, one or more biometric identifiers of the detected object. 4. Способ по п. 2 или 3, в котором алгоритм обнаружения объектов и алгоритм анализа признаков являются частью алгоритма машинного обучения, предпочтительно алгоритма глубокого обучения, такого как система сверточной глубокой нейронной сети, которая обучается обнаруживать один или более объектов в видеокадре и определять идентификационные признаки, связанные с обнаруженными объектами.4. The method of claim 2 or 3, wherein the object detection algorithm and the feature analysis algorithm are part of a machine learning algorithm, preferably a deep learning algorithm, such as a convolutional deep neural network system, which learns to detect one or more objects in a video frame and determine the identification signs associated with detected objects. 5. Способ по любому из пп. 1-4, в котором обнаружение одного или более объектов в видеокадрах включает:5. Method according to any one of paragraphs. 1-4, wherein detecting one or more objects in video frames includes: определение одной или более областей интереса (ROI) в видеокадре, при этом каждая область ROI содержит пиксели, представляющие объект;defining one or more regions of interest (ROIs) in the video frame, each ROI containing pixels representing an object; определение идентификационных признаков в одной или более областях ROI; иdetermining identification features in one or more areas of the ROI; And определение объекта в ROI на основе идентификационных признаков, которые определены.identifying an object in the ROI based on identification features that are defined. 6. Способ по любому из пп. 1-5, в котором система камеры содержит множество модулей камер, предпочтительно два модуля камер, образующих стереокамеру, при этом стереокамера выполнена с возможностью формировать в каждый момент времени по меньшей мере первый видеокадр и второй видеокадр сцены, и карту глубины определяют на основе алгоритма отображения диспаратности, сконфигурированного для определения диспаратности между пикселями первого и второго видеокадра.6. Method according to any one of paragraphs. 1-5, in which the camera system includes a plurality of camera modules, preferably two camera modules, forming a stereo camera, wherein the stereo camera is configured to generate at each time at least a first video frame and a second video frame of the scene, and a depth map is determined based on the mapping algorithm disparity configured to determine the disparity between pixels of the first and second video frame. 7. Способ по любому из пп. 1-6, в котором время прохождения определяют на основе видеокадра сцены, в которой заданная часть обнаруженного объекта прошла виртуальную плоскость.7. Method according to any one of paragraphs. 1-6, in which the travel time is determined based on a video frame of the scene in which a given part of the detected object has passed the virtual plane. 8. Способ определения времени прохождения объектов через линию хронометража, проходящую поперек спортивной дорожки, включающий:8. A method for determining the time of passage of objects through a timing line running across a sports track, including: прием видеокадров от множества систем камер, предпочтительно синхронизированных по времени, при этом множество систем камер захватывают сцену спортивной дорожки с разных углов обзора, причем видеокадры представляют собой изображения сцены, содержащей один илиreceiving video frames from a plurality of camera systems, preferably time synchronized, wherein the plurality of camera systems capture a sports track scene from different viewing angles, the video frames being images of the scene containing one or более объектов, например, человека, животного или транспортного средства, движущихся вдоль дорожки, при этом каждый из видеокадров связан с моментом времени, например, имеет метку времени;more objects, for example a person, animal or vehicle, moving along the track, each of the video frames being associated with a point in time, for example, having a time stamp; определение информации о глубине, например, одной или более карт глубины, на основе принятых видеокадров, при этом информация о глубине содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра и по меньшей мере одной из множества систем камер;determining depth information, for example, one or more depth maps, based on the received video frames, wherein the depth information includes information regarding the distance between one or more objects in an image of the video frame and at least one of the plurality of camera systems; обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных алгоритмом обнаружения, определяют один или более обнаруженных объектов;detecting one or more objects in the video frames using an object detection algorithm, wherein the one or more objects detected by the detection algorithm determines the one or more detected objects; определение по меньшей мере одного обнаруженного объекта по меньшей мере в части видеокадров, причем по меньшей мере один обнаруженный объект проходит через линию хронометража, проходящую поперек спортивной дорожки, при этом линия хронометража определена виртуальной плоскостью, расположенной поперек дорожки на заранее заданных расстояниях от множества систем камер, и определение прохождения объекта основано на координатах виртуальной плоскости и информации о глубине; иdetermining at least one detected object in at least a portion of the video frames, wherein the at least one detected object passes through a timing line extending across the track, wherein the timing line is defined by a virtual plane located across the track at predetermined distances from the plurality of camera systems , and determining the passage of an object is based on virtual plane coordinates and depth information; And определение времени прохождения на основе одного или более моментов времени одного или более видеокадров, содержащих по меньшей мере один обнаруженный объект, проходящий через линию хронометража.determining a transit time based on one or more times of one or more video frames containing at least one detected object passing through the timing line. 9. Способ по п. 8, дополнительно включающий:9. The method according to claim 8, additionally including: применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализаapplying a feature analysis algorithm to one or more detected objects in video frames, wherein the analysis algorithm признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; иfeatures defines identifying features for one or more detected objects in video frames; And определение идентичности обнаруженного объекта, для которого определяют время прохождения, на основе идентификационных признаков обнаруженного объекта, который прошел линию хронометража.determining the identity of the detected object, for which the transit time is determined, based on the identification characteristics of the detected object that has passed the timing line. 10. Способ калибровки системы хронометража, сконфигурированной для определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, при этом способ включает:10. A method for calibrating a timing system configured to determine the time of passage of an object through a timing line extending across a track, the method comprising: прием видеокадров, предпочтительно последовательности видеокадров, захваченных системой камеры, предпочтительно системой 3D-камеры, упомянутой системы хронометража, при этом каждый видеокадр представляет собой изображение сцены, включающей дорожку и один или более калибровочных маркеров, предпочтительно по меньшей мере два калибровочных маркера, расположенных на противоположных сторонах дорожки;receiving video frames, preferably a sequence of video frames, captured by a camera system, preferably a 3D camera system, of said timing system, wherein each video frame is an image of a scene including a track and one or more calibration markers, preferably at least two calibration markers located in opposite directions sides of the path; определение информации о глубине, например, одной или более карт глубины, на основе видеокадров, причем информация о глубине содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра;determining depth information, such as one or more depth maps, based on the video frames, wherein the depth information includes information regarding a distance between one or more objects in an image of the video frame; использование информации о глубине для определения расстояния между по меньшей мере одним калибровочным маркером и системой камеры;using the depth information to determine a distance between the at least one calibration marker and the camera system; определение координат виртуальной плоскости, расположенной поперек дорожки в месте расположения одного или более калибровочных маркеров, предпочтительно между по меньшей мере двумя калибровочными маркерами, расположенными на противоположных сторонах дорожки, при этом виртуальная плоскость определяет линию хронометража для системы хронометража; иdetermining the coordinates of a virtual plane located across the track at the location of one or more calibration markers, preferably between at least two calibration markers located on opposite sides of the track, wherein the virtual plane defines a timing line for the timing system; And сохранение координат виртуальной плоскости в памяти системы хронометража.saving the coordinates of the virtual plane in the memory of the timing system. 11. Система для определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, содержащая:11. A system for determining the time of passage of an object through a timing line running across a sports track, containing: по меньшей мере одну систему камеры, подключенную к компьютеру;at least one camera system connected to a computer; компьютер, содержащий машиночитаемый носитель данных, имеющий воплощенный на нем машиночитаемый программный код, и процессор, предпочтительно микропроцессор, соединенный с машиночитаемым носителем данных,a computer comprising a computer-readable storage medium having computer-readable program code embodied thereon, and a processor, preferably a microprocessor, coupled to the computer-readable storage medium, при этом в ответ на выполнение машиночитаемого программного кода процессор конфигурируется для выполнения исполняемых операций, включающих:wherein, in response to execution of the machine-readable program code, the processor is configured to perform executable operations including: прием видеокадров, предпочтительно последовательности видеокадров, фиксируемых по меньшей мере одной системой камеры, предпочтительно системой 3D-камеры, причем каждый видеокадр представляет собой изображение сцены с одним или более объектами, например, человеком, животным или транспортным средством, движущимися вдоль дорожки, и каждый видеокадр связан с моментом времени, например, имеет метку времени;receiving video frames, preferably a sequence of video frames, captured by at least one camera system, preferably a 3D camera system, wherein each video frame is an image of a scene with one or more objects, such as a person, animal or vehicle, moving along a track, and each video frame associated with a point in time, for example, has a timestamp; определение информации о глубине, например, одной или более карт глубины, по меньшей мере для части видеокадров, при этом информация о глубине содержит информацию, касающуюся расстояния между по меньшей мере одним из одного или более объектов в изображении видеокадра и системой камеры;determining depth information, such as one or more depth maps, for at least a portion of the video frames, wherein the depth information includes information regarding a distance between at least one of the one or more objects in an image of the video frame and the camera system; обнаружение одного или более объектов в видеокадрах с использованием алгоритма обнаружения объектов, при этом один или более объектов, обнаруженных с помощью алгоритма обнаружения, определяет один или более обнаруженных объектов;detecting one or more objects in the video frames using an object detection algorithm, wherein the one or more objects detected using the detection algorithm determines the one or more detected objects; определение по меньшей мере одного обнаруженного объекта по меньшей мере в части видеокадров, при этом по меньшей мере один обнаруженный объект проходит через линию хронометража, проходящую поперек спортивной дорожки, причем линия хронометража определяется виртуальной плоскостью, расположенной поперек дорожки на заданном расстоянии от системы камеры, и определение прохождения основано на координатах виртуальной плоскости и информации о глубине; иdetermining at least one detected object in at least a portion of the video frames, wherein the at least one detected object passes through a timing line extending across the track, wherein the timing line is defined by a virtual plane located across the track at a predetermined distance from the camera system, and the passage determination is based on virtual plane coordinates and depth information; And определение времени прохождения на основе одного или более моментов времени одного или более видеокадров, содержащих по меньшей мере один обнаруженный объект, проходящий через линию хронометража.determining a transit time based on one or more times of one or more video frames containing at least one detected object passing through the timing line. 12. Система по п. 11, в которой выполняемые операции дополнительно включают:12. The system according to claim 11, in which the operations performed additionally include: применение алгоритма анализа признаков к одному или более обнаруженным объектам в видеокадрах, причем алгоритм анализа признаков определяет идентификационные признаки для одного или более обнаруженных объектов в видеокадрах; иapplying the feature analysis algorithm to the one or more detected objects in the video frames, the feature analysis algorithm determining identifying features for the one or more detected objects in the video frames; And определение идентичности обнаруженного объекта, для которого определяется время прохождения, на основе идентификационных признаков обнаруженного объекта, прошедшего линию хронометража.determining the identity of a detected object, for which the passage time is determined, based on the identification characteristics of the detected object that has passed the timing line. 13. Калибровочный модуль для системы хронометража, сконфигурированной для определения времени прохождения объекта через линию хронометража, проходящую поперек спортивной дорожки, причем модуль содержит:13. A calibration module for a timing system configured to determine the time of passage of an object through a timing line extending across a track, the module comprising: прием видеокадров, предпочтительно последовательности видеокадров, захваченных системой камеры, предпочтительно системой 3D-камеры, системы хронометража, причем каждый видеокадр представляет собой изображение сцены, включающей дорожку и один или более калибровочных маркеров, предпочтительно не менее двух калибровочных маркеров, расположенных на противоположных сторонах дорожки;receiving video frames, preferably a sequence of video frames, captured by a camera system, preferably a 3D camera system, a timing system, each video frame representing an image of a scene including a track and one or more calibration markers, preferably at least two calibration markers located on opposite sides of the track; определение информации о глубине, например, одной или более карт глубины, на основе видеокадров, причем информация о глубине содержит информацию, касающуюся расстояния между одним или более объектами в изображении видеокадра;determining depth information, such as one or more depth maps, based on the video frames, wherein the depth information includes information regarding a distance between one or more objects in an image of the video frame; использование информации о глубине для определения расстояния между по меньшей мере одним калибровочным маркером и системой камеры;using the depth information to determine a distance between the at least one calibration marker and the camera system; определение координат виртуальной плоскости, расположенной поперек дорожки в месте расположения одного или более калибровочных маркеров, предпочтительно между по меньшей мере двумя калибровочными маркерами, расположенными на противоположных сторонах дорожки, при этом виртуальная плоскость определяет линию хронометража для системы хронометража; иdetermining the coordinates of a virtual plane located across the track at the location of one or more calibration markers, preferably between at least two calibration markers located on opposite sides of the track, wherein the virtual plane defines a timing line for the timing system; And сохранение координат виртуальной плоскости в памяти системы хронометража.saving the coordinates of the virtual plane in the memory of the timing system. 14. Машиночитаемый носитель данных, на котором хранится по меньшей мере одна часть программного обеспечения, которая при выполнении или обработке компьютером сконфигурирована для выполнения этапов способа по любому из пп. 1-9.14. A computer-readable storage medium on which is stored at least one piece of software that, when executed or processed by a computer, is configured to perform the steps of the method according to any one of claims. 1-9.
RU2022108642A 2019-09-14 2020-09-14 Sports timing based on camera system RU2813497C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP19197427.8 2019-09-14

Publications (1)

Publication Number Publication Date
RU2813497C1 true RU2813497C1 (en) 2024-02-12

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6433817B1 (en) * 2000-03-02 2002-08-13 Gavin Guerra Apparatus and method for determining the winner of a race
US9291713B2 (en) * 2011-03-31 2016-03-22 Strava, Inc. Providing real-time segment performance information
US9615015B2 (en) * 2012-01-27 2017-04-04 Disney Enterprises, Inc. Systems methods for camera control using historical or predicted event data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6433817B1 (en) * 2000-03-02 2002-08-13 Gavin Guerra Apparatus and method for determining the winner of a race
US9291713B2 (en) * 2011-03-31 2016-03-22 Strava, Inc. Providing real-time segment performance information
US9615015B2 (en) * 2012-01-27 2017-04-04 Disney Enterprises, Inc. Systems methods for camera control using historical or predicted event data

Similar Documents

Publication Publication Date Title
US20220327720A1 (en) Sports timing based on a camera system
US9911198B2 (en) Method, system and apparatus for matching moving targets between camera views
US9483839B1 (en) Occlusion-robust visual object fingerprinting using fusion of multiple sub-region signatures
US9892316B2 (en) Method and apparatus for pattern tracking
US7929017B2 (en) Method and apparatus for stereo, multi-camera tracking and RF and video track fusion
US9052329B2 (en) Tire detection for accurate vehicle speed estimation
US20200082614A1 (en) Intelligent capturing of a dynamic physical environment
US20150138310A1 (en) Automatic scene parsing
CN106993181A (en) Many VR/AR equipment collaborations systems and Synergistic method
KR101608889B1 (en) Monitoring system and method for queue
US20160358032A1 (en) Methods, devices and computer programs for processing images in a system comprising a plurality of cameras
US11321855B2 (en) Multi-camera homogeneous object trajectory alignment
CN106937532B (en) System and method for detecting actual user
CN106462244A (en) Methods and systems for calibrating sensors using recognized objects
RU2813497C1 (en) Sports timing based on camera system
WO2023033653A1 (en) Vision-based sports timing and identification system
Li et al. A hybrid pose tracking approach for handheld augmented reality
Pennisi et al. Ground truth acquisition of humanoid soccer robot behaviour
NL2031336B1 (en) Sports timing based on a camera system
CN115345927A (en) Exhibit guide method and related device, mobile terminal and storage medium
US10600192B1 (en) Multi-camera homogeneous object alignment
EP2874117A1 (en) Method and apparatus for determining position related properties of a motion video camera
Lee et al. OPTIMUS: Online persistent tracking and identification of many users for smart spaces
CN118160010A (en) Vision-based athletic timing and identification system
JP2020052600A (en) Object identification device and method and program