Getting Front Camera Pose & Intrinsic Parameters

Hi,

I’m can see in Telemetry section that pose information of Stereo Camera is available but not for Front Camera (Telemetry list - 7.7). Is there a way to get attitude and position of front camera, in global frame like fstcam@pose ? I see there is fcam@eis@video that has attitude but in NED_start.

Also, I can see intrinsic parameters of front camera in fcam@settings@photo (Telemetry list - 7.7) like focal, principal_point_x, perspective.r* and perspective.t*, but this is available only when picture is taken. Is there a way to get these info when using video ? Or should we take a picture each time we want to get these infos ?

Best,
Clément

Hi,

  • Regarding the attitude of the front camera in NED frame, you have 2 solutions :

    • Use fcam@eis@video.view_ned_start_q (I suggest you use this one instead of attitude_ned_start_q, as the former takes into account the effect of digital image stabilization) which will give you the attitude of video frames in NED_start. Then get drone_controller.ned_ned_start_q, which will give you the NED frame expressed in NED_start frame, then compute quaternion_conjugate(drone_controller.ned_ned_start_q) * fcam@eis@video.view_ned_start_q (where “*” is quaternion multiplication) to get the attitude of video frames in NED frame.
    • Extract the video metadata following Embedded Video Metadata - GroundSDK Tools 7.0 and get CameraMetadata.quat, which will directly give you the attitude of video frames in NED frame.
  • Regarding the position of the front camera : as for now, the position of the front camera in the global frame is not exported.

  • Regarding camera intrinsic parameters in video mode, you can use the following formulas to compute them:
    focal_in_px = video_width / (2 * tan(fcam@eis@video.hfov / 2))
    principal_point_x = video_width / 2
    principal_point_y = video_height / 2
    no radial / tangential distortion (as distortion is corrected by the drone in all video modes).

Hi @a.guinet,

Thank you for your answer.

Unfortunately, fcam@eis@photo only publish each time a photo is taken, so I guess nothing when using fcam_streaming. But I’ll do it with fcam@eis@video.

For intrinsic parameters, I’m impressed distortion is corrected onboard in realtime in all video modes. Are you sure about that ?

Best,
Clément

Hi,

Yes, sorry I fixed my message, I meant fcam@eis@video. Yes the distortion is corrected onboard for video modes, otherwise the images would look like the photo JPEG wide mode (in which no distortion correction is performed).

Best,
Antoine

1 Like

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