From: W. eWatson on
I'm looking at a paper that deals with 5 NL (nonlinear) equations and 8
unknown parameters.
A. a=a0+arctan((y-y0)/(x-x0)
B. z=V*r+S*e**(D*r)
r=sqrt((x-x0)**2+(y-y0)**2)
and
C. cos(z)=cos(u)*cos(z)-sin(u)*sin(ep)*cos(b)
sin(a-E) = sin(b)*sin(u)/sin(z)


He's trying to estimate parameters of a fisheye lens which has taken
star images on the photo plate. For example, x0,y0 is the offset of the
center of projection from the zenith (camera not pointing straight up in
the sky.) Eq. 2 expresses some non-linearity in the lens.

a0, xo, y0, V, S, D, ep, and E are the parameters. It looks like he uses
gradient descent (NLLSQ is nonlinear least squares in Subject.), and
takes each equation in turn using the parameter values from the
preceding one in the next, B. He provides reasonable initial estimates.

A final step uses all eight parameters. He re-examines ep and E, and
assigns new estimates. For all (star positions) on the photo plate, he
minimizes SUM (Fi**2*Gi) using values from the step for A and B, except
for x0,y0. He then does some more dithering, which I'll skip.

What I've presented is probably a bit difficult to understand without a
good optics background, but my question is is something like this
commonly done to solve a system of NLLSQ? It looks a bit wild. I guess
if one knows his subject well, then bringing some "extra" knowledge to
the process helps. Comments?






From: Robert Israel on
"W. eWatson" <wolftracks(a)invalid.com> writes:

> I'm looking at a paper that deals with 5 NL (nonlinear) equations and 8
> unknown parameters.
> A. a=a0+arctan((y-y0)/(x-x0)
> B. z=V*r+S*e**(D*r)
> r=sqrt((x-x0)**2+(y-y0)**2)
> and
> C. cos(z)=cos(u)*cos(z)-sin(u)*sin(ep)*cos(b)
> sin(a-E) = sin(b)*sin(u)/sin(z)
>
>
> He's trying to estimate parameters of a fisheye lens which has taken
> star images on the photo plate. For example, x0,y0 is the offset of the
> center of projection from the zenith (camera not pointing straight up in
> the sky.) Eq. 2 expresses some non-linearity in the lens.
>
> a0, xo, y0, V, S, D, ep, and E are the parameters. It looks like he uses
> gradient descent (NLLSQ is nonlinear least squares in Subject.), and
> takes each equation in turn using the parameter values from the
> preceding one in the next, B. He provides reasonable initial estimates.
>
> A final step uses all eight parameters. He re-examines ep and E, and
> assigns new estimates. For all (star positions) on the photo plate, he
> minimizes SUM (Fi**2*Gi) using values from the step for A and B, except
> for x0,y0. He then does some more dithering, which I'll skip.
>
> What I've presented is probably a bit difficult to understand without a
> good optics background, but my question is is something like this
> commonly done to solve a system of NLLSQ? It looks a bit wild. I guess
> if one knows his subject well, then bringing some "extra" knowledge to
> the process helps. Comments?

To me it sounds rather doubtful, but if it works it works. It certainly
wouldn't be the method of choice these days. I would probably try
LSSolve in Maple, which for an unconstrained nonlinear least-squares
problem uses a "combined Gauss-Newton and modified Newton" algorithm.
I would imagine Matlab and Mathematica also have functions that can do this
sort of thing.
--
Robert Israel israel(a)math.MyUniversitysInitials.ca
Department of Mathematics http://www.math.ubc.ca/~israel
University of British Columbia Vancouver, BC, Canada