Method, system and computer program for event-based tracer tracking
The use of event cameras for tracer tracking in fluid mechanics allows real-time, flexible, and efficient measurement of fluid flows, addressing the complexity and speed limitations of existing systems.
Patent Information
- Application Number
- JP2025537034
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-09
- Filing Date
- 2023-12-20
- Publication Date
- 2026-01-08
AI Technical Summary
Existing tracer tracking systems in fluid mechanics are complex to set up and not suitable for real-time monitoring, particularly for high tracer velocities in large volume regions.
A method using event cameras to asynchronously record tracer motion, allowing real-time trajectory determination and flexible tracer injection regions, with adjustable implantation zones and reduced data processing latency.
Enables continuous, high-speed, and flexible measurement of fluid flow profiles, suitable for high and low velocity airflows, with reduced data volume and real-time processing capabilities.
Smart Images

Figure 2026500669000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method, system and computer program for event-based tracer tracking. [Background technology]
[0002] Tracer tracking in fluids is well known in the art and has important applications in fluid mechanics, particularly in the aerodynamic design process, such as in wind tunnels. Tracer tracking can also be applied to monitoring 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, which is made visible by, for example, smoke or fog.
[0004] Recently, event-based cameras have been utilized in this field as well, but for convenient industrial applications, the systems and methods in this field are too complicated to set up and implement. Summary of the Invention [Problem to be solved by the invention]
[0005] The object of the present invention is to provide a method and system that can detect tracer motion asynchronously, that is simple and easy to set up for tracer tracking applications, and that allows real-time monitoring, which method and system are particularly suitable for very high tracer velocities in large volume regions. [Means for solving the problem]
[0006] This object is achieved by a device having the features of claim 1.
[0007] Advantageous embodiments are set forth in the dependent claims.
[0008] According to claim 1, a method for determining, in particular for recording, a flow of a tracer in a measurement space is disclosed, said method comprising at least the following steps: a) injecting a tracer into the measurement space at a first injection region using at least one tracer seeding device configured to inject the tracer at an adjustable injection region in the measurement space; b) recording the measurement space using two or more event cameras, each configured to generate output data each time a sensor of the event camera senses a change in light intensity, the output data including information about the location of the sensor that sensed the change in light intensity and the time of the change in light intensity; c) determining, using at least one processor, from the event camera data, trajectories in the measurement space for at least some of the injected tracers, where each trajectory comprises information about the time-resolved three-dimensional position of at least a tracer, and where the determination of the trajectories is facilitated in real time or near real time, i.e. quasi-real time, in particular so that the rate of data that the processor is configured to process is on average higher than or equal to the rate of data generated by the event camera, allowing real-time processing of the data generated by the event camera; d) adjusting said implantation zone to at least a second implantation zone while performing steps b) and c).
[0009] The present invention allows for continuous recording and trajectory generation with unlimited time, while allowing for the tracer seed region to be adjusted during the measurement.
[0010] These two features allow for extremely high flexibility and speed in measuring the flow profile in the measurement space.
[0011] An advantageous application of the method is tracking high or low velocity airflows in a measurement space, such as a wind tunnel or clean room, without the need for elaborate and well-defined tracer seeding conditions. Tracers can be seeded anywhere in the measurement space and positioned corresponding to the determined trajectory profile thanks to the real-time architecture of the method.
[0012] The measurement space may also be configured to allow for the flow of a fluid, such as a liquid.
[0013] An implantation region may be associated with an implantation position and / or an implantation attitude. Adjusting an implantation region therefore particularly relates to adjusting an implantation position and / or attitude. The present invention thus allows for changing a first implantation region into a second implantation region during the execution of the method, particularly without interrupting any process, which may be positioned and / or oriented differently from the first implantation region. Alternatively or additionally, adjusting an implantation region particularly refers to changing the shape or size of the implantation region.
[0014] In particular, the first implanted region differs from the second implanted region in at least one of the following: position, orientation, size, and shape.
[0015] In particular, the term "the determination of the orbit is facilitated in real time" is understood to mean "the orbit is determined in real time", i.e., the results of the determination are obtained in real time, although this notion should be clear to those skilled in the art.
[0016] The method is therefore adapted to determine the orbit in real time or near real time.
[0017] Typically, tracers can be injected into a fluid stream, and it is also possible to inject tracers into a near-vacuum environment, such as the exhaust particles of a rocket engine.
[0018] The injection region may be arranged within the measurement volume, or alternatively, or additionally, when multiple tracer injection devices are used, the injection region may be located outside the measurement volume.
[0019] The term "tracer" in the context of this specification particularly includes the concept of an object that may move in a fluid flow, where the object may not necessarily move along with said flow. The tracer is configured to be detected by an event camera.
[0020] The term "event camera" specifically includes any asynchronous sensor device configured to generate output data asynchronously, as described in the previous paragraph.
[0021] The tracer injections can be performed simultaneously or sequentially at different injection regions using multiple injection devices.
[0022] The term "change in light intensity" is sometimes referred to in the art as "change in temporal contrast."
[0023] The terms "real-time" and "near real-time" refer, inter alia, to the latency between the detection of an event and the processing and determination of the 3D position of a tracer that may be indicated by that event. Thus, the latency may be on the order of 20 ms to 500 ms, particularly in the range of 50 ms to 200 ms, and more particularly in the range of 100 ms to 150 ms, while the processing and display of the processed 3D position may be facilitated at a rate of 15 Hz or greater in real-time applications.
[0024] Additionally or alternatively, the terms "real-time" and "quasi-real-time" refer in particular to the latency between a physical event occurring in the measurement space, e.g., the movement of a tracer, and the determination of the three-dimensional position or trajectory, which latency may be in the range of 100 ms to 500 ms, and in particular the latency may be less than 1 second.
[0025] In particular, with respect to the terms "real-time" and "near real-time", it will be understood that the update rate of the method is faster than 100 Hz, for example in terms of processing cycles in a computer or processor.
[0026] In some computer systems, data transfer from the event camera to the processor may be a limiting factor, for example via USB, but is usually included in the concept of "real time".
[0027] Alternatively, or in addition, the terms "real-time" and "near real-time" may relate to a processing architecture that guarantees a predetermined processing time for each processing step, such that in any case a result is produced at each processing step within the processing time, avoiding any overflow of data at a particular processing step.
[0028] The processing time may be the longest acceptable latency, which may be selectable by the user, by another person, and / or automatically based on, for example, the specifications of the processing hardware.
[0029] The method is capable of generating tracer trajectories in measurement space in three dimensions, giving the method a powerful advantage of versatility in wind tunnels and other applications.
[0030] The method allows for the generation of any derived quantity, such as velocity, acceleration, or helicity, from the tracer trajectory and / or time-resolved 3D position.
[0031] The output data may further include information about the polarity of the change in light intensity. Additional information about the polarity allows for more flexibility in determining the trajectory, for example in different lighting conditions.
[0032] The camera's sensors can be arranged in an array. In particular, the sensors comprise or consist of light-sensitive pixels each configured to generate pixel output data containing information about changes in intensity, the time of the change, and especially the polarity of the change. The sensor may comprise a plurality of pixels, where the output data is the collective output data of the pixels comprised in the sensor. Alternatively, a single sensor may comprise a single pixel.
[0033] This method determines the position of the tracer in a time-resolved but asynchronous manner, which allows the tracer trajectory to be determined while reducing the data load compared to frame-based data.
[0034] Additionally, any time derivatives such as velocity and / or acceleration of each trajectory at any point in the trajectory can be determined and correlated, thereby enabling the application of multiple downstream estimates.
[0035] It is also possible to derive topological information based on the trajectory, such as the curvature and / or twist of the trajectory.
[0036] Furthermore, the method allows for the determination of spatiotemporally resolved densities of trajectories and / or tracers.
[0037] The method allows for the determination of additional spatiotemporal information about a single or ensemble of trajectories in a coherent flow, which may include phase averaging, non-uniform FFT, and / or modal decomposition of the trajectories.
[0038] The term "injection region" refers specifically to a region, such as a point region, area, or volume, in the measurement space into which the tracer is ejected. In this manner, the position or pose of the injection can be associated with the injection region. The injection region is also referred to herein as a seeding region.
[0039] The output data generated each time a sensor of an event camera senses a change in light intensity is also referred to herein as an event. Each event includes information about the location of the sensor that recorded the change in light intensity, as well as the time of the change in light intensity and, in particular, the polarity of the change. Thus, each event may be associated with the location of the corresponding sensor and the time of the change. Each event may also be associated with the polarity of the change.
[0040] In particular, the method is configured to synchronize information about the time of a change in light intensity of the event cameras so that the time associated with an event in the event cameras can be related to a common time. The common time may be provided to the remaining event cameras by a clock in one selected one of the event cameras, or by an external clock that provides the common time to all the event cameras. The common time may be provided from an external source, for example in the form of an electrical or optical timing signal, where in particular an optical timing signal may be provided by a light source arranged in the measurement space. Here, the term "light" source particularly includes the notion of a reflected light signal.
[0041] In particular, the method is configured to synchronize information regarding the time of a change in light intensity of an event camera with one or more processors processing data from at least one event camera or one or more processors processing information derived from data from at least one event camera. The common time may be provided by a clock in a selected one of the event cameras, by a clock in a selected one of the processors, or by an external clock that provides the common time to the event camera and / or at least one of the one or more processors. This synchronization of the event camera and the data processor allows the elapsed processing time of the one or more processors to be referenced by timestamps assigned to events generated by the event camera, ensuring alignment with the common time that may not otherwise be guaranteed due to buffering of event data. Furthermore, the disclosed embodiment of the synchronization scheme avoids time misalignment that may occur over extended periods of operation of the measurement system due to inherent drift between the individual clocks of the event cameras and the clocks of the data processor.
[0042] According to another embodiment of the present invention, at least a portion of the determined trajectory is stored in a non-transitory storage medium.
[0043] This embodiment generates a relatively small amount of data compared to frame-based / synchronous methods because all data must be stored regardless of the frame content. According to the present invention, the amount of data generated per time unit is dramatically reduced because only scenery changes are registered by the event camera. According to the present invention, this embodiment can store up to an hour of experimental data compared to frame-based systems based on full-frame synchronous / high-speed recording.
[0044] This allows for post-processing and evaluation of the recorded data.
[0045] According to another embodiment of the invention, at least a part of the determined trajectory is displayed on a display, in particular while steps b) to c) and / or d) are being carried out.
[0046] Displaying the trajectory and / or delivery volume allows the operator to immediately assess and thereby adjust, for example, the injection area accordingly.
[0047] According to another embodiment of the invention, each trajectory has an associated generation time, wherein displayed trajectories with generation times older than a selected time are removed from the display so that the temporal evolution of the trajectories is displayed.
[0048] In this embodiment, trajectories can be selected, sorted, and filtered depending on their creation time, which can be the time when the trajectory begins, i.e., the time when the tracer is first identified by the processor.
[0049] This embodiment prevents data overflow in the display and processing pipeline.
[0050] According to another embodiment of the present invention, the adjustment of the injection region is associated with an adjustment time provided to the processor, such that, inter alia, the tracer and the trajectory are associated with the adjustment time, wherein, inter alia, the adjustment time is stored in a non-transitory storage medium to associate the adjustment time with the trajectory.
[0051] This embodiment allows for the selection, sorting and filtering of trajectories depending on the injection region, for example, to generate distinct sets of trajectories for display. Furthermore, projection surfaces, iso-surfaces, trajectory bundles and streamlines derived from the trajectory data can also be displayed and selected in a similar manner.
[0052] The trajectory data includes, inter alia, information about the trajectory in digital form.
[0053] According to another embodiment of the invention, the implantation area is repeatedly adjusted, in particular the position of the implantation area is repeatedly adjusted.
[0054] This embodiment allows for any desired sampling quality of the measurement space and the trajectories therein.
[0055] Methods known in the art are static, meaning there is no movement of the implanted area.
[0056] According to another embodiment of the invention, the at least one tracer seeding device comprises at least one injection nozzle through which the tracer is injected into the measurement space, wherein at least the injection nozzle or the seeding device is handheld and / or hand-guided such that the injection area is adjustable by manually moving the nozzle(s) to another area of the measurement space.
[0057] This embodiment allows for free selection of the injection area, while at the same time the person holding the nozzle in place can determine the area of the measurement space that is sampled by the tracer.
[0058] It is important to note that it is not essential that the person holds the nozzle stationary; the person may wave the nozzle at will. The nozzle may be configured to provide a dot-like infusion area, or a sheet-like infusion area, or an infusion area of other shapes.
[0059] According to another embodiment of the present invention, the at least one tracer seeding device comprises at least one injection nozzle through which the tracer is injected into the measurement space, wherein at least the injection nozzle or the seeding device is a robotic device configured to be controlled via a control computer or by an operator, the robotic device being configured to move the one or more nozzles to different areas of the measurement space. The robotic device may be operated by an operator located outside the measurement space.
[0060] 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 seeding device is configured to move the nozzle under computer control, in particular the tracer seeding device is connected to a control computer, and the control computer issues control commands to the tracer seeding device to cause the device to move the nozzle.
[0061] The processor and control computer may be separate and independent operating entities, but may also be configured within the same computing device.
[0062] This embodiment allows for automatic and computer-controlled sampling of the measurement space and trajectories therein, allowing, for example, airflow over an object to be sampled at a predetermined or selectable trajectory density, and measurements can be performed that rely on quality metrics such as flow rate variance, data fluctuation, and / or data mean convergence, among other things.
[0063] According to another embodiment of the present invention, the nozzle is moved along a predetermined pattern, such that the injection area is adjusted according to the predetermined pattern.
[0064] According to another embodiment of the invention, the density of the trajectories is determined by the processor for one or more sub-volumes in the measurement space.
[0065] This allows for the generation of data sets with a given density of trajectories, which allows for comparison with, for example, simulation results, and gives a given sampling density of the trajectory space.
[0066] The term "subvolume" specifically relates to a volume contained within the measurement space. The size of the subvolume can range between cubic millimeters and cubic meters.
[0067] According to another embodiment of the invention, the density of one or more sub-volumes is displayed.
[0068] This allows interactive adjustment of the implant area as needed.
[0069] According to another embodiment of the invention, if the density within a sub-volume of the one or more sub-volumes is below a selected threshold, the method displays a visual indication of said sub-volume to a user of the method.
[0070] This allows, for example, guided and interactive adjustment of the injection area by the operator.
[0071] According to another embodiment of the present invention, the injection region is adjusted so that the density in one or more sub-volumes is equal to or exceeds a density selected for the one or more sub-volumes, particularly wherein the tracer seeding device is configured to receive control commands from a control computer that causes the tracer seeding device to move a nozzle to adjust the density of the trajectories in the one or more sub-volumes.
[0072] This embodiment allows for automated and computer-controlled generation and sampling of the measurement space, which consequently reduces recording times.
[0073] According to another embodiment of the present invention, the tracer comprises one or more of the group consisting of: - air bubbles, - droplets, - Particles.
[0074] As will be appreciated, a wide variety of tracers can be used with the present method. Depending on the application, different tracers can be used. It is possible to use a mixture of tracers, for example, bubbles and droplets. Droplets contain liquid, while bubbles contain gas within a liquid shell.
[0075] The particles can be soft or hard particles, such as sand, ice, snowflakes, pebbles, dry ice particles, or gel particles.
[0076] The tracer does not have to follow the flow of the fluid in the measurement space.
[0077] The tracer may include a label or marker, such as a luminescent probe, to allow selective detection by an event camera.
[0078] According to another embodiment of the invention, the measurement space is arranged in or is a wind tunnel, wherein the wind tunnel comprises a wind generating device.
[0079] The measurement space may comprise or be adjacent to an array of flow generators.
[0080] This embodiment allows for flexible and rapid testing of the aerodynamic properties of objects placed in a wind tunnel.
[0081] According to another embodiment of the invention, the tracer is injected into a flow, such as an airflow, flowing through the measurement space.
[0082] The flow may also be a liquid or any fluid flow. The tracer may be selected depending on the application.
[0083] According to another embodiment of the invention, the tracer comprises or consists of bubbles or droplets containing a fluid, such as a gas, that makes the bubbles neutrally buoyant.
[0084] If the tracer is a gas bubble, such a fluid may include helium.
[0085] Alternatively, the tracer may be a droplet containing a liquid that is immiscible with the surrounding liquid, or may be a density-matched solid particle.
[0086] According to another embodiment of the invention, the tracer comprises or consists of air-filled bubbles, in particular where the flow rate of the air stream into which the tracer is injected is above 50 km / h, at least in the injection region within the measurement space.
[0087] This allows the use of tracers that are not neutrally buoyant, but are very cost-effective compared to helium-filled tracer bubbles.If the flow velocity is high enough, the distortion of the trajectory due to gravity is negligible and can be ignored.
[0088] It should be noted that the present method is capable of recording tracers of virtually any velocity due to the advantageous properties of event cameras.
[0089] According to another embodiment of the invention, the flow speed, especially in the injection area, is more than 30 km / h, in particular more than 50 km / h, more particularly more than 80 km / h, and it is difficult for a frame-based system to record such flow speeds for long periods of time, since the amount of data to be processed would be too large (due to the need for a high frame rate).
[0090] According to another embodiment of the present invention, the tracer comprises multiple simultaneous species of tracer selected from the group consisting of: - tracers in the form of droplets and tracers in the form of bubbles, - tracers in the form of droplets and tracers in the form of solid particles, - tracers in the form of gas bubbles and tracers in the form of solid particles, - Tracers in the form of droplets, tracers in the form of bubbles, and tracers in the form of solid particles.
[0091] In particular, in a setting with a tracer in the form of gas bubbles and a tracer in the form of solid particles, it is possible to observe and evaluate a flow or stream by determining the trajectories of the gas bubbles, where other properties can be observed by determining the trajectories of solid particles, which may not strictly follow the flow but whose trajectories are defined by other factors.
[0092] According to another embodiment of the invention, the tracer is luminescent, in particular fluorescent.
[0093] This embodiment allows for better and / or selective detection of the tracer.
[0094] According to another embodiment of the invention, from the data of each event camera, a two-dimensional time-resolved position of the tracer in measurement space is determined by a processor, wherein a three-dimensional position of each tracer is determined, particularly by photogrammetry, from the multiple two-dimensional positions of each tracer, and particularly by evaluating the temporal coincidence of the multiple two-dimensional positions of each tracer.
[0095] Determining 3D positions based on event camera data is more complex than frame-based camera data because integrating 2D position information first requires establishing temporal correspondence, i.e., assigning recorded events to the same or different tracers. In this respect, determining the 3D positions of tracers differs significantly from photogrammetry methods well known in the art for frame-based camera data.
[0096] In particular, the three-dimensional trajectory is determined from the three-dimensional position of the tracer.
[0097] According to another embodiment of the present invention, the event camera data is generated asynchronously, thereby reducing the data load on the processor, especially compared to methods based on frame-based cameras.
[0098] According to another embodiment of the invention, an object is placed in the measurement space, where the trajectory of a tracer flowing around the object is determined by the method.
[0099] This embodiment makes it possible to characterize the aerodynamic properties of an object, especially when the measurement space is a wind tunnel.
[0100] According to another embodiment of the invention, the object adjusts its shape, position, attitude and / or aerodynamic properties during the recording step b).
[0101] This allows for real-time testing of the aerodynamic properties of an object in various configurations, and even allows for rapid configuration changes of the object within the measurement space.
[0102] According to another embodiment of the invention, before step a) is performed, the object is registered with respect to the event camera, in particular wherein the object is registered by selectively illuminating different parts of the object, in particular by selectively illuminating with one or more light spots and / or a pattern or cloud of individual light spots, wherein the event camera records the illuminated parts and wherein a processor determines the three-dimensional position of the illuminated parts.
[0103] This embodiment is essentially based on the evaluation of the recorded data, as well as the recording and determination of the trajectory, and allows for an easy and fast registration of the object in the measurement space, which registration in particular involves determining the pose in the measurement space.
[0104] According to another embodiment of the invention, a 3D model, such as a CAD representation of an object, is provided to a processor, which processes the illuminated portion to register the pose of the 3D model with respect to the representation of the measurement space.
[0105] This embodiment allows for more accurate registration of objects to 3D models and display of trajectories relative to the 3D representation.
[0106] According to another embodiment of the invention, a three-dimensional representation of the object in measurement space is generated from the three-dimensional positions of the illuminated portions.
[0107] This embodiment allows a virtual representation of the object to be reconstructed, so that, for example, a CAD model may not be required to display a trajectory along with the representation of the object.
[0108] According to another embodiment of the present invention, an analytical path or analytical path segments are fitted to the trajectory, thereby allowing the trajectory to be represented as an analytical path or path segments.
[0109] The analytical path can be expressed as a polynomial function, a B-spline, a NURBS, or the like.
[0110] This reduces the noise in the trajectory data.
[0111] According to a second aspect of the present invention, a system is disclosed that is configured to carry out a method according to one of the preceding embodiments, said system comprising at least the following components: a processor, in particular one or more processors, - two or more event cameras located at different locations, the cameras being connected to a processor to provide event data, in particular the event data including information as described in the embodiments of the method; - one or more tracer seeding devices, each tracer seeding device constructed and arranged to inject a tracer into the measurement space; The system is characterized in that each tracer seeding device is constructed and arranged to subsequently inject tracer into at least a first and a second injection region, in particular into a plurality of injection regions.
[0112] In particular, the implanted regions may be spatially distinct and / or non-overlapping.
[0113] At least some or all of the event cameras may have over 80,000 sensors, particularly pixels.
[0114] Furthermore, the system is configured to process the output data of the event camera in real time, thereby obtaining a real time output that can be displayed on a display, and in particular the display is also performed in real time, so that the user can instantly see the trajectory of the tracer.
[0115] If the system comprises multiple processors, the event cameras may be connected to these processors, particularly since the system comprises multiple processors, each event camera is connected to at least one processor.
[0116] The system allows for flexible and efficient recording of tracer data.
[0117] It should be noted that definitions, features, and / or embodiments relating to the method relate to the system in an analogous manner and vice versa.
[0118] For example, the system may be configured to process data in real time, in particular by the processor being configured and adapted to process data at a rate equal to or greater than the rate at which data is generated and transmitted to the processor from the event camera, a feature which has been described in detail in the context of the method and which applies equally to the system.
[0119] According to a second aspect and another embodiment of the present invention, each tracer seeding device comprises one or more nozzles through which tracer is ejected from each tracer seeding device, wherein at least said nozzles are movable between a first injection position and a second injection position, in particular to a plurality of injection positions.
[0120] 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, thereby causing the tracer seeding device to adjust the injection area and / or injection rate of the tracer in accordance with the control instructions.
[0121] According to another embodiment of the present invention, the tracer seeding device or at least one or more nozzles are handheld and / or hand guided so that a person using the tracer seeding device can adjust the injection area by moving the one or more nozzles.
[0122] According to another embodiment of the present invention, the system further comprises a calibration rig configured to determine the relative position, attitude, and / or optical imaging parameters of the event camera, in particular wherein the calibration rig is an omnidirectional and / or active calibration rig.
[0123] The term "omnidirectional" refers specifically to the property of a rig that the rig and in particular its calibration features are visible to the event camera from any viewing direction.
[0124] According to another embodiment of the invention, the system further comprises optical markers and / or designators for selectively illuminating surface points of an object placed within the measurement space for spatial registration of the object.
[0125] According to another embodiment of the present invention, the system further comprises components configured and arranged to fan out, and in particular buffer, clock synchronization signals between two or more event cameras or between several of the one or more processors.
[0126] This component may be an electrical circuit configured to receive or generate a clock synchronization signal. This component may further be configured to amplify the clock synchronization signal. This component is configured to distribute and provide the clock synchronization signal to the event cameras and / or processors of the system.
[0127] The clock synchronization signal is specifically configured to provide microsecond (μs) level synchronization.
[0128] This allows all event cameras and participating processors to remain synchronized and combats long-term drift in the individual clocks of the event cameras or processors. This embodiment advantageously allows the method to be performed in real time over long periods of time.
[0129] The components may be provided in the form of a printed circuit board.
[0130] According to another embodiment of the present invention, the component is further constructed and arranged to fan out, in particular buffer, clock synchronization signals between two or more event cameras and multiple processors of the one or more processors.
[0131] In particular, in this embodiment, information regarding the time of the change in light intensity of the event camera can be synchronized with a processor that processes the event camera data.
[0132] The common time may be provided by the clock of a selected one of the event cameras, or by the clock of a selected one of the processors, or by an external clock (which may be provided by a component) that provides the common time to the event cameras and / or processors. This synchronization of the event cameras and processors allows timestamps assigned to events generated by the event cameras to reference the elapsed processing time of one or more processors, ensuring alignment with the common time that may not otherwise be guaranteed due to buffering of event data. Furthermore, the present embodiment discloses this synchronization scheme, which avoids time discrepancies that may occur over long periods of operation of the measurement system due to inherent drift in the individual clocks of the event cameras and the data processor.
[0133] According to another embodiment of the present invention, the processors are connected to a network for distributed data processing, wherein each of the processors is connected to at least one event camera of two or more event cameras via the network for distributed data processing, and each processor is configured to process output data of the at least one event camera received via the network connection, 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, and the data is received via the network connection.
[0134] Obviously, this embodiment requires multiple processors rather than just one to be provided by the system.
[0135] Such a distributed computing network allows for larger system architectures and provides more flexibility in terms of scaling the system up or down by adding or removing event cameras.
[0136] According to another embodiment of the present invention, the system comprises an illumination arrangement configured to illuminate an illumination area, wherein the illumination arrangement is configured to move the illumination area so that only a region of interest in the measurement space is illuminated, in particular the illumination area is limited to the region of interest in the measurement space. In this embodiment, since only the region of interest is illuminated, a better recording of the measurement space and thus a better contrast of the tracer can be achieved. This improves data quality and reduces computational filtering.
[0137] Importantly, the illumination arrangement is constructed and arranged to move the illumination area to follow the tracer, for example, when the tracer is injected at different injection areas and may consequently flow to different areas of interest to be recorded.
[0138] According to a third aspect of the present invention, a computer program is disclosed, the computer program comprising computer program code which, when executed on a processor or a computer comprising a processor, performs at least the computer-executable method steps of the present method, in particular wherein the computer program is configured to cause a control computer to issue control instructions to be sent to a tracer seeding device, thereby causing the tracer seeding device to move the injection region in accordance with the instructions.
[0139] The term "computer-executable" may be understood broadly and may exclude only processes that are not computer-executable (as far as the limitations of a computer and its interfaces to the device are concerned). Such non-computer-executable processes may be processes relating to operations that cannot be performed or controlled by a computer.
[0140] In particular, the computer program may be configured to control the event camera, in particular its characteristics such as bias and / or region of interest, via an interface with a processor or computer.
[0141] Additionally, the computer program may be configured to select one of the event cameras as the camera that provides a common time for the remaining event cameras.
[0142] The computer program may be stored on a non-transitory storage medium.
[0143] The computer program may be further configured to display at least a portion of the determined trajectory of the tracer on a display connected to the processor.
[0144] 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 invention, a computer program comprises a three-dimensional visualization module, wherein the three-dimensional visualization module is configured to render a three-dimensional representation of the trajectory and / or the object on a display, wherein the computer program is further configured to receive user input thereby causing the three-dimensional visualization module to interactively render the trajectory under adjustment of viewing angle, viewing position or zoom factor.
[0145] User input may be provided via a 3D control interface, such as a 3D mouse for the user.
[0146] The terms "processor" and "computer" may be used interchangeably herein.
[0147] The processor may be comprised by a computer. The computer may include a non-transitory storage medium for storing data. The processor may be distributed into multiple sub-processors that work in cooperation to perform the processor's tasks. Furthermore, the term "computer" specifically includes the concept of distributed computing architectures and / or traditional PCs.
[0148] As used herein, the terms "processor" or "computer" or system thereof are used in their usual context in the art to refer to a general-purpose processor, or a microprocessor, a RISC processor, or a DSP, and may optionally include additional elements such as memory or communication ports. Optionally, or additionally, the terms "processor" or "computer" or derivatives thereof refer to a device that can execute a provided or embedded program and / or control and / or access other devices, such as data storage devices and / or input and output ports. The terms "processor" or "computer" may also refer to multiple processors or computers that are connected to and / or linked and / or otherwise in communication with, and possibly sharing, one or more other resources, such as memory.
[0149] As used herein, the terms "server" or "client" or "backend" refer to a computerized device that provides data and / or operational services to one or more other computerized devices or computers.
[0150] The terms "software," "program," "software procedure" or "procedure," or "software code" or "code," or "application" or "app" may be used interchangeably depending on the context and generally refer to one or more instructions or directions or circuitry for performing a sequence of operations that represent an algorithm and / or other process or method. A program may be stored on a medium such as RAM, ROM, a disk, or embedded in circuitry that is accessible and executable by a device such as a processor or other circuitry.
[0151] The processor and program may be comprised, at least in part, of the same device, such as an array of electronic gates, such as an FPGA or ASIC, designed to perform a sequence of programmed operations, optionally comprising or coupled to a processor or other circuitry.
[0152] As used herein, and without limitation, a module represents a portion of a program that operates or interacts with one or more other components on the same unit or on a different unit, or a portion of a system, such as an electronic component or assembly, for interacting with one or more other components.
[0153] As used herein, without limitation, a process refers to a collection of actions leading to a particular purpose or result.
[0154] Illustrative Embodiments Particularly exemplary embodiments are described below in conjunction with the drawings, which are accompanied by claims and texts describing individual 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 (even separately) into a claim relating to the device according to the invention.
[0155] Event Camera Event-based sensors or silicon retinas, referred to herein as event cameras, operate fundamentally differently from traditional frame-based cameras in the way they sense visual stimuli and then read data from the sensor for transmission to a host computer or storage device.
[0156] In contrast to (global shutter) framing cameras, event cameras do not capture visual scenes by "reading out" all light-sensitive pixels / sensors simultaneously at a fixed time interval (the "frame rate"). The pixels / sensors also do not provide information about the absolute amount of illuminance (the "intensity"). Instead, each pixel / sensor operates independently of the others and outputs information based on the relative changes in individual illuminance. That is, pixels / sensors not exposed to a changing stimulus are idle (and therefore do not generate an output signal), while pixels / sensors that sense a change in intensity output information at an appropriate rate to account for the local scene content change. Each pixel / sensor in an event camera's sensor array is independent of the others and asynchronously outputs a spike when it detects a change in light intensity above a predetermined threshold. The data output is simply a notification, called an event, declaring that a luminance change above a threshold has been sensed at a single pixel / sensor level. This event has a polarity indicating an increase (ON event) or decrease (OFF event) in the sensed light intensity relative to the level at which the pixel / sensor last emitted light.
[0157] This information is complemented by the pixel / sensor position in the sensor ray (x and y coordinates) and the timestamp of the event occurrence, also referred to herein as the time of change of light intensity. An event can therefore be described by the following 4-tuple: e i =(t i ,x i ,y i ,p i ) where t i is the timestamp, and x i and y i is the pixel coordinate, and p i represents the binary polarity of the i-th event.
[0158] Ignoring the details of sensor readout, arbitration, and data transfer, to a first approximation, the output of an event camera is a strictly continuous, asynchronous stream of events. Because event camera pixels emit light, or generate an output signal, only when they detect a change in light intensity, the event camera's data rate automatically adapts to the dynamics of the observed scene. This pixel behavior also results in inherent suppression of static backgrounds without explicit computational effort. Although each event carries much less information than an intensity frame from a conventional camera, these event cameras can output millions or even billions of events per second, with typical pixel latencies of 200–1000 μs, depending on lighting conditions. Furthermore, the output information is reduced to only visual traces (and noise) of dynamic stimuli appearing in the scene.
[0159] Synchronize event cameras to the same time: To fuse the output data of multiple event cameras, camera synchronization is required, which allows us to fully utilize the high temporal resolution of the event cameras for tracer tracking and reconstruction, and therefore establishes the temporal coherence of events across all event cameras.
[0160] For this reason, a master-slave approach can be used for clock synchronization between event cameras. In such a setup, one master event camera provides its own clock (or its synchronization signal) to one or more slave event cameras. The slave event cameras either use the master's clock signal directly or resynchronize their clocks appropriately. The synchronization mode is usually set via the camera's driver software. Connection topologies include a star network with a master at the center, and a daisy-chain configuration in which one slave connects directly to the master and each further slave connects to its previous peer.
[0161] Gas-filled soap bubbles as tracers: An ideal tracer for experimental flow studies should: - Fully advected / low inertia, - Neutral buoyancy with respect to the surrounding fluid (no drift motion), - small enough to resolve the flow structures of interest; - have a strong optical signature that is easily detected; - Have a long enough life to withstand transportation throughout the test. Volume: - Easy and cost-effective to produce; - be harmless, - Leave as little residue as possible.
[0162] Gas-filled soap bubbles meet these criteria and can therefore be used as tracers. In particular, the gas can contain enough helium to provide neutral buoyancy.
[0163] In particular, the tracer seeding device may include a bubble generator adapted to produce bubbles, said bubbles comprising: - They range in diameter from about 0.5 to 3 mm. - Nearly neutrally buoyant - The duration is at least 10 seconds, - Produced at a generation rate greater than 10Hz and less than 1000Hz.
[0164] Measurement system registration: Measurement system registration defines the relationship between the scene and the event camera in the measurement space. Furthermore, during the execution and operation of the method and system according to the present invention, the relative orientation and position of the event cameras with respect to each other must be determined. The mathematical details of camera registration are known to those skilled in the art. Registration requires a sample of a known geometric configuration as input. This is typically achieved by a calibration target / rig. A precisely printed, high-contrast 2D checkerboard or dot pattern can be used to calibrate frame-based cameras. The corners of the pattern or the centers of the dots are known in world space and serve as geometric features in the calibration procedure. However, due to the principles of their dynamic operation, a constant, motionless, passive illumination pattern cannot be used to register an event camera. This problem can be overcome by moving the target in front of the camera (or vice versa). Another possibility is to dynamically illuminate the target. In particular, if the target itself emits intermittent or variable light in predefined areas, the target's geometric features are captured while overall event noise (clutter) is avoided. Such a configuration may be referred to herein as an active calibration target. Active calibration targets have the advantage that the calibration pattern can be detected by an event camera even if the target is not moving. Furthermore, the contrast of the feature points, i.e., the actively emitting parts of the target, is particularly high regardless of the lighting conditions. This allows for robust feature point detection even under difficult conditions. There are several ways to create an active target. It is possible to use a blinking or flashing computer / tablet screen that displays the calibration pattern, or a custom-made device made of intensity-modulated LEDs. A lightweight, precisely manufactured calibration target with multiple flashing LEDs, powered by a battery or mains power, can be used as an active calibration target. [Brief explanation of the drawings]
[0165] [Figure 1] FIG. 1 is a flow chart illustrating one embodiment of the present invention. [Figure 2] FIG. 2 shows the trace of air flow recorded in an air cleaner using the method according to the invention. [Figure 3] FIG. 3 shows the flow lines for the experiment in FIG. [Figure 4] FIG. 4 shows the trajectory of a model jet exposed to an airflow recorded using the method according to the invention. [Figure 5] FIG. 5 shows the streamlines for the experiment in FIG. [Figure 6] FIG. 6 is a flow chart of another embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0166] Data processing details: The method is described with reference to Figure 1. The method according to an exemplary embodiment comprises several incremental processing stages interconnected in a sequential chain / pipeline.
[0167] At each step, the incoming incremental data is processed, e.g., filtered, transformed, or fused, resulting in an output data package that contains more information than the input data. Each processing step has one or more associated worker threads so that the pipeline stages process data simultaneously, even though each single event passes through the pipeline stages sequentially. Thread synchronization mechanisms and first-in, first-out (FIFO) buffers connect the individual stages, allowing for fully asynchronous processing of data. Figure 1 shows the computational pipeline of a measurement system for an exemplary number of three event cameras 100 (more cameras are possible). The processing pipeline begins with the transfer of a stream of raw events from the event cameras 100 to a host computer 101.
[0168] The first computational steps, such as low-level event filtering, are performed "per camera" to allow cameras to operate independently of each other. Experimental conditions and inherent sensor differences (e.g., manufacturing variations) typically result in a certain asymmetry in the event data streams between multiple synchronized event cameras 100. For example, if one of the event cameras 100 is located close to the test volume, i.e., the measurement space or object, the tracer particle projections cover a larger area of the event camera sensor compared to an event camera observing the scene from a greater distance. As a result, this "close-up camera" is likely to display a higher event rate. Combining the event streams of individual event cameras too early can clog the processing pipeline of a single camera and quickly fill the associated data buffer. Incoming events are filtered by considering criteria such as compatibility with a configurable ROI or temporal consistency (monotonically increasing time of the event). Any events that fail these checks are rejected and not propagated to subsequent processing stages. Next comes the 2D detection and tracking algorithm, which identifies tracers, specifically tracer particles, in the event stream and tracks their coherent motion in the space-time domain. The output of this stage is the incremental 2D position change of the tracker associated with the detected tracer particle. It should be noted that this processing stage significantly reduces the number of data packages in the pipeline while significantly increasing information density. Essentially, it performs two functions: first, it acts as a filter, sorting out all events that appear unrelated to physically present tracers. Second, it clusters the remaining events and gives them semantic meaning, such that the history of events assigned to the same tracer encodes the motion of that object. The 2D detection process can also be performed by the event camera's processor 101, as shown in this example.
[0169] During execution of the method, multiple event cameras 100 observe the same measurement space such that tracer motion generates corresponding incremental tracker changes in the processing pipelines of the multiple event cameras. Due to signal blockages or other losses, this is not always the case. However, we simplify the situation and assume that particle or tracer motion is actually seen by multiple event cameras simultaneously. Therefore, the next algorithm step must fuse the currently independent pipelines to perform correspondence matching. This requires calibration or registration of the event cameras 100 and the entire multi-camera system, as detailed in the previous paragraph.
[0170] Photogrammetric calibration is performed using event-based data instead of traditional image frames. Once corresponding incremental tracker position changes across multiple camera views are identified, a 3D reconstruction of the tracer's motion path is performed by triangulation. This stage again yields event-based data. However, the data now represent individual four-dimensional (4D) points—incrementally time-stamped 3D tracer position updates. These reconstructions are not yet correlated. However, a streak-based data representation is ultimately preferred. Therefore, the next computational step correlates coherent occurrences of such 4D reconstructions to represent individual positions along a single tracer pathline. Due to spatial and temporal inaccuracies, the 4D reconstruction associated with the trajectory is noisy. Attempting to directly extract local tracer velocities from the subsequent reconstruction can lead to unphysical results, as differentiation against noisy position data is problematic, especially at higher-order temporal derivatives. Therefore, a processing step is added to the pipeline: fitting a 3D curve through the trajectory-correlated reconstruction. It is recursively and asynchronously updated with each newly arrived and associated reconstruction. Curve fitting offers two advantages: the tracer pathlines / streaks are described here in a closed-form analytical format. Furthermore, the smoothing properties of curve fitting and the analytical pathline representation allow for direct evaluation of temporal derivatives such as velocity and acceleration, which are, in turn, given in a closed-form analytical format. Before the acquired streak data can be visualized, the curve representation is regularly discretized. Finally, the latest streak data can be rendered into an immersive virtual 3D scene of the measurement space on a display. Starting with the 3D correspondence matching step, the method is executed on the common and shared processor 102, and not specifically at the individual event camera level. Step 102 can, in fact, also be executed in a different topology, where a "voting mechanism" at the individual camera level allows for 3D reconstruction without a central processing unit.
[0171] 2D tracer detection and tracking The event camera 100 offers the advantage that the asynchronous and independent operation of sensors, e.g., pixels, eliminates blurring of any tracer motion. Finally, the data rate of the event camera is low enough to allow continuous streaming of output to the host. Thus, recording / observation time is virtually unlimited.
[0172] An exemplary tracking algorithm is given below: This algorithm is intended and tailored for flow tracer tracking.
[0173] The advantages of event cameras for tracking applications are clear, and many such algorithms already exist for a variety of applications. Although this method utilizes a multi-camera system, 2D detection and tracking are performed independently for all event cameras.
[0174] Our method can use a setup equivalent to a motion capture system: the event camera is stationary and observes a moving tracer. Due to the lack of ego-motion, the event camera generates only a few events from the background of a cluttered scene. This keeps the event rate limited and ensures that the event-coded information corresponds almost exclusively to the motion of the object of interest, the tracer.
[0175] Exemplary embodiments of the tracking algorithm: From a black-box perspective, the 2D tracer detection and tracking algorithm can be described as follows: the input to the algorithm is raw pixelated events streamed from the camera. During processing, this algorithm stage asynchronously emits sub-pixel-accurate, event-based, incremental motion changes to the tracker. In this way, tracking filters out non-motion-related "clutter" events and condenses the remaining events into a semantic form: trackers are directly associated with individual moving tracer particles. The tracking algorithm is a cluster- or "blob-" based method. A collection of recent, spatiotemporally coherent events contributes to the range and position of the corresponding tracker. Algorithm 1 outlines the tracking procedure in pseudocode. It is noteworthy that the second line (in simplified form) describes the asynchronous and event-based behavior of the algorithm: data processing occurs only if an event reaches the tracking stage; otherwise, there is no change to the tracker state. In the initial run of the algorithm (first run after camera startup), the counters and timers required for performance evaluation and real-time checks are reset or started, respectively. Next, the validity of the event timestamps needs to be checked, since slave cameras in a hardware synchronized multi-camera setup can send invalid and / or zero-valued timestamps before receiving the master camera's clock. [Table 1] Generally, there is a delay of perhaps several milliseconds between the algorithm start time and the actual zero reference of the camera clock. Eliminating this discrepancy is essential for correct real-time behavior. A corresponding time offset is used in each real-time check (line 7 of Algorithm 1). If the tracking algorithm lags behind physical time, a single event is skipped. The tracking algorithm is designed to compensate for this occasional removal of a single event. A critical threshold is reached only if the average event rate of the camera is consistently higher than the algorithm's throughput. In such a situation, a significant number of events may be skipped, leaving the tracking algorithm with insufficiently dense data to process. This extreme situation is easily identifiable in the 2D view, as all trackers may quickly disappear. This problem can be solved by adapting the tracking algorithm parameters to "lighter computation" by adjusting the camera bias to achieve a lower event rate or by reducing the seeding density. An exact upper bound on the event throughput cannot be determined at this time, as such a limit is highly dependent on the scene conditions: camera bias and lighting conditions need to be adapted not only for optimal algorithm performance, but also to obtain a good event signature of the helium-filled soap bubble (HFSB). However, this also directly affects the event rate and camera noise level, which in turn affects the tracking algorithm. Line 10 starts the actual detection and tracking process, which generally consists of the following subtasks: 1. Pruning and removing trackers. 2. Spawning a new tracker. 3. Associating new data with existing trackers. 4. Tracker location updates. 5. Tracker integration.
[0176] As new events arrive, pruning of existing trackers occurs: based on the timing criteria (see below), the oldest / earliest event (those with the smallest timestamp) belonging to a tracker is removed from the list of contributing events and the tracker is updated accordingly. When the number of events comprising a particular tracker falls below a user-defined threshold, the tracker is removed from the list of active ones, marking the "end of life" of the tracker.
[0177] After the 2D tracer detection and tracking process, the independent processing pipelines of different cameras need to be fused so that the tracer positions can be reconstructed in 3D by triangulation. However, asynchronous streams of particle tracker position changes from multiple cameras are not co-registered. Finding associations between 2D points (in this case, tracker updates) from multiple different camera views is known as the correspondence problem, which is known to those skilled in the art and has been solved, for example, by exploiting the epipolar geometry of the event camera.
[0178] Once the two corresponding trackers are identified, the respective 3D tracer positions can be reconstructed.
[0179] At this stage, a camera-specific processing pipeline is integrated to enable candidate matching between tracker updates from multiple views. Tracker updates arrive in camera-specific buffers, each containing only trackers spanning a given maximum temporal window of user-definable size. A cutoff timestamp is calculated globally working backward from the most recent tracker update. In the spirit of event-based processing, the cutoff timestamp is re-evaluated with every incoming tracker update and buffers are pruned accordingly. The use of finite-sized temporal windows is crucial, as corresponding tracker updates will generally not have identical timestamps. This is due to two main reasons:
[0180] First, depending on the placement of the cameras relative to the measurement scene, the motion of one tracer may trigger more events, thus resulting in more frequent tracker updates in one view than in another. For example, a particle may move perpendicular to one camera but at a sharp angle relative to the other. This asymmetry contributes insignificantly to temporal misalignment. More importantly, pixel and readout jitter in the event camera introduces uncertainty into the timestamps of events across multiple cameras, even though the event cameras are synchronized to the hardware. The choice of the time window size is also important for the performance of the reconstruction algorithm, as it defines the computational cost of searching for corresponding tracker updates pairwise. If the window is too small, only a few correspondences across multiple camera views will be found. If it is too large, the correspondence search will become exhaustive, jeopardizing the real-time performance of the algorithm. An experimentally determined size of 100–500 μs is a good compromise, keeping the search effort reasonable and ensuring that mismatches in corresponding tracker timestamps are respected in most cases. The use of a time window also facilitates correspondence search and reconstruction, since only geometric criteria are required to determine a match: all candidates are automatically guaranteed to meet the temporal consistency requirement, and once a geometric match is found, there is no need for explicit checks involving timestamps.
[0181] After triangulation, the 3D points are given in the camera's coordinate system, and its buffer is chosen as reference. The points are transformed into a common world coordinate frame. Each reconstruction is assigned the average timestamp of the tracker updates from which the triangulated points originated. Note that the result of this processing stage is again 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, which respects the order of the 4D events given by their timestamps when dispatching. Note that the assignment of timestamps after reconstruction can be important: a temporal increment of the 4D reconstruction is necessary to obtain velocity information (or other time derivatives) from the final tracer pathline.
[0182] 3D Track Identification The result of the correspondence matching and triangulation stage is a (dynamically evolving) point cloud of discrete 4D events that represent in discretized form the tracer's pathline in the physical scene. However, these incremental position changes are not yet registered as belonging to a specific tracer. Similar to the 2D particle detection and tracking stage, the task of the track identification algorithm is to detect spatiotemporally coherent clusters of 4D events that constitute the tracer particle signature. Reconstructions must be clustered into groups to which a unique ID can be assigned. As before, the track identification algorithm is implemented in an event-based manner. Therefore, the algorithm is triggered upon the arrival of each new reconstruction from the previous stage in the processing pipeline. If no reconstruction progresses, the algorithm idles. Even if the spatiotemporal constraints for tracking and reconstruction in the previous processing stage were fairly strict, noise propagates to this stage of the pipeline, needing to be filtered out. However, in contrast to the 2D detection and tracking stage, 4D events are much sparser, and as a result, the requirements for spatiotemporal continuity may be less strict than before. Therefore, this stage also fills in small gaps in the reconstruction data that may be due to occlusions, signal loss (e.g., due to strongly reflective background patches), or skipped data due to real-time limitations.
[0183] When a new rebuild arrives, three mutually exclusive processes are launched, listed below in order of priority (high to low): 1. The rebuild is assigned to an existing track. 2. Rebuild triggers initialization of new tracks. 3. Reconstructions are registered for the possibility of creating new trackers in the future.
[0184] Existing tracks are kept in an incomplete / waiting state as long as new reconstructions are added to them frequently. If a track is not updated within a user-definable timeout interval, the track is completed and removed from the list of allocation candidates. Incomplete tracks can be updated by an incoming reconstruction if the incoming reconstruction represents a spatiotemporally consistent incremental change.
[0185] Fitting analytical paths to each of the trajectories Because individual reconstructions are identified as discrete points along the tracer track, the particle's continuous motion can be reconstructed. However, simply interconnecting time series of incremental position changes to obtain the particle's path is insufficient due to spatial noise in the data. Instead, each time-resolved 3D track (also referred to as a trajectory in this context) is approximated with a 3D polynomial curve that smooths the particle's path in the least-squares sense. Trajectories can alternatively or additionally be approximated using B-splines, NURBS, or similar functions. The fitting is performed sequentially, such that the curve representation is updated upon the addition of each new 4D event. This "event-by-event" update of the curve representation is well-suited to our event-based processing strategy. Furthermore, each update is calculated in constant time, making the algorithm suitable for deployment in real-time-limited systems. The procedure applied in this context is known as the recursive least squares (RLS) algorithm and represents an adaptive filtering technique.
[0186] speed estimation Once the particle tracks have been approximated, an analytical representation of the tracer path is possible. The corresponding velocity estimates can be easily obtained by differentiating the path line (or path or path segment) with respect to time. Because paths can be written as polynomials (i.e., sums), differentiation is a computationally inexpensive task that can be performed very efficiently and in real time.
[0187] It is also worth noting that the calculations can be performed in parallel and in constant time: particle acceleration can be calculated in succession with the velocity estimate, using the velocity estimate as the starting point for the calculation.
[0188] Alternatively, or additionally, acceleration estimation can be performed in parallel with velocity estimation.
[0189] 2 to 5 show the results obtained by this method.
[0190] In Figure 2, the air flow trajectory of an air cleaner 201 is shown. The trajectory was recorded using the method according to the present invention.
[0191] Corresponding to Figure 2, Figure 3 shows the airflow streamlines. The streamlines 202 are obtained by mapping the trajectories onto a voxel grid. The grayscale coding of the streamlines indicates the sense and intensity of local rotation along each trajectory. The direction of the display is upstream, and the degrees can be normalized to a range of -1 to 1.
[0192] In Figure 4, the velocity of the trajectory 302 during testing of the aircraft model 301 in the wind tunnel is greyscale coded. During recording, the tracer seeding device can be moved between different positions so that different injection sections are probed and trajectories are obtained at high density. Figure 4a) shows a perspective front view of the aircraft model 301, and Figure 4b) visualizes a top view of the aircraft model 301.
[0193] Similarly, in Figures 5a-c, only a portion of the model 401 is exposed to and evaluated for tracer flow. The grey scale of the streamlines 402, obtained from the trajectories by mapping them onto a voxel grid, corresponds to the velocity of the tracers, such that the velocity is visualized for each tracer.
[0194] FIG. 6 is a flowchart illustrating the process flow of a method and computer program according to the present invention.
Claims
1. 1. A method for determining the flow of a tracer in a measurement space, comprising the steps of: a) injecting a tracer into the measurement space at a first injection region using a tracer seeding device configured to inject the tracer into an adjustable injection region within the measurement space; b) recording the measurement space with two or more event cameras, each event camera comprising a plurality of sensors configured to generate output data each time a change in light intensity is sensed by the sensor of the event camera, the output data including information about the location of the sensor that sensed the change in light intensity and the time of the change in light intensity; c) determining, using a processor, from the event camera data, trajectories in measurement space for at least some of the injected tracers, wherein each trajectory includes information about the time-resolved three-dimensional position of at least the tracer, and wherein the determination of the trajectories is facilitated in real time; d) adjusting the implantation area to at least a second implantation area while performing steps b) and c). The method comprising:
2. The method of claim 1 , wherein at least some of the determined trajectories are stored in a non-transitory storage medium.
3. 3. The method according to claim 1 or 2, wherein at least some of the determined trajectories are displayed on a display, in particular while steps b) to c) and / or d) are being performed, and / or each trajectory has an associated generation time, and displayed trajectories having a generation time older than the selected time are removed from the display so that the temporal evolution of the trajectories is displayed.
4. The method of any one of claims 1 to 3, wherein the implanted area is repeatedly adjusted.
5. 5. The method according to claim 1, wherein the tracer seeding device comprises an injection nozzle through which the tracer is injected into the measurement space, and wherein at least the injection nozzle or the seeding device is hand-held and / or hand-guided such that the injection area is adjustable by manually moving the nozzle to another area of the measurement space.
6. 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, and the injection seeding device is configured to move the nozzle under computer control, in particular the tracer seeding device is connected to a control computer, and the control computer issues control commands to the tracer seeding device to cause the device to move the nozzle.
7. 7. The method according to any one of claims 1 to 6, wherein for one or more sub-volumes in the measurement space, the density of the trajectories is determined by a processor and / or the injection region is adjusted so that the density is equal to or exceeds a selected density for the one or more sub-volumes, in particular the tracer seeding device is configured to receive control commands from a control computer causing the nozzle to move so as to increase the density of the trajectories in the one or more sub-volumes.
8. 8. The method according to claim 1, wherein the tracer comprises or consists of air-filled bubbles, in particular the flow velocity of the flow is on average 50 km / h or more, at least in the injection region of the measurement space.
9. The tracer is tracers in the form of droplets and tracers in the form of bubbles, - tracers in the form of liquid droplets and tracers in the form of solid particles, - tracers in the form of gas bubbles and tracers in the form of solid particles, tracers in the form of droplets, tracers in the form of bubbles and tracers in the form of solid particles; 9. The method of any one of claims 1 to 8, comprising multiple co-occurring species of tracer selected from the group consisting of:
10. 10. The method according to any one of claims 1 to 9, wherein from data from each event camera, a two-dimensional position of the tracer in the measurement space is determined by a processor, and a three-dimensional position of each tracer is determined from a plurality of two-dimensional positions of each tracer, and in particular by evaluating the temporal coincidence of a plurality of two-dimensional positions of each tracer, in particular by photogrammetry.
11. The method according to any one of claims 1 to 10, wherein an object is placed in the measurement space and the trajectory of a tracer flowing around the object is determined.
12. 12. The method of claim 11, wherein the object adjusts its geometric position, attitude and / or aerodynamic properties during the recording step b).
13. 13. The method according to claim 11 or 12, wherein before step a) is performed, the object is registered relative to the event camera, in particular by selectively illuminating different parts of the object, in particular by illuminating with lighting spots, the event camera recording the illuminated parts, and the processor determining the three-dimensional positions of the illuminated parts.
14. 14. The method of claim 13, wherein a 3D model, such as a CAD representation of the object, is provided to a processor, and the processor processes the illuminated portion to register a pose of the 3D model with respect to the representation of the measurement space, or to generate a three-dimensional representation of the object in the measurement space from the three-dimensional position of the illuminated portion.
15. A system for carrying out the method according to one of claims 1 to 14, said system comprising at least the following components: one or more processors; two or more event cameras connected to one or more processors; one or more tracer seeding devices, each tracer seeding device constructed and arranged to inject a tracer into the measurement space and / or each tracer seeding device comprising one or more nozzles through which the tracer is emitted from the tracer seeding device; Including, The system is characterized in that each tracer seeding device is constructed and arranged to sequentially inject tracer into at least a first injection region and a second injection region, and wherein at least the one or more nozzles are movable between the first injection region and the second injection region.
16. 16. The system of claim 15, wherein at least one or more nozzles are handheld and hand guided so that a person using the tracer seeding device can adjust the injection area by moving the one or more nozzles.
17. 17. The system of claim 15 or 16, wherein the system further comprises a calibration rig configured to determine the relative position, attitude and / or optical imaging parameters of the event camera, the calibration rig being an omnidirectional and / or active calibration rig.
18. The system according to one of claims 15 to 17, further comprising optical markers and / or designators for selectively illuminating surface points of an object placed in the measurement space for spatial registration of the object.
19. 19. The system of claim 15, further comprising a component configured and arranged to fan out clock synchronization signals between two or more event cameras or between some of the one or more processors.
20. 20. The system of claim 19, wherein the component is further constructed and arranged to fan out clock synchronization signals between two or more event cameras and some of the one or more processors.
21. 21. The system of claim 15, wherein the processors are connected to a network for distributed data processing, and each of the processors is connected via the network to at least one event camera of the two or more event cameras for distributed data processing, and each processor is configured to process output data of the at least one event camera received via a network connection, 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, and the data is received via a network connection.
22. 22. The system according to claim 15, wherein the system comprises an illumination arrangement configured to illuminate an illumination area, the illumination arrangement configured to move the illumination area such that only a region of interest in the measurement space is illuminated, in particular the illumination area is limited to the region of interest in the measurement space.
23. A computer program comprising computer program code that, when executed on one or more processors of the system described in claims 15 to 22 or on a computer comprising one or more processors, performs at least the computer-executable method steps of the methods of any one of claims 1 to 14, in particular the computer program being configured to cause one or more processors or control computers to issue control instructions that are sent to a tracer seeding device and that cause the tracer seeding device to move the injection region in accordance with the control instructions.