Open zeshunzong opened 6 days ago
Yes, we used the Cycles rolling shutter feature to get the effect. You can find the blend files here: https://zenodo.org/records/10847884, check out the Python scripts within the blend files that are used to render the data in desired format.
The important bits are below. Define how much exposure and rolling shutter effect you want:
EXPOSURE_TIME = 1.0
ROLLING_SHUTTER_TIME = 3.0
Compute the ratio for Cycles:
MOTION_BLUR_ROLLING_SHUTTER_RATIO = EXPOSURE_TIME / (EXPOSURE_TIME + ROLLING_SHUTTER_TIME)
Apply setting to Cycles:
scene.cycles.rolling_shutter_duration = MOTION_BLUR_ROLLING_SHUTTER_RATIO
Save json with the values (in addition to start & end pose of each frame):
...
'exposure_time': EXPOSURE_TIME,
'rolling_shutter_time': ROLLING_SHUTTER_TIME,
...
Thank you very much for you response!
I guess my main confusion is what is the unit for EXPOSURE_TIME and ROLLING_SHUTTER_TIME.
From the script related to rendering
scene.render.use_motion_blur = True
scene.cycles.motion_blur_position = 'START'
scene.render.motion_blur_shutter = 1.0
scene.cycles.rolling_shutter_type = 'TOP'
scene.cycles.rolling_shutter_duration = MOTION_BLUR_ROLLING_SHUTTER_RATIO
It seems that the total time of camera considered for rendering this image is fixed for 1 frame (i.e. 1/FPS second), and the only thing that changes when you set different EXPOSURE_TIME and ROLLING_SHUTTER_TIME is the ratio, i.e. scene.cycles.rolling_shutter_duration.
Then when you set, for instance
EXPOSURE_TIME = 1.0
ROLLING_SHUTTER_TIME = 3.0
what are the corresponding values (and units) for $Te$ and $T{ro}$ as in Eq (3) in the paper?
Hi,
Nice work!
For the synthetic data in blender, I was wondering how do you get the readout time? Do you use Camera -> Motion Blur -> Rolling shutter to get the effect? Is your readout time obtained from the shutter input? That is, when shutter = 1.0, readout time = 1/FPS?