IP Library Granted Patent US 12675903
Granted Patent B2
US 12675903 · App. 18/529,292 · Granted Jul 7, 2026

System for generating an image dataset for training an artificial intelligence model for object recognition, and method of use thereof

Inventor: Rémi Duquette (Montréal, CA)
G06T7/74G06F30/27G06T15/06G06T15/50G06T2207/20081G06T2207/20084
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 12675903
App. No.
18/529,292
Granted
Jul 7, 2026
Kind
B2
Abstract

A method of generating a synthetic image for producing a dataset of synthetic images for training an artificial intelligence model for object recognition; it includes generating a virtual space including a synthetic image background comprising one or more synthetic surfaces; spawning one or more virtual objects in the virtual space; simulating freefall and/or simulating environmental conditions of the one or more virtual objects resulting in a simulated impact between the one or more virtual objects and the one or more synthetic surfaces for determining the shape and position of the one or more virtual objects on the synthetic image background; and generating the synthetic image composed of the synthetic image background and the one or more virtual objects with the position of the one or more virtual objects on the synthetic image background determined from the simulated impact and/or simulated environmental conditions.

Claims (55)

1 . A method of generating a dataset of synthetic images for training an artificial intelligence model for object recognition, comprising repeating, for generating each synthetic image of the dataset of synthetic images:

generating a virtual space including a synthetic image background comprising one or more synthetic surfaces;

spawning one or more virtual objects in the virtual space, wherein the spawning comprises:

spawning a plurality of virtual objects in a hidden mode in the virtual space through use of masks that are dimensioned to contain the virtual objects of the plurality of virtual objects, the masks concealing the plurality of virtual objects in the virtual space;

selecting the one or more virtual objects from the plurality of virtual objects; and

revealing the one or more virtual objects for the simulation;

simulating a freefall of the one or more virtual objects resulting in a simulated impact between the one or more virtual objects and the one or more synthetic surfaces for determining a position of the one or more virtual objects on the synthetic image background; and

generating the synthetic image composed of the synthetic image background and the one or more virtual objects with the position of the one or more virtual objects on the synthetic image background determined from the simulated impact.

2 . The method as defined in claim 1 , wherein the one or more virtual objects comprises one or more physical properties, and wherein the outcome of the simulated impact further accounts for the one or more physical properties of the one or more virtual objects.

3 . The method as defined in claim 2 , wherein the one or more physical properties of the one or more virtual objects comprises one or more of:

a type of object;

an object dimension;

an object material;

a center of mass of the object; and

an object weight.

4 . The method as defined in claim 1 , wherein the plurality of virtual objects forms an object map.

5 . The method as defined in claim 1 , further comprising defining an object zone in the virtual space, where the one or more virtual objects are to be positioned in the object zone following the simulated impact.

6 . The method as defined in claim 5 , further comprising removing virtual objects of the one or more virtual objects that are outside of the object zone following the simulated impact or subsequent displacement from the surface of the object zone.

7 . The method as defined in claim 5 , wherein the spawning comprises offsetting the one or more virtual objects from the object zone such that the one or more virtual objects spawn over the object zone while the virtual objects of the one or more virtual objects are not in contact prior to the simulating.

8 . The method as defined in claim 1 , further comprising applying lighting with ray tracing to the one or more virtual objects and the synthetic object background.

9 . The method as defined in claim 8 , wherein the lighting is a first lighting, and further comprising applying a second static lighting above an area of the virtual space where the one or more virtual objects are spawned.

10 . The method as defined in claim 1 , wherein an initial orientation of each of the virtual objects of the one or more virtual objects is determined randomly prior to the simulating.

11 . The method as defined in claim 1 , wherein the generating of the synthetic image is taken at a viewing angle of a virtual camera object, wherein the position of the virtual camera object in the virtual space is determined randomly.

12 . The method as defined in claim 1 , further comprising generating a masked image corresponding to the synthetic image from which the coordinates of a rectangular box containing the object is registered.

