DJI Mavic, Air and Mini Drones
Friendly, Helpful & Knowledgeable Community
Join Us Now

WIDE Panoramic (9-shot) Distortion in Lightroom

therealambro

Member
Joined
Jul 12, 2021
Messages
8
Reactions
4
Age
30
Location
Rhode Island
Hey there!

This is specific to DJI's 9-shot 'Wide' panoramic feature.

I'm attempting to use the 9 RAW DNG files off of my Air 2, and stitch them in Lightroom/Lightroom Classic, rather than using the version auto-stitched by the DJI app/drone:

1) to retain the RAW file instead of the lossy JPEG the app spits out
2) to retain the full resolution on pano's
3) because the DJI app sometimes stitches poorly.

However, in Lightroom/Lightroom Classic, even at 100% boundary warp, I can't stretch the horizon to being anywhere near flat (first picture, Lightroom on Left, DJI on Right). Attached are snippings of the following Pano settings:
  • Spherical (Correct) (Boundary warp 100%)
  • Cylindrical (Boundary Ward 100%)
  • (Perspective fails to even compute)
  • Spherical (Boundary warp OFF)
  • Reach case: Spherical+boundary warp+distortion correction+guided transformation
Has anyone else run into this and/or come up with a better solution for stitching Panoramic Photos?

My guess is that it stems from the angled gimbal action that the Air 2 is using to capture the corner shots, as seen in the last picture of with all 9 images in their captured grid. My last ditch idea was to crop each image to level the horizons, but I think LR/LRC still work with the original image, not your crop. Maybe cropping, exporting a new base file, then importing and using the new leveled image for the pano merge, but obviously this would be a horrible workflow for every 9 shot image.

To anyone interested enough to have gotten this far... thanks for your ideas!

-Chris
Pano Comparison.PNGSpherical Merge.PNGCylidrical Merge.PNGSpherical - No Boundary Warp.PNGTransformed.jpg
9-Shot Wide Pano.PNG
 
My guess is that it stems from the angled gimbal action that the Air 2 is using to capture the corner shots, as seen in the last picture of with all 9 images in their captured grid.
It's not that simple and there must be more to it.
Stitching software works by identifying pairs of points that are common to pairs of photos.
Then it rotates and warps the images based on the common points.
Having the outside images tilted shouldn't make any difference because rotating images is what stitching software does.

Here's a quick and dirty demonstration.
I snapped a series of shots of an old map with the camera at random angles.
i-vG85ndh-L.jpg


Stitching had no problem assembling a composite.
As long as the software can identify enough common points in adjacent images, it will rotate them to match.
i-Tv6s5Ns-X2.jpg
 
PTGui software does a great job to stich all pano pictures for a nice result and you can easily flatten the horizon line
 
  • Like
Reactions: DanJ
Hey there!

This is specific to DJI's 9-shot 'Wide' panoramic feature.

I'm attempting to use the 9 RAW DNG files off of my Air 2, and stitch them in Lightroom/Lightroom Classic, rather than using the version auto-stitched by the DJI app/drone:

1) to retain the RAW file instead of the lossy JPEG the app spits out
2) to retain the full resolution on pano's
3) because the DJI app sometimes stitches poorly.

However, in Lightroom/Lightroom Classic, even at 100% boundary warp, I can't stretch the horizon to being anywhere near flat (first picture, Lightroom on Left, DJI on Right). Attached are snippings of the following Pano settings:
  • Spherical (Correct) (Boundary warp 100%)
  • Cylindrical (Boundary Ward 100%)
  • (Perspective fails to even compute)
  • Spherical (Boundary warp OFF)
  • Reach case: Spherical+boundary warp+distortion correction+guided transformation
Has anyone else run into this and/or come up with a better solution for stitching Panoramic Photos?

My guess is that it stems from the angled gimbal action that the Air 2 is using to capture the corner shots, as seen in the last picture of with all 9 images in their captured grid. My last ditch idea was to crop each image to level the horizons, but I think LR/LRC still work with the original image, not your crop. Maybe cropping, exporting a new base file, then importing and using the new leveled image for the pano merge, but obviously this would be a horrible workflow for every 9 shot image.

