EP3570063A1 - Method for quick estimation of a perspective concealment in a simulation of an imaging sensor - Google Patents

Method for quick estimation of a perspective concealment in a simulation of an imaging sensor Download PDF

Info

Publication number
EP3570063A1
EP3570063A1 EP18172050.9A EP18172050A EP3570063A1 EP 3570063 A1 EP3570063 A1 EP 3570063A1 EP 18172050 A EP18172050 A EP 18172050A EP 3570063 A1 EP3570063 A1 EP 3570063A1
Authority
EP
European Patent Office
Prior art keywords
sensor
virtual
virtual object
image
perspective
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP18172050.9A
Other languages
German (de)
French (fr)
Other versions
EP3570063B1 (en
Inventor
Kusnadi Liem
Michael Peperhowe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dspace GmbH
Original Assignee
Dspace GmbH
Dspace Digital Signal Processing and Control Engineering GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dspace GmbH, Dspace Digital Signal Processing and Control Engineering GmbH filed Critical Dspace GmbH
Priority to EP18172050.9A priority Critical patent/EP3570063B1/en
Priority to US16/383,696 priority patent/US10990854B2/en
Priority to CN201910336402.1A priority patent/CN110489202A/en
Publication of EP3570063A1 publication Critical patent/EP3570063A1/en
Application granted granted Critical
Publication of EP3570063B1 publication Critical patent/EP3570063B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2193Validation; Performance evaluation; Active pattern learning techniques based on specific statistical tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/40Means for monitoring or calibrating
    • G01S7/4004Means for monitoring or calibrating of parts of a radar system
    • G01S7/4026Antenna boresight
    • G01S7/403Antenna boresight in azimuth, i.e. in the horizontal plane
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/40Means for monitoring or calibrating
    • G01S7/4052Means for monitoring or calibrating by simulation of echoes
    • G01S7/4082Means for monitoring or calibrating by simulation of echoes using externally generated reference signals, e.g. via remote reflector or transponder
    • G01S7/4086Means for monitoring or calibrating by simulation of echoes using externally generated reference signals, e.g. via remote reflector or transponder in a calibrating environment, e.g. anechoic chamber

Definitions

  • the invention relates to sensor simulation and virtual testing.
  • HIL Hardware in the Loop
  • an embedded system prototype is connected to a simulation computer that provides a largely virtual test environment and provides the embedded system with hard real-time input data generated by the virtual test environment.
  • the simulation computer can read control signals of the embedded system and take them into account in the calculation of the state of the virtual test environment in the respective next simulation time step.
  • SIL Software in the Loop
  • MIL Model in the Loop
  • VIL Vehicle in the Loop
  • Some embedded systems evaluate sensor data that is supplied by sensor systems with imaging sensors. Of particular importance are such embedded systems in the automotive industry in the context of Advanced Driving Assistance Systems (ADAS) and Highly Automated Driving (HAF).
  • ADAS Advanced Driving Assistance Systems
  • HAF Highly Automated Driving
  • imaging sensors all sensors are understood from the Sensor data an image of the environment of the sensor is reproducible, in particular RADAR, LIDAR and ultrasonic sensors and also the optical sensors of camera systems for passive image acquisition in the visible or non-visible light spectrum.
  • Such sensor systems may include not only the sensor itself but also an image processing unit for evaluating the image data supplied by the sensor.
  • the image processing unit can be designed as an autonomous embedded system or integrated into the embedded system to be tested.
  • a virtual test environment for testing an embedded system that expects input data from a sensor system with an imaging sensor, the virtual test environment must include a simulation of the sensor system.
  • the image processing unit is not a test piece or no part of the test object, it makes sense to save on computational effort to dispense with a detailed simulation of the sensor.
  • a sensor field of view is associated with the simulated sensor, such as a limited range conical field of view from the sensor, and a plurality of virtual objects included in the virtual test environment become a number of virtual objects than by the sensor system identifiable virtual objects.
  • all the virtual traffic signs that can be added to the virtual test environment can be determined as virtual objects recognizable by the sensor system.
  • all virtual road signs captured by the sensor field of view would then be included in a preliminary list of detected virtual objects, while all other virtual objects captured by the sensor field of view, such as persons, trees, buildings , Vehicles and traffic lights are basically not recognized by the simulated sensor system, that is basically not included in the preliminary list of detected virtual objects.
  • a simulation of a sensor system therefore preferably means a simulation based on a simple sensor system model which only superficially imitates the behavior of the sensor system, but at most simulates to a limited extent physical or technical processes of a physical sensor system and in particular no calculation of synthetic image data which, for example, emulate the image data generated by a real imaging sensor.
  • Such simple sensor system models are also known as ground truth sensors.
  • ground truth sensors One advantage of this is the low computational effort that is necessary for their execution. This makes ground-truth sensors particularly suitable for use in virtual tests that are performed in hard real-time, such as hardware-in-the-loop techniques.
  • a fundamental problem with the implementation of ground truth sensors is the consideration of a perspective concealment of virtual objects detectable by the sensor system.
  • a ground truth sensor first evaluates as all detected virtual objects detected by the sensor field of view and determined as objects recognizable by the sensor system. In order to realistically simulate the sensor system, however, it must subsequently be checked whether a virtual object deemed to be recognized is actually visible to the sensor or whether the virtual object is at least partially concealed by another virtual object from the perspective of the sensor. If this is the case and the perspective occlusion exceeds a certain extent, the virtual object must be removed from the preliminary list of detected virtual objects.
  • the EP 0 620 409 B1 discloses a simulation environment for the development and testing of target seeking missiles.
  • the simulation environment computes in hard real time a synthetic image for the imaging sensors of a missile, and the disclosure includes a method for detecting perspective hidden surfaces.
  • the object of the invention is to accelerate the detection of a perspective occlusion in a simulation of a sensor system with an imaging sensor in a virtual test environment.
  • the simulated sensor system comprises an imaging sensor and an image processing unit for detecting objects in the sensor image output by the sensor.
  • the simulation of the sensor system itself is preferably a ground truth sensor and includes the imaging sensor and the image processing unit only implicitly.
  • a virtual test environment which comprises a plurality of virtual objects and in which the sensor and each virtual object are each assigned location coordinates.
  • the sensor is assigned a sensor field of view in the virtual test environment, and a number of objects of the plurality of virtual objects are determined as virtual objects detectable by the sensor system.
  • a simulation run is started, in the course of which the sensor or at least one virtual object is cyclically assigned new location coordinates in the virtual test environment, and it is cyclically checked whether at least one virtual object is detected by the sensor field of view.
  • first a projection plane is spanned whose spatial orientation is selected such that it is suitable for a central projection of the first object and the second object if the spatial coordinates of the sensor are used as the eye point of the central projection.
  • a central projection is to be understood as a projection with a fan-shaped beam path emanating from the eye point, which generates an image of the projected points on the projection plane, as would be perceived by an observer standing at the point of view, specifically the sensor.
  • An at least partial central projection of a geometrical body which is the same as the first object with the spatial coordinates of the sensor as eye point is performed on the projection plane, the dimensions of the unscaled first geometric body completely or at least approximately coinciding with the dimensions of the first object. It does not matter if the first geometric body is natively present in the virtual test environment or is generated to perform central projection as needed. When the dimensions of the first geometric body and the first object are in complete agreement, the first geometric body can also be aligned with the first Object to be identical, ie only implicitly exist in the virtual test environment.
  • the first geometric body is preferably an enveloping body or a scaled enveloping body of the first object.
  • An enveloping body of an object is to be understood as meaning a geometrical body completely encompassing the object with a simplified geometry relative to the encompassed object, in particular a polyhedron with few vertices or a body which can be analytically described in a simple manner, for example a sphere or a cylinder.
  • the geometry of the geometric bodies should in principle be selected such that a complete run of a software implementation of the method within a period of time specified by the application, in particular within a simulation time step, is so assured that within one complete simulation run, no violation of the predetermined time span by the software implementation is to be expected.
  • Which geometries of the geometric bodies or which number of vertices are acceptable depends in particular on the implementation of the method, the complexity of the virtual test environment and the simulation, and on the hardware configuration of the computer system performing the method.
  • a partial central projection or a partially performed central projection of an object means that only an incomplete selection of points of the object in a central projection is projected onto the projection plane. In some embodiments, from the projected points, an amount is formed on the projection plane that approximates an image resulting from a complete central projection of the object.
  • An analogous manner for carrying out the central projection of the first geometric body becomes an at least partial central projection of a with the second object the same second geometrical body is performed on the projection plane with the spatial coordinates of the sensor as an eye point, wherein the dimensions of the unscaled second geometric body completely or at least approximately coincide with the dimensions of the second object.
  • the projection of the first geometric body produces a first image on the projection plane
  • the projection of the second geometric body produces a second image on the projection plane.
  • the Euclidean distance between sensor and first object is less than the Euclidean distance between sensor and second object
  • the size of the intersection in relation to the size of the second image exceeds a predefined threshold value second object scored as geometrically obscured, ie it is assumed that the image processing unit does not recognize the second object, even if the second object is partially visible from the sensor's point of view, because the degree of perspective occlusion is too high for recognition of the second object by the image processing unit.
  • a determination of the Euclidean distances is preferably based on the location coordinates of the sensor, the first object and the second object.
  • a Euclidean distance between the sensor and an object can be determined on the basis of the spatial coordinates of the sensor and a defined point of the object, for example based on the point of the object closest to the sensor or the spatial coordinates of the object.
  • the second object is considered not to be hidden in perspective, ie it is assumed that that the image processing unit recognizes the second object, even if the second object is partially hidden in perspective by the first object, because the degree of perspective occlusion is sufficiently low for recognition of the second object by the image processing unit.
  • the previously described estimation of a perspective occlusion can be performed multiple times on respectively different virtual objects if, in addition to the first object and the second object, further virtual objects are detected by the sensor field of view.
  • a signal of the sensor system is generated to which the information is removable, that all detected by the sensor field of view and detectable by the sensor system virtual objects that are not considered to be hidden from the perspective of the Image processing unit have been detected and all detected by the sensor field of view and recognizable by the sensor system virtual objects that are considered to be hidden in perspective, were not recognized by the image processing unit.
  • the signal simulates a possible signal of a real sensor system, in particular a series-produced or prototype sensor system.
  • the signal does not simulate a possible signal from a real sensor system and is used, for example, to drive a test bench that is set up to simulate the existence of objects within its sensor field of view to a real imaging sensor.
  • An advantage of the invention is that it enables a fast and reliable estimation of the visibility of a virtual object for an image processing sensor system, without resorting to computationally expensive methods from computer graphics, for example ray tracing or Z-buffering.
  • the method also reduces the hardware expenditure for a simulation of a corresponding sensor system, because it can be performed without the use of a graphics processor (GPU, Graphics Processing Unit).
  • Investigations by the Applicant have shown that a software implementation of a method according to the invention can reliably run through within a millisecond. This means that the invention is suitable for application to a hardware-in-the-loop method and the method according to the invention is real-time capable in the sense of a hardware-in-the-loop method.
  • the senor is suspended in the virtual test environment on a virtual machine, wherein the signal of the sensor system is monitored by a control system set up to control the virtual machine or by a control software set up to control the virtual machine.
  • the control system may be a device under test, for example a prototype embedded system for controlling a physical machine, which makes decisions about the control of the machine on the basis of a sensor image.
  • the control software may be, in particular, a prototypical control software intended for installation on a control system for controlling a physical machine or a program logic under development intended for later preparation for installation on a corresponding control system.
  • the virtual vending machine is particularly preferably a virtual automated vehicle, wherein a vehicle is to be understood as meaning any technical system set up to move on its own power.
  • a suspension of the sensor on a virtual machine is to be understood in particular that the location coordinates of the sensor and the spatial orientation of the sensor field of view by the location coordinates and / or the spatial orientation and / or state of the virtual machine are clearly specified.
  • the point cloud formed the selected point cloud to form a two-dimensional amount on the projection plane, which corresponds approximately to the image of the fully projected geometric body and preferably includes all points of the point cloud, for example by forming the convex hull of the point cloud.
  • a polyhedral geometric body it would be possible to project all vertices or a selection of vertices of the geometric body.
  • Particularly advantageous only points of a geometric body are projected, whose images are elements of the convex hull of resulting from a complete projection of the geometric body image.
  • a numerical method for determining such a selection of points is in the description of FIG FIGS. 4 to 6 disclosed.
  • the convex hull of a set of points is the smallest convex set that includes all points from the set of points.
  • a set is called convex if every connecting line drawn between two points of the set is completely contained in the set.
  • a body is called convex if a set of spatial points congruent with the body is convex.
  • the projection plane can be subdivided into sufficiently small fields, for example in squares, triangles or hexagons.
  • the detection of the existence of an intersection and the size comparison to the second image can then take place by counting the fields that lie at least partially both within the first image and within the second image or at least partially within the second image, and by comparing the determined fields numbers.
  • a dimensioning of surfaces is dispensed with by setting the threshold value for the size of the intersection to zero and the examination of the existence of an intersection is carried out on the basis of a collision detection of the first image and of the second image on the projection plane.
  • the mere proof of the existence of an intersection of the first image and the second image to make the second virtual body concealed is sufficient; the Euclidean distance of the first virtual object to the sensor is less than the Euclidean distance of the second virtual object to the sensor.
  • the size of the intersection is insignificant. The method is considerably accelerated because the mere verification of the existence or nonexistence of an intersection with correspondingly clever implementation of the method requires fewer calculation steps than the measurement of an area.
  • GJK Gilbert-Johnson-Keerthi algorithm
  • the first and the second image collide if and only if their Minkowski difference comprises the origin of a Cartesian coordinate system defined on the projection plane.
  • the GJK algorithm proposes to construct the Minkowski difference of the first image and the second image, and to check whether the Minkowski is repeated by defining a triangle in the Minkowski difference, with the triangle approximating the origin in each iteration step Difference includes the origin.
  • the GJK algorithm is applicable only to convex sets.
  • the first image and the second image are convex closed polygons with few vertices, so that the first image and the second image - and consequently their Minkowski difference - each into a small Number of triangles are divisible.
  • the geometric bodies are designed as convex polyhedra having few vertices, wherein, in particular, before performing the projection of a geometric body, a selection of vertices of the geometric body whose images are elements of the convex hull of the image of the geometric body is determined. Only the selection of vertices is projected.
  • collision detection for example of the GJK algorithm, the existence or non-existence of an intersection of the first image and the second image can be detected.
  • collision detection generally does not provide information about the size of an existing intersection. If, as in the previously described embodiments of the invention, the threshold for the size of the intersection is set equal to zero and collision detection is used for the existence of an intersection check, each perspective obscuration of the second object by the first object results in an evaluation of the second Object as perspective concealed, regardless of the degree of perspective occlusion.
  • a real sensor system which is set up for the identification of objects in a sensor image, detects an object that is recognizable but perspectively concealed for the sensor system, provided that the degree of perspective concealment does not exceed a certain tolerance value, and that Sensor system does not recognize the perspective hidden object when the degree of perspective occlusion exceeds the tolerance value.
  • a collision detection perform on the basis of the images of the already projected on the projection plane points of the first geometric body and the second geometric body and abort the incomplete projections when based on the images of the already projected points a collision is detected or a collision is excluded.
  • the claimed invention also encompasses a computer system configured to carry out a method according to the invention and a computer program product for setting up a computer system for carrying out a method according to the invention.
  • the picture of the FIG. 1 shows a set up as a test computer system TB for a virtual test designed as a driver assistance system radar-based control system UUT.
  • the computer system TB comprises a simulation computer SI, a radar test bench RD and a host computer H.
  • the simulation computer SI comprises a processor unit C, on which a real-time operating system (not shown) and a virtual test environment VT are stored, and an interface unit IN for exchanging data between the virtual test environment VT and the periphery of the simulation computer SI.
  • Deposited on the host computer H is a computer program product for setting up the virtual test environment VT and for storing the virtual test environment VT on the processor unit C, as well as operating software for monitoring and activating the virtual test environment VT on the processor unit C during a simulation run of the virtual test environment VT.
  • the computer system TB includes as a DUT the radar-based control system UUT with a transceiver unit TR, a first controller E1 and a second controller E2.
  • the transceiver unit TR is set up to emit a radar pulse RS, to receive it by means of an imaging radar sensor radar echo RE of the radar pulse RS and to create a sensor image of an environment of the transceiver unit TR on the basis of the radar returns RE.
  • the first control device E1 comprises an image processing unit for detecting objects in the sensor image and is also set up to use the detected objects to create a description of the environment of the transceiver unit.
  • the second control unit E2 is set up to read in the description of the environment, to evaluate it and, based on the description of the environment, to control a virtual automated vehicle VE in the virtual test environment VT.
  • the radar test rig RD comprises a number of movable radar transmitters T arranged on circular arcs which are set up to emit radar pulses for the simulation of radar echoes RE.
  • the simulation computer SI is set up to control the radar test stand RD.
  • the simulation computer positions the radar transmitter T and adjusts the simulated radar returns RE in time such that the radar test rig RD emulates radar returns RE of virtual objects in the virtual test environment to a radar pulse emitted by the transceiver unit TR.
  • the picture of the FIG. 2 shows an exemplary snapshot from the virtual test environment VT.
  • the virtual test environment comprises the virtual automated vehicle VE driven by the second control device E2 on a virtual road R and a plurality of further virtual objects O3,..., O10.
  • the virtual objects include, for example, vehicles O3, O4, O9, O10, building O5, trees O6, O7 and traffic signs O8.
  • Each virtual object O3,..., O10 is assigned static or variable location coordinates in the virtual test environment VT.
  • a sensor S (hidden) is suspended on the front of the virtual automated vehicle VE.
  • the sensor S is part of a simulation of a sensor system, which in addition to the sensor S also includes an image processing unit for the identification of objects.
  • the sensor S is assigned a pyramid-shaped sensor field FV emanating from the sensor S, the spatial orientation of which is predetermined by the location coordinates and the spatial orientation of the virtual automated vehicle VE.
  • At least a subset of the objects present in the virtual test environment VT is determined as objects recognizable by the sensor system. All objects O1,..., O8 recognizable by the sensor system, detected by the sensor field of view FV are included in a preliminary list of detected virtual objects.
  • a check for perspective occlusion is performed, and all objects considered to be perspectively obscured are removed from the preliminary list.
  • the objects still listed after completion of the checks for perspective occlusion form a list of detected objects, and the virtual test environment VT generates a signal of the sensor system, from which the objects listed in the list of detected objects are removable.
  • the exact configuration of the signal of the sensor system may vary depending on the application.
  • the signal may carry further information about the listed objects, for example their absolute or relative to the sensor S location coordinates.
  • the signal can simulate a possible signal of a real sensor system and be led out to the outside via an interface unit IN for evaluation by a control system UUT.
  • the signal does not detect a signal of a real sensor system and is not led to the outside, but evaluated by the simulation computer SI for controlling the radar test bench RD.
  • all virtual objects O3,..., O10 in the virtual test environment VT can be recognized by the sensor system.
  • some of the virtual objects present in the virtual test environment VT are not recognizable by the sensor system.
  • only objects recognizable by the sensor system are included in the preliminary list of recognizable objects.
  • objects that can not be detected by the sensor system are also able to cover objects that can be recognized by the sensor system in a perspective manner.
  • Each object O1,..., O10 in the virtual test environment VT is assigned an envelope cuboid B1, B2 as an enveloping body, referred to in the art as a bounding box.
  • the radar test stand RD should emulate only radar echoes RE of objects O3,..., O10 in the virtual test environment VT, which are not concealed in perspective from the perspective of the sensor S or whose perspective concealment falls below a tolerance value, so that the first control device E1 has a corresponding perspective view would recognize a hidden physical object as a stand-alone object.
  • three vehicles O3, O9, O10, a building O5, a tree O7 and a road sign O8 are detected by the sensor field of view FV and therefore included in the preliminary list of detected objects.
  • the vehicle O10 is hidden in perspective by the vehicle O9
  • the traffic sign O8 is partially hidden in perspective by the vehicle O9
  • the vehicle O3 is partially hidden in perspective by the building O5.
  • the picture of the FIG. 3 shows a three-dimensional scene in the virtual test environment VT with the sensor S, a first object O1 in a first envelope cuboid B1 and a second object O2 in a second envelope cuboid B2.
  • the first object O1 and the second object O2 are both detected by the sensor field of view FV and included in the preliminary list of detected objects.
  • the Euclidean distance of the first object O1 to the sensor is determined based on the location coordinates of the first object O1 and the location coordinates of the sensor S1, and based on the location coordinates of the second object O2 and the location coordinates of the sensor S, the Euclidean distance of the second object O2 becomes the sensor determined.
  • the Euclidean distances are compared, and for the object farther from the sensor S, a perspective occlusion is checked by the object closer to the sensor S as viewed by the sensor S.
  • a perspective occlusion is checked by the object closer to the sensor S as viewed by the sensor S.
  • it is checked whether the second object O2 is hidden in perspective by the first object O1 from the perspective of the sensor S.
  • a projection plane P is spanned, on which a biaxial local coordinate system CS is defined, and the first envelope block B1 and the second envelope cuboid B2 are at least partially projected onto the projection plane P, with a central projection with the spatial coordinates of the sensor S being used as an eye point for the projection.
  • the envelope cubes B1, B2 are convex bodies, their images I1, I2 on the projection plane are also convex.
  • the projection of the first envelope cuboid B1 takes place in such a way that, before carrying out the projection, vertices of the first envelope quadrant B1 are determined whose images on the projection plane P are the vertices of the first image I1 of the first envelope quadrant B1.
  • a numerical method for determining the corresponding vertices is described below in the description of FIG. 4 disclosed.
  • the projection of all six vertices visible from the perspective of the sensor S of the first envelope squiggle B1 and the formation of the convex envelope of the images of the projected vertices would result in an exact image I1 of the first envelope squared circle B1.
  • a second image I2 of the second envelope square B2 is created on the projection plane P.
  • other enveloping bodies with different geometry can be used, the images of which, for example, have greater conformity with the images of the enveloped by the enveloping virtual objects.
  • a collision detection of the first image I1 and the second image I1 is performed by means of a GJK algorithm.
  • a collision exists if and only if an intersection of the first image I1 and the second image I2 exists, and the existence of an intersection is evaluated as perspective concealment of the second object O2 by the first object O1.
  • the GJK algorithm proposes to first form the Minkowski difference of the first image I1 and the second image I2 in the local coordinate system CS.
  • An intersection of A and B exists if and only if the origin is an element of ⁇ .
  • the GJK algorithm sees to check whether the origin of the local coordinate system CS is an element of the Minkowski difference ⁇ of the first image I1 and the second image I2 by a decomposition of the Minkowski difference ⁇ into triangles.
  • the first image I1 and the second image I2 and consequently also their Minkowski difference ⁇ are polygons with few vertices, ie they are in one small number of triangles (simplexes) can be dismantled. This promotes a faster run of the GJK algorithm.
  • FIG. 3 For illustration of the projection process alone, a complete projection of the first envelope squares B1 and B2 is shown in each case. In fact, it is provided to project both envelope cuboids B1, B2 in parallel, already during the projection process, to form or partially form the Minkowski difference of the already projected point clouds of the vertices of both enveloping bodies B1, B2 and to cancel the projection process, as soon as the images of the already projected Vertices or points a collision of the first image I1 and the second image I2 is detected or excluded.
  • This aspect of the invention will be explained in more detail in the following descriptions.
  • the picture of the FIG. 4 outlines a search algorithm for determining a projection of the selection of points of an enveloping body using the example of the second envelope quad B2.
  • the second point P2 would be determined as the point of the second envelope square B2 provided for projection on the basis of the described search algorithm.
  • a subsequent search with an initial search direction lying in the opposite direction to the search direction SD1 would determine a third point P3 as the point to be projected.
  • the search algorithm can be performed as often as desired with changing search directions.
  • Each search leads to the determination of an edge point of the second envelope square B2, which is far outward from the perspective of the sensor S and would belong to the convex envelope of the image of the second envelope square B2 in a complete central projection of the second envelope cuboid B2 with the location coordinates of the sensor S ,
  • a selection of points P2, P3 of the second envelope square B2 is determined, and the projection of the second envelope square is performed by selecting points P2, P3 in a central projection with the location coordinates of the sensor S as an eye point is projected onto the projection plane P.
  • the image I2 corresponds exactly to the actual image of the second envelope, as would result from a complete central projection.
  • the search algorithm can be applied to any enveloping body, including non-polyhedral enveloping bodies, for example cylindrical enveloping bodies, wherein the enveloping bodies are advantageously convex enveloping bodies.
  • the determination of a selection of points for projection is performed in parallel for the first envelope cuboid B1 and for the second envelope cuboid B2, and the points determined using the search algorithm are each projected onto the projection plane P immediately after their determination.
  • a collision detection on the images of the already projected points is already performed during the ongoing projection process of the first Hüllquaders B1 and the second Hüllquaders B2, and the projection is aborted when based on the images of the already projected points a collision is detected or a collision is excluded.
  • the picture of the FIG. 5 illustrates a first example of premature termination of a projection of a first envelope B1 and a second envelope B2.
  • the first enveloping body B1 is shown as a cube and the second enveloping body B2 is shown as a sphere.
  • a first initial search direction SD1-A is set to use the in the FIG. 4 illustrated Search algorithm to find from the perspective of the sensor S furthest in the direction of the first Initialsuchcardi SD1-A first point P1-A of the first envelope body B1.
  • the first initial search direction SD1-A it is basically provided in the exemplary embodiment described to subtract the spatial coordinates of the first envelope B1 from the position coordinates of the second envelope B2 and to project the connection vector resulting from the subtraction onto the projection plane P.
  • the first point P1-A is projected onto the projection plane P immediately after its detection to produce an image I1-A of the first point.
  • a second initial search direction SD1-B opposite the first initial search direction SD1-A is determined in order to find the second point P1-B of the second envelope B2 lying farthest in the direction of the sensor S in the direction of the second initial search direction SD1-B.
  • the second point P1-B is projected onto the projection plane P immediately after its detection to produce an image I1-B of the second point.
  • the difference D is a point of the Minkowski difference ⁇ of the images of the first enveloping body B1 and the second enveloping body B2.
  • the image I1-A of the first point and the image I1-B of the second point are the nearest points of the images of the first envelope B1 and the second envelope B2, and hence the difference D is the point of the Minkowski difference ⁇ nearest the origin of the local coordinate CS.
  • the Minkowski difference ⁇ can therefore not include the origin of the local coordinate system CS.
  • the projection is therefore aborted after the projection of the first point P1-A and the second point P1-B, and the second object enveloped by the second envelope B2 O2 is not considered to be hidden in perspective, as long as the second enveloping body B2 is not hidden in perspective by another enveloping body other than the first enveloping body B1.
  • the picture of the FIG. 6 illustrates a second example of premature termination of a projection and at the same time an advantageous embodiment of the projection process.
  • the following listed method steps are provided for the detection of a perspective occlusion of the second envelope B2 by the first envelope B1.
  • the selection of a point provided for the projection happens basically as in the description of FIG. 4 described using the currently valid Initialsuchcardi.
  • the Euclidean distance of the second virtual object O 2 to the sensor S is greater than the Euclidean distance of the first virtual object O 1 to the sensor S.
  • the second virtual object O2 is considered to be hidden in perspective. If abort criterion B occurs, the second virtual object O2 is considered to be not hidden in perspective.
  • the testing and application of the termination criterion A is of course only possible if at least three vertices D1, D2, D3 were determined. Termination criterion B is already applicable after the determination of a single vertex. In the in the FIG.
  • a tolerance value T can be defined for a perspective occlusion of a virtual object O1,..., O8.
  • a tolerance value of T 0.25 means, for example, that a virtual object located in the sensor field of view FV and recognizable by the sensor system is to be recognized by the sensor system if, from the perspective of the sensor S, no more than approximately one quarter of the surface of the virtual object is in perspective is covered.
  • at least the first enveloping body B1 or the second enveloping body B2 is scaled smaller.
  • the second virtual object O2 is considered to be hidden in perspective if an intersection of the images I1, I2 of the scaled envelopes exists.
  • a first scaling factor s 1 is introduced for the first enveloping body B1 .
  • a second scaling factor s 2 is introduced for the second enveloping body B2.
  • a 1 is an exact or estimated value for the area of the first image I1 of the first envelope B1 assuming full projection
  • a 2 is an exact or estimated value for the area of the second image I2 of the second envelope B2.
  • L is the Euclidean distance between projection plane P and the spatial coordinates of the virtual object enveloped by the enveloping body
  • D 1 , D 2 and D 3 are three mutually orthogonal faces of the cuboid
  • e s is the difference vector of the spatial coordinates of the virtual object enveloped by the enveloping body and of Sensors S
  • e n, 1 , e n, 2 , and e n, 3 are the surface normals.
  • the picture of the FIG. 7 shows applications of this scaling rule for three different tolerance values.
  • the first enveloping body B1 and the second enveloping body B2 are shown in the figure for the sake of clarity as two-dimensional rectangles of the edge lengths 8cm x 6cm and 6cm x 4cm. Dashed lines represent the unscaled envelope, while solid lines represent the scaled envelope.
  • the first enveloping body B1 must cover approximately one quarter of the visible area of the unscaled second enveloping body B2 before a perspective concealment of the scaled second enveloping body B2 occurs.
  • the first enveloping body B1 must cover the visible area of the unscaled second enveloping body B2 approximately halfway before a perspective concealment of the scaled second enveloping body B2 occurs.
  • a scaling factor of s 1 0.5 results for the first enveloping body B1
  • the second enveloping body B2 is scaled to point size.
  • the unscaled first enveloping body B1 must cover the unscaled second enveloping body B2 approximately completely before a perspective concealment of the scaled second enveloping body B2 occurs through the scaled first enveloping body B1.
  • FIG. 7 illustrated scaling methods is universally applicable if all virtual objects O1, ..., O8 in the virtual test environment VT have similar dimensions. Otherwise, a universal application can be problematic. Since the potentially perspective concealed second enveloping body B2 can be scaled down to point size, a perspective occlusion can result from an arbitrarily small first enveloping body B1, which is not a realistic behavior of a sensor system according to the invention. For example, a method according to the invention in a situation as described in the FIG. 3 is shown to conclude that the vehicle O1 is not visible to the radar-based control system UUT because it is hidden by the child O2.
  • the method may be extended such that the check for perspective occlusion is performed only if the estimated area of the first image I1 exceeds a predetermined value in relation to the estimated area of the second image I2.

Abstract

Verfahren zur Simulation eines Sensorsystems mit einem bildgebenden Sensor und einer Bildverarbeitungseinheit. Eine virtuelle Testumgebung umfasst den Sensor und eine Vielzahl virtueller Objekte, von denen eine Anzahl durch die Bildverarbeitungseinheit erkennbar ist. Wenn ein erstes virtuelles Objekt und ein durch die Bildverarbeitungseinheit erkennbares zweites virtuelles Objekt durch ein Sensorsichtfeld des Sensors erfasst sind, wird eine Projektionsebene aufgespannt. Ein mit dem ersten virtuellen Objekt ortsgleicher erster geometrischer Körper, dessen Abmessungen zumindest näherungsweise mit den Abmessungen des ersten virtuellen Objekts übereinstimmen, und ein mit dem zweiten virtuellen Objekt ortsgleicher zweiter geometrischer Körper, dessen Abmessungen zumindest näherungsweise mit den Abmessungen des zweiten virtuellen Objekts übereinstimmen, werden in einer Zentralprojektion mit den Ortskoordinaten des Sensors als Augpunkt auf die Projektionsebene projiziert. Wenn eine Schnittmenge der Abbilder des ersten geometrischen Körpers und des zweiten geometrischen Körpers existiert, der euklidische Abstand zwischen Sensor und erstem virtuellem Objekt geringer als der euklidische Abstand zwischen Sensor und zweitem virtuellem Objekt ist und die Größe der Schnittmenge einen vordefinierten Schwellwert überschreitet, wird das zweite virtuelle Objekt als perspektivisch verdeckt angenommen. Andernfalls wird das zweite virtuelle Objekt als perspektivisch nicht verdeckt angenommen.Method for simulating a sensor system with an imaging sensor and an image processing unit. A virtual test environment includes the sensor and a plurality of virtual objects, a number of which are recognizable by the image processing unit. When a first virtual object and a second virtual object recognizable by the image processing unit are detected by a sensor field of view of the sensor, a projection plane is spanned. A first geometric body resembling the first virtual object, the dimensions of which at least approximately coincide with the dimensions of the first virtual object, and a second geometric body having the same size as the second virtual object whose dimensions at least approximately coincide with the dimensions of the second virtual object projected in a central projection with the spatial coordinates of the sensor as an eye point on the projection plane. If an intersection of the images of the first geometric body and the second geometric body exists, the Euclidean distance between the sensor and the first virtual object is less than the Euclidean distance between the sensor and the second virtual object and the size of the intersection exceeds a predefined threshold, the second virtual object assumed to be hidden in perspective. Otherwise, the second virtual object is assumed to be unobstructed in perspective.

Description

Die Erfindung betrifft Sensorsimulation und virtuelles Testen.The invention relates to sensor simulation and virtual testing.

In der Entwicklung sicherheitskritischer eingebetteter Systeme ist es bekannt, diese Systeme in einer virtuellen Testumgebung auf korrekte Funktion zu überprüfen. In einem als Hardware in the Loop (HIL) bekannten Verfahren ist ein Prototyp eines eingebetteten Systems mit einem Simulationsrechner verbunden, der eine größtenteils virtuelle Testumgebung bereitstellt und das eingebettete Systems in harter Echtzeit mit mittels der virtuellen Testumgebung erzeugten Eingangsdaten versorgt. Umgekehrt kann der Simulationsrechner Steuersignale des eingebetteten Systems auslesen und diese bei der Berechnung des Zustands der virtuellen Testumgebung im jeweils nächsten Simulationszeitschritt berücksichtigen. In früheren Entwicklungsstadien ist es auch bekannt, statt eines prototypischen eingebetteten Systems nur dessen Software oder deren Programmlogik in eine virtuelle Testumgebung einzubinden. Solche vollständig virtuellen Testverfahren sind als Software in the Loop (SIL) oder Model in the Loop (MIL) bekannt und müssen nicht zwangsläufig in Echtzeit ablaufen. In der Automobilindustrie ist weiterhin ein Vehicle in the Loop (VIL) genanntes Verfahren bekannt, bei dem ein Prototyp des eingebetteten Systems in einem physischen Testfahrzeug verbaut auf einer Teststrecke oder einem Rollenprüfstand getestet wird, wobei das eingebettete System in harter Echtzeit mit mittels einer virtuellen Testumgebung erzeugten synthetischen Sensordaten versorgt wird.In the development of safety-critical embedded systems, it is known to check these systems for correct functioning in a virtual test environment. In a method known as Hardware in the Loop (HIL), an embedded system prototype is connected to a simulation computer that provides a largely virtual test environment and provides the embedded system with hard real-time input data generated by the virtual test environment. Conversely, the simulation computer can read control signals of the embedded system and take them into account in the calculation of the state of the virtual test environment in the respective next simulation time step. In earlier stages of development, it is also known to integrate only its software or its program logic in a virtual test environment instead of a prototypical embedded system. Such fully virtual test methods are known as Software in the Loop (SIL) or Model in the Loop (MIL) and do not necessarily have to be performed in real time. Also known in the automotive industry is a method called Vehicle in the Loop (VIL) in which a prototype of the embedded system is tested in a physical test vehicle mounted on a test track or chassis dynamometer, the embedded system in hard real-time using a virtual test environment supplied synthetic sensor data is supplied.

Einige eingebettete Systeme werten Sensordaten aus, die von Sensorsystemen mit bildgebenden Sensoren zugeliefert werden. Besondere Bedeutung haben derartige eingebettete Systeme in der Automobilindustrie im Zusammenhang fortgeschrittener Fahrassistenzsysteme (ADAS, Advanced Driving Assistance Systems) und des hochautomatisierten Fahrens (HAF). Unter bildgebenden Sensoren werden alle Sensoren verstanden, aus deren Sensordaten ein Bild der Umgebung des Sensors reproduzierbar ist, insbesondere RADAR-, LIDAR- und Ultraschallsensoren und weiterhin die optischen Sensoren von Kamerasystemen zur passiven Bilderfassung im sichtbaren oder nicht sichtbaren Lichtspektrum. Derartige Sensorsysteme können neben dem Sensor selbst auch eine Bildverarbeitungseinheit zur Auswertung der von dem Sensor zugelieferten Bilddaten umfassen. Die Bildverarbeitungseinheit kann als autonomes eingebettetes System ausgestaltet sein oder in das zu prüfende eingebettete System integriert sein.Some embedded systems evaluate sensor data that is supplied by sensor systems with imaging sensors. Of particular importance are such embedded systems in the automotive industry in the context of Advanced Driving Assistance Systems (ADAS) and Highly Automated Driving (HAF). By imaging sensors, all sensors are understood from the Sensor data an image of the environment of the sensor is reproducible, in particular RADAR, LIDAR and ultrasonic sensors and also the optical sensors of camera systems for passive image acquisition in the visible or non-visible light spectrum. Such sensor systems may include not only the sensor itself but also an image processing unit for evaluating the image data supplied by the sensor. The image processing unit can be designed as an autonomous embedded system or integrated into the embedded system to be tested.

Wenn eine virtuelle Testumgebung für die Prüfung eines eingebetteten Systems vorgesehen ist, das Eingangsdaten von einem Sensorsystem mit einem bildgebenden Sensor erwartet, muss die virtuelle Testumgebung eine Simulation des Sensorsystems umfassen. In einigen Anwendungsfällen, beispielsweise wenn die Bildverarbeitungseinheit kein Prüfling bzw. kein Teil des Prüflings ist, ist es zur Einsparung von Rechenaufwand sinnvoll, auf eine detaillierte Simulation des Sensors zu verzichten. Statt aus der virtuellen Testumgebung Bilddaten des Sensors zu berechnen, wird dem simulierten Sensor ein Sensorsichtfeld zugeordnet, beispielsweise ein vom Sensor ausgehendes kegelförmiges Sichtfeld mit begrenzter Reichweite, und aus einer Vielzahl von der virtuellen Testumgebung umfasster virtueller Objekte wird eine Anzahl virtueller Objekte als durch das Sensorsystem erkennbare virtuelle Objekte bestimmt. Wenn die Sensorsimulation beispielsweise für die Simulation einer Verkehrsschilderkennung vorgesehen ist, können alle der virtuellen Testumgebung zufügbaren virtuellen Verkehrsschilder als durch das Sensorsystem erkennbare virtuelle Objekte bestimmt werden. In einem Simulationslauf in der virtuellen Testumgebung würden dann in einer beispielhaften Anwendung alle virtuellen Verkehrsschilder, die von dem Sensorsichtfeld erfasst sind, in eine vorläufige Liste erkannter virtueller Objekte aufgenommen werden, während alle übrigen von dem Sensorsichtfeld erfassten virtuellen Objekte, beispielsweise Personen, Bäume, Gebäude, Fahrzeuge und Ampeln, von dem simulierten Sensorsystem grundsätzlich nicht erkannt werden, d.h. grundsätzlich nicht in die vorläufige Liste erkannter virtueller Objekte aufgenommen werden.If a virtual test environment is envisioned for testing an embedded system that expects input data from a sensor system with an imaging sensor, the virtual test environment must include a simulation of the sensor system. In some applications, for example, if the image processing unit is not a test piece or no part of the test object, it makes sense to save on computational effort to dispense with a detailed simulation of the sensor. Instead of computing image data from the sensor from the virtual test environment, a sensor field of view is associated with the simulated sensor, such as a limited range conical field of view from the sensor, and a plurality of virtual objects included in the virtual test environment become a number of virtual objects than by the sensor system identifiable virtual objects. If the sensor simulation is intended, for example, for the simulation of a traffic sign recognition, all the virtual traffic signs that can be added to the virtual test environment can be determined as virtual objects recognizable by the sensor system. In one simulation run in the virtual test environment, in one example application, all virtual road signs captured by the sensor field of view would then be included in a preliminary list of detected virtual objects, while all other virtual objects captured by the sensor field of view, such as persons, trees, buildings , Vehicles and traffic lights are basically not recognized by the simulated sensor system, that is basically not included in the preliminary list of detected virtual objects.

In der vorliegenden Beschreibung der Erfindung ist demnach mit einer Simulation eines Sensorsystems bevorzugt eine Simulation anhand eines einfachen Sensorsystemmodells gemeint, das lediglich das Verhalten des Sensorsystems oberflächlich imitiert, aber allenfalls in geringem Umfang physikalische oder technische Abläufe eines physischen Sensorsystems simuliert und insbesondere keine Berechnung synthetischer Bilddaten, die beispielsweise die von einem echten bildgebenden Sensor erzeugten Bilddaten nachbilden, umfasst. Derartige einfache Sensorsystemmodelle sind auch als Ground-Truth-Sensoren bekannt. Ein Vorteil dieser ist der geringe Rechenaufwand, der zu ihrer Ausführung nötig ist. Dadurch eignen sich Ground-Truth-Sensoren besonders zur Anwendung auf virtuelle Tests, die in harter Echtzeit durchgeführt werden, beispielsweise auf Hardware-in-the-Loop-Verfahren.In the present description of the invention, a simulation of a sensor system therefore preferably means a simulation based on a simple sensor system model which only superficially imitates the behavior of the sensor system, but at most simulates to a limited extent physical or technical processes of a physical sensor system and in particular no calculation of synthetic image data which, for example, emulate the image data generated by a real imaging sensor. Such simple sensor system models are also known as ground truth sensors. One advantage of this is the low computational effort that is necessary for their execution. This makes ground-truth sensors particularly suitable for use in virtual tests that are performed in hard real-time, such as hardware-in-the-loop techniques.

Ein grundsätzliches Problem bei der Implementierung von Ground-Truth-Sensoren ist die Berücksichtigung einer perspektivischen Verdeckung von durch das Sensorsystem erkennbaren virtuellen Objekten. Wie vorhergehend beschrieben bewertet ein Ground-Truth-Sensor zunächst alle virtuellen Objekte als erkannt, die von dem Sensorsichtfeld erfasst und als durch das Sensorsystem erkennbare Objekte bestimmt sind. Um das Sensorsystem realistisch zu simulieren, muss aber nachträglich geprüft werden, ob ein als erkannt gewertetes virtuelles Objekt für den Sensor tatsächlich sichtbar ist oder ob das virtuelle Objekt aus Sicht des Sensors zumindest teilweise durch ein anderes virtuelles Objekt verdeckt ist. Wenn das der Fall ist und die perspektivische Verdeckung ein gewisses Maß überschreitet, muss das virtuelle Objekt aus der vorläufigen Liste erkannter virtueller Objekte entfernt werden.A fundamental problem with the implementation of ground truth sensors is the consideration of a perspective concealment of virtual objects detectable by the sensor system. As previously described, a ground truth sensor first evaluates as all detected virtual objects detected by the sensor field of view and determined as objects recognizable by the sensor system. In order to realistically simulate the sensor system, however, it must subsequently be checked whether a virtual object deemed to be recognized is actually visible to the sensor or whether the virtual object is at least partially concealed by another virtual object from the perspective of the sensor. If this is the case and the perspective occlusion exceeds a certain extent, the virtual object must be removed from the preliminary list of detected virtual objects.

Aus dem Fachgebiet der Computergraphik sind zahlreiche Verfahren zur Erkennung perspektivisch verdeckter Flächen bekannt. Eine Auswahl ist beispielsweise in der Präsentation " Visibility and Hidden Surface Removal" von Torsten Möller offenbart (Teil der Vorlesung "CMPT 361: Introduction to Computer Graphics" der Simon Fraser University, Kanada , abrufbar im Internet). Einige davon beinhalten auch die Projektion einer dreidimensionalen Szene auf eine Projektionsebene. Ziel dieser bekannten Verfahren ist aber die Berechnung eines realistischen Bildes, und ihr hoher Rechenaufwand macht sie für Echtzeitanwendungen problematisch, zumal nach der Berechnung eines Sensorbildes gemäß einem der bekannten Verfahren noch evaluiert werden müsste, ob eine ermittelte perspektivische Verdeckung noch eine Erkennung des verdeckten Objekts durch das simulierte Sensorsystem zulassen würde.From the field of computer graphics, numerous methods for detecting perspective hidden surfaces are known. For example, a selection is in the presentation " Visibility and Hidden Surface Removal "by Torsten Möller (part of the lecture" CMPT 361: Introduction to Computer Graphics "by Simon Fraser University, Canada , available on the internet). Some of them also involve the projection of a three-dimensional scene onto a projection plane. The aim of this known method is but the calculation of a realistic image, and their high computational complexity makes them problematic for real-time applications, especially after the calculation of a sensor image according to one of the known methods would have to be evaluated whether a determined perspective occlusion would still allow detection of the hidden object by the simulated sensor system ,

Der Artikel " Fast Collision Detection Based on Projection Parallel Algorithm" von Xue-li Shen und Tao Li (2nd International Conference on Future Computer und Communication, IEEE, 2010 ) beschreibt ein Verfahren zur Kollisionserkennung zweier Körper in einem dreidimensionalen Raum durch Projektion auf drei orthogonale Projektionsebenen und Durchführung einer Kollisionserkennung auf jeder Projektionsebene.The item " Fast Collision Detection Based on Projection Parallel Algorithm "by Xue-li Shen and Tao Li (2nd International Conference on Future Computer and Communication, IEEE, 2010 ) describes a method for collision detection of two bodies in a three-dimensional space by projection on three orthogonal projection planes and performing collision detection on each projection plane.

Die EP 0 620 409 B1 offenbart eine Simulationsumgebung für die Entwicklung und den Test zielsuchender Raketen. Die Simulationsumgebung berechnet in harter Echtzeit ein synthetisches Bild für die bildgebenden Sensoren einer Rakete, und die Offenbarung umfasst ein Verfahren zur Erkennung perspektivisch verdeckter Flächen.The EP 0 620 409 B1 discloses a simulation environment for the development and testing of target seeking missiles. The simulation environment computes in hard real time a synthetic image for the imaging sensors of a missile, and the disclosure includes a method for detecting perspective hidden surfaces.

Vor diesem Hintergrund ist die Aufgabe der Erfindung, die Erkennung einer perspektivischen Verdeckung in einer Simulation eines Sensorsystems mit einem bildgebenden Sensor in einer virtuellen Testumgebung zu beschleunigen.Against this background, the object of the invention is to accelerate the detection of a perspective occlusion in a simulation of a sensor system with an imaging sensor in a virtual test environment.

Zur Lösung der Aufgabe wird ein nachfolgend beschriebenes Verfahren zur Simulation eines Sensorsystems vorgeschlagen. Das simulierte Sensorsystem umfasst dabei einen bildgebenden Sensor und eine Bildverarbeitungseinheit zur Erkennung von Objekten in dem von dem Sensor ausgegebenen Sensorbild. Die Simulation des Sensorsystems selbst ist bevorzugt ein Ground-Truth-Sensor und umfasst den bildgebenden Sensor und die Bildverarbeitungseinheit nur implizit.To solve the problem, a method described below for simulating a sensor system is proposed. The simulated sensor system comprises an imaging sensor and an image processing unit for detecting objects in the sensor image output by the sensor. The simulation of the sensor system itself is preferably a ground truth sensor and includes the imaging sensor and the image processing unit only implicitly.

Zur Anwendung des Verfahrens wird eine virtuelle Testumgebung eingesetzt, die eine Vielzahl virtueller Objekte umfasst und in der dem Sensor und jedem virtuellen Objekt jeweils Ortskoordinaten zugeordnet werden.For the application of the method, a virtual test environment is used, which comprises a plurality of virtual objects and in which the sensor and each virtual object are each assigned location coordinates.

Dem Sensor wird in der virtuellen Testumgebung ein Sensorsichtfeld zugeordnet, und eine Anzahl von Objekten aus der Vielzahl virtueller Objekte wird als durch das Sensorsystem erkennbare virtuelle Objekte bestimmt.The sensor is assigned a sensor field of view in the virtual test environment, and a number of objects of the plurality of virtual objects are determined as virtual objects detectable by the sensor system.

Auf der virtuellen Testumgebung wird ein Simulationslauf gestartet, in dessen Verlauf dem Sensor oder mindestens einem virtuellen Objekt zyklisch neue Ortskoordinaten in der virtuellen Testumgebung zugeordnet werden, und es wird zyklisch überprüft, ob zumindest ein virtuelles Objekt durch das Sensorsichtfeld erfasst ist.In the virtual test environment, a simulation run is started, in the course of which the sensor or at least one virtual object is cyclically assigned new location coordinates in the virtual test environment, and it is cyclically checked whether at least one virtual object is detected by the sensor field of view.

Wenn zumindest ein erstes virtuelles Objekt und ein zweites virtuelles Objekt durch das Sensorsichtfeld erfasst sind und das zweite virtuelle Objekt durch das Sensorsystem erkennbar ist, wird auf die nachfolgend beschriebene Weise eine Abschätzung der perspektivischen Verdeckung des zweiten Objekts durch das erste Objekt durchgeführt. Dazu wird in der virtuellen Testumgebung zunächst eine Projektionsebene aufgespannt, deren räumliche Orientierung so gewählt ist, dass sie für eine Zentralprojektion des ersten Objekts und des zweiten Objekts geeignet ist, wenn die Ortskoordinaten des Sensors als Augpunkt der Zentralprojektion verwendet werden. Eine Zentralprojektion ist als Projektion mit vom Augpunkt ausgehendem fächerförmigem Strahlengang zu verstehen, die auf der Projektionsebene ein Bild der projizierten Punkte erzeugt, wie sie ein am Augpunkt stehender Beobachter, konkret der Sensor, wahrnehmen würde.When at least a first virtual object and a second virtual object are detected by the sensor field of view and the second virtual object is recognizable by the sensor system, an estimation of the perspective obscuration of the second object by the first object is performed in the manner described below. For this purpose, in the virtual test environment, first a projection plane is spanned whose spatial orientation is selected such that it is suitable for a central projection of the first object and the second object if the spatial coordinates of the sensor are used as the eye point of the central projection. A central projection is to be understood as a projection with a fan-shaped beam path emanating from the eye point, which generates an image of the projected points on the projection plane, as would be perceived by an observer standing at the point of view, specifically the sensor.

Auf die Projektionsebene wird eine zumindest teilweise Zentralprojektion eines mit dem ersten Objekt ortsgleichen geometrischen Körpers mit den Ortskoordinaten des Sensors als Augpunkt durchgeführt, wobei die Abmessungen des unskalierten ersten geometrischen Körpers vollständig oder zumindest näherungsweise mit den Abmessungen des ersten Objekts übereinstimmen. Es ist unerheblich, ob der erste geometrische Körper in der virtuellen Testumgebung nativ vorhanden ist oder zur Durchführung der Zentralprojektion nach Bedarf erzeugt wird. Bei vollständiger Übereinstimmung der Abmessungen des ersten geometrischen Körpers und des ersten Objekts kann der erste geometrische Körper auch mit dem ersten Objekt identisch sein, also nur implizit in der virtuellen Testumgebung vorhanden sein. Bevorzugt ist der erste geometrische Körper ein Hüllkörper oder ein skalierter Hüllkörper des ersten Objekts. Unter einem Hüllkörper eines Objekts ist ein das Objekt vollständig umfassender geometrischer Körper mit gegenüber dem umfassten Objekt vereinfachter Geometrie zu verstehen, insbesondere ein Polyeder mit wenigen Vertices oder ein auf einfache Weise analytisch beschreibbarer Körper, beispielsweise eine Kugel oder ein Zylinder.An at least partial central projection of a geometrical body which is the same as the first object with the spatial coordinates of the sensor as eye point is performed on the projection plane, the dimensions of the unscaled first geometric body completely or at least approximately coinciding with the dimensions of the first object. It does not matter if the first geometric body is natively present in the virtual test environment or is generated to perform central projection as needed. When the dimensions of the first geometric body and the first object are in complete agreement, the first geometric body can also be aligned with the first Object to be identical, ie only implicitly exist in the virtual test environment. The first geometric body is preferably an enveloping body or a scaled enveloping body of the first object. An enveloping body of an object is to be understood as meaning a geometrical body completely encompassing the object with a simplified geometry relative to the encompassed object, in particular a polyhedron with few vertices or a body which can be analytically described in a simple manner, for example a sphere or a cylinder.

Wie viele Vertices ein Hüllkörper höchstens umfassen sollte bzw. wie einfach dessen Geometrie sein sollte, ist vom Anwendungsfall abhängig und kaum allgemeingültig festlegbar. Sofern das Verfahren zur Ausführung in Echtzeit vorgesehen ist, sollte die Geometrie der geometrischen Körper grundsätzlich derart gewählt sein, dass ein vollständiger Durchlauf einer Softwareimplementierung des Verfahrens innerhalb einer durch den Anwendungsfall vorgegebenen Zeitspanne, insbesondere innerhalb eines Simulationszeitschritts, so sicher gewährleistet ist, dass innerhalb eines vollständigen Simulationslaufs keine Übertretung der vorgegebenen Zeitspanne durch die Softwareimplementierung zu erwarten ist. Welche Geometrien der geometrischen Körper bzw. welche Anzahl von Vertices vertretbar sind, ist insbesondere von der Implementierung des Verfahrens, der Komplexität der virtuellen Testumgebung und der Simulation und von der Hardwareausstattung des das Verfahren durchführenden Computersystems abhängig.How many vertices an enveloping body should at most include, or how simple its geometry should be, depends on the application and is hardly universally determinable. If the method is provided for real-time execution, the geometry of the geometric bodies should in principle be selected such that a complete run of a software implementation of the method within a period of time specified by the application, in particular within a simulation time step, is so assured that within one complete simulation run, no violation of the predetermined time span by the software implementation is to be expected. Which geometries of the geometric bodies or which number of vertices are acceptable depends in particular on the implementation of the method, the complexity of the virtual test environment and the simulation, and on the hardware configuration of the computer system performing the method.

Unter einer teilweisen Zentralprojektion bzw. einer teilweise durchgeführten Zentralprojektion eines Objekts ist zu verstehen, dass nur eine unvollständige Auswahl von Punkten des Objekts in einer Zentralprojektion auf die Projektionsebene projiziert wird. In einigen Ausführungsformen wird aus den projizierten Punkten eine Menge auf der Projektionsebene gebildet, die näherungsweise mit einem aus einer vollständig durchgeführten Zentralprojektion des Objekts resultierenden Abbild übereinstimmt.A partial central projection or a partially performed central projection of an object means that only an incomplete selection of points of the object in a central projection is projected onto the projection plane. In some embodiments, from the projected points, an amount is formed on the projection plane that approximates an image resulting from a complete central projection of the object.

Auf zur Durchführung der Zentralprojektion des ersten geometrischen Körpers analoge Weise wird eine zumindest teilweise Zentralprojektion eines mit dem zweiten Objekt ortsgleichen zweiten geometrischen Körpers auf die Projektionsebene mit den Ortskoordinaten des Sensors als Augpunkt durchgeführt, wobei die Abmessungen des unskalierten zweiten geometrischen Körpers vollständig oder zumindest näherungsweise mit den Abmessungen des zweiten Objekts übereinstimmen.An analogous manner for carrying out the central projection of the first geometric body becomes an at least partial central projection of a with the second object the same second geometrical body is performed on the projection plane with the spatial coordinates of the sensor as an eye point, wherein the dimensions of the unscaled second geometric body completely or at least approximately coincide with the dimensions of the second object.

Die Projektion des ersten geometrischen Körpers erzeugt ein erstes Abbild auf der Projektionsebene, die Projektion des zweiten geometrischen Körpers erzeugt ein zweites Abbild auf der Projektionsebene. Nachfolgend wird geprüft, ob eine Schnittmenge des ersten Abbilds und des zweiten Abbilds existiert. In dem Fall, dass erstens eine Schnittmenge existiert, zweitens der euklidische Abstand zwischen Sensor und erstem Objekt geringer als der euklidische Abstand zwischen Sensor und zweitem Objekt ist und drittens die Größe der Schnittmenge in Relation zur Größe des zweiten Abbilds einen vordefinierten Schwellwert überschreitet, wird das zweite Objekt als geometrisch verdeckt gewertet, d.h. es wird davon ausgegangen, dass die Bildverarbeitungseinheit das zweite Objekt nicht erkennt, auch dann nicht, wenn das zweite Objekt aus Sicht des Sensors teilweise sichtbar ist, weil der Grad der perspektivischen Verdeckung für eine Erkennung des zweiten Objekts durch die Bildverarbeitungseinheit zu hoch ist. Eine Ermittlung der euklidischen Abstände erfolgt bevorzugt anhand der Ortskoordinaten des Sensors, des ersten Objekts und des zweiten Objekts.The projection of the first geometric body produces a first image on the projection plane, the projection of the second geometric body produces a second image on the projection plane. Subsequently, it is checked whether an intersection of the first image and the second image exists. Secondly, in the case where there exists an intersection, secondly the Euclidean distance between sensor and first object is less than the Euclidean distance between sensor and second object and thirdly the size of the intersection in relation to the size of the second image exceeds a predefined threshold value second object scored as geometrically obscured, ie it is assumed that the image processing unit does not recognize the second object, even if the second object is partially visible from the sensor's point of view, because the degree of perspective occlusion is too high for recognition of the second object by the image processing unit. A determination of the Euclidean distances is preferably based on the location coordinates of the sensor, the first object and the second object.

Ein euklidischer Abstand zwischen dem Sensor und einem Objekt kann anhand der Ortskoordinaten des Sensors und eines festgelegten Punktes des Objekts ermittelt werden, beispielsweise anhand des dem Sensor nächstliegenden Punktes des Objekts oder der Ortskoordinaten des Objekts.A Euclidean distance between the sensor and an object can be determined on the basis of the spatial coordinates of the sensor and a defined point of the object, for example based on the point of the object closest to the sensor or the spatial coordinates of the object.

In dem Fall, dass mindestens eine der vorgenannten Bedingungen nicht erfüllt ist, dass also entweder keine Schnittmenge existiert oder der euklidische Abstand zwischen Sensor und erstem Objekt größer oder gleich dem euklidischen Abstand zwischen Sensor und zweitem Objekt ist oder die Größe der Schnittmenge in Relation zur Größe des zweiten Abbilds den vordefinierten Schwellwert nicht überschreitet, wird das zweite Objekt als perspektivisch nicht verdeckt gewertet, d.h. es wird davon ausgegangen, dass die Bildverarbeitungseinheit das zweite Objekt erkennt, auch dann, wenn das zweite Objekt teilweise durch das erste Objekt perspektivisch verdeckt ist, weil der Grad der perspektivischen Verdeckung für eine Erkennung des zweiten Objekts durch die Bildverarbeitungseinheit hinreichend niedrig ist.In the event that at least one of the aforementioned conditions is not met, that is either no intersection exists or the Euclidean distance between the sensor and the first object is greater than or equal to the Euclidean distance between the sensor and the second object or the size of the intersection in relation to the size of the second image does not exceed the predefined threshold value, the second object is considered not to be hidden in perspective, ie it is assumed that that the image processing unit recognizes the second object, even if the second object is partially hidden in perspective by the first object, because the degree of perspective occlusion is sufficiently low for recognition of the second object by the image processing unit.

Die vorhergehend beschriebene Abschätzung einer perspektivischen Verdeckung kann bei Bedarf mehrfach auf jeweils unterschiedliche virtuelle Objekte durchgeführt werden, wenn neben dem ersten Objekt und dem zweiten Objekt weitere virtuelle Objekte durch das Sensorsichtfeld erfasst sind. Zur Auswertung durch den Prüfling oder durch das die virtuelle Testumgebung betreibende Computersystem wird ein Signal des Sensorsystems erzeugt, dem die Information entnehmbar ist, dass alle durch das Sensorsichtfeld erfassten und durch das Sensorsystem erkennbaren virtuellen Objekte, die als perspektivisch nicht verdeckt gewertet sind, von der Bildverarbeitungseinheit erkannt wurden und alle durch das Sensorsichtfeld erfassten und durch das Sensorsystem erkennbaren virtuellen Objekte, die als perspektivisch verdeckt gewertet sind, von der Bildverarbeitungseinheit nicht erkannt wurden.If necessary, the previously described estimation of a perspective occlusion can be performed multiple times on respectively different virtual objects if, in addition to the first object and the second object, further virtual objects are detected by the sensor field of view. For evaluation by the device under test or by the virtual test environment operating computer system, a signal of the sensor system is generated to which the information is removable, that all detected by the sensor field of view and detectable by the sensor system virtual objects that are not considered to be hidden from the perspective of the Image processing unit have been detected and all detected by the sensor field of view and recognizable by the sensor system virtual objects that are considered to be hidden in perspective, were not recognized by the image processing unit.

In einem möglichen Anwendungsfall bildet das Signal ein mögliches Signal eines realen Sensorsystems nach, insbesondere eines in Serie produzierten oder prototypischen Sensorsystems. In einem anderen möglichen Anwendungsfall bildet das Signal kein mögliches Signal eines realen Sensorsystems nach und wird beispielsweise zur Ansteuerung eines Prüfstands verwendet, der eingerichtet ist, einem realen bildgebenden Sensor die Existenz von Objekten innerhalb seines Sensorsichtfelds vorzutäuschen.In one possible application, the signal simulates a possible signal of a real sensor system, in particular a series-produced or prototype sensor system. In another possible application, the signal does not simulate a possible signal from a real sensor system and is used, for example, to drive a test bench that is set up to simulate the existence of objects within its sensor field of view to a real imaging sensor.

Ein Vorteil der Erfindung ist, dass sie eine schnelle und verlässliche Abschätzung der Erkennbarkeit eines virtuellen Objekts für ein bildverarbeitendes Sensorsystem ermöglicht, ohne dabei auf rechenaufwendige Verfahren aus der Computergraphik, beispielsweise Raytracing oder Z-Buffering, zurückzugreifen. Dadurch verringert das Verfahren auch den Hardwareaufwand für eine Simulation eines entsprechenden Sensorsystems, weil es ohne Anwendung eines Graphikprozessors (GPU, Graphics Processing Unit) durchführbar ist. Untersuchungen der Anmelderin haben ergeben, dass eine Softwareimplementierung eines erfindungsgemäßen Verfahrens verlässlich innerhalb einer Millisekunde durchlaufen kann. Das bedeutet, dass die Erfindung sich zur Anwendung auf ein Hardware-in-the-Loop-Verfahren eignet und das erfindungsgemäße Verfahren im Sinne eines Hardware-in-the-Loop-Verfahrens echtzeittauglich ist.An advantage of the invention is that it enables a fast and reliable estimation of the visibility of a virtual object for an image processing sensor system, without resorting to computationally expensive methods from computer graphics, for example ray tracing or Z-buffering. As a result, the method also reduces the hardware expenditure for a simulation of a corresponding sensor system, because it can be performed without the use of a graphics processor (GPU, Graphics Processing Unit). Investigations by the Applicant have shown that a software implementation of a method according to the invention can reliably run through within a millisecond. This means that the invention is suitable for application to a hardware-in-the-loop method and the method according to the invention is real-time capable in the sense of a hardware-in-the-loop method.

Vorteilhaft ist der Sensor in der virtuellen Testumgebung an einem virtuellen Automaten aufgehängt, wobei das Signal des Sensorsystems von einem zur Ansteuerung des virtuellen Automaten eingerichteten Steuersystem oder von einer zur Ansteuerung des virtuellen Automaten eingerichteten Steuersoftware überwacht wird. Das Steuersystem kann insbesondere ein Prüfling sein, beispielsweise ein prototypisches eingebettetes System zur Steuerung eines physischen Automaten, das anhand eines Sensorbildes Entscheidungen über die Steuerung des Automaten trifft. Entsprechend kann die Steuersoftware insbesondere eine prototypische, für die Installation auf einem Steuersystem zur Steuerung eines physischen Automaten vorgesehene Steuersoftware sein, oder eine in der Entwicklung befindliche Programmlogik, die für die spätere Aufbereitung zur Installation auf einem entsprechenden Steuersystem vorgesehen ist. Der virtuelle Automat ist besonders bevorzugt ein virtuelles automatisiertes Vehikel, wobei unter einem Vehikel ein beliebiges zur Fortbewegung aus eigener Kraft eingerichtetes technisches System zu verstehen ist. Unter einer Aufhängung des Sensors an einem virtuellen Automaten ist insbesondere zu verstehen, dass die Ortskoordinaten des Sensors und die räumliche Orientierung des Sensorsichtfelds durch die Ortskoordinaten und/oder die räumliche Orientierung und/oder einen Zustand des virtuellen Automaten eindeutig vorgegeben sind.Advantageously, the sensor is suspended in the virtual test environment on a virtual machine, wherein the signal of the sensor system is monitored by a control system set up to control the virtual machine or by a control software set up to control the virtual machine. In particular, the control system may be a device under test, for example a prototype embedded system for controlling a physical machine, which makes decisions about the control of the machine on the basis of a sensor image. Accordingly, the control software may be, in particular, a prototypical control software intended for installation on a control system for controlling a physical machine or a program logic under development intended for later preparation for installation on a corresponding control system. The virtual vending machine is particularly preferably a virtual automated vehicle, wherein a vehicle is to be understood as meaning any technical system set up to move on its own power. A suspension of the sensor on a virtual machine is to be understood in particular that the location coordinates of the sensor and the spatial orientation of the sensor field of view by the location coordinates and / or the spatial orientation and / or state of the virtual machine are clearly specified.

Zur weiteren Reduktion des Rechenaufwands ist es vorteilhaft, keine vollständige Projektion eines geometrischen Körpers auf die Projektionsebene durchzuführen, sondern nur eine Auswahl von Punkten des geometrischen Körpers auf die Projektionsebene zu projizieren und aus der von den Abbildern der ausgewählten Punkte gebildeten Punktwolke eine zweidimensionale Menge auf der Projektionsebene zu bilden, die näherungsweise dem Abbild des vollständig projizierten geometrischen Körpers entspricht und bevorzugt alle Punkte der Punktwolke umfasst, beispielsweise durch Bildung der konvexen Hülle der Punktwolke. Zur Projektion eines polyedrischen geometrischen Körpers wäre es beispielsweise möglich, alle Vertices oder eine Auswahl von Vertices des geometrischen Körpers zu projizieren. Besonders vorteilhaft werden ausschließlich Punkte eines geometrischen Körpers projiziert, deren Abbilder Elemente der konvexen Hülle des aus einer vollständigen Projektion des geometrischen Körpers resultierenden Abbilds sind. Ein numerisches Verfahren zur Ermittlung einer solchen Auswahl von Punkten ist in der Beschreibung der Figuren 4 bis 6 offenbart.To further reduce the computational effort, it is advantageous not to perform a complete projection of a geometric body on the projection plane, but to project only a selection of points of the geometric body on the projection plane and from the of the images The point cloud formed the selected point cloud to form a two-dimensional amount on the projection plane, which corresponds approximately to the image of the fully projected geometric body and preferably includes all points of the point cloud, for example by forming the convex hull of the point cloud. For example, to project a polyhedral geometric body, it would be possible to project all vertices or a selection of vertices of the geometric body. Particularly advantageous only points of a geometric body are projected, whose images are elements of the convex hull of resulting from a complete projection of the geometric body image. A numerical method for determining such a selection of points is in the description of FIG FIGS. 4 to 6 disclosed.

Die konvexe Hülle einer Menge von Punkten ist die kleinste konvexe Menge, die alle Punkte aus der Menge von Punkten umfasst. Eine Menge heißt konvex, wenn jede zwischen zwei Punkten der Menge gezogene Verbindungsgerade vollständig in der Menge enthalten ist. Ein Körper heißt konvex, wenn eine mit dem Körper deckungsgleiche Menge von Raumpunkten konvex ist.The convex hull of a set of points is the smallest convex set that includes all points from the set of points. A set is called convex if every connecting line drawn between two points of the set is completely contained in the set. A body is called convex if a set of spatial points congruent with the body is convex.

Zur Prüfung der Existenz einer Schnittmenge und zur Ermittlung der Größe der Schnittmenge in Relation zur Größe des zweiten Abbilds kann in einer Ausgestaltung der Erfindung ein bekanntes numerisches Verfahren zur Ausmessung von Flächen angewandt werden. Beispielsweise kann die Projektionsebene in hinreichend kleine Felder unterteilt werden, beispielsweise in Quadrate, Dreiecke oder Sechsecke. Die Erkennung der Existenz einer Schnittmenge und der Größenvergleich zum zweiten Abbild kann dann durch Zählung der Felder erfolgen, die zumindest teilweise sowohl innerhalb des ersten Abbilds als auch innerhalb des zweiten Abbilds bzw. die zumindest teilweise innerhalb des zweiten Abbilds liegen, und durch Vergleich der ermittelten Felderanzahlen.In order to test the existence of an intersection and to determine the size of the intersection in relation to the size of the second image, a known numerical method for the measurement of areas can be used in one embodiment of the invention. For example, the projection plane can be subdivided into sufficiently small fields, for example in squares, triangles or hexagons. The detection of the existence of an intersection and the size comparison to the second image can then take place by counting the fields that lie at least partially both within the first image and within the second image or at least partially within the second image, and by comparing the determined fields numbers.

Vorteilhaft wird auf eine Ausmessung von Flächen aber verzichtet, indem der Schwellwert für die Größe der Schnittmenge gleich null gesetzt ist und die Prüfung der Existenz einer Schnittmenge anhand einer Kollisionserkennung des ersten Abbilds und des zweiten Abbilds auf der Projektionsebene durchgeführt wird. In diesem letztgenannten Ausführungsbeispiel genügt also der bloße Nachweis der Existenz einer Schnittmenge des ersten Abbilds und des zweiten Abbilds, um den zweiten virtuellen Körper als verdeckt zu werten, gesetzt den Fall, der euklidische Abstand des ersten virtuellen Objekts zum Sensor ist geringer als der euklidische Abstand des zweiten virtuellen Objekts zum Sensor. Die Größe der Schnittmenge ist unerheblich. Das Verfahren wird dadurch erheblich beschleunigt, weil der bloße Nachweis der Existenz oder Nichtexistenz einer Schnittmenge bei entsprechend geschickter Implementierung des Verfahrens weniger Rechenschritte in Anspruch nimmt als die Ausmessung einer Fläche.Advantageously, however, a dimensioning of surfaces is dispensed with by setting the threshold value for the size of the intersection to zero and the examination of the existence of an intersection is carried out on the basis of a collision detection of the first image and of the second image on the projection plane. Thus, in this latter embodiment, the mere proof of the existence of an intersection of the first image and the second image to make the second virtual body concealed is sufficient; the Euclidean distance of the first virtual object to the sensor is less than the Euclidean distance of the second virtual object to the sensor. The size of the intersection is insignificant. The method is considerably accelerated because the mere verification of the existence or nonexistence of an intersection with correspondingly clever implementation of the method requires fewer calculation steps than the measurement of an area.

Zur Kollisionserkennung des ersten Abbilds und des zweiten Abbilds ist die Anwendung eines Gilbert-Johnson-Keerthi-Algorithmus, nachfolgend GJK-Algorithmus, vorteilhaft, wie er beispielsweise in dem Fachartikel " The Gilbert-Johnson-Keerthi Distance Algorithm" von Patrick Lindemann (geschrieben für das Media Informatics Proseminar on "Algorithms on Media Informatics", 2009 ) beschrieben ist.For collision detection of the first image and the second image, the use of a Gilbert-Johnson-Keerthi algorithm, hereinafter GJK algorithm, advantageous, as it is known, for example, in the technical article " The Gilbert-Johnson-Keerthi Distance Algorithm "by Patrick Lindemann (written for the Media Informatics Proseminar on" Algorithms on Media Informatics ", 2009 ) is described.

Das erste und das zweite Abbild kollidieren genau dann, wenn ihre Minkowski-Differenz den Ursprung eines auf der Projektionsebene definierten kartesischen Koordinatensystems umfasst. Der GJK-Algorithmus sieht vor, die Minkowski-Differenz des ersten Abbilds und des zweiten Abbilds zu bilden und durch wiederholte Definition eines Dreiecks in der Minkowski-Differenz, wobei sich das Dreieck in jedem Iterationsschritt mehr dem Ursprung annähert, zu überprüfen, ob die Minkowski-Differenz den Ursprung umfasst. Der GJK-Algorithmus ist ausschließlich auf konvexe Mengen anwendbar.The first and the second image collide if and only if their Minkowski difference comprises the origin of a Cartesian coordinate system defined on the projection plane. The GJK algorithm proposes to construct the Minkowski difference of the first image and the second image, and to check whether the Minkowski is repeated by defining a triangle in the Minkowski difference, with the triangle approximating the origin in each iteration step Difference includes the origin. The GJK algorithm is applicable only to convex sets.

Für einen schnellen Durchlauf des GJK-Algorithmus ist es vorteilhaft, wenn das erste Abbild und das zweite Abbild konvexe geschlossene Polygonzüge mit wenigen Vertices sind, sodass das erste Abbild und das zweite Abbild - und in der Folge deren Minkowski-Differenz - jeweils in eine kleine Anzahl von Dreiecken unterteilbar sind. Das kann dadurch sichergestellt werden, dass die geometrischen Körper als konvexe Polyeder mit wenigen Vertices ausgestaltet sind, wobei insbesondere vor der Durchführung der Projektion eines geometrischen Körpers eine Auswahl von Vertices des geometrischen Körper ermittelt wird, deren Abbilder Elemente der konvexen Hülle des Abbilds des geometrischen Körpers sind. Dabei wird jeweils nur die Auswahl von Vertices projiziert.For a fast pass of the GJK algorithm, it is advantageous if the first image and the second image are convex closed polygons with few vertices, so that the first image and the second image - and consequently their Minkowski difference - each into a small Number of triangles are divisible. This can be ensured by in that the geometric bodies are designed as convex polyhedra having few vertices, wherein, in particular, before performing the projection of a geometric body, a selection of vertices of the geometric body whose images are elements of the convex hull of the image of the geometric body is determined. Only the selection of vertices is projected.

Mittels einer Kollisionserkennung, beispielsweise des GJK-Algorithmus, ist die Existenz bzw. Nichtexistenz einer Schnittmenge des ersten Abbilds und des zweiten Abbilds nachweisbar. Eine Kollisionserkennung liefert aber im allgemeinen keine Information über die Größe einer existierenden Schnittmenge. Wenn, wie in den vorhergehend beschriebenen Ausführungsformen der Erfindung, der Schwellwert für die Größe der Schnittmenge gleich null gesetzt ist und für die Prüfung der Existenz einer Schnittmenge eine Kollisionserkennung angewandt wird, bewirkt jede perspektivische Verdeckung des zweiten Objekts durch das erste Objekt eine Bewertung des zweiten Objekts als perspektivisch verdeckt, unabhängig von dem Grad der perspektivischen Verdeckung.By means of collision detection, for example of the GJK algorithm, the existence or non-existence of an intersection of the first image and the second image can be detected. However, collision detection generally does not provide information about the size of an existing intersection. If, as in the previously described embodiments of the invention, the threshold for the size of the intersection is set equal to zero and collision detection is used for the existence of an intersection check, each perspective obscuration of the second object by the first object results in an evaluation of the second Object as perspective concealed, regardless of the degree of perspective occlusion.

In einigen Fällen entspricht das nicht dem Verhalten realer bildverarbeitender Sensorsysteme. Im allgemeinen ist damit zu rechnen, dass ein reales Sensorsystem, das zur Identifikation von Objekten in einem Sensorbild eingerichtet ist, ein für das Sensorsystem erkennbares, aber perspektivisch verdecktes Objekt erkennt, sofern der Grad der perspektivischen Verdeckung einen gewissen Toleranzwert nicht überschreitet, und dass das Sensorsystem das perspektivisch verdeckte Objekt nicht erkennt, wenn der Grad der perspektivischen Verdeckung den Toleranzwert überschreitet.In some cases this does not match the behavior of real image processing sensor systems. In general, it is to be expected that a real sensor system, which is set up for the identification of objects in a sensor image, detects an object that is recognizable but perspectively concealed for the sensor system, provided that the degree of perspective concealment does not exceed a certain tolerance value, and that Sensor system does not recognize the perspective hidden object when the degree of perspective occlusion exceeds the tolerance value.

Um dieses Verhalten bei Anwendung einer Kollisionserkennung nachzubilden, ist in einer Ausgestaltung der Erfindung vorgesehen, einen Toleranzwert für eine perspektivische Verdeckung eines für das Sensorsystem erkennbaren Objekts festzulegen, aus dem Toleranzwert einen Skalierungsfaktor zu berechnen und vor der Durchführung der Projektion zumindest den ersten geometrischen Körper oder den zweiten geometrischen Körper um den Skalierungsfaktor kleiner zu skalieren oder vor der Durchführung der Kollisionserkennung zumindest das erste Abbild oder das zweite Abbild um den Skalierungsfaktor kleiner zu skalieren. In der Beschreibung der Figur 7 ist ein beispielhafter Algorithmus zur Berechnung von Skalierungsfaktoren offenbart.In order to simulate this behavior when using a collision detection, it is provided in one embodiment of the invention to determine a tolerance value for a perspective masking of an object recognizable for the sensor system, to calculate a scaling factor from the tolerance value, and at least the first geometric body before the projection the second geometric body to scale the scaling factor smaller or to scale down at least the first image or the second image by the scale factor before performing the collision detection. In the description of Figure 7, an exemplary algorithm for calculating scaling factors is disclosed.

Im allgemeinen, insbesondere bei entsprechend geschickter Programmierung des Projektionsvorgangs oder der Kollisionserkennung, ist es nicht grundsätzlich notwendig, den Projektionsvorgang abzuschließen. Zwecks einer weiteren Beschleunigung des erfindungsgemäßen Verfahrens ist es in einer besonders vorteilhaften Ausgestaltung vorgesehen, schon während eines laufenden Projektionsvorgangs des ersten geometrischen Körpers oder des zweiten geometrischen Körpers, insbesondere wobei die Projektionen des ersten geometrischen Körpers und des zweiten geometrischen Körpers parallel durchgeführt werden, eine Kollisionserkennung anhand der Abbilder der bereits auf die Projektionsebene projizierten Punkte des ersten geometrischen Körpers und des zweiten geometrischen Körpers durchzuführen und die noch nicht abgeschlossenen Projektionen abzubrechen, wenn anhand der Abbilder der bereits projizierten Punkte eine Kollision erkannt wird oder eine Kollision ausgeschlossen wird.In general, especially with appropriately skilled programming of the projection process or the collision detection, it is not always necessary to complete the projection process. For a further acceleration of the method according to the invention, it is provided in a particularly advantageous embodiment, already during a current projection operation of the first geometric body or the second geometric body, in particular wherein the projections of the first geometric body and the second geometric body are performed in parallel, a collision detection perform on the basis of the images of the already projected on the projection plane points of the first geometric body and the second geometric body and abort the incomplete projections when based on the images of the already projected points a collision is detected or a collision is excluded.

Die beanspruchte Erfindung umfasst auch ein zur Durchführung eines erfindungsgemäßen Verfahrens eingerichtetes Computersystem sowie ein Computerprogrammprodukt zur Einrichtung eines Computersystems zur Durchführung eines erfindungsgemäßen Verfahrens.The claimed invention also encompasses a computer system configured to carry out a method according to the invention and a computer program product for setting up a computer system for carrying out a method according to the invention.

Nachfolgend wird anhand der Figuren ein vorteilhaftes Ausführungsbeispiel beschrieben, das die Erfindung näher erläutert. Es zeigen

Figur 1
ein zur Durchführung eines erfindungsgemäßen Verfahrens eingerichtetes Computersystem;
Figur 2
eine auf dem Computersystem hinterlegte virtuelle Testumgebung;
Figur 3
einen beispielhaften Projektionsvorgang eines ersten geometrischen Körpers und eines zweiten geometrischen Körpers;
Figur 4
ein Verfahren zur Auswahl eines zur Projektion vorgesehenen Punktes eines geometrischen Körpers;
Figur 5
ein erstes Beispiel für einen Abbruch eines Projektionsvorgangs nach Ausschluss einer Kollision;
Figur 6
ein zweites Beispiel für einen Abbruch eines Projektionsvorgangs nach Erkennung einer Kollision; und
Figur 7
beispielhafte Skalierungen des ersten oder des zweiten geometrischen Körpers.
Hereinafter, an advantageous embodiment will be described with reference to the figures, which explains the invention in more detail. Show it
FIG. 1
a computer system configured to carry out a method according to the invention;
FIG. 2
a virtual test environment stored on the computer system;
FIG. 3
an exemplary projection process of a first geometric body and a second geometric body;
FIG. 4
a method for selecting a point of projection of a geometric body;
FIG. 5
a first example of a termination of a projection process after exclusion of a collision;
FIG. 6
a second example of a termination of a projection process after detection of a collision; and
FIG. 7
exemplary scalings of the first or the second geometric body.

Die Abbildung der Figur 1 zeigt ein als Prüfstand eingerichtetes Computersystem TB für einen virtuellen Test eines als Fahrassistenzsystems ausgestalteten radargestützten Steuersystems UUT. Das Computersystem TB umfasst einen Simulationsrechner SI, einen Radarprüfstand RD und einen Hostrechner H. Der Simulationsrechner SI umfasst eine Prozessoreinheit C, auf der ein Echtzeitbetriebssystem (nicht dargestellt) und eine virtuelle Testumgebung VT hinterlegt sind, und eine Schnittstelleneinheit IN für den Austausch von Daten zwischen der virtuellen Testumgebung VT und der Peripherie des Simulationsrechners SI. Auf dem Hostrechner H hinterlegt ist ein Computerprogrammprodukt zur Einrichtung der virtuellen Testumgebung VT und zur Hinterlegung der virtuellen Testumgebung VT auf der Prozessoreinheit C, außerdem eine Bediensoftware zur Überwachung und Ansteuerung der virtuellen Testumgebung VT auf der Prozessoreinheit C während eines Simulationslaufs der virtuellen Testumgebung VT.The picture of the FIG. 1 shows a set up as a test computer system TB for a virtual test designed as a driver assistance system radar-based control system UUT. The computer system TB comprises a simulation computer SI, a radar test bench RD and a host computer H. The simulation computer SI comprises a processor unit C, on which a real-time operating system (not shown) and a virtual test environment VT are stored, and an interface unit IN for exchanging data between the virtual test environment VT and the periphery of the simulation computer SI. Deposited on the host computer H is a computer program product for setting up the virtual test environment VT and for storing the virtual test environment VT on the processor unit C, as well as operating software for monitoring and activating the virtual test environment VT on the processor unit C during a simulation run of the virtual test environment VT.

Das Computersystem TB umfasst als Prüfling das radargestützte Steuersystem UUT mit einer Sende-Empfangs-Einheit TR, einem ersten Steuergerät E1 und einem zweiten Steuergerät E2. Die Sende-Empfangs-Einheit TR ist eingerichtet, um einen Radarpuls RS auszusenden, mittels eines bildgebenden Radarsensors Radarechos RE des Radarpulses RS zu empfangen und anhand der Radarechos RE ein Sensorbild einer Umgebung der Sende-Empfangs-Einheit TR zu erstellen. Das erste Steuergerät E1 umfasst eine Bildverarbeitungseinheit zur Erkennung von Objekten in dem Sensorbild und ist außerdem eingerichtet, anhand der erkannten Objekte eine Beschreibung der Umgebung der Sende-Empfangs-Einheit zu erstellen. Das zweite Steuergerät E2 ist eingerichtet, die Beschreibung der Umgebung einzulesen, auszuwerten und anhand der Beschreibung der Umgebung ein virtuelles automatisiertes Vehikel VE in der virtuellen Testumgebung VT anzusteuern.The computer system TB includes as a DUT the radar-based control system UUT with a transceiver unit TR, a first controller E1 and a second controller E2. The transceiver unit TR is set up to emit a radar pulse RS, to receive it by means of an imaging radar sensor radar echo RE of the radar pulse RS and to create a sensor image of an environment of the transceiver unit TR on the basis of the radar returns RE. The first control device E1 comprises an image processing unit for detecting objects in the sensor image and is also set up to use the detected objects to create a description of the environment of the transceiver unit. The second control unit E2 is set up to read in the description of the environment, to evaluate it and, based on the description of the environment, to control a virtual automated vehicle VE in the virtual test environment VT.

Der Radarprüfstand RD umfasst eine Anzahl auf Kreisbögen bewegbarer Radarsender T, die zur Aussendung von Radarpulsen zur Simulation von Radarechos RE eingerichtet sind. Der Simulationsrechner SI ist eingerichtet, um den Radarprüfstand RD anzusteuern. Der Simulationsrechner positioniert dabei die Radarsender T und stimmt die simulierten Radarechos RE zeitlich derart ab, dass der Radarprüfstand RD Radarechos RE von virtuellen Objekten in der virtuellen Testumgebung auf einen von der Sende-Empfangs-Einheit TR ausgesendeten Radarpuls nachbildet.The radar test rig RD comprises a number of movable radar transmitters T arranged on circular arcs which are set up to emit radar pulses for the simulation of radar echoes RE. The simulation computer SI is set up to control the radar test stand RD. The simulation computer positions the radar transmitter T and adjusts the simulated radar returns RE in time such that the radar test rig RD emulates radar returns RE of virtual objects in the virtual test environment to a radar pulse emitted by the transceiver unit TR.

Die Abbildung der Figur 2 zeigt eine beispielhafte Momentaufnahme aus der virtuellen Testumgebung VT. Die virtuelle Testumgebung umfasst das von dem zweiten Steuergerät E2 angesteuerte virtuelle automatisierte Vehikel VE auf einer virtuellen Straße R und eine Vielzahl weiterer virtueller Objekte O3, ..., O10. Die virtuellen Objekte umfassen beispielhaft Fahrzeuge O3, O4, O9, O10, Gebäude O5, Bäume O6, O7 und Verkehrsschilder O8. Jedem virtuellen Objekt O3, ..., O10 sind statische oder veränderliche Ortskoordinaten in der virtuellen Testumgebung VT zugeordnet.The picture of the FIG. 2 shows an exemplary snapshot from the virtual test environment VT. The virtual test environment comprises the virtual automated vehicle VE driven by the second control device E2 on a virtual road R and a plurality of further virtual objects O3,..., O10. The virtual objects include, for example, vehicles O3, O4, O9, O10, building O5, trees O6, O7 and traffic signs O8. Each virtual object O3,..., O10 is assigned static or variable location coordinates in the virtual test environment VT.

Ein Sensor S (verdeckt) ist an der Frontseite des virtuellen automatisierten Vehikels VE aufgehängt. Der Sensor S ist Teil einer Simulation eines Sensorsystems, das neben dem Sensor S auch eine Bildverarbeitungseinheit zur Identifikation von Objekten umfasst. Dem Sensor S ist ein pyramidenförmiges, vom Sensor S ausgehendes Sensorsichtfeld FV zugeordnet, dessen räumliche Orientierung durch die Ortskoordinaten und die räumliche Orientierung des virtuellen automatisierten Vehikels VE vorgegeben ist. Zumindest eine Untermenge der in der virtuellen Testumgebung VT vorhandenen Objekte wird als durch das Sensorsystem erkennbare Objekte bestimmt. Alle durch das Sensorsystem erkennbaren Objekte O1, ..., O8, die durch das Sensorsichtfeld FV erfasst sind, werden in eine vorläufige Liste erkannter virtueller Objekte aufgenommen. Für alle in der vorläufigen Liste aufgelisteten Objekte wird eine Überprüfung auf perspektivische Verdeckung durchgeführt, und alle als perspektivisch verdeckt gewerteten Objekte werden aus der vorläufigen Liste entfernt. Die nach Abschluss der Überprüfungen auf perspektivische Verdeckung noch aufgelisteten Objekte bilden eine Liste erkannter Objekte, und die virtuelle Testumgebung VT erzeugt ein Signal des Sensorsystems, dem die in der Liste erkannter Objekte aufgelisteten Objekte entnehmbar sind.A sensor S (hidden) is suspended on the front of the virtual automated vehicle VE. The sensor S is part of a simulation of a sensor system, which in addition to the sensor S also includes an image processing unit for the identification of objects. The sensor S is assigned a pyramid-shaped sensor field FV emanating from the sensor S, the spatial orientation of which is predetermined by the location coordinates and the spatial orientation of the virtual automated vehicle VE. At least a subset of the objects present in the virtual test environment VT is determined as objects recognizable by the sensor system. All objects O1,..., O8 recognizable by the sensor system, detected by the sensor field of view FV are included in a preliminary list of detected virtual objects. For all objects listed in the preliminary list, a check for perspective occlusion is performed, and all objects considered to be perspectively obscured are removed from the preliminary list. The objects still listed after completion of the checks for perspective occlusion form a list of detected objects, and the virtual test environment VT generates a signal of the sensor system, from which the objects listed in the list of detected objects are removable.

Die genaue Ausgestaltung des Signals des Sensorsystems kann je nach Anwendungsfall unterschiedlich sein. Das Signal kann weitere Informationen über die aufgelisteten Objekte tragen, beispielsweise deren absolute oder zum Sensor S relative Ortskoordinaten. Das Signal kann beispielsweise ein mögliches Signal eines echten Sensorsystems nachbilden und über eine Schnittstelleneinheit IN zur Auswertung durch ein Steuersystem UUT nach außen geführt werden. In dem in den Figuren 1 und 2 dargestellten Ausführungsbeispiel bildet das Signal kein Signal eines echten Sensorsystems nach und wird nicht nach außen geführt, sondern von dem Simulationsrechner SI zur Ansteuerung des Radarprüfstand RD ausgewertet.The exact configuration of the signal of the sensor system may vary depending on the application. The signal may carry further information about the listed objects, for example their absolute or relative to the sensor S location coordinates. By way of example, the signal can simulate a possible signal of a real sensor system and be led out to the outside via an interface unit IN for evaluation by a control system UUT. In the in the FIGS. 1 and 2 illustrated embodiment, the signal does not detect a signal of a real sensor system and is not led to the outside, but evaluated by the simulation computer SI for controlling the radar test bench RD.

In dem vorliegend beschriebenen Ausführungsbeispiel sind alle virtuellen Objekte O3, ..., O10 in der virtuellen Testumgebung VT durch das Sensorsystem erkennbar. In anderen Ausführungsbeispielen sind einige der in der virtuellen Testumgebung VT vorhandenen virtuellen Objekte durch das Sensorsystem nicht erkennbar. Grundsätzlich werden nur durch das Sensorsystem erkennbare Objekte in die vorläufige Liste erkennbarer Objekte aufgenommen. Vorteilhaft sind aber auch durch das Sensorsystem nicht erkennbare Objekte in der Lage, durch das Sensorsystem erkennbare Objekte perspektivisch zu verdecken.In the exemplary embodiment described here, all virtual objects O3,..., O10 in the virtual test environment VT can be recognized by the sensor system. In other embodiments, some of the virtual objects present in the virtual test environment VT are not recognizable by the sensor system. In principle, only objects recognizable by the sensor system are included in the preliminary list of recognizable objects. Advantageously, however, objects that can not be detected by the sensor system are also able to cover objects that can be recognized by the sensor system in a perspective manner.

Jedem Objekt O1, ..., O10 ist in der virtuellen Testumgebung VT als Hüllkörper ein Hüllquader B1, B2 zugeordnet, in der Fachwelt als Bounding Box bezeichnet.Each object O1,..., O10 in the virtual test environment VT is assigned an envelope cuboid B1, B2 as an enveloping body, referred to in the art as a bounding box.

Der Radarprüfstand RD soll nur Radarechos RE von Objekten O3, ..., O10 in der virtuellen Testumgebung VT nachbilden, die aus Sicht des Sensors S perspektivisch nicht verdeckt sind bzw. deren perspektivische Verdeckung einen Toleranzwert unterschreitet, sodass das erste Steuergerät E1 ein entsprechend perspektivisch verdecktes physisches Objekt als eigenständiges Objekt erkennen würde. In der Momentaufnahme, die in der Figur 2 dargestellt ist, sind drei Fahrzeuge O3, O9, O10, ein Gebäude O5, ein Baum O7 und ein Verkehrsschild O8 durch das Sensorsichtfeld FV erfasst und deshalb in die vorläufige Liste erkannter Objekte aufgenommen. Das Fahrzeug O10 ist aber durch das Fahrzeug O9 perspektivisch verdeckt, das Verkehrsschild O8 ist durch das Fahrzeug O9 teilweise perspektivisch verdeckt und das Fahrzeug O3 ist durch das Gebäude O5 teilweise perspektivisch verdeckt.The radar test stand RD should emulate only radar echoes RE of objects O3,..., O10 in the virtual test environment VT, which are not concealed in perspective from the perspective of the sensor S or whose perspective concealment falls below a tolerance value, so that the first control device E1 has a corresponding perspective view would recognize a hidden physical object as a stand-alone object. In the snapshot taken in the FIG. 2 is illustrated, three vehicles O3, O9, O10, a building O5, a tree O7 and a road sign O8 are detected by the sensor field of view FV and therefore included in the preliminary list of detected objects. However, the vehicle O10 is hidden in perspective by the vehicle O9, the traffic sign O8 is partially hidden in perspective by the vehicle O9, and the vehicle O3 is partially hidden in perspective by the building O5.

Die nachfolgend beschriebenen Figuren stellen ein erfindungsgemäßes Verfahren zur Abschätzung einer perspektivischen Verdeckung dar.The figures described below represent a method according to the invention for estimating a perspective occlusion.

Die Abbildung der Figur 3 zeigt eine dreidimensionale Szene in der virtuellen Testumgebung VT mit dem Sensor S, einem ersten Objekt O1 in einem ersten Hüllquader B1 und einem zweiten Objekt O2 in einem zweiten Hüllquader B2. Das erste Objekt O1 und das zweite Objekt O2 seien beide von dem Sensorsichtfeld FV erfasst und in die vorläufige Liste erkannter Objekte aufgenommen. Zunächst wird anhand der Ortskoordinaten des ersten Objekts O1 und der Ortskoordinaten des Sensors S1 der euklidische Abstand des ersten Objekts O1 zum Sensor ermittelt, und anhand der Ortskoordinaten des zweiten Objekts O2 und der Ortskoordinaten des Sensors S wird der euklidische Abstand des zweiten Objekts O2 zum Sensor ermittelt. Die euklidischen Abstände werden verglichen und für das weiter vom Sensor S entfernte Objekt wird eine perspektivische Verdeckung durch das näher am Sensor S liegende Objekt aus Sicht des Sensors S geprüft. Beispielhaft wird geprüft, ob das zweite Objekt O2 durch das erste Objekt O1 aus Sicht des Sensors S perspektivisch verdeckt ist.The picture of the FIG. 3 shows a three-dimensional scene in the virtual test environment VT with the sensor S, a first object O1 in a first envelope cuboid B1 and a second object O2 in a second envelope cuboid B2. The first object O1 and the second object O2 are both detected by the sensor field of view FV and included in the preliminary list of detected objects. First, the Euclidean distance of the first object O1 to the sensor is determined based on the location coordinates of the first object O1 and the location coordinates of the sensor S1, and based on the location coordinates of the second object O2 and the location coordinates of the sensor S, the Euclidean distance of the second object O2 becomes the sensor determined. The Euclidean distances are compared, and for the object farther from the sensor S, a perspective occlusion is checked by the object closer to the sensor S as viewed by the sensor S. By way of example, it is checked whether the second object O2 is hidden in perspective by the first object O1 from the perspective of the sensor S.

Dazu wird eine Projektionsebene P aufgespannt, auf der ein zweiachsiges lokales Koordinatensystem CS definiert ist, und der erste Hüllquader B1 und der zweite Hüllquader B2 werden zumindest teilweise auf die Projektionsebene P projiziert, wobei für die Projektion eine Zentralprojektion mit den Ortskoordinaten des Sensors S als Augpunkt angewandt wird. Da die Hüllquader B1, B2 konvexe Körper sind, sind auch deren Abbilder I1, I2 auf der Projektionsebene konvex. Die Projektion des ersten Hüllquader B1 geschieht derart, dass vor Durchführung der Projektion Vertices des ersten Hüllquaders B1 ermittelt werden, deren Abbilder auf der Projektionsebene P die Vertices des ersten Abbildes I1 des ersten Hüllquaders B1 sind. Ein numerisches Verfahren zur Ermittlung der entsprechenden Vertices ist nachfolgend in der Beschreibung der Figur 4 offenbart. Die Projektion aller sechs aus Sicht des Sensors S sichtbaren Vertices des ersten Hüllquaders B1 und die Bildung der konvexen Hülle der Abbilder der projizierten Vertices würde ein exaktes Abbild I1 des ersten Hüllquaders B1 ergeben.For this purpose, a projection plane P is spanned, on which a biaxial local coordinate system CS is defined, and the first envelope block B1 and the second envelope cuboid B2 are at least partially projected onto the projection plane P, with a central projection with the spatial coordinates of the sensor S being used as an eye point for the projection. Since the envelope cubes B1, B2 are convex bodies, their images I1, I2 on the projection plane are also convex. The projection of the first envelope cuboid B1 takes place in such a way that, before carrying out the projection, vertices of the first envelope quadrant B1 are determined whose images on the projection plane P are the vertices of the first image I1 of the first envelope quadrant B1. A numerical method for determining the corresponding vertices is described below in the description of FIG FIG. 4 disclosed. The projection of all six vertices visible from the perspective of the sensor S of the first envelope squiggle B1 and the formation of the convex envelope of the images of the projected vertices would result in an exact image I1 of the first envelope squared circle B1.

Auf gleiche Weise wird auf der Projektionsebene P ein zweites Abbild I2 des zweiten Hüllquaders B2 erstellt. Anstelle von Hüllquadern sind auch andere Hüllkörper mit anderer Geometrie verwendbar, deren Abbilder beispielsweise größere Übereinstimmung mit den Abbildern der durch die Hüllkörper eingehüllten virtuellen Objekte aufweisen.In the same way, a second image I2 of the second envelope square B2 is created on the projection plane P. Instead of Hüllquadern other enveloping bodies with different geometry can be used, the images of which, for example, have greater conformity with the images of the enveloped by the enveloping virtual objects.

Mittels eines GJK-Algorithmus wird eine Kollisionserkennung des ersten Abbilds I1 und des zweiten Abbilds I1 durchgeführt. Eine Kollision liegt genau dann vor, wenn eine Schnittmenge des ersten Abbilds I1 und des zweiten Abbilds I2 existiert, und die Existenz einer Schnittmenge wird als perspektivische Verdeckung des zweiten Objekts O2 durch das erste Objekts O1 gewertet. Der GJK-Algorithmus sieht vor, zunächst die Minkowski-Differenz des ersten Abbilds I1 und des zweiten Abbilds I2 in dem lokalen Koordinatensystem CS zu bilden. Die Minkowski-Differenz Σ zweier Mengen A, B ist die Menge A B = a b | a A , b B ,

Figure imgb0001
also die Menge, die durch Subtraktion jedes Elements von B von jedem Element von A entsteht. Eine Schnittmenge von A und B existiert genau dann, wenn der Ursprung ein Element von Σ ist. Der GJK-Algorithmus sieht vor, durch eine Zerlegung der Minkowski-Differenz Σ in Dreiecke zu überprüfen, ob der Ursprung des lokalen Koordinatensystem CS ein Element der Minkowski-Differenz Σ des ersten Abbilds I1 und des zweiten Abbilds I2 ist. Durch die Verwendung polyedrischer Hüllkörper für das erste Objekt O1 und das zweite Objekt O2 mit nur wenigen Vertices sind das erste Abbild I1 und das zweite Abbild I2, und in der Folge auch deren Minkowski-Differenz Σ, Polygonzüge mit wenigen Vertices, sind also in eine geringe Anzahl von Dreiecken (Simplexe) zerlegbar. Dadurch ist ein schneller Durchlauf des GJK-Algorithmus begünstigt.A collision detection of the first image I1 and the second image I1 is performed by means of a GJK algorithm. A collision exists if and only if an intersection of the first image I1 and the second image I2 exists, and the existence of an intersection is evaluated as perspective concealment of the second object O2 by the first object O1. The GJK algorithm proposes to first form the Minkowski difference of the first image I1 and the second image I2 in the local coordinate system CS. The Minkowski difference Σ of two sets A, B is the set Σ A B = a - b | a A . b B .
Figure imgb0001
that is, the set produced by subtracting each element of B from each element of A. An intersection of A and B exists if and only if the origin is an element of Σ. The GJK algorithm sees to check whether the origin of the local coordinate system CS is an element of the Minkowski difference Σ of the first image I1 and the second image I2 by a decomposition of the Minkowski difference Σ into triangles. By using polyhedral enveloping bodies for the first object O1 and the second object O2 with only a few vertices, the first image I1 and the second image I2, and consequently also their Minkowski difference Σ, are polygons with few vertices, ie they are in one small number of triangles (simplexes) can be dismantled. This promotes a faster run of the GJK algorithm.

Die Abbildung der Figur 3 zeigt allein zur Veranschaulichung des Projektionsvorgangs jeweils eine vollständige Projektion des ersten Hüllquaders B1 und B2. Tatsächlich ist vorgesehen, beide Hüllquader B1, B2 parallel zu projizieren, schon während des Projektionsvorgangs die Minkowski-Differenz der bereits projizierten Punktwolken der Vertices beider Hüllkörper B1, B2 zu bilden oder teilweise zu bilden und den Projektionsvorgang abzubrechen, sobald anhand der Abbilder der bereits projizierten Vertices bzw. Punkte eine Kollision des ersten Abbilds I1 und des zweiten Abbilds I2 erkannt oder ausgeschlossen wird. Dieser Aspekt der Erfindung wird in den nachfolgenden Beschreibungen näher erläutert.The picture of the FIG. 3 For illustration of the projection process alone, a complete projection of the first envelope squares B1 and B2 is shown in each case. In fact, it is provided to project both envelope cuboids B1, B2 in parallel, already during the projection process, to form or partially form the Minkowski difference of the already projected point clouds of the vertices of both enveloping bodies B1, B2 and to cancel the projection process, as soon as the images of the already projected Vertices or points a collision of the first image I1 and the second image I2 is detected or excluded. This aspect of the invention will be explained in more detail in the following descriptions.

Die Abbildung der Figur 4 skizziert einen Suchalgorithmus zur Bestimmung einer zur Projektion vorgesehenen Auswahl von Punkten eines Hüllkörpers am Beispiel des zweiten Hüllquaders B2.The picture of the FIG. 4 outlines a search algorithm for determining a projection of the selection of points of an enveloping body using the example of the second envelope quad B2.

Zunächst wird eine parallel zur Projektionsebene P liegende Initialsuchrichtung SD1 bestimmt (Regeln zur Auswahl der Initialsuchrichtung werden in den Beschreibungen der Figuren 5 und 6 vorgestellt) und anhand der Initialsuchrichtung SD1 eine Suchebene SP aufgespannt, die folgende Bedingungen erfüllt:

  • Die Suchebene SP liegt orthogonal zur Projektionsebene P, und
  • die Suchebene SP liegt parallel zur Suchrichtung SD1.
First, an initial search direction SD1 lying parallel to the projection plane P is determined (rules for selecting the initial search direction are described in the descriptions of FIG Figures 5 and 6 introduced) and based on the Initialsuchrichtung SD1 spanned a search plane SP, which meets the following conditions:
  • The search plane SP is orthogonal to the projection plane P, and
  • the search plane SP is parallel to the search direction SD1.

Der Suchalgorithmus umfasst die folgenden Schritte:

  1. 1) Suche einen ersten Punkt P1 des zweiten Hüllquaders, der bezogen auf die Suchrichtung SD1 am weitesten außen liegt.
    Der erste Punkt P1 lässt sich gleichbedeutend auch als der Punkt definieren, auf dem eine Fläche, deren Normalenvektor parallel zur Suchrichtung SD1 liegt, aufliegen würde, sodass die Fläche nur einen einzigen Schnittpunkt mit dem zweiten Hüllquader B2 umfasst und nach einer beliebig kleinen Verschiebung in Suchrichtung SD1 keinen Schnittpunkt mit dem zweiten Hüllquader B2 mehr aufweisen würde.
  2. 2) Ermittle den Verbindungsvektor V vom Augpunkt, d.h. den Ortskoordinaten des Sensors S, zum ersten Punkt P1.
  3. 3) Bilde eine neue Suchrichtung SD2, die parallel zur Suchebene SP und orthogonal zum Verbindungsvektor V liegt und deren Skalarprodukt mit der alten Suchrichtung SD1 positiv ist, um einen zweiten Punkt P2 zu suchen, der bezogen auf die neue Suchrichtung SD2 am weitesten außen liegt.
  4. 4) Wiederhole die Schritte 1) bis 3), bis der Abstand zwischen dem im aktuellen Iterationsschritt gefundenen Punkt und dem im vorhergehenden Iterationsschritt gefundenen Punkt einen Toleranzwert unterschreitet.
