Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
If you want to precisely position a camera in your scene you can load a scene with a curve object to define a specific range of positions for your camera.
For example, in this simulation, the user wanted the camera to follow the perimeter of a building and they drew a curve to represent the range of positions for the camera to take.
You can name the curve whatever you like. However, be sure to be consistent to assign the name in your camera module later.
Adds a particle system to an object which populates the geometry with instances of another collection of objects. Commonly used to populate a landscape with vegetation.
Target Object Name: Name of the object to populate with particles.
Particle Collection: Collection to instance for unique particles.
Number of Particles (Min/Max): The total number of particles on the target object geometry.
Unique Particle Instance (Min/Max): The number of unique objects to use for the particle system.
Particle Random Scale: A value between 0 and 1 where 0 maintains the original object scale and 1 is the highest level of randomization.
Seahaven is a platform that enables you to create synthetic data to train computer vision applications.
Our platform enables data scientists and AI engineers to create simulations of real-world places and events. With Lexset you can configure and run simulations that generate training data for your algorithms.
Once your account has been activated your account you will receive a link to your account page. Click the "login" button in the upper right corner.
Next, you will be directed to a login page. You can set a username and password or use your Gmail account.
After you have accessed your account you can go to your account page where you can access your user ID, bearer token, and other account information that will be necessary for you to use the Lexset APIs.
Note: We have blurred out all personal information for this tutorial. Please use your own account information.
Add a payment method
You can assign a name to objects in the outliner. These names are typically used to tell manipulators what objects in a scene to transform or manipulate in some defined way.
You can assign an object a name in the blender outliner.
If you have multiple objects with the same name you can use a "." as a delineator and assign an index number. Seahaven will only look at the prefix if you try to modify these objects later with a manipulator.
This is a great way to manipulate large groups of objects.
In this example, the user is using a Blender empty to define a possible location to place a person.
Relationship modules
This is a variation on the relationship module. You may want to array certain types of objects like desks in an office or shelving in a store.
X and Y Axis Count : These fields accept min/max variable blocks and set the number of elements in each direction.
X and Y Distance: These fields accept min/max variable blocks and set the distance between elements in each direction.
The workflow is the container where you will be defining all object relationships.
The 3D Assets tab is where you will bring 3D assets to use in your simulation into Seahaven. Here, assets are separated into folders called collections.
Collections are an important part of Seahaven. Collections not only contain groupings of 3D assets but the names will be used to manage annotations and other aspects of your simulations. Please name your collections carefully.
First, designate a Collection name on the top left-hand side of the upload tool. Each collection is comprised of the files you want to assign to a specific category.
Drag and drop your .blend files into the upload tool and select upload when they have finished processing.
This Collection should now be available for placement in the Relationship Editor
The Relationship module is used to place collections of 3D assets into the scene and to define their relationship to other objects and elements (e.g. ground_plane) using a parent/child system.
Bring your Load Collection module into the Workflow bay
The top two drop-down menus in this module are used to define the parent/child relationship. In the box on the left select the name of the parent object, and the box on the right will have the name of the child object
The Placement bay is where you will be placing the Relationship modules, which specify the configuration of the relationship between the parent and child object.
Use item count to designate the range of model numbers to sample. Use a min/max value.
Seahaven uses Blender (.blend) files for the 3D asset population, and there are a few steps of preparation to ensure your model will work effectively in your simulation.
Blender is a free download available through the Blender Foundation.
Remove everything from the scene except the 3D asset and any materials you will be packing into the file.
Purge any orphan data from the scene. This unused data can interfere with cameras, lighting, and many other parts of the simulation.
To purge orphan data, navigate to display mode, select orphan data. Then select purge.
Last, make sure to pack all your data into the blend file.
Go to File, then External Data, then Pack All Into .blend
In the Relationship Editor tab you will designate the relationships of your 3D assets to each other and elements in the scene (e.g. ground_plane):
Workflow: The workflow is the space where you will be defining all object relationships.
Load Collection: This module is used to place collections of 3D assets into the scene and to define their relationship to other objects and elements using a parent/child system.
Locate: This module is used for designating the range of placement in the scene via a vector.
Rotate: This module is used for rotating an object, rotation can be defined as a range or as a static value. Units are in degrees.
Neighbor: This module will place an object to a specific side of the parent object. You can also declare an offset as a range.
Drop: This module will place an object directly onto a parent object or element.
Center: This module will center an object on a particular axis.
This module centers an object on a particular axis.
This module is used for placing an object in the scene within a given 3d bounding box.
This module rotates an object on the z-axis. Rotation is defined as a range. Units are in degrees.
This module will place an object directly onto a parent object or element.
Placements are collections of operations that are used to transform the position and orientation of objects within the scene.
Many of the placement rules will make reference to "front"
"back"
"right"
or "left"
These tags refer to sides of the parent objects bounding box. These tags are designed to be intuitive and will help you quickly define the approximate relationship between objects.
If an element is dependent on another element such as placing a window or a door on a wall you will define that object's location in local (U,V) coordinates.
Place an object on another object
Select the two sides of the objects you want to join. You can then project the child object to the parent within a range of local (u,v) coordinates.
Place an object on top of another object.
Place a child object on top of a parent object. You can then project the child object to the parent within a range of local (u,v) coordinates.
This placement rule will place an object to a specific side of the parent object within a maximum and minimum offset distance.
Place the Neighbour module in the Placements bay
Use the drop down menu to select the oriention to the parent object to place the child object
Create an offset range. The distance is in meters.
Uniformly scale objects within a given collection
Define a scale factor in the input field.
This module generated a ground plane at the origin of the scene.
Shadow Plane: If "Shadow Plane" is enabled objects will cast a shadow on the ground plane.
Import 3D Assets into your simulation
The number of samples determines how many unique items to sample out of the collection.
For example, if we have a collection with four different 3D models of fruit (apple, orange, pear, pineapple), if you set the samples to 2, it will randomly select two from that collection. If "Load Duplicate" is enabled, the same asset may be loaded more than once.
To select a collection, use a "Collection" block from the "Variables" submenu.
Scene objects are used to define context. Including lighting, and procedurally or parametrically generated objects.
Align an an object with another object
Align an object to a specific side of the parent object.
Adds a procedural sun and sky to the environment.
Sun Strength: Relative strength of the sun's illumination. It is recommended to use a low value (e.g. 0.1) to avoid over-exposure.
Sun Rotation: Rotation of the sun in the sky relative to the world origin where 0 degrees locates the sun at the positive Y world axis.
Sun Elevation: Elevation of the sun (in degrees) relative to the horizon. Sun/Sky Model: Nishita (Nishita et al. 1993.), Hosek-Wilkie (Hosek-Wilkie et al. 2012.), or Hosek-Wilkie (No-Shadow). If the "no-shadow" option is selected, shadow rays from the sun lamp will be disabled.
The workflow is the container you will use to define the parameters of your simulation.
Scene: Scene modules are used to configure your scene context. This will include importing/generating 3D environments, backgrounds, and/or lighting.
Relationships: Relationships between classes of objects defined in the relationship editor are imported into your workflow here.
Camera: Camera type, position, and camera properties are all defined in this section.
Manipulators: Manipulators can be used to transform and randomize your scene each time a data point is generated.
Render Passes: Individual render passes are defined here (RGB, depth, normal, etc.).
Output Files: Non-image output is defined here (COCO annotations, camera matrices, etc.).
Raytrace Samples: Number of paths to trace for each pixel in the RGB images. Increasing the number of samples improves render quality, but takes more time.
Image Format: Image file format (PNG, JPEG, TIFF).
Color Depth: Image bit depth (8- and 16-bit).
Color Mode: Image color mode (RGB, Panchromatic).
JPEG Quality: JPEG image quality (only applies to JPEG image format).
Use experimental raytracer: Enables experimental raytracer features (not applicable in most simulations).
Use dynamic BVH tree: If checked, the BVH tree will be built dynamically (per object). This method may be more time-efficient for animated sequences.
Generates an interior scene using a given room type preset.
Room Type: The room layout to use for the generated scene. Options: (bedroom, livingroom). (See Room Type for more information on room types.)
Room Height: The ceiling height of the generated room (in meters).
Wall type: The material to use for the walls in the room. Options: (Gypsum, Wallpaper).
Floor type: The material to use for the floors in the room. Options: (Oak, Maple, Tile, Ceramic).
Ceiling type: The material to use for the ceilings in the room. Options: (Wood, Gypsum, ACT).
Window type: The window shape to use. The "Tall" preset is approx. 2.3m tall. Options: (Standard, Tall).
Generate recessed lights: If checked, recessed lights will be generated in the ceiling of the room.
Color temp: Color temperature of the lights, in degrees Kelvin. See Wikipedia for more information.
Light strength multiplier: A factor by which to multiply the strength of the recessed lights. Setting both the min and max to 0 will disable the lights.
High Dynamic Range Images or HDRI's are large images that project ambient light into your scene. the HDRI Lighting module allows the user to select from a drop-down menu of environment types.
With the HDRI lighting module, you load a variety of pre-loaded HDRI images that you can use as a background in your images. In addition, these images provide physically accurate environmental lighting. Project to ground: You can project your HDRI images to the scenes ground plane. Resulting in a semi-spherical projection. You can learn more about how this feature can be used when creating photorealistic images on our blog. Height: Height refers to the height of the camera when the HDRI was captured. Most HDRI images are taken between 2 and 3 meters off the ground. You can adjust this parameter to reduce distortion around the horizon, which might appear if your camera moves too high above eye level in the z axes.
Intensity: Set a minimum and maximum light intensity. The range will dictate the range of lighting brightness across all the images in your dataset.
Saturation: Sets a range for the color saturation of the HDRI background. This is a normalized value where 0 yields a greyscale background and 1 yields a full-color background.
Defines a room type, which uses accompanying object relationships to populate the space.
Room type: Choose from a list of room layout presets including "bedroom" and "living room" (more coming soon).
Object relationships: Object relationships created from the relationship editor which will be used to populate rooms of this type.
Define your camera and how it is positioned within your simulated environment.
Import 3D Assets & Relationships: This module is to import relationships between collections that have been defined in the relationships editor.
Camera Configuration is a module that is loaded into the Camera bay and allows placement of Position and Properties modules
Seahaven currently supports two different camera types (Perspectival and fisheye)
Each of these camera types can either be positioned by a curve or by using one of the position modules in Seahaven.
Curves can be imported with the 3D Asset module in the scene menu. For more information, please see the prepare your models section of this documentation.
Additionally, rotation ranges may be defined for each curve-based camera.
Frames: The number of unique frames to create in the current scene. Each frame represents a unique data point.
Curve name: The name of the curve with which the camera location will be determined.
Yaw (min/max): A range of values, determining the rotation of the camera about its up axis (looking left and right).
Pitch (min/max): A range of values, determining the rotation of the camera about its right axis (looking up and down).
Roll (min/max): A range of values, determining the rotation of the camera about its forward axis (rotating clockwise/counter-clockwise).
Camera Height (min/max): The height of the camera relative to the curve (in meters).
Animates/tracks a camera along a curve.
Frames: Number of frames to sample along the curve.
Curve Name: Name of the curve the camera will follow.
Properties: Perspective camera intrinsic properties. Additional documentation.
Shutter Speed: Shutter speed of the camera in seconds.
Camera Height (Min/Max): Height of the camera above the curve in meters.
Curve Parameter Start (Min/Max): A value between 0 and 1 indicating the start position of the camera where 0 is the start of the curve and 1 is the end of the curve.
Curve Parameter Length (Min/Max): A value between 0 and 1 indicating the distance to travel along the curve where 0 is the start of the curve and 1 is the end of the curve.
The Load Relationships module allows you to select a relationship file from a drop down menu. If you created a relationship in the Relationship Editor tab, it will appear here.
Randomly samples a camera pose on a curve.
Frames: Number of frames to sample along the curve.
Curve Name: Name of the curve to sample.
Yaw/Pitch/Roll (Min/Max): Rotation ranges for the camera about its 3 axes. Setting all values to 0 will point the camera straight down. Setting the pitch to 90 degrees will make the camera parallel with the XY/ground plane.
Camera Height (Min/Max): Height of the camera above the curve in meters.
Properties: Perspective camera intrinsic properties. Additional documentation.
Positions a camera in a room generated using the "generate interior scene" block.
Frames: Number of frames to sample in the room. Frames are generated along a random path within the room.
Control Points: Number of points which are used to create the camera path. Higher numbers increase the complexity of the path.
Distance Between Points: The min/max distance between consecutive points in the camera path.
Camera Height: Camera height above the floor (in meters).
Yaw/Pitch/Roll: Random rotation along the path (in degrees).
Additional Cameras: Optional list of additional camera positions/orientations to sample per frame. See documentation for additional information.
Properties: Fisheye camera intrinsic properties. Additional documentation.
Positions a camera on the perimeter of a room generated using the "generate interior scene" block.
Frames: Number of frames to sample in the room.
Position: The location within the room to sample. Options: (Wall, Corner).
Offset Distance: The distance from the camera to the wall (in meters).
Camera Height: Camera height above the floor (in meters).
Yaw/Pitch/Roll: Random rotation along the path (in degrees).
Required Categories: Categories which are required to be visible in each image. Additional documentation.
Properties: Fisheye camera intrinsic properties. Additional documentation.
Minimum Distance to Camera: Restricts objects from being closer than this distance to the camera.
Single Raycast Distance Check: If checked, distance will only be checked from the center of the frame.
This module allows you to choose points in a 3D bounding box for the camera to sample from
Look at: Define where your camera points using one of the blocks from the orientation menu.
Allows for additional camera positions to be sampled per frame.
Note: All values are expressed relative to an assumed origin and orientation. In other words, it can be treated as adding cameras to a device (such as a head mounted display), which informs the initial location and orientation.
Offset: Distance to offset along each axis (in meters) for this specific camera.
Rotation: Additional rotation to apply to the camera (in degrees).
Filename Suffix: Suffix to append to each image rendered by this camera. For example, using a suffix of "_L_UP" would change a filename from "rgb_0001.png" to "rgb_0001_L_UP.png"
Cameras are positioned within ranges of values. Camera position is defined as a bounding volume or point cloud within which you will sample locations. You can choose from the following options.
This module moves the camera along a cone
Look at: Define where your camera points using one of the blocks from the orientation menu.
This module moves the camera along a sphere.
Look at: Define where your camera points using one of the blocks from the orientation menu.
This block will automatically point the camera towards the items in the scene.
The bounding box of all the items in the scene is calculated and the camera will point towards the center of that bounding box.
Manipulators are modules that can be used to transform or manipulate objects that are already loaded into a scene.
This block will point the camera towards a specific location within the scene.
Define a target point to point your camera at.
This block will point the camera toward a specific object or bone as well as move the camera to a specified distance from said object.
Object Name: Name of the object. If Bone Names
is used, the name of this object should be that of a rig.
Distance to Target (min/max): Distance from the target object (or bone). If both values are set to 0, the distance will not be overridden.
Bone Names: Name(s) of the bones within the specified object to point to.
Camera intrinsic properties for a perspectival camera.
FOV (Min/Max): Sets the horizontal field of view (in radians).
F-Stop: The F-Stop (aperture) of the lens. Affects the depth-of-field of the image.
Aperture Blades: Number of blades for the aperture. Affects the shape of the bokeh.
Aperture Ratio: Simulates distortion of bokeh. Values below 1 stretch the shape of the bokeh horizontally while values above 1 will stretch the bokeh vertically.
Camera Near/Far Clip: Sets the distance of the clipping plane.
Category: Name of the category to check in each image.
Min/Max: The minimum and maximum number of instance allowed of the category in each image.
Camera manipulators modify camera extrinsics by translating and rotating the camera with a variety of methods.
Sets the camera to track to an object's position. The position of the tracking point is offset from the actual position of the object by using a randomly-generated spline.
Match By: Matches objects by their semantic category or object name.
Match Name: String to match (either category or object name, depending on previous option)
Use Partial Match: If enabled, the objects will be included if the specified string partially matches.
Camera Height: Height of the camera above the ground.
Noise may be added to the camera's tracking target so that the target is not perfectly centered in the frame. This is done by creating a random path which is superimposed over the target path.
Curve Height Offset: Height of the offset curve.
Control Points: Number of control points to use for the random curve.
Curve Min/Max: Min/max bounds of the curve in 2D.
Distance Between Points: Distance between control points.
Control Points Final: Final number of control points of the resampled curve.
See Camera Path Settings for specific types of camera paths.
Adds a point light coincident with the camera and converts color space to panchromatic to mimic the appearance of near-field IR imagery.
Illuminator Power: Radiant power of the point light in Watts.
This block positions the camera above an object matching the provided name and method (category or object name).
Match By: Property with which to match an object (Category/Object Name).
Match Name: A string to match (case-insensitive) the object category or name.
Use Partial Match: If checked, all objects with a partial match to the provided name will be sampled.
Override Existing Camera Rotation: If checked, the initial rotation of the camera will be replaced with the provided values.
Initial Rotation (Yaw/Pitch/Roll): Ranges of rotation values to use as the camera's initial rotation. If "Override Existing Camera Rotation" is unchecked, the camera's current rotation values will be used.
Additional Rotation (Yaw/Pitch/Roll): Rotation values which are applied in addition to the initial rotation.
Additional Translation (X/Y/Z): Translation applied after the camera's position has already been overridden.
FOV: Sets field of view, degrees
Sensor Size: The sensor in the camera expressed in millimeters
Focal Length: The camera focal length expressed in millimeters
Randomizes the HDRI background image per frame
Project to ground: If enabled, the lower half of the HDRI is flattened to the ground plane.
Height: Height above the ground at which the HDRI was captured. Only applies if "project to ground" is also enabled.
Intensity: Relative intensity factor of the HDRI.
Saturation: Relative color saturation of the HDRI where 0 is greyscale and 1 is full saturation.
Frames: Number of frames in the final sequence. Each frame will have a unique HDRI background.
Randomizes the color of a material.
Material name: The name of the material to be randomized.
Chance: Chance (as a percentage, between 0 and 100) to randomize the material’s color.
Settings for various camera path types.
Offset X/Y: Additional 2D offset of the camera path.
Radius A/B: Radius of the ellipse along each axis. Using equal values for both will yield a circular path. The center of the ellipse is the midpoint of the target's path.
Offset X/Y: Additional 2D offset of the camera path.
Step Size: Step size (degrees) per frame.
Orbit Offset: Initial radial offset along the path of the orbit.
Offset Start X/Y: 2D offset of the start of the camera's path.
Offset End X/Y: 2D offset of the end of the camera's path.
Adjust the intensity of lights in your scene
This block will change the intensity of all light objects in your scene. Please note that this will impact HDRI light sources. IMPORTANT - please make sure the block is always used before the "Near IR" block. The "Near IR" block will add a light to your scene. Modifiers are executed sequentially and if it is executed first the light used in the IR simulation will not be impacted.
A physical light object using polar coordinates. Used with the Place Lights block.
Light Type: Light object type. "Point", "Area", or "Spot".
Coordinates: Coordinates of the light object relative to the bounding sphere of the target objects.
Radius: Radius of the polar coordinate, as a factor of the bounding sphere. For example, if the bounding sphere has a radius of 2 meters and the radius in this input is also set to 2, the light would be placed 4 meters from the origin.
Theta/Phi: Defines the azimuth angle and polar angle, respectively, expressed in degrees. Theta (azimuth) is limited to a range of [0, 360] and Phi (polar) is limited to a range of [0, 180]. [r=1, θ=0, φ=0]: Point at the upper pole of the sphere. [r=1, θ=0, φ=90]: Point at the equator, aligned to the +X world axis. [r=1, θ=90, φ=45]: Point aligned to the -Y world axis, halfway between the upper pole and equator. Size: "Size" of the light object. For Point and Spot lights, this is the radius of the light. For an Area light, this is the width/height of the light.
Power: Radiant power of the light in watts. Color Temp: Color temperature of the light in degrees Kelvin (more information on blackbody radiation may be found here).
Chance: Chance for this light to be created.
Places physical light objects in the scene relative to a target object's bounding box
Target Object: Optional name of a target object. If none is provided, the overall bounding box of non-background objects in the scene will be used.
Use Partial Match: If checked, objects with a name partially matching the provided "target object" string will be used for the overall bounding box.
Bounding Sphere Mode: Determines the method to fit a bounding sphere for the purposes of placing "polar" light objects. "Bounding Box" samples only the corners of the objects' bounding boxes when fitting spherical bounds. "Geometry" samples all vertices of the target objects' mesh in order to fit the sphere.
Frames: Number of unique frames to sample for each light's position.
Lights: An array of Light objects to place relative to the bounding box.
A physical light object relative to a bounding box. Used with the Place Lights block.
Light Type: Light object type. "Point", "Area", or "Spot".
Bbox Face: Bounding box face to reference. "Auto" will select the bounding box face closest to the camera.
Coordinates (UVW): Coordinates of the light object relative to the bounding box. "U" references the horizontal axis of the bounding box, "V" references the vertical axis, and "W" is normal to the bounding box face. The point [0, 0, 0] corresponds to the bottom-left corner of the bounding box. Values along the W axis are normalized to the depth of the bounding box. For example, a value of 0 would make the light coincident with the bounding box face and a value of 1 would offset the light along the W axis (normal) by a distance equal to the bounding box depth. [0, 0, 0]: Bottom-left corner of the face, coplanar with the face. [1, 1, 0]: Top-right corner of the face, coplanar with the face. [0.5, 0.5, 1]: Center of the face, offset by 1x the depth of the bounding box. Size: "Size" of the light object. For Point and Spot lights, this is the radius of the light. For an Area light, this is the width/height of the light.
Power: Radiant power of the light in watts. Color Temp: Color temperature of the light in degrees Kelvin (more information on blackbody radiation may be found here).
Chance: Chance for this light to be created.
Randomizes a numerical property of a material.
Material name: The name of the material to be randomized.
Property name: Name of the material property to randomize.
Value (min/max): A range of values to uniformly sample for the new property value.
Load a set of materials from a collection.
Material collections are created on the "Materials" page. You can upload your own shaders and materials to a designated collection.
Define how materials are mapped to other materials in the scene and at what frequency they are replaced.
Replace: Enter the material name in your scene file. In the final port on this row input an object name variable here. With: provide a material name with a weight.
A list of pose pairs.
A pose set block is a list of pose pairs, from which one pose pair will be chosen and then applied.
In the image above, two sets of poses will be applied to a single rig, "rig". The first set of poses will apply a pose partially matching the name "_L" (e.g. a left-handed pose).
The second set of poses will apply a pose partially matching the name "_R" (e.g. a right-handed pose).
Randomly replace a material in your scene.
Import: Load a material collection into your scene.
Replace by: Select materials to be replaced by either "object name" or by category.
Defines a pair of poses for interpolation.
This is used in conjunction with the Pose Objects block. This will interpolate between two poses, the amount of which is determined by min and max bias values (as a percentage). The example below will interpolate between open
and closed
poses between 0% and 25%. A bias below 50% will label the object using the name of Pose A
, whereas a bias above 50% will label the object using the name of Pose B
.
Pose A: The first pose.
Pose B: The second pose.
Bias Min: Weight toward the first pose.
Bias Max: Weight toward the second pose.
Pose name partial match: If checked, pose names partially matching the given name will also be sampled. For example, using the pose name "sitting" will match all poses containing the string "sitting".
Removes objects and/or annotations given the area of their segmentation in pixels
Objects are filtered depending on the provided categories and parameters. The "Category" block is found under the "Variables" section in the sidebar.
Category: Category name to which these settings apply.
Min segmentation area: Minimum allowable area of the segmentation of the object.
Category is optional: If a category is neither optional nor found in the final annotations, the pipeline will be re-run to produce a new data point.
Remove objects below min area: If true, objects not meeting the requirements will be removed from the scene and all images will be re-rendered. This process is repeated up to 3 times.
This module will remove objects of a specific name from your scene.
Define the object name and what percentage of the items you want to be removed from the scene.
This can be a useful way to randomize a scene by randomly deleting items each time a new data point is generated.
Object Name: Name of the object to delete.
Percentage to delete: Percentage of objects matching the name to delete.
Ignore: Number of objects to skip deleting.
Min/Max Distance: Distance range from the camera in which objects may be ignored.
View Limits X (Min/Max): A pair of values where 0 is the left side of the frame and 1 is the right side of the frame.
View Limits Y (Min/Max): A pair of values where 0 is the bottom of the frame and 1 is the top of the frame.
Input a material name and a weight
Weight defines the likleyhood of this material being used over another one in the list.
This module applies a pose to a rigged object
This block can be added to change the pose of an object given the name of the rig and a list of poses. There are two variants of this block--the following will only apply a single pose.
Rig Name: The name of the rig to modify.
Poses: A list of poses. See Pose Pair for more information.
This variant of the block will apply multiple poses (one from each "pose set").
Rig Name: The name of the rig to modify.
Pose Sets: A list of pose sets, each of which contain a list of pose pairs. See Pose Set for more information.
Constrains (parents) one object to another. All transformations applied to the parent object will be inherited by the child object.
Child Collection: Collection from which to load a child object.
Parent Object Name: Name of the parent object (case-insensitive).
Parent Bone Name: (Optional) Name of the bone in the parent object. Only applies to rigged objects.
Partial Match Name: If checked, a partial match will be used for the parent object name.
Number of Parents (Min/Max): Number of objects to act as parents.
Number of Children (Min/Max): Number of objects to load as children.
Loads objects along a curve
Curve Name: Name of the curve(s) along which the objects will be loaded.
Object Collection: Collection of objects to load along the curve.
Curve Parameter (Min/Max): Defines the part of the curve to sample where 0 is the start of the curve and 1 is the end of the curve.
Curve Parameter Tolerance: The tolerance (between 0 and 1) to use when sampling points along the curve. Using a larger value will cause objects to be placed farther apart from one another.
Number of Samples (Min/Max): Number of points to sample for placing objects.
Random Rotation (Min/Max): A range of rotation values (in degrees) to apply to the objects after they have been placed and aligned to the curve.
This block provides replacement settings related to the camera view.
Align to Camera: If checked, replaced objects will face the camera (affected by rotation values).
Distance to Replace (Min/Max): Distance range from the camera within which objects will be replaced. If both values are set to 0, there will be no restriction.
Replace in View: If checked, only objects within the view of the camera will be replaced. The extents of the view may be restricted using X and Y view limits.
View Limits X (Min/Max): A pair of values where 0 is the left side of the frame and 1 is the right side of the frame.
View Limits Y (Min/Max): A pair of values where 0 is the bottom of the frame and 1 is the top of the frame.
This block loads and parents a child object.
This block loads a child object, using two bones to parent the object.
Load child object from: Collection of 3d assets to sample (objects which will be used to replace).
Parent bone name: Name of the bone in the parent rig.
Child bone name: Name of the bone in the child rig.
Renders an RGB image with optional compositing effects.
Renders an RGB image with no shadow rays.
Pass Type: "All" disables shadows for all objects, "Categorized" disables shadows only for objects with an assigned semantic category.
The replace module can be used to replace objects in your scene with other objects.
You can also transform the items in your scene by rotating them, aligning them to the camera or setting them a minimum distance from your camera.
Object Name: Name of the object to delete.
Items: Number of objects to replace in the scene.
Collection: Collection of 3d assets to sample (objects which will be used to replace). If the Load Child Object block is used, this will serve as the parent object.
New Object Name: (Optional) new name for the replaced object.
Rotation (Min/Max): Rotation range, in degrees, about the object's vertical axis.
View settings (optional): A block defining view-related settings. See more.
Load child object (optional): A block which loads and parents a child object. See more.
Adds visual artifacts to the image, including defocus blur, chromatic aberration and saturation adjustment.
Blur Strength: Specifies the strength of the defocusing as a multiplier where a value of 0 yields a sharp image.
Chromatic Aberration Hue Shift: Shifts the hue of the chromatic aberration effect to provide different-colored halos around objects.
Chromatic Aberration Strength: Sets the strength of the chromatic aberration effect.
Saturation: Sets the saturation of the image relative to the raw output.
Noise Amount (min/max): The amount of noise to add, defined as 1/n where n is the average number of photons per fully-illuminated pixel. A value of 0 adds no noise.
Chance to add noise: Chance that noise will be added to a given image.
Recolors the image using an ironbow color palette.
Isolates foreground (categorized) objects.
All objects without an assigned category (or non-background category) are hidden from view. The image background is transparent, or, in cases where the image format does not support transparency such as JPEG, the background is black.
Outputs a visualization of the segmentation map
Adds a glare effect to the image using highlights.
Glare Exposure (Stops): Exposure of the glare effect. Setting a higher value will increase the intensity of the glare in the image.
Outputs a z-depth pass
Output Format: "OpenEXR" or "PNG". When using OpenEXR, the depth value (in meters) is stored directly in each pixel. The PNG image will map the range of depth values to where a value of 255 corresponds to the value for "far clip".
Far Clip: The maximum depth value (in meters). This distance corresponds to a pixel value of 255 in the PNG image. This has no effect on the OpenEXR output.
Renders a binary segmap given a method, comparison type, and threshold.
Binary Settings: Determines the method to use to produce the binary segmap, either directly from 1 or more compatible materials, or by performing additional compositing.
Comparison Type: Determines how to compare the pixel values to the threshold, either "Greater Than" or "Less Than"
Threshold: Cut-off value for the binary mask.
Class Name: Name to assign to annotations produced using the binary mask.
Separate Contours: If checked, individual annotations will be produced for each contour of the binary mask. Otherwise, there will be at most 1 annotation per image which contains all contours from the binary segmap.
Renders an image using an ironbow color palette.
Exports surface normals in camera space.
Output Format: "OpenEXR" or "PNG". Surface normals are formatted as normalized vectors in camera space (Y-up, X-right, Z-forward). In OpenEXR format, values are between -1 and 1, while in PNG format values are mapped from [-1, 1] to [0, 255]. "Transparent" pixels, or pixels which do not have a valid surface normal associated to them, have a value of [0, 0, 0].
Creates a binary segmentation map using the compositor.
Compositing Method: Compositing method to use for producing the binary segmap.
By default, your workflow generates RGB images with COCO annotations. Additional non-image outputs are defined here.
Creates a binary segmentation map using a material in the scene.
Sample All Materials: If checked, all compatible materials will be evaluated using the comparison type and threshold of the parent "Binary Segmentation" block.
Materials: A list of material names to use for producing the binary segmap.
Exports annotations in COCO-JSON format. Visualizations of the annotations may also be produced.
Show Bounding Box: Toggle to display 2D bounding boxes around each of the annotations.
Show Label: Toggle to display the category name inside of the annotation's bounding box.
Show Segmentation: Toggle to display segmentation contours.
Show Keypoints: Toggle to display keypoint annotations, if applicable.
Categories to Visualize: The names of the categories to visualize. If left empty, annotations for all categories will be visualized. Category names are provided using a Category Name block under Variables/Text Inputs.