Ship identification method, device, electronic device and computer readable medium
Through the target drone's acquisition of images and using the combination of digital signal processors and neural network processors, the problems of low sharpness of satellite image acquisition and chip power consumption limitation are solved, and the accuracy and speed of ship recognition are improved.
Patent Information
- Application Number
- CN202111312690.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-08
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2041-11-08
AI Technical Summary
In prior art In ship recognition, the image clarity of satellite-acquisitioned images is affected by the weather, resulting in a decrease in recognition accuracy. In addition, the power consumption of the von Neumann structural chip in an embedded environment is limited, so the recognition speed cannot be improved.
The target drone is used to collect images and process digital signal image through a digital signal processor, and combine it with a neural network processor for parallel recognition. The Harvard structure separated by the data bus and the program bus is used to improve the processing speed.
Improves the accuracy and speed of ship recognition, ensuring clear images are collected in cloudy weather conditions, and the recognition process is accelerated through efficient processing algorithms.
Smart Images

Figure CN114037917B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the field of computer technology, and in particular to a ship identification method, device, electronic device, and computer-readable medium. Background Art
[0002] Ship identification is an important part of modern marine intelligent monitoring. How to quickly and accurately identify ships is of great significance for monitoring shipping traffic, maintaining marine rights and interests, and improving coastal defense early warning capabilities. At present, when identifying ships, the usual method is to identify ships based on images containing ships collected by satellites.
[0003] However, when the above method is adopted, the following technical problems often occur:
[0004] First, when collecting images through satellites, the clarity of the collected images is often affected by the weather. When there are obstacles (such as clouds) between the satellite and the sea level, the images containing ships collected by the satellite are often unclear, making it difficult to identify the ships in the images, and further reducing the accuracy of ship recognition;
[0005] Second, when identifying ships in images containing ships, the amount of data generated is large and requires the use of chips for calculation. The chips usually used are von Neumann chips, but in embedded environments, they are limited by power consumption, resulting in the use of traditional von Neumann chips, which cannot further improve the speed of ship recognition. Summary of the invention
[0006] The content of this disclosure is used to introduce concepts in a brief form, which will be described in detail in the detailed implementation section below. The content of this disclosure is not intended to identify the key features or essential features of the technical solution claimed for protection, nor is it intended to limit the scope of the technical solution claimed for protection.
[0007] Some embodiments of the present disclosure propose a ship identification method, an apparatus, an electronic device, and a computer-readable medium to solve one or more of the technical problems mentioned in the above background technology section.
[0008] In a first aspect, some embodiments of the present disclosure provide a method for ship identification, the method comprising: sending an original image to a digital signal processor, wherein the original image is acquired by a target drone; performing digital signal image processing on the original image by the digital signal processor to generate a target image set; determining bounding box information corresponding to each target ship in at least one target ship contained in each target image in the target image set to obtain a bounding box information group set; determining the position information of each target ship in at least one target ship contained in the original image according to the bounding box information in the bounding box information group set to obtain a position information set.
[0009] In a second aspect, some embodiments of the present disclosure provide a ship identification device, comprising: a sending unit, configured to send an original image to a digital signal processor, wherein the original image is acquired by a target drone; a processing unit, configured to perform digital signal image processing on the original image through the digital signal processor to generate a target image set; a first determination unit, configured to determine the bounding box information corresponding to each target ship in at least one target ship contained in each target image in the target image set, and obtain a bounding box information group set; a second determination unit, configured to determine the position information of each target ship in at least one target ship contained in the original image according to the bounding box information in the bounding box information group set, and obtain a position information set.
[0010] In a third aspect, some embodiments of the present disclosure provide an electronic device comprising: one or more processors; a storage device on which one or more programs are stored, and when the one or more programs are executed by the one or more processors, the one or more processors implement the method described in any implementation manner of the above-mentioned first aspect.
[0011] In a fourth aspect, some embodiments of the present disclosure provide a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method described in any implementation manner of the above-mentioned first aspect is implemented.
[0012] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the ship identification method of some embodiments of the present disclosure, the ship identification accuracy and speed are improved. Specifically, the reasons for the low ship identification accuracy and speed are: first, when collecting images through satellites, the clarity of the collected images is often affected by the weather. When there are obstacles (such as clouds) between the satellite and the sea level, the images containing ships collected by the satellite are often unclear, which makes it difficult to identify the ships in the image. Second, due to the large amount of data calculation generated by ship identification for images containing ships, it is often necessary to use chips for calculation. The chips usually used are von Neumann structure chips, but in embedded environments, they are limited by power consumption, resulting in the use of traditional von Neumann structure chips, which cannot further improve the ship identification speed. Based on this, in some embodiments of the present disclosure, the ship identification method first sends the original image to the digital signal processor. The original image is collected by the target drone. Because the drone has the characteristics of flexible movement. Therefore, by collecting images through drones, it can be ensured that clear images can be collected when there are clouds in the air. Thereby, the ship identification accuracy is improved. Then, the digital signal processor is used to perform digital signal image processing on the original image to generate a target image set. Since the digital signal processor adopts a Harvard structure and an improved Harvard structure with separated data bus and program bus. Therefore, the processing speed is 10-50 times faster than the fastest CPU. Thus, the ship recognition speed is improved. Then, the bounding box information corresponding to each target ship in at least one target ship contained in each target image in the target image set is determined to obtain a bounding box information group set. Finally, according to the bounding box information in the bounding box information group set, the position information of each target ship in at least one target ship contained in the original image is determined to obtain a position information set. Among them, the target image set can be sent to the neural network processor through the digital signal processor, and the position information set can be determined through the neural network processor. Since the neural network processor is a multi-core heterogeneous neural network chip, the target images in the target image set can be processed for parallel ship recognition through the neural network processor. Thus, the ship recognition speed is improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that components and elements are not necessarily drawn to scale.
[0014] Figure 1 is a schematic diagram of an application scenario of the ship identification method of some embodiments of the present disclosure;
[0015] Figure 2 is a flow chart of some embodiments of the ship identification method according to the present disclosure;
[0016] Figure 3 It is a schematic diagram of the chip connection method;
[0017] Figure 4 are flow charts of other embodiments of the ship identification method according to the present disclosure;
[0018] Figure 5 is a schematic diagram of the initial image segmentation method disclosed in the present invention;
[0019] Figure 6 is a schematic diagram of a spliced image of the present disclosure;
[0020] Figure 7 is a schematic diagram of the bounding box fusion method disclosed in the present invention;
[0021] Figure 8 is a schematic structural diagram of some embodiments of the ship identification device according to the present disclosure;
[0022] Fig. 9 It is a schematic diagram of the structure of an electronic device suitable for implementing some embodiments of the present disclosure. DETAILED DESCRIPTION
[0023] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0024] It should also be noted that, for ease of description, only the parts related to the invention are shown in the drawings. In the absence of conflict, the embodiments and features in the embodiments of the present disclosure can be combined with each other.
[0025] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0026] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".
[0027] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.
[0028] The present disclosure will be described in detail below with reference to the accompanying drawings and in conjunction with embodiments.
[0029] Figure 1 It is a schematic diagram of an application scenario of the ship identification method of some embodiments of the present disclosure.
[0030] exist Figure 1 In the application scenario, first, the computing device 101 may send the original image 102 to the digital signal processor 103, wherein the original image 102 is acquired by the target drone. Then, the computing device 101 may perform digital signal image processing on the original image 102 through the digital signal processor 103 to generate a target image set 104. Then, the computing device 101 may determine the bounding box information corresponding to each target ship in at least one target ship contained in each target image in the target image set 104, and obtain a bounding box information group set 105. Finally, the computing device 101 may determine the position information of each target ship in at least one target ship contained in the original image 102 according to the bounding box information in the bounding box information group set 105, and obtain a position information set 106.
[0031] It should be noted that the computing device 101 can be hardware or software. When the computing device is hardware, it can be implemented as a distributed cluster consisting of multiple servers or terminal devices, or as a single server or a single terminal device. When the computing device is embodied as software, it can be installed in the hardware devices listed above. It can be implemented as multiple software or software modules for providing distributed services, or as a single software or software module. No specific limitation is made here.
[0032] It should be understood that Figure 1 The number of computing devices in the embodiment is only illustrative. Any number of computing devices may be provided according to implementation requirements.
[0033] Continue to refer Figure 2 , shows a process 200 of some embodiments of the ship identification method according to the present disclosure. The ship identification method comprises the following steps:
[0034] Step 201: Send the original image to a digital signal processor.
[0035] In some embodiments, the execution subject of the ship identification method (for example Figure 1The computing device 101 shown in the figure can send the original image to the digital signal processor. The original image can be acquired by the target drone. The original image can be an image of a target ship captured by a target camera. The target camera can be a camera installed on the target drone. For example, the target camera can be but not limited to any one of the following: an infrared thermal imager, a visible light camera and a SAR (Synthetic Aperture Radar). The target drone can be a drone that acquires images of ships through the target camera installed on the fuselage. The target ship can be a ship to be identified contained in the original image. The digital signal processor can be a processor that performs digital signal image processing on the received original image to generate a target image set. For example, the digital signal processor can be a DSP (Digital Signal Processing) chip. The target image in the target image set can be an image containing at least one target ship. The target image in the target image set can be an image obtained by cutting the original image.
[0036] As an example, first, the execution subject may capture the original image through the SAR installed on the target drone, and then, the execution subject may use the SAR to send the original image to the digital signal processor through a wired connection.
[0037] Step 202: Perform digital signal image processing on the original image by using a digital signal processor to generate a target image set.
[0038] In some embodiments, the execution entity may perform digital signal image processing on the original image through the digital signal processor to generate the target image set.
[0039] As an example, the execution subject performs digital signal image processing on the original image through the digital signal processor to generate the target image set, which may include the following sub-steps:
[0040] The first sub-step is to obtain the original size of the original image.
[0041] The original size may be the image size of the original image.
[0042] The second sub-step is, in response to the original size being larger than a preset size, cutting the original image according to the preset size to generate a set of sub-images.
[0043] The preset size may be the image size of the sub-image after the original image is cut. The sub-images in the sub-image set may be images obtained by cutting the original image.
[0044] For example, the original size of the original image may be 640 pixels × 480 pixels. The preset size may be 320 pixels × 160 pixels. The execution entity may cut the original image into 6 sub-images with an image size of 320 pixels × 160 pixels through the digital signal processor. The "640 pixels" in the 640 pixels × 480 pixels may represent that the length of the original image is 640 pixels. The "480 pixels" in the 640 pixels × 480 pixels may represent that the width of the original image is 480 pixels. The "320 pixels" in the 320 pixels × 160 pixels may represent that the length of the sub-image is 320 pixels. The "160 pixels" in the 320 pixels × 160 pixels may represent that the width of the sub-image is 160 pixels.
[0045] The third sub-step is to perform target image recognition processing on each sub-image in the sub-image set to determine whether the sub-image in the sub-image set contains at least one target ship.
[0046] The execution subject may perform target image recognition processing on each sub-image in the sub-image set by using a recognition algorithm through the digital signal processor to determine whether the sub-image in the sub-image set contains at least one target ship. The recognition algorithm may be an algorithm for identifying whether the sub-image in the sub-image set contains at least one target ship. For example, the recognition algorithm may be, but is not limited to, any one of the following: a sliding window algorithm, a selective search algorithm, and a template matching algorithm.
[0047] In a fourth sub-step, in response to determining that a sub-image in the sub-image set contains at least one target ship, the sub-image in the sub-image set is determined as a target image to obtain the target image set.
[0048] The target image in the target image set may be a sub-image containing at least one target ship.
[0049] For example, in response to a sub-image in the sub-image set containing at least one target ship, the execution entity may determine the sub-image in the sub-image set as a target image through the digital signal processor to obtain the target image set.
[0050] Step 203: determine the bounding box information corresponding to each target ship in at least one target ship included in each target image in the target image set, and obtain a bounding box information group set.
[0051] In some embodiments, the execution entity may determine the bounding box information corresponding to each target ship in at least one target ship contained in each target image in the target image set, and obtain the bounding box information group set. The bounding box information in the bounding box information group set may represent the coordinates corresponding to the four corner points included in the corresponding bounding box. The bounding box corresponding to the bounding box information in the bounding box information group set may be a rectangular frame that frames the target ship on the target image. For example, the bounding box information in the bounding box information group set may be {coordinate (1, 1), coordinate (1, 3), coordinate (5, 3), coordinate (5, 1)}. The coordinate (1, 1) may be the coordinate corresponding to the corner point of the upper left corner of the bounding box corresponding to the bounding box information. The coordinate (1, 3) may be the coordinate corresponding to the corner point of the lower left corner of the bounding box corresponding to the bounding box information. The coordinate (5, 3) may be the coordinate corresponding to the corner point of the lower right corner of the bounding box corresponding to the bounding box information. The coordinate (5, 1) may be the coordinate corresponding to the corner point of the upper right corner of the bounding box corresponding to the bounding box information.
[0052] As an example, first, the execution subject may send the target image set to the neural network processor through the digital signal processor. The neural network processor may be an NPU (Neural-Network Processing Units) chip. Then, the execution subject may perform image positioning processing on each target image in the target image set through the neural network processor using a deep learning algorithm to determine the bounding box information corresponding to at least one target ship on the target image. The deep learning algorithm may be, but is not limited to, any one of the following: CNN (Convolutional Neural Networks) model, FCN (Fully Convolutional Networks) model and RNN (Recurrent Neural Networks) model.
[0053] Step 204: Determine the position information of each target ship in at least one target ship included in the original image according to the bounding box information in the bounding box information group set, and obtain a position information set.
[0054] In some embodiments, the execution subject may determine the position information of each target ship in the at least one target ship included in the original image according to the bounding box information in the bounding box information group set to obtain the position information set. The position information in the position information set may represent the coordinates of the target ship on the original image.
[0055] As an example, the execution subject determines the position information of each target ship in the at least one target ship included in the original image according to the bounding box information in the bounding box information group set to obtain the position information set, which may include the following sub-steps:
[0056] The first sub-step is to determine, for each bounding box information in the bounding box information group set, the center point coordinates of the bounding box corresponding to the bounding box information according to the bounding box information.
[0057] The center point coordinates corresponding to the above-mentioned enclosing frame information may be the coordinates corresponding to the center point of the corresponding enclosing frame. The coordinate system where the four corner point coordinates included in the above-mentioned enclosing frame information and the center point coordinates corresponding to the above-mentioned enclosing frame information are located may be constructed in the following manner: the upper left corner of the target image corresponding to the above-mentioned enclosing frame information is taken as the origin, the axis parallel to the length of the target image corresponding to the above-mentioned enclosing frame information is taken as the horizontal axis, and the axis parallel to the width of the target image corresponding to the above-mentioned enclosing frame information is taken as the vertical axis.
[0058] For example, the execution subject may determine the center point coordinates of the enclosing box corresponding to the enclosing box information by the following center point formula according to the enclosing box information:
[0059]
[0060] Wherein, G is the horizontal coordinate of the center point coordinates of the enclosing box corresponding to the above enclosing box information. g is the vertical coordinate of the center point coordinates of the enclosing box corresponding to the above enclosing box information. G1, G2, G3 and G4 are respectively the horizontal coordinates of the four corner point coordinates included in the above enclosing box information. g1, g2, g3 and g4 are respectively the vertical coordinates of the four corner point coordinates included in the above enclosing box information.
[0061] In the second sub-step, according to the center point coordinates of the enclosing box corresponding to each enclosing box information in the enclosing box information group set, the original center point coordinates corresponding to the center point coordinates corresponding to the enclosing box information are determined to obtain the original center point coordinate set.
[0062] The original center point coordinates in the original center point coordinate set may be the coordinates of the corresponding center point coordinates on the original image. The coordinate system in which the original center point coordinates in the original center point coordinate set are located may be a target coordinate system. The target coordinate system may be constructed in the following manner: taking the upper left corner of the original image as the origin, taking the axis parallel to the length of the original image as the horizontal axis, and taking the axis parallel to the width of the original image as the vertical axis.
[0063] For example, first, the execution subject may determine the position of the target image in the target image set on the original image through a digital signal processor according to the position of the sub-image in the sub-image set on the original image (for example, when the sub-image in the upper right corner of the original image contains at least one target ship, the sub-image in the upper right corner is the target image. The position of the target image on the original image may be the upper right corner of the original image). Then, the execution subject may send the target image set to the neural network processor through a digital signal processor. Then, the execution subject may determine the original center point coordinates corresponding to the center point coordinates through a neural network processor according to the position of the target image in the target image set on the original image and the coordinates of each center point on the target image. For example, the execution subject may determine the original center point coordinates corresponding to the center point coordinates through a neural network processor according to the position of the target image in the target image set on the original image and the coordinates of each center point on the target image by the following coordinate conversion formula:
[0064]
[0065] Wherein, m2 is the horizontal coordinate included in the original center point coordinates. n2 is the vertical coordinate included in the original center point coordinates. m1 is the horizontal coordinate included in the center point coordinates. n1 is the vertical coordinate included in the center point coordinates. i is the number of sub-images between the target image and the left boundary of the original image. j is the number of sub-images between the target image and the upper boundary of the original image. M is the length of the sub-image. N is the width of the sub-image.
[0066] For example, the preset size may be 200 pixels × 150 pixels. The original size of the original image may be 600 pixels × 450 pixels. The execution entity may cut the original image into 9 sub-images with an image size of 200 pixels × 150 pixels according to the preset size. Suppose that the sub-image at the lower right corner of the original image is the target image. The target image may include the center point coordinate (100, 100). Since the number of sub-images between the target image and the left boundary of the original image is 2, and the number of sub-images between the target image and the upper boundary of the original image is also 2. Therefore, the original center point coordinate corresponding to the center point coordinate (100, 100) may be (2×200+100, 2×150+100)=(500, 400). Among them, the units of the horizontal coordinate and the vertical coordinate included in the center point coordinate (100, 100) and the original center point coordinate (500, 400) are both pixels.
[0067] For another example, first, the execution subject may perform target image position recognition on the original image by using a target image position recognition algorithm through a neural network processor to determine the position of the target image on the original image. The target image position recognition algorithm may be, but is not limited to, any one of the following: CNN (Convolutional Neural Networks) model, FCN (Fully Convolutional Networks) model, and RNN (Recurrent Neural Networks) model.
[0068] Next, the execution subject may determine the original center point coordinates corresponding to the center point coordinates through the neural network processor according to the position of the target image on the original image and the center point coordinates on the target image and the coordinate conversion formula.
[0069] The third sub-step is to determine the distance between the original center points corresponding to every two original center point coordinates in the above-mentioned original center point coordinate set.
[0070] For example, the execution subject may determine the distance between the original center points corresponding to every two original center point coordinates in the original center point coordinate set by using a neural network processor and a distance formula between two points.
[0071] The fourth sub-step is, in response to the original center points corresponding to at least two original center point coordinates in the above-mentioned original center point coordinate set satisfying the target preset condition, fusing the original center point coordinates corresponding to the at least two original center points satisfying the target preset condition, and determining the position information of the target ship corresponding to the above-mentioned at least two original center points on the above-mentioned original image.
[0072] The target preset condition may be that the distance between the at least two original center points is less than a preset distance. The preset distance may represent the maximum distance between the original center points corresponding to the at least two original center point coordinates when there are at least two original center point coordinates corresponding to the same target ship on the original image.
[0073] For example, in response to the original center points corresponding to at least two original center point coordinates in the original center point coordinate set satisfying the target preset condition, the execution subject may perform fusion processing on the original center point coordinates corresponding to the at least two original center points satisfying the target preset condition through the following fusion formula to determine the position information of the target ship corresponding to the at least two original center points on the original image:
[0074]
[0075] Among them, Q1, Q2, Q3 and Q k W1, W2, W3 and W k It is the ordinate included in the original center point coordinate set that meets the target preset conditions. Among them, Q1 and W1 are the horizontal coordinate and vertical coordinate included in the same original center point coordinate. Q2 and W2 are the horizontal coordinate and vertical coordinate included in the same original center point coordinate. Q3 and W3 are the horizontal coordinate and vertical coordinate included in the same original center point coordinate. Q k and W k They are the horizontal and vertical coordinates of the same original center point coordinates. P1 is the coordinate obtained by fusing the two original center point coordinates that meet the target preset conditions in the above original center point coordinate set. Q1 1 The coordinates obtained by fusing the two original center point coordinates that meet the target preset conditions in the above original center point coordinate set include the horizontal coordinate. W1 1 P2 is the coordinate obtained by fusing the two original center point coordinates that meet the target preset conditions in the above original center point coordinate set. P3 is the coordinate obtained by fusing the three original center point coordinates that meet the target preset conditions in the above original center point coordinate set. The coordinates obtained by fusing the three original center point coordinates that meet the target preset conditions in the above original center point coordinate set include the horizontal coordinate. W2 1 The three original center point coordinates that meet the target preset conditions in the above original center point coordinate set are merged, and the obtained coordinates include the vertical coordinate. The k-1 original center point coordinates that meet the target preset conditions in the above original center point coordinate set are merged, and the obtained coordinates include the horizontal coordinate. The coordinates obtained by fusing the k-1 original center point coordinates that meet the target preset conditions in the above original center point coordinate set include the ordinate. k-1 The coordinates are obtained by fusing the k original center point coordinates that meet the target preset conditions in the above original center point coordinate set. The k original center point coordinates that meet the target preset conditions in the above original center point coordinate set are merged, and the obtained coordinates include the horizontal coordinate. The k original center point coordinates that meet the target preset conditions in the above original center point coordinate set are merged, and the obtained coordinates include the ordinate. For example, k can be 4.
[0076] For example, the preset distance may be 50 pixels. The original center point coordinate set includes: original center point coordinate (100, 100) and original center point coordinate (100, 120). The execution subject may use the distance formula between two points to determine that the distance between the original center points corresponding to the original center point coordinate (100, 100) and the original center point coordinate (100, 120) may be 20 pixels. Since 20<50, the execution subject may fuse the original center point coordinate (100, 100) and the original center point coordinate (100, 120) by the fusion formula to determine that the position information of the target ship corresponding to the two original center points on the original image may be (100, 110). The units of the horizontal and vertical coordinates of the original center point coordinates in the original center point coordinate set may be pixels. At this time, k may be 2.
[0077] Optionally, the preset distance may be 20 pixels. The original center point coordinate set may include: original center point coordinate (100, 100) and original center point coordinate (300, 100). The execution entity may use the distance formula between two points to determine that the distance between the center points corresponding to the original center point coordinate (100, 100) and the original center point coordinate (300, 100) may be 200 pixels. Since 200 is greater than 20. Therefore, the original center points corresponding to the original center point coordinate (100, 100) and the original center point coordinate (300, 100) do not meet the target preset conditions. Therefore, the position information of the target ship corresponding to the original center point coordinate (100, 100) on the original image may be (100, 100). The position information of the target ship corresponding to the original center point coordinate (300, 100) on the original image may be (300, 100).
[0078] For example, Figure 3As shown, the DSP chip 302, the NPU chip 304 and the computer chip CPU 303 can be embedded in the embedded motherboard 301. Among them, the DSP chip 302 can be a chip using a Harvard structure and an improved Harvard structure with a data bus and a program bus separated. The NPU chip 304 can be a multi-core heterogeneous neural network chip. First, the computer chip CPU 303 can send the original image to the DSP chip 302 through a hardware communication protocol. Then, the computer chip CPU 303 can control the DSP chip 302 through a hardware communication protocol to perform digital signal image processing on the original image to generate a target image set. Then, the computer chip CPU 303 can control the DSP chip 302 through a hardware communication protocol to send the target image set to the NPU chip 304. Afterwards, the computer chip CPU 303 can control the NPU chip 304 through a hardware communication protocol to determine the bounding box information corresponding to each target ship in at least one target ship contained in each target image in the target image set, and obtain a bounding box information group set. Finally, the computer chip CPU 303 can control the NPU chip 304 through the hardware communication protocol, determine the position information of each target ship in at least one target ship included in the original image according to the bounding box information in the bounding box information group set, and obtain the position information set.
[0079] The above-mentioned embodiments of the present disclosure have the following beneficial effects: through the ship identification method of some embodiments of the present disclosure, the ship identification accuracy and speed are improved. Specifically, the reasons for the low ship identification accuracy and speed are: first, when collecting images through satellites, the clarity of the collected images is often affected by the weather. When there are obstacles (such as clouds) between the satellite and the sea level, the images containing ships collected by the satellite are often unclear, which makes it difficult to identify the ships in the image. Second, due to the large amount of data calculation generated by ship identification for images containing ships, it is often necessary to use chips for calculation. The chips usually used are von Neumann structure chips, but in embedded environments, they are limited by power consumption, resulting in the use of traditional von Neumann structure chips, which cannot further improve the ship identification speed. Based on this, in some embodiments of the present disclosure, the ship identification method first sends the original image to the digital signal processor. The original image is collected by the target drone. Because the drone has the characteristics of flexible movement. Therefore, by collecting images through drones, it can be ensured that clear images can be collected when there are clouds in the air. Thereby, the ship identification accuracy is improved. Then, the digital signal processor is used to perform digital signal image processing on the original image to generate a target image set. Since the digital signal processor adopts a Harvard structure and an improved Harvard structure with separated data bus and program bus. Therefore, the processing speed is 10-50 times faster than the fastest CPU. Thus, the ship recognition speed is improved. Then, the bounding box information corresponding to each target ship in at least one target ship contained in each target image in the target image set is determined to obtain a bounding box information group set. Finally, according to the bounding box information in the bounding box information group set, the position information of each target ship in at least one target ship contained in the original image is determined to obtain a position information set. Among them, the target image set can be sent to the neural network processor through the digital signal processor, and the position information set can be determined through the neural network processor. Since the neural network processor is a multi-core heterogeneous neural network chip, the target images in the target image set can be processed for parallel ship recognition through the neural network processor. Thus, the ship recognition speed is improved.
[0080] Further references Figure 4 , which shows a process 400 of another embodiment of a ship identification method. The process 400 of the ship identification method includes the following steps:
[0081] Step 401: Send the original image to a digital signal processor.
[0082] In some embodiments, the specific implementation of step 401 and the technical effects brought about can be referred to Figure 2The corresponding step 201 in the embodiments will not be described in detail here.
[0083] Step 402: Perform digital signal image processing on the original image by using a digital signal processor to generate a target image set.
[0084] In some embodiments, the execution entity may perform digital signal image processing on the original image through the digital signal processor to generate the target image set.
[0085] As an example, this step may include the following sub-steps:
[0086] In the first sub-step, the original image is divided into a preset number of sub-images of the same size by the digital signal processor to obtain a sub-image set.
[0087] The preset number may be a pre-set number. The sub-images in the sub-image set may be numbered. The numbers of the sub-images in the sub-image set may represent the positions of the sub-images on the original image.
[0088] For example, the preset number may be 9. Figure 5 As shown, the execution subject may divide the length and width of the original image 501 into three equal parts by the digital signal processor to generate nine sub-images of the same size to obtain a sub-image set. The execution subject may number the nine sub-images of the same size in order from left to right and from top to bottom (e.g., 1 to 9). The sub-image numbered 9 may be the sub-image at the lower right corner of the original image 501.
[0089] The second sub-step is to perform image recognition processing on each sub-image in the above sub-image set to generate identification information and obtain an identification information set.
[0090] The identification information in the identification information set is used to indicate whether the sub-image contains the target ship.
[0091] For example, the execution subject may perform image recognition processing on the sub-image by using the target recognition algorithm through the digital signal processor to generate identification information corresponding to the sub-image. The target recognition algorithm may be an algorithm for identifying whether the sub-image contains a target ship. For example, the target recognition algorithm may be, but is not limited to, any one of the following: a sliding window algorithm, a selective search algorithm, and a template matching algorithm.
[0092] In the third sub-step, sub-images whose corresponding identification information meets the target screening condition are screened out from the sub-image set as target images, thereby obtaining the target image set. The target screening condition may be that the identification information corresponding to the sub-images in the sub-image set indicates that the sub-images contain target ships. The target images in the target image set may be sub-images containing at least one target ship.
[0093] Step 403: determine the bounding box information corresponding to each target ship in at least one target ship included in each target image in the target image set, and obtain a bounding box information group set.
[0094] In some embodiments, the specific implementation of step 403 and the technical effects brought about can be referred to Figure 2 The corresponding step 203 in the embodiments will not be described in detail here.
[0095] Step 404: determine the position information of each target ship in at least one target ship included in the original image according to the bounding box information in the bounding box information group set, and obtain a position information set.
[0096] In some embodiments, the execution entity may determine the position information of each target ship in at least one target ship included in the original image according to the bounding box information in the bounding box information group set to obtain the position information set.
[0097] As an example, this step may include the following sub-steps:
[0098] In the first sub-step, hull integrity identification is performed on the target ship framed by the enclosing box corresponding to each enclosing box information in the above enclosing box information group set to generate hull integrity information and obtain a hull integrity information group set.
[0099] The hull integrity information in the hull integrity information group set is used to indicate whether the hull of the target ship is intact.
[0100] For example, the execution subject may use the hull integrity recognition algorithm to identify the target ship framed by each bounding box information in the bounding box information group set through the neural network processor to generate hull integrity information. The hull integrity recognition algorithm may be an algorithm for identifying whether the target ship framed by the bounding box is intact. For example, the hull integrity recognition algorithm may be, but is not limited to, any one of the following: a CNN (Convolutional Neural Networks) model, a FCN (Fully Convolutional Networks) model, and a RNN (Recurrent Neural Networks) model.
[0101] In the second sub-step, the positions of the center points of the enclosing boxes corresponding to the enclosing box information satisfying the screening conditions in the above enclosing box information group set are determined as candidate position information to obtain a candidate position information set.
[0102] Among them, the candidate position information can represent the corresponding target ship, and the coordinates corresponding to the position on the above original image. The above screening condition is that the hull integrity information corresponding to the target ship framed by the bounding box corresponding to the bounding box information represents the integrity of the hull of the target ship. The position of the above center point can represent the coordinates of the center point of the bounding box corresponding to the bounding box information in the above bounding box information group set in the target image coordinate system. The target image coordinate system can be constructed in the following manner: taking the upper left corner of the target image as the origin, the axis parallel to the length of the target image as the horizontal axis, and the axis parallel to the width of the target image as the vertical axis. One target image corresponds to one target image coordinate system. Among them, the method for determining the position of the above center point can refer to the center point formula in the first sub-step in step 204.
[0103] In the third sub-step, the bounding box information that does not meet the above-mentioned filtering condition is filtered out from the above-mentioned bounding box information group set, and is used as the target bounding box information to obtain the target bounding box information set.
[0104] In a fourth sub-step, the bounding boxes corresponding to at least two pieces of target bounding box information satisfying the bounding box fusion condition in the target bounding box information set are fused to generate candidate bounding boxes, thereby obtaining a candidate bounding box set.
[0105] The above-mentioned bounding box fusion condition is that the boundaries of the bounding boxes corresponding to at least two target bounding box information intersect.
[0106] For example, first, the execution subject may stitch the target images in the target image set using the numbers of the sub-images corresponding to the target images in the target image set through a neural network processor to stitch them into at least one stitched image. Figure 6 As shown, first, the original image 601 can be cut into sub-images 602, 603, 604, 605, 606, 607, 608, 609 and 610 through the DSP chip, a total of 9 sub-images, forming a sub-image set. For example, these 9 sub-images can be numbered from 1 to 9 in order from left to right and from top to bottom. That is, sub-images 602 to 610 correspond to numbers 1 to 9, respectively. Then, the execution subject can filter out sub-images 602, 603, 609 and 610 whose corresponding identification information meets the target filtering conditions from the sub-image set through the DSP chip, and use them as target images 602, target images 603, target images 609 and target images 610, respectively. Finally, the above-mentioned execution entity can use the NPU chip to stitch the target image 602 and the target image 603 into a stitched image 611, and stitch the target image 609 and the target image 610 into a stitched image 612 using the numbers of the sub-images corresponding to the target image 602, the target image 603, the target image 609 and the target image 610.
[0107] Then, the execution subject may fuse the bounding boxes corresponding to at least two target bounding box information satisfying the bounding box fusion condition on each of the at least one spliced image through a neural network processor. Figure 7 As shown, the boundaries of the bounding box 701 and the bounding box 702 on the stitched image intersect, satisfying the above bounding box fusion condition. The above execution subject may fuse the bounding box 701 and the bounding box 702 to generate a candidate bounding box 703.
[0108] In a fifth sub-step, the positions of the center points of the candidate bounding boxes in the above-mentioned candidate bounding box set are determined as candidate position information to obtain a candidate position information set.
[0109] For example, Figure 7As shown, the coordinates of the center point of the bounding box 701 may be (100, 100). The coordinates of the center point of the bounding box 702 may be (400, 200). The position of the center point of the candidate bounding box 703 may be (500, 200). The position (500, 200) of the center point of the candidate bounding box 703 may be in the target image coordinate system where the bounding box 702 is located. The units of "100", "200", "400" and "500" in the above coordinates (100, 100), (400, 200) and (500, 200) may be pixels.
[0110] The sixth sub-step is to determine the position information of the target ship corresponding to the candidate position information in the original image according to each candidate position information in the candidate position information set, and obtain the position information set.
[0111] The position information in the above position information set may represent the coordinates of the target ship on the above original image.
[0112] For example, the execution subject may determine the position information of the target ship corresponding to the candidate position information in the original image through the following formula according to the number of the target image where each candidate position information in the candidate position information set is located and the candidate position information through the neural network processor:
[0113]
[0114] Wherein, b1 is the horizontal coordinate included in the above-mentioned candidate position information. c1 is the vertical coordinate included in the above-mentioned candidate position information. B is the length of the above-mentioned original image. C is the width of the above-mentioned original image. i is the number of sub-images between the target image where the above-mentioned candidate position information is located and the left boundary of the above-mentioned original image. j is the number of sub-images between the target image where the above-mentioned candidate position information is located and the upper boundary of the above-mentioned original image. I is the number of columns by which the above-mentioned original image is cut vertically. J is the number of rows by which the above-mentioned original image is cut horizontally. b2 is the horizontal coordinate included in the position information of the target ship corresponding to the above-mentioned candidate position information in the above-mentioned original image. c2 is the vertical coordinate included in the position information of the target ship corresponding to the above-mentioned candidate position information in the above-mentioned original image. Wherein, the coordinate system where each candidate position information in the above-mentioned candidate position information set is located can be the target image coordinate system corresponding to the target image where the above-mentioned candidate position information is located. The coordinate system where the position information of the target ship corresponding to the above-mentioned candidate position information in the above-mentioned original image is located can be the target coordinate system. The target coordinate system may be constructed as follows: taking the upper left corner of the original image as the origin, taking the axis parallel to the length of the original image as the horizontal axis, and taking the axis parallel to the width of the original image as the vertical axis.
[0115] Step 405 , select a target ship that is closest to the target UAV from at least one target ship included in the original image as a candidate ship.
[0116] In some embodiments, the execution subject may select a target ship that is closest to the target drone from at least one target ship included in the original image as the candidate ship. The target ship that is closest to the target drone may be the largest target ship included in the original image.
[0117] Step 406: Control the target UAV to move to the first candidate position according to the position information of the candidate ship in the original image.
[0118] In some embodiments, the execution entity may control the target UAV to move to the first candidate position according to the position information of the candidate ship in the original image.
[0119] Among them, the first candidate position can be the position of the target drone when the candidate ship is located at the center of the image captured by the camera installed on the target drone. For example, the coordinates corresponding to the first candidate position can be coordinates in the geodetic coordinate system obtained by receiving GPS (Global Positioning System) signals. The coordinates corresponding to the first candidate position can also be coordinates in a preset coordinate system. The preset coordinate system can be constructed in the following way: when the target drone is at the first candidate position, the intersection of the vertical line where the center point of the target drone is located and the sea level is taken as the origin, the flight direction of the target drone is taken as the horizontal axis, the direction perpendicular to the plane formed by the flight direction of the target drone and the direction of the vertical line where the center point of the target drone is located is taken as the vertical axis, and the direction of the vertical line where the center point of the target drone is located is taken as the vertical axis.
[0120] Step 407 , in response to determining that the target drone moves to the first candidate position, determining a shooting angle of a camera installed on the target drone and an altitude of the target drone.
[0121] In some embodiments, the execution subject may determine a shooting angle of a camera mounted on the target drone and an altitude of the target drone in response to determining that the target drone moves to the first candidate position.
[0122] The shooting angle may be the angle between the shooting direction of the camera installed on the target UAV and the vertical line where the center point of the camera is located. The camera is fixed on the target UAV. The altitude may be the height difference between the target UAV and the sea level.
[0123] For example, the execution subject may determine the shooting angle by a gyroscope installed on the target UAV. The execution subject may determine the altitude of the target UAV by receiving a GPS signal.
[0124] Step 408: Determine a second candidate position of the candidate ship according to the first candidate position, the shooting angle and the altitude.
[0125] In some embodiments, the execution entity may determine the second candidate position of the candidate ship according to the first candidate position, the shooting angle and the altitude.
[0126] The second candidate position may be the position of the candidate ship at sea level when the target UAV moves to the first candidate position.
[0127] As an example, the execution subject may determine the second candidate position of the candidate ship according to the first candidate position, the shooting angle and the altitude by using the following formula:
[0128]
[0129] Wherein, h is the above-mentioned altitude. θ is the above-mentioned shooting angle. cosθ is the cosine value of the angle θ. x1 is the horizontal coordinate included in the coordinates corresponding to the above-mentioned first candidate position. y1 is the vertical coordinate included in the coordinates corresponding to the above-mentioned first candidate position. z1 is the vertical coordinate included in the coordinates corresponding to the above-mentioned first candidate position. x2 is the horizontal coordinate included in the coordinates corresponding to the above-mentioned second candidate position. y2 is the vertical coordinate included in the coordinates corresponding to the above-mentioned second candidate position. z2 is the vertical coordinate included in the coordinates corresponding to the above-mentioned second candidate position. Wherein, y1=y2. z2=0. Wherein, the coordinates corresponding to the above-mentioned first candidate position and the coordinates corresponding to the above-mentioned second candidate position may be coordinates in the above-mentioned preset coordinate system.
[0130] Step 409: Control the target UAV to move to the third candidate position according to the moving direction of the candidate ship.
[0131] In some embodiments, the execution entity may control the target UAV to move to the third candidate position according to the moving direction of the candidate ship.
[0132] The third candidate position may be a position to which the target UAV moves from the first candidate position after a distance greater than 0. The third candidate position may be a position of the target UAV when the candidate ship is located at the center of an image captured by a camera mounted on the target UAV.
[0133] As an example, the execution entity may control the target UAV to move to the third candidate position along the moving direction.
[0134] Step 410, in response to determining that the target UAV moves to the third candidate position, determining a fourth candidate position of the candidate ship according to the third candidate position, the shooting angle and the altitude.
[0135] In some embodiments, the execution entity may determine a fourth candidate position of the candidate ship according to the third candidate position, the shooting angle and the altitude in response to determining that the target UAV has moved to the third candidate position.
[0136] The fourth candidate position may be the position of the candidate ship at the sea level when the target UAV moves to the third candidate position.
[0137] As an example, in response to determining that the target drone moves to the third candidate position, the execution subject may determine the fourth candidate position of the candidate ship according to the third candidate position, the shooting angle and the altitude by the following formula:
[0138]
[0139] Wherein, h is the above-mentioned altitude. θ is the above-mentioned shooting angle. cosθ is the cosine value of angle θ. x3 is the horizontal coordinate included in the coordinates corresponding to the above-mentioned third candidate position. y3 is the vertical coordinate included in the coordinates corresponding to the above-mentioned third candidate position. z3 is the vertical coordinate included in the coordinates corresponding to the above-mentioned third candidate position. x4 is the horizontal coordinate included in the coordinates corresponding to the above-mentioned fourth candidate position. y4 is the vertical coordinate included in the coordinates corresponding to the above-mentioned fourth candidate position. z4 is the vertical coordinate included in the coordinates corresponding to the above-mentioned fourth candidate position. Wherein, y3=y4. z4=0. Wherein, the coordinates corresponding to the above-mentioned third candidate position and the coordinates corresponding to the above-mentioned fourth candidate position may be coordinates in the above-mentioned preset coordinate system.
[0140] Step 411, determining the speed of the candidate ship according to the second candidate position, the fourth candidate position and the target time interval.
[0141] In some embodiments, the execution entity may determine the travel speed of the candidate ship based on the second candidate position, the fourth candidate position and the target time interval.
[0142] The target time interval may be a time interval for the target UAV to move from the first candidate position to the third candidate position. The travel speed may be an average travel speed of the candidate ships.
[0143] As an example, the execution subject may determine the speed of the candidate ship according to the second candidate position, the fourth candidate position and the target time interval by using the following formula:
[0144]
[0145] Wherein, v1 is the driving speed. t1 is the target time interval. x2 is the horizontal coordinate included in the coordinates corresponding to the second candidate position. y2 is the vertical coordinate included in the coordinates corresponding to the second candidate position. z2 is the vertical coordinate included in the coordinates corresponding to the second candidate position. x4 is the horizontal coordinate included in the coordinates corresponding to the fourth candidate position. y4 is the vertical coordinate included in the coordinates corresponding to the fourth candidate position. z4 is the vertical coordinate included in the coordinates corresponding to the fourth candidate position. Wherein, the coordinates corresponding to the second candidate position and the coordinates corresponding to the fourth candidate position may be coordinates in the preset coordinate system.
[0146] Step 412, determining the encounter position according to the driving speed, the flight speed of the target UAV at the third candidate position, the preset acceleration corresponding to the target UAV, and the target distance.
[0147] In some embodiments, the execution entity may determine the encounter position based on the driving speed, the flight speed of the target UAV at the third candidate position, a preset acceleration corresponding to the target UAV, and the target distance.
[0148] The preset acceleration may be the acceleration of the target UAV from the third candidate position to the reference position. The reference position may be the position where the target UAV starts to land. The acceleration value corresponding to the preset acceleration may be a value greater than 0. The target distance may be the horizontal distance from the third candidate position to the fourth candidate position. The encounter position may be the position of the candidate ship when the target UAV encounters the candidate ship.
[0149] As an example, the execution subject may determine the encounter position according to the driving speed, the flight speed of the target UAV at the third candidate position, the preset acceleration corresponding to the target UAV and the target distance by the following formula:
[0150]
[0151] Where, s is the target distance. θ is the shooting angle. tanθ is the tangent of angle θ. h is the altitude. v1 is the driving speed. v2 is the flight speed. t2 is the time interval for the target drone to move from the third candidate position to the encounter position. t2 2is the square of t2. a is the preset acceleration. x4 is the horizontal coordinate included in the coordinates corresponding to the above-mentioned fourth candidate position. y4 is the vertical coordinate included in the coordinates corresponding to the above-mentioned fourth candidate position. z4 is the vertical coordinate included in the coordinates corresponding to the above-mentioned fourth candidate position. x5 is the horizontal coordinate included in the coordinates corresponding to the above-mentioned encounter position. y5 is the vertical coordinate included in the coordinates corresponding to the above-mentioned encounter position. z5 is the vertical coordinate included in the coordinates corresponding to the above-mentioned encounter position. Among them, y5=y4. z5=0. Among them, the coordinates corresponding to the above-mentioned encounter position can be the coordinates in the above-mentioned preset coordinate system.
[0152] Step 413, control the target UAV to move to the encounter position.
[0153] In some embodiments, the execution entity may control the target UAV to move to the encounter position.
[0154] As an example, the execution subject may control the target UAV to move to the encounter position along a target direction. The target direction may be a direction pointing from the third candidate position to the encounter position.
[0155] Step 414, in response to the target UAV moving to the encounter position, controlling the target UAV to communicate with the candidate ship.
[0156] In some embodiments, the execution entity may control the target UAV to communicate with the candidate ship in response to the target UAV moving to the encounter position.
[0157] The execution subject may broadcast to the candidate ship through a target loudspeaker installed on the target drone in response to the target drone moving to the encounter position, so as to achieve communication between the target drone and the candidate ship. The target loudspeaker may be a loudspeaker installed on the target drone. For example, the broadcast content may be "there is a storm about 900 meters southwest". The broadcast content may also be port conditions.
[0158] from Figure 4 It can be seen that Figure 2Compared with the description of some corresponding embodiments, the present disclosure, first, can segment the original image by a digital signal processor to obtain multiple sub-images. Then, the digital signal processor can identify whether the sub-image contains the target ship. Then, the digital signal processor can filter out the sub-image that does not contain the target ship. After that, the sub-image containing the target ship is sent to the neural network processor through the digital signal processor. Finally, the position of the target ship on the original image is determined by the neural network processor. Since ships often sail on the sea surface in a scattered and sparse manner, the non-ship area on the original image is often larger than the ship area. Therefore, the sub-image that does not contain the target ship is filtered out, so that the sub-image that does not contain the target ship does not participate in the subsequent determination of the ship position, reducing the amount of calculation of the computer. Thereby, the ship recognition speed is improved. Secondly, by adding the position information of the target ship on the original image, the position of the target ship on the sea surface is determined to realize the communication between the target drone and the target ship. The positioning of the spatial position of the target ship after the target ship is identified on the original image is improved. Thereby, communication between the target UAV and the target ship is achieved, which can enable the target ship to avoid risks (such as storms).
[0159] Further references Figure 8 As an implementation of the methods shown in the above figures, the present disclosure provides some embodiments of a ship identification device. These device embodiments are similar to Figure 2 Corresponding to the method embodiments shown, the device can be specifically applied to various electronic devices.
[0160] like Figure 8 As shown, the ship identification device 800 of some embodiments includes: a sending unit 801, a processing unit 802, a first determining unit 803 and a second determining unit 804. The sending unit 801 is configured to send an original image to a digital signal processor, wherein the original image is acquired by a target drone; the processing unit 802 is configured to perform digital signal image processing on the original image through the digital signal processor to generate a target image set; the first determining unit 803 is configured to determine the bounding box information corresponding to each target ship in at least one target ship contained in each target image in the target image set, and obtain a bounding box information group set; the second determining unit 804 is configured to determine the position information of each target ship in at least one target ship contained in the original image according to the bounding box information in the bounding box information group set, and obtain a position information set.
[0161] It is understood that the units described in the device 800 are similar to those described in the reference Figure 2Therefore, the operations, features and beneficial effects described above for the method are also applicable to the device 800 and the units included therein, and will not be described in detail here.
[0162] Reference below Fig. 9 , which shows an electronic device (such as Figure 1 A schematic diagram of the structure of the computing device 101)900 is shown. Fig. 9 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0163] like Fig. 9 As shown, the electronic device 900 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 902 or a program loaded from a storage device 908 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the electronic device 900 are also stored. The processing device 901, the ROM 902, and the RAM 903 are connected to each other via a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0164] Typically, the following devices may be connected to the I / O interface 905: an input device 906 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 907 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 908 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 909. The communication device 909 may allow the electronic device 900 to communicate with other devices wirelessly or by wire to exchange data. Although Fig. 9 The electronic device 900 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead. Fig. 9 Each block shown in the figure may represent one device, or may represent multiple devices as required.
[0165] In particular, according to some embodiments of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, some embodiments of the present disclosure include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In some such embodiments, the computer program can be downloaded and installed from the network through the communication device 909, or installed from the storage device 908, or installed from the ROM 902. When the computer program is executed by the processing device 901, the above-mentioned functions defined in the method of some embodiments of the present disclosure are executed.
[0166] It should be noted that the computer-readable medium recorded in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In some embodiments of the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In some embodiments of the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0167] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0168] The computer-readable medium may be included in the electronic device; or it may exist independently without being assembled into the electronic device. The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: sends the original image to the digital signal processor, wherein the original image is acquired by the target drone. The original image is subjected to digital signal image processing by the digital signal processor to generate a target image set. The bounding box information corresponding to each target ship in at least one target ship contained in each target image in the target image set is determined to obtain a bounding box information group set. According to the bounding box information in the bounding box information group set, the position information of each target ship in at least one target ship contained in the original image is determined to obtain a position information set.
[0169] Computer program code for performing the operations of some embodiments of the present disclosure may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0170] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0171] The units described in some embodiments of the present disclosure may be implemented by software or by hardware. The described units may also be provided in a processor, for example, may be described as: a processor includes a sending unit, a processing unit, a first determination unit, and a second determination unit. The names of these units do not constitute limitations on the units themselves in certain circumstances, for example, the processing unit may also be described as "a unit that performs digital signal image processing on the above original images through the above digital signal processor to generate a target image set".
[0172] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0173] The above descriptions are only some preferred embodiments of the present disclosure and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by a specific combination of the above-mentioned technical features, but should also cover other technical solutions formed by any combination of the above-mentioned technical features or their equivalent features without departing from the above-mentioned inventive concept. For example, the above-mentioned features are replaced with the technical features with similar functions disclosed in the embodiments of the present disclosure (but not limited to) and the technical solutions formed.
Claims
1. A ship identification method, comprising: Sending the original image to a digital signal processor, wherein the original image is acquired by the target UAV; Performing digital signal image processing on the original image by the digital signal processor to generate a target image set; Determine bounding box information corresponding to each target ship in at least one target ship included in each target image in the target image set, and obtain a bounding box information group set; Determine, according to the bounding box information in the bounding box information group set, the position information of each target ship in at least one target ship included in the original image, to obtain a position information set; Wherein, determining the position information of each target ship in at least one target ship included in the original image according to the bounding box information in the bounding box information group set to obtain the position information set includes: Performing hull integrity identification on a target ship framed by a bounding box corresponding to each bounding box information in the bounding box information group set to generate hull integrity information, thereby obtaining a hull integrity information group set, wherein the hull integrity information in the hull integrity information group set is used to characterize whether the hull of the target ship is intact; The position of the center point of the bounding box corresponding to the bounding box information that meets the filtering condition in the bounding box information group set is determined as candidate position information to obtain a candidate position information set, wherein the filtering condition is that the hull integrity information corresponding to the target ship framed by the bounding box corresponding to the bounding box information represents the hull integrity of the target ship.
2. The method according to claim 1, wherein: The step of performing digital signal image processing on the original image by the digital signal processor to generate a target image set includes: By means of the digital signal processor, the original image is divided into a preset number of sub-images of the same size to obtain a sub-image set; Performing image recognition processing on each sub-image in the sub-image set to generate identification information, thereby obtaining an identification information set, wherein the identification information in the identification information set is used to indicate whether the sub-image contains a target ship; Sub-images whose corresponding identification information meets the target screening condition are screened out from the sub-image set as target images to obtain the target image set.
3. The method according to claim 2, wherein: The step of determining the position information of each target ship in at least one target ship included in the original image according to the bounding box information in the bounding box information group set to obtain the position information set further includes: Filter out the bounding box information that does not meet the filtering condition from the bounding box information group set as the target bounding box information, and obtain the target bounding box information set; Performing bounding box fusion on bounding boxes corresponding to at least two target bounding box information in the target bounding box information set that meet the bounding box fusion condition to generate a candidate bounding box, thereby obtaining a candidate bounding box set, wherein the bounding box fusion condition is that boundaries of the bounding boxes corresponding to at least two target bounding box information are intersected; The positions of the center points of the candidate bounding boxes in the candidate bounding box set are determined as candidate position information to obtain a candidate position information set.
4. The method according to claim 3, wherein: The step of determining the position information of each target ship in at least one target ship included in the original image according to the bounding box information in the bounding box information group set to obtain the position information set further includes: According to each candidate position information in the candidate position information set, the position information of the target ship corresponding to the candidate position information in the original image is determined to obtain the position information set.
5. The method according to claim 1, wherein: The method further comprises: Filtering out a target ship closest to the target drone from at least one target ship included in the original image as a candidate ship; According to the position information of the candidate ship in the original image, the target UAV is controlled to move to a first candidate position, wherein the first candidate position is the position of the target UAV when the candidate ship is located at the center of the image captured by the camera installed on the target UAV; In response to determining that the target drone moves to the first candidate position, determining a shooting angle of a camera mounted on the target drone and an altitude of the target drone; Determining a second candidate position of the candidate ship according to the first candidate position, the shooting angle and the altitude; According to the moving direction of the candidate ship, controlling the target UAV to move to a third candidate position; In response to determining that the target drone moves to the third candidate position, determining a fourth candidate position of the candidate ship according to the third candidate position, the shooting angle and the altitude; determining a traveling speed of the candidate ship according to the second candidate position, the fourth candidate position and a target time interval; The encounter position is determined according to the driving speed, the flight speed of the target UAV at the third candidate position, the preset acceleration corresponding to the target UAV, and the target distance.
6. The method according to claim 5, wherein: The method further comprises: Controlling the target UAV to move to the encounter position; In response to the target UAV moving to the encounter position, the target UAV is controlled to communicate with the candidate ship.
7. A ship identification device, comprising: A sending unit is configured to send an original image to a digital signal processor, wherein the original image is acquired by a target UAV; a processing unit configured to perform digital signal image processing on the original image through the digital signal processor to generate a target image set; A first determining unit is configured to determine the bounding box information corresponding to each target ship in at least one target ship included in each target image in the target image set, and obtain a bounding box information group set; A second determining unit is configured to determine the position information of each target ship in at least one target ship included in the original image according to the bounding box information in the bounding box information group set, to obtain a position information set; Wherein, determining the position information of each target ship in at least one target ship included in the original image according to the bounding box information in the bounding box information group set to obtain the position information set includes: Performing hull integrity identification on a target ship framed by a bounding box corresponding to each bounding box information in the bounding box information group set to generate hull integrity information, thereby obtaining a hull integrity information group set, wherein the hull integrity information in the hull integrity information group set is used to characterize whether the hull of the target ship is intact; The position of the center point of the bounding box corresponding to the bounding box information that meets the filtering condition in the bounding box information group set is determined as candidate position information to obtain a candidate position information set, wherein the filtering condition is that the hull integrity information corresponding to the target ship framed by the bounding box corresponding to the bounding box information represents the hull integrity of the target ship.
8. An electronic device comprising: one or more processors; a storage device having one or more programs stored thereon; When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.
9. A computer readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