The search algorithm includes the following steps:
  1. 1) Find a first point P1 of the second envelope squared closest to the search direction SD1.
    The first point P1 can be synonymously defined as the point at which a surface whose normal vector is parallel to the search direction SD1 would rest, so that the surface comprises only a single intersection with the second envelope cuboid B2 and after any small shift in the search direction SD1 would have no intersection with the second envelope cuboid B2 more.
  2. 2) Determine the connection vector V from the eye point, ie the location coordinates of the sensor S, to the first point P1.
  3. 3) Create a new search direction SD2 that is parallel to the search plane SP and orthogonal to the connection vector V and whose scalar product is positive with the old search direction SD1 to search for a second point P2 that is outermost with respect to the new search direction SD2.
  4. 4) Repeat steps 1) to 3) until the distance between the point found in the current iteration step and the point found in the previous iteration step falls below a tolerance value.

In dem in der Figur 4 dargestellten Beispiel würde anhand des beschriebenen Suchalgorithmus der zweite Punkt P2 als zur Projektion vorgesehener Punkt des zweiten Hüllquaders B2 ermittelt werden. Ein nachfolgender Suchlauf mit in Gegenrichtung zur Suchrichtung SD1 liegender Initialsuchrichtung würde einen dritten Punkt P3 als zur Projektion vorgesehenen Punkt ermitteln. Grundsätzlich kann der Suchalgorithmus beliebig häufig mit wechselnden Suchrichtungen durchgeführt werden. Jeder Suchlauf führt zur Ermittlung eines Randpunktes des zweiten Hüllquaders B2, der aus Sicht des Sensors S perspektivisch weit außen liegt und bei einer vollständigen Zentralprojektion des zweiten Hüllquader B2 mit den Ortskoordinaten des Sensors S als Augpunkt zur konvexen Hülle des Abbildes des zweiten Hüllquaders B2 gehören würde.In the in the FIG. 4 In the example shown, the second point P2 would be determined as the point of the second envelope square B2 provided for projection on the basis of the described search algorithm. A subsequent search with an initial search direction lying in the opposite direction to the search direction SD1 would determine a third point P3 as the point to be projected. In principle, the search algorithm can be performed as often as desired with changing search directions. Each search leads to the determination of an edge point of the second envelope square B2, which is far outward from the perspective of the sensor S and would belong to the convex envelope of the image of the second envelope square B2 in a complete central projection of the second envelope cuboid B2 with the location coordinates of the sensor S ,