To anyone interested enough to have gotten this far... thanks for your ideas!

-Chris
View attachment 131836View attachment 131837View attachment 131838View attachment 131839View attachment 131840
View attachment 131835
I sure wish I had the answer you are looking for.. I am struggling with the same exact problem, using the multiple pan images from my Mavic 2 Pro. I have no problem doing a manual shoot- e.g.: using the grid, I manually shoot from left to right, with a 30% overlapping of the images. I try to take about 5-6 images. Then upload to Photoshop and then to Adobe Camera RAW. I select all (CTRL+A) (right click on any of the pictures), then hit "merge to panorama" and the program runs well, using the other options in the dialogue bos. When I get the entire image into Photoshop, I then bring the full pan back into ACR and make the edits.

Dale
Miami
 
  • Like
Reactions: danwnz
PTGui software does a great job to stich all pano pictures for a nice result and you can easily flatten the horizon line
Several stitching programs stitch very well.
See how PTGui goes on the sample images here though:
 
Result from PTGui without any modification, not even flattening the horizon.
 

Attachments

  • Ptgui test.jpg
    Ptgui test.jpg
    3.4 MB · Views: 70
it is uncropped
It's cropped.
You can see that plenty has been cropped off each corner.
Perhaps PTGui doesn't give you the option to show the uncropped image as most stitching software does?
 
Hey everyone! Just wanted to say I appreciate the responses so far! I'm working right now but I'll be back later today with some more trial and error, but I wanted to provide some food for thought in the meantime:

It's not that simple and there must be more to it.
Stitching software works by identifying pairs of points that are common to pairs of photos.
Then it rotates and warps the images based on the common points.
Having the outside images tilted shouldn't make any difference because rotating images is what stitching software does.

Here's a quick and dirty demonstration.
I snapped a series of shots of an old map with the camera at random angles.

Stitching had no problem assembling a composite.
As long as the software can identify enough common points in adjacent images, it will rotate them to match.

Agreed! This is why I'm surprised Lr/LrC/Ps are having such a hard time. The 9-shot Wide mode takes plenty of overlap, I'd say almost 50%, so maybe it has nothing to with the photos and the boundary warp in LR just doesn't provide 'enough' de-squeezing (or distortion correction) of the image to get the horizon flat.

1626197072932.png

The reason I was thinking the angle the image was captured at might come into play, is that in 180-degree pano mode, all images are captured level to the horizon, and both Spherical and Cylindrical projections yield a perfect horizon with or without Boundary Warp used. Maybe that is just a byproduct of having more images to work with (3x3 vs 7x3).

1626197603517.png1626200543995.png

I did try cropping each image to a level horizon, exporting, and re-importing so that LR did NOT have the full image file to compute with when stitching, and still ended up with the same horizon bowing... interesting. Next thing to try will be manually shooting the same 3x3 grid with the camera level and comparing results when merged. Based on the 7x3 pano mode, I'm guessing this will stich correctly.

Maybe this indicates there is non-uniform distortion to the lens on the Air 2 (and others?) in the vertical and horizontal directions across the image? Therefore when stitched and warped/rotated with an isotropic amount of distortion correction, you end up with uneven skewing. Similar to if you used an anamorphic lens.

Either way, obviously DJI's app and maybe some other third party ones have worked around this.

To the people here and on other threads suggesting it has to do more with altitude / situation / horizon position / proximity to vertical objects, I have no doubt that all of these play a role in the perspective, but I have tried this across a variety of shooting situations and the problem seems to be universally the interaction between LR/PS and the 9-shot Wide pano mode.

