A method and system for locating multiple targets on water surface
By putting the display float and using the conversion relationship between GNSS data and image data, multi-target positioning on the water surface is achieved, solving the problems of high equipment costs and high hardware requirements in the prior art, reducing the overall cost and improving cost-effectiveness.
Patent Information
- Application Number
- CN202510258328.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-06
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2045-03-06
AI Technical Summary
The existing surface target positioning technology faces the problems of high equipment costs, large weight and high hardware requirements, resulting in high overall operating costs and low cost performance.
By serving the display float and receiving its GNSS data packets and the image data of the drone in real time, the conversion relationship between the pixel coordinate system, local world coordinate system and geographical coordinate system is used to calculate the geographical coordinates of the target to be measured to achieve multi-objective positioning on the water surface.
It significantly reduces the technical requirements for drones and camera hardware, reduces overall costs, and improves the cost-effectiveness of multi-target positioning in small-scale waters.
Smart Images

Figure CN119758408B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field related to surface target positioning, and in particular to a method and system for surface multi-target positioning. Background Art
[0002] In recent years, two methods are commonly used for surface target positioning of UAVs. One method is to mount a laser rangefinder pod, through which the slant distance between the UAV and the target, the pod's own attitude, and the UAV's heading, attitude and geographic coordinates are obtained, so as to calculate the position of the surface target. However, this method has many limitations. As a precision instrument, the laser rangefinder pod is not only expensive and heavy, but also has strict requirements on the conditions of use. At the same time, the UAV that can carry this equipment needs a large take-off weight, which further increases the overall cost. In addition, the laser rangefinder pod is not a conventional civilian product and has limited procurement channels, which makes the threshold of the surface target positioning solution of UAVs based on this technology high, hindering its widespread promotion and application. The second common method is to mount a camera on the UAV. During the flight, the camera always points to the target. The position of the surface target is solved by images taken at different positions and combined with the camera's attitude, the UAV's heading, attitude and geographic coordinates. However, in actual operation, in order to ensure accurate positioning, the internal parameters of the camera (such as focal length, principal point offset, etc.) need to remain unchanged during the operation of the drone. However, factors such as mechanical vibration during flight will cause the internal parameters of the camera to change, thereby affecting the accuracy of positioning. Therefore, this requires a camera with extremely high hardware requirements to eliminate such influences.
[0003] In summary, the commonly used surface target positioning technology at this stage faces a dilemma in order to balance accuracy and cost: using equipment that is expensive and heavy requires the drone to have a larger take-off weight, increasing the overall operating cost; while choosing lighter equipment can reduce the take-off weight of the drone, but the requirements for camera hardware are extremely high, which also pushes up the total cost. Both are used in a small range and have a low cost-effectiveness. Summary of the invention
[0004] The present invention discloses a method and system for multi-target positioning on the water surface, which significantly reduces the technical requirements for drone and camera hardware while ensuring the accuracy of multi-target positioning on the water surface, thereby greatly reducing costs and improving the cost-effectiveness of multi-target positioning in a small area of water.
[0005] In a first aspect, a method for multi-target positioning on the water surface is provided, the method comprising: placing P position-indicating buoys in a search water area where m targets to be measured appear, receiving in real time GNSS data packets synchronously transmitted back by the P position-indicating buoys and image data carrying shooting timestamps transmitted in real time by a drone, wherein the GNSS data packets are GNSS data synchronously and uninterruptedly generated by the GNSS equipment carried by each position-indicating buoy, the GNSS data comprising the identity information of the position-indicating buoy, a synchronous positioning timestamp and geographic coordinates, m≥1, P≥4, and the GNSS equipment has been configured with a geographic coordinate system; parsing the received GNSS data packets in real time to obtain the geographic coordinates of each key position-indicating buoy under the shooting timestamp of the key image, wherein the key position-indicating buoy is each in the key image. The real-world position buoy corresponding to the position buoy image. The key image is the image data that meets the key image standard selected from the returned image data. The shooting timestamp carried on the key image is the key image shooting timestamp. The key image standard is that one image data must contain m images of the target to be measured and n images of the position buoy that are not on the same straight line. 4≤n≤P. The camera on the gimbal carried by the drone has been configured with a pixel coordinate system. The key image is preprocessed, and each image of the target to be measured in the preprocessed key image is selected to obtain the pixel coordinates of the m targets to be measured. Ellipse fitting is performed on each image of the position buoy in the preprocessed key image, and the coordinates of the center point of each ellipse are calculated to obtain the pixel coordinates of n key position buoys.
[0006] Based on the geographic coordinates of the key position-indicating buoy, a local world coordinate system of the key position-indicating buoy is constructed, and the local world coordinates of the key position-indicating buoy are calculated; based on the pixel coordinates, local world coordinates and geographic coordinates of the key position-indicating buoy, the conversion relationship from the pixel coordinate system to the local world coordinate system, and the conversion relationship from the local world coordinate system to the geographic coordinate system are calculated; based on the pixel coordinates of m targets to be measured, according to the conversion relationship from the pixel coordinate system to the local world coordinate system, and the conversion relationship from the local world coordinate system to the geographic coordinate system, the geographic coordinates of the m targets to be measured are calculated to obtain the positioning of one or more targets to be measured on the water surface.
[0007] In a second aspect, a system for surface multi-target positioning is provided, the system comprising: a receiving module, the receiving module being used to place P position-indicating buoys in a search water area where m targets to be measured appear, and receiving in real time GNSS data packets synchronously transmitted back by the P position-indicating buoys and image data carrying shooting timestamps transmitted back in real time by a drone, wherein the GNSS data packets are GNSS data synchronously and uninterruptedly generated by the GNSS equipment carried by each position-indicating buoy, the GNSS data comprising the identity information of the position-indicating buoy, a synchronous positioning timestamp and geographic coordinates, m≥1, P≥4, and the GNSS equipment has been configured with a geographic coordinate system; The geographic coordinate acquisition module is used to parse the received GNSS data packets in real time and obtain the geographic coordinates of each key position-indicating buoy under the key image shooting timestamp, wherein the key position-indicating buoy is the position-indicating buoy in the real world corresponding to each position-indicating buoy image in the key image. The key image is the image data that meets the key image standard selected from the returned image data. The shooting timestamp carried on the key image is the key image shooting timestamp. The key image standard is that one image data must contain m images of the target to be measured and n images of the position-indicating buoy that are not on the same straight line at the same time, 4≤n≤ P, the camera on the gimbal carried by the drone has been configured with a pixel coordinate system; a pixel coordinate acquisition module, the pixel coordinate acquisition module is used to preprocess the key image, click on each target image to be measured in the preprocessed key image, obtain the pixel coordinates of m targets to be measured, perform ellipse fitting on each position-indicating buoy image in the preprocessed key image, calculate the coordinates of the center point of each ellipse, and obtain the pixel coordinates of n key position-indicating buoys; a local world coordinate acquisition module, the local world coordinate acquisition module is used to construct the local world coordinate system of the key position-indicating buoy based on the geographical coordinates of the key position-indicating buoy, and calculate the pixel coordinates of the key position-indicating buoy. local world coordinates; a coordinate system conversion module, the coordinate system conversion module is used to calculate the conversion relationship from the pixel coordinate system to the local world coordinate system, and the conversion relationship from the local world coordinate system to the geographic coordinate system based on the pixel coordinates, local world coordinates and geographic coordinates of the key position-indicating buoy; a target positioning module, the target positioning module is used to calculate the geographic coordinates of the m targets to be measured based on the pixel coordinates of the m targets to be measured, according to the conversion relationship from the pixel coordinate system to the local world coordinate system, and the conversion relationship from the local world coordinate system to the geographic coordinate system, so as to obtain the positioning of one or more targets to be measured on the water surface.
[0008] The above-mentioned method and system for multi-target positioning on the water surface solves the problem that the prior art needs to pay high costs to maintain accurate multi-target positioning on the water surface. The present invention first obtains the pixel coordinates, local world coordinates and geographic coordinates of the key position-indicating buoy, and then derives the conversion relationship from the pixel coordinate system to the local world coordinate system and the conversion relationship from the local world coordinate system to the geographic coordinate system. The pixel coordinates of the target to be measured are converted through the homography matrix from the pixel coordinate system to the local world coordinate system and the homography matrix from the local world coordinate system to the geographic coordinate system, and finally the positioning of the target to be measured is obtained. This method simply and accurately realizes the positioning of multiple targets on the water surface. It only needs to be used with a consumer-grade drone carrying a camera and a position-indicating buoy, which significantly reduces the technical requirements for drone and camera hardware, thereby greatly reducing the overall cost. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 A schematic flow chart of a method for positioning multiple targets on a water surface in one embodiment;
[0010] Figure 2 The present invention is a system structure block diagram of a multi-target positioning system on the water surface in one embodiment.
[0011] Description of reference numerals: 11 receiving module, 12 geographic coordinate acquisition module, 13 pixel coordinate acquisition module, 14 local world coordinate acquisition module, 15 coordinate system conversion module, 16 target positioning module. DETAILED DESCRIPTION
[0012] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0013] Before executing the method proposed in this application, the following measurement equipment needs to be prepared: UAVs, especially small UAVs, such as mid-to-high-end consumer-grade small UAVs, equipped with UAV wireless data transmission equipment, a gimbal and a camera. The camera on the gimbal can use a wide-angle lens, and the camera on the gimbal has been configured with a pixel coordinate system; position-indicating buoys, which are commonly used for surface target positioning, including: a buoy body, a GNSS device and a wireless data transmission device. The GNSS device has been configured with a geographic coordinate system. The buoy body is a colorful circular structure with a coded pattern painted on the surface, representing the unique identity information of the positioning buoy; a base station, including: a main control computer, a position-indicating buoy wireless data transmission device receiver, and a UAV wireless data transmission device receiver. This application proposes a method for surface multi-target positioning, which includes:
[0014] P position-indicating buoys are placed in the search waters where m targets to be measured appear, and the GNSS data packets synchronously sent back by the P position-indicating buoys and the image data carrying the shooting timestamp sent back by the drone in real time are received in real time. The GNSS data packets are GNSS data synchronously and uninterruptedly generated by the GNSS equipment carried by each position-indicating buoy. The GNSS data include the identity information of the position-indicating buoy, the synchronous positioning timestamp and the geographic coordinates, m≥1, P≥4, and the GNSS equipment has been configured with the geographic coordinate system.
[0015] Specifically, in the prevention and control of marine biological pollution, such as monitoring red tides, tracking jellyfish migration paths, and other scenarios, as well as monitoring ships entering and leaving ports through third-party means, or tracking ship trajectories in competitions or scientific research activities, the method proposed in the present invention can provide an efficient and economical method to accurately locate the target position. Before deploying the position-indicating buoy, it is necessary to confirm the geographic coordinate system configured by the GNSS device carried by each position-indicating buoy to ensure that all position-indicating buoys to be deployed use a unified coordinate system to ensure data consistency and accuracy. Usually, WGS84 (World Geodetic System 1984) is widely used in global positioning systems and other GNSS systems, or CGCS2000 (China Geodetic Coordinate System 2000) is the standard coordinate system officially recommended by China. Both geographic coordinate systems use longitude and latitude to represent the position on the earth's surface. In addition, unique identity information is set for each positioning buoy to be deployed. The identity information represented by the coding pattern painted on the surface of each positioning buoy to be deployed is consistent with the identity information in the code logic embedded in the GNSS system. The GNSS equipment on each positioning buoy to be deployed is configured with a clock to generate a timestamp when the positioning buoy is positioned. The water area where m targets to be measured appear is defined as the search water area, m≥1, and P positioning buoys carrying GNSS equipment and wireless data transmission equipment are deployed between the m targets to be measured, P≥4, and the P positioning buoys are not located in the same straight line. The GNSS equipment on the P positioning buoys synchronously and continuously receives the positioning signal from the satellite, calculates the distance between the satellite and the receiver, and converts these data into geographic coordinates in the geographic coordinate system configured by the positioning buoy in real time, using (Long k , Lat k ), k=1, 2, ..., P (P is the number of deployed position-indicating buoys, P≥4) describes the positioning of P position-indicating buoys, Long is longitude, Lat is latitude, and the unit is degree.
[0016] The received GNSS data packets are parsed in real time to obtain the geographic coordinates of each key positioning buoy under the key image shooting timestamp, wherein the key positioning buoy is the positioning buoy in the real world corresponding to each positioning buoy image in the key image, and the key image is the image data that meets the key image standard screened out from the returned image data. The shooting timestamp carried on the key image is the key image shooting timestamp, and the key image standard is that one image data must contain m images of the target to be measured and n images of positioning buoys that are not on the same straight line, 4≤n≤P, and the camera on the gimbal carried by the drone has been configured with a pixel coordinate system.
[0017] Specifically, the drone carries a wireless numerical control device and a gimbal, and the gimbal is equipped with a camera. The built-in clock of the camera and the built-in clock of the position buoy adopt a unified time synchronization scheme. For example, the built-in clock of the camera obtains time from the time source of the GNSS device to ensure that the timestamps output by the two are not only consistent in the time source, but also consistent in the format. The built-in clock of the camera provides the timestamp of the captured image. The pixel coordinate system is configured on the camera, and the pixel coordinate system is configured on the photosensitive surface of the camera sensor. The photosensitive surface is the key area for the camera to obtain image information, and all pixels are distributed on this surface. The pixel coordinate system takes the upper left corner of the image as the origin, which is the starting point of the entire pixel coordinate system. The positive direction of the horizontal coordinate u axis is defined as the direction parallel to the row of the image, and the positive direction of the vertical coordinate v axis is defined as the direction parallel to the column of the image. The pixel coordinate is a two-dimensional coordinate, and the pixel coordinates on the image are represented by (u, v), and the unit is pixel. This means that when moving in the positive direction of the horizontal coordinate, it is like passing through each pixel point in turn along the row of the image, and when moving in the positive direction of the vertical coordinate, it is equivalent to traversing the pixel points one by one along the column of the image. The system receives image data with image shooting timestamps sent back in real time by the wireless numerical control device on the drone. The image shooting timestamp accurately records the moment when the image is shot, which is very important for the subsequent search for the geographic coordinates of the key position-indicating buoy under the key image timestamp. Image data that meets the key image standard is selected in real time from the image data sent back with image shooting timestamps. The image shooting timestamp carried by the image is the key image shooting timestamp. The key image standard is that one image data must contain m images of the target to be measured and n images of the position-indicating buoy that are not on the same straight line, 4≤n≤P. Image data that meets the key image standard can be selected in real time by manual screening or by a visual detection model trained by machine learning.
[0018] Furthermore, the geographic coordinates of the key position-indicating buoy at the time stamp of the key image shooting are obtained, including:
[0019] Obtain the geographic coordinates of each key position buoy at the time stamp of key image shooting, including:
[0020] Parse the received GNSS data packets in real time, and fill the parsed GNSS data into the real-time positioning dictionary of the position-indicating buoy, wherein the real-time positioning dictionary of the position-indicating buoy is a two-layer nested dictionary structure;
[0021] Identify the coding pattern on each position-indicating buoy image in the key image after preprocessing, obtain the identity information of each position-indicating buoy image, search for the same identity information in the outer layer of the real-time positioning dictionary of the position-indicating buoy, obtain the position-indicating buoy of each position-indicating buoy image in the real world, and obtain the key position-indicating buoy;
[0022] Based on each key positioning buoy, the synchronized positioning timestamp that is the same as the key image shooting timestamp is searched in the inner dictionary corresponding to its identity information, the geographic coordinates corresponding to the synchronized positioning timestamp are obtained, and the geographic coordinates of each key positioning buoy under the key image shooting timestamp are obtained.
[0023] Specifically, P position-indicating buoys are deployed in the search area, and a common time point for receiving satellite signals is preset. Before reaching this preset time point, the GNSS devices on the P position-indicating buoys are time-synchronized and calibrated. The NTP network time protocol can be used for synchronization calibration to ensure that they can start receiving satellite signals at the same time. The system receives the GNSS data packets sent back by the wireless data transmission devices of the P position-indicating buoys in real time, and parses the data packets in real time to obtain the identity information, synchronization positioning timestamps and geographic coordinates of the P position-indicating buoys under the synchronization positioning timestamps. According to the identity information of each position-indicating buoy, its synchronization positioning timestamp and geographic coordinates are continuously filled into the real-time positioning dictionary of the position-indicating buoy. The selected key images are preprocessed using appropriate preprocessing methods, such as bilateral filtering and histogram equalization, so that the m target images to be measured, the n position-indicating buoy images and the contours of each image in the key image are more prominent. Identify the coded patterns on the n position-indicating buoy images in the preprocessed key image. The coded patterns are a set of digital numbers or two-dimensional codes or index marks. For example, use optical character recognition technology to read the digital numbers on the position-indicating buoy images, or use two-dimensional code recognition technology to recognize the two-dimensional code on the position-indicating buoy images, or use index mark reading technology to read the index mark, and obtain the identity information of each of the n position-indicating buoy images in the key image. The timestamp of the image taken by the drone is usually recorded by the drone's built-in clock system. This clock system will record the current time when each photo is taken, and this time information will be transmitted back to the system along with the captured image. The timestamp of the captured image and the positioning timestamp of the position-indicating buoy follow consistent timing specifications, which means that the timing units, timing accuracy, etc. remain the same. For example, when the camera records the shooting time and the position-indicating buoy records the positioning time, the timing units are accurate to seconds or finer time units, and the timing accuracy is also controlled within the same standard range. When processing image data and position-indicating buoy positioning data, this consistent timing specification can be used to accurately link the captured image with the positioning information of the position-indicating buoy at the corresponding time, thereby providing an accurate time basis for subsequent data analysis, target positioning and other work.
[0024] Furthermore, the parsed GNSS data is filled into the real-time positioning dictionary of the position-indicating buoy, including:
[0025] Create a two-layer nested dictionary structure. Each key of the outer dictionary corresponds to the identity information of a position-indicating buoy. The value corresponding to the identity information of each position-indicating buoy is an inner dictionary. The key of each inner dictionary is the synchronous positioning timestamp of the corresponding position-indicating buoy, and its value is the geographic coordinate corresponding to the synchronous positioning timestamp.
[0026] First traverse the parsed GNSS data packet information, fill the identity information of the position-indicating buoy in the current data packet into the key of the outer dictionary, and fill the synchronous positioning timestamp and geographic coordinates in the current data packet into the key and corresponding value of the inner dictionary respectively;
[0027] Continue to traverse the parsed GNSS data packet information. If it is recognized that the identity information in the current data packet is already on the key of the outer dictionary, a new key-value is created in the inner dictionary corresponding to the identity information of the position-indicating buoy, and the synchronous positioning timestamp and geographic coordinates in the current data packet are filled into the newly created key-value. If it is recognized that the identity information in the current data packet is not on the key of the outer dictionary, a new key of the outer dictionary is created and the data is filled in according to the first traversal method.
[0028] Specifically, with the goal of quickly searching for key position-indicating buoys and their geographic coordinates, a two-layer nested dictionary structure is selected to construct a data structure and initialize the two-layer nested dictionary structure. Each key in the outer dictionary is used to store the identity information of each position-indicating buoy deployed in the real world. Each key corresponding value in the outer dictionary points to an inner dictionary, which stores the positioning timestamp and geographic coordinates related to the position-indicating buoy. The key of the inner dictionary is the positioning timestamp in the GNSS data, and the corresponding value of the key of the inner dictionary is the geographic coordinates of the buoy under the positioning timestamp, thus obtaining the real-time positioning dictionary of the position-indicating buoy. The GNSS data packet information that is parsed is traversed for the first time, and the identity information of the position-indicating buoy in the current data packet is filled into the key of the outer dictionary, and the synchronous positioning timestamp and geographic coordinates in the current data packet are filled into the key and corresponding value of the inner dictionary respectively; the GNSS data packet information that is parsed is traversed continuously and in real time, if it is recognized that the identity information in the current data packet is already on the key of the outer dictionary, a new key-value is created in the inner dictionary corresponding to the identity information of the position-indicating buoy, and the synchronous positioning timestamp and geographic coordinates in the current data packet are filled into the newly created key-value; if it is recognized that the identity information in the current data packet is not on the key of the outer dictionary, a new key of the outer layer of the dictionary is created, and the GNSS data is filled in according to the first traversal method, and the real-time positioning dictionary of the position-indicating buoy is updated in real time, which can clearly and efficiently manage the geographic coordinates of multiple position-indicating buoys at different positioning timestamps. First, based on the identity information of each position-indicating buoy image obtained, a search is performed in the key of the outer dictionary of the position-indicating buoy real-time positioning dictionary. When the same identity information is found, the position-indicating buoys corresponding to each position-indicating buoy image in the key image in the real world can be determined. These position-indicating buoys in the real world are defined as key position-indicating buoys, and the key position-indicating buoys are marked. The inner dictionary corresponding to the identity information of each key position-indicating buoy continues to search for the synchronous positioning timestamp that represents the same time as the key image shooting timestamp, and the geographic coordinates corresponding to the synchronous positioning timestamp are obtained, thereby obtaining the geographic coordinates of the key position-indicating buoy at the key image shooting timestamp.
[0029] Preprocess the key image, select each target image to be measured in the preprocessed key image, obtain the pixel coordinates of m targets to be measured, perform ellipse fitting on each position-indicating buoy image in the preprocessed key image, calculate the coordinates of the center point of each ellipse, and obtain the pixel coordinates of n key position-indicating buoys.
[0030] Furthermore, the pixel coordinates of n key position indicating buoys are obtained, including:
[0031] The edge of each position-indicating buoy image in the key image after preprocessing is extracted by the Canny edge detection method, and the edge image of each position-indicating buoy image is obtained. Each edge image is optimized, wherein the edge image of each position-indicating buoy image is marked with white pixels, with a pixel value of 255, and the non-edge area is marked with black pixels, with a pixel value of 0;
[0032] Scan each optimized edge image pixel by pixel, record the pixel coordinates with a pixel value of 255, and obtain the pixel coordinate set of each edge image. Use the least squares method to fit the pixel coordinate set of each edge image to the corresponding general equation of an ellipse. After fitting, the equation parameters of each ellipse are obtained. The geometric center coordinates of each ellipse are calculated through the equation parameters to obtain the pixel coordinates of each position-indicating buoy image, that is, the pixel coordinates of n key position-indicating buoys.
[0033] Specifically, the key image is preprocessed to make the image of the position buoy in the image more prominent. The edge image of each position buoy image is extracted from the preprocessed key image using an edge detection algorithm such as the Canny edge detection method. The edge image is a binary image, and the edge pixels are marked as white (pixel value 255), and the non-edge area is marked as black (pixel value 0). Then, the edge image of each position buoy image is optimized. The optimization methods include interpolation and connected component methods. The interpolation method is used to connect the edges that may be disconnected, and the connected component method is used to identify and remove isolated points that do not belong to the main edge structure, so as to obtain the optimized edge image of each position buoy image. Scan each optimized edge image pixel by pixel, and use a double loop or vectorization operation to traverse each pixel in the image to check whether each pixel belongs to the edge. If it is an edge pixel, record its pixel coordinates, and finally obtain the pixel coordinate set of each edge image. The pixel coordinate set can be a list or an array, and the number of pixel coordinates in each pixel coordinate set is ≥5. The least square method is used to perform an ellipse fitting operation on the pixel coordinate set of each edge image, find an ellipse shape that best fits the distribution of these pixel coordinates, calculate the geometric center of each ellipse, and obtain the pixel coordinates of each position-indicating buoy image in the key image, that is, the pixel coordinates of the key position-indicating buoy. For example, the specific process of calculating the geometric center of an ellipse and obtaining the pixel coordinates of a position-indicating buoy image is as follows:
[0034] Select an optimized edge image of the position-indicating buoy image, traverse the edge image, find all pixel positions with a value of 255, and record the edge pixel coordinates of the position-indicating buoy image. t=1, 2, ..., q (q is the number of all edge pixels on any optimized edge image, q≥5), the general equation of the ellipse is:
[0035] ,
[0036] The least squares method is used to solve the coefficients A, B, C, D, E, and F in the elliptic equation, where E is the error function. The error function is constructed:
[0037] Solution, ,
[0038] Get the values of A, B, C, D, E, and F that minimize E, and further verify:
[0039] B 2 −4AC<0,
[0040] According to the obtained coefficients, the coordinates of the center of the ellipse are calculated using the general equation of the ellipse:
[0041] , ,
[0042] in, is the center coordinate of the ellipse. When the drone is equipped with a gimbal and a camera to take pictures of the search area, deformation may occur due to factors such as shooting angle and lens distortion. Ellipse fitting can adapt to these deformations to a certain extent, provide a relatively stable buoy representation, improve the accuracy of buoy positioning, and facilitate subsequent processing and analysis.
[0043] Based on the geographic coordinates of the key position-indicating buoy, the local world coordinate system of the key position-indicating buoy is constructed, and the local world coordinates of the key position-indicating buoy are calculated.
[0044] Specifically, from the geographical coordinates of the key position-indicating buoy (Long i , Lat i )i=1,2,...,n (n is the number of key position-indicating buoys, 4≤n≤P), randomly select the geographical coordinates (Long1, Lat1) of a key position-indicating buoy, determine the selected coordinates as the origin, and construct the local world coordinate system of the key position-indicating buoy. The geoid is selected as the coordinate plane, which is suitable for small areas of several kilometers to more than ten kilometers. The curvature of the earth is ignored. The positive direction of the horizontal coordinate X-axis points to the due east, and the positive direction of the vertical coordinate Y-axis points to the due north. The local world coordinate system of the complete key position-indicating buoy is completed. The local world coordinates are expressed as two-dimensional coordinates (X, Y) in meters.
[0045] Furthermore, based on the geographic coordinates of the key position indicating buoy, a local world coordinate system of the key position indicating buoy is constructed, and the local world coordinates of the key position indicating buoy are calculated, including:
[0046] Select any key position-indicating buoy as the origin of the local world coordinate system, take the geoid as the coordinate plane, with the positive direction of the horizontal coordinate pointing to due east and the positive direction of the vertical coordinate pointing to due north, and establish the local world coordinate system of the key position-indicating buoy;
[0047] Taking the geographic coordinates corresponding to the origin of the local world coordinate system as the reference point, calculate the longitude difference and latitude difference between the geographic coordinates of the remaining key position-indicating buoys and the reference point respectively;
[0048] The arc length of longitude and arc length of latitude corresponding to the geographic coordinates of the reference point are obtained, and the arc length of longitude and arc length of latitude corresponding to each remaining key position-indicating buoy are multiplied by the arc length of longitude to obtain the horizontal coordinate distance of each remaining key position-indicating buoy from the origin in the local world coordinate system. The arc length of latitude and arc length of latitude corresponding to each remaining key position-indicating buoy are multiplied by the latitude difference to obtain the vertical coordinate distance of each remaining key position-indicating buoy from the origin in the local world coordinate system. The horizontal coordinate distance and vertical coordinate distance of each remaining key position-indicating buoy are converted to their positions in the local world coordinate system to obtain the local world coordinates of each key position-indicating buoy. The arc length of longitude and arc length of latitude corresponding to the geographic coordinates of the reference point are obtained by treating the earth as a sphere, and the calculation formula is as follows:
[0049] ,
[0050] ,
[0051] Where R is the mean radius of the Earth and Lat is the latitude of the reference point.
[0052] Specifically, the geographic coordinates of a key position-indicating buoy are selected as (Long1, Lat1) as the origin of the local world coordinate system, and the geographic coordinates of the remaining key position-indicating buoys (Long i , Lat i )i=2,...,n (4≤n≤P), calculate the difference in longitude between the geographical coordinates of the remaining key position-indicating buoys and the geographical coordinates of the origin of the local world coordinate system, The difference in latitude and longitude, If the earth is regarded as a sphere, the average radius of the earth is 6371 kilometers, and the arc lengths corresponding to the longitude and latitude of the remaining key position buoys in the geographic coordinate system are as follows:
[0053]
[0054]
[0055] Among them, R represents the average radius of the earth, and Lat represents the latitude of the reference point. Then the horizontal coordinate (east direction) of the local world coordinate system of the remaining key position buoy is: , vertical coordinate (north): , i=2,...,n (4≤n≤P). Set the local world coordinates of the key position buoy selected as the origin of the local world coordinate system to (0,0), calculate the relative positions of the remaining key position buoys relative to the origin, and realize the translation of the local world coordinate system. However, since the origin has been set to (0,0), the local world coordinates of other key position buoys can directly use the converted results, and finally obtain the local world coordinates of the key buoy (X i , Y i ), i=1, 2, ..., n (4≤n≤P). This method is suitable for a small range, is simple and easy to implement, and has the advantages of high accuracy, high flexibility and fast calculation.
[0056] Based on the pixel coordinates, local world coordinates and geographic coordinates of the key position-indicating buoy, the transformation relationship from the pixel coordinate system to the local world coordinate system and the transformation relationship from the local world coordinate system to the geographic coordinate system are calculated.
[0057] Specifically, each key position-indicating buoy provides corresponding points in three different coordinate systems, namely, pixel coordinates, local world coordinates, and geographic coordinates. Through these corresponding points, a mapping relationship from one coordinate system to another can be established, that is, a transformation matrix can be calculated, which describes how to map points in one coordinate system to another coordinate system.
[0058] Furthermore, based on the pixel coordinates, local world coordinates and geographic coordinates of the key position-indicating buoy, the conversion relationship from the pixel coordinate system to the local world coordinate system and the conversion relationship from the local world coordinate system to the geographic coordinate system are calculated, including:
[0059] Obtain the pixel coordinates, local world coordinates and geographic coordinates of the key position-indicating buoy, add a dimension to the end of each coordinate and set it to 1, and obtain the homogeneous pixel coordinates, homogeneous local world coordinates and homogeneous geographic coordinates of the key position-indicating buoy;
[0060] According to the homogeneous pixel coordinates of each key position-indicating buoy and its corresponding homogeneous local world coordinates, a projection mapping relationship from the pixel coordinate system to the local world coordinate system is constructed, and a direct linear transformation algorithm is applied to solve the homography matrix of the projection mapping relationship to obtain a homography transformation matrix from the pixel coordinate system to the local world coordinate system;
[0061] According to the homogeneous local world coordinates of each key position-indicating buoy and its corresponding homogeneous geographic coordinates, the projection mapping relationship from the geographic coordinate system to the local world coordinate system is first constructed, and the direct linear transformation algorithm is used to solve the homography matrix of the projection mapping relationship to obtain the homography transformation matrix from the geographic coordinate system to the local world coordinate system. Then, the direct inversion method is used to calculate the inverse matrix of the homography transformation matrix from the geographic coordinate system to the local world coordinate system to obtain the homography transformation matrix from the local world coordinate system to the geographic coordinate system.
[0062] Specifically, the identity information, pixel coordinates, local world coordinates and geographic coordinates of key position-indicating buoys are gathered as follows:
[0063] Key position-indicating buoy identity information , i=1,2,...,n;
[0064] Pixel coordinates of key position buoys , i=1,2,...,n;
[0065] Local world coordinates of key position-indicating buoys , i=1,2,...,n;
[0066] Geographical coordinates of key position-indicating buoys , i=1,2,...,n,
[0067] Among them, n is the number of key position-indicating buoys, 4≤n≤P, the pixel coordinates, local world coordinates and geographic coordinates of the key position-indicating buoy are two-dimensional coordinates. In order to facilitate various coordinate transformation related calculations, the two-dimensional coordinates are expanded into homogeneous three-dimensional coordinates. By adding a dimension component and setting it to 1, the homogeneous pixel coordinates, homogeneous local world coordinates and homogeneous geographic coordinates of the key position-indicating buoy are obtained respectively. Homogeneous coordinates are a homogeneous form suitable for coordinate transformation calculations. The homogeneous pixel coordinates, homogeneous local world coordinates and homogeneous geographic coordinates of the key position-indicating buoy are as follows:
[0068] Homogeneous pixel coordinates , i=1,2,...,n;
[0069] Homogeneous local world coordinates , i=1,2,...,n;
[0070] Homogeneous geographic coordinates , i=1,2,...,n,
[0071] The homogeneous pixel coordinates, homogeneous local world coordinates and homogeneous geographic coordinates of the key position-indicating buoys are gathered together to establish a key position-indicating buoy information table, as shown in Table 1:
[0072] Table 1: Key position indicating buoy information table
[0073]
[0074] When an unmanned aircraft shoots an object on the water surface, the camera's viewing angle is not completely perpendicular to the water surface, resulting in perspective deformation of the image. It is appropriate to select a homography matrix to describe the projection transformation relationship between two planes and eliminate the perspective deformation in the image. The homography matrix H is a 3x3 matrix in the following form:
[0075] ,
[0076] in, represents rotation, scaling, and shearing transformations, represents the translation transformation, represents perspective transformation, Usually 1 (the scale factor of homogeneous coordinates). The correspondence between the homogeneous pixel coordinates and the homogeneous local world coordinates of each key position buoy. The position of each key position buoy in the pixel coordinate system corresponds to its position in the local world coordinate system. This one-to-one correspondence is the basis for the subsequent calculation of the homography matrix. Constructing the projection mapping relationship from the pixel coordinate system to the local world coordinate system is to use the homography matrix to describe the linear mapping relationship from the pixel coordinate system to the local world coordinate system. Its essence is to map the coordinates in the pixel coordinate system to the coordinates in the local world coordinate system. As shown in Formula 1, the homogeneous pixel coordinates are the input, the homogeneous local world coordinates are the output, and H1 is the homography matrix that needs to be solved.
[0077]
[0078] The homography matrix is solved by the direct linear transformation (DLT) algorithm, and two homogeneous linear equations mapping from pixel coordinates to local world coordinates are constructed through the paired homogeneous coordinates of each key position buoy. The homogeneous linear equations of each key position buoy are combined into a homogeneous linear equation system, and the homogeneous linear equation system is solved using the singular value decomposition method to obtain the homography matrix, and its third row and third column elements are forced to be equal to 1, so as to obtain the homography transformation matrix from the pixel coordinate system to the local world coordinate system. In the specific process, a pair of aligned sub-coordinates of each key position buoy, that is, the homogeneous pixel coordinates and homogeneous local world coordinates Construct two homogeneous linear equations:
[0079] ,
[0080] ,
[0081] ,
[0082] Since H1 is a homography matrix, use the normalized form, that is, the last item in the last row is 1, in fact, only the first two equations are needed, and the two homogeneous linear equations are arranged as follows:
[0083]
[0084] Expanding and rearranging the above equation, we obtain:
[0085]
[0086] A pair of aligned coordinates of each key position buoy can construct two homogeneous linear equations, and n sets of coordinate pairs can construct 2n equations. By combining these equations, we get a homogeneous linear equation system: , where A is The matrix of is a vector containing the elements of the H1 matrix . Use singular value decomposition to solve the above homogeneous linear equations and perform singular value decomposition on matrix A: , build The solution of the homography matrix H1 is the right singular vector corresponding to the smallest singular value in the matrix V, that is, the last column of V. The extracted vectors are rearranged as The matrix is normalized by rearranging the matrix, that is, all elements of the matrix are divided by , at this time the last item of the last line is 1, and the homography transformation matrix H1 from the pixel coordinate system to the local world coordinate system is obtained.
[0087] According to the homogeneous local world coordinates and homogeneous geographic coordinates of the key position-indicating buoy, the conversion relationship from the local world coordinate system to the geographic coordinate system is calculated. This needs to be divided into two steps, because the homography matrix H is mainly used to describe the perspective transformation relationship between two planes, and the geographic coordinate system is a spherical coordinate system that takes into account the curvature of the earth. The local world coordinate system is a plane coordinate system. Directly converting from the local world coordinate system to the geographic coordinate system involves nonlinear relationships, which makes the application of the homography matrix complicated. The two steps of the conversion process: first, calculate the homography matrix from the geographic coordinate system to the local world coordinate system, and then directly invert it to obtain the reverse transformation, which can decompose the complex spatial transformation into two simple problems. The method of calculating the homography transformation matrix H1 from the pixel coordinate system to the local world coordinate system is the same as that of calculating the homography transformation matrix H1 from the pixel coordinate system to the local world coordinate system. According to the correspondence between the homogeneous local world coordinates and the homogeneous geographic coordinates of the key position-indicating buoy, a projection mapping relationship from the pixel coordinate system to the local world coordinate system is constructed, as shown in Formula 2. The homography transformation matrix H2 from the geographic coordinate system to the local world coordinate system is solved, and then the homography transformation matrix from the geographic coordinate system to the local world coordinate system is directly inverted to obtain the homography transformation matrix H2 from the local world coordinate system to the geographic coordinate system.-1 , where directly inverting equation 2 gives equation 3.
[0088]
[0089]
[0090] To invert the homography transformation matrix H2, you can directly call the inverse matrix function in the math library to find its inverse matrix H2 -1 There are many concise and efficient matrix inversion methods, such as using the inv() function in MATLAB to calculate the inverse of a matrix, using the numpy.linalg.inv() function in Python to calculate the inverse of a matrix, and using the solve() function in R to calculate the inverse of a matrix.
[0091] Based on the pixel coordinates of the m targets to be measured, according to the transformation relationship from the pixel coordinate system to the local world coordinate system, and the transformation relationship from the local world coordinate system to the geographic coordinate system, the geographic coordinates of the m targets to be measured are calculated to obtain the positioning of one or more targets to be measured on the water surface.
[0092] Furthermore, the positioning of one or more targets to be detected on the water surface is obtained, including:
[0093] Based on the pixel coordinates of the m objects to be measured, a dimension is added to the end of the pixel coordinates and set to 1 to obtain the homogeneous pixel coordinates of the m objects to be measured;
[0094] Apply the homography transformation matrix from the pixel coordinate system to the local world coordinate system, calculate the homogeneous local world coordinates corresponding to the homogeneous pixel coordinates of the m targets to be measured, then apply the homography transformation matrix from the local world coordinate system to the geographic coordinate system, calculate the homogeneous geographic coordinates corresponding to the homogeneous local world coordinates of the m targets to be measured, remove the homogeneous components, and obtain the geographic coordinates of the m targets to be measured, that is, obtain the positioning of one or more targets to be measured on the water surface.
[0095] Specifically, the m target images to be measured in the preprocessed key image are all selected by manual selection to obtain the pixel coordinates of all the targets to be measured. , j=1,2,...,m (m is the number of targets to be measured, m≥1), add a dimension to the end of the obtained pixel coordinates and set it to 1 to obtain the homogeneous pixel coordinates of each target to be measured, which is (m is the number of objects to be measured, m≥1). Multiply the homogeneous pixel coordinates of each object to be measured by the transformation matrix H1 from the pixel coordinate system to the local world coordinate system, as shown in Formula 4, to obtain the homogeneous local world coordinates corresponding to each homogeneous pixel coordinate.
[0096]
[0097] The calculated homogeneous local world coordinates of each key position buoy (m is the number of targets to be measured, m ≥ 1), and the transformation matrix H2 from the local world coordinate system to the geographic coordinate system -1 Multiply them together to get the homogeneous geographic coordinates of each target to be measured (m is the number of targets to be measured, m≥1), as shown in Formula 5:
[0098]
[0099] Remove the homogeneous component 1 from the calculated homogeneous geographic coordinates to obtain the geographic coordinates of m targets to be measured (m is the number of targets to be measured, m≥1), that is, the positioning of one or more targets to be measured on the water surface.
[0100] like Figure 1 As shown, the embodiment of the present application includes a method flow for multi-target positioning on the water surface:
[0101] S100: placing P position-indicating buoys in the search waters where m targets to be detected appear, and receiving in real time the GNSS data packets synchronously transmitted back by the P position-indicating buoys and the image data carrying the shooting timestamp transmitted back in real time by the drone, where m≥1 and P≥4;
[0102] S200: parsing the received GNSS data packets in real time to obtain the geographic coordinates of each key position-indicating buoy at the key image shooting timestamp;
[0103] S300: preprocessing the key image, selecting each target image to be measured in the preprocessed key image, obtaining pixel coordinates of m targets to be measured, performing ellipse fitting on each position-indicating buoy image in the preprocessed key image, calculating the coordinates of the center point of each ellipse, and obtaining pixel coordinates of n key position-indicating buoys;
[0104] S400: constructing a local world coordinate system of the key position indicating buoy based on the geographic coordinates of the key position indicating buoy, and calculating the local world coordinates of the key position indicating buoy;
[0105] S500: Calculating a homography transformation matrix H1 from a pixel coordinate system to a local world coordinate system based on the pixel coordinates and the local world coordinates of the key position indicating buoy;
[0106] S600: Based on the local world coordinates and geographic coordinates of the key position-indicating buoy, first calculate the homography transformation matrix H2 from the geographic coordinate system to the local world coordinate system, then directly invert the homography transformation matrix H2 from the geographic coordinate system to the local world coordinate system to obtain the homography transformation matrix H2 from the local world coordinate system to the geographic coordinate system -1 ;
[0107] S700: Based on the pixel coordinates of the m targets to be measured, the pixel coordinates of the targets to be measured are sequentially transformed through the homography transformation matrix H1 and the homography transformation matrix H2 -1 The geographical coordinates of m targets to be measured are obtained by conversion, that is, the positioning of one or more targets to be measured on the water surface.
[0108] like Figure 2 As shown, the embodiment of the present application includes a system for multi-target positioning on a water surface, characterized in that the system includes:
[0109] The receiving module 11 is used to place P position-indicating buoys in the search waters where m targets to be measured appear, and receive in real time the GNSS data packets synchronously transmitted back by the P position-indicating buoys and the image data carrying the shooting timestamp transmitted in real time by the drone, wherein the GNSS data packets are GNSS data synchronously and uninterruptedly generated by the GNSS equipment carried by each position-indicating buoy, and the GNSS data include the identity information of the position-indicating buoy, the synchronous positioning timestamp and the geographic coordinates, m≥1, P≥4, and the GNSS equipment has been configured with a geographic coordinate system;
[0110] The geographic coordinate acquisition module 12 is used to parse the received GNSS data packets in real time and obtain the geographic coordinates of each key position-indicating buoy under the key image shooting timestamp, wherein the key position-indicating buoy is the position-indicating buoy in the real world corresponding to each position-indicating buoy image in the key image, and the key image is the image data that meets the key image standard selected from the returned image data, and the shooting timestamp carried on the key image is the key image shooting timestamp, and the key image standard is that one image data must simultaneously contain m images of the target to be measured and n images of the position-indicating buoy that are not on the same straight line, 4≤n≤P, and the camera on the gimbal carried by the drone has been configured with a pixel coordinate system;
[0111] The pixel coordinate acquisition module 13 is used to pre-process the key image, select each target image to be measured in the pre-processed key image, obtain the pixel coordinates of m targets to be measured, perform ellipse fitting on each position-indicating buoy image in the pre-processed key image, calculate the coordinates of the center point of each ellipse, and obtain the pixel coordinates of n key position-indicating buoys;
[0112] A local world coordinate acquisition module 14, which is used to construct a local world coordinate system of the key position indicating buoy based on the geographical coordinates of the key position indicating buoy, and calculate the local world coordinates of the key position indicating buoy;
[0113] A coordinate system conversion module 15, which is used to calculate the conversion relationship from the pixel coordinate system to the local world coordinate system and the conversion relationship from the local world coordinate system to the geographic coordinate system based on the pixel coordinates, local world coordinates and geographic coordinates of the key position indicating buoy;
[0114] The target positioning module 16 is used to calculate the geographic coordinates of the m targets to be measured based on the pixel coordinates of the m targets to be measured, according to the conversion relationship from the pixel coordinate system to the local world coordinate system, and the conversion relationship from the local world coordinate system to the geographic coordinate system, so as to obtain the positioning of one or more targets to be measured on the water surface.
[0115] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0116] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application.
Claims
1. A method for locating multiple targets on a water surface, characterized in that: The method includes: P position-indicating buoys are placed in the search waters where m targets to be measured appear, and the GNSS data packets synchronously transmitted back by the P position-indicating buoys and the image data with shooting timestamps transmitted back by the drone in real time are received in real time. The GNSS data packets are GNSS data synchronously and uninterruptedly generated by the GNSS equipment carried by each position-indicating buoy. The GNSS data includes the identity information of the position-indicating buoy, the synchronous positioning timestamp and the geographic coordinates. m≥1, P≥4, and the GNSS equipment has been configured with a geographic coordinate system. Parse the received GNSS data packets in real time to obtain the geographic coordinates of each key positioning buoy under the key image shooting timestamp, where the key positioning buoy is the positioning buoy in the real world corresponding to each positioning buoy image in the key image. The key image is the image data that meets the key image standard selected from the returned image data. The shooting timestamp carried on the key image is the key image shooting timestamp. The key image standard is that one image data must contain m images of the target to be measured and n positioning buoy images that are not on the same straight line at the same time, 4≤n≤P, and the camera on the gimbal carried by the drone has been configured with a pixel coordinate system; Preprocess the key image, select each target image to be measured in the preprocessed key image, obtain the pixel coordinates of m targets to be measured, perform ellipse fitting on each position-indicating buoy image in the preprocessed key image, calculate the coordinates of the center point of each ellipse, and obtain the pixel coordinates of n key position-indicating buoys; Based on the geographic coordinates of the key position indicating buoy, a local world coordinate system of the key position indicating buoy is constructed, and the local world coordinates of the key position indicating buoy are calculated; Based on the pixel coordinates, local world coordinates and geographic coordinates of the key position-indicating buoy, the transformation relationship from the pixel coordinate system to the local world coordinate system and the transformation relationship from the local world coordinate system to the geographic coordinate system are calculated; Based on the pixel coordinates of the m targets to be measured, according to the transformation relationship from the pixel coordinate system to the local world coordinate system, and the transformation relationship from the local world coordinate system to the geographic coordinate system, the geographic coordinates of the m targets to be measured are calculated to obtain the positioning of one or more targets to be measured on the water surface.
2. The method for locating multiple targets on the water surface according to claim 1, characterized in that: Obtain the geographic coordinates of each key position buoy at the time stamp of key image shooting, including: Parse the received GNSS data packets in real time, and fill the parsed GNSS data into the real-time positioning dictionary of the position-indicating buoy, wherein the real-time positioning dictionary of the position-indicating buoy is a two-layer nested dictionary structure; Identify the coding pattern on each position-indicating buoy image in the key image after preprocessing, obtain the identity information of each position-indicating buoy image, search for the same identity information in the outer layer of the real-time positioning dictionary of the position-indicating buoy, obtain the position-indicating buoy of each position-indicating buoy image in the real world, and obtain the key position-indicating buoy; Based on each key positioning buoy, the synchronized positioning timestamp that is the same as the key image shooting timestamp is searched in the inner dictionary corresponding to its identity information, the geographic coordinates corresponding to the synchronized positioning timestamp are obtained, and the geographic coordinates of each key positioning buoy under the key image shooting timestamp are obtained.
3. The method for multi-target positioning on the water surface as claimed in claim 2, characterized in that: Fill the parsed GNSS data into the real-time positioning dictionary of the position-indicating buoy, including: Create a two-layer nested dictionary structure. Each key of the outer dictionary corresponds to the identity information of a position-indicating buoy. The value corresponding to the identity information of each position-indicating buoy is an inner dictionary. The key of each inner dictionary is the synchronous positioning timestamp of the corresponding position-indicating buoy, and its value is the geographic coordinate corresponding to the synchronous positioning timestamp. First traverse the parsed GNSS data packet information, fill the identity information of the position-indicating buoy in the current data packet into the key of the outer dictionary, and fill the synchronous positioning timestamp and geographic coordinates in the current data packet into the key and corresponding value of the inner dictionary respectively; Continue to traverse the parsed GNSS data packet information. If it is recognized that the identity information in the current data packet is already on the key of the outer dictionary, a new key-value is created in the inner dictionary corresponding to the identity information of the position-indicating buoy, and the synchronous positioning timestamp and geographic coordinates in the current data packet are filled into the newly created key-value. If it is recognized that the identity information in the current data packet is not on the key of the outer dictionary, a new key of the outer dictionary is created and the data is filled in according to the first traversal method.
4. The method for locating multiple targets on the water surface according to claim 1, characterized in that: Obtain the pixel coordinates of n key position-indicating buoys, including: The edge of each position-indicating buoy image in the key image after preprocessing is extracted by the Canny edge detection method, and the edge image of each position-indicating buoy image is obtained. Each edge image is optimized, wherein the edge image of each position-indicating buoy image is marked with white pixels, with a pixel value of 255, and the non-edge area is marked with black pixels, with a pixel value of 0; Scan each optimized edge image pixel by pixel, record the pixel coordinates with a pixel value of 255, and obtain the pixel coordinate set of each edge image. Use the least squares method to fit the pixel coordinate set of each edge image to the corresponding general equation of an ellipse. After fitting, the equation parameters of each ellipse are obtained. The geometric center coordinates of each ellipse are calculated through the equation parameters to obtain the pixel coordinates of each position-indicating buoy image, that is, the pixel coordinates of n key position-indicating buoys.
5. The method for multi-target positioning on the water surface according to claim 1, characterized in that: Based on the geographic coordinates of the key position indicating buoy, the local world coordinate system of the key position indicating buoy is constructed, and the local world coordinates of the key position indicating buoy are calculated, including: Select any key position-indicating buoy as the origin of the local world coordinate system, take the geoid as the coordinate plane, with the positive direction of the horizontal coordinate pointing to due east and the positive direction of the vertical coordinate pointing to due north, and establish the local world coordinate system of the key position-indicating buoy; Taking the geographic coordinates corresponding to the origin of the local world coordinate system as the reference point, calculate the longitude difference and latitude difference between the geographic coordinates of the remaining key position-indicating buoys and the reference point respectively; The arc length of longitude and arc length of latitude corresponding to the geographic coordinates of the reference point are obtained, and the arc length of longitude and arc length of latitude corresponding to each remaining key position-indicating buoy are multiplied by the arc length of longitude to obtain the horizontal coordinate distance of each remaining key position-indicating buoy from the origin in the local world coordinate system. The arc length of latitude and arc length of latitude corresponding to each remaining key position-indicating buoy are multiplied by the latitude difference to obtain the vertical coordinate distance of each remaining key position-indicating buoy from the origin in the local world coordinate system. The horizontal coordinate distance and vertical coordinate distance of each remaining key position-indicating buoy are converted to their positions in the local world coordinate system to obtain the local world coordinates of each key position-indicating buoy. The arc length of longitude and arc length of latitude corresponding to the geographic coordinates of the reference point are obtained by treating the earth as a sphere, and the calculation formula is as follows: , , Where R is the mean radius of the Earth and Lat is the latitude of the reference point.
6. The method for locating multiple targets on the water surface as claimed in claim 1, characterized in that: Based on the pixel coordinates, local world coordinates and geographic coordinates of the key position-indicating buoy, the transformation relationship from the pixel coordinate system to the local world coordinate system and the transformation relationship from the local world coordinate system to the geographic coordinate system are calculated, including: Obtain the pixel coordinates, local world coordinates and geographic coordinates of the key position-indicating buoy, add a dimension to the end of each coordinate and set it to 1, and obtain the homogeneous pixel coordinates, homogeneous local world coordinates and homogeneous geographic coordinates of the key position-indicating buoy; According to the homogeneous pixel coordinates of each key position-indicating buoy and its corresponding homogeneous local world coordinates, a projection mapping relationship from the pixel coordinate system to the local world coordinate system is constructed, and a direct linear transformation algorithm is applied to solve the homography matrix of the projection mapping relationship to obtain a homography transformation matrix from the pixel coordinate system to the local world coordinate system; According to the homogeneous local world coordinates of each key position-indicating buoy and its corresponding homogeneous geographic coordinates, the projection mapping relationship from the geographic coordinate system to the local world coordinate system is first constructed, and the direct linear transformation algorithm is used to solve the homography matrix of the projection mapping relationship to obtain the homography transformation matrix from the geographic coordinate system to the local world coordinate system. Then, the direct inversion method is used to calculate the inverse matrix of the homography transformation matrix from the geographic coordinate system to the local world coordinate system to obtain the homography transformation matrix from the local world coordinate system to the geographic coordinate system.
7. The method for locating multiple targets on the water surface as claimed in claim 6, characterized in that: Obtain the location of one or more targets to be measured on the water surface, including: Based on the pixel coordinates of the m objects to be measured, a dimension is added to the end of the pixel coordinates and set to 1 to obtain the homogeneous pixel coordinates of the m objects to be measured; Apply the homography transformation matrix from the pixel coordinate system to the local world coordinate system, calculate the homogeneous local world coordinates corresponding to the homogeneous pixel coordinates of the m targets to be measured, then apply the homography transformation matrix from the local world coordinate system to the geographic coordinate system, calculate the homogeneous geographic coordinates corresponding to the homogeneous local world coordinates of the m targets to be measured, remove the homogeneous components, and obtain the geographic coordinates of the m targets to be measured, that is, obtain the positioning of one or more targets to be measured on the water surface.
8. A system for multi-target positioning on a water surface, characterized in that: The system comprises: A receiving module is used to place P position-indicating buoys in the search waters where m targets to be measured appear, and receive in real time the GNSS data packets synchronously transmitted back by the P position-indicating buoys and the image data carrying the shooting timestamp transmitted in real time by the drone, wherein the GNSS data packets are GNSS data synchronously and uninterruptedly generated by the GNSS equipment carried by each position-indicating buoy, and the GNSS data include the identity information of the position-indicating buoy, the synchronous positioning timestamp and the geographic coordinates, m≥1, P≥4, and the GNSS equipment has been configured with a geographic coordinate system; The geographic coordinate acquisition module is used to parse the received GNSS data packets in real time and obtain the geographic coordinates of each key position-indicating buoy under the key image shooting timestamp, wherein the key position-indicating buoy is the position-indicating buoy in the real world corresponding to each position-indicating buoy image in the key image. The key image is the image data that meets the key image standard selected from the returned image data. The shooting timestamp carried on the key image is the key image shooting timestamp. The key image standard is that one image data must contain m images of the target to be measured and n images of the position-indicating buoy that are not on the same straight line at the same time, 4≤n≤P, and the camera on the gimbal carried by the drone has been configured with a pixel coordinate system; The pixel coordinate acquisition module is used to preprocess the key image, select each target image to be measured in the preprocessed key image, obtain the pixel coordinates of m targets to be measured, perform ellipse fitting on each position-indicating buoy image in the preprocessed key image, calculate the coordinates of the center point of each ellipse, and obtain the pixel coordinates of n key position-indicating buoys; A local world coordinate acquisition module, which is used to construct a local world coordinate system of the key position indicating buoy based on the geographical coordinates of the key position indicating buoy, and calculate the local world coordinates of the key position indicating buoy; A coordinate system conversion module, which is used to calculate the conversion relationship from the pixel coordinate system to the local world coordinate system and the conversion relationship from the local world coordinate system to the geographic coordinate system based on the pixel coordinates, local world coordinates and geographic coordinates of the key position indicating buoy; The target positioning module is used to calculate the geographic coordinates of the m targets to be measured based on the pixel coordinates of the m targets to be measured, according to the conversion relationship from the pixel coordinate system to the local world coordinate system, and the conversion relationship from the local world coordinate system to the geographic coordinate system, so as to obtain the positioning of one or more targets to be measured on the water surface.
Citation Information
Patent Citations
Liquid level detection method based on visual non-contact
CN111397692A
Water body surface flow trace measuring method based on unmanned aerial vehicle photographing
CN114972447A
Cited By
Optoelectronic equipment multi-target positioning method based on step scanning
CN122260226A