An aerial route planning method and system

By discretizing the target area and iteratively adjusting the focal length and flight altitude, the aerial photography planning method solves the problems of low coverage efficiency and poor clarity in traditional aerial photography methods, and achieves efficient coverage and high-resolution image acquisition within a limited number of photos.

CN122329323APending Publication Date: 2026-07-03GUANGZHOU DAOYI HARMONY TECHNOLOGY DEVELOPMENT CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGZHOU DAOYI HARMONY TECHNOLOGY DEVELOPMENT CO LTD
Filing Date
2026-04-29
Publication Date
2026-07-03

AI Technical Summary

Technical Problem

Traditional aerial photography methods cannot effectively utilize the camera's field of view, resulting in low coverage efficiency or redundant coverage, and fail to optimize the ground sampling distance (GSD) within a limited number of photos to obtain high-resolution images.

Method used

By discretizing the target area into a grid, a set of candidate shooting points is generated. With a preset number of photos as a constraint, the focal length and flight altitude are iteratively adjusted to optimize the position, orientation, and altitude of the shooting points, so as to completely cover the target area within a limited number of photos and minimize the GSD.

Benefits of technology

Within a given number of photos, complete coverage of the target area and minimized ground sampling distance were achieved, improving the coverage efficiency and image clarity of aerial photography planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122329323A_ABST
    Figure CN122329323A_ABST
Patent Text Reader

Abstract

This application discloses an aerial photography flight path planning method, which includes: acquiring a planar polygonal region; generating a first photography point; selecting a second photography point from the first photography point and setting constraints; if no set of second photography points satisfying the conditions exists, decreasing the focal length in the preset camera parameters and / or increasing the preset drone flight altitude, and then re-executing the step of calculating the rectangular coverage area to select the second photography point; if a set of second photography points satisfying the conditions exists, recording the current camera parameters and drone flight altitude, then increasing the focal length and / or decreasing the flight altitude, and re-executing the step of calculating the rectangular coverage area to select the second photography point; using the set of second photography points that last satisfied the constraints as the final planning result; planning the flight path and generating an aerial photography flight path file. This application can be used to solve the technical problems of low coverage efficiency and poor image clarity in existing aerial photography methods.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of aerial photography technology, and in particular to an aerial photography route planning method and system. Background Technology

[0002] Traditional flight path planning methods typically treat cameras as sensors with fixed coverage areas and optimize them based on facility location problem models. These models usually use Euclidean distance to construct circular coverage areas or Manhattan and Chebyshev distances to construct square coverage areas parallel to the coordinate axes. However, aerial photography cameras typically capture rectangular images, and their coverage direction (i.e., the drone's yaw angle) directly affects the rectangle's orientation on the ground. Traditional circular or axis-parallel square models cannot describe this direction-dependent rectangular coverage characteristic, resulting in optimized photo points that often do not fully utilize the camera's field of view, leading to low coverage efficiency or duplicate coverage.

[0003] Furthermore, most existing methods assume that the sensor's coverage area is fixed and do not take into account the zoom capabilities of modern cameras. In actual aerial photography missions, users typically want to fully cover the target area while obtaining high-resolution (low GSD) images within a limited number of photos (e.g., limited by the drone's battery life or storage capacity). Existing planning methods either ignore GSD, a key quality indicator, or treat flight altitude and focal length as fixed input parameters rather than optimization variables, failing to automatically find the parameter combination that minimizes GSD under coverage constraints. Summary of the Invention

[0004] The embodiments of this application aim to provide an aerial photography route planning method and system to solve the technical problems of low coverage efficiency and poor shooting clarity in existing aerial photography methods.

[0005] In a first aspect, embodiments of this application provide an aerial photography flight path planning method, comprising: obtaining a planar polygonal region based on the boundary information of a target region; dividing the circumscribed rectangle of the planar polygonal region into multiple grids, using the center point of each grid as a candidate photographing plane position, and obtaining multiple candidate photographing directions at preset planar rotation angle intervals; generating multiple first photographing points based on the multiple candidate photographing plane positions, multiple candidate photographing directions, and a preset drone flight altitude value; discretizing the planar polygonal region into multiple region sampling points, calculating the rectangular coverage area of ​​the photograph taken by the drone at each first photographing point based on preset drone camera parameters, determining the region sampling points included in each rectangular coverage area, and calculating the current ground sampling distance (GSD) value of the drone; and selecting from all the first photographing points... A second set of photographic points, not exceeding a preset number of photos, is selected, with the constraint that the union of the rectangular coverage areas corresponding to the selected second photographic points can cover all the sampling points in the region. If no set of second photographic points meets the condition, the focal length in the preset camera parameters is reduced and / or the preset drone flight altitude is increased, and the step of calculating the rectangular coverage area to select the second photographic point is re-executed. If a set of second photographic points meets the condition, the current camera parameters and drone flight altitude are recorded, and then the focal length is increased and / or the flight altitude is decreased, and the step of calculating the rectangular coverage area to select the second photographic point is re-executed until the constraint cannot be met. The set of second photographic points that last met the constraint is taken as the final planning result. Based on the final planning result, a flight path is planned, and an aerial flight path file is generated.

[0006] This application generates a set of candidate shooting points containing location and orientation by discretizing the target area into a grid and orientation sampling. It transforms the continuous aerial photography planning problem into a discrete combinatorial optimization problem. Under the constraint of a preset number of photos, a second shooting point is selected. With the hard condition of covering all sampling points in the area, the focal length and flight altitude are adjusted through bidirectional iteration: when coverage is not possible, the focal length is reduced / the altitude is increased to expand the coverage area; when coverage is possible, the focal length is increased / the altitude is decreased to compress the ground sampling distance (GSD). The last feasible solution is recorded. Within a given upper limit of the number of photos, the position, orientation, altitude, and focal length of the shooting point that both completely covers the target area and minimizes the ground sampling distance (clarity) can be automatically solved. This solves to some extent the shortcomings of traditional methods that are difficult to balance rectangular directionality and zoom GSD.

[0007] In some embodiments, obtaining a planar polygonal region based on the boundary information of the target region includes: acquiring the coordinates of multiple vertices selected sequentially by the user on the map in a preset direction; converting the latitude and longitude coordinates of each vertex into planar Cartesian coordinates to obtain the planar Cartesian coordinates of each vertex; and sequentially connecting the multiple vertices in the planar Cartesian coordinate system to form the planar polygonal region.

