smw
smw

Reputation: 477

Camera Intrinsic Matrix for DJI Phantom 4

I am trying to estimate a gues for the intrinsic matrix, K, of a DJI Phantom 4 drone. I know that the form of this matrix is:

enter image description here

but i cant seem to get the units right. Looking up the specs at https://www.dji.com/phantom-4/info#specs I find that the focal length is 8.88 (dosnt say units...) and the image dimensions are 4000x3000. WHat would K look like with these?

*PS, I am scaling down the images so they are smaller. Will this effect the K matrix I should use for openCV?

Upvotes: 1

Views: 2259

Answers (3)

Nick Mortimer
Nick Mortimer

Reputation: 11

I think it is much better to work from the focal length in mm

https://www.dxomark.com/Cameras/DJI/Phantom4-Pro---Specifications

For P4 Pro:

13.2 x 8.8  so pixel size is = 0.00241 or 2.41 um focal length is 8.8mm

so focal length in pixel = 8.8 / 0.00241 = 3684.6 pixels

Incidentally in the image metadata, there is a field:

CalibratedFocalLength 3666.666504 (use exiftool to find it) so I think K should be

K = [ [3666.6, 0   , 2432],
    [0   , 3666.6, 1824],
    [0   , 0   , 1   ] ]

Upvotes: 0

dallinski
dallinski

Reputation: 431

OP, you may have confused the specs of the P4 and the P4Pro, which have different sensors and lenses. The P4Pro, not the P4, has a focal length of 8.8mm. The P4 has a focal length of 3.61mm.

If you are indeed using images from a P4, Francesco's answer is correct.

However, if you are actually using images from a P4Pro, you need to use these values:

f = (4864 / 2) pixels / tan(84 / 2 degrees) = 2701 pixels

K = [ [2701, 0   , 2432],
      [0   , 2701, 1824],
      [0   , 0   , 1   ] ]




For future reference for anyone that may find this answer, here are the relevant specs for the P4 and P4Pro sensors/lenses:

  • Phantom 4:

    • Sensor size: 1/2.3" (6.17mm x 4.55mm)
    • Focal length (actual): 3.61mm
    • Focal length (35mm equivalent): 20mm
    • FOV: 94°
    • Image size: 4000×3000 pixels
    • Video frame size
      • UHD: 4096×2160 pixels
      • 4K: 3840×2160 pixels
      • 2.7K: 2704×1520 pixels
      • FHD: 1920×1080 pixels
      • HD: 1280×720 pixels
  • Phantom 4 Pro:

    • Sensor size: 1" (12.8mm x 9.6mm)
    • Focal length (actual): 8.88mm
    • Focal length (35mm equivalent): 24mm
    • FOV: 84°
    • Image size
      • 3:2 aspect ratio: 5472×3648 pixels
      • 4:3 aspect ratio: 4864×3648 pixels
      • 16:9 aspect ratio: 5472×3078 pixels
    • Video frame size
      • C4K: 4096×2160 pixels
      • 4K: 3840×2160 pixels
      • 2.7K: 2720×1530 pixels
      • FHD: 1920×1080 pixels
      • HD: 1280×720 pixels

Upvotes: 1

Francesco Callari
Francesco Callari

Reputation: 11785

The page the OP linked to lists a FOV of 94 degrees. With an image width of 4000 pixels this corresponds to a focal length of

f = (4000 / 2) pixels / tan(94 / 2 degrees) = 1865 pixels

Absent any other calibration data, one should therefore use an estimated camera matrix of the form:

K = [ [1865, 0   , 2000],
      [0   , 1865, 1500],
      [0   , 0   , 1   ] ]   

Upvotes: 2

Related Questions