Systems and methods for tracking objects accurately and in real time
The system uses atmospheric-resistant emitters and efficient data processing to overcome tracking challenges in 3D environments, ensuring accurate and timely vehicle monitoring.
Patent Information
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- I R KINETICS LTD
- Filing Date
- 2025-08-14
- Publication Date
- 2026-04-22
AI Technical Summary
Current optical tracking methods for vehicles in 3D environments, such as motor racing circuits, face challenges including loss of data for vehicles far from the camera due to overlap, high computational expense, and delays in processing and detection, especially in high-speed and varying lighting conditions, leading to disrupted event monitoring.
A system using emitters that emit light at a specific wavelength not absorbed by the atmosphere, combined with cameras and processors to identify pixel positions and determine object positions in 3D environments, with edge and hub computers for efficient data processing and tracking.
Enables accurate, real-time tracking of vehicles with reduced data volume and computational load, allowing for precise boundary detection and event monitoring without delays.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to systems and methods fortracking objects in a 3D (three-dimensional) environment. In particular, the present disclosure relates to tracking vehicles on a driving surface, such as a motor racing circuit. BACKGROUND
[0002] In various applications, it is desirable to monitor the position of objects such as vehicles. For example, the position of vehicles is often monitored on roads and motorways, so that the speed of the vehicle can be determined. In another example, in autonomous (or semi-autonomous) vehicles, monitoring the position of the vehicle on a driving surface allows for determination of whether the vehicle is approaching or crossing a boundary (such as lines that mark the driveable limits of a roadway, the boundaries between driving lanes, stopping limits at road junctions, or parking bays in a car park). Monitoring the position of the vehicle ensures that when the vehicle approaches or crosses such a boundary, corrective action can be automatically taken by the autonomous (or semi-autonomous) vehicle, to avoid the vehicle transgressing into the path of another vehicle in a separate lane or to avoid crashing into a physical obstacle.
[0003] Position monitoring is also used in the field of motorsports. In motorsport events, vehicles race around a motor circuit, with the aim of, for example, achieving the quickest lap, or being the first vehicle to cross a finish line. Monitoring the position of vehicles as the vehicles drive round the motor circuit is useful to ensure that penalties are imposed correctly when a vehicle crosses a boundary of the track (which is not permitted), and to ensure that the first vehicle to cross the finish line is easily determined, even when the race appears very close. In motorsport events, the vehicles typically travel at very high velocities, and so it is difficult to determine visually (by eye) whether a vehicle (or a portion of a vehicle) has crossed the boundary of the circuit, or to determine which vehicle crosses the finish line first (especially in races that are extremely close). Accurate tracking methods are therefore useful for monitoring the position of vehicles during a motorsport event.
[0004] Current optical tracking methods use visible band cameras to monitor the position of vehicles on a motor circuit. There are, however, limitations associated with this method. The way that a camera operates means that if there are multiple overlapping vehicles in the field of view (for example, during an overtake), the vehicle furthest from the camera is not detected, and so data relating to the position of this vehicle is lost. Additionally, to track a vehicle, camera images are captured at a high frequency, for example every 0.01s, which results in an extremely high number of camera images that need to be processed, and for each captured camera image, the full image is processed to detect the vehicle. Due to the volume of data, this is computationally expensive and difficult to do in real-time. Additionally, camera images may contain a lot of noise, and detecting the vehicle accurately in the camera image may be difficult. For example, when there are overlapping vehicles (as described above) or other objects in the camera image, it may be difficult to distinguish the vehicle of interest. Different lighting and weather conditions may also result in a camera image where the vehicle is not able to be accurately detected. [00OS] Additionally, the processing of images typically occurs at a separate processor, requiring camera data to be transferred to the separate processor for analysis. Due to the high volume of data in each image and the high number of images, transfer of data is difficult to do in real-time. As a result, there is a delay in the position monitoring, and so any transgressions (for example a vehicle crossing the boundary of the circuit) are not detected until after the fact, leading to disruption to the event.
[0006] It is an object of the present disclosure to overcome at least one of the limitations described above. SUMMARY OF THE DISCLOSURE
[0007] According to one aspect of the present disclosure there is provided a system fortracking movement of an object in a three-dimensional (3D) environment, the system comprising: at least one emitter provided on the object, the emitter being arranged to emit light at a predetermined wavelength, the predetermined wavelength being different to wavelengths of light absorbed by elements in the earth’s atmosphere; at least one camera configured to capture a sequence of images comprising a plurality of image frames, the at least one camera comprising a filter configured to filter out received light not at the predetermined wavelength; and one or more processors configured for each image frame of the plurality of image frames to: identify a pixel position for the emitter in the image frame based on the light captured by the at least one camera; and use the pixel position, knowledge of a location and a field of view of the at least one camera and a model of the 3D environment to determine a position of the object in the 3D environment.
[0008] In one embodiment, the system comprises a data store storing emitter position information regarding the 3D location of the at least one emitter on the object and the one or more processors is configured to use the emitter position information in determining the position of the object in the 3D environment. This enables the position of the at least one emitter to be mapped onto the position of the object itself.
[0009] Preferably, the object is a vehicle and the at least one emitter is positioned along a longitudinal axis of the vehicle. Given that the vehicle generally travels in the longitudinal direction this arrangement of the at least one emitter maximises the ability to track the vehicle if it is moving extremely fast (up to speeds of 250mph or 402 km / h).
[0010] In preferred embodiments, the emitter comprises a light-emitting diode (LED) configured to emit light at an infrared wavelength. This provides an optimum controllable light source with relatively low power consumption and efficient high-power output.
[0011] The LED is preferably configured to emit light at a wavelength of or near 855nm. This means that the LED emits light with a frequency distribution centred at or very near 855nm. Typically, the distribution is narrow bandwidth, in that the half power bandwidth is approximately + / - 20nm. This wavelength provides an optimum value for non-absorption by elements in the atmosphere.
[0012] In some embodiments, the one or more processors is configured to identify a pixel position for the emitter by identifying pixels in the image frame having an intensity greater than a predetermined threshold, grouping the pixels, and determining a centre of the group of the pixels.
[0013] In some embodiments, the one or more processors is configured to combine sequential pixel positions of the emitter determined from processing the sequence of images to form a track of locations of the object through a field of view of the at least one camera. Such a track shows the position of the object through the camera’s field of view and enables tracking of the object. In some embodiments the one or more processors is configured to use the track of locations of the object from the plurality of frames to predict a location of the object in a subsequent sequential image frame. Such prediction is useful in improving the accuracy of the tracking. This is because in some embodiments the one or more processors is configured to use the predicted location of the object (based on extrapolation from a previous image frame(s)) in determining the position of the object in the 3D environment (in a current image frame). Also, the one or more processors can be configured to associate the track of locations with a unique identifier of the object.
[0014] In some embodiments, the emitter is configured to emit an encoded unique identifier of the object and possibly other information relating to the object using modulated light emissions over a plurality of frames. This can be highly advantageous as the object does not require any recognisable visual marker to be provided on its body and enables visual detection of at least a unique identifier using the at least one emitter (beacon). Furthermore, if the tracking of the object is lost due to it leaving the field of view of the one or more cameras and then rejoining that field of view, it can be easily recognised. This is particularly useful where multiple objects are being tracked and a plurality of them leave the field of view at the same time. In such embodiments, the one or more processors may be configured to decode the modulated light emissions from the emitter, determine the unique identity of the object, and associate the track of locations with the unique identity of the object. [001S] The system may further comprise: an edge computer provided in direct communication with the at least one camera at the location of the at least one camara, the edge computer providing at least a local processor of the one or more processors; and a hub computer provided at a location spaced apart from the edge computer, the hub computer being operatively connected to the edge computer via a communications channel. This arrangement is particularly useful if there are to be a plurality of cameras tracking distinct parts of a circuit along which the object traverses. In such a configuration the hub computer can take tracking information about the object from all of the cameras and aggregate the data into a complete picture of movement of the object.
[0016] In some embodiments, the local processor is configured to identify the pixel position of the emitter in the image frame based on the light captured by the at least one camera. Thereafter, in one embodiment the edge computer comprises: a transmitter configured to transmit the pixel position to the hub computer; and the hub computer is configured to use the pixel position, knowledge of a location of the at least one camera and a model of the 3D environment to determine a position of the object in the 3D environment. In this embodiment, the bulk of the data processing is conducted at the hub computer which means that each of the edge computers can be of a simple construction with less processing power and costs. In such circumstances, the hub computer may store a model of the 3D environment for use in determining the position of the object in the 3D environment. Also, the hub computer may store survey data describing the physical shape and size of the object and the position of the at least one emitter on the object for use in determining the position of the object in the 3D environment. This is useful in determining the exact position of the object from the locations of the pixel positions of the emitters. To accommodate distortions of the size and shape of the object as it is moving, due to wear, gravitational and centripetal forces and varying loads, the survey data may comprise data describing the changes in shape and size of the object as it moves.
[0017] In an alternative embodiment, the local processor is configured to use the pixel position, knowledge of a location of the at least one camera and a model of the 3D environment to determine a position of the object in the 3D environment. Here the edge computer is configured to consume more power, however the computational burden at the hub computer can be far less. This may give overall improvements in speed of overall processing as much of the processing is distributed. [00!8] In this embodiment, the edge computer comprises a transmitter configured to transmit the position of the object in the 3D environment to the hub computer via the communications channel. Also, the edge computer stores a local model of the 3D environment about the at least one camera for use in determining the position of the object in the 3D environment within the field of view of the at least one camera. This local model can be part of a much large model of the entire 3D environment in which the object will move.
[0019] In some embodiments, the at least one camera comprises a plurality of cameras positioned sequentially around a circuit, each one of the plurality of cameras having a field of view of a unique part of the circuit: and the hub computer is configured to combine the positions of the object in the field of view of each of the plurality of cameras to determine the position of the object as the object moves around the circuit. Accordingly, a complete picture of the field of movement of the object can be obtained and used for monitoring all movement within the 3D environment. In such an embodiment, each of the plurality of cameras may advantageously have a field of view which partially overlaps with an adjacent position camera. This enables realignment and confirmation of tracking from one camera to another. [002Q] Having determined the position of the object in the 3D environment, the hub computer may be configured to transmit the position of the object in the 3D environment to a central computer via a wide area communications network. The transmitted positions can then be used to create simulated positions of the object within a simulated 3D environment which can be useful for gaming or visualisation purposes (such as those described in Annex 2).
[0021] In some embodiments, the at least one camera is configured to operate with an image capture frequency of at least 90Hz and a duty cycle of at most 5% to minimise motion blur of high-speed vehicles. Other higher frequencies such as 100Hz and 120Hz are also possible which lead to a shorter period of time between each image capture and hence more accurate tracking.
[0022] The one or more processors may be configured to identify a pixel position for the emitter in one of the plurality of image frames before a next image frame of the plurality of image frames is captured. In doing so this avoids the need for local storage as data is processed as it is generated.
[0023] In some embodiments, the emitter is strobed having a light emission time period and a camera is configured to have an exposure period which is synchronised to the light emission time period. This advantageously reduces the power consumption of the emitter (which may be battery powered) and also reduces heat generation.
[0024] The light emission time period of the emitter and the exposure period of the at least one camera in some embodiments are synchronised by a radio frequency trigger or other timing signal provided to the emitter and the at least one camera.
[0025] In some embodiments the one or more processors is configured to determine a footprint of the object as the position of the object in the 3D environment. This is useful when comparing to boundary surface models such that boundary transgressions can be accurately detected and recorded.
[0026] In one embodiment the at least one emitter comprises two emitters and the one or more processors are configured to: identify pixel positions for each of the at least two emitters in the image frame based on the light captured by the at least one camera; and use the pixel positions, knowledge of a location of the at least one camera and a model of the 3D environment to determine a position and orientation of the object in the 3D environment. This advantageously provides orientation as well as position of the object which can be extremely helpful in accurate simulation of the object movement.
[0027] According to another aspect of the present disclosure, there is provided a system for tracking movement of an object in a three-dimensional (3D) environment, the system comprising: at least two emitters provided at spaced apart locations on the object, the emitters being arranged to emit light at a predetermined wavelength, the predetermined wavelength being different to wavelengths of light absorbed by elements in the earth’s atmosphere; a camera configured to capture a sequence of images comprising a plurality of image frames, the at least one camera comprising a filter configured to filter out received light not at the predetermined wavelength; and one or more processors configured for each image frame of the plurality of image frames to: identify pixel positions for each of the at least two emitters in the image frame based on the light captured by the at least one camera; and use the pixel positions, knowledge of a location of the at least one camera and a model of the 3D environment to determine a position and orientation of the object in the 3D environment.
[0028] The present disclosure also extends to a method of tracking movement of an object in a three-dimensional (3D) environment, the method comprising: emitting light from at least one emitter provided on the object, the light being emitted at a predetermined wavelength different to wavelengths of light absorbed by elements in the earth’s atmosphere; capturing a sequence of images comprising a plurality of image frames using at least one camera, the capturing step comprising filtering out received light not at the predetermined wavelength; and processing each image frame of the plurality of image frames to: identify a pixel position of the at least one emitter in the image frame based on a captured image of the sequence of captured images; and determining the position of the object in the 3D environment using the pixel position, knowledge of a location and a field of view of the at least one camera, and a model of the 3D environment, [0(529] According to another aspect of the present disclosure, there is provided a method of determining a position of an object in a three-dimensional (3D) environment. The method comprises: emitting light from at least one emitter provided on the object, the light being emitted at a predetermined wavelength different to wavelengths of light absorbed by elements in the earth’s atmosphere; capturing an image using a camera at a known position in the 3D environment, the capturing step comprising filtering out received light not at the predetermined wavelength; processing the image to identify a pixel position of the emitter in an image frame based on a captured image; and transmitting the pixel position of the emitter as a representation of the position of the object in the 3D environment for use in determining a position of the object in a model of the 3D environment. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The present disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which: Figure 1 is a schematic diagram of part of an optical tracking system in accordance with embodiments of the present disclosure; Figure 2 is a graph showing comparative light intensity for different wavelengths of light; Figure 3 is a graph showing the irradiance of solar radiation, both without atmospheric absorption and with atmospheric absorption at sea level for different wavelengths of light; Figure 4 is a graph showing light intensity detected at a camera using an LED with peak emission at 855 nm and a corresponding optical filter used in embodiments of the present disclosure; Figure 5 is a schematic diagram showing the optical tracking system of Figure 1 comprising a plurality of cameras arranged around a motor circuit, in accordance with embodiments of the present disclosure; Figure 6 is a photograph of a motor circuit annotated to show positions of the plurality of cameras mounted on masts of Figure 1 spaced around the motor circuit, in accordance with embodiments of the present disclosure; Figure 7 is a schematic diagram showing one of the plurality of cameras and its corresponding mast of Figure 1 in more detail; Figure 8 is a schematic diagram showing the optical tracking system of Figure 1, according to a first embodiment of the present disclosure; Figure 9a is a block diagram showing the edge computer (or Pole Compute Module) of Figure 8 in greater detail; Figure 9b is a block diagram showing the race control system (or PCM hub) of Figure 8 in greater detail; Figure 10 is a schematic diagram showing the optical tracking system of Figure 1, according to a second embodiment of the present disclosure; Figure 11a is a block diagram showing the edge computer (or Pole Compute Module) of Figure 10 in greater detail; Figure 11b is a schematic diagram showing the functionality of the Processing Engine of Figure 11a in greater detail; Figure 11c is a block diagram showing the race control system (or PCM hub) of Figure 10 in greater detail; Figure 12 is a data flow diagram showing communication flows between the functional components of the optical tracking system of Figures 8 and 10; Figure 13 is a flowchart showing a method fortracking an object in a 3D environment, in accordance with embodiments of the present disclosure; Figure 14 is a flowchart showing a method for determining a pixel position for an emitter in an image frame, in accordance with embodiments of the present disclosure; Figure 18 is an example image frame captured by the camera of Figure 1 for a single LED; Figure 16 is a block diagram showing the Detector functionality of the Processing Engine of Figure 9a and Figure 11a in greater detail; Figure 17 is a flowchart of a method for determining a real-world position for an emitter in an image frame, in accordance with embodiments of the present disclosure; Figure 18 is a schematic line diagram of a vehicle on a motor circuit and part of the optical tracking system illustrating how the method of Figure 17 is carried out; Figure 18 is a block diagram showing functions of the Localiser of Figures 9b and 11 b in greater detail; Figure 20 is a flowchart of a method for determining emitter tracks for detected emitters in accordance with embodiments of the present disclosure; Figure 21 is a block diagram showing functions of the Tracker of Figures 9b and 11b in greater detail; Figure 22a is a flowchart of a method for determining a position of a vehicle in a 3D environment, in accordance with embodiments of the present disclosure; and Figure 22b is a flowchart of an alternative method for determining a position of a vehicle in a 3D environment, in accordance with embodiments of the present disclosure, DETAILED DESCRIPTION
[0031] The present disclosure describes systems and methods fortracking the position of an object in a 3D environment.
[0032] This disclosure is part of a broader series of patents and patent applications (see WO 2021 / 214496 which is incorporated herein by reference and co-pending applications set out in Annexes 1 and 2) which describe the creation of fully digital racetracks capable of producing real-time data streams for use by multiple stakeholders across multiple markets.
[0033] The disclosure described in WO 2021 / 214496 describes a tracking system where infrared sensors on masts located around a motor circuit are used to track vehicles fitted with two infrared (IR) markers. The disclosure described in Annex 1 describes the creation of highly accurate digital boundary models (DBMs) of boundary limits on driving surfaces such as roadways, car parks and racetracks. The DBM may be used to determine whether the position of the wheels of a real vehicle, whose dynamic position in relation to the DBM is being continuously and accurately monitored by a tracking system, has exceeded or transgressed a real boundary or threshold of the real driving surface that has previously been determined as an acceptable limit from the point of view of regulation, safety or any other consideration.
[0034] The disclosure described in Annex 2 describes the creation of a fully digitised motor racing circuit that allows viewers of a motorsports event to use digital streaming media devices such as televisions, phones, tablets, and computers connected to the internet, together with live or recorded data streaming services as described in the current disclosure, to display high-fidelity video streams of the event from viewpoints which they can define and control in real time. The high-fidelity video streams are created without the use of any TV or video cameras. In particular, Annex 2 extends the DBM of Annex 1 to a 3-dimensional digital surface model (3D-DSM) which is an accurate representation of the real world (typically better than 10mm accuracy).
[0035] Embodiments of the present disclosure relate to tracking an object in a 3D environment. For example, tracking a vehicle on a motor circuit. The object comprises at least two optically active emitters in fixed locations on the object’s outer surface. The emitters emit light, which is detected by cameras (also referred to as sensors) in the 3D environment so that as the object moves in the 3D environment, the emitters are accurately tracked using the cameras. The use of optically active emitters vastly simplifies image processing, as the emitters are detected as a very clear signal against other background artefacts in an image captured by the camera. That is, there is a high signal to noise ratio. Detection of the emitter in the image is therefore accurate and, as the volume of data being processed is low, also computationally inexpensive. [0(536] Based on a position of the emitter in an image, the position of the emitter in the 3D environment is determined. Each emitter is associated with the object the emitter is disposed on, and so based on the position of the emitter in the 3D environment, the position of the object in the 3D environment is determined. As described above, using the method of the present disclosure, the volume of data being processed is greatly reduced compared to prior art methods. Additionally, in the present disclosure, some or all of the image processing occurs on an edge computer coupled to the camera, and the communication between the camera and the edge computer is low latency. As a result, image processing occurs quickly, allowing the position of the object to be monitored in real-time.
[0037] The following description describes an optical tracking system according to embodiments of the present disclosure. While the description describes the optical tracking system being used to track the position of a vehicle on a motor circuit, it should be appreciated that the optical tracking system may be used in any suitable application, for example, tracking vehicles on roads or motorways, on building sites, in mining environments, inside or outside factories or warehouses, or in ports or airports.
[0038] Figure 1 shows a schematic diagram of an optical tracking system 10 in accordance with an embodiment of the present disclosure. The optical tracking system 10 comprises at least two optically active emitters 14 configured to emit light (if only one emitter 14 is used then the optical tracking system 10 tracks a position of an object the emitter is disposed on, but the optical tracking system 10 is not able to determine an orientation of the object). In use, the emitters 14 are mounted on a vehicle 12. The optical tracking system 10 also comprises a camera 40, which is mounted on a mast 16 and positioned to detect the light emitted from the emitter 14 as the vehicle 12 drives in a 3D environment such as a motor circuit (not shown). While Figure 1 shows the camera 40 mounted to the mast 16, in some embodiments the camera 40 may be mounted on existing infrastructure (e.g. buildings) or on drones that are ground-tethered both for safety and to supply power for extended flying durations. In some embodiments, in use, the tracking system 10 comprises a plurality of cameras 40, spaced around the 3D environment so that vehicle movement in the entire 3D environment is captured. The optical tracking system 10 also comprises a localised edge computer 42. As illustrated, the camera 40 is communicatively coupled to the edge computer 42, which may also be mounted to the mast 16.
[0039] Considering the camera 40 in more detail, the camera 40 is an optically sensitive high-resolution camera. The camera 40 is configured to capture images at a frequency that is sufficient for the application, for example at a frequency of 90-100Hz when monitoring vehicles in a motor racing application. In some embodiments, the frame rate is 100 Hz, and the exposure time is less than 500ps. Advantageously, these operation parameters give a 5% duty cycle and minimise the effect of motion blur for vehicle speeds up to 250mph, whilst ensuring an advantageous signai-to-noise ratio for detecting light from emitters 14 (discussed later). For maximum efficiency the emitters 14 may be strobed and synchronised with camera exposure intervals by a separate radio frequency (RF) periodic trigger transmitted to all devices (emitters and cameras 40) or by any other method of synchronisation. This reduces the electrical power demand (particularly important when the emitters are battery powered and independent of the vehicle) and the effects of heating for the emitters 14.
[0040] As mentioned above, the optical tracking system 10 comprises at least two optically active emitters 14, which in use, are mounted on a vehicle 12, The advantage of using two emitters is that the orientation of the vehicle can also be determined as well as position. More emitters 14, e.g. four, may be used, however fewer emitters 14 provides the advantage of being less invasive on the design of the vehicle and also minimises the amount of image processing required (discussed later). Each emitter 14 is attached (mounted) to the vehicle 12 at an accurately measured 3D location in relation to, for example, the wheels 18 of the vehicle 12. The at least two emitters 14 may be fitted to the vehicle 12 on a longitudinal centre line of the vehicle 12. The emitters 14 are well-spaced apart for maximum tracking accuracy in both position and orientation and for minimum engineering impact on the vehicle 12.
[0041] In embodiments of the present disclosure, the emitters 14 are light-emitting diodes (LEDs). LEDs operate across the visible range of wavelengths and beyond into ultraviolet (UV) and infrared (IR). Figure 2 is a graph showing comparative light intensity for different wavelengths of light, alongside the visual sensitivity of a human eye. As illustrated by the graph, the peak sensitivity of the human eye is approximately 555 nm (i.e., green).
[0042] Figure 3 is a graph showing the irradiance of solar radiation, both without atmospheric absorption and with atmospheric absorption at sea level for different wavelengths of light. Solar radiation incident on the earth’s surface has a power or ‘brightness’ distribution that peaks in the visible region with strong absorption lines for various molecules (O2, H2O, CO2) in the Earth’s atmosphere. Any tracking system for a motor racing application (or for other applications involving vehicle tracking) should be able to operate in a wide range of lighting and weather conditions, including full sunlight. Therefore, the emitters 14 are required to have a signal strength at the camera 40 greater than the level of the ambient sunlight at and around the same wavelength. In this way, a high signal to noise ratio (SNR) is achieved, allowing the light from the emitter 14 to be detected easily by the camera 40. Achieving a high SNR comprises selecting an appropriate LED for the emitter 14. That is, selecting an LED with a narrow bandwidth and a high power (for example, 30nm full width half maximum bandwidth and 1,5W power output), at a wavelength that does not coincide with any of the molecular absorption lines shown in Figure 3. Also, it is preferable to avoid visible wavelengths, including wavelengths that correspond to the peak sensitivity of the human eye, as results at these wavelengths are susceptible to distortion by atmospheric weather conditions (rain, fog, mist, etc). Accordingly, an LED with peak emission at 855 nm may be used for example, as this is a wavelength which does not coincide with any of the molecular absorption wavelengths shown in Figure 3. It is also to be appreciated that otherwavelengths are also possible to use so long as they do not coincide with the molecular absorption wavelengths of sunlight within the earth’s atmosphere (as shown in Figure 3). Though less optimal, these do include some visible wavelengths (higher power, but poorer susceptibility to weather conditions) and non-visible wavelengths (better resilience to poor weather conditions, but lower power).
[0043] The selected LED is paired with the camera 40, which has a high sensitivity to light. In some embodiments, the camera 40 may be fitted with a narrow bandpass optical filter, where the bandpass filter matches the bandwidth of the LED as closely as possible. A bandpass optical filter improves the SNR of the output of the camera, ensuring that mainly light from the emitter is detected by the camera 40, and little ambient light is captured. For example, for an LED with peak emission at 855 nm, a narrow bandpass optical filter at 850 nm, with a bandwidth of + / - 20nm, may be used with the camera 40. Figure 4 shows the light intensity detected at the camera 40 for this pairing. As illustrated in Figure 4, 100% of the light emitted by the emitter 14 (the LED) is captured by the camera 40.
[0044] There are other operational characteristics that may be considered when selecting an LED and camera 40 for the optical tracking system 10. For example, the illumination cone angle, electrical power consumption, heating characteristics and eye safety of the LED, together with the field of view, depth of field and data capture capabilities of the camera 40, and the atmospheric transmittance of the light in varying atmospheric conditions, in an illustrative example, a working and robust combination with good tolerance to lighting and weather conditions comprises near infrared (NIR) narrowband LEDs at 850nm and a global shutter CMOS camera 40 with wide-angle (60deg) lenses, and filters closely compatible with the LED’s operational wavelength (e.g., the narrow bandpass optical filter at 850 nm described above). NIR LEDs are advantageous as NIR has superior atmospheric transmission characteristics above visible or ultraviolet frequencies at the detection ranges of interest. NIR light is also invisible and hence inconspicuous to spectators in applications such as motorsports events. NIR LEDs are also relatively low cost. However, it should be appreciated that this combination is an example of a working combination and there will be other LEDs and cameras that will support the detection and tracking method described herein. For example, bright green LEDs may have some advantageous aspects, and a neuromorphic or ‘event based’ camera may be used as an alternative to a global-shutter camera,
[0045] Each emitter 14 may comprise a plurality of LEDs and driver circuitry in a housing. The plurality of LEDs may also be fitted with custom lenses to direct the emitted light in the most advantageous directions. Typically, as the number of LEDs increases so does the signal strength detected at the camera 40, however, a smaller housing reduces the impact on the vehicle. Therefore, the number of LEDs, types of lenses, and the size of the housing is selected to provide an optimum field of illumination and detection range performance, while still allowing optimum electrical, thermal, and / or aerodynamic performance of the vehicle 12. Such design parameters are not described further as they are within the capability of the skilled person to implement following the information provided herein and their common general knowledge.
[0046] Turning to Figure 5, there is shown components of the optical tracking system 10 according to embodiments of the present disclosure implemented in a motor circuit 22. That is, in the illustrated example, the 3D environment is a motor circuit 22 (motor racetrack). As illustrated, a plurality of cameras 40 (mounted on masts, not shown for clarity) are spaced around the motor circuit 22, and although seven cameras 40 are shown in Figure S, any number of cameras 40 may be used. Each camera 40 is positioned to capture a specified portion of the motor circuit 22 so that the entire motor circuit 22 is captured across the plurality of cameras 40. For example, the cameras may be arranged around the motor circuit 22 at a mean spacing of approximately 50m at various proximities laterally to the track, dependent upon local circumstances (e.g. terrain type, slope etc.). This is shown in Figure 6 which is a photograph of a motor circuit 22 where the optical tracking system 10 has been implemented. The photograph is annotated to label the cameras 40 on masts 16 spaced around the motor circuit 22 at intervals of approximately 50m.
[0047] The lateral spacing of the cameras 40 from the motor circuit 22 determines the lens used in the camera 40. For example, when the camera 40 is positioned further from the edge of the circuit 22 (e.g., for additional safety reasons), a lens with a narrower field of view is employed in the camera 40 so that the field of view captures the required portion of the motor circuit 22.
[0048] In some embodiments, each mast 16 comprises two cameras 40 (a compound arrangement). A schematic diagram of a mast 16 comprising two cameras 40 is shown in Figure 7. The cameras 40 are arranged so that each views a different adjacent portion of the motor circuit 22. In this way, a larger portion of the motor circuit 22 can be captured from the same position, i.e., from the same mast 16, thus requiring fewer masts. For example, with two cameras, ground coverage of approximately 50m in motor circuit length and at least the full width of the motor circuit 22 (typically 10m to 15m) is obtained. In embodiments where a mast 16 includes two cameras, each camera 40 operates in a monocular mode, and not in a binocular pair.
[0049] Returning to Figure S, as illustrated, each camera 40 is in communication with an edge computer 42 (also referred to as a Pole Compute Module (PCM)). The edge computer 42 is configured to receive camera images from the coupled camera 40, and output data. In a first embodiment, the edge computer 42 is configured to output emitter pixel positions in the camera’s image plane, i.e., pixel positions (coordinates) for emitters over a plurality of sequential image frames. In a second embodiment, the edge computer 42 is configured to output localised emitter and / or vehicle tracking data, i.e., moving object tracks for the portion of the motor circuit in the field of view of the coupled camera 40.
[0050] The two embodiments mentioned above will now be described in detail. Although the principle of operation is the same between embodiments, there are differences in where processing steps are performed. In the embodiment described with reference to Figures 8 and 9, minimal processing is carried out at the edge computer 42, while in the embodiment described with reference to Figures 10 and 11, the edge computer 42 performs more of the processing steps that will be described. However, in both embodiments, the volume of data being processed is greatly reduced compared to prior art methods, allowing objects (vehicles) to be tracked in substantially real-time. Embodiment 1
[0051] Figure 8 is a schematic diagram showing the optical tracking system 10 according to a first embodiment of the present disclosure, implemented in the motor circuit 22. Figure 8 shows the components (the edge computer 42 and camera 40) described with reference to Figure 5. As illustrated, each edge computer 42 is communicatively coupled to a race control system (RCS) 26 (also referred to as a PCM hub). Although Figure 8 shows each edge computer 42 being coupled to the RCS 26 via a wired connection, for example fast fibre optics, each edge computer 42 may alternatively be communicatively coupled to the RCS 26 via a wireless network.
[0852] In use, the edge computer 42 receives image frames from the coupled camera, or cameras, and computes emitter pixel positions in each image frame. An emitter pixel position comprises a pixel coordinate of an emitter within an image frame. Each image frame may comprise multiple emitters, and in such cases a pixel position for each emitter in the image frame is computed. Computations in the edge computer 42 are performed quickly, typically completing in <10-11ms (the corresponding time window for a measurement frequency of 90-100Hz, which is a suitable frequency for the described motorsport application), and in some embodiments <3ms. The emitter pixel positions, calculated for each image frame, are transmitted from the edge computer 42 to the RCS 26. By transmitting pixel positions for emitters over a sequence of image frames, rather than transmitting an entire image, the bandwidth of transmissions is reduced, and thus the communication between the edge computer 42 and the RCS 26 has low latency. Accordingly, the edge computer 42 sends the emitter pixel positions to the RCS 26 in substantially real-time.
[0053] The RCS 26 receives emitter pixel positions from each edge computer 42 in the environment. As the cameras 40 are arranged to capture the entirety of the environment, the RCS receives pixel positions for emitters detected overthe entirety of the 3D environment (i.e., the motor circuit 22). The edge computers 42 and the RCS 26 maintain a common network time clock such that all emitter pixel positions, from all edge computers 42, are accurately synchronised.
[0054] The RCS 26 converts the received emitter pixel positions (received from all edge computers 42 in the 3D environment) into aggregated tracking data. Aggregated tracking data comprises the real-world position of the vehicle as it moves overthe full 3D environment (in the described embodiment, around the entirety of the motor circuit 22). More detail on how the aggregate tracking data is generated is discussed in more detail later with reference to Figure 9b,
[0055] Once generated, the aggregated tracking data may be transmitted on to various types of stakeholders. For example, as illustrated in Figure 8, the RCS 26 is connected, via a communication network 20, to a central processor 24. The central processor may be a remote server. A cloud event hub (CEH) may be installed at the central processor 24, and through the CEH, live or recorded data from the RCS can be distributed around the world into various application markets (possibly involving other computing hubs and end-user devices). For example, for use in gaming, orto allow viewing of a motorsport event in real-time from multiple different angles. The CEH may also receive data from other motor racing circuits with tracking systems.
[0056] As mentioned previously, the edge computer 42 receives camera images and outputs emitter pixel positions. The edge computer 42 of Figure 8 is shown in greater detail by the block diagram in Figure 9a. As illustrated, the edge computer42 comprises a Receiver46 configured to receive image frames from the camera 40. The Receiver 46 is coupled to a Processing Engine 48, which is in turn coupled to a Transmitter 58, which is the component configured to send the emitter pixel positions to the RCS 26.
[0057] The Processing Engine 48 comprises a Detector 50, The Detector 50 executes an algorithm on a received image frame, that enables an emitter in the image frame to be detected. In more detail, in use, the Detector 50 receives an image frame from the Receiver 46, The Detector 50 detects an emitter 14 in the image frame based on the light emitted by the emitter 14, and determines a pixel position (i.e., pixel co-ordinates within the image frame) for the emitter 14. While the present description describes the case where a single emitter is detected in the image frame, multiple emitters may be detected in the same image frame, and the described method occurs for each detected emitter. The Processing Engine 48 sends the emitter pixel position (i.e., pixel coordinates) to the RCS 26 via the Transmitter 58.
[0058] Components of the RCS 26 are shown in greater detail by the block diagram in Figure 9b. As illustrated, the RCS 26 comprises a Localiser52, coupled to a Tracker 54, which is in turn coupled to a Reporter 56. The Localiser 52, Tracker 54 and Reporter 56 can be implemented as functional blocks of software code within the RCS 26, however, for ease of understanding they are described herein as individual components of the RCS 26. The RCS 26 also comprises a data store 55 comprising calibration parameters 64, a complete static 3D-DSM 57, survey data 70, and emitter tracks 65.
[0059] Calibration parameters 64 are parameters determined by both intrinsic and extrinsic calibration processes of the camera 40. Calibration is carried out prior to using the optical tracking system 10. The calibration parameters 64 compensate for any deviation of actual optical performance from ideal optical performance.
[0060] The 3D-DSM 57 is an accurate representation of the non-uniform surfaces of the 3D environment the optical tracking system 10 is being implemented in. Thus, in the present embodiment, the 3D-DSM 57 is a static digital twin to the motor circuit 22.
[0061] Survey data 70 comprises a high-fidelity data model of the vehicle and vehicle-emitter associations. Considering firstly the data model of the vehicle 12, prior to use of the optical tracking system 10, each vehicle that is to be tracked is surveyed to measure and record the precise 3D position of each emitter 14 on the vehicle 12 (there are at least two emitters 14 on each vehicle 12). The position of the emitters) 14 is measured with reference to the vehicle 12, for example, in reference to a wheelbase of the vehicle 12. Each vehicle can be scanned, using for example, standard photogrammetric or LIDAR based methods, to create a highly accurate 3D data mode! of the vehicle for use in end-user applications. For the purpose of accurate tracking, only the precise position of the emitters 14 with respect to the footprint of the vehicle 12 are required, and this data is stored in the data store 55 of the RCS 26 as survey data 70.
[0062] The survey data 70 also comprises vehicle-emitter associations. As described previously, each vehicle has at least two emitters 14, and each emitter has an ID. Emitters may be assigned an ID when the vehicle on which the emitters are disposed is at an initial position. By tracking the emitters over a sequence of image frames, the ID of the emitter is maintained. Alternatively, modulation may be used to assign a unique ID to emitters 14, When an emitter ID is based on modulation of light emitted from the emitter 14, the emitter 14 is detected over several image frames, and to allow detection, the camera 40 and emitter are synchronised.
[0063] Prior to using the optical tracking system 10, an emitter ID is associated with a particular vehicle (i.e,, the vehicle the emitter is disposed on), and the initial association is stored as survey data 70. In this way, when an emitter is detected and identified, using the vehicle-emitter association, the vehicle 12 the emitter is disposed on is determined.
[0064] In some embodiments, survey data 70 also comprises parameters that characterise the vehicle 12, for example suspension behaviour caused by aerodynamic down force, cornering force and acceleration / braking forces, such that the small geometrical changes that occur during a race (for example, the height of the emitter relative to the ground being reduced at the start of the race due to a heavy fuel load) can be compensated for continuously and within the required time frame.
[0065] Returning to Figure 9b, the data store 55 also comprises emitter tracks 65 (comprising real-world coordinates of the emitter over time). Emitter tracks 65 are generated by the RCS 26 during operation of the optical tracking system 10, and thus are described below, in relation to operation of the RCS 26.
[0066] In use, the Localiser 52 receives an image frame pixel position (pixel coordinates) of an emitter 14 from the edge computer 42 (i.e., from the Detector 50 of Figure 8b). The Localiser 52 retrieves the calibration data 64 (used for conversion of image frame coordinates into real world coordinates) and the 3D-DSM 57 from the data store 55. As the 3D-DSM 57 is a static digital twin to the motor circuit 22, the 3D-DSM 57 includes the position and pose of the camera 40 in relation to the surface of the motor circuit 22. The Localiser 52 also receives a predicted real-world position for the emitter (extracted from the last frame) from the Tracker 54 (discussed in greater detail later), and computes a predicted pixel position (i.e., predicted pixel coordinates) based on the predicted real-world position. The Localiser 52 combines the detected and predicted pixel positions with the 3D-DSM 57 to determine a best measurement of a position of the emitter 14 in the real-world i.e., 3D real-world coordinates for the emitter 14. The 3D real-world coordinates for the emitter are then provided to the Tracker 54. Whilst not described in detail, in another embodiment, the image frame pixel position is stored in the data store 55 for use in subsequent frames. The pixel position (pixel coordinates) is used in combination with subsequent frame measurements to be filtered, analysed, and / or optimised and thus generate a best measurement of the pixel coordinates. That is, the pixel position is optimised in the Localiser 52 without requiring a predicted real-world position from the Tracker 54. Once optimised, the pixel position for the emitter is converted to generate a best measurement of the emitter in the real world, i.e., to compute 3D real-world coordinates for the emitter.
[0067] The Tracker 54 generates an emitter track 65 for the emitter 14 based on a plurality of 3D real-world coordinates determined from a sequence of image frames. That is, the Tracker 54 operates in a cyclic manner across a plurality of received pixel coordinates, and accumulates 3D real-world coordinates of the emitter 14 into a contiguous track over time. An emitter track 65 is therefore visualised as a series of closely spaced points in space. An emitter track 65 is generated for each detected emitter 14. Emitter tracks are provided to the Reporter 56, and stored in the data store 55. [0(868] The Reporter 56 receives the emitter tracks 65 from the Tracker 54 and retrieves vehicle survey data 70 from the data store 55. Using the emitter tracks 65 and the vehicle survey data 70, the Reporter 56 calculates a real-world position for a footprint of the vehicle. The footprint comprises, for example, positions of the outside edges of the contact points between tyres and track surface, or the position of a rectangle representing the outer limits of the vehicle. In more detail, the survey data 70 is retrieved from the data store 55, and using the vehicle-emitter associations (a component of the survey data 70), the Reporter 56 associates the emitter track 65 with a vehicle 14. (It is to be noted that pairs of emitters 14 on the vehicle 12 have a fixed known relationship and this can be used to assist with accurately determining the position of the vehicle. However, for ease of understanding, in the present description a single emitter track is referred to provide the position and orientation of the vehicle.) Once the emitter track 65 has been associated with a vehicle, the Reporter 56 calculates a real-world position (location, orientation etc) of the vehicle in the 3D environment (e.g. on the motor circuit) using the 3D data model of the vehicle (which is another component of the survey data 70). As the real-world coordinates of the emitter are known, and the precise location of the emitter 14 on the vehicle 12 is also known, the position of the vehicle is calculated in relation to the position of the emitter 14.
[0069] The RCS 26 receives emitter pixel positions from all edge computers 42 in the environment, and processes the data using the Localiser 52, Tracker 54 and Reporter 56 to determine a real-world position for the vehicle as it moves across the field of view of different cameras 40. In other words, the RCS 26 processes and combines the data received from all edge computers 42 to determine aggregate tracking data, comprising the vehicle position over the entirety of the motor circuit 22. The aggregate tracking data may subsequently be visually combined with the 3D-DSM 57 at the central processor 24 to create a visual image of the vehicle on the motor circuit 22. [007Q] In this described embodiment of the optical tracking system 10, only the first processing step, detecting an emitter in an image frame, is performed at the edge computer 42. As the Detector 50 simply determines pixel coordinates for an emitter 14 in an image frame, the amount of processing occurring at the edge computer 42 is greatly reduced compared to if an entire image frame was processed. Accordingly, power requirements at the edge computer 42 are low. The majority of processing steps (i.e., the algorithms executed at the Localiser 52, Tracker 54, and Reporter 56) occur at the RCS 26, which is a local computer connected to all of the edge computers 42 in the environment. Performing the majority of the processing at the RCS, rather than the edge computers 42 is advantageous in reducing the amount of processing being performed and hence compute power required at the edge computer 42. As, in the present embodiment, only emitter pixel coordinates are transmitted to the RCS 26, the bandwidth required for communication is greatly reduced from the conventional approach of transmitting visible light video or a series of visible light images of the vehicles positions through the field of view of each camera. Embodiment 2
[0071] Figure 10 shows an optical tracking system 10 according to a second embodiment of the present disclosure, implemented about a motor circuit. While the principle of operation remains the same as described for the first embodiment, there are differences in where the processing steps (i.e., the algorithms executed by the Detector 50, Localiser 52, Tracker 54, and Reporter 56) occur, with more of the described processing steps being performed at the edge computer 42a in the present (second) embodiment. In this regard, the edge computers 42 and RCS 26 of the first embodiment are different to the edge computers 42a and RCS 26a of the second embodiment. Similarly, the processing engine 48 of the first embodiment is different to the processing engine 48a of the second embodiment.
[0872] Figure 10 shows the components (the edge computer 42a and the camera 40) described with reference to Figure 5, and the RCS 26a and central processor 24 discussed previously with reference to Figures 8 and 9. Similar to the first embodiment, each edge computer 42a is communicatively coupled to the RCS 26a. The coupling may be via a wired network, for example a fast fibre optic network, or a wireless communication network. The RCS 26a may also be in communication with the central processor 24 via a communication network 20.
[0073] In some implementations of this embodiment, a field of view (FOV) of adjacent cameras 40 in the motor circuit 22 is at least contiguous, and usually overlapping. Therefore, when an emitter is close to leaving the field of view of a first camera 40, the position of the emitter is provided from a first edge computer 42a coupled to the first camera 40 to a second edge computer 42a coupled to a second adjacent camera 40 as a field of view entry position. The emitter position may be transmitted via a separate communication network formed between adjacent masts comprising cameras and edge computers, i.e., forming a ring around the motor circuit 22, or via the RCS 26a. Communication between each edge computer 42a also allows adjacent cameras to be regularly calibrated as they may perform a cross comparison for the period an emitter is in both FOVs of adjacent cameras.
[0074] In the described embodiment, in use, the edge computer 42a receives image frames from the coupled camera 40, and outputs local tracking data. Local tracking data comprises the real-world position of the vehicle in the portion of the environment in the field of view of the coupled camera 40 (this is different to the first described embodiment, where the edge computer 42a outputs emitter pixel positions in image frames). The edge computer 42a transmits the local tracking data to the RCS 26a. The RCS 26a aggregates local tracking data received from ail edge computers 42a in the 3D environment to create aggregated tracking data. Aggregated tracking data (as described previously), comprises the position of the vehicle over the full 3D environment (in the described embodiment, around the entirety of the motor circuit 22). The aggregated tracking data may be transmitted on to various types of stakeholders, via a CEH at the central processor 24. [007S] The edge computer 42a of Figure 10 is shown in greater detail by the block diagram in Figure 11a. The edge computer 42a comprises the same components as described for the first embodiment (described in Figures 8 and 9), except while in the first embodiment the calibration parameters 64 and survey data 70 were stored in the RCS 26, in the present embodiment, the calibration parameters 64 and survey data 70 are stored in the edge computer 42a. As illustrated in Figure 11a, a data store 44 is provided at the edge computer 42a and, according to the present embodiment, stores a local 3D-DSM 62 and local emitter tracks 68.
[0976] The local 3D-DSM 62 is a portion of a complete 3D-DSM 57, which is stored at the RCS 26a (described in detail with reference to the first embodiment), where the portion corresponds to the field of view of the coupled camera 40. For example, if the camera 40 was positioned to capture a specific area of the motor circuit 22, the local 3D-DSM 62 comprises a digital surface model of the same area of the motor circuit 22. This allows for local tracking data, generated at each edge computer 42a, to be converted into the 3D-DSM coordinate system. Local tracking data from all edge computers 42a being in the same coordinate system allows for straightforward (simpler than the first embodiment) aggregation of data from all the different cameras 40 at the central processor 24.
[0077] Calibration data 64 and survey data 70 were described with reference to the previous embodiment, and so will not be described in detail here. Local emitter tracks 68 are generated by the Processing Engine 48a during operation of the optical tracking system 10, and so will be described in greater detail below, in relation to the operation of the Processing Engine 48a.
[0078] The components of the Processing Engine 48a are shown in greater detail by the block diagram in Figure 11b. The Processing Engine 48a comprises the Detector 50, coupled to the Localiser 52. The Localiser 52 is then coupled to the Tracker 54, which in turn is communicatively coupled to the Reporter 56. Each component (Detector 50, Localiser 52, Tracker 56, Reporter 58) executes an algorithm that contributes to the processing of an image frame to create accurate vehicle tracking data. These components and their operation have been described previously in relation to the first embodiment. The difference between embodiments is that in the present embodiment, the Detector 50, the Localiser 52, the Tracker 54, and the Reporter 56 are all provided at the edge computer 42a. However, in the previous embodiment, only the Detector 50 is provided at the edge computer 42, while the other components are provided at the RCS 26. The functioning of the processing components is the same in both embodiments, with some minor differences, as described below.
[0079] Returning to Figure 11b, the Detector 50 receives an image frame from the camera 40. While Figure 11b shows image frames being provided directly to the Detector 50 from the camera 40, as described with reference to Figure 11a, the edge computer 42a comprises the Receiver 46 which receives image frames from the camera 40 and provides the image frames to the Processing Engine 48a, and thus the Detector 50. In use, the Detector 50 detects the emitter 14 in the image frame and determines a pixel position (i.e., pixel co-ordinates in the image frame) for the emitter 14 (i.e., operates in the same way across all embodiments). The pixel position of the emitter is provided to the Localises' 52. The Localiser 52 receives the detected position of the emitter 14, and retrieves the calibration data 64 and the local 3D-DSM 62 from the data store 44. The Localiser 52 also receives a predicted real-world position for the emitter (extracted from the last frame) from the Tracker 54 (discussed in detail later) and generates a predicted emitter position in the image frame (i.e., predicted pixel position). The Localiser 52 combines the detected and predicted pixel positions with the local 3D-DSM 62 to determine a best position of the emitter 14 in the real-world i.e., 3D real-world coordinates for the emitter 14. The 3D real-world coordinates for the emitter are then provided to the Tracker 54. As mentioned above, alternatively, in some embodiments the emitter pixel position is stored locally in the edge computer 42. The emitter pixel position is combined with emitter pixel positions determined from subsequent image frames, to optimise the emitter pixel position in the current image frame. The emitter pixel position is then converted to generate a best measurement of the emitter in the real world, i.e,, to compute 3D real-world coordinates for the emitter. The 3D real-world coordinates for the emitter are then provided to the Tracker 54
[0080] The Tracker 54 generates a local emitter track 68 for the emitter 14 based on a plurality of 3D real-world coordinates received from the Localiser 52 and determined from a sequence of image frames. Whilst the emitter tracks 65 generated in the previous embodiment comprise a contiguous track over the entirety of the motor circuit 22, the local emitter tracks 68 generated in the present embodiment comprise a contiguous track over the portion of the motor circuit 22 in the field of view of the coupled camera 40. This local emitter track 68 is generated for each detected emitter 14. Local emitter tracks 68 are stored in the data store 44, and provided to the Reporter 56.
[0081] The Reporter 56 receives the local emitter tracks 68 and retrieves survey data 70. Using the local emitter tracks 68 and the survey data 70, the Reporter 56 calculates local vehicle tracking data, i.e., a real-world position for the vehicle (in the same way as described previously for the first embodiment). The local tracking data is then provided to the RCS 26a via the Transmitter 58 (shown in Figure 11a).
[0082] The RCS 26a of Figure 10 is shown in greater detail by the block diagram in Figure 11c. As illustrated, the RCS 26a comprises different components to the RCS 26 shown in Figure 8b. In the present embodiment, the RCS 26a comprises a Processor 61 and a data store 55a. The data store 55a comprises the 3D-DSM 57 (the complete static 3D-DSM), survey data 70 (both of which have been described previously), and aggregate tracking data. In use, the RCS 26a receives local tracking data from all edge computers 42a in the environment, and combines the local tracking data to generate aggregated tracking data 66, and thus determine the real-world position for the vehicle over the entirety of the motor circuit 22. The aggregate tracking data 66 is stored in the datastore 55a. The aggregate tracking data 66 may also be sent as a dynamic data stream of vehicle positions relative to the 3D-DSM 57 to the CEH (implemented on the central processor 24), and then transmitted to various end-users and connected devices.
[0083] For motorsport events, the RCS 26a is also responsible for managing the event. In the present embodiment the RCS 26a is configured to generate contiguous real-world positions of the vehicles in relation to the 3D environment, i.e. the motor circuit 22. By monitoring vehicle positions on the motor circuit 22, the RCS 26a determines if positioning rules are met by the positioning of the vehicles during the motor race, for example when all wheels of a vehicle cross a boundary of the motor circuit 22 (exceeding track limits - which is not permitted), ensuring that any penalties are issued correctly and quickly (in real time as the event is occurring) when required. [OOM] in the optical tracking system 10 according to the embodiment described with reference to Figures 10 and 11, the edge computer 42a processes image frames received from the coupled camera 40 to provide local tracking data to the RCS 26a. The local tracking data comprises a real-world position of the vehicle in the portion of the motor circuit in the field of view of the coupled camera 40, Accordingly, more processing occurs at each edge computer 42a in the present embodiment compared to the embodiment described with reference to Figures 8 and 9. However, since the detection method detects optically active emitters as a clear signal against all other background artefacts in the image, image processing is vastly simplified compared to prior art methods, where entire image frames, containing high amounts of data, are processed. Additionally, the volume of data being transmitted is still reduced compared to prior art methods, where a plurality of image frames are sent directly to a separate processor for processing.
[0085] The following description describes components of the optical tracking system 10 according to embodiments of the present disclosure in more detail. The following description applies equally to both embodiments that have been discussed previously (i.e., the embodiment described with reference to Figures 8 and 9, and the embodiment described with reference to Figures 10 and 11).
[0086] Figure 12 is a data flow diagram showing communication flows between the different processing components / algorithms (Detector 50, Localiser 52, Tracker 54, Reporter 56) and their relative timing. As illustrated, the algorithms executed by each component operate in a loop. An image frame n (from a camera 40) is provided to the Detector 50 via a pipeline. The pipeline sorts image frames based on timestamp, and so ensures the image frames are provided to the Detector 50 sequentially. The Detector 50 receives the image frame n, and then sends pixel coordinates for each detected emitter 14 in the image frame n to the Localiser 52. The Localiser 52 receives predicted real-world coordinates for each of the emitters in the image frame n from the Tracker 54 (determined based on the pixel position of the emitters in previous image frames, e.g. image frames n-1, n-2), and transmits real-world coordinates for each detected emitter to the Tracker 54. The Tracker 54 operates sequentially on image frames to generate and then transmit emitter tracks, comprising a track of 3D real-world coordinates for each emitter, to the Reporter 56, The Reporter 56 then creates and transmits a real-world position of the tracked object to the pipeline, thereby closing the loop. As described previously, the Localiser 52, Tracker 54, and Reporter 56 may be components of the edge computer 42a, or may be components of the RCS 26.
[9987] The processing components (i.e., the Detector 50, the Localiser 52, the Tracker 54, and the Reporter 56) are configured to operate so that the algorithms executed by each component run to completion within a maximum time period defined by the time between image frames captured by the synchronised cameras 40. For example, when cameras operating at a frequency of 100 Hz are used, the algorithms are configured to run to completion within at worst 10ms. That is, the Reporter 56 outputs local tracking data for the image frame within at worst 10ms of the Detector 50 receiving the image frame. In some embodiments the processing components may aggregate and use data from a number of preceding frames for the purposes of filtering, averaging, etc.
[0088] A flowchart showing an overview of a method 450 for tracking an object in a 3D environment in accordance with embodiments of the present disclosure is shown in Figure 13. The method 450 may be performed by the Processing Engine 48a of Figure 11b or the combination of functionality at the processing engine 48 of Figure 9a and the functional elements of the RCS 26 (PCM hub) of Figure 9b. The method 450 comprises receiving, at Step 451, a plurality of time-stamped image frames from a sensor (i.e., the camera 40 described previously) and determining a pixel position for ail emitters in each image frame. By selecting an appropriate emitter and camera 40 (described previously), emitters are detected in the image frame quickly and efficiently, with simplified image processing compared to prior art methods. The method 450 further comprises combining, at Step 452, the pixel positions with a 3D-DSM (e.g. the local 3D-DSM 62 of Figure 11a or the complete 3D-DSM 57 of Figure 9b) to determine 3D coordinates for each emitter in the real world. The method 450 further comprises generating, at Step 453, emitter tracks (e.g. local emitter tracks 68 shown in Figure 11a or emitter tracks 65 shown in Figure 9b). As described previously, the local emitter tracks 68 / emitter tracks 65 are a series of 3D real-world coordinates of emitters detected over the plurality of image frames. Step 453 also includes predicting real world emitter positions, that can be used both to start new emitter tracks and remove stale tracks . As illustrated, the predicted real-world position for the emitter can be provided as an input to Step 452 , where the predicted real-world position for the emitter is converted back to image frame coordinates and used in combination with a detected emitter pixel position in a new image frame to optimise the accuracy of the detected pixel position. . The method 450 further comprises associating, at Step 454, each emitter track with a vehicle to calculate tracking data for each vehicle. The tracking data comprises the position of the vehicle over a sequence of images, that is, over time, and also may include orientation, speed, tyre positions etc. Each of the method steps described above with reference to Figure 13 are discussed in greater detail below with reference to Figures 14 to 22.
[0089] Firstly, Figure 14 is a flowchart showing a method 600 for determining a pixel position for an emitter in an image frame according to embodiments of the present disclosure, in other words, Figure 14 shows the receiving step (Step 451) of Figure 13 in greater detail. The method 600 may be carried out by the Detector 50 of Figures 9a and 11b (and so by the edge computing device 42 of Figures 1 and 5).
[0090] The method 600 comprises receiving, at Step 610, an image frame n. The image frame n is received from a camera (e.g. the camera 40 of Figure 1) coupled to the edge computer 42. An example image frame n captured by the camera 40 and received by the Detector 50 is shown in Figure 15. The method 600 further comprises determining, at Step 620, pixels in the image frame nwith a brightness above a threshold brightness (the threshold brightness may be set prior to use). As the emitter 14 and camera 40 are selected to ensure a high signal to noise ratio, light emitted from the emitter 14 is detected at a high intensity compared to light from background sources, as shown in Figure 15. Therefore, pixels in the image frame n with a brightness level above a threshold brightness correspond to an emitter 14. In this way, the emitter 14 is detected easily and accurately in the image frame n, with a low computational cost.
[0091] The method 600 further comprises extracting, at Step 630, the pixels with a brightness greater than the threshold brightness, and then grouping, at Step 640, the extracted pixels. The number of groups formed correspond to the number of emitters detected in the image. For the example image frame shown in Figure 1S, only one group would be formed, however in image frames where multiple emitters are detected, more groups are formed. The method 600 further comprises determining, at Step 650, pixel co-ordinates fora centre of each group. In some embodiments, the pixel co-ordinates for the centre of each group are determined with an accuracy of 0.1 to 0.5 pixels. This, on average represents a ground sampling distance in the real world of less than 1 cm. Accordingly, using the method of the present disclosure, an emitter 14 is detected very accurately in an image frame n.
[0092] The method 600 then comprises refining, at Step 660, the coordinate estimate. Refining the coordinate estimate may comprise filtering or averaging, alongside functions that filter out clutter (i.e. artifacts still visible but not relevant) from the image frame n, for example solar reflections from grass or solar glints from reflective vehicle panels. Suitable refinement algorithms that improve a coordinate estimate for an object in an image frame are known to the skilled person and so are not described further herein. Any suitable refinement algorithm may be used. The method 600 further comprises storing, at Step 670, the pixel position forthe image frame n in the data store (data store 44). As more image frames are processed, the pixel positions for all emitters in the field of view of the camera 40 across a plurality of image frames are stored. The method 600 further comprises outputting, at Step 680, the pixel position for emitters in the image frame n. The pixel positions for emitters in the image frame are output within 10ms of receiving the image frame as an input. Thus, the method 600 described above allows detection of every emitter in the image frame quickly and efficiently. The image processing is efficient and fast because, as shown by the example image frame in Figure 15, the images comprise a largely dark background with a relatively bright LED.
[0093] Figure IS is a block diagram showing the Detector 50 in greater detail. The Detector 50 is configured to carry out the method 600 (algorithm) of Figure 14. As illustrated, the Detector 50 comprises various functional blocks which carry out image processing 511, filtering 513, and results transmission 515. The image processing function 511 in use receives an image frame and detects pixels in the image frame with a brightness greater than a threshold brightness. Pixels with a brightness greater than the threshold brightness generally correspond to a light emitter (such as one of the LEDs on the vehicle), and thus in this way, pixel coordinates forthe light emitter (also referred to as ‘emitter’ herein) in the image are determined. The filtering function 513 then applies filtering algorithms to refine the pixel coordinates for the emitter, making the determined pixel coordinates more accurate. The results transmission function 515 then transmits the refined pixel coordinates of the emitter to the Localiser52.
[0094] As described previously (e.g. with reference to Figure 13), once pixel coordinates for an emitter in an image frame are determined, real-world coordinates forthe emitter are calculated. Figure 17 is a flowchart illustrating a method 700 for determining real-world coordinates for the emitter based on pixel coordinates of the emitter, according to embodiments of the present disclosure. Accordingly, the method 700 of Figure 17 shows the combining step (Step 452) of Figure 13 in greater detail. The method (algorithm) 700 may be executed by the Localiser 52 of Figures 9b and 11b. [009S] The method 700 comprises receiving, at Step 710, pixel coordinates for the emitter 14 in an image frame n. The input to the method 700 is therefore the output of the method 600. The method 700 then comprises combining, at Step 720, the pixel coordinates with calibration data (e.g. calibration data 64) and a predicted real-world position of the emitter 14 for the current image frame n. The predicted real-world position is based on a real-world position of the emitter at previous time points, i.e., the real-world position of the emitter for previous image frames (for example, at image frame n-1 and image frame n-2). The predicted real-world position of the emitter for the image frame n is determined by the Tracker 54, and so details relating to the prediction method are described later with reference to Figure 20, However, the prediction method uses emitter tracks (i.e., local emitter tracks 68 or emitter tracks 65, corresponding to the real-world position of the emitter over a series of image frames). Therefore, by combining the pixel coordinates of the emitter in the image frame n with a predicted real-world position of the emitter for image frame n, the pixel coordinates are uniquely associated with an emitter track 65,68. Again, while not described in detail, alternatively to Step 720, the method may comprise storing the emitter pixel position, and then using emitter pixel positions from subsequent images frames to optimise the detected emitter pixel position. The optimised emitter pixel position is then converted into 3D real-world coordinates (in the way described below). The benefit of the former approach (predicting a real-world position for the emitter) is that the predictive laws of physics can be easily applied in real world coordinates. The benefit of the latter approach (optimising the emitter pixel position before converting to real-world coordinates) is speed of computation.
[0096] The method 700 further comprises creating, at Step 730, a light ray 624 originating at the pixel position for the emitter (i.e., originating at a point on an array of the camera 40 that corresponds to the pixel position) and passing through the emitter in the real world, (the real-world coordinates are unknown at this stage, apart from the vertical height z of the emitter above flat ground). An example of the light ray 624 created is shown in Figure 18. The method 700 then comprises combining, at Step 740, the light ray 624 with the 3D-DSM 57 or local 3D-DSM 62 and survey data 70 (described previously). The 3D-DSM 57 and the local 3D-DSM 62 are digital twins of the 3D environment (the 3D-DSM 57 being a digital twin of the complete environment while the local 3D-DSM 62 is a digital twin of the portion of the 3D environment in the field of view of the camera 40), and so provide information on terrain, such as the local slope of the terrain in the 3D environment both longitudinally and laterally, including the effect of features such as raised kerbs. The survey data 70 (measured prior to use, as described above) provides the normal height (i.e., when the terrain is flat) of the emitter 14 above ground (the precise location of the emitter on the vehicle is measured and stored prior to use of the tracking system 10). Accordingly, the height of the emitter 14 in the real world is known. The method 700 then comprises calculating, at Step 750, 3D real-world coordinates of the emitters) for the image frame n using the intersection of the light ray with the emitter 14 and with the ground plane. In more detail, the calibration parameters 64 (in particular, the extrinsic calibration) and the 3D-DSM 57 allow determination of a position of a point on the ground plane behind the emitter, along the line of the light ray. From the point, the distance is tracked backwards along the light ray until the height of the ray above the ground is equal to the known height of the emitter above ground. Accordingly, the x and y coordinates of the emitter can be found, in addition to the already known z coordinate.
[0097] Figure 19 is a block diagram showing the Localiser 52 of Figures 9b and 11b in greater detail. The Localiser 52 comprises functional blocks for executing the method (algorithm) 700 of Figure 17. The Localiser 52 comprises a data combining function 522 and positioning function 524. In use, the data combining function 522 receives the pixel coordinates for the emitter 14 in the image frame n from the Detector 50 and the predicted real-world position of the emitter for the image frame n from the Tracker 54. The data combining function 522 computes a predicted pixel position for the emitter based on the predicted real-world position, and so associates the pixel position with an emitter track based on the predicted real-world position. Alternatively, the data combining function 522 may combine the emitter pixel position for the image frame n with emitter pixel positions for subsequent image frames in order to optimise the emitter pixel position for the current frame n. The positioning function 524 then retrieves the 3D-DSM 57 (in the embodiment described in Figures 8 and 9) or the local 3D-DSM 62 (in the embodiment described in Figures 10 and 11), and uses the 3D-DSM 57 / local 3D-DSM 62 to, in the way described above, determine real-world coordinates for the emitter 14.
[0098] Once real-world coordinates for the emitter 14 are determined, the Tracker 56 operates to generate (or update) an emitter track (i.e., a local emitter track 68 or emitter track 65) for each detected emitter 14. Figure 20 is a flowchart illustrating a method 800 for generating emitter tracks in accordance with embodiments of the present disclosure. In other words, the method 800 shows the generating step (Step 453) of Figure 13 in greater detail. The method 800 may be performed by the Tracker 54 of Figures 9b and 11b. The method 800 operates in a cyclic manner across a plurality of image frames. The method 800 firstly comprises predicting, at Step 810, real-world coordinates for an emitter in an image frame n based on stored emitter real-world tracks. The stored emitter tracks may be the emitter tracks 65 of Figure 9b or the local emitter tracks 68 of Figure 11a. In more detail, predicting, at Step 810, the real-world coordinates of an emitter for an image frame n comprises retrieving an emitter track (from the data store 55 of Figure 9b or the data store 44 of Figure 11 a) and extrapolating recent time history of the frack 65, 68. That is, real-world coordinates of the emitter 14 for two or more previous image frames, e.g. image frame n-1 and image frame n~2, are used, and the method comprises estimating, by extrapolation of the physically possible positional envelope that the emitter could be in the current image frame n, real-world coordinates for the emitter in image frame n. The predicted real-world coordinates for the emitter 14 in the image frame n are thus associated with an emitter track and transmitted to the Localiser 52, as described with reference to Figure 17. In some embodiments, multiple emitter tracks 65, 68 may be stored at an edge computer, and so real-world coordinates of the emitter in the image frame n are predicted for each stored emitter track 65, 68.
[0099] Returning to Figure 20, the method 800 further comprises receiving, at Step 820, real-world coordinates for an emitter 14 for an image frame n. Accordingly, the output of the Localiser 52 is an input to the Tracker 54. The method 800 then comprises determining, at Step 830, if there is an associated emitter track for the received real-world coordinates. To determine if there is an associated emitter track, emitter tracks are firstly retrieved from the data store, in the embodiment described in Figures 8 and 9, emitter tracks 65 are retrieved from the data store 55 in the RCS 26, and in the embodiment described in Figures 10 and 11, iocai emitter tracks 68 are retrieved from the data store 44 in the edge computer 42a. The emitter tracks 65, 68 include emitter tracks for each emitter detected by the camera 40 over a duration of use. For exampie, if only one emitter is detected and tracked over a plurality of image frames, then only one emitter track 65, 68 is stored. Emitter tracks 65, 68 can be considered as a series of closely spaced points in space. The space between points is dependent on the operation frequency of the camera, and thus depends on the application. For example, a vehicle, such as a racing car, moving at 220mph travels approximately Im in 10ms, and thus in the described application where the optical tracking system 10 tracks a vehicle 12 around a motor circuit 22, the emitter track may be visualised with (at most) 1m spacing between precise measurement points in real world coordinates.
[0100] If the method 800 determines, at Step 830, that there is not an emitter track 65, 68 associated with the received real-world emitter coordinates (based on an association determined previously, of pixel coordinates with an emitter track 65, 68, or based on, for example, the edge computer not receiving a Held of view entry position from an adjacent camera)), the method 800 comprises creating, at Step 840, a new emitter track. Alternatively, if the method 800 determines, at Step 830, that there is an associated emitter track for the received real-world emitter coordinates (based on an association determined previously, of pixel coordinates with an emitter track 65, 68)), the method 800 comprises updating the stored emitter track 65, 68 to include the received emitter coordinates. Updating the stored track essentially comprises adding a new point onto the stored series of points that make up the emitter track 65 or the local emitter track 68.
[0101] The method 800 further comprises terminating, at Step 820, emitter tracks for which associated real-world coordinates have not been received. In other words, the method 800 comprises selecting all emitter tracks which a new point has not been added to, and ending these tracks. This may occur in the embodiment described in Figures 10 and 11 when, for example, a stored local emitter track 68 is already close to exiting the field of view of the camera 40. It also may occur in the embodiment described in Figures 8 and 9 when, for example, an emitter is outside of the field of view of all cameras in the system 10, In this way, all emitter tracks 65, 68 are updated (either updated with a new emitter coordinate or terminated). The method 800 further comprises outputting, at Step 870, the updated emitter tracks. The updated emitter tracks are stored in the data store (as emitter tracks 65, shown in Figure 9b, or as local emitter tracks 68, shown in Figure 11a), and also sent as an input for the Reporter 56, as is discussed later.
[0102] Figure 21 is a block diagram showing the Tracker 54 of Figures 9b and 11b in greater detail. The Tracker 54 is configured to execute the algorithm 800 of Figure 20. As illustrated in Figure 21, the Tracker 54 comprises various functional blocks which carry out prediction 542 and track management 544. The prediction function 542 is configured to retrieve emitter tracks from the data store (emitter tracks 65 and local emitter tracks 68 retrieved from the data store 55 and data store 44 respectively) and predict real-world coordinates for the emitter in the current image frame n based on past real-world coordinates for the emitter. As described, the emitter tracks 65, 68 comprise a plurality of points corresponding to the 3D coordinates of the emitter in a plurality of image frames. The most recent points (for example the 3D coordinates for the previous two image frames) may be used to predict the real-world coordinates for the current image frame n. The predicted coordinates, associated with an emitter track 65, 68, are sent to the Localiser 52. Simultaneously, the track management function 544 receives the calculated real-world coordinates for the emitter in the image frame n from the Localiser 52, and determines an associated track for the received real-world coordinates. Emitter tracks are created, updated, or terminated in the manner described above to create a plurality of updated emitter tracks, which are then stored in the data store, replacing the previous emitter tracks 65, 68.
[0103] In the second embodiment, described with reference to Figures 10 and 11, the tracking algorithm 800 also sends the local emitter tracks 68 to the RCS 26 (the PCM hub), to hand over emitter tracks as they transition between camera fields of view (in the described embodiment, multiple cameras 40 are used to track the emitter / vehicle over the entirety of the motor circuit 22), or the tracks may be sent via a communicable coupling directly from mast to mast. Also, in embodiments comprising two cameras 40 on a single mast, the Tracker 54 sends the local emitter tracks internally between the cameras for the same reason.
[0104] Once the position of the emitter 14 is known, the position of the object the emitter is disposed on (i.e., the position of the vehicle 12) in the 3D environment (the motor circuit 22) can be determined. Figure 20 shows flowcharts illustrating two alternative methods for determining a position of a vehicle in a 3D environment in accordance with embodiments of the present disclosure. The methods illustrated in Figure 22 describe the associating step (Step 454) of Figure 13 in greater detail. The illustrated methods (algorithms) may be executed by the Reporter 56 of Figure 9b and 11b. [OIOS] A first method 900a for determining a position of a vehicle in a 3D environment in accordance with embodiments of the present disclosure is shown in Figure 22a. The method 900a comprises receiving, at Step 910, an initial (start) position of the vehicle and assigning an ID to the pair of emitters 14 disposed on (attached to) the vehicle. The emitter ID is associated with the vehicle, which is then stored alongside the initial position of the vehicle 12 as a vehicle-emitter association (a component of the survey data 70). The method comprises receiving, at Step 920, emitter tracks. In the embodiment described in Figures 8 and 8, emitter tracks 65 (comprising the real-world position of the emitter 14 over the full environment) are received, and in the embodiment described in Figures 10 and 11, local emitter tracks 68 (comprising the real-world position of the emitter 14 in the portion of the environment in the field of view of the coupled camera) are received. The emitter tracks may may be received from the Tracker 54, or retrieved from the data store (data store 44 or data store 55). The method 900a further comprises associating, at Step 930, the local tracks with a vehicle 12. In more detail, as described previously, survey data 70 comprises vehicle-emitter associations (which associate emitter IDs with a vehicle). Emitters are tracked from the initial vehicle position, and thus the emitter ID is maintained as the emitter is tracked. Based on the emitter ID, the associated vehicle is determined.
[9106] The method 900a further comprises calculating, at Step 940, real world vehicle parameters (i.e., real-world vehicle positioning) using survey data 70. Survey data 70 may be retrieved from the data store. As described previously, vehicle survey data 70 comprises a high-fidelity data model of the vehicle, and so defines the measured positions of the emitters) disposed on the vehicle in relation to the vehicle body and the vehicle tyre-to-track contact patches. Thus, the method 900a comprises using the emitter tracks and the high-fidelity data model of the vehicle 12 to calculate geometrically the real-world position, pose, orientation etc. of the vehicle. In other words, a virtual vehicle is built around the detected emitter, the emitter position defined by the emitter track. In this way, local tracking data relative to the racetrack, comprising the position of the vehicle over the plurality of image frames, that is, overtime, is generated.
[0107] An alternative method (algorithm) 900b for determining a position of a vehicle in a 3D environment is shown by the flowchart in Figure 22b. As illustrated, the method 900b comprises determining, at Step 950, an emitter ID based on a signal detected from an emitter 14. As mentioned previously, in some embodiments, each unique emitter has a unique ID. The unique ID may be encoded in the light emitted by an emitter 14 by modulation. WhHe on-off modulation may be used, in such embodiments determining the emitter ID would require the emitter to be detected over a plurality of image frames. Accordingly, in some embodiments, high and low intensity modulation may be used, where the low intensity modulation is still detectable by the camera 40, For example, high intensity may be 230 (out of a saturation value of 255), and low intensity may be 190. Thus, based on the light emitted by an emitter 14 over a plurality of frames, an emitter ID is detected. Other forms of encoding of digital ID within a modulated signal may also be used, for example with different distinguishable light intensities representing different digits.
[0108] The method 900b further comprises receiving, at Step 960, emitter tracks (emitter tracks 65 or local emitter tracks 68) and then associating, at Step 970, the emitter tracks with a vehicle based on the emitter ID. As previously described, the vehicle-emitter association is identified prior to use of the optical tracking system 10. Based on the detected ID of the emitter 14, the associated vehicle 12 is determined using the vehicleemitter associations, stored as part of the survey data 70. The method 900b further comprises calculating, at Step 980, real-world vehicle parameters using the survey data, which corresponds to Step 940 described for the method 900a shown in Figure 22a.
[0199] In some embodiments, correction factors may also be used that compensate for dynamic variation in the geometrical relationship between the emitter positions and the tyre-to-track contact patches caused by wheel suspension compression or extension. For example, there may be a uniform compression of all 4 suspensions in the vehicle 12 due to speed dependant aerodynamic down forces, or cornering may compress each suspension differently due to acceleration forces. These effects may be characterised in simple look-up tables for specific types of vehicles, or by other dynamic modelling methods. For example, the vehicle survey data 70 may also include constants that characterise simply the suspension behaviour caused by aerodynamic down force, cornering force and acceleration / braking forces, such that the small geometrical changes can be compensated for continuously and within the required frame time. In some embodiments the emitters may include components to measure acceleration and rotation forces and transmit such measured information to the detectors using emitter signal modulation.
[0110] Accordingly, using the methods of the present disclosure, tracking data for a vehicle is generated using reduced processing compared to prior art methods. In described embodiments, the detection of an emitter is performed at an edge computer 42 coupled to a camera 40, which reduces latency compared to methods where image frames are transferred to separate processors. The described detection method also allows for extremely quick computation of emitter position. By using optically-active emitters, the camera output has a high SNR, allowing for efficient detection. Data from all edge computers 42 in the optical tracking system 10 are sent to an RCS 26 or central processor 24, where the data is aggregated to record continuous tracks of vehicles as they move throughout the 3D environment. For example, when the optical tracking system 10 is implemented in a motor circuit, and used to monitor vehicles during a motorsport event, all vehicles are tracked as the vehicles move around the circuit in a race, and enter and leave the pit-lane.
[0111] On occasion, the objects being tracked may exit the field of view of the entire optical tracking system 10 (i.e., be out of view of all cameras 40). For example, in the described example relating to a motorsport event, vehicles may leave the motor circuit onto a run-off area, and then return to the motor circuit 22 after some delay. This is detected as an emitter leaving a field of view of a camera 40 laterally and remaining out-of-view of all cameras in the optical tracking system 10 for a period of time. The optical tracking system 10 according to embodiments of the present disclosure is robust to such situations, and may use recovery algorithms and techniques to ‘reacquire lock’ on a vehicle.
[0112] A simple and frequently used algorithm that is used when one vehicle leaves the field of view of the optical tracking system 10 for a period of time comprises recording when an emitter leaves the field of view of the optical tracking system 10, and then recording when a new emitter enters the field of view of the optical tracking system. As all ether emitters are present in recorded image frames, the new emitter is determined to be the emitter that previously left the field of view, and so is identified as such.
[0113] In the case when two vehicles are outside of the field of view of the optical tracking system 10 simultaneously, an alternative recovery algorithm may be used, which uses a simple extrapolation to predict emitter tracks. The predicted emitter tracks are used to distinguish the emitters (and so vehicles), when the vehicles return to the field of view of the optical tracking system 10, as by maintaining the vehicle track, the ID associated with the track is also maintained. If the extrapolations are ambiguous (which is rare) then an operator of the optical tracking system 10 may manually reallocate vehicle identification by observation. These simple techniques do not require the use of a unique identifier of each vehicle to be sensed and thus this simplifies the overall design of the optical tracking system 10,
[0114] However, as described previously, in some embodiments, LED emitters may be strobed and synchronised with camera exposure intervals. In such embodiments, each vehicle (that is, the emitters on each vehicle) may have a unique strobe pattern that can be used to identify the vehicle when the vehicle returns into the field of view of the optical tracking system 10. In this way, any possibility of ambiguity is avoided.
[0115] Embodiments of the present disclosure therefore provide a highly accurate optical tracking system 10 that may be used to track objects in a 3D environment. The optical tracking system 10 may be used, for example, to track vehicles on a motor racing circuit. By using the system 10 of the present disclosure, that is by detecting light emitted from LEDs disposed on the object, the position of an object is detected accurately, and the volume of data to be processed is greatly reduced. Additionally, by carrying out at least a portion of processing locally on an edge computer coupled to the camera, any latency in data communications is also reduced. As a result, objects are tracked in substantially real-time.
[0116] Having described several exemplary embodiments of the present disclosure and the implementation of different functions of the optical tracking system in detail, it is to be appreciated that the skilled person will readily be able to adapt the basic configuration of the system to carry out described functionality without requiring detailed explanation of how this would be achieved. Therefore, in the present specification, several functions of the system have been described in different places without an explanation of the required detailed implementation as this is not necessary given the abilities of the skilled person to implement functionality into the system. The scope of the present disclosure is only limited by the spirit and scope of the present claims
[0117] Furthermore, it will be understood that features, advantages, and functionality of the different embodiments described herein may be combined where context allows.
Claims
1. A system for tracking movement of an object in a three-dimensional (3D) environment, the system comprising:at least one emitter provided on the object, the at least one emitter being arranged to emit light at a predetermined wavelength, the predetermined wavelength being different to wavelengths of light absorbed by elements in the earth's atmosphere;at least one camera configured to capture a sequence of images comprising a plurality of image frames, the at least one camera comprising a filter configured to filter out received light not at the predetermined wavelength; andone or more processors configured for each image frame of the plurality of image frames to: identify a pixel position for the at least one emitter in the image frame based on the light captured by the at least one camera; anduse the pixel position, knowledge of a location and a field of view of the at least one camera and a model of the 3D environment to determine a position of the object in the 3D environment.
2. The system of Claim 1, wherein the system comprises a data store storing emitter position information regarding the 3D location of the at least one emitter on the object and the one or more processors is configured to use the emitter position information in determining the position of the object in the 3D environment.
3. The system of Claim 1 or 2, wherein the object is a vehicle and the at least one emitter is positioned along a longitudinal axis of the vehicle.
4. The system of any of Claims 1 to 3, wherein the at least one emitter comprises a light-emitting diode (LED) configured to emit light at an infrared wavelength.
5. The system of Claim 4, wherein the LED is configured to emit light at a wavelength of approximately 855nm.
6. The system of any of Claims 1 to 5, wherein the one or more processors is configured to identify a pixel position for the at least one emitter by identifying pixels in the image frame having an intensity greater than a predetermined threshold, grouping the pixels and determining a centre of the group of the pixels.
7. The system of any of Claims 1 to 6, wherein the one or more processors is configured to combine sequential pixel positions of the at least one emitter determined from processing the sequence of images to form a track of locations of the object through a field of view of the at least one camera.
8. The system of Ciaim 7, wherein the one or more processors is configured to use the track oflocations of the object from the plurality of frames to predict a location of the object in a subsequent sequential image frame.
9. The system of Claim 8, wherein the one or more processors is configured to use the predicted location of the object in determining the position of the object in the 3D environment.
10. The system of any of Claims 7 to 9, wherein the one or more processors is configured to associate the track of locations with a unique identifier of the object.
11. The system of any of Claims 1 to 10, wherein the at least one emitter is configured to emit an encoded unique identifier of the object using modulated light emissions over a plurality of frames.
12. The system of Claim 11, wherein the one or more processors is configured to decode the modulated light emissions from the at least one emitter, determine the unique identity of the object and associate the track of locations with the unique identity of the object.
13. The system of Claim 1, wherein the system further comprises:an edge computer provided in direct communication with the at least one camera at the location of the at least one camara, the edge computer providing at least a local processor of the one or more processors; anda hub computer provided at a location spaced apart from the edge computer, the hub computer being operatively connected to the edge computer via a communications channel.
14. The system of Claim 13, wherein the local processor is configured to identify the pixel position of the at least one emitter in the image frame based on the light captured by the at least one camera;15. The system of Claim 14, wherein the edge computer comprises: a transmitter configured to transmit the pixel position to the hub computer; and the hub computer is configured to use the pixel position, knowledge of a location of the at least one camera and a model of the 3D environment to determine a position of the object in the 3D environment.
16. The system of Claim 15, wherein the hub computer stores a model of the 3D environment for use in determining the position of the object in the 3D environment,17. The system of Claim 15 or 16, wherein the hub computer stores survey data describing the physical shape and size of the object and the position of the at least one emitter on the object for use in determining the position of the object in the 3D environment.
18. The system of Ciaim 17, wherein the survey data comprises data describing the changes in shape and size of the object as it moves.
19. The system of Ciaim 14, wherein the iocai processor is configured to use the pixel position, knowledge of a location of the at least one camera and a model of the 3D environment to determine a position of the object in the 3D environment.
20. The system of Ciaim 19, wherein the edge computer comprises a transmitter configured to transmit the position of the object in the 3D environment to the hub computer via the communications channel,21. The system of Claim 19 or 20, wherein the edge computer stores a local model of the 3D environment about the location of at least one camera for use in determining the position of the object in the 3D environment within the field of view of the at least one camera.
22. The system of any of Claims 13 to 21, wherein the at least one camera comprises a plurality of cameras positioned sequentially around a circuit, each one of the plurality of cameras having a field of view of a unique part of the circuit; and the hub computer is configured to combine the positions of the object in the field of view of each of the plurality of cameras to determine the position of the object as the object moves around the circuit.
23. The system of Claim 22, wherein each of the plurality of cameras has a field of view which partially overlaps with a field of view of an adjacently positioned camera.
24. The system of any of Claims 13 to 23, wherein the hub computer is configured to transmit the position of the object in the 3D environment to a central computer via a wide area communications network.
25. The system of any of Claims 1 to 24, wherein the at least one camera is configured to operate with an image capture frequency of at least 90Hz and a duty cycle of at most 5% to minimise motion blur of high speed vehicles.
26. The system of any of Claims 1 to 25, wherein the one or more processors is configured to identify a pixel position for the at least one emitter in one of the plurality of image frames before a next image frame of the plurality of image frames is captured,27. The system of any of Claims 1 to 26, wherein the at least one emitter is strobed having a light emission time period and the at least one camera is configured to have an exposure period which is synchronised to the light emission time period.
28. The system of Ciaim 27, wherein the iight emission time period of the at least one emitter and the exposure period of the at least one camera are synchronised by a radio frequency trigger signal provided to the at least one emitter and the at least one camera.
29. The system of any of Claims 1 to 28, wherein the one or more processors is configured to determine a footprint of the object as the position of the object in the 3D environment.
30. The system of Claim 1, wherein the at least one emitter comprises at least two emitters and the one or more processors is configured to:identify pixel positions for each of the at least two emitters in the image frame based on the light captured by the at least one camera; anduse the pixel positions, knowledge of a location of the at least one camera and a model of the 3D environment to determine a position and orientation of the object in the 3D environment.
31. A system for tracking movement of an object in a three-dimensional (3D) environment, the system comprising:at least two emitters provided at spaced apart locations on the object, the at least two emitters being arranged to emit light a predetermined wavelength being different to wavelengths of light absorbed by elements in the earth’s atmosphere;af least one camera configured fo capture a sequence of images comprising a plurality of image frames, the at least one camera comprising a filter configured to filter out received light not at the predetermined wavelength; andone or more processors configured for each image frame of the plurality of image frames to: identify pixel positions for each of the at least two emitters in the image frame based on the light captured by the at least one camera; anduse the pixel positions, knowledge of a location of the at least one camera and a model of the 3D environment to determine a position and orientation of the object in the 3D environment.
32. A method of tracking movement of an object in a three-dimensional (3D) environment, the method comprising:emitting light from at least one emitter provided on the object, the light being emitted at a predetermined wavelength different to wavelengths of light absorbed by elements in the earth’s atmosphere;capturing a sequence of images comprising a plurality of image frames using at least one camera, the capturing step comprising filtering out received light not at the predetermined wavelength; and processing each image frame of the plurality of image frames to:identify a pixel position of the at least one emitter in the image frame based on a captured image of the sequence of captured images; anddetermining the position of the object in the 3D environment using the pixel position, knowledge of a location and a field of view of the at least one camera, and a model of the 3D environment.
33. A method of determining a position of an object in a three-dimensional (3D) environment, the method comprising:emitting light from at least one emitter provided on the object, the light being emitted at a predetermined wavelength different to wavelengths of light absorbed by elements in the earth’s atmosphere;capturing an image using a camera at a known position in the 3D environment, the capturing step comprising filtering out received light not at the predetermined wavelength; andprocessing the image to identity a pixel position of the emitter in an image frame based on a captured image; andtransmitting the pixel position of the emitter as a representation of the position of the object in the 3D environment for use in determining a position of the object in a model of the 3D environment.A
Citation Information
Patent Citations
Optical tracking system and marker for optical tracking system
CN116830156A
Detector for determining a position of at least one object
US20200348385A1
Active marker strobing and synchronization for performance capture communication
US20220092301A1
Method, System and Apparatus for Tracking and Monitoring Moving Objects
AU2013100508A4