[0008] This application converts the latitude and longitude vertices selected by the user on the map into planar Cartesian coordinates and connects them sequentially to form closed polygons. This allows subsequent geometric operations such as mesh generation and coverage calculation to be performed in a unified planar coordinate system, providing accurate and computable region boundaries.

[0009] In some embodiments, when the circumscribed rectangle of the planar polygonal region is divided into multiple grids, the number of grids is N×N, where N is an integer greater than 1 and not greater than 30.

[0010] This application limits the number of grids to N×N, and N is no greater than 30. On the one hand, this ensures that the candidate image positions have sufficient spatial resolution (the larger N is, the denser the candidate points are, and the higher the quality of the solution). On the other hand, it controls the discretization scale (N³ candidate image points), so that the computational complexity of the integer programming model is within an acceptable range in practice, taking into account both the optimality of the solution and the efficiency of the solution.

[0011] In some embodiments, the number of candidate shooting directions is N, and the preset horizontal plane rotation angle interval is π / N.

[0012] This application samples N yaw angles at equal intervals at each candidate location, with an angle interval of π / N. This allows for complete coverage of all possible orientations of the rectangular photograph in the horizontal plane (coinciding with the initial orientation after rotation by π). This increases the symmetry and uniformity of the candidate photographing orientation set, avoids orientation omissions or redundancy, and facilitates finding the optimal rectangular coverage orientation.

[0013] In some embodiments, the camera parameters include at least the sensor size, pixel size, and camera focal length.

[0014] This application provides the necessary physical parameters for subsequent calculation of rectangular coverage area (based on sensor size and focal length) and GSD value (based on pixel size, height and focal length) by specifying that camera parameters include at least sensor size, pixel size and focal length. This improves the consistency between the coverage model and the imaging characteristics of the real camera, and enhances the practicality and accuracy of the planning results.

[0015] In some embodiments, the ground sampling distance (GSD) value is calculated based on the pixel size, the drone's flight altitude, and the camera's focal length.

[0016] This application clarifies that GSD is calculated from pixel size, flight altitude, and focal length, which enables the sharpness index to be accurately calculated and iteratively optimized, thus facilitating the quantitative control of sharpness under coverage constraints.

[0017] In some embodiments, discretizing the planar polygonal region and determining the region sampling points included in the rectangular coverage area includes: arranging grid points in the planar polygonal region according to a preset sampling interval, and taking the grid points located inside the planar polygonal region as the region sampling points; performing spatial inclusion determination between the rectangular coverage area of ​​the drone's shooting area at each first shooting point and each region sampling point; and establishing the coverage relationship between each first shooting point and the region sampling points included in its corresponding rectangular coverage area.

[0018] This application discretizes a continuous region into a finite number of region sampling points by grid sampling, and establishes the coverage relationship between each candidate image point and the sampling point by spatial inclusion judgment. The continuous geometric coverage problem is transformed into a discrete coverage matrix, which expresses "each sampling point is covered by at least one selected image point" in the form of linear constraints. This simplifies the solution difficulty and also takes into account the requirement of coverage integrity.

[0019] In some embodiments, selecting a second shooting point from all first shooting points that does not exceed a preset number of photos includes: establishing an integer programming model based on the focal length in preset camera parameters, wherein the constraint condition of the integer programming model is that each area sampling point is covered by at least one second shooting point, and the total number of selected second shooting points does not exceed the preset number of photos; solving the integer programming model to determine whether there is a feasible solution.

[0020] This application establishes an integer programming model and explicitly defines the constraints as "each region's sampling point is covered by at least one second photographing point" and "the total number of selected photographing points does not exceed a preset number," thereby reducing the probability of missing optimal solutions or getting trapped in local optima. Furthermore, the model has a clear structure, can be quickly solved using mature commercial solvers, and exhibits high reliability and reproducibility.

[0021] In some embodiments, the step of planning the flight path and generating an aerial photography flight path file based on the final planning result includes: using the positions of all selected second photography points as path nodes; calculating the shortest closed path passing through all the path nodes; using the shortest closed path as the flight path; and generating an aerial photography flight path file.

[0022] After determining the optimal set of photo points, this application uses the planar position of each photo point as a node to solve the traveling salesman problem to obtain the shortest closed path and generate a flight path file. This can transform discrete photo points into continuous paths that the UAV can actually fly, and output a universal format that can be directly uploaded to the flight control system for execution, thus effectively achieving seamless integration from planning to execution.

[0023] Secondly, this application also provides an aerial photography flight path planning system for implementing the aerial photography flight path planning method in any of the foregoing embodiments. The system includes: an information acquisition module for acquiring boundary information of a target area, a preset number of photos, and camera parameters; a coordinate transformation module for converting the boundary information into a planar polygonal region in a planar coordinate system; a preprocessing module for generating a bounding rectangle of the planar polygonal region based on the planar coordinates of each vertex of the planar polygonal region; dividing the bounding rectangle into multiple grids, and generating multiple first shooting points based on the center point of each grid, combined with a preset planar rotation angle interval and a preset drone flight altitude; a discretization module for discretizing the planar polygonal region into multiple region sampling points; and a coverage modeling module for calculating the rectangular coverage area of ​​the photos taken by the drone at each first shooting point based on preset camera parameters, and determining the area contained in each rectangular coverage area. The system establishes a coverage relationship between each first photo point and the area sampling points within its corresponding rectangular coverage area, and calculates the current ground sampling distance (GSD) value of the drone. An optimization solution module, using the constraint of covering all the area sampling points, determines whether there exists a feasible solution with a second photo point not exceeding a preset number of photos. If not, it reduces the drone's focal length and / or increases its flight altitude, notifying the coverage modeling module to recalculate. If a solution exists, it records the current parameters, then increases the focal length and / or decreases the flight altitude, triggering the coverage modeling module to recalculate until the constraint cannot be met. The system generates a set of second photo points that last satisfies the constraint, and determines the drone's camera parameters and flight altitude at each second photo point. A path planning module plans the flight path based on the generated set of second photo points. An output module generates and outputs a flight path file containing the flight path and photo point parameters.

[0024] This application provides a modular system architecture corresponding to the aerial flight path planning method. Each module (information acquisition, coordinate transformation, preprocessing, discretization, coverage modeling, optimization solution, path planning, and output) has a clearly defined function and a clear data flow. It can automatically complete the entire process from user input to flight path file generation, making it easy to integrate into UAV ground station software or cloud planning platforms. It has high practicality and scalability. Moreover, the optimization solution module has an embedded bidirectional iterative mechanism that can autonomously search for the minimum GSD solution, reducing the cost of manual parameter debugging.

