Event-based tracer tracking method and system and computer program
By using an event camera and a processor to determine the tracer trajectory in real time, the complexity problem of the tracer tracking system in the prior art is solved, flexible and efficient tracking of high-flow rate airflow in a large volume domain is achieved, and real-time adjustment and data reduction are supported.
Patent Information
- Application Number
- CN202380094445.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-09
- Filing Date
- 2023-12-20
- Publication Date
- 2025-09-26
AI Technical Summary
In the prior art, tracer tracking systems are too complex to set up and implement in industrial applications, making it difficult to achieve simple and convenient asynchronous tracer motion detection, especially in the case of high tracer flow rates in large volume domains.
An event camera is used to record light intensity changes to generate output data, and a processor is used to determine the trajectory of the tracer in the measurement space in real time or near real time. The injection area is adjusted in the measurement space through an adjustable tracer seeding device to achieve real-time or near real-time trajectory determination and data processing.
It achieves flexible and efficient monitoring of tracer flow in the measurement space, can adjust the injection area without interrupting the process, is suitable for tracking high-flow rate airflow, reduces data volume, and supports long-term experimental data recording and instant evaluation.
Smart Images

Figure CN120712482A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an event-based tracer tracking method, system and computer program Background Art
[0002] Tracer tracking in fluids is well known in the art. It has important applications in fluid dynamics, particularly in aerodynamic design processes such as those found in wind tunnels. Tracer tracking can also be used to monitor the circulation of fluid flows, such as airflow in indoor and outdoor environments.
[0003] Typically, a frame-based camera setup is used to record airflow, for example to make it visible through smoke or fog.
[0004] Recently, event-based cameras have also been applied in this field. However, for simple industrial applications, the systems and methods in the prior art are too complex to set up and execute. Summary of the Invention
[0005] The object of the present invention is to provide a method and system that allows asynchronous tracer motion detection, facilitates a simple and convenient setup of tracer tracking applications, and is accompanied by real-time monitoring. The method and system are particularly suitable for very high tracer flow rates in large volume domains.
[0006] This object is achieved by a device having the features of claim 1 .
[0007] Advantageous embodiments are described in the dependent claims.
[0008] According to claim 1, a method for determining, in particular recording, a tracer flow in a measurement space is disclosed, the method comprising at least the following steps:
[0009] a) injecting a tracer into the measurement space at a first injection region using at least one tracer seeding device, the tracer seeding device being configured to inject the tracer at an adjustable injection region of the measurement space,
[0010] b) recording the measurement space using two or more event cameras, wherein each camera is configured to generate output data whenever a sensor of the event camera senses a change in light intensity, the output data including position information of the sensor that sensed the change in light intensity and a time of the change in light intensity,
[0011] c) determining, by means of at least one processor, a trajectory of at least part of the injected tracer in the measurement space from data from the event camera, wherein each trajectory comprises at least time-resolved three-dimensional position information of the tracer, and the trajectory is determined in real time or near real time, i.e. in near real time, in particular such that the processor is configured to process data at a rate that is on average greater than or equal to a rate of data generated by the event camera, thereby enabling real-time processing of the data generated by the event camera.
[0012] d) While performing steps b) and c), adjusting the injection region to at least a second injection region.
[0013] The present invention can continuously record and generate trajectories without time restriction, and can adjust the injection area of the tracer during the measurement process.
[0014] These two features allow for extremely high flexibility and speed in measuring flow distribution in the measurement space.
[0015] Advantageous applications of this method include measurement spaces such as wind tunnels or cleanrooms, where it can be used to track fast or slow airflows without requiring complex and precisely defined tracer seeding conditions. The tracer can be injected anywhere within the measurement space, and thanks to the method's real-time architecture, the injection position can be adjusted based on the determined trajectory distribution.
[0016] The measurement volume may also be configured to allow fluid flow, such as liquid flow.
[0017] The injection region may be associated with an injection position and / or an injection attitude. Therefore, adjusting the injection region particularly relates to adjusting the injection position and / or attitude. Thus, the present invention enables, during the execution of the method, in particular without interrupting any process, the first injection region to be changed to a second injection region, the position and / or orientation of the second injection region being different from the first injection region. Additionally or additionally, adjusting the injection region particularly refers to changing the geometry or dimensions of the injection region.
[0018] In particular, the first implantation region differs from the second implantation region in at least one or more aspects, including position, orientation, size, and shape.
[0019] In particular, the term "the trajectory is determined in real time" should be understood as "the trajectory is determined in real time", that is, the determination result is obtained in real time. However, those skilled in the art should clearly understand this concept.
[0020] Thus, the method is configured to determine the trajectory in near real time (ie, in near real time).
[0021] Typically, tracers are injected into a fluid stream, but they can also be injected into a vacuum-like environment, such as that found in rocket engine exhaust particles.
[0022] The injection region can be located within the measurement space. Alternatively, in case a plurality of tracer injection devices are used, the injection region can also (additionally) be located outside the measurement space.
[0023] In the context of the present specification, the term "tracer" particularly comprises the concept of an object movable in a fluid flow, wherein the object does not necessarily move along the flow. The tracer is configured to be detected by an event camera.
[0024] The term "event camera" specifically includes any asynchronous sensor device that is configured to generate output data asynchronously as described in the preceding paragraphs.
[0025] Multiple injection devices can be used to inject the tracer into different injection areas simultaneously or sequentially.
[0026] The term "light intensity variation" may also be referred to in the art as "temporal contrast variation".
[0027] The terms "real-time" and "near real-time" refer specifically to the delay between the detection of an event and the processing and determination of the three-dimensional position of the tracer that the event may indicate. Thus, the delay is typically in the range of 20ms to 500ms, more specifically in the range of 50ms to 200ms, and more specifically in the range of 100ms to 150ms, while in real-time applications, the processing and display rate of the processed 3D position is no less than 15Hz.
[0028] In addition, or as an alternative, the terms "real time" and "near real time" particularly refer to a delay between a physical event occurring in the measurement space (e.g. movement of a tracer) and the determination of the three-dimensional position or trajectory, which delay may be in the range of 100 ms to 500 ms, and in particular, the delay may be less than one second.
[0029] In particular, the terms "real-time" and "near real-time" may be understood to mean that the update rate of the method (eg, in terms of processing cycles of a computer or processor) is faster than 100 Hz.
[0030] In some computer systems, the data transfer from the event camera to the processor may be the limiting factor (e.g. via USB), but this is usually included within the concept of "real time".
[0031] Alternatively, or in addition, the terms "real-time" and "near real-time" may relate to a processing architecture that guarantees a predefined processing time for each processing step, such that each processing step generates a result within said processing time in any case, avoiding any data overflow at a particular processing step.
[0032] The processing time may be a maximum allowable delay, which may be selected by a user, others, and / or automatically determined, for example, based on specifications of the processing hardware.
[0033] The method is able to generate three-dimensional trajectories in the measurement space, which makes it a versatile and advantageous tool in wind tunnels and other applications.
[0034] The method is able to generate any derived quantity such as velocity, acceleration, helicity, etc. from the trajectory and / or time-resolved 3D position of the tracer.
[0035] The output data can also include polarity information about the light intensity changes. This additional polarity information allows for more flexibility in trajectory determination, for example when light conditions change.
[0036] The sensors of a camera can be arranged in an array. In particular, these sensors include or consist of photosensitive pixels, each of which is configured to generate pixel output data including information about a change in intensity, the time at which the change occurred, and, in particular, the polarity of the change. A sensor can include multiple pixels, where the output data is the aggregated output data of the pixels included in the sensor. Alternatively, a single sensor can include only a single pixel.
[0037] The method determines the position of the tracer in a time-resolved but asynchronous manner, which allows for a reduction in the amount of data required to determine the tracer trajectory compared to frame-based data.
[0038] It is also possible to determine and correlate the time derivatives (such as velocity and / or acceleration) at any point on each trajectory, opening up numerous subsequent evaluation possibilities.
[0039] Any trajectory-based topological information can also be derived, such as the curvature and / or torsion of the trajectory.
[0040] Furthermore, the method enables the determination of the spatiotemporally resolved density of trajectories and / or tracers.
[0041] The method is capable of determining more spatiotemporal information of a single trajectory or a set of trajectories in a coherent stream, which may include phase averaging, non-uniform fast Fourier transform (non-uniform FFT) and / or modal decomposition of the trajectories.
[0042] The term "injection region" specifically refers to the region within the measurement volume where the tracer is distributed, such as a point region, a surface region, or a volume region. Thus, an injection position or posture can be associated with the injection region. In the context of this specification, the injection region can also be referred to as the seeding region.
[0043] In the context of this specification, the output data generated by an event camera's sensor each time it detects a change in light intensity is also referred to as an "event." Each event includes the location of the sensor that recorded the light intensity change, the time when the change occurred, and, in particular, the polarity of the change. Therefore, each event can be associated with the location of the corresponding sensor and the time when the change occurred. Each event can also be associated with the polarity of the change.
[0044] In particular, the method is configured to synchronize the time information of light intensity changes of the event cameras so that the times associated with the events of the event cameras can be associated with a common time. The common time can be provided by a clock of a selected event camera from a plurality of event cameras to the remaining event cameras, or by an external clock that provides the common time to all event cameras. The common time can also be provided by an external source, for example in the form of an electrical timing signal or an optical timing signal. In particular, the optical timing signal can be provided by a light source arranged in the measurement space. The term "light source" particularly includes the concept of light signal reflection.
[0045] In particular, the method is configured to synchronize the time information of light intensity changes of an event camera with one or more processors processing data from at least one event camera, or with one or more processors processing information derived from data from at least one event camera. The common time can be provided by the clock of a selected event camera from a plurality of event cameras, the clock of a selected processor, or an external clock that provides a common time to at least one event camera and / or one or more processors. This synchronization of the event camera with the data processor can associate the elapsed processing time of the one or more processors with the timestamps assigned to the events generated by the event camera and ensure that they are aligned with the common time, which otherwise may not be guaranteed due to buffering of the event data. In addition, long-term operation of the measurement system may lead to time inconsistencies due to inherent drift in the clocks of the event cameras and the clocks of the data processors. The synchronization scheme disclosed in this embodiment can avoid this problem.
[0046] According to a further embodiment of the invention, at least part of the determined trajectory is stored on a non-transitory storage medium.
[0047] Compared to frame-based / synchronous approaches, this embodiment generates relatively small data volumes, as all data, regardless of the frame content, must be stored in these approaches. According to the present invention, the event camera only records changes in the scene, significantly reducing the amount of data generated per time unit. Consequently, this embodiment can store hours of experimental data, which is incomparable to frame-based systems that rely on synchronous / high-speed recording of complete frames.
[0048] This enables post-processing and evaluation of the recorded data.
[0049] According to another embodiment of the present invention, at least part of the determined trajectory is displayed on a display, in particular, when steps b) to c) and / or step d) are performed.
[0050] Displaying the trajectory and / or derived quantities allows the operator to make an immediate assessment and, for example, adjust the injection area accordingly.
[0051] According to another embodiment of the present invention, each trajectory has an associated generation time, wherein displayed trajectories with a generation time earlier than a selected time are deleted from the display, thereby showing the time evolution of the trajectory.
[0052] This embodiment allows the selection, sorting and filtering of trajectories based on their generation time, which may be the time when the trajectory begins, ie, the time when the processor first identifies the tracer.
[0053] This embodiment can prevent data overflow in the display and processing pipelines.
[0054] According to another embodiment of the invention, the adjustment of the injection area is associated with an adjustment time, which is provided to the processor, in particular, this allows the tracer and the trajectory to be associated with the adjustment time, in particular wherein the adjustment time is stored on a non-transitory storage medium in order to associate the adjustment time with the trajectory.
[0055] This embodiment allows trajectories to be selected, sorted, and filtered based on the injection region, for example, allowing independent trajectory sets to be generated for display. In addition, projection surfaces, isosurfaces, trajectory bundles, and streamlines derived from trajectory data can also be displayed and selected in a similar manner.
[0056] The trajectory data include, in particular, trajectory information in digital form.
[0057] According to another embodiment of the present invention, the implantation region is repeatedly adjusted, and in particular, the position of the implantation region is repeatedly adjusted.
[0058] This embodiment allows achieving any desired sampling quality of the measurement space and the trajectories therein.
[0059] The methods known in the art are static and there is no movement of the implanted area.
[0060] According to a further embodiment of the invention, at least one tracer seeding device comprises at least one injection nozzle, via which the tracer is injected into the measurement space, wherein at least the injection nozzle or the seeding device is hand-held and / or manually guided, so that the injection area is adjusted by manually moving the nozzle to another area of the measurement space.
[0061] This embodiment allows for free selection of the injection area, the person holding the nozzle can determine which area of the measurement volume is to be sampled with the tracer.
[0062] It should be noted that the person does not need to keep the nozzle still, but can wave the nozzle at will. The nozzle can be configured to provide a point injection area, a sheet injection area or an injection area of other shapes.
[0063] According to another embodiment of the present invention, at least one tracer seeding device comprises at least one injection nozzle, through which the tracer is injected into the measurement volume, wherein at least the injection nozzle or the seeding device is a robotic device that is configured to be controllable by a control computer or by a person, the robotic device being configured to move the one or more nozzles to another area of the measurement volume. The robotic device can be operated by an operator located outside the measurement volume.
[0064] According to another embodiment of the present invention, the tracer seeding device comprises an injection nozzle, through which the tracer is injected into the measurement space, wherein the injection device is configured to move the nozzle by computer control, in particular wherein the tracer seeding device is connected to a control computer, wherein the control computer issues control instructions to the tracer seeding device to cause the device to move the nozzle.
[0065] The processor and controlling computer may be distinct and independently operating entities, or they may be contained within the same computing device.
[0066] This embodiment allows for automated and computer-controlled sampling of the measurement volume and the trajectories therein. This allows, for example, sampling of the airflow over an object at a preset or selectable trajectory density. In particular, it allows for measurement based on quality indicators such as flow rate variance, data fluctuation, and / or convergence of data averages.
[0067] According to another embodiment of the present invention, the nozzle is moved along a preset pattern so that the injection area is adjusted according to the preset pattern.
[0068] According to another embodiment of the invention, the processor determines a trajectory density for one or more sub-volumes in the measurement space.
[0069] This allows the generation of datasets with a preset trajectory density, which, for example, allows comparison with simulation results and guarantees a preset sampling density of the trajectory space.
[0070] The term "subvolume" specifically refers to the volume included in the measurement space. The size of the subvolume can range from cubic millimeters to cubic meters.
[0071] According to another embodiment of the invention, the density of one or more sub-volumes is displayed.
[0072] This allows interactive adjustment of the injection area if necessary.
[0073] According to another embodiment of the present invention, the method displays a visual indication of a subvolume of the one or more subvolumes to the user if the density of the subvolume is below a selected threshold.
[0074] This allows, for example, an operator to make guided and interactive adjustments to the injection area.
[0075] According to another embodiment of the present invention, the injection area is adjusted so that the density in one or more subvolumes is equal to or higher than the density selected for the one or more subvolumes, in particular, wherein the tracer seeding device is configured to receive control instructions from a control computer, which instructions cause the tracer seeding device to move the nozzle to adjust the trajectory density in the one or more subvolumes.
[0076] This embodiment allows for automated and computer-controlled generation and sampling of the measurement volume, which in turn reduces recording time.
[0077] According to another embodiment of the present invention, the tracer comprises one or more of the group consisting of:
[0078] -bubble,
[0079] - droplets,
[0080] - particles,
[0081] As can be seen, a variety of tracers can be used in this method. Depending on the application, different tracers are used. Mixtures of tracers, such as bubbles and droplets, can also be used. Droplets consist of liquid, while bubbles contain a gas encased in a liquid shell.
[0082] The particles can be soft particles or hard particles, such as sand, ice, snowflakes, pebbles, dry ice particles, or gel particles.
[0083] The tracer does not necessarily have to follow the fluid flow in the measurement space.
[0084] Tracers may include labels or markers, such as luminescent probes, that can be selectively detected by an event camera.
[0085] According to a further embodiment of the invention, the measurement space is comprised in a wind tunnel or is itself a wind tunnel, wherein the wind tunnel comprises a wind force generating device.
[0086] The measurement space may comprise a row of flow generating devices, or be adjacent to a row of flow generating devices.
[0087] This embodiment allows for flexible and rapid testing of the aerodynamic properties of an object placed in a wind tunnel.
[0088] According to another embodiment of the invention, the tracer is injected into a fluid, such as a gas flow through the measurement space.
[0089] The fluid may also be a liquid or any fluid stream.The tracer may be selected depending on the specific application.
[0090] According to another embodiment of the invention, the tracer comprises or consists of gas bubbles or droplets containing a fluid (eg a gas that makes the gas bubbles neutrally buoyant), in particular such a gas that makes the gas bubbles float in the measurement volume.
[0091] If the tracer is a gas bubble, such fluid may include helium.
[0092] Alternatively, the tracer may be a droplet comprising a liquid that is immiscible with the surrounding liquid, or a solid particle of matching density.
[0093] According to another embodiment of the invention, the tracer comprises or consists of air-filled bubbles, in particular the flow velocity of the air flow into which the tracer is injected in the measurement volume at least in the injection region is higher than 50 km / h.
[0094] This allows the use of non-neutrally buoyant tracers, which are extremely cost-effective compared to helium-filled tracer bubbles. When the flow rate is high enough, the effect of gravity on the trajectory distortion is minimal and can be ignored.
[0095] It is worth noting that, thanks to the superior characteristics of the event camera, this method is capable of recording tracers at almost any speed.
[0096] According to another embodiment of the present invention, the flow velocity is higher than 30 km / h, in particular higher than 50 km / h, more particularly higher than 80 km / h, in particular in the injection area. Such flow velocities are difficult to record for a longer period of time for a frame-based system, as the amount of data that needs to be processed becomes too large (due to the necessity to increase the frame rate).
[0097] According to another embodiment of the present invention, the tracer comprises a plurality of tracers present simultaneously, the species being selected from the following group:
[0098] - tracers in the form of liquid droplets and tracers in the form of bubbles,
[0099] - tracers in the form of liquid droplets and solid particles,
[0100] - tracers in the form of bubbles and solid particles,
[0101] - Tracers in the form of liquid droplets, tracers in the form of gas bubbles and tracers in the form of solid particles.
[0102] In particular, in scenarios where both tracers in the form of bubbles and solid particles are present, the jet or fluid can be observed and evaluated by determining the trajectories of the bubbles, while other characteristics can be observed by determining the trajectories of the solid particles, which may not strictly follow the fluid flow but whose trajectories are determined by other factors.
[0103] According to another embodiment of the present invention, the tracer has luminescence, in particular fluorescence.
[0104] This embodiment allows for better and / or selective detection of the tracer.
[0105] According to another embodiment of the invention, the processor determines the two-dimensional time-resolved position of the tracer in the measurement space based on the data of each event camera, wherein the three-dimensional position of each tracer is determined from the multiple two-dimensional positions of each tracer, in particular by evaluating the time consistency of the multiple two-dimensional positions of each tracer, in particular by photogrammetry.
[0106] Determining 3D position from event-based camera data is more complex than with frame-based cameras because merging 2D position information first requires establishing temporal consistency—that is, assigning recorded events to the same or different tracers. In this respect, determining the 3D position of tracers differs significantly from traditional photogrammetric methods known in the art that involve frame-based camera data.
[0107] In particular, the three-dimensional trajectory of the tracer can be determined based on its three-dimensional position.
[0108] According to another embodiment of the present invention, the data of the event camera is generated asynchronously, which reduces the data load on the processor, in particular compared to approaches based on frame cameras.
[0109] According to a further exemplary embodiment of the present invention, an object is arranged in the measurement volume, wherein the trajectory of a tracer flowing around the object can be determined by the method.
[0110] This embodiment allows characterizing the aerodynamic properties of the object, in particular when the measurement space is a wind tunnel.
[0111] According to another embodiment of the present invention, during the recording step b), the object adjusts its geometry, position, attitude and / or aerodynamic properties.
[0112] This allows the aerodynamic properties of an object to be tested in real time in various geometric states. It also enables rapid configuration changes of the object – even within the measurement volume.
[0113] According to another embodiment of the invention, before performing step a), the object is aligned relative to the event camera, in particular wherein different parts of the object are aligned by selectively illuminating them, in particular using a light point, a plurality of light points and / or a pattern or a group of light points consisting of individual light points, wherein the event camera records the illuminated part and the processor determines the three-dimensional position of the illuminated part.
[0114] This embodiment is essentially based on the same way of evaluating the recorded data as for recording and determining the trajectory, and allows for a simple and fast registration of the object in the measurement space. The registration particularly includes determining the pose of the object in the measurement space.
[0115] According to another embodiment of the present invention, a 3D model, such as a computer-aided design (CAD) model of the object, is provided to a processor, wherein the processor registers a pose of the 3D model relative to a measurement space representation by processing the illuminated portion.
[0116] This embodiment allows for accurate registration of objects with a 3D model and display of trajectories relative to this 3D representation.
[0117] According to another embodiment of the present invention, a three-dimensional representation of the object in the measurement space is generated based on the three-dimensional position of the illuminated part.
[0118] This embodiment allows for reconstruction of a virtual representation of an object, for example, so that a computer-aided design (CAD) model may not be required when displaying the trajectory along with the representation of the object.
[0119] According to another embodiment of the present invention, a resolved path or a plurality of resolved path segments are fitted to the trajectories so that the trajectories can be expressed and presented in the form of the resolved path or the resolved path segment.
[0120] The analytical path can be expressed in the form of polynomial function, B-spline, non-uniform rational B-spline (NURBS), etc.
[0121] This allows for data reduction and noise reduction of the trajectories.
[0122] According to a second aspect of the present invention, a system configured to perform the method according to any one of the aforementioned embodiments is disclosed, wherein the system comprises at least the following components:
[0123] - a processor, in particular one or more processors.
[0124] - Two or more event cameras arranged at different locations, wherein the cameras are connected to a processor to provide event data, in particular the event data comprising the information described in the relevant embodiment of the method.
[0125] - one or more tracer seeding devices, wherein each tracer seeding device is configured and arranged to inject a tracer into the measurement space.
[0126] Characterized in that each tracer seeding device is configured and arranged to subsequently inject the tracer into at least a first injection zone and a second injection zone, in particular a plurality of injection zones.
[0127] In particular, these injection regions are located at different positions in space and / or may not overlap.
[0128] At least some or all of the event cameras may comprise more than 80,000 sensors, in particular pixels.
[0129] Furthermore, the system is configured to process the output data of the event camera in real time to obtain a real-time output that can be displayed on a display, and in particular, the display process is also performed in real time. This allows the user to instantly view the trajectory of the tracer.
[0130] If the system comprises more than one processor, the event cameras may be connected to these processors. In particular, the system comprises a sufficient number of processors such that each event camera is connected to at least one processor.
[0131] The system allows for flexible and efficient recording of tracer data.
[0132] It should be noted that the definitions, features and / or embodiments related to the method are also applicable to the system in a similar manner, and vice versa.
[0133] For example, the system is configured to process data in real time, in particular by configuring and adjusting the processor to process data at a rate greater than or equal to the data rate generated and transmitted to the processor by the event camera. This feature has been described in detail in relation to the method and applies to the system in the same manner.
[0134] According to another embodiment of the second aspect of the invention, each tracer seeding device comprises one or more nozzles through which the tracer is sprayed out of each tracer seeding device, wherein the nozzles are movable between at least a first injection position and a second injection position, in particular between a plurality of injection positions.
[0135] According to another embodiment of the second aspect of the present invention, at least one tracer seeding device is connected to a control computer, wherein the control computer is configured to issue control instructions to the tracer seeding device so that the tracer seeding device adjusts the injection area and / or injection rate of the tracer according to these control instructions.
[0136] According to another embodiment of the invention, the tracer seeding device or at least one or more nozzles is handheld and / or manually guided so that a person using the tracer seeding device can adjust the injection area by moving one or more nozzles.
[0137] According to another embodiment of the present invention, the system further comprises a calibration device configured to determine the relative position, posture and / or optical imaging parameters of the event camera. In particular, the calibration device is an omnidirectional calibration device and / or an active calibration device.
[0138] The term "omnidirectional" specifically refers to the property of the device, ie the device (particularly its calibration features) can be observed by the event camera regardless of the viewing direction.
[0139] According to another embodiment of the present invention, the system further comprises optical marking and / or indicating means for selectively illuminating surface points on an object arranged in the measurement space to achieve spatial registration of said object.
[0140] According to another embodiment of the present invention, the system further comprises a component configured and arranged to fan out a clock synchronization signal, in particular to buffer the clock synchronization signal, between two or more event cameras or between several of the one or more processors.
[0141] The component may be a circuit configured to receive or generate a clock synchronization signal. The component may also be configured to amplify the clock synchronization signal. The component may be configured to distribute the clock synchronization signal and provide it to an event camera and / or processor of the system.
[0142] The clock synchronization signal is specifically configured to provide synchronization at the μs level.
[0143] This allows all relevant event cameras and processors to remain synchronized and suppresses any long-term drift of the event camera or processor's respective clocks.This embodiment advantageously supports the execution of the method in real time over an extended period of time.
[0144] The assembly may be provided in the form of a printed circuit board.
[0145] According to another embodiment of the present invention, the system further comprises a component, which is further configured and arranged between the two or more event cameras and several of the one or more processors, to fan out the clock synchronization signal, in particular to buffer the clock synchronization signal.
[0146] In particular, this embodiment allows synchronizing the time information of the light intensity changes of the event camera with the processor that processes the event camera data.
[0147] This common time can be provided by the clock of a selected one of the plurality of event cameras, the clock of a selected processor, or by an external clock (possibly included in the aforementioned components) that provides the common time to the event cameras and / or processors. This synchronization of the event cameras with the processors allows for associating the elapsed processing time of one or more processors with the timestamps assigned to the events generated by the event cameras and ensuring that they are aligned with the common time, which otherwise may not be guaranteed due to buffering of the event data. Furthermore, long-term operation of the measurement system may result in time inconsistencies due to inherent drift in the clocks of the event cameras and the clocks of the data processors. This synchronization scheme disclosed in the present embodiment can avoid this problem.
[0148] According to another embodiment of the present invention, the processor is connected to a network for distributed data processing, wherein each processor is connected to at least one event camera of two or more event cameras via the network for distributed data processing, wherein each processor is configured to process output data of the at least one event camera received via the connection of the network, or each processor is configured to process data derived from output data of one or more event cameras of the two or more event cameras, wherein the data is received via the network connection.
[0149] Obviously, this embodiment requires not only one processor, but also requires the system to include multiple processors.
[0150] This distributed computing network enables larger system architectures and provides additional flexibility in scaling the system up or down by adding or removing event cameras.
[0151] According to another embodiment of the present invention, the system includes an illumination device configured to illuminate an illumination area, wherein the illumination device is configured to move the illumination area so that only a region of interest in the measurement volume is illuminated, and in particular, wherein the illumination area is limited to the region of interest within the measurement volume. Because only the region of interest is illuminated, this embodiment allows for improved contrast in recordings of the measurement volume (and thus the tracer). This contributes to improved data quality and reduces the need for computational filtering.
[0152] Importantly, the illumination device is configured and arranged to move the illumination area, for example, when the tracer is injected in different injection areas and may flow to different regions of interest that need to be recorded, the illumination area can move with the tracer.
[0153] According to a third aspect of the present invention, a computer program is disclosed, wherein the computer program comprises computer program code, and when executed on a processor or a computer equipped with the processor, the computer program code performs at least the computer executable method steps of the above method, in particular, the computer program is configured to cause a control computer to issue control instructions to a tracer seeding device, so that the tracer seeding device moves the injection area according to these instructions.
[0154] The term "computer-executable" should be interpreted broadly to exclude only those steps that cannot be performed by a computer due to limitations of the computer and its interface with the device. Such non-computer-executable steps may involve operations that cannot be performed or controlled by a computer.
[0155] In particular, the computer program may be configured to control the event camera via an interface with a processor or computer, in particular to control characteristics of the event camera, such as offset and / or region of interest.
[0156] Furthermore, the computer program may be configured to select one of the event cameras as the camera that provides a common time to the remaining event cameras.
[0157] The computer program may be stored on a non-transitory storage medium.
[0158] The computer program may be further configured to display at least a portion of the determined tracer trajectory on a display coupled to the processor.
[0159] In particular, at least a portion of the determined trajectory is displayed in real time or near real time. According to another embodiment of the present invention, the computer program includes a 3D visualization module, wherein the 3D visualization module is configured to render a 3D representation of the trajectory and / or the object on a display, wherein the computer program is further configured to receive user input to cause the 3D visualization module to interactively render the trajectory with an adjusted viewing angle, viewing position, or zoom ratio.
[0160] User input may be provided via a 3D control interface, such as a 3D mouse for use by the user.
[0161] In the context of this specification, the terms "processor" and "computer" are used interchangeably.
[0162] A processor may be included in a computer. A computer may include a non-transitory storage medium for storing data. A processor may be distributed across multiple sub-processors that work together to perform the tasks of the processor. Furthermore, the term "computer" specifically encompasses concepts such as distributed computing architectures and / or traditional personal computers.
[0163] The term "processor" or "computer" or systems thereof, as used herein, is used in the ordinary context of the art, such as a general purpose processor or microprocessor, a RISC processor, or a DSP, which may include additional elements such as memory or communication ports. Alternatively or additionally, the term "processor" or "computer" or its derivatives may also refer to a device that is capable of executing a program provided or built-in, and / or capable of controlling and / or accessing data storage devices and other devices (such as input and output ports). The term "processor" or "computer" may also refer to multiple processors or computers that are interconnected, linked, or otherwise in communication, and which may share one or more other resources (such as memory).
[0164] As used herein, the term "server" or "client" or "backend" refers to a computerized device that provides data and / or one or more operational services to one or more other computerized devices or computers.
[0165] The terms "software," "program," "software program," "program," "software code," "code," "application," or "app" are used interchangeably, depending on the context, to refer to one or more instructions, sets of instructions, or circuits for performing a sequence of operations, which generally represent an algorithm and / or other process or methodology. The program is stored in a medium such as RAM, ROM, or disk, or embedded in circuitry that is accessed and executed by a device such as a processor or other circuitry.
[0166] The processor and the program may constitute at least partially the same device, for example an electronic gate array, such as an FPGA or an ASIC, designed to carry out a programmed sequence of operations, optionally comprising or linked to a processor or other circuitry.
[0167] As used herein, without limitation, a "module" refers to a part of a system, such as a part of a program that runs on the same unit or a different unit or interacts with one or more other parts, or an electronic element or component for interacting with one or more other components.
[0168] As used herein, a process refers to a collection of operations performed to achieve a specific goal or result, but is not limited thereto.
[0169] Exemplary embodiments
[0170] In particular, exemplary embodiments are described below with reference to the accompanying drawings. The drawings are appended to the claims and are accompanied by text explaining the various features of the illustrated embodiments and aspects of the invention. Each individual feature shown in the drawings and / or mentioned in the text of the drawings may be incorporated (also in a separate manner) into the claims relating to the device according to the invention.
[0171] Event Camera
[0172] Event-based sensors or silicon-based retinas, referred to as event cameras in the context of this specification, are fundamentally different from traditional frame-based cameras in the way visual stimuli are perceived and the way data is read out of the sensor and subsequently transmitted to a host or storage device.
[0173] Unlike (global shutter) frame-based exposure cameras, event cameras do not simultaneously "read out" all light-sensitive pixels / sensors at a fixed time interval ("frame rate") to capture the visual scene. Pixels / sensors also do not provide information about absolute light levels ("intensity"). Instead, each pixel / sensor operates independently and outputs information based on its own relative changes in light intensity. That is, pixels / sensors not stimulated by a change are idle (and therefore generate no output signal), while pixels / sensors that sense intensity changes output information at a rate appropriate to the changing local scene content. Each pixel / sensor in an event camera's sensor array, independent of the others, asynchronously outputs a spike signal when it detects a change in light intensity exceeding a preset threshold. The only data output is a notification, called an "event," indicating that a brightness change exceeding the threshold has been detected at the individual pixel / sensor level. This event has a polarity, indicating whether the perceived light intensity has increased (an ON event) or decreased (an OFF event) relative to the light level when the pixel / sensor was last triggered.
[0174] This information is supplemented with the position of the pixel / sensor in the sensor array (x and y coordinates) and the timestamp of the event occurrence - in the context of this specification, this timestamp is also referred to as the time when the light intensity changed. Therefore, an event can be described by a four-tuple.
[0175] e i =(t i ,x i ,y i ,p i ),
[0176] Among them, t i Indicates the timestamp, x i and y i Indicates pixel coordinates, p i Represents the binary polarity of the ith event.
[0177] Setting aside the details of sensor readout, arbitration, and data transmission for now, the output of an event camera is a strictly continuous and asynchronous stream of events. Because an event camera's pixels trigger—that is, generate an output signal—only when they detect a change in light intensity, its data rate automatically adapts to the dynamics of the observed scene. This pixel characteristic also inherently suppresses static backgrounds without requiring additional computational overhead. Although each event carries far less information than a single intensity image frame from a traditional camera, with typical pixel latencies (200-1000μs), event cameras can output millions or even billions of events per second, depending on lighting conditions. Furthermore, the output information is reduced to simply the visual trace of the dynamic stimuli in the scene (along with noise).
[0178] To synchronize event cameras to the same time:
[0179] In order to fuse the output data of multiple event cameras, camera synchronization is necessary. Temporal consistency of events needs to be established between all event cameras, as this allows the high temporal resolution of the event cameras to be fully utilized for tracer tracking and reconstruction.
[0180] To achieve this, a master-slave approach can be used to synchronize the clocks between event cameras. In this setup, a single master event camera provides its own clock (or its synchronization signal) to one or more slave event cameras. The latter either use the master event camera's clock signal directly or resynchronize their own clocks appropriately. The synchronization mode is typically set via the camera's driver software. Connection topologies include star networks (with the master event camera at the center) and daisy-chain configurations (with a single slave event camera connected directly to the master event camera, and each additional slave event camera connected to the previous node).
[0181] Inflatable soap bubbles as tracers:
[0182] An ideal tracer for experimental flow field research should have the following characteristics:
[0183] Can be perfectly advected / has low inertia,
[0184] Neutral buoyancy (no drift motion) relative to the surrounding fluid,
[0185] Small enough to resolve target flow structures,
[0186] Have strong optical characteristics so that they can be easily detected,
[0187] ·It has a long enough lifespan to fully pass the test volume.
[0188] Easy and cost-effective to produce,
[0189] No danger,
[0190] Leave as little residue as possible.
[0191] Gas-filled soap bubbles meet these criteria and can therefore be used as tracers. To achieve neutral buoyancy, the gas may in particular include a certain amount of helium.
[0192] In particular, the tracer seeding device may comprise a bubble generator adapted to generate bubbles:
[0193] The diameter is roughly in the range of 0.5 to 3 mm,
[0194] roughly neutrally buoyant,
[0195] ·Has a lifespan of ≥10 seconds,
[0196] The generation rate is greater than 10 Hz and less than 1000 Hz.
[0197] Registration of the measurement system:
[0198] Registration of a measurement system defines the relationship between the scene and the event cameras in the measurement space. Furthermore, during the execution and operation of the methods and systems according to the present invention, the relative orientation and position of the event cameras relative to one another must be determined. The mathematical details of camera registration are well known to those skilled in the art. Registration requires a sample of known geometry as input. This is typically achieved using a calibration target / device. For frame-based cameras, calibration can be performed using precisely printed, high-contrast 2D checkerboard or dot patterns. The positions of the corners or dot centers of these patterns in world space are known and serve as geometric features in the calibration procedure. However, due to their dynamic operating principle, conventional, static, passively illuminated patterns cannot be used for event camera registration. This problem can be addressed by moving the target in front of the camera (or vice versa). Another approach is to dynamically illuminate the target. In particular, if the target itself can illuminate intermittently or with varying intensity at a predetermined location, global event noise can be avoided while capturing the target's geometric features. In this specification, this configuration is referred to as an active calibration target. Active calibration targets offer the advantage that the event camera can detect the calibration pattern even if the target is not moving. Furthermore, the contrast of the features (i.e., the actively illuminated areas of the target) is extremely high and unaffected by lighting conditions. This allows for robust feature detection even under challenging conditions. There are several ways to create active targets. A flashing computer / tablet screen displaying the calibration pattern can be used, as can a custom device constructed from intensity-modulated LEDs. Any battery- or mains-powered, lightweight, precision-manufactured calibration target with multiple flashing LEDs can be used as an active calibration target. BRIEF DESCRIPTION OF THE DRAWINGS
[0199] Figure 1 A flow chart showing an embodiment of the present invention is shown;
[0200] Figure 2 The figure shows the airflow trajectory of the air purifier recorded by the method of the present invention.
[0201] Figure 3 Shown Figure 2 Streamlines for the experiments shown.
[0202] Figure 4 The trajectory of a jet model exposed to an air flow recorded using the method of the present invention is shown.
[0203] Figure 5 Shown Figure 4 Streamlines for the experiments shown; and
[0204] Figure 6 A flow chart showing another embodiment of the present invention is shown. DETAILED DESCRIPTION
[0205] Data processing details:
[0206] Reference Figure 1 According to an exemplary embodiment, the method comprises a number of incremental processing stages, which are interconnected in the form of a sequential chain / pipeline.
[0207] At each step, the incoming incremental data is processed (for example, filtered, transformed, or fused) to generate a result output data packet that contains more information than the input data. Each processing step has one or more associated worker threads, so although each individual event passes through the pipeline stages sequentially, the pipeline stages can still process data concurrently. Thread synchronization mechanisms and first-in-first-out (FIFO) buffers connect the various stages, enabling fully asynchronous data processing. Figure 1 The computational pipeline of a measurement system is shown, which in this example comprises three event cameras 100 (more cameras may also be used). The processing pipeline starts with a raw event stream, which is transmitted from the event cameras 100 to the host 101 .
[0208] The first computational steps, such as low-level event filtering, are performed on a per-camera basis, allowing each camera to operate independently of the others. Experimental conditions and sensor-specific variations (e.g., manufacturing variations) often lead to asymmetries in the event data streams of multiple synchronized event cameras 100. For example, if one of the event cameras 100 is closer to the test volume (i.e., the measurement space or object), the projection of tracer particles on that camera's sensor will cover a larger area than an event camera observing the scene from a farther distance. Consequently, the "close-up camera" may exhibit a higher event rate. Prematurely coupling the event streams of individual event cameras can clog the processing pipeline of a single camera and rapidly fill its associated data buffers. Incoming events are filtered based on criteria such as whether they conform to a configurable region of interest (ROI) or temporal consistency (monotonically increasing event times). Any events that fail these checks are discarded and not passed to subsequent processing stages. Next, a 2D detection and tracking algorithm identifies tracers, specifically tracer particles, in the event stream and tracks their coherent motion in the spatiotemporal domain. The output of this stage is the incremental 2D position change of the tracker associated with the detected tracer particle. It's important to note that this processing stage significantly reduces the number of packets in the pipeline while significantly increasing information density. In practice, it serves two purposes: First, it acts as a filter, filtering out all events that are not associated with the actual presence of tracers. Second, it clusters the remaining events and assigns them semantic meaning, as the history of events assigned to the same tracer encodes the object's motion. As shown in the example in the figure, the 2D detection step can also be performed on the event camera's processor 101.
[0209] During the execution of this method, multiple event cameras 100 observe the same measurement space, so that the tracer's motion generates corresponding tracker increments in the processing pipelines of the multiple event cameras. This condition may not always hold due to occlusion or signal loss. However, for simplicity, we assume that the particle or tracer's motion is indeed observed simultaneously by multiple event cameras. Therefore, the next algorithmic step requires fusing the various processing pipelines, which are currently running independently, to perform correspondence matching. To achieve this, as described above, each event camera 100 and the entire multi-camera system need to be calibrated or registered.
[0210] Photogrammetric calibration utilizes event-based data rather than traditional image frames. Once corresponding incremental changes in the tracker position are identified across multiple camera views, the 3D tracer motion steps are reconstructed via triangulation. This stage also generates event-based data. However, this data is now discrete four-dimensional (4D) points—time-stamped, incremental 3D tracer position updates. These reconstructions are currently uncorrelated. Ultimately, however, a trajectory-based data representation is preferred. Therefore, the next computational step correlates coherent events within these 4D reconstructions to represent discrete positions along a single tracer path. Trajectory-correlated 4D reconstructions are noisy due to spatial and temporal inaccuracies. Attempting to directly extract local tracer velocities from successive reconstructions can yield unphysical results due to problems with differentiating noisy position data, particularly for higher-order temporal derivatives. Therefore, a processing step is added to the pipeline: fitting a 3D curve to the trajectory-correlated reconstructions. This curve is updated recursively and asynchronously whenever a new, correlated reconstruction is passed in. Curve fitting has two advantages: the path / trajectory of the tracer is now described in a closed analytical form; in addition, the smooth nature of the curve fitting and the analytical path representation enable the direct calculation of time derivatives (such as velocity and acceleration), which are also presented in a closed analytical form. Before visualizing the acquired trajectory data, the curve representation is regularly discretized. Finally, the latest trajectory data can be rendered in an immersive virtual 3D scene of the measurement space on a display. Starting from the 3D correspondence matching step, the method can be executed on a common shared processor 102 instead of at the level of each event camera. Step 102 can also be performed in a different topology, in which case 3D reconstruction can actually be achieved at the level of each camera through a "voting mechanism" without the need for a central processing unit.
[0211] 2D tracer detection and tracking
[0212] The advantage of the event camera 100 is that the asynchronous, independent operation of the sensors (e.g., pixels) eliminates any motion blur of the tracer. Finally, the event camera's data rate is low enough to enable continuous streaming of the output to a host computer. Therefore, the recording / observation duration is virtually unlimited.
[0213] An exemplary tracking algorithm is described below. This algorithm was designed and customized specifically for streaming tracer tracking.
[0214] The advantages of event cameras in tracking applications are obvious, and many such algorithms have been developed for different application scenarios. Although this method uses a multi-camera system, 2D detection and tracking are performed independently for all event cameras.
[0215] The method described herein can be used in a setup similar to that of a motion capture system. That is, the event camera remains stationary while the moving tracer is observed. Since the camera itself is not in motion, the event camera generates only a small number of events originating from the noisy scene background. This not only limits the event rate but also ensures that the information encoded in the events corresponds almost entirely to the motion of the object of interest—the tracer.
[0216] Example embodiment of a tracking algorithm:
[0217] From a black-box perspective, the 2D tracer detection and tracking algorithm can be described as follows: The algorithm's input is raw pixel events streamed from the camera. During processing, the algorithm stage asynchronously distributes sub-pixel-accurate, event-based, incremental motion changes of the tracker. In this way, the tracking process filters out "noise" events unrelated to motion and condenses the remaining events into a semantic form: trackers are directly associated with individually moving tracer particles. The tracking algorithm uses a cluster (or "blob")-based approach. A collection of recent and spatiotemporally coherent events collectively determines the range and position of the corresponding tracker. Algorithm 1 summarizes the tracking process in pseudocode. Notably, line 2 (in a simplified manner) describes the algorithm's asynchronous and event-based nature: data processing is triggered only when an event arrives at the tracking stage. Otherwise, the tracker state remains unchanged. During the algorithm's initial run (the first execution after camera startup), the counters and timers used for performance evaluation and real-time checks are reset or started, respectively. Next, the validity of the event timestamps needs to be checked because in a hardware synchronized multi-camera setup, the slave cameras may send invalid and / or zero timestamps before receiving the clock signal from the master camera.
[0218]
[0219] There can be a delay of several milliseconds between the algorithm startup time and the actual zero reference of the camera clock. Eliminating this discrepancy is crucial to correct for real-time behavior. The corresponding time offset is applied during each real-time check (see line 7 of Algorithm 1). If the tracking algorithm lags behind physical time, individual events may be skipped. The tracking algorithm is designed to compensate for this occasional event rejection. A critical state is reached only when the average camera event rate consistently exceeds the algorithm's processing capacity. In this case, a large number of events are skipped, resulting in insufficient data density for the tracking algorithm to process. This extreme case is easily identifiable in the 2D view, as all trackers instantly disappear. This issue can be addressed by adjusting the tracking algorithm parameters for "lighter computation," adjusting the camera bias to reduce the event rate, or reducing the seeding density. An exact upper limit on the event processing capacity cannot be specified, as it depends heavily on scene conditions: Instead of optimizing algorithm performance, the camera bias and lighting conditions should be adjusted to obtain good event signatures for helium-filled soap bubbles (HFSBs). However, this also directly affects the event rate and the camera noise level, which in turn impacts the tracking algorithm. Line 10 starts the actual detection and tracking process, which typically includes the following subtasks:
[0220] 1. Pruning and deletion of trackers.
[0221] 2. Generation of new trackers.
[0222] 3. Associate new data with existing trackers.
[0223] 4. Tracker location update.
[0224] 5. Merging of trackers.
[0225] When new events arrive, pruning of existing trackers is triggered. That is, based on the aging criteria (see below), the oldest / earliest events belonging to a tracker (i.e., the events with the smallest timestamps) are removed from the list of contributed events, and the tracker is updated accordingly. If the number of events contributing to a particular tracker drops below a user-defined threshold, the tracker is removed from the list of active entities, marking the "end of life" of the tracker.
[0226] After the 2D tracer detection and tracking steps, the independent processing pipelines from different cameras need to be fused to reconstruct the tracer's 3D position via triangulation. However, the asynchronous streams of particle tracker position changes from multiple cameras are not registered. The problem of associating 2D points (here, tracker updates) from multiple different camera views is known as the correspondence problem and is addressed, for example, by exploiting the epipolar geometry of the event camera.
[0227] Once two corresponding trackers are identified, the corresponding tracer 3D positions can be reconstructed.
[0228] At this stage, the separate processing pipelines for each camera are merged, allowing candidate matches to be made between tracker updates from multiple viewpoints. Tracker updates go into separate buffers for each camera, each containing only those trackers that fall within a preset, user-definable maximum time window. The cutoff timestamp is calculated by working backwards from the latest global tracker update. Following the principle of event-based processing, the cutoff timestamp is re-evaluated and the buffers pruned accordingly as each new tracker update arrives. Using a bounded time window is crucial because corresponding tracker updates will typically not carry exactly the same timestamps. This is primarily for two reasons:
[0229] First, depending on the camera arrangement relative to the measurement scene, the motion of a single tracer may trigger more events, resulting in a higher frequency of tracker updates in one viewpoint than in another. For example, a particle may move perpendicular to one camera and at a significant tilt relative to another. However, this asymmetry is only a minor factor in the timing differences. More critically, even with hardware synchronization of the event cameras, pixel and readout jitter can still lead to uncertainty in event timestamps across multiple cameras. The choice of temporal window size is also crucial to the performance of the reconstruction algorithm, as it determines the computational cost of searching for pairwise corresponding tracker updates. If the window size is too small, few correspondences will be found across multiple camera views. If the window size is too large, the correspondence search becomes extremely cumbersome, and the algorithm's real-time performance is at risk. Experimentally, a window size of 100-500 μs has been determined to be a good compromise, keeping the search effort within a reasonable range while addressing timestamp mismatches between corresponding trackers in most cases. The use of a temporal window also simplifies the correspondence search and reconstruction process, as matching is now determined solely through geometric criteria. All candidates automatically satisfy the temporal consistency requirement, and once a geometric match is found, no explicit checks involving timestamps are required.
[0230] After triangulation, the 3D points are expressed in the coordinate system of the camera buffer selected as the reference. These points are transformed into a common world coordinate system. Each reconstruction is assigned the average of the tracker update timestamps from which the triangulated points were derived. It is important to note that the results of this processing stage are also in the form of event data. The 4D events (x, y, z coordinates and timestamps) are pushed to the next algorithm stage in the processing pipeline and are distributed in an order determined by the 4D event timestamps. It is important to note that the distribution of timestamps after reconstruction can be crucial: to obtain velocity information (or other time derivatives) from the final tracer path, the time increment of the 4D reconstruction is required.
[0231] 3D trajectory recognition
[0232] The result of the correspondence matching and triangulation phase is a (dynamically evolving) discrete 4D event point cloud, representing the discrete form of the tracer's path through the physical scene. However, these incremental position changes have not yet been labeled as belonging to a specific tracer. Similar to the 2D particle detection and tracking phase, the task of the track identification algorithm is to detect the spatiotemporally coherent accumulation of 4D events, which constitutes the tracer's signature. Reconstructions are clustered into groups, each assigned a unique ID. As before, the track identification algorithm is implemented in an event-based manner. Therefore, the algorithm is triggered whenever a new reconstruction is generated by the preceding processing pipeline step. If no reconstruction is forwarded, the algorithm remains idle. Although the spatiotemporal constraints used for tracking and reconstruction in the preceding processing steps are quite strict, some noise still propagates to this pipeline stage and needs to be filtered out. However, unlike the 2D detection and tracking phase, the 4D events are more sparsely distributed, so the spatiotemporal continuity requirements cannot be as stringent. For this reason, this stage also needs to fill in small gaps that may appear in the reconstructed data. These gaps may be caused by occlusions, signal loss (for example, due to the presence of highly reflective areas in the background), or data that was skipped due to real-time constraints.
[0233] When a new rebuild arrives, three mutually exclusive processes are triggered. They are described below in order of priority from highest to lowest:
[0234] 1. Assign the reconstruction to the existing trajectory.
[0235] 2. This reconstruction triggers the initialization of a new trajectory.
[0236] 3. The reconstruction is recorded for possible future use in creating new trajectories.
[0237] Existing trajectories remain in an unfinished / pending state as long as new reconstructions are added to them. If a trajectory is not updated within a user-definable timeout interval, the trajectory is completed and removed from the list of assignment candidates. An unfinished trajectory can be updated with an incoming reconstruction if the incoming reconstruction represents a temporally consistent incremental change.
[0238] Fitting an analytical path for each trajectory
[0239] Now that the individual reconstructions have been identified as discrete points on the tracer trajectory, the continuous motion of the particle can be reconstructed. However, due to the presence of spatial noise in the data, it is not sufficient to simply concatenate the time series of incremental position changes to obtain the particle path. Instead, each time-resolved 3D trajectory (also referred to as a trajectory in the context of this specification) is approximated by a 3D polynomial curve, which smoothes the particle path in a least squares sense. Furthermore, the trajectory can also be approximated alternatively or additionally using B-splines, non-uniform rational B-splines (NURBS) or similar functions. The fitting is performed recursively so that the curve representation is updated as each new 4D event is added. This "event-by-event" update of the curve representation is very consistent with our event-based processing strategy. In addition, each update is calculated in constant time, making the algorithm very suitable for deployment in real-time constrained systems. The program application is referred to in this context as the recursive least squares (RLS) algorithm, which represents an adaptive filtering technique.
[0240] Speed estimation
[0241] Once the particle trajectory is approximated, an analytical representation of the tracer path can be obtained. By differentiating the pathline (or path, or path segment) in time, an estimate of the corresponding velocity can be quickly obtained. Because the path can be described by a polynomial (i.e., a sum), differentiation is computationally inexpensive and can be performed very efficiently and in real time.
[0242] It is worth noting that, again, the calculations can be done in parallel and in constant time. The particle acceleration can be calculated consecutively after the velocity estimation, using the latter as the starting point for the calculations.
[0243] Alternatively, or additionally, acceleration estimation may even be performed in parallel with velocity estimation.
[0244] Figures 2 to 5 The results obtained by this method are shown.
[0245] Figure 2 1 shows the airflow trajectories of the air purifier 201. These trajectories are recorded using the method of the present invention.
[0246] and Figure 2 Correspondingly, Figure 3Streamlines of the airflow are shown. The streamlines 202 are obtained by mapping the trajectories to a voxel grid. The grayscale encoding of the streamlines indicates the local rotational perception and intensity on each trajectory. The viewing direction is upstream, and the magnitude can be normalized to a range of -1 to 1.
[0247] Figure 4 The velocity of the trajectory 302 is grayscale-encoded while testing an aircraft model 301 in a wind tunnel. During the recording, the tracer seeding device can be moved between different positions, allowing the detection of multiple injection sections and the acquisition of a high-density trajectory. Figure 4 a) shows a perspective front view of an aircraft model 301, Figure 4 b) visualizes a top view of the aircraft model 301 .
[0248] Likewise, in Figure 5 In a) to c), only parts of the model 401 are exposed to the tracer flow and evaluated for tracer flow. The grayscale of the streamlines 402 obtained from the trajectory by mapping the trajectory to a voxel grid corresponds to the velocity of the tracer, so that for each tracer, the velocity is visualized.
[0249] Figure 6 The processing flow of the method and computer program of the present invention is illustrated by a flowchart.
Claims
1. A method for determining a tracer flow in a measurement space, the method comprising the following steps: a) injecting a tracer into the measurement space at a first injection region using a tracer seeding device, the tracer seeding device being configured to inject the tracer at an adjustable injection region of the measurement space, b) recording the measurement space using two or more event cameras, wherein each event camera includes a plurality of sensors, and each sensor is configured to generate output data whenever a sensor of the event camera senses a change in light intensity, the output data including position information of the sensor that sensed the change in light intensity and time information of the change in light intensity, c) determining, with a processor, a trajectory of at least part of the injected tracer in the measurement space based on the data from the event camera, wherein each trajectory comprises at least time-resolved three-dimensional position information of the tracer, wherein the trajectory is determined in real time, d) While performing steps b) and c), adjusting the injection region to at least a second injection region.
2. The method according to claim 1, wherein At least part of the determined trajectory is stored on a non-transitory storage medium.
3. The method according to claim 1 or 2, wherein: At least part of the determined trajectory is displayed on a display, in particular during the execution of steps b) to c) and / or d); and / or wherein each trajectory has an associated generation time, wherein displayed trajectories having a generation time earlier than a selected time are deleted from the display, and the time evolution of the trajectories is displayed.
4. A method according to any preceding claim, wherein: The implantation area is repeatedly adjusted.
5. A method according to any preceding claim, wherein: The tracer seeding device comprises an injection nozzle, through which the tracer is injected into the measurement volume, wherein at least the injection nozzle or the injection device is hand-held and / or manually guided so that the injection area can be adjusted by manually moving the nozzle to another area of the measurement volume.
6. The method according to any one of claims 1 to 5, wherein The tracer seeding device comprises an injection nozzle, through which the tracer is injected into the measurement space, wherein the injection device is configured to move the nozzle by computer control, in particular wherein the tracer seeding device is connected to a control computer, wherein the control computer issues control instructions to the tracer seeding device to cause the device to move the nozzle.
7. A method according to any preceding claim, wherein: The processor determines a density of trajectories for one or more subvolumes in the measurement space, and / or wherein the injection area is adjusted so that the density is equal to or higher than a selected density set for the one or more subvolumes, in particular wherein the tracer seeding device is configured to receive control instructions from the control computer so as to cause the tracer seeding device to move the nozzle to increase the density of trajectories in the one or more subvolumes.
8. A method according to any preceding claim, wherein: The tracer comprises or consists of air-filled bubbles, in particular The method comprises the step of: arranging the flow velocity of the flow in the measurement volume, wherein the flow velocity is higher than 50 km / h on average or at least at the injection region in the measurement volume.
9. A method according to any preceding claim, wherein: The tracer comprises a plurality of tracers present simultaneously, selected from the group consisting of: - tracers in the form of liquid droplets and tracers in the form of bubbles, - tracers in the form of liquid droplets and solid particles, - tracers in the form of bubbles and solid particles, - Tracers in the form of liquid droplets, tracers in the form of gas bubbles and tracers in the form of solid particles.
10. A method according to any preceding claim, wherein: The processor determines the two-dimensional position of the tracer in the measurement space based on the data of each event camera, wherein the three-dimensional position of each tracer is determined from the multiple two-dimensional positions of each tracer, in particular by evaluating the time consistency of the multiple two-dimensional positions of each tracer, in particular by photogrammetry.
11. A method according to any preceding claim, wherein: An object is arranged in the measurement volume, wherein the trajectory of a tracer flowing around the object is determined.
12. The method according to claim 11, wherein During the recording step b), the object adjusts its geometry, position, attitude and / or aerodynamic properties.
13. The method according to claim 11 or 12, wherein: Prior to performing step a), the object is registered relative to the event camera, in particular wherein the object is registered by selectively illuminating different parts of the object, in particular with light spots, wherein the event camera records the illuminated parts and the processor determines the three-dimensional position of the illuminated parts.
14. The method according to claim 13, wherein A 3D model of the object, such as a computer-aided design model, is provided to the processor, wherein the processor registers the pose of the 3D model relative to the measurement space representation by processing the illuminated portion; or wherein a three-dimensional representation of the object in the measurement space is generated based on the three-dimensional position of the illuminated portion.
15. A system for performing the method of any preceding claim, wherein: The system includes at least the following components: - one or more processors, - Two or more event cameras, wherein said event cameras are connected to said one or more processors. one or more tracer seeding devices, wherein each tracer seeding device is configured and arranged to inject a tracer into the measurement space, and / or wherein each tracer seeding device comprises one or more nozzles through which the tracer is ejected from the tracer seeding device, Characterized in that each tracer seeding device is configured and arranged to subsequently inject said tracer into at least a first injection zone and a second injection zone, wherein at least said one or more nozzles are movable between said first injection zone and said second injection zone.
16. The system according to claim 15, wherein: At least the one or more nozzles are hand-held and manually guided so that a person using the tracer seeding device can adjust the injection area by moving the one or more nozzles.
17. The system according to claim 15 or 16, wherein: The system further comprises a calibration device, which is configured to determine the relative position, posture and / or optical imaging parameters of the event camera, and the calibration device is an omnidirectional calibration device and / or an active calibration device.
18. A system according to any one of claims 15 to 17, wherein The system further comprises optical marking and / or indicating means for selectively illuminating surface points on an object arranged in the measurement volume to achieve spatial registration of the object.
19. The system according to any one of claims 15 to 18, wherein: The system also includes components configured and arranged to fan out a clock synchronization signal between the two or more event cameras, or between several of the one or more processors.
20. The system of claim 19, wherein: The components are also configured and arranged to fan out a clock synchronization signal between the two or more event cameras and several of the one or more processors.
21. The system according to any one of claims 15 to 20, wherein: The processors are connected to a network for distributed data processing, wherein each of the processors is connected to at least one of the two or more event cameras via the network for distributed data processing, wherein each processor is configured to process output data of the at least one event camera received via the connection of the network, or each processor is configured to process data derived from output data of one or more event cameras of the two or more event cameras, wherein the data is received via the connection of the network.
22. The system according to any one of claims 15 to 21, wherein The system comprises an illumination device configured to illuminate an illumination area, wherein the illumination device is configured to move the illumination area such that only an area of interest in a measurement space is illuminated, in particular wherein the illumination area is limited to the area of interest within the measurement space.
23. A computer program, wherein The computer program comprises computer program code which, when executed on one or more processors, or on a computer comprising one or more processors of the system according to claims 15 to 22, performs at least the computer executable method steps of the method according to any one of claims 1 to 14, in particular wherein the computer program is configured to cause the one or more processors or control computers to issue control instructions which are subsequently transmitted to the tracer seeding device to cause the tracer seeding device to move the injection area according to the control instructions.