Code + Replicator leaving ghost shadow when triggered on frame

I’m trying to produce some synthetic aerial images of a truck appearing on grass surface.

However when I specify the replicator to run & get triggerred each frame. The produced image (except the first frame) shows multiple “ghost” shadow as shown below.

code:
with rep.trigger.on_frame(num_frames=150):
rep.randomizer.worker()
with camera:
rep.modify.pose(position=rep.distribution.uniform((4000, 11000, -7800), (6000, 14000, 7800)), look_at=surface)
Questions:

  1. How can I set the replicator triggerred e.g. every 3 seconds so the scene has enough time fully rendered?

  2. Is there a way I can get rid of those shadows & have objects rendered with fully effect (shadow) ?

Thank you.




Hi!

Did you check subframes?
Rendering with Subframes Examples — Omniverse Extensions latest documentation (nvidia.com)

Try adding rt_subframes=50 argument to your rep.trigger.on_frame(num_frames=150) call

1 Like

no I never thought of using subframes. thanks heaps for the response. I will add that to the triggering cmd and let you know the outcomes.

Yes you need at least 100 subframes to get a “clean” re-pass. This is because even the “realtime” renderer needs subframes to interate a new frame. You can set it as low as you can until the ghosting appears.

Thank you everyone for for looking into this. I will add subframe attribute in the triggering cmd line and let you the outcome.

Really appreciated your help!

I added rt_subframes=100 and now as it had intervals long enough to fully render the shadow, it produced the image as expected.

This is a wonderful community to be part of. thank you all Omniverse Heros. I got stuck on this for 2 weeks!

1 Like

Hi @Richard3D I have a similar issue and I’m still seeing some ghosting even at 100 subframes. The challenge for me is that it is taking a really long time to render.

To generate variations in my training data (human demonstrations), I’m replaying pre-recorded motion trajectories with changes in lighting, texture, etc. and capturing new camera images. However, when I add sub-frames it becomes prohibitively slow to generate these variations.

Is there no other option?

Sorry to hear this. Unfortunately, I don’t see any other way of doing it. If you need higher quality rendering to avoid motion artifacts, you must render more subframes. The only way this situation can be improved is with more GPU hardware.

1 Like