[0025] Additional aspects and advantages of the embodiments of this application will be described or shown in part in the following description, or illustrated by practice of the embodiments of this application. Attached Figure Description

[0026] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0027] Figure 1 This is a schematic diagram of the overall process of the aerial flight route planning method in some embodiments of this application; Figure 2 This is a schematic diagram illustrating the process of obtaining a planar polygonal region based on the boundary information of the target region in some embodiments of this application; Figure 3 This is a schematic diagram illustrating the process of discretizing a planar polygonal region and determining the sampling points of the region included in a rectangular coverage area in some embodiments of this application; Figure 4 This is a schematic diagram of the process of selecting a second shooting point from all first shooting points, not exceeding a preset number of photos, in some embodiments of this application; Figure 5 This is a flowchart illustrating the process of planning flight paths and generating aerial flight route files based on the final planning results in some embodiments of this application; Figure 6 This is a schematic diagram of the structure of an aerial flight route planning system in some embodiments of this application; Figure 7 This is a schematic diagram of the structure of an electronic device in some embodiments of this application. Detailed Implementation

[0028] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of this application. All other embodiments obtained by those skilled in the art based on the embodiments in this application without inventive effort are within the scope of protection of this application.

[0029] It should be noted that, unless there is a conflict, the various features in the embodiments of this application can be combined with each other, and all are within the protection scope of this application. Furthermore, although functional modules are divided in the device schematic diagram and a logical order is shown in the flowchart, in some cases, the steps shown or described can be performed in a different order than the module division in the device or the order in the flowchart.

[0030] In a first aspect, embodiments of this application provide an aerial photography route planning method, including: S1. Obtain a planar polygonal region based on the boundary information of the target region.

[0031] S2. Divide the bounding rectangle of the planar polygonal region into multiple grids, and use the center point of each grid as the candidate image-taking plane position. Obtain multiple candidate image-taking directions according to the preset plane rotation angle interval.

[0032] S3. Based on multiple candidate photo plane positions, multiple candidate photo directions, and preset drone flight altitude values, generate multiple first photo points.

[0033] S4. Discretize the planar polygonal region into multiple region sampling points. Based on the preset camera parameters of the drone, calculate the rectangular coverage area of ​​the photo taken by the drone at each first shooting point, determine the region sampling points included in each rectangular coverage area, and calculate the current ground sampling distance GSD value of the drone.

[0034] S5. Select a second shooting point from all first shooting points, not exceeding the preset number of photos, with the constraint that the union of the rectangular coverage areas corresponding to the selected second shooting point can cover all area sampling points.

[0035] S6. If there is no set of second photo points that meet the conditions, reduce the focal length in the preset camera parameters and / or increase the preset drone flight altitude, and then re-execute the step of calculating the rectangular coverage area to select the second photo point.

[0036] S7. If there exists a set of second photo points that meet the conditions, record the current camera parameters and the drone's flight altitude. Then, increase the focal length and / or decrease the flight altitude, and re-execute the steps of calculating the rectangular coverage area to select the second photo points until the constraints cannot be met. The set of second photo points that last met the constraints is taken as the final planning result.

[0037] S8. Based on the final planning results, plan the flight path and generate aerial flight route files.

[0038] Specifically, please refer to Figure 1 Users select the boundary of the target area through map software, and the system generates a planar polygon area based on the boundary information; this area is a closed polygon on a two-dimensional plane, representing the area that needs to be covered by aerial photography.

[0039] Then, the bounding rectangle of the planar polygonal region is calculated, and the bounding rectangle is divided into multiple square grids of the same size. The center point of each grid is taken as the candidate image plane position. At the same time, a plane rotation angle interval (e.g., 15°) is set, and multiple candidate image directions are obtained at equal intervals within the range of 0° to 180°. Each direction represents the yaw angle of the camera in the horizontal plane.

[0040] Then, based on a preset drone flight altitude (e.g., 100 meters), multiple first photography points are formed by combining the plane position of each candidate photography point and the direction of each candidate photography point; each first photography point includes plane coordinates (x, y), flight altitude h, and yaw angle θ.

[0041] Simultaneously, grid sampling is performed on the planar polygonal region to generate multiple uniformly distributed regional sampling points. Based on preset camera parameters (including sensor size, pixel size, and focal length), for each first shooting point, the rectangular coverage area (i.e., the ground projection rectangle) of the image captured at that point is calculated, and it is determined which regional sampling points are covered by this rectangle. At the same time, based on the current flight altitude and camera focal length, the current ground sampling distance (GSD) value is calculated.

[0042] Next, based on the user-defined desired number of photos k (e.g., 20 photos), no more than k second shooting points are selected from multiple first shooting points. The union of the rectangular coverage areas corresponding to the selected second shooting points must cover all sampling points in the region. If no set of second shooting points meets the aforementioned coverage condition, the camera focal length is reduced (e.g., by 5mm each time) and / or the flight altitude is increased (e.g., by 10m each time), and then steps S4 and S5 are repeated.

[0043] If a second set of photographic points that meets the coverage conditions exists, record the current camera focal length and flight altitude. Then, continue to increase the focal length and / or decrease the flight altitude, and repeat steps 4 and 5 to determine again whether a second set of photographic points that meets the coverage conditions still exists. Repeat this process until no second set of photographic points that meets the coverage conditions can be found. The second set of photographic points recorded when the coverage conditions are finally met is taken as the final planning result.

[0044] Finally, based on the planar positions of each second photography point in the final planning results, the shortest closed path passing through all positions is calculated (e.g., by using the traveling salesman problem to solve it), and this path is used as the flight path of the drone. Moreover, the flight path and the position coordinates, yaw angle, flight altitude, and camera focal length of each second photography point are encoded into a KML format flight path file for use by the drone when performing its mission.

[0045] In some embodiments, obtaining a planar polygonal region based on the boundary information of the target region includes: S11. Obtain the coordinates of multiple vertices selected by the user in sequence on the map according to a preset direction.

[0046] S12. Convert the latitude and longitude coordinates of each vertex into Cartesian coordinates to obtain the Cartesian coordinates of each vertex.

[0047] S13. In a planar Cartesian coordinate system, connect multiple vertices in sequence to form a planar polygonal region.

