Forum

Author Topic: Fisheye calibration procedure  (Read 6818 times)

zacharyzugg

  • Newbie
  • *
  • Posts: 1
    • View Profile
Fisheye calibration procedure
« on: August 25, 2015, 03:39:54 AM »
I've read and re-read the manual and the topic "fisheye to the extreme" as I'm trying to use a fisheye for scans. I am still having a little trouble piecing together the correct steps to calibrate the lens/camera for a fisheye.

For the calibration environment I used a 2-car garage, with coded markers placed in the space.  The camera is a Canon 5D mkIII with a sigma 8mm circular fisheye lens (180 degree FoV), all photos being used are 22megapixel 16bit tif files originating from RAW files.

I set the camera on a nodal ninja, and took 3 "rows" of photos at 5 different locations in the space.  Each row was 18 photos (20 degree increments).  Row 1 is level, row 2 tilted up about 15 degrees and row 3 tilted down about 15 degrees.

I then did the following steps:

- brought all photos into a single chunk
- created 5 camera groups in that chunk, one for each tripod location (set of 3 rows)
- moved the photos into the appropriate groups and marked each as a "station"
- ran detect markers on all 260 photos. 
- changed "camera type" to fisheye in the camera calibration window
- ran align photos on the chunk, leaving pair precision set to "disabled"

This is where I get stuck.  It's not aligning all the photos well, so I'm not confident that my calibration is correct.

Have I done the right steps so far?

And after these steps, what steps are left to ensure I've completed the calibration properly?

Thank you!

I'm using photoscan pro 1.1.6 on osx

bigben

  • Sr. Member
  • ****
  • Posts: 406
    • View Profile
Re: Fisheye calibration procedure
« Reply #1 on: August 25, 2015, 05:59:19 AM »
For the most part that sounds similar to my approach.

I use a narrow laneway with brick walls and bluestone paving, no control targets.

I don't tilt down with a circular fisheye, but I do with a full frame. Tilt angles go up to +90°... Lots of overlap to handle distortion parameters. Full 360° to take care of FoV  If you want to go all out, repeat the pano with the camera inverted.

Camera positions vary by half the distance from the camera to the ground (ie. about 1m).  at least 3 rows of camera positions: 1/3 distance across laneway, 2/3 across laneway and centre of laneway at 1or 2 different heights. Difference in height is significant.

I crop my images to square although that's purely for file size.  Must mask out any part of the Nodal Ninja/tripod

Group all images together and set the group type to "Camera Station"

Run alignment with maximum tie points.
Gradual selection to remove bad points
Optimise
Transfer calculated camera settings to initial camera settings and repeat 3 times.

Run Dense cloud and check for noise. Dense cloud should be pretty clean up to 5-6m with 20MP, so you should get a little further.
Select 1 camera group and export a panorama using averaging of images.  Check panorama for blurry areas/misalignment.  Blurriness = misalignment plus averaging.
« Last Edit: August 25, 2015, 07:20:29 AM by bigben »

James

  • Hero Member
  • *****
  • Posts: 765
    • View Profile
Re: Fisheye calibration procedure
« Reply #2 on: August 25, 2015, 09:32:53 AM »
I don't have a circular fisheye to test with right now, but i would suggest masking the black region outside the fisheye 'circle' too. I always do that, but haven't ever tried not doing it.

bigben

  • Sr. Member
  • ****
  • Posts: 406
    • View Profile
Re: Fisheye calibration procedure
« Reply #3 on: August 26, 2015, 05:28:09 AM »
Yes James, I forgot to mention that I also mask just inside the image area (removing the worst of the peripheral chromatic aberration.... just in case. I often use a camera on a pole so I have a Photoshop action that adds an initial alpha mask for the image area and a small circle below the camera to remove me from the shot.