<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">JAI</journal-id>
<journal-id journal-id-type="nlm-ta">JAI</journal-id>
<journal-id journal-id-type="publisher-id">JAI</journal-id>
<journal-title-group>
<journal-title>Journal on Artificial Intelligence</journal-title>
</journal-title-group>
<issn pub-type="epub">2579-003X</issn>
<issn pub-type="ppub">2579-0021</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">47642</article-id>
<article-id pub-id-type="doi">10.32604/jai.2024.047642</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Real-Time Localization Algorithm for Unmanned Aerial Vehicle Based on Continuous Images Processing</article-title>
<alt-title alt-title-type="left-running-head">A Real-Time Localization Algorithm for Unmanned Aerial Vehicle Based on Continuous Images Processing</alt-title>
<alt-title alt-title-type="right-running-head">A Real-Time Localization Algorithm for Unmanned Aerial Vehicle Based on Continuous Images Processing</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Geng</surname><given-names>Peng</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><email>gengpeng@njit.edu.cn</email></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Yang</surname><given-names>Annan</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Liu</surname><given-names>Yan</given-names></name><xref ref-type="aff" rid="aff-3">3</xref></contrib>
<aff id="aff-1"><label>1</label><institution>School of Information and Communication Engineering, Nanjing Institute of Technology</institution>, <addr-line>Nanjing, 211167</addr-line>, <country>China</country></aff>
<aff id="aff-2"><label>2</label><institution>School of Communication Engineering, Tongda College of Nanjing University of Posts and Telecommunications</institution>, <addr-line>Yangzhou, 225127</addr-line>, <country>China</country></aff>
<aff id="aff-3"><label>3</label><institution>School of Mathematics and Physics, Nanjing Institute of Technology</institution>, <addr-line>Nanjing, 211167</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Peng Geng. Email: <email>gengpeng@njit.edu.cn</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2024</year></pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>28</day>
<month>3</month>
<year>2024</year>
</pub-date>
<volume>6</volume>
<issue>0</issue>
<fpage>43</fpage>
<lpage>52</lpage>
<history>
<date date-type="received">
<day>13</day>
<month>11</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>27</day>
<month>2</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2024 Geng, Yang and Liu</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Geng, Yang and Liu</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_JAI_47642.pdf"></self-uri>
<abstract>
<p>This article presents a real-time localization method for Unmanned Aerial Vehicles (UAVs) based on continuous image processing. The proposed method employs the Scale Invariant Feature Transform (SIFT) algorithm to identify key points in multi-scale space and generate descriptor vectors to match identical objects across multiple images. These corresponding points in the image provide pixel positions, which can be combined with transformation equations, allow for the calculation of the UAV&#x2019;s actual ground position. Additionally, the physical coordinates of matching points in the image can be obtained, corresponding to the UAV&#x2019;s physical coordinates. The method achieves real-time positioning and tracking during UAV flight, with experimental results demonstrating that within an acceptable error range, the UAV coordinates calculated using the proposed algorithm are consistent with the actual coordinates. The maximum error along the x-axis, y-axis, and z-axis is 4.501 cm, with the horizontal error exhibiting high stationarity and the vertical error having a low average value of 0.041 cm. The real-time positioning algorithm presented in this article possesses characteristics such as simplicity, ease of implementation, and low error, making it suitable for UAVs with limited computational processing power.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>UAV</kwd>
<kwd>localization</kwd>
<kwd>SIFT</kwd>
<kwd>coordinate transformation</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>National Natural Science Foundation of China Project</funding-source>
<award-id>41972111</award-id>
</award-group>
<award-group id="awg2">
<funding-source>Second Tibetan Plateau Scientific Expedition and Research Program (STEP)</funding-source>
<funding-source>Ministry of Science and Technology</funding-source>
<award-id>2019QZKK020604</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Unmanned Aerial Vehicles (UAVs) are becoming increasingly popular in applications such as surveillance, reconnaissance, mapping, and car-UAV collaborative driving. Unlike pilot-navigated UAVs, autonomous control systems heavily rely on accurate feedback of the vehicle&#x2019;s position. Current common technologies for UAV localization include Global Positioning System (GPS) [<xref ref-type="bibr" rid="ref-1">1</xref>,<xref ref-type="bibr" rid="ref-2">2</xref>], laser radar [<xref ref-type="bibr" rid="ref-3">3</xref>,<xref ref-type="bibr" rid="ref-4">4</xref>], ultrasound [<xref ref-type="bibr" rid="ref-5">5</xref>], Ultra-Wideband (UWB) [<xref ref-type="bibr" rid="ref-6">6</xref>], radio frequency [<xref ref-type="bibr" rid="ref-7">7</xref>,<xref ref-type="bibr" rid="ref-8">8</xref>], and visual methods [<xref ref-type="bibr" rid="ref-9">9</xref>,<xref ref-type="bibr" rid="ref-10">10</xref>]. While GPS is commonly employed for obtaining location information in open areas, its performance degrades when there is interference with GPS signals. Laser radar has limited range and can be influenced by environmental factors [<xref ref-type="bibr" rid="ref-11">11</xref>]. Ultrasonic localization techniques advanced through systems relying on environmental and sensor detection [<xref ref-type="bibr" rid="ref-12">12</xref>], but these methods suffer from slow processing speed and are not suitable for high-speed car-UAV collaborative driving scenarios. UWB and RF localization methods are used only under specific environmental conditions.</p>
<p>In contrast, visual localization offers real-time and generalizable capabilities, making it useful for both GPS-denied environments and tasks that do not require large datasets. The use of UAVs to capture images and perform localization analysis belongs to the technical category of machine vision. Firstly, the image signal is obtained through the built-in camera and other shooting equipment on the UAV, and transmitted to the onboard image processing chip or program. After analysis, the color and distribution information of the captured object can be obtained, and then converted into digital image signals. Digital image processing programs can also be used to analyze the captured object images, apply graphic knowledge to recognize and interact with the environment, and guide UAV localization.</p>
<p>This article utilizes multiple image processing methods for real-time localization of UAVs. Several major aspects are studied in this article, as described below:
<list list-type="bullet">
<list-item>
<p>Proposed a continuous method for real-time localization of UAVs utilizing visual sensors to detect their location.</p></list-item>
<list-item>
<p>Based on SIFT algorithm [<xref ref-type="bibr" rid="ref-13">13</xref>], the detection of key points in multi-scale space is achieved, and the vector information of key points is obtained for matching the same objects in different images.</p></list-item>
<list-item>
<p>Corresponding points in the images provide pixel locations that, combined with a conversion equation, allow calculation of the actual ground position of the UAV. Physical coordinates of the matched points in the image relative to the UAV&#x2019;s physical coordinates can also be obtained. By utilizing the above methods, real-time positioning and tracking of UAVs during flight have been achieved.</p></list-item>
</list></p>
<p>The rest of this article is organized as follows. The current state of research on real-time UAV localization algorithm is presented in <xref ref-type="sec" rid="s2">Section 2</xref>. <xref ref-type="sec" rid="s3">Section 3</xref> gives the implementation scheme. <xref ref-type="sec" rid="s4">Section 4</xref> carries out program testing and analysis. The summary of the article comes from <xref ref-type="sec" rid="s5">Section 5</xref>.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Work</title>
<p>In recent years, real-time UAV localization algorithms based on continuous image processing have made certain progress. The common method is to use the SIFT algorithm to detect key points. The SIFT algorithm can find key points in multiple scale spaces and generate descriptor vectors for matching the same objects in different images. By matching the position of key points in the image, the actual ground position of the UAV can be calculated. In addition to the SIFT algorithm, there are also other image processing algorithms used for UAV localization. For example, the ORB (Oriented FAST and Rotated BRIEF) algorithm [<xref ref-type="bibr" rid="ref-14">14</xref>] is a fast feature detection and description algorithm that can provide faster speed than the SIFT algorithm, but may sacrifice some accuracy [<xref ref-type="bibr" rid="ref-15">15</xref>]. The SURF (Speeded Up Robust Features) algorithm [<xref ref-type="bibr" rid="ref-16">16</xref>] is also commonly used for UAV localization, which combines the advantages of the SIFT algorithm with the speed advantage of the FAST feature detection algorithm. However, the SURF algorithm consumes a lot of resources and is more suitable for hardware systems with sufficient computing resources. For embedded systems or real-time applications with limited resources, this is a limitation [<xref ref-type="bibr" rid="ref-17">17</xref>]. In addition, the increasingly improved research on path planning [<xref ref-type="bibr" rid="ref-18">18</xref>] and tracking of UAVs [<xref ref-type="bibr" rid="ref-19">19</xref>], as well as UAV attitude and altitude control, has also promoted the accuracy of positioning.</p>
<p>Although real-time UAV localization algorithms based on continuous image processing have achieved some success, they still face some challenges. Firstly, factors such as changes in lighting, weather conditions, and flight altitude can affect the quality of images and the detection of feature points [<xref ref-type="bibr" rid="ref-20">20</xref>]. Secondly, how to convert pixel coordinates to actual geographic coordinates is also a problem that needs to be solved [<xref ref-type="bibr" rid="ref-10">10</xref>]. In addition, how to improve positioning accuracy and speed is also an important direction for future research [<xref ref-type="bibr" rid="ref-21">21</xref>]. To overcome these challenges, researchers are exploring various new methods and technologies. For example, some studies use deep learning techniques to improve the detection and matching performance of feature points [<xref ref-type="bibr" rid="ref-22">22</xref>&#x2013;<xref ref-type="bibr" rid="ref-24">24</xref>]. Some studies also consider using multimodal sensor fusion to improve positioning accuracy and robustness [<xref ref-type="bibr" rid="ref-25">25</xref>&#x2013;<xref ref-type="bibr" rid="ref-27">27</xref>].</p>
<p>Overall, real-time localization of UAVs based on continuous image processing is an active research field, and there are many unresolved issues waiting for us to solve. This article systematically implements real-time positioning of UAVs based on the SIFT algorithm, which has lower resource consumption and higher real-time performance, making it more suitable for embedded UAV systems. The experimental results show that within the allowable range of error, the UAV coordinates calculated by this algorithm match the true coordinates.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Implementation Scheme</title>
<p>The proposed continuous-image-processing-based real-time localization algorithm for UAVs provides real-time positioning capabilities during flight, improving localization accuracy and enhancing UAV control, which can lead to innovative applications such as autonomous interaction between UAVs and cars, terrain recognition, and object tracking. The implementation scheme is shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>System processing flowchart</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="JAI_47642-fig-1.tif"/>
</fig>
<p>To achieve the above scheme, the following steps are taken:</p>
<p><bold>Step One:</bold> Utilize the onboard camera of the UAV to capture images and input the current image3 as well as the previous two images image1 and image2.</p>
<p><bold>Step Two:</bold> Acquire matches between image1 and image2, and between image2 and image3 using the Scale-Invariant Feature Transform (SIFT) algorithm. The detailed process involves the following steps:</p>
<p>(1) Construct Gaussian Difference Pyramid:
<list list-type="bullet">
<list-item>
<p>Downsample the input images (e.g., image1 and image2) to create a pyramid of images.</p></list-item>
<list-item>
<p>Apply different-sized Gaussian filters (with varying &#x03C3;) at each scale in the pyramid to generate Gaussian pyramids.</p></list-item>
<list-item>
<p>Compute the difference between adjacent layers in the Gaussian pyramids to form Gaussian difference pyramids.</p></list-item>
</list></p>
<p>(2) Detect Keypoints:
<list list-type="bullet">
<list-item>
<p>Search for extremal points in each layer of the Gaussian difference pyramid. These points are stable in both scale space and orientation, making them suitable for use as feature points.</p></list-item>
<list-item>
<p>Use a contrast thresholding method to filter out weak keypoint candidates.</p></list-item>
</list></p>
<p>(3) Precisely Locate Keypoints:
<list list-type="bullet">
<list-item>
<p>For each detected candidate keypoint, fit a second-order polynomial to precisely calculate its location.</p></list-item>
</list></p>
<p>(4) Assign Keypoint Orientation:
<list list-type="bullet">
<list-item>
<p>Compute the gradient histogram in the neighborhood of each keypoint and assign the direction with the highest gradient magnitude to the keypoint.</p></list-item>
</list></p>
<p>(5) Generate Descriptor Vectors:
<list list-type="bullet">
<list-item>
<p>Based on the pixel values surrounding each keypoint, generate a unique 128-dimensional or higher-dimensional descriptor vector for each keypoint.</p></list-item>
</list></p>
<p>(6) Match Descriptors:
<list list-type="bullet">
<list-item>
<p>Use Euclidean [<xref ref-type="bibr" rid="ref-28">28</xref>] to compare the descriptors of all keypoints from the two images.</p></list-item>
<list-item>
<p>Select the best matching pairs based on a predetermined threshold, using techniques like ratio testing or cross-checking to eliminate false matches.</p></list-item>
</list></p>
<p>Repeat the above process and handle the matching between image2 and image3 separately. It should be noted that the SIFT algorithm is independent in finding matching points between multiple images, so each pair of images needs to perform the above process separately.</p>
<p><bold>Step Three:</bold> Filter the matches between image1 and image2 using Euclidean distance. Due to the potential for mismatches and excessive matches produced by the SIFT algorithm, a distance metric is needed to identify the best keypoints. Distance metrics measure the distance between points in space; larger values suggest greater differences between objects. The standard adopted here is Euclidean distance, a commonly used distance measurement representing the absolute distance between objects in multi-dimensional space. In three-dimensional space, the Euclidean distance between points a(x1, y1, z1) and b(x2, y2, z2) is expressed by <xref ref-type="disp-formula" rid="eqn-1">formula (1)</xref>. In the localization algorithm, stronger matches should be selected for coordinate calculations, i.e., those with the smallest Euclidean distance.
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:mi>a</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:msqrt></mml:math></disp-formula></p>
<p>Note that since image1 and image2 contain all content that is repeated in image3, image2 and image3 contain more object content than image1. As such, the matches between image2 and image3 may not necessarily exist in image1. In this case, the matches between image1 and image2 can be filtered using Euclidean distance to ensure they exist in image3. Filtering cannot be performed based on Euclidean distance between image2 and image3 as it would result in missing corresponding matches in image1.</p>
<p><bold>Step Four:</bold> Identify the two best common matches among image1, image2, and image3. Simple Euclidean distance evaluation suffices to filter out the most similar matches between two images. However, localization requires at least three consecutive images. The process follows these steps:</p>
<p>(1) Obtain the position <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>h</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, where the UAV starts moving and record the corresponding image as <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, where h denotes the vertical height between the UAV and ground plane, parallel to the UAV&#x2019;s z-axis and treated as a known quantity. The UAV&#x2019;s instantaneous horizontal movement at start of motion defines the X direction, and the Y direction can be determined from the right-handed coordinate system. This allows the computation of the real-time UAV position in the X-Y-Z coordinate system.</p>
<p>(2) Capture the position <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> after a brief time <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, recording the corresponding image as <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. The image collection interval <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> mustn&#x2019;t be too large, considering factors such as the UAV&#x2019;s flying speed to ensure overlapping objects between <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, allowing the creation of matches between the images and satisfying the conditions for coordinate transformation algorithm <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> (see Step Five for the specific processing process). Substituting the two UAV positions <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, as well as the pixel coordinates (obtained from SIFT) into the algorithm <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, then the ground coordinates <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> of the matched points can be calculated.</p>
<p>(3) Only the first two positions need to be known, after which the UAV&#x2019;s position can be calculated by program. When the UAV moves to position <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> after a short time <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, capturing an image denoted <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. The <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> must guarantee that the matching points between <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> can be found in <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, as only two matching point ground coordinates can be obtained from <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. With the two matching point ground coordinates, the ground coordinates of <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> can be obtained using coordinate transformation algorithm <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> (see Step Six for the specific processing process).</p>
<p>(4) To find <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>&#x2026;<inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, it is necessary to ensure that the image captured at location <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> contains part of <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p>As can be seen from the above, the matching points used for calculation must exist in all three consecutive images. Therefore, Euclidean distance cannot be the only criterion for selecting suitable matching points. Since the matching points are obtained by comparing two images, in order to obtain a common matching point for the three images, the second image in the middle must be used as the standard. After obtaining the matching points MatchPoints1 between image1 and image2 and MatchPoints2 between image2 and image3, if MatchPoints1 and MatchPoints2 have the same coordinates on the second image, they are the common matching points of the three images. Combined with the Euclidean distance of the matching points, the coordinates of the two matching points suitable for calculation can be filtered out.</p>
<p><bold>Step Five:</bold> Use coordinate transformation algorithm <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> to calculate the ground coordinates of the matching point. Given the surface coordinates of the UAV at two locations <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c1</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c1</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c1</mml:mtext></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c2</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c2</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo></mml:mrow></mml:math></inline-formula> <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mrow><mml:mo fence="true" stretchy="true" symmetric="true"></mml:mo><mml:msub><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c2</mml:mtext></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, calculate the surface coordinates of the matched pixel points. If there are m matching points, let the nth matching point be <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:msub><mml:mrow><mml:mtext>q</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>n</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>. To calculate the ground coordinates <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q3</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q3</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q3</mml:mtext></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> of one of the matching points <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:msub><mml:mrow><mml:mtext>q</mml:mtext></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, the solution form is shown in <xref ref-type="disp-formula" rid="eqn-2">formula (2)</xref>.</p>
<p><disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>31</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>33</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>31</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>32</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mtd><mml:mtd><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>33</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>13</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>33</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>23</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>31</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>11</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>32</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>12</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>31</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>21</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:mtd><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>32</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>22</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:mtd><mml:mtd><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>33</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>13</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>33</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>r</mml:mi><mml:mrow><mml:mn>23</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mi>q</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula>which <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1q3</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>v</mml:mtext></mml:mrow><mml:mrow><mml:mtext>1q3</mml:mtext></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mtext>and</mml:mtext></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>u</mml:mtext></mml:mrow><mml:mrow><mml:mtext>2q3</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>v</mml:mtext></mml:mrow><mml:mrow><mml:mtext>2q3</mml:mtext></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> are the pixel coordinates of <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msub><mml:mi>q</mml:mi><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> in the two images captured by the UAV at ground coordinates <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c1</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c1</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c1</mml:mtext></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c2</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c2</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow><mml:mrow><mml:mtext>c2</mml:mtext></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, respectively. By solving with <xref ref-type="disp-formula" rid="eqn-2">formula (2)</xref>, the ground coordinates of <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msub><mml:mrow><mml:mtext>q</mml:mtext></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q3</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q3</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q3</mml:mtext></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> can be obtained.</p>
<p><bold>Step Six:</bold> Calculate the ground coordinates of the UAV using the coordinate transformation algorithm A2. Given that the ground coordinates of two different matching points in the image captured by the UAV at a certain location are <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q1</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q1</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q1</mml:mtext></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mtext>&#xA0;and</mml:mtext></mml:mrow><mml:mtext>&#x00A0;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mrow><mml:mtext>x</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q2</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>y</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q2</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mtext>&#x00A0;</mml:mtext><mml:msub><mml:mrow><mml:mtext>z</mml:mtext></mml:mrow><mml:mrow><mml:mtext>q2</mml:mtext></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, calculate the ground coordinates of the UAV at that point. The calculation method is shown in <xref ref-type="disp-formula" rid="eqn-3">formula (3)</xref>.</p>
<p><disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mtd><mml:mtd><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtable columnalign="center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mtd><mml:mtd><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>c</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="left" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>31</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>32</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>33</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>13</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>31</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>32</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>33</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>23</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>31</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>32</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>33</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>13</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>31</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>32</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>33</mml:mn></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>r</mml:mi><mml:mrow><mml:mn>23</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mrow><mml:mi>q</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>which <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mtext>u</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>q</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext>v</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>q</mml:mtext></mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mtext>u</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>q</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext>v</mml:mtext></mml:mrow><mml:mrow><mml:mrow><mml:mtext>q</mml:mtext></mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are the coordinates of two matched feature points in the image. The coefficients in the formula have been specified, and the ground coordinates of the UAV can be obtained by solving this matrix equation using the cramer rule.</p>
<p><bold>Step Seven:</bold> If the UAV receives the stop positioning information, it will end and return. Otherwise, new images will be collected and proceed to Step one.</p>
</sec>
<sec id="s4">
<label>4</label>
<title>Program Testing and Analysis</title>
<p>Set the initial coordinate position of the UAV in the air to (0, 0, 90) (unit: Centimeters). The program first performs image matching based on the first group of images (image1, image2, and image3), filters two common matching points, and calculates the coordinates of the matching points. The results are shown in <xref ref-type="table" rid="table-1">Table 1</xref>.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Calculation results statistics of the first group of data (unit: pixels)</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>The first group</th>
<th>image1</th>
<th>image2</th>
<th>image3</th>
</tr>
</thead>
<tbody>
<tr>
<td>Matching point 1 pixel coordinates (x, y)</td>
<td>(624.154, 561.924)</td>
<td>(394.512, 561.194)</td>
<td>(175.452, 565.304)</td>
</tr>
<tr>
<td>Matching point 2 pixel coordinates (x, y)</td>
<td>(535.882, 559.277)</td>
<td>(309.636, 560.158)</td>
<td>(90.3245, 563.052)</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Since the relative position between matching points remains constant within each group, their pixel coordinates in image3 will be relatively fixed. From <xref ref-type="table" rid="table-1">Table 1</xref>, there is approximately an 86-pixel difference along the x-axis (calculated by subtracting the x-coordinate column entries) and 1.8-pixel difference along the y-axis (calculated by subtracting the y-coordinate column entries). Despite minor discrepancies along the y-axis, these differences cause minimal deviation in the display.</p>

<p>After computing the data for the first group, take image2 as the beginning of the next group, forming the group of image2, image3, and image4. The results are presented in <xref ref-type="table" rid="table-2">Table 2</xref>.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Calculation results statistics of the second group of data (unit: pixels)</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>The second group</th>
<th>image2</th>
<th>image3</th>
<th>image4</th>
</tr>
</thead>
<tbody>
<tr>
<td>Matching point 1 pixel coordinates (x, y)</td>
<td>(604.383, 528.514)</td>
<td>(382.632, 534.861)</td>
<td>(147.076, 544.74)</td>
</tr>
<tr>
<td>Matching point 2 pixel coordinates (x, y)</td>
<td>(542.326, 522.109)</td>
<td>(322.673, 528.059)</td>
<td>(87.3395, 538.94)</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Once the second group computations are complete, proceed with image3, image4, and image5 as the third group. Continuing similarly, the nth group consists of images image(n), image(n&#x002B;1), and image(n&#x002B;2). Ultimately, the UAV&#x2019;s ground coordinates can be determined, displayed for the first seven groups in <xref ref-type="table" rid="table-3">Table 3</xref>.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Positional coordinates of the first seven groups of the UAV (unit: cm)</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th></th>
<th>Position 1</th>
<th>Position 2</th>
<th>Position 3</th>
<th>Position 4</th>
<th>Position 5</th>
<th>Position 6</th>
<th>Position 7</th>
</tr>
</thead>
<tbody>
<tr>
<td>x</td>
<td>0</td>
<td>34.176</td>
<td>48.916</td>
<td>62.801</td>
<td>72.775</td>
<td>86.545</td>
<td>98.754</td>
</tr>
<tr>
<td>y</td>
<td>0</td>
<td>0.405</td>
<td>0.513</td>
<td>2.0315</td>
<td>3.692</td>
<td>2.746</td>
<td>3.612</td>
</tr>
<tr>
<td>z</td>
<td>90</td>
<td>90.0111</td>
<td>90.032</td>
<td>90.049</td>
<td>90.068</td>
<td>90.073</td>
<td>90.012</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Ground-truth UAV position data is obtained via measurement, compared to calculated coordinates from the localization algorithm, listed in <xref ref-type="table" rid="table-4">Table 4</xref>. The comparison between the actual coordinates and calculated coordinates of the UAV on the x, y and z axes are shown in <xref ref-type="fig" rid="fig-2">Figs. 2</xref>&#x2013;<xref ref-type="fig" rid="fig-4">4</xref>, respectively.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Comparison of computed <italic>vs.</italic> actual coordinates (unit: cm)</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th></th>
<th>Position 1</th>
<th>Position 2</th>
<th>Position 3</th>
<th>Position 4</th>
<th>Position 5</th>
<th>Position 6</th>
<th>Position 7</th>
</tr>
</thead>
<tbody>
<tr>
<td>Actual coordinates</td>
<td>(0, 0, 0)</td>
<td>(30.2, 0, 90)</td>
<td>(46.6, 0.1, 90)</td>
<td>(58.3, 1.7, 90)</td>
<td>(68.8, 2.1, 90)</td>
<td>(83.5, 1.9, 90)</td>
<td>(96.2, 2.8, 90)</td>
</tr>
<tr>
<td>Calculated coordinates</td>
<td>(0, 0, 0)</td>
<td>(34.176, 0, 90.011)</td>
<td>(48.916, 0.513, 90.032)</td>
<td>(62.801, 2.032, 90.049)</td>
<td>(72.775, 3.692, 90.068)</td>
<td>(86.545, 2.746, 90.073)</td>
<td>(98.754, 3.612, 90.012)</td>
</tr>
<tr>
<td>Error</td>
<td>0, 0, 0</td>
<td>3.976, 0, 0.011</td>
<td>2.316, 0.413, 0.032</td>
<td>4.501, 0.268, 0.049</td>
<td>3.975, 1.592, 0.068</td>
<td>3.045, 0.846, 0.073</td>
<td>2.554, 0.812, 0.012</td>
</tr>
</tbody>
</table>
</table-wrap><fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Comparison of actual coordinates and calculated coordinates on the x-axis</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="JAI_47642-fig-2.tif"/>
</fig><fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Comparison of actual coordinates and calculated coordinates on the y-axis</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="JAI_47642-fig-3.tif"/>
</fig><fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>The difference between the actual and calculated coordinates on the z-axis</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="JAI_47642-fig-4.tif"/>
</fig>
<p><xref ref-type="fig" rid="fig-2">Fig. 2</xref> represents the geographic coordinate deviation of UAV on the x-axis. It can be seen that the error amplitude is relatively balanced at each test point, which means it is easier to perform parameter calibration in the later stage. <xref ref-type="fig" rid="fig-3">Fig. 3</xref> represents the geographic coordinate deviation of UAV on the y-axis. Contrary to the characteristics on the x-axis, its error amplitude is not stable, indicating that the algorithm needs to be optimized in this regard. <xref ref-type="fig" rid="fig-4">Fig. 4</xref> represents the geographic coordinate deviation of UAV on the z-axis. It can be seen that the difference between the first and sixth points steadily increases, and by the seventh point, the error value regresses to a lower range, proving that the algorithm has a certain degree of error correction.</p>

<p>Specifically, observations from the experiment reveal maximum errors of 4.501 cm along the x, y and z axes. Horizontal (x &#x0026; y-axis) errors exhibit higher variability with an average error of 2.4298 cm. Vertical direction error (z-axis) exhibits lower average error of 0.041 cm. Contributing factors include camera parameter errors, errors associated with the UAV&#x2019;s velocity during imaging (movement between image captures), rounding errors during computation and measurement errors. Overall, this approach demonstrates promising localization accuracy.</p>
<p>Overall, the UAV real-time positioning algorithm proposed in this article for continuous image acquisition and processing has the characteristics of simplicity, ease of implementation, and low error, making it suitable for UAVs with low computational processing capabilities. However, it should be noted that due to limitations, this experiment only collected images of stationary objects, and the recognition and localization of moving objects are still under study. In addition, comparisons with other algorithms will be reflected in subsequent research.</p>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>This article uses visual sensors to detect the position of unmanned aerial vehicles. A real-time localization algorithm for unmanned aerial vehicles using continuous image acquisition and processing has been proposed. This algorithm can achieve accurate and stable positioning of unmanned aerial vehicles in urban environments or with severe signal interference. Real-time positioning and tracking functions can help UAVs better perceive the surrounding environment, and improve the accuracy and safety of flight control. It can be applied to the cooperative driving scene of UAVs and autonomous vehicles, expanding the application scene of UAVs.</p>
</sec>
</body>
<back>
<ack><p>None.</p>
</ack>
<sec><title>Funding Statement</title>
<p>This study was supported by National Natural Science Foundation of China Project (41972111) and the Second Tibetan Plateau Scientific Expedition and Research Program (STEP), Ministry of Science and Technology, China (2019QZKK020604).</p>
</sec>
<sec><title>Author Contributions</title>
<p>The authors confirm contribution to the paper as follows: Study conception and design: Peng Geng, Annan Yang; data collection: Yan Liu; analysis and interpretation of results: Peng Geng; draft manuscript preparation: Annan Yang, Yan Liu. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability"><title>Availability of Data and Materials</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Radoglou-Grammatikis</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Sarigiannidis</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Lagkas</surname></string-name>, and <string-name><given-names>I. D.</given-names> <surname>Moscholios</surname></string-name></person-group>, &#x201C;<article-title>A compilation of UAV applications for precision agriculture</article-title>,&#x201D; <source>Comput. Netw.</source>, vol. <volume>172</volume>, no. <issue>3</issue>, pp. <fpage>107148</fpage>, <year>2020</year>. doi: <pub-id pub-id-type="doi">10.1016/j.comnet.2020.107148</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Zhu</surname></string-name>, <string-name><given-names>B. J.</given-names> <surname>Zhang</surname></string-name>, and <string-name><given-names>Q.</given-names> <surname>Ge</surname></string-name></person-group>, &#x201C;<article-title>A nonlinear model predictive control based control method to quadrotor landing on moving platform</article-title>,&#x201D; <source>Cognit. Comput. Syst.</source>, vol. <volume>5</volume>, no. <issue>2</issue>, pp. <fpage>118</fpage>&#x2013;<lpage>131</lpage>, <year>2023</year>. doi: <pub-id pub-id-type="doi">10.1049/ccs2.12081</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Schraml</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Hubner</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Taupe</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Hofst&#x00E4;tter</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Amon</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Rothbacher</surname></string-name></person-group>, &#x201C;<article-title>Real-time gamma radioactive source localization by data fusion of 3D-LiDAR terrain scan and radiation data from semi-autonomous UAV flights</article-title>,&#x201D; <source>Sens.</source>, vol. <volume>22</volume>, no. <issue>23</issue>, pp. <fpage>9198</fpage>, <year>2022</year>. doi: <pub-id pub-id-type="doi">10.3390/s22239198</pub-id>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Wen</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Nie</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Yang</surname></string-name>, and <string-name><given-names>M.</given-names> <surname>Zhou</surname></string-name></person-group>, &#x201C;<article-title>UAV indoor localization using 3D laser radar</article-title>,&#x201D; in <conf-name>2022 IEEE 10th Asia-Pacific Conf. Antennas Propagat. (APCAP)</conf-name>, <publisher-name>IEEE</publisher-name>, <year>2022</year>, pp. <fpage>1</fpage>&#x2013;<lpage>2</lpage>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Yu</surname></string-name>, and <string-name><given-names>C.</given-names> <surname>Niu</surname></string-name></person-group>, &#x201C;<article-title>Ultrasonic&#x2014;and IMU&#x2014;based high-precision UAV localization for the low-cost autonomous inspection in oil and gas pressure vessels</article-title>,&#x201D; <source>IEEE Trans. Industr. Inform.</source>, vol. <volume>19</volume>, no. <issue>10</issue>, pp. <fpage>10523</fpage>&#x2013;<lpage>10534</lpage>, <year>2023</year>. doi: <pub-id pub-id-type="doi">10.1109/TII.2023.3240874</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Yu</surname></string-name>, and <string-name><given-names>A.</given-names> <surname>Loeliger</surname></string-name></person-group>, &#x201C;<article-title>High-precision UWB-based localisation for UAV in extremely confined environments</article-title>,&#x201D; <source>IEEE Sens. J.</source>, vol. <volume>22</volume>, no. <issue>1</issue>, pp. <fpage>1020</fpage>&#x2013;<lpage>1029</lpage>, <year>2021</year>. doi: <pub-id pub-id-type="doi">10.1109/JSEN.2021.3130724</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>D. S.</given-names> <surname>Jasrotia</surname></string-name> and <string-name><given-names>M. J.</given-names> <surname>Nene</surname></string-name></person-group>, &#x201C;<article-title>Localisation using UAV in RFID and sensor network environment: Needs and challenges</article-title>,&#x201D; in <conf-name>2019 Int. Conf. Comput., Commun., Intell. Syst. (ICCCIS)</conf-name>, <publisher-name>IEEE</publisher-name>, <year>2019</year>, pp. <fpage>274</fpage>&#x2013;<lpage>279</lpage>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>B.</given-names> <surname>Yang</surname></string-name> and <string-name><given-names>E.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>A survey on radio frequency based precise localisation technology for UAV in GPS-denied environment</article-title>,&#x201D; <source>J. Intell. Robot Syst.</source>, vol. <volume>103</volume>, no. <issue>3</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>30</lpage>, <year>2021</year>. doi: <pub-id pub-id-type="doi">10.1007/s10846-021-01500-4</pub-id>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Wang</surname></string-name> <etal>et al.</etal></person-group>, &#x201C;<article-title>UAV navigation in large-scale GPS-denied bridge environments using fiducial marker-corrected stereo visual-inertial localization</article-title>,&#x201D; <source>Automat. Constr.</source>, vol. <volume>156</volume>, no. <issue>3</issue>, pp. <fpage>105139</fpage>, <year>2023</year>. doi: <pub-id pub-id-type="doi">10.1016/j.autcon.2023.105139</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Couturier</surname></string-name> and <string-name><given-names>M. A.</given-names> <surname>Akhloufi</surname></string-name></person-group>, &#x201C;<article-title>A review on absolute visual localization for UAV</article-title>,&#x201D; <source>Robot Autonom. Syst.</source>, vol. <volume>135</volume>, no. <issue>3</issue>, pp. <fpage>103666</fpage>, <year>2021</year>. doi: <pub-id pub-id-type="doi">10.1016/j.robot.2020.103666</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Watkins</surname></string-name>, and <string-name><given-names>H.</given-names> <surname>Xie</surname></string-name></person-group>, &#x201C;<article-title>MEMS mirrors for LiDAR: A review</article-title>,&#x201D; <source>Micromach.</source>, vol. <volume>11</volume>, no. <issue>5</issue>, pp. <fpage>456</fpage>, <year>2020</year>. doi: <pub-id pub-id-type="doi">10.3390/mi11050456</pub-id>; <pub-id pub-id-type="pmid">32349453</pub-id></mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Q.</given-names> <surname>Chen</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Xie</surname></string-name>, and <string-name><given-names>G.</given-names> <surname>Sl</surname></string-name></person-group>, &#x201C;<article-title>Sensing system of environmental perception technologies for driverless vehicle: A review of state of the art and challenges</article-title>,&#x201D; <source>Sens. Actuat. A: Phys.</source>, vol. <volume>319</volume>, no. <issue>3</issue>, pp. <fpage>112566</fpage>, <year>2021</year>. doi: <pub-id pub-id-type="doi">10.1016/j.sna.2021.112566</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Wu</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Cui</surname></string-name>, <string-name><given-names>V. S.</given-names> <surname>Sheng</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Zhao</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Su</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Gong</surname></string-name></person-group>, &#x201C;<article-title>A comparative study of SIFT and its variants</article-title>,&#x201D; <source>Meas. Sci. Rev.</source>, vol. <volume>13</volume>, no. <issue>3</issue>, pp. <fpage>122</fpage>&#x2013;<lpage>131</lpage>, <year>2013</year>. doi: <pub-id pub-id-type="doi">10.2478/msr-2013-0021</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Rublee</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Rabaud</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Konolige</surname></string-name>, and <string-name><given-names>G.</given-names> <surname>Bradski</surname></string-name></person-group>, &#x201C;<article-title>ORB: An efficient alternative to SIFT or SURF</article-title>,&#x201D; in <conf-name>2011 Int. Conf. Comput. Vis.</conf-name>, <publisher-name>IEEE</publisher-name>, <year>2011</year>, pp. <fpage>2564</fpage>&#x2013;<lpage>2571</lpage>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A. K.</given-names> <surname>Al Tamimi</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Qasaimeh</surname></string-name>, and <string-name><given-names>K.</given-names> <surname>Qaddoum</surname></string-name></person-group>, &#x201C;<article-title>Offline signature recognition system using oriented FAST and rotated BRIEF</article-title>,&#x201D; <source>Int. J. Electric. Comput. Eng. (IJECE)</source>, vol. <volume>11</volume>, no. <issue>5</issue>, pp. <fpage>4095</fpage>&#x2013;<lpage>4103</lpage>, <year>2021</year>. doi: <pub-id pub-id-type="doi">10.11591/ijece.v11i5.pp4095-4103</pub-id>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Bay</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Tuytelaars</surname></string-name>, and <string-name><given-names>L.</given-names> <surname>van Gool</surname></string-name></person-group>, &#x201C;<article-title>SURF: Speeded up robust features</article-title>,&#x201D; in <conf-name>Comput. Vis.&#x2014;ECCV 2006: 9th Eur. Conf. Comput. Vis.</conf-name>, <publisher-loc>Graz, Austria, Berlin Heidelberg</publisher-loc>, <publisher-name>Springer</publisher-name>, <year>2006</year>, pp. <fpage>404</fpage>&#x2013;<lpage>417</lpage>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Katoch</surname></string-name>, <string-name><given-names>V.</given-names> <surname>Singh</surname></string-name>, and <string-name><given-names>U. S.</given-names> <surname>Tiwary</surname></string-name></person-group>, &#x201C;<article-title>Indian sign language recognition system using SURF with SVM and CNN</article-title>,&#x201D; <source>Array</source>, vol. <volume>14</volume>, no. <issue>1</issue>, pp. <fpage>100141</fpage>, <year>2022</year>. doi: <pub-id pub-id-type="doi">10.1016/j.array.2022.100141</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>E.</given-names> <surname>Belge</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Altan</surname></string-name>, and <string-name><given-names>R.</given-names> <surname>Hac&#x0131;o&#x011F;lu</surname></string-name></person-group>, &#x201C;<article-title>Metaheuristic optimization-based path planning and tracking of quadcopter for payload hold-release mission</article-title>,&#x201D; <source>Electron.</source>, vol. <volume>11</volume>, no. <issue>8</issue>, pp. <fpage>1208</fpage>, <year>2022</year>. doi: <pub-id pub-id-type="doi">10.3390/electronics11081208</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Altan</surname></string-name></person-group>, &#x201C;<article-title>Performance of metaheuristic optimization algorithms based on swarm intelligence in attitude and altitude control of unmanned aerial vehicle for path following</article-title>,&#x201D; in <conf-name>2020 4th Int. Symp. Multidiscip. Studies Innovat. Technol. (ISMSIT)</conf-name>, <publisher-name>IEEE</publisher-name>, <year>2020</year>, pp. <fpage>1</fpage>&#x2013;<lpage>6</lpage>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Lin</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Jin</surname></string-name>, and <string-name><given-names>Z.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>Real-time monocular vision system for UAV autonomous landing in outdoor low-illumination environments</article-title>,&#x201D; <source>Sens.</source>, vol. <volume>21</volume>, no. <issue>18</issue>, pp. <fpage>6226</fpage>, <year>2021</year>. doi: <pub-id pub-id-type="doi">10.3390/s21186226</pub-id>; <pub-id pub-id-type="pmid">34577433</pub-id></mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Shu</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Shi</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Cheng</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Song</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Enhanced RSS-based UAV localization via trajectory and multi-base stations</article-title>,&#x201D; <source>IEEE Commun. Lett.</source>, vol. <volume>25</volume>, no. <issue>6</issue>, pp. <fpage>1881</fpage>&#x2013;<lpage>1885</lpage>, <year>2021</year>. doi: <pub-id pub-id-type="doi">10.1109/LCOMM.2021.3061104</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>C.</given-names> <surname>Sandamini</surname></string-name> <etal>et al.</etal></person-group>, &#x201C;<article-title>A review of indoor positioning systems for UAV localization with machine learning algorithms</article-title>,&#x201D; <source>Electron.</source>, vol. <volume>12</volume>, no. <issue>7</issue>, pp. <fpage>1533</fpage>, <year>2023</year>. doi: <pub-id pub-id-type="doi">10.3390/electronics12071533</pub-id>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>D.</given-names> <surname>Li</surname></string-name> <etal>et al.</etal></person-group>, &#x201C;<article-title>A novel approach for the 3D localization of branch picking points based on deep learning applied to longan harvesting UAVs</article-title>,&#x201D; <source>Comput. Electron. Agric.</source>, vol. <volume>199</volume>, no. <issue>4</issue>, pp. <fpage>107191</fpage>, <year>2022</year>. doi: <pub-id pub-id-type="doi">10.1016/j.compag.2022.107191</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Ren</surname></string-name> and <string-name><given-names>Z.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>A novel scene matching algorithm via deep learning for vision-based UAV absolute localization</article-title>,&#x201D; in <conf-name>2022 Int. Conf. Mach. Learn., Cloud Comput. Intell. Min. (MLCCIM)</conf-name>, <publisher-name>IEEE</publisher-name>, <year>2022</year>, pp. <fpage>211</fpage>&#x2013;<lpage>218</lpage>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Gupta</surname></string-name> and <string-name><given-names>X.</given-names> <surname>Fernando</surname></string-name></person-group>, &#x201C;<article-title>Simultaneous localization and mapping (slam) and data fusion in unmanned aerial vehicles: Recent advances and challenges</article-title>,&#x201D; <source>Drones</source>, vol. <volume>6</volume>, no. <issue>4</issue>, pp. <fpage>85</fpage>, <year>2022</year>. doi: <pub-id pub-id-type="doi">10.3390/drones6040085</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Bultmann</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Quenzel</surname></string-name>, and <string-name><given-names>S.</given-names> <surname>Behnke</surname></string-name></person-group>, &#x201C;<article-title>Real-time multi-modal semantic fusion on unmanned aerial vehicles</article-title>,&#x201D; in <conf-name>2021 Eur. Conf. Mobile Robots (ECMR)</conf-name>, <publisher-name>IEEE</publisher-name>, <year>2021</year>, pp. <fpage>1</fpage>&#x2013;<lpage>8</lpage>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Zhu</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Yin</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Wu</surname></string-name>, and <string-name><given-names>Y.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>UAV&#x2019;s status is worth considering: A fusion representations matching method for geo-localization</article-title>,&#x201D; <source>Sens.</source>, vol. <volume>23</volume>, no. <issue>2</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>18</lpage>, <year>2023</year>. doi: <pub-id pub-id-type="doi">10.3390/s23020720</pub-id>; <pub-id pub-id-type="pmid">36679517</pub-id></mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>R.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Cui</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Sun</surname></string-name>, and <string-name><given-names>D.</given-names> <surname>Towey</surname></string-name></person-group>, &#x201C;<article-title>Poster: Is euclidean distance the best distance measurement for adaptive random testing?</article-title>,&#x201D; in <conf-name>2020 IEEE 13th Int. Conf. Softw. Test., Valid. Verif. (ICST)</conf-name>, <publisher-name>IEEE</publisher-name>, <year>2020</year>, pp. <fpage>406</fpage>&#x2013;<lpage>409</lpage>.</mixed-citation></ref>
</ref-list>
</back></article>