TOPO-EPFL / CrossLoc-Benchmark-Datasets

[CVPR'22] CrossLoc benchmark datasets setup and helper scripts.
MIT License
15 stars 1 forks source link

Intrinsic and extrinsic parameters of the UAV #3

Closed VictorZoo closed 1 year ago

VictorZoo commented 1 year ago

Hi Yan Qi,

I have some questions to ask as we are interested in rendering images on our own models, so we are particularly concerned about the intrinsic and extrinsic parameters of the UAV.

  1. May I know the model of the UAV? DJI 100?
  2. I noticed that in the urban data, there is an origin set at [6.5668, 46.5191, 390]. Is the value of z=390 a self-defined value or does it represent the ground elevation?
  3. Since we are dealing with precise rendering, could you please provide the relative altitude at which the UAV captures images? Is it around 100m or 200m?
  4. It would be great if the 3D models could be made publicly available.

Thank you very much.

Victor

qiyan98 commented 1 year ago

Hi Victor,

Thanks for your questions and interest.

  1. We were using DJI Phantom 4 drone with RTK. We did post-hoc photogrammetry analysis to validate the camera pose accuracy (see Figure 7 of our paper's appendix).
  2. Yes, this is simply to offset the original ECEF coordiantes to make them not "super large". Otherwise, if one directly converts the lon/lat/alt to ECEF coord system, the values would be ~million and it may cause numerical issues for later tasks.
  3. It's around 50-200 meters from the ground. Note that the Urbanscape and Naturescape datasets have very different altitude, as the Naturescape is on the Alps mountains.
  4. Can you be more specific about which 3D models you were referring to? We actually didn't construct our own 3D model using drone-captured images. For 3D model using open-sourced geodata (like satellite images, etc), you can refer to another project repo TOPO-DataGen for more details.

In our project, we render images (synthetic data) only through TOPO-DataGen and our drone-captured images are used for experimental investigation (e.g., image generation quality control, re-localization accuracy, etc).

Best, Qi

VictorZoo commented 1 year ago

Hi Qi

Thank you very much for your response.

Regarding the issue of UAV altitude, I would like to inquire further. In our model, the coordinates (xyz) are in the geographic coordinate system, where x and y represent the geographical positions, but z (altitude) represents the relative height with respect to the ground, where the ground level is considered as altitude 0. However, in your data, the aircraft altitude seems to be in absolute height (for example, z=521, but the actual flight altitude may be only 100 meters). I would like to know if there is a method to obtain ground elevation data based on the xy coordinates.

Best, Victor

qiyan98 commented 1 year ago

Hi Victor,

I wonder if the altitude is relative to a fixed point (e.g., the starting point) or relative to its current geographical position (e.g., varying lat/lon). In the first case, you just need to add an offset to the camera pose. For the second case, you have to trace back to the terrain model used by the UAV to determine the exact absolute altitude for a given location. For example, you can use the WGS84 model or more accurate models online to retrieve altitudes for any lat/lon positions, but I suppose you need to check the consistency between these standard models and what your UAV is using.

Best, Qi

VictorZoo commented 1 year ago

Regarding the relative altitude of the unmanned aerial vehicle (UAV), what I would like to know is the UAV's relative altitude in "Crossloc." If possible, could you provide a document disclosing the UAV's relative flight altitude?

qiyan98 commented 1 year ago

Do you mean the altitude relative to the ground for each image? Unfortunately, our camera poses only contain absolute altitude, which was provided by the DJI Phantom 4 drone and was already included in the shared datasets. If you want to get precise above-the-ground heights, you have to refer to the digital terrain model, query the terrain height based on longitude and latitude per image and substract it from the absolute height. As mentioned earlier, you can use the swisstopo model and our TOPO-DataGen repo as helpers.

qiyan98 commented 1 year ago

Adding to previous comment, the accuracy of relative altutide is dependent on the precision of the terrain model in this process. The UAVs used to capture images in general do not necessarily have access to an accurate terrain model (e.g., in their internal storage or SD card). They ususally do not have a sensor to measure the relative altidude either. Therefore, I don't expect the common drones/UAVs to be able to give reliable above-ground-height labels on their own. Some post-hoc processing may be necessary to get the relative altitude.

P.S.: you can refer to this page for the notions of different heights.

VictorZoo commented 1 year ago

Thank you for your response. I have also tried downloading the terrain data (DTM), but unfortunately, I have been attempting to do so for the past three days. The website has been consistently inaccessible for me. T.T

qiyan98 commented 1 year ago

We already include the exact digital model files list at https://github.com/EPFL-ENAC/TOPO-DataGen/tree/main/data_preprocess. See EPFL/comballaz folders for Urbanscape/Naturescape datasets respectively. I believe you can find the exact digital terrain models to downlaod from https://www.swisstopo.admin.ch/en/geodata/height/surface3d-raster.html.

VictorZoo commented 1 year ago

Oh, that's what I wanted. The website is not accessible, but I can download the addresses from the CSV file. Thank you so much!!!