Durch mehrfache Ausführung des Suchalgorithmus mit unterschiedlichen Initialsuchrichtungen wird eine Auswahl von Punkten P2, P3 des zweiten Hüllquaders B2 ermittelt, und die Projektion des zweiten Hüllquaders wird durchgeführt, indem die Auswahl von Punkten P2, P3 in einer Zentralprojektion mit den Ortskoordinaten des Sensors S als Augpunkt auf die Projektionsebene P projiziert wird.By multiple execution of the search algorithm with different initial search directions, a selection of points P2, P3 of the second envelope square B2 is determined, and the projection of the second envelope square is performed by selecting points P2, P3 in a central projection with the location coordinates of the sensor S as an eye point is projected onto the projection plane P.

Sofern die Auswahl von Punkten P2, P3 hinreichend umfangreich ist, entspricht das Abbild I2 exakt dem tatsächlichen Abbild des zweiten Hüllkörpers, wie es sich aus einer vollständig durchgeführten Zentralprojektion ergeben würde. Der Suchalgorithmus ist auf beliebige Hüllkörper anwendbar, auch auf nichtpolyedrische Hüllkörper, beispielsweise zylindrische Hüllkörper, wobei die Hüllkörper vorteilhaft konvexe Hüllkörper sind. Durch Ermittlung einer Auswahl von Punkten eines konvexen Hüllkörpers anhand des Suchalgorithmus und Bildung der konvexen Menge der Abbilder der Auswahl von Punkten ist immer ein Abbild des Hüllkörpers erstellbar, das näherungsweise dem aus einer vollständig durchgeführten Projektion des Hüllkörpers resultierenden Abbild entspricht.If the selection of points P2, P3 is sufficiently extensive, the image I2 corresponds exactly to the actual image of the second envelope, as would result from a complete central projection. The search algorithm can be applied to any enveloping body, including non-polyhedral enveloping bodies, for example cylindrical enveloping bodies, wherein the enveloping bodies are advantageously convex enveloping bodies. By determining a selection of points of a convex envelope on the basis of the search algorithm and forming the convex set of the images of the selection of points, it is always possible to create an image of the enveloping body which approximately corresponds to the image resulting from a complete projection of the enveloping body.

