Our team is acquiring images with multi-camera rigs consisting of dozens of synchronized, non-multispectral cameras that we have rigidly configured and pre-calibrated with precisely-known relative positions and orientations. We are trying to use Pix4Dmapper to do photogrammetric reconstructions from our images, taking advantage of the software’s support for camera rigs. A few related questions:
We are trying to use the XMP image metadata tags to import our camera rig relative extrinsic parameters (position and orientation) into the Pix4D project. However, the Xmp.Camera.RigRelatives tag seems to only support the camera rotation angles. How are we supposed to import the translational XYZ positions for the cameras in our rig?
After the initial import of images from our rig, the rig parameters seem to be saved in Pix4D’s camera model database. Then, subsequent imports of images (even into new projects) ignore the RigRelatives values from the images and use the values from the database instead. How do we allow new extrinsic parameter values from the imported image rig metadata to override any pre-existing camera database values?
In the Edit Camera Rig Model window, why is it necessary to specify a Reference Camera? It would be easiest for us to specify the relative offset positions and angles of our cameras in our own rig coordinate system, which has an origin that does not correspond to the origin of any individual camera in the rig. Of course we can compute all the relative offsets from a particular camera, but it seems simpler if Pix4D would allow the rig relatives to be specified in an arbitrary coordinate system, rather than requiring one camera to be at the origin.
I am sorry but we do not officially support the rig add-on.
I will try to answer your questions anyway:
1) We are trying to use the XMP image metadata tags to import our camera rig relative extrinsic parameters (position and orientation) into the Pix4D project. However, the Xmp.Camera.RigRelatives tag seems to only support the camera rotation angles. How are we supposed to import the translational XYZ positions for the cameras in our rig?
The rig Exif tags store only angles, the position has to be typed manually.
2) After the initial import of images from our rig, the rig parameters seem to be saved in Pix4D’s camera model database. Then, subsequent imports of images (even into new projects) ignore the RigRelatives values from the images and use the values from the database instead. How do we allow new extrinsic parameter values from the imported image rig metadata to override any pre-existing camera database values?
I am not sure if I understand. Does it mean that each photo has different angles? or each project?
The software identifies the camera thorugh the EXIF data, if it is the same camera rig but with different parameters, it will not work. That would be like having one single camera for each photo.
What you can do is reoptimize the angles from one project to another (article) but the rotations must be the same all along the same project.
In the Edit Camera Rig Model window, why is it necessary to specify a Reference Camera? It would be easiest for us to specify the relative offset positions and angles of our cameras in our own rig coordinate system, which has an origin that does not correspond to the origin of any individual camera in the rig. Of course we can compute all the relative offsets from a particular camera, but it seems simpler if Pix4D would allow the rig relatives to be specified in an arbitrary coordinate system, rather than requiring one camera to be at the origin.
Pix4D requires to define the rig based on one camera, there is no the option that you describe.
These cookies are necessary for the website to function and cannot be switched off in our systems.
They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences,
logging in, or filling in forms. These cookies do not store any personally identifiable information.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site.
They help us to know which pages are the most and least popular and see how visitors move around the site.
All information these cookies collect is aggregated and therefore anonymous.
If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
These cookies may be set through our site by our advertising partner (Google).
They may be used by Google to build a profile of your interests and show you relevant adverts on other sites.
They do not directly store personal information but are based on uniquely identifying your browser and internet device.
If you do not allow these cookies, you will experience less targeted advertising.