[0048] Specifically, please refer to Figure 2 In this embodiment, the boundary information of the target area refers to the sequence of latitude and longitude coordinates of multiple vertices manually selected by the user on the electronic map. These vertices are arranged sequentially in a preset direction (counterclockwise or clockwise), and the lines connecting adjacent vertices and the line connecting the last vertex to the first vertex together form a closed polygon, which represents the area to be covered by aerial photography. In addition to vertex coordinates, the boundary information may also implicitly include derived information such as the connection order between vertices and the bounding rectangle of the target area.

[0049] The boundary information of the target area is obtained through user interaction on the map. Specifically, the user opens an electronic map (such as Google Maps, Baidu Maps, or Gaode Maps) and clicks on multiple points on the boundary of the target area sequentially using a mouse or touchscreen. The system records the latitude and longitude coordinates of each point in the order of clicks. To ensure that the generated polygonal area has a defined internal and external orientation, the user should select vertices according to a preset direction; in this embodiment, a counter-clockwise direction is used as the default direction.

[0050] In some other embodiments, there are many ways to obtain the boundary information of the target area. For example, the system can extract the vertex coordinates of polygons by parsing the geometric elements in the boundary file in KML, GeoJSON, or Shapefile format uploaded by the user, thereby obtaining the boundary information of the target area; or, the system can automatically identify the contour of the target area by performing semantic segmentation or edge detection on high-resolution satellite images, and discretize the contour into a series of vertices to obtain the boundary information of the target area, and generate a planar polygonal region corresponding to the target area. In practical applications, technicians can choose appropriate boundary information acquisition methods, and are not limited to the user interaction methods on the map listed in this embodiment.

[0051] Furthermore, in practical applications, the shape of the target area varies greatly; it may be regular, irregular, or contain internal holes. For a regular-shaped target area (such as a rectangle), the user can directly click counter-clockwise in the following order: top left → top right → bottom right → bottom left. The system records the latitude and longitude coordinates of these four points and automatically connects them to form a rectangular polygon.

[0052] When the target area is irregularly shaped (such as an L-shaped plot), for an L-shaped plot, the user needs to click on all the turning points along the outer contour in sequence; for example, starting from the top left corner, click the first concave corner point to the right, click the inner corner point down, then click the second concave corner point to the right, click the bottom corner down, click the leftmost point to the left, and finally click up to return to the starting point; the system connects these points in sequence to form an L-shaped polygon.

[0053] For irregularly shaped target areas with curved boundaries (such as lakes), users can click on a point at regular intervals on the curve. The denser the points, the higher the fitting accuracy. The system connects adjacent points with straight line segments and approximates the curve boundary with polygons.

[0054] When there are holes within the target area that do not need to be covered (e.g., a ring-shaped green belt with a building in the middle), the user needs to select the vertices of the outer and inner boundaries separately. The outer boundary is selected counterclockwise, and the inner boundary is selected clockwise. The system stores the vertex sequences of the outer and inner boundaries separately, and in the subsequent step S4, only the sampling points located inside the outer boundary and outside the inner boundary are retained, thus correctly representing the ring-shaped coverage area. For example, if the user first clicks 10 points on the outer edge of the ring-shaped green belt counterclockwise, and then clicks 6 points on the inner edge (building boundary) clockwise, the system can identify the ring-shaped area.

[0055] Furthermore, the vertex coordinates obtained from the map are usually latitude and longitude (WGS84 or GCJ-02 coordinate system), which are spherical coordinates. However, spherical coordinates cannot be directly used for subsequent mesh generation, distance calculation, and rectangle coverage determination (these operations need to be performed in a planar Cartesian coordinate system). Therefore, the latitude and longitude coordinates must be converted to planar Cartesian coordinates (e.g., through transverse Mercator projection or local tangent plane projection). The specific calculation steps are detailed in existing technologies and will not be repeated here.

[0056] It should be noted that this application does not disregard the scenario where coordinate conversion is not required. In practical aerial photography planning applications, users almost always select areas based on online maps, and the original coordinates provided by the maps are latitude and longitude. Even if some users already have planar coordinates (e.g., obtained from CAD drawings), they can be treated as latitude and longitude coordinates for unified processing, or a decision branch can be added to the actual software implementation: if the input is already planar coordinates, the conversion is skipped. Those skilled in the art should understand that omitting the conversion step when the input is already planar coordinates is still an equivalent implementation of this invention.

[0057] In some embodiments, when the circumscribed rectangle of the planar polygonal region is divided into multiple grids, the number of grids is N×N, where N is an integer greater than 1 and not greater than 30.

[0058] Specifically, in this embodiment, the circumscribed rectangle of the planar polygonal region obtained in step S1 is divided into multiple square grids of the same size, and the number of grids is denoted as N×N.

[0059] To strike a balance between computational accuracy and solution efficiency, the value of N is set to be greater than 1 and no greater than 30. When N is small (e.g., N=5), the candidate image locations are sparse, the number of variables in the integer programming model is small, and the solution speed is fast, but the optimal image location may be missed due to insufficient discretization granularity. When N is large (e.g., N=30), the candidate image locations are dense, which can more finely approximate the optimal solution, but the total number of candidate image points will reach N³=27,000, the scale of the integer programming model will increase dramatically, and the solution time will be significantly extended. In practical applications, users can choose an appropriate value of N between 2 and 30 according to the size of the target area and the desired planning accuracy. For example, for areas with small areas or simple boundaries, N=10 can be selected; for areas with large areas and complex shapes, N=25 can be selected.

[0060] For example, assuming the outer rectangle of a target area has a side length of 500 meters, and the user selects N=20, then the side length of each grid is 500 / 20=25m, and the total number of candidate shooting positions is 20×20=400. These positions are evenly distributed within the outer rectangle, which can cover the entire area well.

[0061] Furthermore, although this application uses an N×N square grid as an example for illustration, in other embodiments, a non-square rectangular grid (e.g., adaptively divided according to the aspect ratio of the circumscribed rectangle) or a hexagonal grid can also be used. Any method that can generate a set of discrete candidate image positions covering the circumscribed rectangle is considered an equivalent embodiment of this invention.

[0062] In some embodiments, the number of candidate shooting directions is N, and the preset horizontal plane rotation angle interval is π / N.

