|
Tutorial 2: Level the Panorama
Objectives
1)
understand the scene pattern of unleveled panorama;
2) derive rules to level a panorama;
3) level an full-loop panorama;
4) level a partial panorama.
You should have done Tutorial 1 since its stitching project will be used here.
The Louvre360 panorama previw in Tutorial 1 is well leveled without leveler adjustment. The reason is there are many photos used for the full loop and the photo-taking plane (i.e., the best-fit plane the 3D points the photos were taken) is roughly leveled. Such info enables PanoStitcher to achieve good auto-leveling in stitching. Otherwise there would not be enough correct info for proper auto-leveling. Such issue can happen even if the photos are taken with a tripod tilted on unleveled ground. Then the leveler feature shall be used to level the panorama from scene cues in the panorama.
Open PanoStitcher
Load
1) Click on
the Stitch Toolbar "Load Project" button, to load the stitch project "Louvre360.psp" you saved in Tutorial 1
Stitch
1) Click on
the Stitch Toolbar "Stitch" button. PanoStitcher will try to go through all image pairs to make the
panorama preview.

Fig. 1: Louvre 360 preview, auto-leveled, in leveler action state. Shortcuts: up/down arrow keys to unbend; left/right arrow keys to rotate.
Experiments
We will use leveler to unlevel the auto-leveled panorama (to simulate the effect of tilted photo-taking plane) and observe the panorama pattern changes. Then derive rules to quickly level any panorama from its pattern analysis.
E1: Bend panorama
1) Click Level Panorama button in preview tool bar, to activate leveler feature
2) Drag in anchor-box to move anchor-line left to center on the double columns as shown in Fig. 2
3) Drag down in unbend-box

Fig. 2: Preview bent
Observations:
(a) Wavy scene horizon: nadir at bend point; zenith 180 away; two horizon-line crossing points with max tilt in-between.
(b) Vertical scene lines: still vertical at nadir/zenith peak points; max tilt at crossing points.
Level procedure:
(A) If scene horizon wavy pattern is identifiable: move anchor-line to nadir or zenith peak point; unbend by dragging the peak point onto horizon-line.
(B) If a vertical scene line is identified as upright in panorama (as judged from many vertical scene lines): move anchor-line to this vertical line so that it goes through the anchor-point; unbend until the panorama is visually judged as leveled, e.g., all other vertical scene lines are upright, scene horizon straighten to overlap horizon-line.
E2: Rotate panorama
1) Click Reset button in preview toolbar. Then click Level Panorama button .
2) Drag in anchor-box to move anchor-line left to center on the double columns (same as step 2 in E1): should be there already.
3) Drag rightward in rotate-zone

Fig. 3: Preview rotated
Observations:
(c) Wavy scene horizon: compared with (a), the pattern is shifted 90 degrees, with anchor-point being horizon-line crossing.
(d) Vertical scene lines: same as (b), corresponding to the shifted wavy scene horizon.
Level procedure:
(C) If scene horizon wavy pattern is identifiable: move anchor-line to a horizon-line crossing point; rotate so that the scene horizon at crossing point is leveled.
(D) If a vertical scene line is identified as having maximum tilt in panorama: move anchor-line to this vertical line so that it goes through the anchor-point; rotate until the vertical line is upright.
As shown above, if an salient point is identifiable (e.g., horizon peak points, or max tilt crossing points), one unbend or rotate at the point will level the panorama. But real life is not so ideal: true scene horizon all around is rarely available due to scene features not far away enough so the wavy horizon pattern is unclear or precise (the ideal case is the mid of the ocean); there are only a few scene vertical lines so the one with upright or max tilt pattern is not available.
Level procedure:
(E) If a stretch of scene horizon is judged as true: move anchor-line to the stretch center; unbend by dragging the stretch onto horizon-lin, or rotate so that the stretch is leveled. Fine-tune unbend/rotate with arrow-keys until the panorama is best leveled as judged from other scene featues, e.g., another stretch of scene horizon.
(F) If a vertical scene line is available: move anchor-line to this vertical line so that it goes through the anchor-point; rotate until the vertical line is upright; unbend until the panorama is best leveled as judged from other scene featues.
Conjecture: Fix anchor-line to any point: panorama can always be leveled with iterations of unbend and rotate.
But salient anchor points make such iterations easier, as with above procedures. In case there is no scene horizon nor scene vertical lines you still can play leveling until it feels alright - trust your 6th sense!
Homework
Homework 1: start with unleveled panorama of E2. The right side of Arc de Triomphe is far away so it is judged as a stretch scene horizon. Level the panorama using procedure (E).
Homework 2: unlevel the panorama so that the pyramid is tilted. Level the panorama using procedure (F).
Homework 3: level a partial panorama
1) Load only three photos of the Louvre 360 photo set
2) Stitch. Observe that the preview is pretty unleveled due to too few photos used. PanoStitcher does not even try to auto-level, with the center image assumed to be leveled.
3) Decide your strategy, to quickly level the panorama.

Fig. 4: Louvre partial panorama preview of 3 photos, before any leveling action.
|