IP Library Granted Patent US 12675616
Granted Patent B2
US 12675616 · App. 18/010,953 · Granted Jul 7, 2026

3D multi-object simulation

Inventor: Jon Forshaw (Berkhamsted, GB)
Assignee: Five AI Limited
G06F30/15G06F11/3698G06T15/06G06T15/20G06T2210/12G06T2210/21
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12675616
App. No.
18/010,953
Granted
Jul 7, 2026
Kind
B2
Abstract

An occlusion metric is computed for a target object in a 3D multi-object simulation. The target object is represented in 3D space by a collision surface and a 3D bounding box. In a reference surface defined in 3D space, a bounding box projection is determined for the target object with respect to an ego location. The bounding box projection is used to determine a set of reference points in 3D space. For each reference point of the set of reference points, a corresponding ray is cast based on the ego location, and it is determined whether the ray is an object ray that intersects the collision surface of the target object. For each such object ray, it is determined whether the object ray is occluded. The occlusion metric conveys an extent to which the object rays are occluded.

Claims (48)

1 . A computer-implemented method of computing an occlusion metric for a target object in a 3D multi-object simulation that represents real-world conditions, the method comprising:

determining, in a reference surface defined in 3D space, a bounding box projection for the target object of the 3D multi-object simulation, wherein the target object is represented in 3D space by a collision surface and a 3D bounding box, and the bounding box projection is determined by projecting the 3D bounding box into the reference surface with respect to an ego location;

using the bounding box projection to determine a set of reference points in 3D space for raycasting within a region of 3D space defined by the ego location and the bounding box projection;

for each reference point of the set of reference points, casting a corresponding ray within said region of 3D space based on the ego location, and determining whether the corresponding ray intersects the collision surface of the target object;

for each ray that is determined to intersect the collision surface of the target object, determining whether the ray is occluded; and

computing the occlusion metric, the occlusion metric conveying an extent to which each ray that intersects the collision surface of the target object is occluded;

wherein the occlusion metric is used to determine different levels of error that reflect different possible real-world conditions.

2 . The method of claim 1 , wherein the set of reference points is determined in 3D space by:

determining a transformation of the reference surface into 2D space, in order to generate the set of reference points in 2D space within an object region defined by the bounding box projection, wherein the set of reference points is optionally a set of uniform grid points generated in 2D space within a rectangular object region that substantially encompasses the bounding box projection; and

transforming the set of reference points from 2D space into 3D space for raycasting.

3 . The method of claim 1 , wherein the occlusion metric is a numerical value indicating a number of occluded rays in proportion to a total number of rays that intersect the collision surface of the target object.

4 . The method of claim 1 , wherein, for at least one of the rays determined to intersect the collision surface of the target object, determining whether the ray is occluded comprises determining whether the ray intersects a collision surface of at least one other object of the 3D multi-object simulation between the ego location and the collision surface of the target object.

5 . The method of claim 4 , wherein:

in a first raycasting stage, each ray is cast from the ego location against the collision surface of the target object only, to determine whether the ray collides with the collision surface of the target object; and

in a second raycasting stage, only ray(s) determined to intersect the collision surface of the target object in the first raycasting stage are re-cast, against the collision surface of at least one other of the 3D multi-object simulation, to determine whether each of those ray(s) intersects the collision surface of the at least one other object between the ego location and the collision surface of the target object.

6 . The method of claim 5 , wherein a maximum distance is imposed on the first raycasting stage, the maximum distance defined by a point of the target object furthest from the ego location, wherein if any ray is extended up to the maximum distance without colliding with the collision surface of the target object, that ray is consequently determined not to intersect the collision surface of the target object.

7 . The method of claim 5 , wherein:

the occlusion metric is optionally a numerical value indicating a number of occluded rays in proportion to a total number of rays that intersect the collision surface of the target object;

a maximum distance is optionally imposed on the first raycasting stage, the maximum distance defined by a point of the target object furthest from the ego location, wherein if any ray is extended up to the maximum distance without colliding with the collision surface of the target object, that ray is consequently determined not to intersect the collision surface of the target object; and

the re-casting of each ray in the second raycasting stage is limited using knowledge of the point at which the ray was determined to intersect the collision surface of the target object in the first raycasting stage, such that the ray is extended in the second raycasting stage no further than a collision distance defined by that known point.

