Artifacts in replicator images

Hi,

I am working with replicator in Isaac Sim, having some problems with artifacts in the generated images.
While modifying the pose of a pallet, some shadows of the prior pose are rendered. I already set the anti-aliasing algorithm to FXAA like suggested in this discussion (Replicator images contain artifacts from other frames). This step improved the image quality significantly, but I want to get rid of the remaining artifacts, too. Are there any suggestions?

I activated the FXAA algorithm by two steps:

  • Use the following app configurations:

    APP_CONFIG = {
    “renderer”: “RayTracedLighting”,
    “headless”: False,
    “width”: 1024,
    “height”: 1024,
    “num_frames”: 16,
    “multi_gpu”: True,
    “anti_aliasing”: “FXAA”,
    }

  • Set replicator renderer settings:
    rep.settings.set_render_rtx_realtime(antialiasing=“FXAA”)


Hi there,

can you try increasing the capturing frame interval:

rep.settings.carb_settings("/omni/replicator/RTSubframes", 3)

Cheers,
Andrei

Hi Andrei,
I checked it today, unfortunately the line does not solve the issue.
Instead, the shadows are more dominant increasing the RTSubframes. Setting the param to 1 creates the best results. In comparison, the image attached is captured with value 3.

Regards
Marvin

Hi Marvin,

would it be possible to get access to the USD scene to test it out ourselves?

Cheers,
Andrei

Hi Marvin,

the ‘shadows’ can occur if there are no lights in the scene. Can you test your scene using randomized lights such as this example.

It should work with or without FXAA. (“anti_aliasing”: “FXAA” or “anti_aliasing”: 0). Let me know how it goes.

EDIT:

If the lights are weak though, it might be that disabling AO might also fix the issue:

import carb.settings
settings = carb.settings.get_settings()
settings.set("/rtx/ambientOcclusion/enabled", False)

EDIT2:

Increasing the subframes number to an even larger value might also work, it will however slow down the data generation since it will require so many other frames to be rendered.

import carb
carb.settings.get_settings().set("/omni/replicator/RTSubframes", 8)

Cheers,
Andrei

Hi Andrei,
sorry for the late response. I played around with the different options. Using just one does not solve it, but a combination is successful. I needed to play around with the different parameters. These are my experiences, maybe it helps others:

  • The results are better with “anti_aliasing”: “FXAA”
  • Disabling ambientOcclusion improves the results
  • The key aspect for my scene were RTSubframes. But the suggested value of 8 is not sufficient. In my case I need 32 subframes.
  • All of this values depend on the scene, in other scenes with better lighting conditions I do not need all of this settings.

Thanks for your help Andrei, I know how to play around with these settings now!

Regards Marvin

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.