Die Bestimmung einer Auswahl von Punkten zur Projektion wird für den ersten Hüllquader B1 und für den zweiten Hüllquader B2 parallel durchgeführt, und die anhand des Suchalgorithmus bestimmten Punkte werden jeweils unmittelbar nach ihrer Bestimmung auf die Projektionsebene P projiziert. Auf der Projektionsebene P wird schon während des noch laufenden Projektionsvorgangs des ersten Hüllquaders B1 und des zweiten Hüllquaders B2 eine Kollisionserkennung anhand der Abbilder der bereits projizierten Punkte durchgeführt, und die Projektion wird abgebrochen, wenn anhand der Abbilder der bereits projizierten Punkte eine Kollision erkannt wird oder eine Kollision ausgeschlossen wird.The determination of a selection of points for projection is performed in parallel for the first envelope cuboid B1 and for the second envelope cuboid B2, and the points determined using the search algorithm are each projected onto the projection plane P immediately after their determination. On the projection plane P, a collision detection on the images of the already projected points is already performed during the ongoing projection process of the first Hüllquaders B1 and the second Hüllquaders B2, and the projection is aborted when based on the images of the already projected points a collision is detected or a collision is excluded.

Die Abbildung der Figur 5 illustriert ein erstes Beispiel für einen vorzeitigen Abbruch einer Projektion eines ersten Hüllkörpers B1 und eines zweiten Hüllkörpers B2. In dem Beispiel ist der erste Hüllkörper B1 als Würfel und der zweite Hüllkörper B2 als Kugel dargestellt. Zuerst wird eine erste Initialsuchrichtung SD1-A festgelegt, um anhand des in der Figur 4 illustrierten Suchalgorithmus den aus Sicht des Sensors S am weitesten in Richtung der ersten Initialsuchrichtung SD1-A liegenden ersten Punkt P1-A des ersten Hüllkörpers B1 zu finden.The picture of the FIG. 5 illustrates a first example of premature termination of a projection of a first envelope B1 and a second envelope B2. In the example, the first enveloping body B1 is shown as a cube and the second enveloping body B2 is shown as a sphere. First, a first initial search direction SD1-A is set to use the in the FIG. 4 illustrated Search algorithm to find from the perspective of the sensor S furthest in the direction of the first Initialsuchrichtung SD1-A first point P1-A of the first envelope body B1.