13 . The method as defined in claim 1 , wherein the one or more synthetic surfaces each comprise a material texture having one or more physical properties and the simulated impact is generated as a function of at least the one or more physical properties of the one or more synthetic surfaces.

14 . The method as defined in claim 1 , further comprising simulating environmental conditions affecting the position or size of the one or more virtual objects.

15 . A non-transitory storage medium having stored thereon a dataset of synthetic images for training an artificial intelligence model for object recognition generated by performing the method as defined in claim 1 .

16 . A method of training an artificial intelligence model for object recognition using the dataset of synthetic images as defined in claim 15 , comprising:

receiving the dataset of synthetic images;

causing an identification and location of one or more virtual objects in a synthetic image of the dataset of synthetic images; and

comparing the synthetic image with the one or more identified virtual objects to a ground truth to calculate a loss that is back-propagated through the artificial intelligence model to train the artificial intelligence model.

17 . The method as defined in claim 1 , wherein one or more of the following is varied to generate different synthetic images forming the dataset of synthetic images:

lighting with ray tracing to the one or more virtual objects and the synthetic object background;

a viewing angle of a virtual camera related to the perspective taken for the generated synthetic image;

the material texture of the one or more synthetic surfaces; and

one or more types of the one or more virtual objects.

18 . The method according to claim 1 , wherein the plurality of objects forms an object map that occupies a part of the virtual space or a plane of the virtual space, occupying the virtual space in a hidden mode, wherein the object map is a constellation of the plurality of virtual objects, each virtual object of the plurality of virtual objects occupying a position in the virtual space defined in the x, y and z axes, each virtual object of the object map defined at a height (z) above the one or more synthetic surfaces.

19 . A system configured to generate a dataset of synthetic images for training an artificial intelligence model for object recognition, comprising:

a processor;

memory further including program code that, when executed by the processor, causes the processor to repeat, for generating each synthetic image of the dataset of synthetic images:

generating a virtual space including a synthetic image background comprising one or more synthetic surfaces;

spawning one or more virtual objects in the virtual space, wherein the spawning comprises:

spawning a plurality of virtual objects in a hidden mode in the virtual space through use of masks that are dimensioned to contain the virtual objects of the plurality of virtual objects, the masks concealing the plurality of virtual objects in the virtual space;

selecting the one or more virtual objects from the plurality of virtual objects; and

revealing the one or more virtual objects for the simulation;

simulating a freefall of the one or more virtual objects resulting in a simulated impact between the one or more virtual objects and the one or more synthetic surfaces for determining a position the one or more virtual objects on the synthetic image background; and

generating the synthetic image composed of the synthetic image background and the one or more virtual objects with the position of the one or more virtual objects on the synthetic image background determined from the simulated impact.

20 . A non-transitory computer-readable medium having stored thereon program instructions for generating a dataset of synthetic images for training an artificial intelligence model for object recognition training an artificial intelligence model for object recognition, the program instructions executable by a processing unit for repeating, for generating each synthetic image of the dataset of synthetic images:

generating a virtual space including a synthetic image background comprising one or more synthetic surfaces;

spawning one or more virtual objects in the virtual space, wherein the spawning comprises:

spawning a plurality of virtual objects in a hidden mode in the virtual space through use of masks that are dimensioned to contain the virtual objects of the plurality of virtual objects, the masks concealing the plurality of virtual objects in the virtual space;

selecting the one or more virtual objects from the plurality of virtual objects; and

revealing the one or more virtual objects for the simulation;

simulating a freefall of the one or more virtual objects resulting in a simulated impact between the one or more virtual objects and the one or more synthetic surfaces (including environmental simulation effects) for determining a position the one or more virtual objects on the synthetic image background; and

generating the synthetic image composed of the synthetic image background and the one or more virtual objects with the position of the one or more virtual objects on the synthetic image background determined from the simulated impact and environmental condition simulation.