[ptx] Optimization error report
Jim Watters
jimwatters at rogers.com
Thu May 13 19:30:36 BST 2004
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
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.
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.
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.
* In the case of message dialog it actually displayed the sqrt of the
average error, which is rather meaningless and misleading because the
actual error is larger.
Before implementing these changes we are hoping to get as much feedback
as possible. We do not want to break anything.
--
Jim Watters
Graphic Software Developer
http://members.rogers.com/jimwatters
More information about the ptX
mailing list