[0063] Specifically, since the rectangular image captured by the camera, after being rotated 180° around the vertical axis, is identical to the pattern covered in the initial orientation (the rectangles overlap after rotating 180°), it is sufficient to consider only the semicircular range from 0 to π to cover all different rectangular orientations. In this embodiment, the semicircle can be divided into N equal parts, resulting in N directions, which allows for uniform sampling of all possible yaw angles. The larger the value of N, the denser the direction sampling, increasing the likelihood of finding the optimal rectangular orientation; however, this also increases the total number of candidate image points (N³). Therefore, using the same N value as the grid division simplifies the total number of candidate image points to N³, facilitating unified control of the discretization granularity.

[0064] For example, using the previous example of N=20, 20 candidate shooting directions will be generated at each candidate shooting location, with angles of 0, π / 20, 2π / 20, …, 19π / 20 (i.e., 0°, 9°, 18°…171°). Combining these with 400 candidate shooting locations, a total of 400 × 20 = 8,000 first shooting points are obtained. If the user selects N=10, the direction interval is π / 10 = 18°, for a total of 10 directions, resulting in a total of 10³ = 1,000 first shooting points.

[0065] In some embodiments, the number of candidate shooting directions may be different from N, and the angle interval may also be other values. This application describes N directions with an interval of π / N as a preferred embodiment, but this should not be construed as a limitation of the invention.

[0066] In some embodiments, the photosensitive element size includes a horizontal width (denoted as ). ) and vertical height (denoted as ), the unit is usually millimeters or micrometers; pixel size (denoted as ( ) represents the physical side length of a single pixel on the image sensor, measured in micrometers; camera focal length (denoted as ) () is the distance from the optical center of the lens to the image sensor, measured in millimeters. These parameters are determined by the camera model and are input as preset values ​​during the planning process.

[0067] Ground Sampling Distance (GSD) is used to characterize the actual physical size of a pixel on the ground in a photograph. The smaller the GSD value, the higher the image resolution and the clearer the details.

[0068] In this invention, GSD is based on the current flight altitude of the drone (denoted as...). ), camera focal length and pixel size The specific calculation formula is as follows: ; It should be noted that: before substituting into the formula, you need to... and To convert to the same unit (e.g., uniformly convert to meters), the usual practice is to... From micrometers to meters (1μm = 10) 6 m), will Convert millimeters to meters (1 mm = 10⁻⁶ m) 3 The result is in meters per pixel; for ease of practical application, GSD is often expressed as centimeters per pixel (multiplied by 100) or millimeters per pixel.

[0069] For example: if the preset flight altitude of the drone is h=100m, the pixel size... =4.5μm, focal length =50mm, then: ; This means that one pixel in the photo corresponds to a square area on the ground with a side length of 0.9cm. The smaller the GSD value, the clearer the ground details.

