## Re: [PanoTools-devel] tilt functions

 Re: [PanoTools-devel] tilt functions From: Jim Watters - 2009-09-24 14:26:52 ```Pablo d'Angelo wrote: > D M German wrote: > >> Pablo dAngelo twisted the bytes to say: >> >> Pablo> I'm still struggling to understand the geometric interpretation of the Tx,Ty,Tz angles and the Ts parameters. >> >> hi Pablo, >> >> I have created this document to explain the use of the three parameters. >> > > Thank you for the pdf, it explains the idea. > > For interested people on hugin-ptx: > Read this to see the context of the discussion > http://thread.gmane.org/gmane.comp.graphics.panotools.devel/1517 > The pdf mentioned can be downloaded from > http://cache.gmane.org//gmane/comp/graphics/panotools/devel/1522-001.bin > > >> The purpose of the tilt is to remap a photo to match another plane. >> >> basically, the second image is moved in an angle in its own sphere (Tx, >> Ty, and Tz, similar to yaw, pitch and roll) >> > > No, actually the rotation happens in image coordinates, not in its own > sphere. This is a fundamental difference (in my opinion, it is also a > fundamental flaw). At least thats how it is implemented. > > Thus, I don't see how the currently implemented tilt parameters allow a > general modelling, even when using only rectilinear -> rectilinear. > > The XYZ mode I recently implemented actually does its rotation in an own > sphere: > It rotates image B in its own sphere and then translates (X,Y) and > scales (Z) the input image (still on the sphere!), which is then > projected onto the panorama plane (when using rectilinear output). When > using another output projection than rectilinear, the image is projected > onto a intermediate plane, from where it is reprojected into the output > projection. > > In that repect, I think the XYZ mode actually fits you description > better than the tilt mode. > > Note that for fisheye images, it does not make sense to imagine image A > and image B as a plane, as it is illustrated in your example. > > For that case, the transformation (ignoring lens distortion etc.) is a > simple matrix multiplication of the pixel coordinates with a homography > matrix T (T is a 3x3 matrix, with T(3,3) = 1). So that leaves 8 free > parameters that need to be determined (note that this also allows > non-square pixels, so effectively 7 parameters are needed for most > usecases). > With the tilt mode, at least > v,r,p,y, Tx,Ty,Ts and d,e are required for the warping, so there must be > something wrong the model, as it should only require 7 parameters and > not 9. Using an overparametrized model is not good for the optimisation, > as it will confuse the optimizer. > > With the XYZ model, only v,r,p,y, Tx,Ty,Tz are required, which is the > minimum amount of parameters, and they can handle a all possible camera > positions. This should work also work independently of the projection of > the input images. > > ciao > Pablo > If I understand correctly both models will align an image so it is on the same plane as others. The XYZ model calculates the position of the camera, this will cause certain distortions to the image. XYZ have to be optimized with ypr. The TxTyTzTs model calculates the actual distortion to align the image after it has been placed correctly after optimizing ypr. The advantage to the XYZ model is it uses fewer overall parameters. But when I try imagine manipulating images in my head using TxTyTzTs i don't see how Tz is any different than r. And maybe Tz it is not necessary. The advantage to the TxTyTs model is ypr can be optimized first to get a good placement before distorting the image by optimizing TxTyTs overall needing fewer control points. How wrong am I? Before the weekend is done I will create some test cases to compare the two. -- Jim Watters jwatters@... http://photocreations.ca ```