RC doesn't find Roll/Pitch/Yaw in the images EXIFs

Hello,

I am trying to render orthographic projections of shallow coral reefs/lagoons for research purpose, using frames extracted from videos and with XMP metadata added afterwards on those frames.

I am surveying the areas doing transects with a Autonomous Surface Vehicle (ASV) equipped with RTK positioning system and gopros placed under the ASV facing the sea floor.

Due to various sea state/current speed/etc… I do not have much side overlap on some transects. Thats why I want to use the coordinates from the RTK system and the roll/pitch/yaw from the ASV. Those metadata are added in this way:

---- EXIF ----
Camera Model Name : HERO8 Black
X Resolution : 72
Y Resolution : 1
Resolution Unit : 1
Y Cb Cr Positioning : 1
Exif Version : 0232
Date/Time Original : 2022:10:21 11:32:58
Components Configuration : 1 2 3 0
Exposure Compensation : 0
Focal Length : 2.92
Sub Sec Time Original : 650000
Flashpix Version : 0100
Color Space : 65535
Focal Length In 35mm Format : 15
Sharpness : 2
Lens Serial Number : C3341327822458
GPS Version ID : 2 3 0 0
GPS Latitude Ref : S
GPS Longitude Ref : E
GPS Altitude Ref : 1
Camera Serial Number : C3331353142121
---- XMP ----
XMP Toolkit : Image::ExifTool 12.56
GPS Pitch : 13.8793950850662
GPS Roll : 1.7945301542777
GPS Track : 102.578923563998
Video Frame Rate : 59.94
---- Composite ----
Image Size : 1920 1080
Megapixels : 2.0736
Scale Factor To 35 mm Equivalent: 5.13698630136986
Date/Time Original : 2022:10:21 11:32:58.650000
GPS Altitude : -2.160000086
GPS Latitude : -9.41115611176667
GPS Longitude : 46.2106700290028
Circle Of Confusion : 0.00584900540241936
Field Of View : 100.388942610382
Focal Length : 15
GPS Position : -9.41115611176667 46.2106700290028

After processing and using “Absolute pose: Position and orientation”, it seems that RC do not recognize the Roll/Pitch/Yaw format because the value is set on “0” in each cases:

CaptureRC

And the render looks like its well positioned but not well orientated. Making some transects but with anarchic orientation on the line.

So I think the problem come from the format of the Roll/Pitch/Yaw metadata ?
Should I write a flight log separately and import it on the project ? In which format ?
Is the Roll/pitch/yaw metadata mandatory in order to obtain a correctly orientated reconstruction.

Thank you for you help

Hi Mravitch,
yes, this seems like a problem with the format.
Firstly, I noticed that you have latitude as - 9 degrees, which should be south hemisphere ( 9°24’40.2"S -9.411156), but in your image it is write as North.

It seems that it will be better to create a flightlog for your data.

A flight log is a record of a particular flight with use of a GPS device to track the position of a plane or camera during image taking. If you have a flight log file (txt format), you can import it in your RC project and geo-reference/scale the model with a few clicks of your mouse.

  • First, make sure you have set the project coordinate system to the one which the “to-be-imported” flight logs are in. The Application Settings are found in the Application part of the WORKFLOW tab under Coordinate systems / Project coordinate system.
  • Now go to WORKFLOW / Flight Log and browse a flight log file.
  • Flight log can also be imported using the [command line](file:///C:/ProgramData/Capturing%20Reality/RealityCapture/LanguagePack/help/en-US/Tutorials/commandline_1.htm).

Import Dialog

An import dialog will appear immediately. Let us have a look at the options in the import dialog window:

image

Also YPR parameters cna be imported:

  • File name - name of a file containing the flight log of cameras

  • File format - defines order and type of the values in a flight log

  • Values separator - separator used to separate the values found in a flight log file. Qualifiers are also supported which means that you can place each field in double quotes (“”) to signify that it is the same field.

  • Ignore first line - if file contains a header, RealityCapture can ignore the first line of the file. Lines that begin with symbol # are automatically skipped.

  • Coordinate system - define the coordinate system in which the position of the cameras is defined

  • Automatically group camera calibration - you can group all cameras from a flight log into the same group or assign groups based on the focal length. Alternatively, you can choose not to group cameras.

  • Accuracy settings source - from file and edit missing definitions – accuracies from a file are taken and the missing ones are set manually in the Position Accuracy. Global camera priors setting – accuracy for all parameters is defined in the Alignment settings.

  • You can choose from various text file formats provided by RealityCapture. Advanced users can easily define their own formats, different values separator, comment symbol or qualifiers by modifying the flightlogs.xml in the application installation folder. You can find the instructions on how to edit the flightlogs.xml as well as the list of supported values for import [here](file:///C:/ProgramData/Capturing%20Reality/RealityCapture/LanguagePack/help/en-US/tools/defineimportformat.htm).

HINT: Lon - longitude, Lat - latitude, Alt - altitude

A sample of a Name, Lon, Lat, Alt (character-separated) flight log file format with space-separateded values:
image

Y/P/R are not mandatory to obtain correctly orientated reconstruction, but could be helpful.

Thanks a lot for your fast and clear answers.

I will be back to you with some improvements I hope.

Hello OndrejTrhan

Under your recommendations we created a Flight log including Name, Lon, Lat, Alt, Roll, Pitch, Yaw :

We also modified the Flightlog.xml to add the corresponding format:

We are not sure about the ID but it seems that RC recognizes the xml.

But the error: 18004 appears:

We tried after by removing the RPY columns and it works with the Lon,Lat,Alt only.

So we think its again a matter of format within the RPY fields.

Thank you for your help.

Hi Mravitch,
what I noticed is that you don’t have set correct format for Lat/Lon, as it is in degrees: Longitude index=“1” format=“degrees”/
Are the images on correct positions after flight log import in map view?

Also, can you try set other descID, like 9437?

How are the YPR angles defined for you?

Hello OndrejTrhan
as you suggested we modified our flight log format and now we can import the flightlog and the position and orientations are well recognized and are in correct position in the map view.

So we tried with a new dataset with correct position, YPR, and spatial overlap. When we launch the images alignment tool, the images positions and orientations are well placed along the transect we did, but RC does not find any link between the images and we are unable to generate a mesh model and an orthophoto.


Here are the settings of the project:


what do you think about this, do you want a sample of our dataset to try on your side ?

Thanks for your time and help.

Hi Mravitch,
is it the same if you will set Position and orientation instead of Fixed for Prior pose. As there is no free movement in alignment and the coordinates are not so precise this could happen.
Also, it is not necessary to have set so big values for Max Features in alignment settings. 80 000 per image should be maximal.

we tried as you suggest but unfortunately its still not working

It would be better to see the data then…
Can you contact support@capturingreality.com with this issue?