[0070] In addition, the size of the photosensitive element ( , This is used to calculate the rectangular coverage area of ​​a photograph.

[0071] Specifically, the formulas for calculating the width and length of the ground cover rectangle are as follows: ; This formula shares the same physical basis as the GSD formula, both originating from the pinhole camera model; pixel coordinates can be converted into actual ground distances using the sensor size in the camera parameters.

[0072] In some embodiments, camera parameters may also include intrinsic parameters such as lens distortion coefficient and principal point offset for higher precision mapping tasks. However, this application targets coverage determination at the flight path planning level, and a simplified pinhole model is sufficient. If more accurate coverage boundary calculation is required, a more complex projection model can be introduced without departing from the concept of this invention.

[0073] In some embodiments, discretizing the planar polygonal region and determining the region sampling points included in the rectangular coverage area includes: S41. Arrange grid points within the planar polygonal region according to the preset sampling interval, and use the grid points located inside the planar polygonal region as regional sampling points.

[0074] S42. Spatial inclusion determination is performed between the rectangular coverage area of ​​the drone's shooting area at each first shooting point and the sampling points of each area.

[0075] S43. Establish the coverage relationship between each first shooting point and the area sampling points contained in its corresponding rectangular coverage area.

[0076] Specifically, please refer to Figure 3 In this embodiment, firstly, grid points are arranged within the planar polygonal region at a preset sampling interval. The preset sampling interval can be determined according to the required coverage accuracy, for example, set to 1m, 2m, or 5m. Specifically, the length and width dimensions of the circumscribed rectangle of the planar polygonal region are calculated. Uniform grid points are generated within the circumscribed rectangle at a preset interval. Then, each grid point is checked to determine whether it is located inside the planar polygonal region (using a ray method or a winding number method to determine point-polygon inclusion). Grid points located inside the polygon are taken as region sampling points. These region sampling points represent a set of discrete locations that need to be covered by aerial photography.

[0077] It should be noted that a smaller sampling interval results in a denser network of sampling points and higher accuracy in coverage determination, but also increases the number of constraints in the subsequent integer programming model. Typically, the sampling interval can be set to 1 / 5 to 1 / 10 of the minimum side length of the ground coverage rectangle to balance accuracy and computational cost.

[0078] Secondly, for each first photo point (including planar coordinates, flight altitude, and yaw angle), the system calculates the rectangular coverage area of ​​the photo taken at that photo point based on the current camera parameters (focal length, sensor size) and flight altitude.

[0079] The rectangular coverage area is a rotating rectangle on the plane containing the planar polygonal region, with its center at the ground projection point of the photographing point. Its length and width have been calculated in the aforementioned embodiment, and the rotation angle is the yaw angle. The system needs to determine whether each region's sampling point is located inside the rotating rectangle, i.e., to perform a spatial containment determination.

[0080] The specific algorithm for spatial inclusion determination is as follows: for any region sampling points and any first photo point First, translate P to a coordinate system centered on the projection point Q, obtaining the relative coordinates (dx, dy) = (a x,b y); then rotate (dx,dy) in the opposite direction. To obtain the local coordinates: (u,v)=(dx*cos +dy*sin , dx*sin +dy*cos ); If |u|≤W / 2 and |v|≤H / 2, then it is determined that the sampling point in this area is covered by the rectangular coverage area of ​​the first photographing point.

[0081] By traversing all first-shot points and all area sampling points, it is possible to determine which area sampling points each first-shot point can cover.

[0082] Finally, establish the coverage relationship between each first image point and the sampling points of the area encompassed by its corresponding rectangular coverage area. The coverage relationship can be represented by a Boolean matrix, where each row corresponds to a first image point (a total of N). 3 M columns correspond to sampling points in the region. A matrix element of 1 indicates that the first shooting point can cover the sampling points in the region, and otherwise it is 0.

[0083] In practical implementations, to improve computational efficiency, spatial indexes (such as quadtrees or grid indexes) can be used to accelerate inclusion checks and avoid O(N) errors. 3 Alternatively, a brute-force approach with O(M) can be used. This involves pre-dividing the sampling points in the region into buckets based on the size of the rectangle's coverage area, and then making precise judgments only on sampling points that may fall within the rectangle.

[0084] The discretization spacing, inclusion judgment algorithm, and coverage relationship establishment method in this embodiment are all commonly used technologies in the field. This application does not limit the specific implementation details, and any method that can achieve the same effect can be used.

[0085] In some embodiments, selecting a second photo point from all first photo points, not exceeding a preset number of photos, includes: S51. Based on the focal length in the preset camera parameters, establish an integer programming model. The constraint condition of the integer programming model is: each area sampling point is covered by at least one second shooting point, and the total number of selected second shooting points does not exceed the preset number of photos. S52. Solve the integer programming model and determine whether a feasible solution exists.

[0086] Specifically, please refer to Figure 4 In this embodiment, for each first image point, a 0-1 type integer decision variable z is defined. j where j=1,2,…N 3 , z j =1 indicates that the j-th first photo point was selected as the second photo point, z j =0 indicates that it is not selected.

[0087] Furthermore, the integer programming model includes two types of constraints; the first type of constraint is: for each regional sampling point i (i=1,2,…M), the sum of the decision variables corresponding to all the first photographic points that can cover that sampling point must be greater than or equal to 1; expressed mathematically as: ; in Let i represent the set of indices of the first image points that can cover the region sampling points i. This constraint ensures that each region sampling point is covered by at least one selected second image point.

[0088] The second type of constraint is: the sum of all decision variables does not exceed the user-preset number of photos k, that is: .

[0089] These two types of constraints together constitute the constraint system of the integer programming model.

[0090] In this embodiment, the objective function of the integer programming model can be set to a constant (e.g., 0) because the primary objective of this application is to determine whether a feasible solution exists given a number of photos k, rather than to minimize or maximize a certain metric.

[0091] In other embodiments, when further optimization from multiple feasible solutions is required, an objective function may be added, such as minimizing the overlapping area between selected image points or minimizing the maximum GSD.

[0092] Then, the decision variables and constraints described above are input into an integer programming solver for solving. In this embodiment, the integer programming solver can be a commercial solver or an open-source solver.

[0093] The solver outputs the solution status: if it returns "feasible", it means that there exists a set of second photo points that satisfy all constraints; if it returns "infeasible", it means that at the current focal length and flight altitude, it is impossible to cover all sampling points in the entire area with no more than k photo points.

[0094] For example, if N is generated through the aforementioned steps 3 =8000 initial shooting points, M=500 area sampling points, k=10 user-preset photos, and the system has already calculated which area sampling points each initial shooting point can cover, thus obtaining the set. Each sampling point corresponds to a set of first image point indices.

[0095] In response, the integer programming solver will search for 10 or fewer first-shot points that would cover all 500 sampling points. If such a solution exists, a feasible solution will be output (e.g., selecting the 127th, 256th, 389th, ... shooting points) for use in subsequent steps. If such a solution does not exist, parameter adjustments will be triggered (reducing the focal length or increasing the height).

[0096] In some embodiments, the integer programming model may also employ variations of set covering or partial covering. The core of this application lies in using the coverage of all sampling points in the entire region as a hard constraint and a preset number of photos as an upper limit. Any integer programming modeling method that can achieve this constraint is an equivalent implementation of this invention.

[0097] In some embodiments, based on the final planning results, a flight path is planned and an aerial flight route file is generated, including: S81. Use the positions of all selected second photo points as path nodes; S82. Calculate the shortest closed path that passes through all path nodes; S83. Use the shortest closed path as the flight path and generate an aerial flight path file.

[0098] Specifically, please refer to Figure 5 In this embodiment, firstly, the planar coordinates (x, y) of each second photo point are extracted from the final planning result, ignoring its yaw angle and altitude information (because the altitude has been determined in the global planning, and the path planning only requires the horizontal position). These planar coordinates are used as path nodes, and the number of nodes is equal to the number of second photo points, which is k; each node corresponds to a position that the drone needs to reach and perform the photo-taking task.

[0099] Secondly, to minimize the drone's flight distance, we need to find the shortest closed path that passes through all the nodes (i.e., starting from a node, visiting each node exactly once, and finally returning to the starting point). This is a typical traveling salesman problem. The specific solution method is as follows: First, construct a distance matrix and calculate the Euclidean distance between any two nodes, forming a k*k symmetric matrix, where the distance between any two nodes i and j is: ; Where i and j represent the indices of two different second photo points (ranging from 1 to k).

[0100] For smaller k (e.g., k≤20), dynamic programming or branch and bound methods can be used to find the shortest closed path precisely; for larger k (e.g., k>20), heuristic algorithms (such as nearest neighbor algorithm, 2-opt optimization, etc.) can be used to approximate the solution to balance computation time and path length.

[0101] In actual aerial photography missions, k usually does not exceed 50, so heuristic algorithms can meet the requirements.

[0102] The solution is a sequence of nodes p1, p2…pk , and from p k Return the closed path of p1; this sequence represents the optimal flight order for the drone. For example, suppose the final planning result includes four photo points with coordinates A(0,0), B(10,0), C(10,10), and D(0,10). The shortest closed path obtained by solving the Traveling Salesman Problem is A → B → C → D → A, with a total distance of 40 units (the perimeter of the square). If a different order is used (such as A → B → D → C → A), the distance may be longer.

[0103] Finally, the above path node sequence is converted into a flight path file format recognizable by the UAV flight control system. This embodiment uses the KML (Keyhole Markup Language) format because KML is a universal geographic information markup language supported by most UAV ground station software. When generating the KML file, it is necessary to write the file header, document structure, path (recording the latitude and longitude coordinates of all path nodes in LineString format, arranged in flight order, and setting the global flight altitude), and Placemark for each photo point (containing the point's latitude, longitude, altitude, and custom data such as yaw angle, focal length, photo number, etc.) so that the UAV can automatically adjust camera parameters when it reaches the point.

[0104] After generating the KML file, users can import it into the drone ground station, and the drone can then fly automatically along the planned path and perform shooting tasks at each shooting point based on the yaw angle and focal length in the extended data.

[0105] In some other embodiments, besides KML, the flight path file can also use other formats, such as CSV (which records fields such as latitude, longitude, altitude, yaw angle, and focal length) or Waypoint files (such as QGC's .plan file). This application does not limit the specific file format, as long as it can be parsed and executed by the UAV flight control system.

[0106] In addition, in path planning, if the user allows the drone to take pictures in any order, obstacle avoidance constraints or dynamic constraints (such as turning radius restrictions) can be added. These extensions are all equivalent embodiments of the present invention.

[0107] It should be noted that in the above embodiments, there is no necessarily a certain order between the steps. Those skilled in the art can understand from the description of the embodiments of this application that the above steps may have different execution orders in different embodiments, that is, they may be executed in parallel or in turn, etc.

[0108] As another aspect of the embodiments of this application, please refer to Figure 6This application also provides an aerial flight route planning system, which can be deployed in a ground control station, a cloud server, or an onboard computer of an unmanned aerial vehicle. Its modules can be implemented in the form of software modules (e.g., program code running on a general-purpose processor), hardware modules, or a combination of software and hardware.

[0109] Specifically, the aerial flight path planning system of this application includes: an information acquisition module, a coordinate transformation module, a preprocessing module, a discretization module, a coverage modeling module, an optimization solution module, a path planning module, and an output module. The information acquisition module is used to acquire the boundary information of the target area, the preset number of photos, and camera parameters. Specifically, the information acquisition module can be a graphical user interface (GUI) or a command-line input parser, through which the user can input data. At the hardware level, the information acquisition module can rely on a keyboard, mouse, touchscreen, or file reading device. The camera parameters include sensor size, pixel size, and focal length, which can be read from the camera configuration file or manually input by the user.

[0110] The coordinate transformation module is used to convert the boundary information (such as latitude and longitude coordinates) obtained by the information acquisition module into a planar polygonal region in a plane coordinate system. The coordinate transformation module is implemented in software and internally encapsulates map projection algorithms (such as local tangent plane projection or UTM projection). On the hardware side, it relies on the central processing unit (CPU) to perform floating-point operations. The transformed planar polygonal region is stored in the form of a vertex coordinate list.

[0111] The preprocessing module, based on the planar coordinates of each vertex of the planar polygonal region output by the coordinate transformation module, first generates the bounding rectangle of the region. Then, it divides the bounding rectangle into multiple grids (N×N, where N is a preset integer). Based on the center point of each grid, combined with a preset planar rotation angle interval (e.g., π / N) and a preset drone flight altitude, it generates multiple first-image points (each first-image point includes planar coordinates, flight altitude, and yaw angle). The preprocessing module is also implemented in software, containing loops and array operations, and can be executed efficiently on the CPU.

[0112] The discretization module is used to discretize a planar polygonal region into multiple region sampling points. Specifically, the discretization module generates grid points within the planar polygonal region according to a preset sampling interval and determines whether a grid point is located inside the polygon (using the ray method or the number of windings method). The discretization module is a software module that can reuse computational geometry library functions; its hardware relies on memory to store the coordinates of the sampling points.

[0113] The coverage modeling module, based on preset camera parameters (sensor size, pixel size, focal length) and the current flight altitude, calculates the rectangular coverage area of ​​the image captured by each first shooting point, determines the sampling points included in each rectangular coverage area, and establishes the coverage relationship between each first shooting point and the sampling points of the area it covers; simultaneously, it calculates the current ground sampling distance (GSD) value. The algorithm of the coverage modeling module includes rotating the rectangle and determining the inclusion of points (implemented through coordinate transformation), and is usually implemented as a software module, but hardware acceleration (such as GPU parallel computing) can also be used to meet performance requirements.

[0114] The optimization solution module uses the sampling points covering the entire region as a constraint to determine if there exists a feasible solution with a second shooting point not exceeding a preset number of photos. If not, it reduces the drone's focal length and / or increases its flight altitude, and notifies the coverage modeling module to recalculate. If a solution exists, it records the current parameters, then increases the focal length and / or decreases the flight altitude, triggering the coverage modeling module to recalculate until the constraint cannot be satisfied. Finally, it generates the set of second shooting points that last satisfied the constraint and determines the camera parameters and flight altitude of the drone at each second shooting point. The core of the optimization solution module is an integer programming solver, which can be implemented using API calls from commercial or open-source solvers. These solvers are typically available as software libraries and require sufficient computing resources (CPU, memory) to handle medium-sized integer programming problems. Alternatively, it can use existing hardware architectures optimized for integer programming solutions, which accelerate integer programming solutions and are applicable to more shooting points k and finer mesh granularity.

[0115] The path planning module plans the flight path based on the set of second-photo points generated by the optimization and solution module. Specifically, the path planning module extracts the planar coordinates of all second-photo points, constructs a distance matrix, solves the Traveling Salesman Problem (TSP), and obtains the shortest closed path. For small-scale problems, an exact algorithm can be used, while for large-scale problems, a heuristic algorithm can be used. This module is a software module and can call the TSP solution library or implement the nearest neighbor, 2-OPT, or LKH algorithms independently.

[0116] The output module generates and outputs a flight path file containing flight path and photo point parameters. The preferred output format is KML file, but CSV, Waypoint files, etc., are also acceptable. The output module is implemented in software, writing the node sequence, yaw angle, and focal length parameters obtained from the path planning module into a file according to the target format, and then exporting it to the UAV ground station via network or USB interface.

[0117] In actual deployment, the aerial flight path planning system can run entirely on a ground computer, or the optimization and solution module can be deployed in the cloud to utilize stronger computing power, while the remaining modules run on the ground station. All software modules can be implemented using high-level programming languages ​​(such as C++, Python, and Java), while the hardware relies on conventional computer systems.

[0118] In some implementations, the aerial flight path planning system can also be built from hardware devices. For example, the system can be constructed from one or more chips, which can work in coordination to complete the aerial flight path planning methods described in the various implementations above. Furthermore, the system can also be constructed from various logic devices, such as general-purpose processors (CPUs), digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), microcontrollers or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination of these components.

[0119] It should be noted that the above-described aerial photography route planning system can execute the aerial photography route planning method provided in the embodiments of this application, and has the corresponding functional modules and beneficial effects of the method. Technical details not described in detail in the specific embodiments of the aerial photography route planning system can be found in the aerial photography route planning method provided in the embodiments of this application.

[0120] Additionally, see Figure 7 , Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. The electronic device includes one or more processors and a memory. The memory is connected to one or more processors, for example, via a bus.

[0121] The processor is configured to support the electronic device in performing the corresponding functions in the aerial flight route planning method described in the above method embodiments. The processor can be a central processing unit (CPU), a network processor (NP), a hardware chip, or any combination thereof. The aforementioned hardware chip can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The aforementioned PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0122] Memory is used to store program code, etc. Memory can include volatile memory (VM), such as random access memory (RAM); memory can also include non-volatile memory (NVM), such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD); memory can also include combinations of the above types of memory.

