## 2 Materials and Methods
### Method
Once the UAV images were synchronized with the underwater frames, aerial triangulation was performed to determine the precise position and orientation of the UAV during image acquisition. Aerial triangulation involves solving the collinearity equations, which establish a mathematical relationship between the image points, ground points, and the camera position and orientation parameters. This process ensures accurate georeferencing  
Figure 1: The UAV (in red) and snorkeler (in green) paths and their intersections (in the black circles) over the study area. and relative orientation of the captured images with the measured GCPs. The collinearity equations are expressed as follows (Equation (2)):  
\[ \begin{split} x&=x_{0}+f\frac{(r_{11}(X-X_{S})+r_{12}(Y -Y_{S})+r_{13}(Z-Z_{S})}{r_{31}(X-X_{S})+r_{32}(Y-Y_{S})+r_{33}(Z-Z_{S})}\\ y&=y_{0}+f\frac{(r_{21}(X-X_{S})+r_{22}(Y-Y_{S})+r_{23}(Z- Z_{S})}{r_{31}(X-X_{S})+r_{32}(Y-Y_{S})+r_{33}(Z-Z_{S})}\end{split}  \tag{2}\]  
where \(x\) and \(y\) are the image coordinates (in pixels); \(x_{0}\) and \(y_{0}\) are the principal point coordinates of the camera; \(f\) is the focal length; \(X\), \(Y\), \(Z\) are the ground coordinates of the object point; \(X_{S}\), \(Y_{S}\), \(Z_{S}\) are the camera projection center coordinates in the external reference frame; _rij_ are the elements of a 3 \(\times\) 3 rotation matrix (computed from roll, pitch, and yaw angles). Using these equations, each image orientation was determined in the reference frame established by the GCPs. Aerial triangulation was performed using a Bundle Block Adjustment algorithm (BBA), which minimizes errors by simultaneously optimizing the camera parameters, GCPs locations and image tie points. The tie points, as known, are points seen in three or more images. Due to the fact they introduce redundancy because the unknown coordinates are the same for each collinearity equations. Obviously, the tie points have to be static points on land, seen in different times from different images. This is why the UAV flight path is strategically planned to ensure both adequate coverage of the area and sufficient overlapping of the images for precise 3D reconstruction. Each image must include a balanced composition of land and water, facilitating seamless computation of the relative positions and orientations of images themselves. After the UAV and snorkeler frames collection, a standard photogrammetric processing workflow for UAV-derived data are performed to generate a 3D and a DSM (Digital Surface Model), both georeferenced using measured GCPs. Since one of the primary objectives is to generate an orthophoto covering the entire study area including its water surface, due to the fact that the orthophoto depends on the DSM, careful attention was devoted to the DSM generation process. As the water surface is considered the zero-level reference in this study, this assumption needed to be reflected in the DSM. The original DSM over the water area showed distortions, resulting in a non-flat surface, which conflicted with our assumption of a flat water-level. To address this, a Python script was employed to mask the area covered by water and assign a uniform height value of zero to the surface. Once a reliable DSM was generated, a comprehensive orthophoto was created. Individual orthorectified images were derived for each frame involved in the data processing from the orthophoto. These orthorectified images were corrected for distortions based on the DSM and georeferenced to the primary model orthophoto, ensuring accurate integration into the photogrammetric dataset. Since some of the orthorectified images captured the snorkeler, we were able to estimate the \(X\)-\(Y\) coordinates of the target on his back and of the camera center using the orthorectified images. By referencing the time, we can identify the specific underwater frame at that time and determine the corresponding \(X\)-\(Y\) coordinates for that specific frame.