Zur Ermittlung der ersten Initialsuchrichtung SD1-A ist in dem beschriebenen Ausführungsbeispiel grundsätzlich vorgesehen, die Ortskoordinaten des ersten Hüllkörpers B1 von den Ortskoordinaten des zweiten Hüllkörpers B2 zu subtrahieren und den sich aus der Subtraktion ergebenden Verbindungsvektor auf die Projektionsebene P zu projizieren.In order to determine the first initial search direction SD1-A, it is basically provided in the exemplary embodiment described to subtract the spatial coordinates of the first envelope B1 from the position coordinates of the second envelope B2 and to project the connection vector resulting from the subtraction onto the projection plane P.

Der erste Punkt P1-A wird unmittelbar nach seiner Ermittlung auf die Projektionsebene P projiziert, um ein Abbild I1-A des ersten Punktes zu erzeugen. Nachfolgend wird eine der ersten Initialsuchrichtung SD1-A entgegengesetzte zweite Initialsuchrichtung SD1-B festgelegt, um den aus Sicht des Sensors S am weitesten in Richtung der zweiten Initialsuchrichtung SD1-B liegenden zweiten Punkt P1-B des zweiten Hüllkörpers B2 zu finden. Der zweite Punkt P1-B wird unmittelbar nach seiner Ermittlung auf die Projektionsebene P projiziert, um ein Abbild I1-B des zweiten Punktes zu erzeugen.The first point P1-A is projected onto the projection plane P immediately after its detection to produce an image I1-A of the first point. Subsequently, a second initial search direction SD1-B opposite the first initial search direction SD1-A is determined in order to find the second point P1-B of the second envelope B2 lying farthest in the direction of the sensor S in the direction of the second initial search direction SD1-B. The second point P1-B is projected onto the projection plane P immediately after its detection to produce an image I1-B of the second point.