[0123] The memory can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the program instructions / modules corresponding to the aerial flight route planning method in the embodiments of this application. The processor executes various functional applications and data processing of the aerial flight route planning method and system by running the non-volatile software programs, instructions, and modules stored in the memory, thereby realizing the functions of each module or unit of the aerial flight route planning method and system provided in the above method embodiments.

[0124] The memory may include a program storage area and a data storage area. The program storage area may store the operating system and application programs required for at least one function. The data storage area may store data created based on the use of the aerial flight route planning system.

[0125] This application also provides a computer-readable storage medium storing a computer program, the computer program including program instructions, which, when executed by a computer device, cause the computer device to perform the method as described in the foregoing embodiments.

[0126] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The storage medium can be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.

[0127] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.

Claims

1. An aerial route planning method characterized by comprising: The method includes: A planar polygonal region is obtained based on the boundary information of the target region; The bounding rectangle of the planar polygonal region is divided into multiple grids, and the center point of each grid is used as the candidate image-taking plane position. Multiple candidate image-taking directions are obtained according to a preset planar rotation angle interval. Based on multiple candidate photo plane positions, multiple candidate photo directions, and preset drone flight altitude values, multiple first photo points are generated; The planar polygonal region is discretized into multiple region sampling points. Based on the preset camera parameters of the drone, the rectangular coverage area of ​​the photo taken by the drone at each first shooting point is calculated, the region sampling points included in each rectangular coverage area are determined, and the current ground sampling distance GSD value of the drone is calculated. Select a second shooting point from all the first shooting points, with a preset number of photos, and take the constraint that the union of the rectangular coverage areas corresponding to the selected second shooting point can cover all the sampling points in the region. If there is no set of second shooting points that meet the conditions, then reduce the focal length in the preset camera parameters and / or increase the preset drone flight altitude, and then re-execute the step of calculating the rectangular coverage area to select the second shooting point; If a set of second photo points that meets the conditions exists, record the current camera parameters and drone flight altitude, then increase the focal length and / or decrease the flight altitude, and re-execute the step of calculating the rectangular coverage area to select the second photo point until the constraint conditions can no longer be met; take the set of second photo points that last met the constraint conditions as the final planning result; Based on the final planning results, a flight path is planned, and an aerial flight route file is generated.