Clearly solution 1 is go pound sand and shoot it manually (I'll test this later) but that takes longer, requires more work from the operator, and is more subject to drift.

Solution 2 is trying some of the other programs people have suggested. I'm definitely open to this! Hopefully they support DNG input and output for editing, alternatively if not, edit all 9 in LR, export JPEGs..... merge elsewhere.... re-import to LR/PS. However since LR is the #1 platform out there for photography workflows, and where I manage my entire work catalog, its more than reasonable that Adobe's suite should be able to manage all of this internally.

While they are not dedicated stitching programs, there are plenty of examples of very large & complex HDR/Pano merges within LR/PS, so the inability to compute these continues to interest me.

Either way, some fruitful discussion. I'll go have a try with microsoft ICE and PTGui.

Perhaps as a final thought, the "Perspective" projection is what I need to be using, but LR fails to compute both the 9-Shot Wide and 21-Shot 180-deg Modes.

Thanks!
-Chris

I'll be back with some more tests later. Excuse my snipping tool handwriting XD
 
Also worth saying,

The reason I think the 9-shot Wide mode is SO valuable:

Rather than using it like a normal panoramic shot to capture a whole landscape which I rarely need, there are tons of situations where you cant fly back any further to get a wider angle with the normal shooting modes, and/or where you just want to composite more detail into an image for cropping later.

I run into this with backing up toward nearby buildings, areas you're not allowed to fly over, lower shots of homes/yards where you back into trees, etc.

Its also much faster to snap and recompose your next shot than doing it manually or waiting out a full 180 pano and cropping later, and your RAW files are auto sorted an folder-ed. Additionally, it would be nice to keep organized and minimize workflow when you're coming back with 20+ panos to merge.
 
Clearly solution 1 is .. shoot it manually (I'll test this later) but that takes longer, requires more work from the operator, and is more subject to drift.
Shooting manually gives a lot more flexibility and control.
With only a little practice, you can do it quite quickly and unless you are very close to your subject, drift won't be an issue.
 
New Findings Part 1 - Shooting

1) Wide mode does NOT always roll the camera 8-10 deg for the peripheral shots.

'Wide Mode' auto shots (horizon level):
1626377012195.png

'Wide mode' auto shots (horizon rolled) (same settings, 2 minutes later, changed location, altitude): 1626377102146.png

Potentially the Air 2 is doing some sort of AI scene detection or AGL altitude threshold to determine which shooting mode to use? I didn't notice this until I came back, so I'll have to try in 20ft increments to see if this is altitude reading driven.
 
  • Like
Reactions: merak75
New Findings Part 2 - Editing:

Shooting manually gives a lot more flexibility and control.
With only a little practice, you can do it quite quickly and unless you are very close to your subject, drift won't be an issue.

Distortion Comparison.png

Here is a comparison of the target image (DJI's direct output, which is stuck as a JPEG) and 4 DNG files I'm able to compile in Lightroom. DJI's file does crop and stretch much more in the corners, but it yields a final image with much less barrel distortion and warping of straight lines through the image. In this image, not such a big deal, but in the next image, absolutely makes or breaks the final result.

Here, the cylindrical projection (with boundary warp) comes closer to DJI's export, which is the opposite of what I expected.
 
  • Like
Reactions: merak75
distortion comparison pt II.png

(1) Here in the second location, we can see DJI's image correction really going to work. The target image (left) has fantastic flat lines throughout and produces a really clean usable image.

(2) The auto-photos from the Wide Mode Pano setting have the angled horizon in the peripheral (seen above) which prevents LR from producing a flat horizon when it does the stitching.

(3) Manually shooting the 9 shots for a wide-sized pano, we have corrected the horizon issue, but no amount of barrel distortion correction in lightroom is close to removing the fisheye.
 
Have you tried correcting the individual shots in LR using the Transform:Vertical slider, then merging the corrected images? Just a hunch.

You should be able to set a preset based on the first one, and apply it to the rest.
 
PTGUI seems to do the job. Very comprehensive control over the panorama. Tested it out on a trial. The software is quite expensive though
 
Lycus Tech Mavic Air 3 Case

DJI Drone Deals

New Threads

Forum statistics

Threads
130,984
Messages
1,558,562
Members
159,976
Latest member
miguelmas