Unmittelbar nach Projektion des zweiten Punktes P1-B wird die Differenz D des Abbilds des ersten Punktes I1-A und des Abbilds des zweiten Punktes I1-B gebildet. Die Differenz D ist ein Punkt der Minkowski-Differenz Σ der Abbilder des ersten Hüllkörpers B1 und des zweiten Hüllkörpers B2. Aus dem negativen Skalarprodukt der ersten Initialsuchrichtung SD1-A und der Differenz D folgt, da sowohl der erste Hüllkörper B1 als auch der zweite Hüllkörper B2 konvexe Körper sind, dass das Abbild I1-A des ersten Punkts und das Abbild I1-B des zweiten Punkts die einander nächstliegenden Punkte der Abbilder des ersten Hüllkörpers B1 und des zweiten Hüllkörpers B2 sind und demnach die Differenz D der dem Ursprung des lokalen Koordinatensystems CS nächstliegende Punkt der Minkowski-Differenz Σ ist. Die Minkowski-Differenz Σ kann demnach nicht den Ursprung des lokalen Koordinatensystems CS umfassen. Die Projektion wird deshalb nach der Projektion des ersten Punkts P1-A und des zweiten Punkts P1-B abgebrochen, und das von dem zweiten Hüllkörper B2 eingehüllte zweite Objekt O2 wird als perspektivisch nicht verdeckt gewertet, sofern der zweite Hüllkörper B2 nicht von einem weiteren Hüllkörper außer dem ersten Hüllkörper B1 perspektivisch verdeckt ist.Immediately after projection of the second point P1-B, the difference D of the image of the first point I1-A and the image of the second point I1-B is formed. The difference D is a point of the Minkowski difference Σ of the images of the first enveloping body B1 and the second enveloping body B2. From the negative scalar product of the first initial search direction SD1-A and the difference D, since both the first enveloping body B1 and the second enveloping body B2 are convex bodies, the image I1-A of the first point and the image I1-B of the second point are the nearest points of the images of the first envelope B1 and the second envelope B2, and hence the difference D is the point of the Minkowski difference Σ nearest the origin of the local coordinate CS. The Minkowski difference Σ can therefore not include the origin of the local coordinate system CS. The projection is therefore aborted after the projection of the first point P1-A and the second point P1-B, and the second object enveloped by the second envelope B2 O2 is not considered to be hidden in perspective, as long as the second enveloping body B2 is not hidden in perspective by another enveloping body other than the first enveloping body B1.

Die Abbildung der Figur 6 illustriert ein zweites Beispiel für einen vorzeitigen Abbruch einer Projektion und gleichzeitig eine vorteilhafte Ausgestaltung des Projektionsvorgangs. Grundsätzlich sind für die Erkennung einer perspektivischen Verdeckung des zweiten Hüllkörpers B2 durch den ersten Hüllkörper B1 die nachfolgend aufgelisteten Verfahrensschritte vorgesehen. Die Auswahl eines zur Projektion vorgesehenen Punktes geschieht dabei grundsätzlich wie in der Beschreibung der Figur 4 beschrieben, unter Verwendung der aktuell gültigen Initialsuchrichtung. Nachfolgend wird angenommen, dass der euklidische Abstand des zweiten virtuellen Objekts O2 zum Sensor S größer ist als der euklidische Abstand des ersten virtuellen Objekts O1 zum Sensor S.The picture of the FIG. 6 illustrates a second example of premature termination of a projection and at the same time an advantageous embodiment of the projection process. Basically, the following listed method steps are provided for the detection of a perspective occlusion of the second envelope B2 by the first envelope B1. The selection of a point provided for the projection happens basically as in the description of FIG. 4 described using the currently valid Initialsuchrichtung. In the following it is assumed that the Euclidean distance of the second virtual object O 2 to the sensor S is greater than the Euclidean distance of the first virtual object O 1 to the sensor S.

Die Verfahrensschritte sind wie folgt:

  • 1.1) Definiere eine erste Initialsuchrichtung SD1-A durch Projektion des Vektors, der sich durch Subtraktion der Ortskoordinaten des ersten virtuellen Objekts O1 von den Ortskoordinaten des zweiten virtuellen Objekts O2 ergibt, auf die Projektionsebene P, und definiere eine der ersten Initialsuchrichtung SD1-A entgegengesetzte Initialsuchrichtung SD1-B.
  • 1.2) Wähle anhand der ersten Initialsuchrichtung SD1-A einen ersten Punkt P1-A des ersten Hüllkörpers B1 aus und projiziere ihn auf die Projektionsebene P, um ein Abbild I1-A des ersten Punktes P1-A des ersten Hüllkörpers B1 zu erzeugen. Wähle anhand der entgegengesetzten Initialsuchrichtung SD1-B einen ersten Punkt P1-B des zweiten Hüllkörpers B2 aus und projiziere ihn auf die Projektionsebene P, um ein Abbild I1-B des ersten Punktes P1-B des zweiten Hüllkörpers B2 zu erzeugen
  • 1.3) Bilde eine erste Differenz D1 der Abbilder I1-A und I1-B in dem lokalen Koordinatensystem CS.
  • 2.1) Definiere eine zweite Initialsuchrichtung SD2-A, die ausgehend von der ersten Differenz D1 in Richtung des Ursprungs des lokalen Koordinatensystems CS zeigt, wähle anhand der zweiten Initialsuchrichtung SD2-A einen zweiten Punkt P2-A des ersten Hüllkörpers B1 aus und projiziere ihn auf die Projektionsebene P, um ein Abbild I2-A des Punktes P2-A zu erzeugen.
  • 2.2) Wähle anhand einer der zweiten Initialsuchrichtung SD2-A entgegengesetzten Initialsuchrichtung SD2-B einen zweiten Punkt P2-B des zweiten Hüllkörpers B2 aus und projiziere ihn auf die Projektionsebene P, um ein Abbild I2-B des Punktes P2-B zu erzeugen.
  • 2.3) Bilde eine zweite Differenz D2 der zuletzt erzeugten Abbilder I2-A und I2-B im lokalen Koordinatensystem CS.
  • 3.1) Definiere eine dritte Initialsuchrichtung SD3-A, die senkrecht zur Verbindungslinie der ersten Differenz D1 und der zweiten Differenz liegt und in Richtung des Ursprungs des lokalen Koordinatensystems CS zeigt, wähle anhand der dritten Initialsuchrichtung SD3-A einen dritten Punkt P3-A des ersten Hüllkörpers B1 aus und projiziere ihn auf die Projektionsebene P, um ein Abbild I3-A des dritten Punktes P3-A des ersten Hüllkörpers B1 zu erzeugen.
  • 3.2) Wähle anhand einer der dritten Suchrichtung SD3-A entgegengesetzten Suchrichtung SD3-B einen dritten Punkt P3-B des zweiten Hüllkörpers B2 aus und projiziere ihn auf die Projektionsebene P, um ein Abbild I3-B des Punktes P3-B zu erzeugen.
  • 3.3) Bilde eine dritte Differenz D3 der zuletzt erzeugten Abbilder I3-A und I3-B im lokalen Koordinatensystem CS.
  • 4) Wenn das aus der ersten Differenz D1, der zweiten Differenz D2 und der dritten Differenz D3 aufgespannte Simplex der Minkowski-Differenz Σ den Ursprung des lokalen Koordinatensystems CS umfasst, brich den Projektionsvorgang ab und werte das zweite virtuelle Objekt O2 als perspektivisch verdeckt.
  • 5.1) Wenn das Simplex den Ursprung des lokalen Koordinatensystems CS nicht umfasst, verwirf den am weitesten vom Ursprung entfernten Eckpunkt des Simplex und definiere eine neue Initialsuchrichtung, die senkrecht zur Verbindungslinie der beiden verbleibenden Eckpunkte liegt und in Richtung des Ursprungs des lokalen Koordinatensystems CS zeigt. Wähle anhand der neuen Suchrichtung einen Punkt des ersten Hüllkörpers B1 aus und projiziere ihn auf die Projektionsebene P, um ein Abbild des Punktes zu erzeugen.
  • 5.2) Wähle anhand einer der neuen Initialsuchrichtung entgegengesetzten Suchrichtung einen Punkt des zweiten Hüllkörpers B2 aus und projiziere ihn auf die Projektionsebene P, um ein Abbild des Punktes zu erzeugen.
  • 5.3) Bilde die Differenz der zwei zuletzt erzeugten Abbilder im lokalen Koordinatensystem CS und verwende die Differenz als neuen Eckpunkt, um zusammen mit den zwei verbleibenden Eckpunkten ein neues Simplex aufzuspannen.
  • 6) Wiederhole die Schritte 5.1 bis 5.3, bis entweder das aktuelle Simplex den Ursprung des lokalen Koordinatensystems CS umfasst (Abbruchkriterium A) oder das Skalarprodukt der aktuellen für die Auswahl eines Punktes des ersten Hüllkörpers B1 verwendeten Initialsuchrichtung und des anhand der aktuellen Initialsuchrichtung gesetzten Eckpunkts negativ ist (Abbruchkriterium B).
