A method, apparatus, device, and storage medium for correcting aerial photograph offset data.
By using Gaussian projection and camera physical structure to correct POS data in aerial photography equipment, the problem of inconsistency between camera installation position and UAV positioning data was solved, achieving high-precision and efficient data acquisition.
Patent Information
- Application Number
- CN202211448346.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-18
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2042-11-18
Smart Images

Figure SMS_1 
Figure SMS_2 
Figure SMS_3
Abstract
Description
Technical Field
[0001] This invention belongs to the field of data processing technology, and specifically relates to a method, apparatus, device and storage medium for correcting aerial photograph offset data. Background Technology
[0002] With the development and progress of science and technology, aerial surveying technology has become increasingly mature and widely used. Aerial photogrammetry, as an important component of aerial surveying technology, is becoming increasingly well-known and used. Aerial photogrammetry refers to the operation of continuously capturing images of the ground using aerial photography instruments on aircraft such as drones, and combining this with steps such as ground control point measurement, mapping, and stereoscopic mapping to create topographic maps. In this process, the aerial photography equipment used for field image acquisition generally uses the positioning data obtained by the drone as the geographic location information of the images. However, in the process of developing this invention, the inventors discovered at least the following problems in the existing technology: the installation location of the equipment is generally inconsistent with the location where the drone's positioning data was acquired, resulting in a deviation. Directly using the drone's data will lead to inaccurate data acquisition, failing to meet the requirements of high-precision measurement. Furthermore, some equipment equipped with three-axis gimbals will also rotate at a certain angle during operation, further increasing the deviation of the acquired data, which is extremely detrimental to the requirements of high-efficiency and high-precision mapping. Summary of the Invention
[0003] The present invention aims to at least partially solve the aforementioned technical problems. Therefore, the present invention aims to provide a method, apparatus, device, and storage medium for correcting aerial photograph offset data.
[0004] The technical solution adopted in this invention is as follows:
[0005] A method for correcting aerial photograph offset data includes the following steps:
[0006] After the camera takes a picture at the shooting point, it outputs a feedback signal indicating that the exposure is complete and transmits the feedback signal to the control module. After receiving the feedback signal, the control module generates the feedback time of the current feedback signal. The control module requests and obtains the raw POS data of the feedback time from the drone.
[0007] The original POS data is converted into Gaussian plane coordinates using Gaussian projection forward calculation.
[0008] Based on the offset of the camera's physical structure and the overall camera orientation, the Gaussian plane coordinates of each imaging unit at this shooting point are calculated.
[0009] The corrected POS data is obtained by inverse calculation using Gaussian projection.
[0010] Preferably, the method further includes the step of: fusing the attitude data of the UAV, and using quaternions and Euler angles to calculate the attitude of each imaging unit, as well as the three data points of Yaw, Pitch, and Roll.
[0011] Preferably, the planar coordinates (X) corresponding to each viewpoint are calculated using the following formula. F ,Y F ); (X B ,Y B ); (X R ,Y R ); (X L ,Y L ); (X D ,Y D ):
[0012] Forward view:
[0013] yaw1=pos.yaw-tan2(frontToDown.X,-frontToDown.y) / π*180+180;
[0014] X F =x+frontToDown.HDistance*cos(yaw1 / 180*π);
[0015] Y F =y+frontToDown.HDistance*sin(yaw1 / 180*π);
[0016] Rear view:
[0017] yaw1=pos.yaw-atan2(frontToDown.X,-frontToDown.y) / π*180;
[0018] X B =x+frontToDown.HDistance*cos(yaw1 / 180*π);
[0019] Y B =y+frontToDown.HDistance*sin(yaw1 / 180*π);
[0020] Left view:
[0021] yaw1=pos.yaw-atan2(frontToDown.X,-frontToDown.y) / π*180+90;
[0022] X L=x+frontToDown.HDistance*cos(yaw1 / 180*π);
[0023] Y L =y+frontToDown.HDistance*sin(yaw1 / 180*π);
[0024] Right view:
[0025] yaw1=pos.yaw-atan2(frontToDown.X,-frontToDown.y) / π*180-90;
[0026] X R =x+frontToDown.HDistance*cos(yaw1 / 180*π);
[0027] Y R =y+frontToDown.HDistance*sin(yaw1 / 180*π);
[0028] Looking down:
[0029] yaw1=pos.yaw-downToPos.HAngle;
[0030] X D =x+downToPos.HDistance*cos(yaw1 / 180*π);
[0031] Y D =y+downToPos.HDistance*sin(yaw1 / 180*π);
[0032] Where downToPos is the physical offset value from the downward view to the initial POS position point, including X, Y, Z, horizontal angle and horizontal distance; frontToDown is the physical offset value from the forward view to the downward view, including X, Y, Z, horizontal angle and horizontal distance; yaw1 is the initial attitude value.
[0033] Preferably, the corrected POS data for each viewpoint is calculated using the following formula:
[0034] B0 = X * q0;
[0035] B f =B0+sin(2*B0)*(q2+sin(B0)*sin(B0)*(q4+sin(B0)*sin(B0)
[0036] *(q6+q8*sin(B0)*sin(B0))));
[0037] Y / =Y - 500000;
[0038] t f =tan(B f );
[0039] k = E1 * cos(B f )*cos(B f );
[0040] v f =1+k;
[0041]
[0042]
[0043]
[0044]
[0045] Where t f N f ,v f ,Y / ,q,B f k, B0, l0, B, L are variables, and the constant e = π / 180.
[0046] An aerial photograph offset data correction device, comprising:
[0047] The camera, mounted on the drone or on the drone's gimbal, is used to take pictures and output a feedback signal indicating that the exposure is complete after each picture is taken, and transmits the feedback signal to the control module.
[0048] The control module is used for data calculation. After receiving the feedback signal from the camera, it generates the feedback time of the current feedback signal; it requests and obtains the raw POS data of the feedback time from the UAV; it converts the raw POS data into Gaussian plane coordinates using Gaussian projection forward calculation; based on the offset of the camera's physical structure and the attitude of the entire UAV, it calculates the Gaussian plane coordinates of each imaging unit at this shooting point; it calculates the corrected POS data using Gaussian projection inverse calculation; it fuses the attitude data of the UAV and uses quaternions and Euler angles to calculate the attitude of each imaging unit, as well as the three data points of Yaw, Pitch, and Roll.
[0049] The storage module is used to store the data calculated by the control module.
[0050] A computer device includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the above-described aerial photograph offset data correction method.
[0051] A computer-readable storage medium storing computer-readable instructions, which, when executed, implement the steps of the above-described aerial photograph offset data correction method.
[0052] The beneficial effects of this invention are as follows:
[0053] The aerial photograph offset data correction method provided by this invention, compared with the POS data of the fixed point position of the UAV, uses real-time corrected POS data of the corresponding shooting point of each corresponding imaging unit obtained by calculation. Because it takes into account the physical offset of the structure and the attitude difference of the UAV during flight, it can effectively improve the accuracy and efficiency of data processing in the later aerial triangulation data processing and reduce the probability of aerial triangulation. Detailed Implementation
[0054] The technical solution of the present invention will be clearly and completely described below. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0055] It should be understood that although the terms first, second, etc., may be used herein to describe various units, these units should not be limited by these terms. These terms are only used to distinguish one unit from another. For example, a first unit may be referred to as a second unit, and similarly, a second unit may be referred to as a first unit, without departing from the scope of the exemplary embodiments of the invention.
[0056] The present invention will be further described below with reference to specific embodiments.
[0057] This embodiment of an aerial photograph offset data correction method includes the following steps:
[0058] S1. During the data acquisition process of the camera mounted on the drone, after taking a picture at a shooting point, it outputs a feedback signal indicating that the exposure is complete (denoted as P1) and transmits the feedback signal to the control module. After receiving the feedback signal, the control module generates the feedback time of the current feedback signal (denoted as T1, accurate to microseconds). The control module uses time T1 to request the raw POS data at time T1 from the drone. After receiving the request, the drone provides the raw POS data of a fixed reference point.
[0059] S2. Use Gaussian projection forward calculation to convert the original POS data into Gaussian plane coordinates.
[0060] S3. After converting to Gaussian plane coordinates, the Gaussian plane coordinates of each imaging unit at this shooting point are calculated based on the offset of the camera's physical structure and the overall camera attitude.
[0061] S4. The Gaussian plane coordinates of each imaging unit are calculated using Gaussian projection to obtain the corrected POS data; the corrected POS data integrates the camera's internal offset and the overall flight attitude of the aircraft.
[0062] S5. By fusing the attitude data of the UAV and using quaternions and Euler angles, the attitude of each imaging unit is calculated, along with three data points: Yaw, Pitch, and Roll. Roll is the roll angle, Pitch is the pitch angle, and Yaw is the yaw angle.
[0063] S6. Record the calculated data in a specific format in the storage module or in a specific location attribute of the photo data.
[0064] The following section provides a more detailed explanation of the data conversion and calculation processes in the aerial photograph offset data correction method.
[0065] The Gaussian projection forward calculation formula is used to solve for Gaussian plane coordinates (x, y) from geodetic coordinates (L, B); the Gaussian projection inverse calculation formula is used to solve for geodetic coordinates (L, B) from Gaussian plane coordinates (x, y).
[0066] Basic parameter definitions:
[0067] The semi-major axis of the ellipsoid is *a*; the flattening of the ellipsoid is *f*; the semi-minor axis of the ellipsoid is *b* = *a(1-f*); the first eccentricity of the ellipsoid is *i*. Second eccentricity of the ellipsoid
[0068] Gaussian projection forward calculation formula:
[0069]
[0070]
[0071] Where the angles are all in radians, B is the latitude of the point, and l / / = L - L0, where L is the longitude of the point, L0 is the longitude of the central meridian, and N is the radius of curvature of the meridian circle. t = tan B; η 2 =e / 2 cos 2 B; Where X is the arc length of the meridian.
[0072] a0, a2, a4, a6, and a8 are basic constants, calculated using the following formula:
[0073]
[0074] Where m0, m2, m4, m6, and m8 are basic constants, calculated according to the following formula:
[0075] m0=a(1-e 2 ); m4 = 5e 2 m2;
[0076] Gaussian projection inverse calculation formula:
[0077]
[0078]
[0079] L = l + L0, where: L0 is the longitude of the central meridian, B f The base latitude is the latitude corresponding to the meridian arc length when x = X, calculated according to the meridian arc length formula. The calculation is performed iteratively.
[0080] Initially set In subsequent iterations, the calculation will be performed according to the following formula:
[0081]
[0082]
[0083] Repeat iteratively until Until then. Among them:
[0084]
[0085]
[0086] t f =tanB f
[0087]
[0088] Specific calculations:
[0089] Values of fundamental constants:
[0090] c=6399593.6258; E1=6.73949674227E-03; E=6.6943799013E-03;
[0091] a=6378137; a0=111132.9525494; a2=-16038.50840;
[0092] a4=16.83260; a6=-2.198E-02; a8=3E-05; q0=157048761.142065E-15;
[0093] q2=2526250855.8867E-12; q4=-14923621.5362E-12;
[0094] q6=120769.6828E-12; q8=-1075.7667E-12; p0=57.29577951308232;
[0095] π = 3.1415926535897931;
[0096] Define variables lat (longitude), lng (latitude) and x, y, t, N, v, l0, k, X;
[0097] calculate:
[0098] t = tan(lat*e); (1)
[0099] k=E1*cos(lat*e)*cos(lat*e); (2)
[0100] v = 1 + k; (3)
[0101]
[0102] l0 = lng - L0; (5)
[0103] p = cos(lat * e) * l0 / p0; (6)
[0104] X=a0lat+a2sin(2lat*e)+a4sin(4lat*e)+a6sin(6lat*e)+a8sin(8lat*e);
[0105] x=X+N*t(1+((5-t) 2 +(9+4k)k)+((61+(t 2 -58)t 2 +(9-11t 2 )30k) +(1385+(-3111+(543-t 2 )t 2 )t 2 )p 2 / 56)p 2 / 30)p 2 / 12)p 2 / 2; (8)
[0106] y = 500000 + N(1 + ((1-t)) 2 +k)+((5+t 2 (t 2 -18-58k)+14k) +(61+(-479+(179-t 2 )t 2 )t 2 )p 2 / 42)p 2 / 20)p 2 / 6)p; (9)
[0107] The x and y obtained from formulas (8) and (9) are the Gaussian plane coordinates (x, y) calculated from the initial geodetic coordinates (lat, lng).
[0108] Define the constant downToPos as the physical offset value from the downward view to the initial POS position point, including X, Y, Z, horizontal angle and horizontal distance; define the frontToDown as the physical offset value from the forward view to the downward view, including X, Y, Z, horizontal angle and horizontal distance; define the variable yaw1 as the initial attitude value.
[0109] calculate:
[0110] Forward view:
[0111] yaw1=pos.yaw-tan2(frontToDown.X,-frontToDown.y) / π*180+180; (10)
[0112] X F =x+frontToDown.HDistance*cos(yaw1 / 180*π); (11)
[0113] Y F =y+frontToDown.HDistance*sin(yaw1 / 180*π); (12)
[0114] Rear view:
[0115] yaw1=pos.yaw-atan2(frontToDown.X,-frontToDown.y) / π*180; (13)
[0116] X B= x + frontToDown.HDistance * cos(yaw1 / 180 * π); (14)
[0117] Y B = y + frontToDown.HDistance * sin(yaw1 / 180 * π); (15)
[0118] Left view:
[0119] yaw1 = pos.yaw - atan2(frontToDown.X, -frontToDown.y) / π * 180 + 90; (16)
[0120] X L = x + frontToDown.HDistance * cos(yaw1 / 180 * π); (17)
[0121] Y L = y + frontToDown.HDistance * sin(yaw1 / 180 * π); (18)
[0122] Right view:
[0123] yaw1 = pos.yaw - atan2(frontToDown.X, -frontToDown.y) / π * 180 - 90; (19)
[0124] X R [[ID=三十二]]= x + frontToDown.HDistance * cos(yaw1 / 180 * π); (20)
[0125] [[ID=三十五]]Y R = y + frontToDown.HDistance * sin(yaw1 / 180 * π); (21)
[0126] Bottom view:
[0127] yaw1 = pos.yaw - downToPos.HAngle; (22)
[0128] X<00The planar coordinates corresponding to each viewpoint are calculated using formulas (10) to (23) as (X F ,Y F );
[0131] (X B ,Y B ); (X R ,Y R ); (X L ,Y L ); (X D ,Y D ).
[0132] Define variable t f N f ,v f ,Y / ,q,B f ,k,B0,l0,B,L;Constant e=π / 180;
[0133] calculate:
[0134] B0 = X * q0; (25)
[0135] B f =B0+sin(2*B0)*(q2+sin(B0)*sin(B0)*(q4+sin(B0)*sin(B0)
[0136] *(q6+q8*sin(B0)*sin(B0)))); (26)
[0137] Y / =Y-500000; (27)
[0138] t f =tan(B f (28)
[0139] k = E1 * cos(B f )*cos(B f (29)
[0140] v f =1+k; (30)
[0141]
[0142]
[0143]
[0144]
[0145] lng / =L0+l0; (35)
[0146] The corrected POS data for each viewpoint can be obtained by formulas (25) to (35). The corrected POS data integrates the physical offset from the positioning point to the imaging point and the real-time attitude of the device during operation.
[0147] This aerial photograph offset data correction method is based on the Gaussian projection forward and inverse calculation formula and the conversion relationship between quaternions and Euler angles. Combined with the structural design of the imaging equipment inside the camera (oblique photography camera), the physical spatial distance size is used as the basic parameter. Based on the POS data of the fixed position collected by the UAV, the software algorithm calculates the offset position of each imaging unit inside the camera at each trigger shooting point, so as to achieve high-precision data acquisition and improve data acquisition efficiency.
[0148] This embodiment also provides an aerial photograph offset data correction device, including a camera, a control module and a storage module. The camera is mounted on the UAV or on the UAV's gimbal. After taking a picture at each shooting point, the camera outputs a feedback signal indicating that the exposure is complete and transmits the feedback signal to the control module.
[0149] The control module is used for data calculation. After receiving the feedback signal from the camera, the control module generates the feedback time of the current feedback signal; it requests and obtains the raw POS data of the feedback time from the UAV; it converts the raw POS data into Gaussian plane coordinates using Gaussian projection forward calculation; based on the offset of the camera's physical structure and the attitude of the entire UAV, it calculates the Gaussian plane coordinates of each imaging unit at this shooting point; it calculates the corrected POS data using Gaussian projection inverse calculation; it fuses the attitude data of the UAV and uses quaternions and Euler angles to calculate the attitude of each imaging unit, as well as the three data of Yaw, Pitch, and Roll; the storage module is used to store the data calculated by the control module.
[0150] This embodiment also provides a computer device, including a memory and a processor connected in communication. The memory stores a computer program, and the processor executes the computer program to implement the steps of the above-described aerial photograph offset data correction method. The computer device can be a desktop computer, laptop, handheld computer, cloud server, or other computing device. The computer device can interact with the user via a keyboard, mouse, remote control, touchpad, or voice control device.
[0151] This embodiment also provides a computer-readable storage medium storing computer-readable instructions. When these computer-readable instructions are executed, they implement the steps of the above-described aerial photograph offset data correction method. The computer-readable storage medium includes flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic storage, magnetic disk, optical disk, etc.
[0152] This invention is not limited to the above-described optional embodiments. Anyone can derive other various forms of products under the guidance of this invention. However, regardless of any changes made in their shape or structure, any technical solution that falls within the scope of the claims of this invention shall be protected by this invention.
Claims
1. A method for correcting aerial photograph offset data, characterized in that, Includes the following steps: After the camera takes a picture at the shooting point, it outputs a feedback signal indicating that the exposure is complete and transmits the feedback signal to the control module. After receiving the feedback signal, the control module generates the feedback time of the current feedback signal. The control module requests and obtains the raw POS data of the feedback time from the drone. The original POS data is converted into Gaussian plane coordinates using Gaussian projection forward calculation. Based on the offset of the camera's physical structure and the overall camera orientation, the Gaussian plane coordinates of each imaging unit at this shooting point are calculated. The corrected POS data is obtained by inverse calculation using Gaussian projection. The planar coordinates corresponding to each viewpoint are calculated using the following formula. ; ; ; ; : Forward view: Rear view: Left view: Right view: Looking down: Where downToPos is the physical offset value from the downward view to the initial POS position point, including X, Y, Z, horizontal angle and horizontal distance; frontToDown is the physical offset value from the forward view to the downward view, including X, Y, Z, horizontal angle and horizontal distance; yaw1 is the initial attitude value.
2. The aerial photograph offset data correction method according to claim 1, characterized in that, It also includes the following steps: fusing the attitude data of the UAV, using quaternions and Euler angles to calculate the attitude of each imaging unit, as well as the three data points of Yaw, Pitch, and Roll.
3. The aerial photograph offset data correction method according to claim 1, characterized in that, The corrected POS data for each viewpoint is calculated using the following formula: in For variables, constants .
4. An aerial photograph offset data correction device, characterized in that, include: The camera, mounted on the drone or on the drone's gimbal, is used to take pictures and output a feedback signal indicating that the exposure is complete after each picture is taken, and transmits the feedback signal to the control module. The control module is used for data calculation. After receiving the feedback signal from the camera, it generates the feedback time of the current feedback signal and requests and obtains the raw POS data of the feedback time from the drone. The original POS data is converted into Gaussian plane coordinates using Gaussian projection forward calculation; based on the offset of the camera's physical structure and the overall attitude of the drone, the Gaussian plane coordinates of each imaging unit at the capture point are calculated; corrected POS data is obtained using Gaussian projection inverse calculation; the attitude data of the drone is fused, and the attitude, yaw, pitch, and roll of each imaging unit are calculated using quaternions and Euler angles; the control module calculates the plane coordinates corresponding to each viewpoint using the following formula. ; ; ; ; : Forward view: Rear view: Left view: Right view: Looking down: Where downToPos is the physical offset value from the downward view to the initial POS position point, including X, Y, Z, horizontal angle and horizontal distance; frontToDown is the physical offset value from the forward view to the downward view, including X, Y, Z, horizontal angle and horizontal distance; yaw1 is the initial attitude value; The storage module is used to store the data calculated by the control module.
5. A computer device, characterized in that, It includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the aerial photograph offset data correction method as described in any one of claims 1-3.
6. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-readable instructions, which, when executed, implement the steps of the aerial photograph offset data correction method as described in any one of claims 1-3.
Citation Information
Patent Citations
Method and device for determining position and flight direction of unmanned aerial vehicle and unmanned aerial vehicle
CN111192318A
Adaptive imaging quality optimization method for unmanned aerial vehicle autonomous inspection of power transmission line
CN111272148A