2. The method of claim 1, wherein, The process of obtaining a planar polygonal region based on the boundary information of the target region includes: Obtain the coordinates of multiple vertices selected by the user in sequence along a preset direction on the map; The latitude and longitude coordinates of each vertex are converted into Cartesian coordinates to obtain the Cartesian coordinates of each vertex. In a planar Cartesian coordinate system, the plurality of vertices are connected sequentially to form the planar polygonal region.

3. The method of claim 1, wherein, When the circumscribed rectangle of the planar polygonal region is divided into multiple grids, the number of grids is N×N, where N is an integer greater than 1 and not greater than 30.

4. The method of claim 3, wherein, The number of candidate shooting directions is N, and the preset horizontal plane rotation angle interval is π / N.

5. The method of claim 1, wherein, The camera parameters include at least the sensor size, pixel size, and camera focal length.

6. The method of claim 5, wherein, The ground sampling distance (GSD) value is calculated based on the pixel size, the drone's flight altitude, and the camera's focal length.

7. The method of claim 1, wherein, The step of discretizing the planar polygonal region and determining the sampling points of the region included in the rectangular coverage area includes: Within the planar polygonal region, grid points are arranged at a preset sampling interval, and the grid points located inside the planar polygonal region are used as the region sampling points; Spatial inclusion determination is performed between the rectangular coverage area of ​​the drone's shooting area at each first shooting point and the sampling points of each area. Establish the coverage relationship between each first image point and the area sampling points contained in its corresponding rectangular coverage area.

8. The method of claim 1, wherein, The step of selecting a second photo point from all first photo points, not exceeding a preset number of photos, includes: Based on the focal length in the preset camera parameters, an integer programming model is established. The constraint condition of the integer programming model is: each region sampling point is covered by at least one second shooting point, and the total number of selected second shooting points does not exceed the preset number of photos. Solve the integer programming model to determine if a feasible solution exists.

9. The method of claim 1, wherein, The process of planning flight paths and generating aerial flight route files based on the final planning results includes: Use the locations of all selected second photo points as path nodes; Calculate the shortest closed path that passes through all the aforementioned path nodes; The shortest closed path is used as the flight path, and an aerial flight path file is generated.

10. Aerial flight path planning system for implementing the method of any one of claims 1-9, characterized by The system includes: The information acquisition module acquires the boundary information of the target area, the preset number of photos, and camera parameters. The coordinate transformation module converts the boundary information into a planar polygonal region in a planar coordinate system; The preprocessing module generates the bounding rectangle of the planar polygonal region based on the planar coordinates of each vertex of the planar polygonal region; divides the bounding rectangle into multiple grids, and generates multiple first shooting points based on the center point of each grid, combined with a preset planar rotation angle interval and a preset drone flight altitude; The discretization module discretizes the planar polygonal region into multiple region sampling points; The coverage modeling module calculates the rectangular coverage area of ​​the photos taken by the drone at each first shooting point based on preset camera parameters, determines the area sampling points contained in each rectangular coverage area, establishes the coverage relationship between each first shooting point and the area sampling points contained in its corresponding rectangular coverage area, and calculates the current ground sampling distance (GSD) value of the drone. The optimization solution module, with the constraint of covering all sampling points in the region, determines whether there is a feasible solution with a second shooting point not exceeding the preset number of photos. If not, it reduces the focal length of the drone and / or increases the flight altitude, and notifies the coverage modeling module to recalculate. If it exists, it records the current parameters, then increases the focal length and / or decreases the flight altitude, and triggers the coverage modeling module to recalculate until the constraint cannot be met. It generates the set of second shooting points when the constraint is last met, and determines the camera parameters and flight altitude of the drone at each second shooting point. The path planning module plans the flight path based on the generated set of second photo points. The output module is used to generate and output a flight path file containing flight path and photo point parameters.