The process steps are as follows:
  • 1.1) Define a first initial search direction SD1-A by projecting the vector obtained by subtracting the location coordinates of the first virtual object O1 from the location coordinates of the second virtual object O2 to the projection plane P, and defining one of the first initial search direction SD1-A Initial search direction SD1-B.
  • 1.2) Select on the basis of the first initial search direction SD1-A a first point P1-A of the first envelope B1 and project it onto the projection plane P in order to produce an image I1-A of the first point P1-A of the first envelope B1. Using the opposite initial search direction SD1-B, select a first point P1-B of the second envelope B2 and project it onto the projection plane P to produce an image I1-B of the first point P1-B of the second envelope B2
  • 1.3) Make a first difference D1 of the images I1-A and I1-B in the local coordinate system CS.
  • 2.1) Define a second initial search direction SD2-A, which points from the first difference D1 towards the origin of the local coordinate system CS, select a second point P2-A of the first envelope B1 from the second initial search direction SD2-A and project it the projection plane P to produce an image I2-A of the point P2-A.
  • 2.2) Select on the basis of one of the second initial search direction SD2-A opposite Initialsuchrichtung SD2-B from a second point P2-B of the second envelope B2 and project it to the projection plane P to produce an image I2-B of the point P2-B.
  • 2.3) Create a second difference D2 of the most recently generated images I2-A and I2-B in the local coordinate system CS.
  • 3.1) Define a third initial search direction SD3-A which is perpendicular to the connecting line of the first difference D1 and the second difference and points towards the origin of the local coordinate system CS, select a third point P3-A of the first from the third initial search direction SD3-A Boundary body B1 and projecting it on the projection plane P to produce an image I3-A of the third point P3-A of the first envelope body B1.
  • 3.2) Select a third point P3-B of the second envelope B2 from a search direction SD3-B opposite to the third search direction SD3-A and project it onto the projection plane P to produce an image I3-B of the point P3-B.
  • 3.3) Form a third difference D3 of the last generated images I3-A and I3-B in the local coordinate system CS.
  • 4) If the simplex of the Minkowski difference Σ spanned from the first difference D1, the second difference D2 and the third difference D3 comprises the origin of the local coordinate system CS, abort the projection process and evaluate the second virtual object O2 as being perspectively hidden.
  • 5.1) If the simplex does not include the origin of the local coordinate system CS, discard the most distant vertex of the simplex and define a new initial search direction that is perpendicular to the connecting line of the two remaining vertices pointing towards the origin of the local coordinate system CS. Using the new search direction, select a point of the first envelope B1 and project it onto the projection plane P to create an image of the point.
  • 5.2) Using a search direction opposite to the new initial search direction, select a point of the second envelope B2 and project it onto the projection plane P to produce an image of the point.
  • 5.3) Compute the difference of the two most recently generated images in the local coordinate system CS and use the difference as a new vertex to span a new simplex together with the two remaining vertices.
  • 6) Repeat steps 5.1 to 5.3 until either the current simplex comprises the origin of the local coordinate system CS (abort criterion A) or the scalar product of the current initial search direction used for selecting a point of the first envelope B1 and the vertex set using the current initial search direction is (termination criterion B).

Wenn Abbruchkriterium A eintritt, wird das zweite virtuelle Objekt O2 als perspektivisch verdeckt gewertet. Wenn Abbruchkriterium B eintritt, wird das zweite virtuelle Objekt O2 als perspektivisch nicht verdeckt gewertet. Die Prüfung und Anwendung des Abbruchkriteriums A ist naturgemäß erst dann möglich, wenn mindestens drei Eckpunkte D1, D2, D3 ermittelt wurden. Abbruchkriterium B ist schon nach Ermittlung eines einzigen Eckpunkts anwendbar. In dem in der Figur 6 gezeigten Beispiel wird der Projektionsvorgang nach Ermittlung des dritten Eckpunkts D3 abgebrochen und das zweite virtuelle Objekt O2 als perspektivisch verdeckt gewertet, weil das durch die drei Eckpunkte D1, D2, D3 aufgespannte Simplex der Minkowski-Differenz Σ den Ursprung des lokalen Koordinatensystems CS umfasst und damit eine teilweise perspektivische Verdeckung des zweiten Hüllkörpers B2 durch den ersten Hüllkörper B1 nachgewiesen ist.If abort criterion A occurs, the second virtual object O2 is considered to be hidden in perspective. If abort criterion B occurs, the second virtual object O2 is considered to be not hidden in perspective. The testing and application of the termination criterion A is of course only possible if at least three vertices D1, D2, D3 were determined. Termination criterion B is already applicable after the determination of a single vertex. In the in the FIG. 6 In the example shown, after the third vertex D3 has been determined, the projection process is aborted and the second virtual object O2 is regarded as being hidden in perspective, because the simplex spanned by the three corner points D1, D2, D3 Minkowski difference Σ includes the origin of the local coordinate system CS and thus a partial perspective occlusion of the second envelope B2 is detected by the first envelope body B1.

Anhand des GJK-Algorithmus ist zwar die Existenz einer Schnittmenge zweier Mengen nachweisbar, aber nicht die Größe der Schnittmenge messbar. Demzufolge führt eine beliebig kleine perspektivische Verdeckung des zweiten Hüllkörpers B2 durch den ersten Hüllkörper dazu, dass der zweite Hüllkörper B2 als perspektivisch verdeckt und demnach als für das Sensorsystem nicht sichtbar gewertet wird. Von einem realen Sensorsystem mit einem bildgebenden Sensor S und einer Bildverarbeitungseinheit ist aber zu erwarten, dass die Bildverarbeitungseinheit auch perspektivisch teilweise verdeckte Objekte als solche erkennt, sofern die perspektivische Verdeckung einen Toleranzwert nicht überschreitet.Although the existence of an intersection of two sets is detectable by the GJK algorithm, it is not possible to measure the size of the intersection. Consequently, an arbitrarily small perspective occlusion of the second enveloping body B2 by the first enveloping body leads to the fact that the second enveloping body B2 is concealed as perspectively and is therefore considered not to be visible to the sensor system. From a real sensor system with an imaging sensor S and an image processing unit, however, it is to be expected that the image processing unit also recognizes partially occluded objects as such, provided that the perspective occlusion does not exceed a tolerance value.

Um dieses realistische Verhalten nachzubilden, ist ein Toleranzwert T für eine perspektivische Verdeckung eines virtuellen Objekts O1, ..., O8 festlegbar. Ein Toleranzwert von T = 0,25 bedeutet beispielsweise, dass ein sich im Sensorsichtfeld FV befindliches und durch das Sensorsystem erkennbares virtuelles Objekt durch das Sensorsystem erkannt werden soll, wenn aus Sicht des Sensors S nicht mehr als etwa ein Viertel des Fläche des virtuellen Objekts perspektivisch verdeckt ist. In Abhängigkeit von dem gewählten Toleranzwert wird zumindest der erste Hüllkörper B1 oder der zweite Hüllkörper B2 kleiner skaliert. Das zweite virtuelle Objekt O2 wird als perspektivisch verdeckt gewertet, wenn eine Schnittmenge der Abbilder I1, I2 der skalierten Hüllkörper existiert.In order to emulate this realistic behavior, a tolerance value T can be defined for a perspective occlusion of a virtual object O1,..., O8. A tolerance value of T = 0.25 means, for example, that a virtual object located in the sensor field of view FV and recognizable by the sensor system is to be recognized by the sensor system if, from the perspective of the sensor S, no more than approximately one quarter of the surface of the virtual object is in perspective is covered. Depending on the selected tolerance value, at least the first enveloping body B1 or the second enveloping body B2 is scaled smaller. The second virtual object O2 is considered to be hidden in perspective if an intersection of the images I1, I2 of the scaled envelopes exists.

Für den ersten Hüllkörper B1 wird ein erster Skalierungsfaktor s1 eingeführt. Für den zweiten Hüllkörper B2 wird ein zweiter Skalierungsfaktor s2 eingeführt. Für Toleranzwerte im Bereich von 0 T 0 , 5

Figure imgb0002
werden die Skalierungsfaktoren wie folgt festgelegt:
s 1 = 1 s 2 = 2 0 , 5 T
Figure imgb0003
For the first enveloping body B1, a first scaling factor s 1 is introduced. For the second enveloping body B2, a second scaling factor s 2 is introduced. For tolerance values in the range of 0 T 0 . 5
Figure imgb0002
the scaling factors are set as follows:
s 1 = 1 s 2 = 2 0 . 5 - T
Figure imgb0003

Für Toleranzwerte im Bereich von 0 , 5 < T 1

Figure imgb0004
werden die Skalierungsfaktoren wie folgt festgelegt: s 1 = 1 2 A 2 A 1 T 0 , 5 s 2 = 0
Figure imgb0005
A1 ist ein exakter oder abgeschätzter Wert für die Fläche des ersten Abbilds I1 des ersten Hüllkörpers B1 unter der Annahme einer vollständig durchgeführten Projektion, und A2 ist ein exakter oder abgeschätzter Wert für die Fläche des zweiten Abbilds I2 des zweiten Hüllkörpers B2. Die Fläche A1 des Abbilds eines quaderförmigen Hüllkörpers wird anhand folgender Formel abgeschätzt: A 1 = 1 L 2 i = 1 3 D i e s e n , i
Figure imgb0006
For tolerance values in the range of 0 . 5 < T 1
Figure imgb0004
the scaling factors are set as follows: s 1 = 1 - 2 A 2 A 1 T - 0 . 5 s 2 = 0
Figure imgb0005
A 1 is an exact or estimated value for the area of the first image I1 of the first envelope B1 assuming full projection, and A 2 is an exact or estimated value for the area of the second image I2 of the second envelope B2. The area A 1 of the image of a cuboid envelope is estimated using the following formula: A 1 = 1 L 2 Σ i = 1 3 D i e s e n . i
Figure imgb0006

Dabei sind L der euklidische Abstand zwischen Projektionsebene P und den Ortskoordinaten des von dem Hüllkörper eingehüllten virtuellen Objekts, D1 , D2 und D3 drei zueinander orthogonale Flächen des Quaders, es der Differenzvektor der Ortskoordinaten des von dem Hüllkörper eingehüllten virtuellen Objekts und des Sensors S, und en,1 , en,2, und en,3 sind die Flächennormalen.In this case, L is the Euclidean distance between projection plane P and the spatial coordinates of the virtual object enveloped by the enveloping body, D 1 , D 2 and D 3 are three mutually orthogonal faces of the cuboid, e s is the difference vector of the spatial coordinates of the virtual object enveloped by the enveloping body and of Sensors S, and e n, 1 , e n, 2 , and e n, 3 are the surface normals.

Die Abbildung der Figur 7 zeigt Anwendungen dieser Skalierungsvorschrift für drei unterschiedliche Toleranzwerte. Der erste Hüllkörper B1 und der zweite Hüllkörper B2 sind in der Abbildung der Deutlichkeit halber als zweidimensionale Rechtecke der Kantenlängen 8cm x 6cm und 6cm x 4cm dargestellt. Gestrichelte Linien stellen jeweils den unskalierten Hüllkörper, durchgehende Linien den skalierten Hüllkörper dar.The picture of the FIG. 7 shows applications of this scaling rule for three different tolerance values. The first enveloping body B1 and the second enveloping body B2 are shown in the figure for the sake of clarity as two-dimensional rectangles of the edge lengths 8cm x 6cm and 6cm x 4cm. Dashed lines represent the unscaled envelope, while solid lines represent the scaled envelope.

Bei einem Toleranzwert T = 0,25 bleibt der erste Hüllkörper B1 unskaliert, und für den zweiten Hüllkörper ergibt sich ein Skalierungsfaktor von 0,5. Der erste Hüllkörper B1 muss etwa ein Viertel der sichtbaren Fläche des unskalierten zweiten Hüllkörpers B2 verdecken, bevor sich eine perspektivische Verdeckung des skalierten zweiten Hüllkörpers B2 einstellt.With a tolerance value T = 0.25, the first enveloping body B1 remains unscaled and the second enveloping body has a scaling factor of 0.5. The first enveloping body B1 must cover approximately one quarter of the visible area of the unscaled second enveloping body B2 before a perspective concealment of the scaled second enveloping body B2 occurs.

Bei einem Toleranzwert von T = 0,5 bleibt der erste Hüllkörper B1 unskaliert, und der zweite Hüllkörper B2 wird auf Punktgröße skaliert. Der erste Hüllkörper B1 muss die sichtbare Fläche des unskalierten zweiten Hüllkörpers B2 etwa zur Hälfte verdecken, bevor sich eine perspektivische Verdeckung des skalierten zweiten Hüllkörpers B2 einstellt.With a tolerance value of T = 0.5, the first enveloping body B1 remains unscaled, and the second enveloping body B2 is scaled to point size. The first enveloping body B1 must cover the visible area of the unscaled second enveloping body B2 approximately halfway before a perspective concealment of the scaled second enveloping body B2 occurs.

Bei einem Toleranzwert von T = 1 ergibt sich für den ersten Hüllkörper B1 ein Skalierungsfaktor von s1 = 0,5, und der zweite Hüllkörper B2 wird auf Punktgröße skaliert. Der unskalierte erste Hüllkörper B1 muss den unskalierten zweiten Hüllkörper B2 näherungsweise vollständig bedecken, bevor sich eine perspektivische Verdeckung des skalierten zweiten Hüllkörpers B2 durch den skalierten ersten Hüllkörper B1 einstellt.With a tolerance value of T = 1, a scaling factor of s 1 = 0.5 results for the first enveloping body B1, and the second enveloping body B2 is scaled to point size. The unscaled first enveloping body B1 must cover the unscaled second enveloping body B2 approximately completely before a perspective concealment of the scaled second enveloping body B2 occurs through the scaled first enveloping body B1.

Das in der Figur 7 illustrierte Skalierungsverfahren ist allgemeingültig anwendbar, wenn alle virtuellen Objekte O1, ..., O8 in der virtuellen Testumgebung VT ähnliche Abmessungen aufweisen. Andernfalls kann eine allgemeingültige Anwendung problematisch sein. Da der potentiell perspektivisch verdeckte zweite Hüllkörper B2 bis auf Punktgröße skaliert werden kann, kann sich eine perspektivische Verdeckung durch einen beliebig kleinen ersten Hüllkörper B1 ergeben, was kein realistisches Verhalten eines Sensorsystems gemäß Erfindung ist. Beispielsweise kann ein erfindungsgemäßes Verfahren in einer Situation, wie sie in der Figur 3 dargestellt ist, zu dem Ergebnis kommen, dass das Fahrzeug O1 für das radargestützte Steuersystem UUT nicht sichtbar ist, weil es durch das Kind O2 verdeckt ist.That in the FIG. 7 illustrated scaling methods is universally applicable if all virtual objects O1, ..., O8 in the virtual test environment VT have similar dimensions. Otherwise, a universal application can be problematic. Since the potentially perspective concealed second enveloping body B2 can be scaled down to point size, a perspective occlusion can result from an arbitrarily small first enveloping body B1, which is not a realistic behavior of a sensor system according to the invention. For example, a method according to the invention in a situation as described in the FIG. 3 is shown to conclude that the vehicle O1 is not visible to the radar-based control system UUT because it is hidden by the child O2.

Im Falle stark voneinander abweichender Abmessungen der virtuellen Objekte O1, ..., O8 in der virtuellen Testumgebung VT ist es deshalb vorteilhaft, anhand der zuvor beschriebenen Abschätzungen der Flächen der Abbilder I1, I2 eine Vorbewertung der Plausibilität einer perspektivischen Verdeckung vorzunehmen. Beispielsweise kann das Verfahren derart erweitert werden, dass die Prüfung auf eine perspektivische Verdeckung nur durchgeführt wird, wenn die abgeschätzte Fläche des ersten Abbilds I1 in Relation zur abgeschätzten Fläche des zweiten Abbilds I2 einen vorgegebenen Wert überschreitet.In the case of strongly divergent dimensions of the virtual objects O1,..., O8 in the virtual test environment VT, it is therefore advantageous to use the previously described estimates of the surfaces of the images I1, I2 to pre-evaluate the plausibility of a perspective view Occlusion. For example, the method may be extended such that the check for perspective occlusion is performed only if the estimated area of the first image I1 exceeds a predetermined value in relation to the estimated area of the second image I2.

Claims (14)

