Camera intrinsic calibration using DriveWorks on drive AGX

We followed the intrinsic-only calibration steps for calibrating one camera and we are unsure if we did it correctly since some results differ from the ones presented in the tutorial and the output of the camera does not improve in any way.

  1. We have recorded a video with the AprilTag pattern ID:89 using release.json file as a parameter. The file was configured as it is presented in “dwx_recording_devguide_basic_recording.html”. Is this file configured correctly?
    ./recorder-qtgui configs/rwd/hyperion7_1/release.json

  2. We have created the directory structure as it is described. It includes only intrinsics folder and targets.json file.

  3. We have executed the intrinsics calibration application.
    ./calibration-intrinsics-constraints --targetDB=/home/nvidia/Desktop/calib_data/targets.json --input-video=/ota/pkg_data/dw_2019_09_21_01:02:20_000000_release_76cdf0b6-dc0b-11e9-bf7e-00044ba4ef40/camera_front_center_60fov.h264 --output=/home/nvidia/Desktop/calib_data/intrinsics/

  4. We have executed the graph calibration tool. It seems like this application loads some warnings and errors.(logs are attaced in log.txt)
    ./calibration-graph-cli --dir=/home/nvidia/Desktop/calib_data

  5. We have executed the calibrated graph to rig file tool to populate a rig.json file with the results, but it looks diffrent from the one presented in the tutorial.
    ./calibration-graph-to-rig --graph=/home/nvidia/Desktop/calib_data/calibrated-graph.json

  6. We have tested the calibration by running the application sample_camera_gmsl_custom application which uses this rig.json file generated above but it seems like nothing improves.

Could you please advise the problem presented above?
calibration.zip (55.9 MB)

Hi liviu.poenaru,

  1. This config file looks correct to record one ar0231-rccb-bae-sf3325 camera to in h264.

I checked your validation-intrinsics-output.jpg and it seems you did not cover very much of the FOV when you were doing the recording. You can see an example of what the validation image should look like here: https://docs.nvidia.com/driveworks/intrinsic_validation.png In fact, ideally you would see full coverage of the camera FOV.

I’m checking with the team on your results and will come back shortly.

Hi liviu.poenaru,

I have checked in a bit more detail.

The cx and cy output values that you have gotten seem ok. But as I mentioned the calibration is not very good from the video that you have provided. I suggest a few things:

  1. Try to cover as much FOV as possible. You want full coverage of the imager(or the best you can get).
  2. When you are capturing the video, you are moving in smooth/quick motions. It is better to move the april tag target to one location, pause for a moment, then move it to another as you move around.
  3. Most of the recording the april tag is moved around in a single plane. It is better to move the target at several angles away from and towards the sensor.

I would not expect that doing intrinsic calibration will create any significant visual difference when running the samples, but you should see the results in the rig file that is generated and check for sanity.