Rep.create.camera() does not take optical center for pinhole camera

rep.create.camera() allows specifying the optical center for a fisheye camera model, but not a pinhole camera model. This causes an inconsistency that affects tasks which require accurate modeling of camera geometry such as monocular 6D pose estimation.

Good example:

Bad example:

Note that this is related to:

@aja9675, thank you for bringing this up. I will mention this to the Replicator team who maintains omni.replicator.core next week. I will keep you posted.

Hello,

Could we get some more details about how the two images were generated, and what code was changed to produce the differences?

@dennis.lynch, you can just run offline_pose_generation.py with an optical center offset that’s not the exact center of the image. This is specified in the config (ex. dope_config.yaml). rep.create.camera() does not take the optical center offset as a parameter, and therefore will not account for this when rendering the images.

Hello again,

Try using the horizontal_aperture_offset and vertical_aperture_offset parameters when to control this when creating a pinhole camera.

I will make a note to update the docstrings to better reflect what they do