Ghosts and other weird things

Currently I am forced to run every generation interval: 2 because on every even output rgb photo I get random issues (gosting, invalid materials, invalid lighighting). I am using path tracing renderer.

Any ideas what to do so I don’t have to double generate and then delete even numbered files? I literally do rm -f ./*[02468].* so only “good” ones remain.

trigger:
  trigger.on_frame:
    interval: 2
    ...

Because on every odd photo I get ghosting and/or invalid backgrounds:

A:


B:


C:


D:


@pcallender @dennis.lynch

Would you happen to have a script you can share? Even one over private DM would help. I ran this by the dev team and we know of some mipmap streaming issues, but we haven’t seen anything like this. Log too if you have it.

# Default scene settings. This script default is 1 (IsaacSim), so if you change
# the meters per unit or up axis, you need to alter the coordinates and rotations.

# IsaacSim default is 1, Code is 0.01
stage_unit_setting:
  settings.set_stage_meters_per_unit:
    meters_per_unit: 1

# IsaacSim default is "Z"", Code is "Y"
stage_up_axis_setting:
  settings.set_stage_up_axis:
    up_axis: Z

# Enable Path Tracing
path_tracing:
  settings.set_render_pathtraced:
    samples_per_pixel: 32

path_tracing_clamp:
  settings.carb_settings:
    setting: /rtx/pathtracing/clampSpp
    value: 0
# Load the stage
load_stage:
  create.from_usd:
    usd: omniverse://localhost/Library/wh1.usd

# Select the objects in the stage
forklift:
  get.prim_at_path:
    path:  /Replicator/Ref_Xform/Ref/forklift

floor:
  get.prims:
    semantics: [[class, floor]]

racks_and_walls:
  get.prims:
    semantics: [[class, rack], [class, wall]]

light:
  get.prim_at_path:
    path: /Environment/defaultLight

camera:
  create.camera:
    position: [0, 0, 0]
    rotation: [0, 0, 0]

# Create output
render_product:
  create.render_product:
    camera: camera
    resolution: [1280, 720]

writer:
  writers.get:
    name: KittiWriter
    init_params:
      partly_occluded_threshold: 0.24
      fully_visible_threshold: 0.25
      semantic_filter_predicate: class:person
      output_dir: /workspaces/Surveily.Datasets.Generator.Omniverse/.out/Surveily.Omniverse.Worlds/Warehouse/

writer_attach:
  writer.attach:
    render_products: render_product
# Load the animations
businessmbb0001476549_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, businessmbb0001476549]]
    dir_path: omniverse://localhost/Library/Assets/People/business-m-bb-0001-476549/Motion/

businessmbb0001476549_animations:
  get.prims:
    semantics: [[animation, businessmbb0001476549]]
# Load the animations
businessmbb0003476551_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, businessmbb0003476551]]
    dir_path: omniverse://localhost/Library/Assets/People/business-m-bb-0003-476551/Motion/

businessmbb0003476551_animations:
  get.prims:
    semantics: [[animation, businessmbb0003476551]]
# Load the animations
casualfbb0001476556_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, casualfbb0001476556]]
    dir_path: omniverse://localhost/Library/Assets/People/casual-f-bb-0001-476556/Motion/

casualfbb0001476556_animations:
  get.prims:
    semantics: [[animation, casualfbb0001476556]]
# Load the animations
casualfbb0002476554_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, casualfbb0002476554]]
    dir_path: omniverse://localhost/Library/Assets/People/casual-f-bb-0002-476554/Motion/

casualfbb0002476554_animations:
  get.prims:
    semantics: [[animation, casualfbb0002476554]]
# Load the animations
casualmbb0002476553_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, casualmbb0002476553]]
    dir_path: omniverse://localhost/Library/Assets/People/casual-m-bb-0002-476553/Motion/

casualmbb0002476553_animations:
  get.prims:
    semantics: [[animation, casualmbb0002476553]]
# Load the animations
uniformf0002_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0002]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0002/Motion/

uniformf0002_animations:
  get.prims:
    semantics: [[animation, uniformf0002]]
# Load the animations
uniformf0003_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0003]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0003/Motion/

uniformf0003_animations:
  get.prims:
    semantics: [[animation, uniformf0003]]
# Load the animations
uniformf0004_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0004]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0004/Motion/

uniformf0004_animations:
  get.prims:
    semantics: [[animation, uniformf0004]]
# Load the animations
uniformf0015_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0015]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0015/Motion/

uniformf0015_animations:
  get.prims:
    semantics: [[animation, uniformf0015]]
# Load the animations
uniformf0016_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0016]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0016/Motion/

uniformf0016_animations:
  get.prims:
    semantics: [[animation, uniformf0016]]
# Load the animations
uniformf0017_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformf0017]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-f-0017/Motion/

uniformf0017_animations:
  get.prims:
    semantics: [[animation, uniformf0017]]
# Load the animations
uniformm0004_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0004]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0004/Motion/

uniformm0004_animations:
  get.prims:
    semantics: [[animation, uniformm0004]]
# Load the animations
uniformm0005_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0005]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0005/Motion/

uniformm0005_animations:
  get.prims:
    semantics: [[animation, uniformm0005]]
# Load the animations
uniformm0006_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0006]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0006/Motion/

uniformm0006_animations:
  get.prims:
    semantics: [[animation, uniformm0006]]
# Load the animations
uniformm0021_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0021]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0021/Motion/

uniformm0021_animations:
  get.prims:
    semantics: [[animation, uniformm0021]]
# Load the animations
uniformm0022_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0022]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0022/Motion/

uniformm0022_animations:
  get.prims:
    semantics: [[animation, uniformm0022]]
# Load the animations
uniformm0023_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0023]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0023/Motion/

uniformm0023_animations:
  get.prims:
    semantics: [[animation, uniformm0023]]
# Load the animations
uniformm0024_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0024]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0024/Motion/

uniformm0024_animations:
  get.prims:
    semantics: [[animation, uniformm0024]]
# Load the animations
uniformm0025_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0025]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0025/Motion/

uniformm0025_animations:
  get.prims:
    semantics: [[animation, uniformm0025]]
# Load the animations
uniformm0026_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0026]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0026/Motion/

uniformm0026_animations:
  get.prims:
    semantics: [[animation, uniformm0026]]
# Load the animations
uniformm0027_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, uniformm0027]]
    dir_path: omniverse://localhost/Library/Assets/People/uniform-m-0027/Motion/

uniformm0027_animations:
  get.prims:
    semantics: [[animation, uniformm0027]]
# Overwrite Seed
# set_seed:
#   core.set_global_seed:
#     seed: 123456789

# Set the trigger as on_frame
trigger:
  trigger.on_frame:
    interval: 2
    max_execs: 100
    #rt_subframes: 10

# Set sun intensity
with.light:
  modify.attribute:
    name: intensity
    value: 4000

# When the trigger executes, run the following logic
with_trigger:
  with.trigger:

    # Randomize sun
    with.light:
      modify.attribute:
        name: angle
        value:
          distribution.uniform:
            lower: -20
            upper: 0.53
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 60, 180]


    # move the camera around and rotate
    with.camera:
      modify.pose:
        position:
          distribution.uniform:
            lower: [-23.6, -3, 2.5]
            upper: [3.03, 3, 7.5]
        rotation:
          distribution.uniform:
            lower: [0, -30, -120]
            upper: [0, -10, -60]

    # move the forklift around and rotate
    with.forklift:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      # randomizer.scatter_2d:
      #   seed: 100
      #   surface_prims: floor
      #   no_coll_prims: racks_and_walls
      #   check_for_collisions: True

    # create and scatter forklifts
    fork_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/NVIDIA/Assets/Isaac/2023.1.1/Isaac/Props/Forklift/forklift.usd
        size: 20
        mode: scene_instance

    with.fork_instance:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      randomizer.scatter_2d:
        seed: 100
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # create and scatter cones
    cone_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/NVIDIA/Assets/Isaac/2023.1.1/Isaac/Environments/Simple_Warehouse/Props/S_TrafficCone.usd
        size: 50
        mode: scene_instance

    with.cone_instance:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      randomizer.scatter_2d:
        seed: 101
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # create and scatter wet floor signs
    wet_floor_sign_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/NVIDIA/Assets/Isaac/2023.1.1/Isaac/Environments/Simple_Warehouse/Props/S_WetFloorSign.usd
        size: 50
        mode: scene_instance

    with.wet_floor_sign_instance:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      randomizer.scatter_2d:
        seed: 103
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # create and scatter cage trolleys
    trolley_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/trolley1-fbx.usd
        size: 50
        use_cache: False

    trolley_wall:
      get.prims:
        semantics: [[class, cagesteel], [class, cagedarksteel]]

    trolley_floor:
      get.prims:
        semantics: [[class, cagefloor]]

    with.trolley_wall:
      randomizer.materials:
        materials:
          - /Replicator/Ref_Xform/Ref/Looks/Painted_Metal_Yellow_A
          - /Replicator/Ref_Xform/Ref/Looks/Painted_Metal_Yellow_Glossy_A
          - /Replicator/Ref_Xform/Ref/Looks/Painted_Metal_Grey_Glossy_A
          - /Replicator/Ref_Xform/Ref/Looks/Painted_Metal_Orange_A
          - /Replicator/Ref_Xform/Ref/Looks/Painted_Metal_Red_A
          # - /Replicator/Ref_Xform/Ref/Looks/Powdercoat_A
      # randomizer.color:
      #   colors:
      #     - [5, 5, 0]
      #     - [111, 111, 111]
      #     - [155, 155, 104]
      #     - [155, 155, 53]

    with.trolley_floor:
      randomizer.materials:
        materials:
          - /Replicator/Ref_Xform/Ref/Looks/Gold_Scratched
          - /Replicator/Ref_Xform/Ref/Looks/Aluminum_Scratched
          - /Replicator/Ref_Xform/Ref/Looks/Stainless_Steel_Milled

    with.trolley_instance:
      # modify.semantics:
      #   semantics: [[class, cagetrolley]]
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      randomizer.scatter_2d:
        seed: 102
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # Create and scatter
    businessmbb0001476549_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/business-m-bb-0001-476549/Actor/business-m-bb-0001-476549/business-m-bb-0001-476549.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.businessmbb0001476549_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: businessmbb0001476549_animations
      randomizer.scatter_2d:
        seed: 0
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    businessmbb0003476551_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/business-m-bb-0003-476551/Actor/business-m-bb-0003-476551/business-m-bb-0003-476551.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.businessmbb0003476551_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: businessmbb0003476551_animations
      randomizer.scatter_2d:
        seed: 1
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    casualfbb0001476556_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/casual-f-bb-0001-476556/Actor/casual-f-bb-0001-476556/casual-f-bb-0001-476556.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.casualfbb0001476556_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: casualfbb0001476556_animations
      randomizer.scatter_2d:
        seed: 2
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    casualfbb0002476554_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/casual-f-bb-0002-476554/Actor/casual-f-bb-0002-476554/casual-f-bb-0002-476554.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.casualfbb0002476554_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: casualfbb0002476554_animations
      randomizer.scatter_2d:
        seed: 3
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    casualmbb0002476553_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/casual-m-bb-0002-476553/Actor/casual-m-bb-0002-476553/casual-m-bb-0002-476553.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.casualmbb0002476553_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: casualmbb0002476553_animations
      randomizer.scatter_2d:
        seed: 4
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0002_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0002/Actor/uniform-f-0002/uniform-f-0002.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0002_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0002_animations
      randomizer.scatter_2d:
        seed: 5
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0003_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0003/Actor/uniform-f-0003/uniform-f-0003.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0003_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0003_animations
      randomizer.scatter_2d:
        seed: 6
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0004_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0004/Actor/uniform-f-0004/uniform-f-0004.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0004_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0004_animations
      randomizer.scatter_2d:
        seed: 7
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0015_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0015/Actor/uniform-f-0015/uniform-f-0015.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0015_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0015_animations
      randomizer.scatter_2d:
        seed: 8
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0016_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0016/Actor/uniform-f-0016/uniform-f-0016.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0016_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0016_animations
      randomizer.scatter_2d:
        seed: 9
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformf0017_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-f-0017/Actor/uniform-f-0017/uniform-f-0017.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformf0017_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformf0017_animations
      randomizer.scatter_2d:
        seed: 10
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0004_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0004/Actor/uniform-m-0004/uniform-m-0004.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0004_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0004_animations
      randomizer.scatter_2d:
        seed: 11
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0005_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0005/Actor/uniform-m-0005/uniform-m-0005.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0005_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0005_animations
      randomizer.scatter_2d:
        seed: 12
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0006_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0006/Actor/uniform-m-0006/uniform-m-0006.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0006_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0006_animations
      randomizer.scatter_2d:
        seed: 13
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0021_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0021/Actor/uniform-m-0021/uniform-m-0021.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0021_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0021_animations
      randomizer.scatter_2d:
        seed: 14
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0022_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0022/Actor/uniform-m-0022/uniform-m-0022.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0022_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0022_animations
      randomizer.scatter_2d:
        seed: 15
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0023_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0023/Actor/uniform-m-0023/uniform-m-0023.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0023_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0023_animations
      randomizer.scatter_2d:
        seed: 16
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0024_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0024/Actor/uniform-m-0024/uniform-m-0024.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0024_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0024_animations
      randomizer.scatter_2d:
        seed: 17
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0025_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0025/Actor/uniform-m-0025/uniform-m-0025.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0025_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0025_animations
      randomizer.scatter_2d:
        seed: 18
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0026_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0026/Actor/uniform-m-0026/uniform-m-0026.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0026_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0026_animations
      randomizer.scatter_2d:
        seed: 19
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True
    # Create and scatter
    uniformm0027_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/Library/Assets/People/uniform-m-0027/Actor/uniform-m-0027/uniform-m-0027.usd
        size: #15
          distribution.uniform:
            lower: [1]
            upper: [3]
        use_cache: False

    with.uniformm0027_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: uniformm0027_animations
      randomizer.scatter_2d:
        seed: 20
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # Randomize floor
    with.floor:
      modify.material:
        value:
          - /Replicator/Ref_Xform/Ref/SM_floor27/Looks/MI_Floor_02b
          - /Replicator/Ref_Xform/Ref/Looks/Concrete_Floor_Damage
          - /Replicator/Ref_Xform/Ref/Looks/Concrete_Polished
          - /Replicator/Ref_Xform/Ref/Looks/Concrete_Precast

I will post logs later today when I am generating the new dataset

This issue is becoming more and more burning to us … @pcallender

@Turowicz Thanks for the script, but unfortunately I’m unable to run it since I don’t have a lot of those referenced assets. If you’re able to narrow the issue down into a simple reproducible script we’d be in a much better position to track down the issue.

Here’s a few additional thoughts on narrowing this down:

This does feel like a content related issue. Things that jump to mind that I’d try:

  • The fact it does this on interval is very strange, but if you leave it running long enough does the issue clear up? (could it be a loading into memory issue that once all permutations have been loaded its no longer an issue?)
  • Are only specific assets demonstrating the white appearance? Seems like only people?
  • Where are the assets physically located? On a remote server? Try running them from local copies.
  • Check if the affected assets have anything obviously wrong with them, maybe materials that dont compile? Abnormally large textures?
  • We 100% want that log, if you’re able to provide it. It should flag up any material errors or loading problems.

Here is a smaller script with OV assets. Just replace the localhost with OV cloud URL.

Answers:

  • Leaving long enough doesn’t fix it.
  • All assets that are being scattered_2d are demonstrating the white appearance.
  • As you see I am using localhost.
  • Assets are default from OV or ActorCore so they are all good.
  • Sure, log is attached.
    log.txt (119.9 KB)
# IsaacSim default is 1, Code is 0.01
stage_unit_setting:
  settings.set_stage_meters_per_unit:
    meters_per_unit: 1

# IsaacSim default is "Z"", Code is "Y"
stage_up_axis_setting:
  settings.set_stage_up_axis:
    up_axis: Z

# Create the camera and render product
camera:
  create.camera:
    position: [0, 0, 0]
    rotation: [0, 0, 0]

render_product:
  create.render_product:
    camera: camera
    resolution: [1280, 720]

# Enable Path Tracing
path_tracing:
  settings.set_render_pathtraced:
    samples_per_pixel: 32

path_tracing_clamp:
  settings.carb_settings:
    setting: /rtx/pathtracing/clampSpp
    value: 0

# Load the stage
stage:
  create.from_usd:
    usd: omniverse://localhost/NVIDIA/Assets/Isaac/2023.1.0/Isaac/Environments/Simple_Warehouse/full_warehouse.usd

# Select the objects in the stage
forklift:
  create.group:
    items:
      - /Replicator/Ref_Xform/Ref/forklift

floor:
  get.prims:
    semantics: [[class, floor]]

racks_and_walls:
  get.prims:
    semantics: [[class, rack], [class, wall]]

# Create the writer and initialize
writer:
  writers.get:
    name: KittiWriter
    init_params:
      semantic_filter_predicate: class:sign|cone
      output_dir: /workspaces/synthetic-data-examples/.out/Warehouse

writer_attach:
  writer.attach:
    render_products: render_product

# Set the trigger as on_frame
trigger:
  trigger.on_frame:
    interval: 2
    max_execs: 50

# When the trigger executes, run the following logic
with_trigger:
  with.trigger:
    # move the camera around and rotate
    with.camera:
      modify.pose:
        position:
          distribution.uniform:
            lower: [-23.6, -3, 2.5]
            upper: [3.03, 3, 5.0]
        rotation:
          distribution.uniform:
            lower: [0, -30, -120]
            upper: [0, -10, -60]

    # move the forklift around and rotate
    with.forklift:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, 0]
            upper: [0, 0, 359]
      randomizer.scatter_2d:
        seed: 0
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # create and scatter cones
    cone_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/NVIDIA/Assets/Isaac/2023.1.0/Isaac/Environments/Simple_Warehouse/Props/S_TrafficCone.usd
        size: 50
        mode: scene_instance

    with.cone_instance:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, 0]
            upper: [0, 0, 359]
      randomizer.scatter_2d:
        seed: 1
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # create and scatter wet floor signs
    wet_floor_sign_instance:
      randomizer.instantiate:
        paths:
          - omniverse://localhost/NVIDIA/Assets/Isaac/2023.1.0/Isaac/Environments/Simple_Warehouse/Props/S_WetFloorSign.usd
        size: 50
        mode: scene_instance

    with.wet_floor_sign_instance:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, 0]
            upper: [0, 0, 359]
      randomizer.scatter_2d:
        seed: 3
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

@pcallender currently my SDG pipeline takes 48h to process. If I didn’t have to use interval=2 that would be split in half to 24h. Please help.

I’ve DM’d you for faster communication.

Here is the full script with OV cloud links that reproduces the issue. There is something wrong with ActorCore…

# Default scene settings. This script default is 1 (IsaacSim), so if you change
# the meters per unit or up axis, you need to alter the coordinates and rotations.

# IsaacSim default is 1, Code is 0.01
stage_unit_setting:
  settings.set_stage_meters_per_unit:
    meters_per_unit: 1

# IsaacSim default is "Z"", Code is "Y"
stage_up_axis_setting:
  settings.set_stage_up_axis:
    up_axis: Z

# Enable Path Tracing
path_tracing:
  settings.set_render_pathtraced:
    samples_per_pixel: 32

path_tracing_clamp:
  settings.carb_settings:
    setting: /rtx/pathtracing/clampSpp
    value: 0

# Load the stage
load_stage:
  create.from_usd:
    usd: http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/2023.1.1/Isaac/Environments/Simple_Warehouse/full_warehouse.usd

# Select the objects in the stage
forklift:
  get.prim_at_path:
    path:  /Replicator/Ref_Xform/Ref/forklift

floor:
  get.prims:
    semantics: [[class, floor]]

racks_and_walls:
  get.prims:
    semantics: [[class, rack], [class, wall]]

camera:
  create.camera:
    position: [0, 0, 0]
    rotation: [0, 0, 0]

# Create output
render_product:
  create.render_product:
    camera: camera
    resolution: [1280, 720]

writer:
  writers.get:
    name: BasicWriter
    init_params:
      rgb: True
      bounding_box_2d_tight: True
      semantic_filter_predicate: class:sign|cone|person
      output_dir: /workspaces/Surveily.Datasets.Generator.Omniverse/.out/Issues/ghosting

writer_attach:
  writer.attach:
    render_products: render_product

# Load the animations
actor_load_animations:
  create.from_dir:
    recursive: True
    semantics: [[animation, actor]]
    dir_path: http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Characters/Reallusion/ActorCore/Business_F_0002/Motion/

actor_animations:
  get.prims:
    semantics: [[animation, actor]]

# Set the trigger as on_frame
trigger:
  trigger.on_frame:
    interval: 2
    max_execs: 20
    #rt_subframes: 10

# When the trigger executes, run the following logic
with_trigger:
  with.trigger:
    # Create and scatter actor
    actor_instance:
      randomizer.instantiate:
        paths:
          - http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Characters/Reallusion/ActorCore/Business_F_0002/Actor/business-f-0002/business-f-0002.usd
        size: #15
          distribution.uniform:
            lower: 1
            upper: 10
        use_cache: False

    with.actor_instance:
      modify.pose:
        scale: 0.01
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      modify.semantics:
        semantics: [[class, person]]
      modify.animation:
        values: 
          distribution.sequence:
            items: actor_animations
      randomizer.scatter_2d:
        seed: 1
        surface_prims: floor
        check_for_collisions: True

    # create and scatter cones
    cone_instance:
      randomizer.instantiate:
        paths:
          - http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/2023.1.1/Isaac/Environments/Simple_Warehouse/Props/S_TrafficCone.usd
        size: #50
          distribution.uniform:
            lower: 20
            upper: 50
        mode: scene_instance

    with.cone_instance:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      randomizer.scatter_2d:
        seed: 1
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # create and scatter wet floor signs
    wet_floor_sign_instance:
      randomizer.instantiate:
        paths:
          - http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/2023.1.1/Isaac/Environments/Simple_Warehouse/Props/S_WetFloorSign.usd
        size: #50
          distribution.uniform:
            lower: 20
            upper: 50
        mode: scene_instance

    with.wet_floor_sign_instance:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      randomizer.scatter_2d:
        seed: 3
        surface_prims: floor
        no_coll_prims: racks_and_walls
        check_for_collisions: True

    # move the camera around and rotate
    with.camera:
      modify.pose:
        position:
          distribution.uniform:
            lower: [-23.6, -3, 2.5]
            upper: [3.03, 3, 7.5]
        rotation:
          distribution.uniform:
            lower: [0, -30, -120]
            upper: [0, -10, -60]

    # move the forklift around and rotate
    with.forklift:
      modify.pose:
        rotation:
          distribution.uniform:
            lower: [0, 0, -180]
            upper: [0, 0, 180]
      # randomizer.scatter_2d:
      #   seed: 0
      #   surface_prims: floor
      #   no_coll_prims: racks_and_walls
      #   check_for_collisions: True

Also happening with the scenario in here: Collision Detection for Scatter not working well - #27 by Turowicz

paging @pcallender please

Thanks to your script above I am able to repro the textureless people. Working with some of the devs to track the root issue down. Will have more info soon.

Possible related issue here.

Can you try testing rep.create.from_usd instead of rep.randomizer.instantiate?

The issue is not only with scattering assets. Randomization of materials and colours has the same problem.

See point “D” from my original post.

Any updates?