Verfahren zur Simulation eines Sensorsystems, das einen bildgebenden Sensor (S) und eine Bildverarbeitungseinheit zur Erkennung von Objekten (O1, ..., O10) in dem von dem Sensor (S) ausgegebenen Sensorbild umfasst,
wobei in einer eine Vielzahl virtueller Objekte (O1, ..., O10) umfassenden virtuellen Testumgebung (VT) dem Sensor (S) Ortskoordinaten zugeordnet werden und jedem virtuellen Objekt (O1, ..., O10) Ortskoordinaten zugeordnet werden;
dem Sensor (S) ein Sensorsichtfeld (FV) in der virtuellen Testumgebung (VT) zugeordnet wird und eine Anzahl von Objekten aus der Vielzahl virtueller Objekte (O1, ..., O10) als durch das Sensorsystem erkennbare virtuelle Objekte bestimmt werden;
ein Simulationslauf gestartet wird, in dessen Verlauf dem Sensor (S) oder mindestens einem virtuellen Objekt (O1, ..., O10) zyklisch neue Ortskoordinaten in der virtuellen Testumgebung (VT) zugewiesen werden,
und zyklisch überprüft wird, ob zumindest ein virtuelles Objekt (O1, ..., O10) durch das Sensorsichtfeld (FV) erfasst ist;
dadurch gekennzeichnet, dass in dem Fall, dass ein erstes virtuelles Objekt (O1) und ein durch das Sensorsystem erkennbares zweites virtuelles Objekt (O2) durch das Sensorsichtfeld (FV) erfasst ist, - eine für eine Zentralprojektion des ersten virtuellen Objekts (O1) und des zweiten virtuellen Objekts (O2) mit den Ortskoordinaten des Sensors (S) als Augpunkt geeignete Projektionsebene (P) aufgespannt wird; - auf der Projektionsebene (P) ein erstes Abbild (I1) gebildet wird, indem ein mit dem ersten virtuellen Objekt (O1) ortsgleicher erster geometrischer Körper (B1), dessen Abmessungen zumindest näherungsweise mit den Abmessungen des ersten virtuellen Objekts (O1) übereinstimmen, in einer Zentralprojektion mit den Ortskoordinaten des Sensors (S) als Augpunkt zumindest teilweise auf die Projektionsebene (P) projiziert wird; - auf der Projektionsebene (P) ein zweites Abbild (I2) gebildet wird, indem ein mit dem zweiten virtuellen Objekt (O2) ortsgleicher zweiter geometrischer Körper (B2) , dessen Abmessungen zumindest näherungsweise mit den Abmessungen des zweiten virtuellen Objekts (O2) übereinstimmen, in einer Zentralprojektion mit den Ortskoordinaten des Sensors (S) als Augpunkt zumindest teilweise auf die Projektionsebene (P) projiziert wird; - geprüft wird, ob eine Schnittmenge des ersten Abbilds (I1) und des zweiten Abbilds (I2) existiert; - in dem Fall, dass i. eine Schnittmenge existiert, ii. der euklidische Abstand zwischen Sensor (S) und erstem virtuellem Objekt (O1) geringer als der euklidische Abstand zwischen Sensor und zweitem virtuellem Objekt (O2) ist und iii. die Größe der Schnittmenge, insbesondere in Relation zur Größe des zweiten Abbilds (I2), einen vordefinierten Schwellwert überschreitet, das zweite virtuelle Objekt (O2) als perspektivisch verdeckt gewertet wird; - in dem Fall, dass mindestens eine der Bedingungen i., ii. oder iii. nicht erfüllt ist, das zweite virtuelle Objekt (O2) als perspektivisch nicht verdeckt gewertet wird; und - ein Signal des Sensorsystems erzeugt wird, dem entnehmbar ist, dass alle durch das Sensorsichtfeld (FV) erfassten und durch das Sensorsystem erkennbaren virtuellen Objekte (O1, ..., O10), die als perspektivisch nicht verdeckt gewertet sind, von der Bildverarbeitungseinheit erkannt wurden und alle durch das Sensorsichtfeld (FV) erfassten und durch das Sensorsystem erkennbaren virtuellen Objekte (O1, ..., O10), die als perspektivisch verdeckt gewertet sind, von der Bildverarbeitungseinheit nicht erkannt wurden.
Method for simulating a sensor system comprising an imaging sensor (S) and an image processing unit for detecting objects (O1, ..., O10) in the sensor image output by the sensor (S),
wherein in a virtual test environment (VT) comprising a multiplicity of virtual objects (O1, ..., O10), spatial coordinates are assigned to the sensor (S) and spatial coordinates are assigned to each virtual object (O1, ..., O10);
the sensor (S) is assigned a sensor field of view (FV) in the virtual test environment (VT) and a number of objects of the plurality of virtual objects (O1, ..., O10) are determined as virtual objects detectable by the sensor system;
a simulation run is started in the course of which the sensor (S) or at least one virtual object (O1,..., O10) is cyclically assigned new location coordinates in the virtual test environment (VT),
and cyclically checking whether at least one virtual object (O1, ..., O10) is detected by the sensor field of view (FV);
characterized in that in the case that a first virtual object (O1) and a second virtual object (O2) recognizable by the sensor system are detected by the sensor field of view (FV), - A suitable for a central projection of the first virtual object (O1) and the second virtual object (O2) with the spatial coordinates of the sensor (S) as an eye point projection plane (P) is spanned; a first image (I1) is formed on the projection plane (P) in that a first geometric body (B1) which is the same as the first virtual object (O1) and whose dimensions at least approximately coincide with the dimensions of the first virtual object (O1), is projected in a central projection with the spatial coordinates of the sensor (S) as an eye point at least partially on the projection plane (P); a second image (I2) is formed on the projection plane (P) by a second geometric body (B2) having the same location as the second virtual object (O2) whose dimensions at least approximately coincide with the dimensions of the second virtual object (O2), is projected in a central projection with the spatial coordinates of the sensor (S) as an eye point at least partially on the projection plane (P); it is checked whether an intersection of the first image (I1) and the second image (I2) exists; - in the case that i. an intersection exists, ii. the Euclidean distance between the sensor (S) and the first virtual object (O1) is less than the Euclidean distance between the sensor and the second virtual object (O2) and iii. the size of the intersection, in particular in relation to the size of the second image (I2), exceeds a predefined threshold value, the second virtual object (O2) is considered to be hidden in perspective; - in the event that at least one of the conditions i., ii. or iii. is not satisfied, the second virtual object (O2) is considered as not being hidden in perspective; and - A signal of the sensor system is generated, which can be deduced that all detected by the sensor field of view (FV) and recognizable by the sensor system virtual objects (O1, ..., O10), which are considered not to be hidden in perspective, recognized by the image processing unit and all detected by the sensor field of view (FV) and recognizable by the sensor system virtual objects (O1, ..., O10), which are considered to be hidden in perspective, were not recognized by the image processing unit.
Verfahren nach Anspruch 1, wobei der Sensor (S) an einem virtuellen Automaten, insbesondere einem virtuellen automatisierten Vehikel (VE), in der virtuellen Testumgebung (VT) aufgehängt ist und das Signal des Sensorsystems von einem zur Ansteuerung des virtuellen Automaten eingerichteten Steuersystem (UUT) oder von einer zur Ansteuerung des virtuellen Automaten eingerichteten Steuersoftware überwacht wird.The method of claim 1, wherein the sensor (S) to a virtual machine, in particular a virtual automated vehicle (VE), suspended in the virtual test environment (VT) and the signal of the sensor system from one set up for driving the virtual machine Control system (UUT) or monitored by a set up to control the virtual machine control software. Verfahren nach Anspruch 1, wobei der erste geometrische Körper (B1) ein erster Hüllkörper des ersten Objekts (O1) ist und der zweite geometrische Körper (B2) ein zweiter Hüllkörper des zweiten Objekts (O2) ist.The method of claim 1, wherein the first geometric body (B1) is a first envelope body of the first object (O1) and the second geometric body (B2) is a second envelope body of the second object (O2). Verfahren nach einem der Ansprüche 1 bis 3, wobei eine Auswahl von Punkten (P1-A, P2-A, P1-B, ..., P3-B) eines geometrischen Körpers (B1, B2) projiziert wird und
das Abbild (I1, I2) des geometrischen Körpers (B1, B2) gebildet wird, indem aus der von den Abbildern (I1-A, I1-B, I2-A, ..., I2-B) der ausgewählten Punkte gebildeten Punktwolke auf der Projektionsebene (P) eine zweidimensionale Menge gebildet wird.
Method according to one of claims 1 to 3, wherein a selection of points (P1-A, P2-A, P1-B, ..., P3-B) of a geometric body (B1, B2) is projected and
the image (I1, I2) of the geometric body (B1, B2) is formed by taking the point cloud formed by the images (I1-A, I1-B, I2-A, ..., I2-B) of the selected points a two-dimensional set is formed on the projection plane (P).
Verfahren nach Anspruch 4, wobei die zweidimensionale Menge die konvexe Hülle der Punktwolke ist.The method of claim 4, wherein the two-dimensional set is the convex hull of the point cloud. Verfahren nach Anspruch 4 oder 5, wobei die Auswahl von Punkten (P1-A, P2-A, P1-B, ..., P3-B) ausschließlich Punkte enthält, deren Abbilder Elemente der konvexen Hülle eines aus einer vollständigen Projektion des geometrischen Körpers (B1, B2) resultierenden Abbilds des geometrischen Körpers (B1, B2) sind.Method according to claim 4 or 5, wherein the selection of points (P1-A, P2-A, P1-B,..., P3-B) contains exclusively points whose images are elements of the convex hull one of a complete projection of the geometric one Body (B1, B2) resulting image of the geometric body (B1, B2) are. Verfahren nach einem der vorhergehenden Ansprüche, wobei zur Prüfung der Existenz einer Schnittmenge eine Kollisionserkennung für das erste Abbild (I1) und das zweite Abbild (I2) durchgeführt wird und der Schwellwert für die Größe der Schnittmenge gleich null ist.Method according to one of the preceding claims, wherein for checking the existence of an intersection, a collision detection for the first image (I1) and the second image (I2) is performed and the threshold value for the size of the intersection is equal to zero. Verfahren nach Anspruch 7, wobei für die Kollisionserkennung ein Gilbert-Johnson-Keerthi-Algorithmus angewandt wird.The method of claim 7, wherein for the collision detection a Gilbert-Johnson-Keerthi algorithm is applied. Verfahren nach Anspruch 7, wobei ein Toleranzwert für eine perspektivische Verdeckung eines für das Sensorsystem erkennbaren virtuellen Objekts (O1, ..., O10) festgelegt wird, aus dem Toleranzwert ein Skalierungsfaktor berechnet wird und der erste geometrische Körper (B1)oder der zweite geometrische Körper (B2) vor der Durchführung der Projektion um den Skalierungsfaktor kleiner skaliert wird.Method according to claim 7, wherein a tolerance value for a perspective concealment of a virtual object (O1,..., O10) recognizable for the sensor system is determined, from the tolerance value a scaling factor is calculated and the first geometric body (B1) or the second geometric Body (B2) is scaled smaller by the scaling factor before performing the projection. Verfahren nach Anspruch 7, wobei ein Toleranzwert für eine perspektivische Verdeckung eines für das Sensorsystem erkennbaren virtuellen Objekts (O1, ..., O10) festgelegt wird, aus dem Toleranzwert ein Skalierungsfaktor berechnet wird und das erste Abbild (I1) oder das zweite Abbild (I2) vor der Durchführung der Kollisionserkennung kleiner skaliert wird.Method according to claim 7, wherein a tolerance value for a perspective masking of a virtual object (O1,..., O10) recognizable for the sensor system is determined, from the tolerance value a scaling factor is calculated and the first image (I1) or the second image ( I2) is scaled down before collision detection is performed. Verfahren nach einem der Ansprüche 7 bis 9, wobei während der Durchführung der Projektion des ersten geometrischen Körpers (B1)oder des zweiten geometrischen Körpers (B2) eine Kollisionserkennung anhand der Abbilder (I1-A, I2-A, I1-B, ..., I3-B) der bereits auf die Projektionsebene (P) projizierten Punkte (P1-A, P2-A, P1-B, ..., P3-B) des ersten geometrischen Körpers (B1)und des zweiten geometrischen Körpers (B2) durchgeführt wird
und die noch nicht abgeschlossenen Projektionen abgebrochen werden, wenn anhand der Abbilder (I1-A, I2-A, I1-B, ..., I3-B) der bereits projizierten Punkte (P1-A, P2-A, P1-B, ..., P3-B) eine Kollision erkannt wird oder eine Kollision ausgeschlossen wird.
Method according to one of claims 7 to 9, wherein during the execution of the projection of the first geometric body (B1) or of the second geometric body (B2) a collision detection on the basis of the images (I1-A, I2-A, I1-B, .. ., I3-B) of the already projected to the projection plane (P) points (P1-A, P2-A, P1-B, ..., P3-B) of the first geometric body (B1) and the second geometric body ( B2) is performed
and the incomplete projections are aborted when using the images (I1-A, I2-A, I1-B, ..., I3-B) of the already projected points (P1-A, P2-A, P1-B , ..., P3-B) a collision is detected or a collision is excluded.
Verfahren nach einem der Ansprüche 1 bis 11, wobei die euklidischen Abstände des ersten geometrischen Körpers (B1) und des zweiten geometrischen Körpers (B2) zum Sensor (S) ermittelt werden, insbesondere anhand der Ortskoordinaten des ersten virtuellen Objekts (O1), des zweiten virtuellen Objekts (O2) und des Sensors (S).Method according to one of claims 1 to 11, wherein the Euclidean distances of the first geometric body (B1) and the second geometric body (B2) to the sensor (S) are determined, in particular based on the location coordinates of the first virtual object (O1), the second virtual object (O2) and the sensor (S). Zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 12 eingerichtetes Computersystem (TB).Computer system (TB) set up to carry out a method according to one of Claims 1 to 12. Computerprogrammprodukt zur Einrichtung eines Computersystems (TB) zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 12.Computer program product for setting up a computer system (TB) for carrying out a method according to one of Claims 1 to 12.
EP18172050.9A 2018-05-14 2018-05-14 Method for quick estimation of a perspective concealment in a simulation of an imaging sensor Active EP3570063B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP18172050.9A EP3570063B1 (en) 2018-05-14 2018-05-14 Method for quick estimation of a perspective concealment in a simulation of an imaging sensor
US16/383,696 US10990854B2 (en) 2018-05-14 2019-04-15 Method for quick estimation of a perspectival occlusion in a simulation of an imaging sensor
CN201910336402.1A CN110489202A (en) 2018-05-14 2019-04-25 The method quickly evaluated blocked for the perspectivity in the emulation of imaging sensor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP18172050.9A EP3570063B1 (en) 2018-05-14 2018-05-14 Method for quick estimation of a perspective concealment in a simulation of an imaging sensor

Publications (2)

Publication Number Publication Date
EP3570063A1 true EP3570063A1 (en) 2019-11-20
EP3570063B1 EP3570063B1 (en) 2023-08-30

Family

ID=62217755

Family Applications (1)

Application Number Title Priority Date Filing Date
EP18172050.9A Active EP3570063B1 (en) 2018-05-14 2018-05-14 Method for quick estimation of a perspective concealment in a simulation of an imaging sensor

Country Status (3)

Country Link
US (1) US10990854B2 (en)
EP (1) EP3570063B1 (en)
CN (1) CN110489202A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886198B2 (en) * 2018-09-12 2024-01-30 Brain Corporation Systems and methods for detecting blind spots for robots

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113470640B (en) 2013-02-07 2022-04-26 苹果公司 Voice trigger of digital assistant
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. Low-latency intelligent automated assistant
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10884424B2 (en) * 2018-09-07 2021-01-05 GM Global Technology Operations LLC Traffic light occlusion detection for autonomous vehicle
WO2020112213A2 (en) * 2018-09-13 2020-06-04 Nvidia Corporation Deep neural network processing for sensor blindness detection in autonomous machine applications
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
CN111123319B (en) * 2019-12-31 2022-04-22 泰斗微电子科技有限公司 Satellite positioning device, satellite signal receiver and terminal equipment
CN113297881A (en) * 2020-02-24 2021-08-24 华为技术有限公司 Target detection method and related device
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
CN113901343A (en) * 2021-09-30 2022-01-07 北京百度网讯科技有限公司 Visual angle determining method and device for target object and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0620409B1 (en) 1993-04-12 2000-06-07 Raytheon Company Electro-optical target and background simulation
GB2451615A (en) * 2007-01-11 2009-02-11 Real Time Data Company Ltd Radar reflection simulator for generating synthetic radar reflections
US9575161B1 (en) * 2015-10-22 2017-02-21 Uniquesec Ab System for generating virtual radar signatures
US20170363719A1 (en) * 2016-06-20 2017-12-21 Rohde & Schwarz Gmbh & Co. Kg Radar target simulation device and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830700B2 (en) * 2014-02-18 2017-11-28 Judy Yee Enhanced computed-tomography colonography
DE102015206477A1 (en) * 2015-04-10 2016-10-13 Robert Bosch Gmbh Method for displaying a vehicle environment of a vehicle
KR102560029B1 (en) * 2016-09-12 2023-07-26 삼성전자주식회사 A method and apparatus for transmitting and receiving virtual reality content
US10635844B1 (en) 2018-02-27 2020-04-28 The Mathworks, Inc. Methods and systems for simulating vision sensor detection at medium fidelity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0620409B1 (en) 1993-04-12 2000-06-07 Raytheon Company Electro-optical target and background simulation
GB2451615A (en) * 2007-01-11 2009-02-11 Real Time Data Company Ltd Radar reflection simulator for generating synthetic radar reflections
US9575161B1 (en) * 2015-10-22 2017-02-21 Uniquesec Ab System for generating virtual radar signatures
US20170363719A1 (en) * 2016-06-20 2017-12-21 Rohde & Schwarz Gmbh & Co. Kg Radar target simulation device and method

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Algorithms on Media Informatics", MEDIA INFORMATICS PROSEMINAR, 2009
PATRICK LINDEMANN, THE GILBERT-JOHNSON-KEERTHI DISTANCE ALGORITHM
SHEN XUE-LI ET AL: "Fast collision detection based on projection parallel algorithm", FUTURE COMPUTER AND COMMUNICATION (ICFCC), 2010 2ND INTERNATIONAL CONFERENCE ON, IEEE, PISCATAWAY, NJ, USA, 21 May 2010 (2010-05-21), pages V1 - 179, XP031699206, ISBN: 978-1-4244-5821-9 *
XUE-LI SHEN UND TAO LI: "Fast Collision Detection Based on Projection Parallel Algorithm", 2ND INTERNATIONAL CONFERENCE ON FUTURE COMPUTER UND COMMUNICATION, IEEE, - 2010

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886198B2 (en) * 2018-09-12 2024-01-30 Brain Corporation Systems and methods for detecting blind spots for robots

Also Published As

Publication number Publication date
CN110489202A (en) 2019-11-22
US20190347525A1 (en) 2019-11-14
EP3570063B1 (en) 2023-08-30
US10990854B2 (en) 2021-04-27

Similar Documents

Publication Publication Date Title
EP3570063B1 (en) Method for quick estimation of a perspective concealment in a simulation of an imaging sensor
EP3121620B1 (en) Method for segmenting the data of a 3d sensor, produced in the presence of aerosol clouds, for increasing situational awareness and the detection of the position of obstacles
DE102020112314A1 (en) VERIFICATION OF VEHICLE IMAGES
DE102018128289B4 (en) METHOD AND DEVICE FOR AUTONOMOUS SYSTEM PERFORMANCE AND CLASSIFICATION
WO2019179946A1 (en) Generation of synthetic radar signals
DE102018121018A1 (en) EXPAND REAL SENSOR RECORDINGS WITH SIMULATED SENSOR DATA BACKGROUND
DE102014208009A1 (en) Capture static and dynamic objects
AT519538B1 (en) Method and system for the simulation-based determination of echo points as well as methods for emulation and emulation device
DE102015205048A1 (en) Method and device for monitoring a target trajectory to be traveled by a vehicle for collision freedom
EP2546778A2 (en) Method for evaluating an object detection device of a motor vehicle
DE102014108858A1 (en) Method and apparatus for estimating and tracking the shape and pose of a three-dimensional object
DE102019215903A1 (en) Method and device for generating training data for a recognition model for recognizing objects in sensor data of a sensor, in particular of a vehicle, method for training and method for actuation
DE102020127107A1 (en) METHOD AND DEVICE FOR DETERMINING A CONFIGURATION FOR AN AUTONOMOUS VEHICLE
DE102021101270A1 (en) TRAINING A NEURAL NETWORK OF A VEHICLE
DE102020126155A1 (en) TRAINING A NEURAL NETWORK OF A VEHICLE
WO2019162317A1 (en) Method for generating sensor data for safety-critical automobile control devices
DE102019130096A1 (en) Method for determining radar information, simulation method, classification method, computer program and calculation system
DE102018111390A1 (en) A method for rapid estimation of perspective occlusion in a simulation of an imaging sensor
DE102008055932A1 (en) Man-made sensor e.g. environment sensor, performance model-based simulation method for car, involves modifying parameters of polygons and reference points, and generating sensor data by environment including parameter-modified polygons
DE102021212632A1 (en) Testing of the environment sensors and/or environment perception of a vehicle
DE102019116919A1 (en) Method for the rapid assessment of the visibility of a virtual object using a sensor system
WO2021165129A1 (en) Method and device for generating combined scenarios
DE102020106014A1 (en) DISTINCTIVE AND ESTIMATE THE SPEEDS OF MULTIPLE OBJECTS WITH THE HELP OF A MULTI-NODE RADAR SYSTEM
DE102021120966A1 (en) SENSOR FUSION
DE102021204790A1 (en) Quantitative evaluation of models to describe real scenarios

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20190329

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20200429

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: DSPACE GMBH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 502018013104

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: G01S0007400000

Ipc: G06V0020560000

Ref legal event code: R079

Free format text: PREVIOUS MAIN CLASS: G01S0007400000

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

RIC1 Information provided on ipc code assigned before grant

Ipc: G06V 20/56 20220101AFI20230223BHEP

INTG Intention to grant announced

Effective date: 20230315

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 502018013104

Country of ref document: DE

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG9D

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20230830

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20231201

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20231230

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230830

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230830

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20231130

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230830

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230830

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20231230

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230830

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20231201

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230830

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230830

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230830