8 . The method of claim 1 , wherein, for at least one ray of the rays determined to intersect the collision surface of the target object, determining whether the ray is occluded comprises determining whether the ray is truncated in that the ray falls outside of a field of view associated with the ego location.

9 . The method of claim 8 , wherein:

for at least one of the rays determined to intersect the collision surface of the target object, determining whether the ray is occluded comprises determining whether the ray intersects a collision surface of at least one other object of the 3D body multi-object simulation between the ego location and the collision surface of the target object;

separate occlusion metrics are computed that separately quantify the extent of truncation and the extent of occlusion by other object(s); and

a combined occlusion metric is optionally computed that quantifies an overall extent of truncation and occlusion by other object(s).

10 . The method of claim 1 , comprising outputting the occlusion metric in association with at least one simulated ground truth perception output for the target object.

11 . The method of claim 10 , wherein the occlusion metric and the at least one simulated ground truth perception output are input to a perception error model, which computes therefrom a realistic perception output having a level of perception error that reflects the extent of occlusion.

12 . The method of claim 11 , wherein the realistic perception output is provided to an autonomous stack under testing, wherein the ego location of the 3D multi-object simulation is subsequently updated to implement a decision taken by a planner of the autonomous stack in dependence on the realistic perception output.

13 . The method of claim 1 , wherein the reference surface is located in 3D space based on a location of the target object at a variable distance from the ego location, wherein each reference point of the set of reference points has a fixed density.

14 . The method of claim 13 , wherein a point on the 3D bounding box closest to the ego location is used to locate the reference surface.

15 . The method of claim 1 , wherein the reference surface is a reference plane in 3D space.

16 . The method of claim 15 , wherein the reference plane lies substantially perpendicular to a line of sight between the ego location and the target object.

17 . The method of claim 1 , wherein the occlusion metric is computed for each of multiple target objects of the 3D multi-object simulation.

18 . The method of claim 1 , wherein multiple occlusion metrics are computed for the or each target object of the 3D multi-object simulation, based on different fields of view and/or different ego locations.

19 . A computer system comprising one or more computers configured to carry out a method of computing an occlusion metric for a target object in a 3D multi-object simulation that represents real-world conditions, the method comprising:

determining, in a reference surface defined in 3D space, a bounding box projection for a target object of a 3D multi-object simulation, wherein the target object is represented in 3D space by a collision surface and a 3D bounding box, and the bounding box projection is determined by projecting the 3D bounding box into the reference surface with respect to an ego location;

using the bounding box projection to determine a set of reference points in 3D space for raycasting within a region of 3D space defined by the ego location and the bounding box projection;

for each reference point of the set of reference points, casting a corresponding ray within said region of 3D space based on the ego location, and determining whether the corresponding ray intersects the collision surface of the target object;

for each ray that is determined to intersect the collision surface of the target object, determining whether the ray is occluded; and

computing the occlusion metric, the occlusion metric conveying an extent to which the rays that intersect the collision surface of the target object are occluded;

wherein the occlusion metric is used to determine different levels of error that reflect different possible real-world conditions.

20 . A non-transitory media embodying computer-readable instructions configured, upon execution on one or more processors, to perform a method of computing an occlusion metric for a target object in a 3D multi-object simulation that represents real-world conditions, the method comprising:

determining, in a reference surface defined in 3D space, a bounding box projection for a target object of a 3D multi-object simulation, wherein the target object is represented in 3D space by a collision surface and a 3D bounding box, and the bounding box projection is determined by projecting the 3D bounding box into the reference surface with respect to an ego location;

using the bounding box projection to determine a set of reference points in 3D space for raycasting within a region of 3D space defined by the ego location and the bounding box projection;

for each reference point of the set of reference points, casting a corresponding ray within said region of 3D space based on the ego location, and determining whether the corresponding ray intersects the collision surface of the target object;

for each ray that is determined to intersect the collision surface of the target object, determining whether the ray is occluded; and

computing the occlusion metric, the occlusion metric conveying an extent to which the rays that intersect the collision surface of the target object are occluded;

wherein the occlusion metric is used to determine different levels of error that reflect different possible real-world conditions.