[ptx] Optimization error report

Terje Mathisen terje.mathisen at hda.hydro.com
Thu May 13 20:27:05 BST 2004


ptx-bounces at email-lists.org wrote:
> Hi everyone,
> 
> I have been working with Rik Littlefields, testing some bugs fixes for 
> the optimizer.  We have discussed the possibility of modifying how the 
> values for control point distance errors are generated.
> 
> Internally the optimizer calculates the distances differently based on 
> the control point type.  Normal points are calculated as spherical 
> distance.  Vertical and Horizontal points (T1 and T2) are only 
> calculated using only one axis.  And Strait Lines T+ points are 
> calculated as the distance the points are from the line.
> 
> But what is reported, is the actual distance the points are from each 
> other after transformation, regardless of control point type.  This 

This is obviously the wrong thing to do, particularly for lines.

> means that T1, T2, and T+ points will report their physical distance 
> from each other. T0 points near the nadir and zenith may report Hugh 
> errors when their spherical distance is very close together.  This 
> report may be useful when creating rectilinear and cylindrical 
> panoramas, but not for spherical.
> 
> We want the way the optimizer calculates errors to be the same as how it 
> reports its errors.  This means that T1, T2, and T+ are reported the 
> same way they are calculated.  No longer with huge meaningless values.

Good!

BTW, I would love an option to specify straight lines (with multiple 
control points) as being either horizontal or vertical, since this would 
make it easier to determine exact lens distortion parameters.
> 
> Currently dist is no longer used by the optimizer for T0 control 
> points.  It is a possibility that for very large fov rectilinear and 
> cylindrical panoramas calculating dist instead of distSphere would be 
> more usefully.  Small errors in position of images far from the center 
> will have larger error when displayed.  This is not proven yet.  It 
> sounds good in my head.
> 
> What is the best thing to do for T0 (normal) control points?
> 1  - Use distSphere globally for optimizing and reporting for all formats.
> 2  - Use distSphere for optimizing and reporting for spherical and dist 
> for rectangular and cylindrical.
> 3  - Have it overridable but default to 1
> 4  - Have it overridable but default to 2
> 
> It might be possible, but still unsure with no source to PTStitcher or 
> the plugins and having several GUI's out there, whether an user option 
> can be set to override any default.
> 
> I think the best thing to do is 2.  Then the user has the option of 
> switching to distSphere for rectangular and cylindrical just by 
> temporary setting the output format to spherical.

I like this idea a _lot_!

> Also internally the optimizer uses Root Mean Squared (RMS) of all the 
> distances to check to see if it is any closer.  Currently an average* 
> value is displayed in the message dialog and output script.  The changes 
> will use RMS as an error indications for reported for the message dialog 
> and the output script.  This will also eliminate the times when the 
> message dialog would show the optimizer starting to climb instead of 
> shrinking.  It is possible for rms to get smaller and have the average 
> error increase.

This has been an obvious problem for quite a while, and in particular 
when doing lines instead of t0 points.

Terje

-- 
- <Terje.Mathisen at hda.hydro.com>
"almost all programming can be viewed as an exercise in caching"


More information about the ptX mailing list