WO2021174466A1 - Self-adaptive load balancing method and system, and storage medium - Google Patents

Self-adaptive load balancing method and system, and storage medium Download PDF

Info

Publication number
WO2021174466A1
WO2021174466A1 PCT/CN2020/077845 CN2020077845W WO2021174466A1 WO 2021174466 A1 WO2021174466 A1 WO 2021174466A1 CN 2020077845 W CN2020077845 W CN 2020077845W WO 2021174466 A1 WO2021174466 A1 WO 2021174466A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
directions
data types
algorithm system
remaining number
Prior art date
Application number
PCT/CN2020/077845
Other languages
French (fr)
Chinese (zh)
Inventor
周游
刘洁
叶长春
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to PCT/CN2020/077845 priority Critical patent/WO2021174466A1/en
Priority to CN202080005240.4A priority patent/CN112753018B/en
Publication of WO2021174466A1 publication Critical patent/WO2021174466A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Definitions

  • This application relates to the field of computer technology, and in particular to a method, system and storage medium for adaptive load balancing.
  • the hovering performance of the unmanned aerial vehicle adopts the visual positioning algorithm system
  • the obstacle avoidance performance of the unmanned aerial vehicle adopts the obstacle avoidance algorithm system.
  • the hovering and obstacle avoidance performance of the UAV it is necessary to ensure that it can process more image frames in real time.
  • the single chip processing capacity of the UAV is limited. Therefore, when the vision sensor is connected to multiple directions, each algorithm system Image frames transmitted from the vision sensor in multiple directions are required, and at this time, multi-chip collaboration is required.
  • the present application provides a method, system and storage medium for adaptive load balancing.
  • this application provides a method for adaptive load balancing, which is suitable for an algorithm system.
  • the algorithm system runs on multiple chips, and the multiple chips carry N data types of the algorithm system. Calculation of the data, the method includes:
  • N is a positive integer greater than or equal to two
  • the data of the selected data type is run on the remaining chips in a balanced manner as the data of the algorithm system.
  • the present application provides an adaptive load balancing system, which is suitable for an algorithm system, and the algorithm system runs on multiple chips, and the multiple chips carry the algorithm System for calculating data of N data types, the system includes: a memory and a processor;
  • the memory is used to store a computer program
  • the processor is used to execute the computer program and when executing the computer program, implement the following steps:
  • N is a positive integer greater than or equal to two
  • the data of the selected data type is run on the remaining chips in a balanced manner as the data of the algorithm system.
  • the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor realizes the adaptive load as described above. Balanced approach.
  • the embodiments of the present application provide a method, system and storage medium for adaptive load balancing to obtain the number of bad chips; according to the number of bad chips and the average number of data types carried by each chip, determine the other than the bad chips The remaining number of data types carried by the remaining chip; select the remaining number of data types from the N data types to obtain the data of the selected data type; use the data of the selected data type as the data of the algorithm system to operate in a balanced manner On the remaining chips. Since the remaining number of data types carried by the remaining chips is determined according to the number of bad chips and the average number of data types carried by each chip, and the remaining number of data types is selected from the N data types, the selected data type will be As the data of the algorithm system, the data runs on the remaining chips in a balanced manner.
  • the selected data types that can withstand the capabilities of the remaining chips can be run on the remaining chips in a balanced manner.
  • the impact of the bad chip on the algorithm system is minimized, and the impact of the bad chip on the performance of the specific application of the algorithm system is minimized.
  • FIG. 1 is a schematic flowchart of an embodiment of an adaptive load balancing method according to the present application
  • Figure 2 is a schematic diagram of load balancing of the dual-chip unmanned aerial vehicle
  • Fig. 3 is a schematic structural diagram of an embodiment of an adaptive load balancing system of the present application.
  • the number of bad chips can be obtained; according to the number of bad chips and the average number of data types carried by each chip, determine the remaining number of data types carried by the remaining chips except for the bad chips; from N Select the data of the remaining number of data types from the data of the data types to obtain the data of the selected data type; use the data of the selected data type as the data of the algorithm system to run on the remaining chips in a balanced manner. Since the remaining number of data types carried by the remaining chips is determined according to the number of bad chips and the average number of data types carried by each chip, and the remaining number of data types is selected from the N data types, the selected data type will be As the data of the algorithm system, the data runs on the remaining chips in a balanced manner.
  • the selected data types that can withstand the capabilities of the remaining chips can be run on the remaining chips in a balanced manner.
  • the impact of the bad chip on the algorithm system is minimized, and the impact of the bad chip on the performance of the specific application of the algorithm system is minimized.
  • Figure 1 is a schematic flowchart of an embodiment of an adaptive load balancing method according to the present application.
  • the method in this embodiment is applicable to an algorithm system that runs on multiple chips, and multiple chips carry the algorithm system N Calculation of data of each data type.
  • the multiple chips may be more than two chips, for example, two chips, three chips, or more than four chips.
  • N is a positive integer greater than or equal to two, that is, the data type can be more than two data types.
  • the data of N data types can be required by the algorithm system, and all the data currently available are allocated to N groups.
  • the data of N data types can be data from N different data sources, or it can be the same data source. Data divided into N groups (for example, the amount of data is too large for a single chip to process in real time).
  • the N different data sources can be data detected by N same detection units (for example, image data of vision sensors in different directions), or data detected by N different detection units (for example, image data of vision sensors). Data, laser sensor data, ultrasonic sensor data, infrared sensor data, etc.), or part of the data detected by the same detection unit, and another part of the data detected by a different detection unit.
  • algorithm systems on multiple chips can be one algorithm system, or two or more different algorithm systems.
  • the data type of each algorithm system can be different or the same.
  • the algorithm system includes an algorithm system based on artificial intelligence.
  • artificial neural network algorithm system For example: artificial neural network algorithm system, deep learning algorithm system, dimensionality reduction algorithm system, integrated algorithm system, etc.
  • the algorithm system includes a vision-based algorithm system.
  • vision-based 3D reconstruction algorithm system For example: vision-based 3D reconstruction algorithm system, vision-based path planning algorithm system, vision-based classification algorithm system, vision-based clustering algorithm system, vision-based positioning algorithm, vision-based obstacle avoidance algorithm, etc.
  • the algorithm system runs on multiple chips, and the multiple chips carry calculations of data of N data types in the algorithm system.
  • the specific carrying situation of multiple chips can be: the calculation of the average number of data (N/n) carried by each chip, or the non-average number of data carried by each chip ( Calculation of data of data types that are greater than the average number or less than the average number); the specific carrying situation of multiple chips is determined according to the specific actual situation (for example, the data size of different data types, the processing capacity of each chip, etc.) , It is not limited here.
  • each chip carries the calculation of the algorithm system's 3 data types, or one chip carries the algorithm system Calculation of data of 4 data types, another chip carries the calculation of data of 2 data types of the algorithm system, or one chip carries the calculation of data of 6 data types of the algorithm system, the other chip does not carry the calculation of data of the algorithm system under normal circumstances The calculation of the algorithm system data, and so on.
  • each algorithm system has 6 data types of data.
  • the specific carrying situation can be: an algorithm system is that each chip carries the algorithm The system calculates the data of three data types; the other algorithm system is the calculation of the data of the six data types of the algorithm system on a chip, and the calculation of the data of the algorithm system is not carried by the chip under normal circumstances; and so on.
  • each chip carries the calculation of 2 data types of the algorithm system
  • the specific carrying situation can be: One chip carries the calculation of the four data types of the algorithm system, the other chip carries the calculation of the two data types of the algorithm system, the third chip does not carry the calculation of the algorithm system data, and so on.
  • One algorithm system has data of 6 data types, and the other algorithm system has data of 4 data types.
  • the specific carrying situation can be: One algorithm system is the calculation of 2 data types of the algorithm system on each chip; the other algorithm system is the calculation of the 2 data types of data of the algorithm system on one chip, and the other chip carries 1 data of the algorithm system. The calculation of data of different types, the third chip carries the calculation of data of 1 data type of the algorithm system, and so on.
  • the method includes:
  • Step S101 Obtain the number of bad chips.
  • Step S102 According to the number of bad chips and the average number of data types carried by each chip, determine the remaining number of data types carried by the remaining chips except for the bad chips.
  • Step S103 Select the data of the remaining number of data types from the data of the N data types to obtain the data of the selected data type, where N is a positive integer greater than or equal to two.
  • Step S104 Use the data of the selected data type as the data of the algorithm system to run on the remaining chips in a balanced manner.
  • the embodiment of this application does not cut, single, one-sided, and simply remove the average amount of data that the bad chip can carry, but based on the data.
  • running on the remaining chips in a balanced manner may include the calculation of the average number of data types carried by each remaining chip (the remaining number of data types/the number of remaining chips), or the calculation of the data type carried by each chip.
  • Calculation of the average number of data types (remaining number of data types/number of remaining chips); the specific carrying situation of the remaining chips is determined according to the actual situation (for example, the data size of different data types, the processing capacity of each chip) , Etc.), not limited here.
  • each chip carries the calculation of 3 data types of the algorithm system; after one chip is damaged, the other The chip carries the calculation of data of 3 data types selected by the algorithm system from 6 data types.
  • the algorithm system has 6 data types of data.
  • the specific carrying situation can be: one chip carries the calculation of the 6 data types of the algorithm system, and the other chip does not carry the data of the algorithm system under normal conditions. The calculation of the data of the algorithm system; after one chip is damaged, the other chip carries the calculation of the data of the 3 data types selected by the algorithm system from the 6 data types.
  • each algorithm system has 6 data types of data.
  • the specific carrying situation can be: an algorithm system is that each chip carries the algorithm The system calculates the data of 3 data types; the other algorithm system is the calculation of the data of the 6 data types of the algorithm system on one chip, and the calculation of the data of the algorithm system is not carried by the chip under normal circumstances. After a chip is damaged, one algorithm system is left with one chip to carry the calculation of the data of the three data types selected by the algorithm system from the six data types; the other algorithm system is to leave one chip to carry the algorithm from the 6 data types. Calculation of data of 3 data types selected from 3 data types.
  • each chip carries the calculation of 2 data types of the algorithm system; after one chip is damaged, the other two A chip carries the calculation of the data of the 4 data types selected by the algorithm system from the 6 data types (one of the remaining chips carries the calculation of the data of the selected 2 data types, and the other remaining chip carries the selected other Calculation of data of 2 data types).
  • the algorithm system has 6 data types of data
  • the specific carrying situation can be: one chip carries the calculation of the algorithm system's 4 data types, and the other chip carries the algorithm system 2
  • the third chip does not carry the calculation of the algorithm system data; after one chip is damaged, the other two chips carry the data of 4 data types selected by the algorithm system from the 6 data types Calculation (one of the remaining chips carries the calculation of the data of the selected 3 data types, and the other remaining chip carries the calculation of the data of the other selected data type).
  • the embodiment of the application obtains the number of bad chips; according to the number of bad chips and the average number of data types carried by each chip, the remaining number of data types carried by the remaining chips except for the bad chips is determined; from N data types Select the data of the remaining number of data types from the data to obtain the data of the selected data type; use the data of the selected data type as the data of the algorithm system to run on the remaining chips in a balanced manner. Since the remaining number of data types carried by the remaining chips is determined according to the number of bad chips and the average number of data types carried by each chip, and the remaining number of data types is selected from the N data types, the selected data type will be As the data of the algorithm system, the data runs on the remaining chips in a balanced manner.
  • the selected data types that can withstand the capabilities of the remaining chips can be run on the remaining chips in a balanced manner.
  • the impact of the bad chip on the algorithm system is minimized, and the impact of the bad chip on the performance of the specific application of the algorithm system is minimized.
  • selecting the remaining number of data types from the N data types in step S103 may include: based on an algorithm system, selecting the remaining number of data types from the N data types data.
  • Different algorithm systems have different uses or functions of the results obtained through calculation and processing, and have different requirements for the selection of data types.
  • one is the positioning algorithm
  • the other is the obstacle avoidance algorithm, image data in different directions; for the positioning algorithm, as long as there is a reference object, it is also possible to select two opposite directions (for example, select both up and down directions, or select both left and right directions. );
  • For the obstacle avoidance algorithm if you cannot observe the six directions, it is best to select one direction for each pair of relative directions (for example, select one direction from the up and down direction, or select one direction from the left and right directions). In this way, the data of the selected data type can meet the requirements of the algorithm system as much as possible, and the performance of the algorithm system can be exerted as much as possible.
  • selecting the remaining number of data types from the N data types in step S103 may also include: based on the specific application of the algorithm system, selecting the remaining data types from the N data types Number of data types of data.
  • the specific purpose or specific function of the results obtained through calculation and processing by the algorithm system will be different, and the requirements for the selection of data types are also different.
  • positioning algorithms applied to unmanned aerial vehicles and robots robots with different service types may have different requirements
  • Unmanned aerial vehicles have restrictions on flying height. It belongs to near-ground flight, so the positioning algorithm must select the downward direction. The robot moves directly on the ground, so the positioning algorithm may not choose the downward direction, but the forward direction can be the direction that must be selected.
  • the data of the selected data type can meet the requirements of the algorithm system as much as possible, and while the performance of the algorithm system is exerted as much as possible, the relevant performance of the specific application of the algorithm system can be ensured as much as possible.
  • selecting the remaining number of data types from the N data types in step S103 may also include: dynamically selecting the remaining number of data types from the N data types. .
  • the selected remaining number of data types after selecting the remaining number of data types from the N data types, the selected remaining number of data types will not change after being selected, but will change dynamically. , That is, dynamically select the remaining number of data types of data.
  • the data of the remaining number of data types is not as comprehensive as the data of the N data types, by dynamically selecting the data of the remaining number of data types, the algorithm system can fully and flexibly apply the data of each data type, so that the algorithm system
  • the performance is partially supplemented and partially compensated, which can prevent the performance of the algorithm system from tilting to a certain aspect, maximize the utilization of system resources, enhance the robustness and stability of the system, and ensure the specific application of the algorithm system as much as possible.
  • Related performance is partially supplemented and partially compensated, which can prevent the performance of the algorithm system from tilting to a certain aspect, maximize the utilization of system resources, enhance the robustness and stability of the system, and ensure the specific application of the algorithm system as much as possible. Related performance.
  • image data in 6 directions up, down, left, and right you need to select image data in 3 directions, you can dynamically select from the image data in the 6 directions, instead of fixedly selecting 3 directions.
  • the specific dynamic selection can be determined according to the specific algorithm system and specific practical applications.
  • the selection of the remaining number of data types from the N data types in step S103 can combine the above-mentioned multiple implementation manners. For example: based on the algorithm system, dynamically select the remaining number of data types from the N data types of data; or, based on the specific application of the algorithm system, dynamically select the remaining number of data types from the N data types of data Data, etc.
  • the data is basically image data, which can be image data in different directions, image data from different sources, or image data with different resolutions, and so on.
  • the data of N data types may include image data of N directions.
  • selecting the data of the remaining number of data types from the data of the N data types in step S103 may also include: selecting the image data of the remaining number of directions from the image data of the N directions.
  • Image data in different directions has many uses for vision-based algorithm systems, such as positioning, obstacle avoidance, path planning, navigation, and so on. Among them, positioning and obstacle avoidance are the basic uses and the basis for other uses.
  • the algorithm system includes a visual positioning algorithm system.
  • Vision-based positioning uses a vision sensor to obtain an image of an object, and then uses a vision positioning algorithm system to process and calculate the image data, and then obtain the object's pose (position and posture) information.
  • the visual positioning algorithm system includes, but is not limited to, the visual odometry (VO) algorithm system, the visual inertial odometry (Visual Inertial Odometry, VIO) algorithm system, and so on.
  • the VO algorithm system can calculate the results of each direction separately, select the reference keyframe according to the respective camera pose, and calculate the respective results, and finally consider how to use it together.
  • the VIO algorithm system uniformly estimates the pose of the aircraft.
  • the advantage is the dimension of the state quantity, which is convenient for multi-channel expansion.
  • Each additional direction of observation only needs to increase the external parameter state quantity of the camera and the inertial measurement unit (IMU), but Due to the large number of multi-directional feature points, the amount of calculation is relatively large.
  • selecting image data in the remaining number directions from the image data in the N directions in step S103 may specifically include: selecting image data in the remaining number directions from the image data in the N directions ,
  • the remaining number direction is the best direction among the N directions, and the best direction refers to the direction most helpful for positioning among the N directions.
  • the best direction may change. For example, in a certain period of time, a certain direction is one of the best directions. In another period of time, this direction cannot be regarded as one of the best directions, so the remaining ones can also be dynamically selected. Number and best direction image data.
  • the purpose of the visual positioning algorithm system is positioning. Therefore, when image data in N directions cannot be used, image data in the remaining directions that are most helpful for positioning are selected as much as possible to improve positioning accuracy as much as possible.
  • the basis for selecting the "best direction" from multiple directions can be: the number of feature points successfully matched by the triangulation measurement method, N, divided by the average depth d0 of the feature points, that is, N/d0 is more The bigger, the better the direction.
  • the N directions are arranged from large to small according to the value of N/d0, and the direction represented by the value of N/d0 of the remaining number in the front is selected, which is the best direction.
  • the average depth of feature points is calculated in each direction, which can be divided into three situations:
  • Step Match different from inter-frame matching Frame Match
  • a certain threshold such as 100 points
  • the visual positioning algorithm system is applied to unmanned aerial vehicles, and the best direction includes the downward direction.
  • the flying height of unmanned aerial vehicles is limited and belongs to close-to-ground flight. Generally, the closer the object is, the clearer the image, and the more feature points that can be matched, the more helpful it is for positioning.
  • Objects in the downward direction are usually away from the unmanned aerial vehicle. It is relatively close, so when the visual positioning algorithm system is applied to an unmanned aerial vehicle, the best direction includes the downward direction.
  • the visual positioning algorithm system is related to the hovering performance of the unmanned aerial vehicle.
  • the visual positioning algorithm system is applied to a ground robot that directly moves on the ground, it is clear that the best direction includes the forward direction.
  • the algorithm system includes an obstacle avoidance (OA) algorithm system.
  • OA obstacle avoidance
  • SGM Semi-global matching
  • selecting image data in the remaining number directions from the image data in N directions in step S103 may also include: selecting image data in the remaining number directions from the image data in the N directions , Wherein the N directions include a pair of opposite directions, and the directions in the remaining number directions include one of the opposite directions.
  • the image data of one of the relative directions may be dynamically selected from the pair of relative directions.
  • select the image data in the left direction in a certain period of time select the image data in the right direction in another period of time; select the image data in the downward direction in a certain period of time, and select the image data in the upper direction in another period of time; in a certain period of time Select the image data in the front direction, and select the image data in the back direction in another period of time; and so on.
  • the best way to avoid obstacles is the image data in all directions around.
  • the surrounding directions are usually selected in pairs, that is, N directions include pairs of relative directions.
  • N directions include pairs of relative directions.
  • image data in N directions cannot be used, it is best to select the relative direction.
  • FIG 2 is a schematic diagram of load balancing of the dual-chip UAV.
  • the chip on the left is used as the master chip, connected to the front, down, and rear vision sensors, and is normally responsible for the calculation and processing of the image data of the obstacle avoidance algorithm system in these three directions; the chip on the right is used as the slave
  • the chip is connected with vision sensors in the upper, left, and right directions, and is responsible for the calculation and processing of the image data of the obstacle avoidance algorithm system in these three directions.
  • the image data of the UAV's VIO algorithm system in the above six directions runs on the master chip (or slave chip).
  • the load balancing strategy of the VIO algorithm system and the obstacle avoidance algorithm system on the remaining chip can be:
  • the logic is switched urgently. While retaining the image data in the downward direction for the VIO algorithm, select two from the five directions of front/rear/left/right/up (down + Choose two from five). If the image data in the downward direction is not available, the image data in three directions is selected from the image data in the remaining five directions instead.
  • the downward direction is generally reliable, so when the downward direction is available (the downward direction is available, there are enough feature points in the image in the downward direction, and the feature points of the front and back images can match the upper), the image data in the downward direction is always available. Participate in the calculation of the VIO algorithm system. If the downward direction is not available, you need to choose the image data of the 3 best directions from the remaining 5 directions.
  • the G value in the forward and backward directions can be calculated at a certain time interval. If there is no matching feature point in a certain direction or far away from the scene during the flight, the G value will gradually decrease.
  • the G value is lower than a certain value, for example, when the threshold Gth is 8, the calculation is obtained at this time
  • the G value is: the first 7 and the right 20.
  • the next calculation will not use the information in the front direction to update the state quantity, but can try to calculate the G value in the right direction and the back direction in turn (that is, in this process, only calculate the front, back, and left G values, and Do not participate in the calculation of the VIO algorithm system, do not update the state amount, the calculation amount is relatively small), and re-select the best direction as right and back according to the G value (right 20, back 17, left 10, front 7, and up 5). And so on. Only when the G value is lower than the threshold, the alternative directions are calculated, which can save computing resources. If the five directions of front, back, left, right, and up are unqualified, then only the G value will be calculated next time and will not participate in the calculation of the algorithm system.
  • the logic is urgently switched, according to the flight direction (IMU+GPS+VIO combined navigation gives speed observation), according to the flight direction up/down+left/right+forward/ Then, the image data of three directions are selected to participate in the calculation of the obstacle avoidance algorithm system in the manner of selecting one direction from each pair of relative directions among the six directions.
  • the disparity of different resolutions can be merged to improve the accuracy of the depth map.
  • the high-precision depth map can be obtained efficiently according to the pair of low-resolution depth map and high-resolution stereo image with lower resolution; the disparity value can be obtained from the high-resolution image by optimizing the energy function; The difference value, in order to selectively replace the low-precision value of the depth map with a high-precision value; the energy function can be selectively optimized on the long-distance small parallax pixel to improve efficiency; according to the lower resolution of the input depth map , The energy function is sampled at horizontal and vertical intervals to further improve efficiency.
  • FIG. 3 is a schematic structural diagram of an embodiment of an adaptive load balancing system of the present application.
  • the adaptive load balancing system is suitable for an algorithm system that runs on multiple chips, and multiple chips carry the algorithm System calculation of data of N data types. It should be noted that the adaptive load balancing system can implement the steps in the above-mentioned adaptive load balancing method. For detailed descriptions of related content, please refer to the above method part, which will not be repeated here.
  • the adaptive load balancing system 100 includes: a memory 1 and a processor 2; the memory 1 and the processor 2 are connected by a bus.
  • the processor 2 may be a micro control unit, a central processing unit, or a digital signal processor, and so on.
  • the memory 1 can be a Flash chip, a read-only memory, a magnetic disk, an optical disk, a U disk or a mobile hard disk, etc.
  • the memory 1 is used to store a computer program; the processor 2 is used to execute the computer program and when the computer program is executed, the following steps are implemented:
  • Get the number of bad chips according to the number of bad chips and the average number of data types carried by each chip, determine the remaining number of data types carried by the remaining chips except for the bad chips; select from the data of N data types The data of the remaining number of data types are selected to obtain the data of the selected data type, and N is a positive integer greater than or equal to two; the data of the selected data type is run on the remaining chips in a balanced manner as the data of the algorithm system.
  • the embodiment of the application obtains the number of bad chips; according to the number of bad chips and the average number of data types carried by each chip, the remaining number of data types carried by the remaining chips except for the bad chips is determined; from N data types Select the data of the remaining number of data types from the data to obtain the data of the selected data type; use the data of the selected data type as the data of the algorithm system to run on the remaining chips in a balanced manner. Since the remaining number of data types carried by the remaining chips is determined according to the number of bad chips and the average number of data types carried by each chip, and the remaining number of data types is selected from the N data types, the selected data type will be As the data of the algorithm system, the data runs on the remaining chips in a balanced manner.
  • the selected data types that can withstand the capabilities of the remaining chips can be run on the remaining chips in a balanced manner.
  • the impact of the bad chip on the algorithm system is minimized, and the impact of the bad chip on the performance of the specific application of the algorithm system is minimized.
  • the processor when the processor executes the computer program, it implements the following steps: based on the algorithm system, select the remaining number of data types from the N data types.
  • the processor when the processor executes the computer program, it implements the following steps: based on the specific application of the algorithm system, select the remaining number of data types from the N data types.
  • the algorithm system includes an algorithm system based on artificial intelligence.
  • the algorithm system includes a vision-based algorithm system; N data types include image data in N directions.
  • the processor when the processor executes the computer program, it implements the following steps: select the image data of the remaining number of directions from the image data of the N directions.
  • the algorithm system includes a visual positioning algorithm system.
  • the processor executes the computer program, it implements the following steps: select the image data of the remaining number directions from the image data of the N directions, the remaining number direction is the best direction among the N directions, and the best direction refers to The direction most helpful for positioning among the N directions.
  • the visual positioning algorithm system is applied to unmanned aerial vehicles, and the best direction includes the downward direction.
  • the visual positioning algorithm system includes the visual inertial mileage calculation system.
  • the algorithm system includes obstacle avoidance algorithm system.
  • the processor when the processor executes the computer program, it implements the following steps: select image data in the remaining number directions from the image data in N directions, where the N directions include pairs of relative directions, and the directions in the remaining number directions Including one of the opposite directions.
  • the present application also provides a computer-readable storage medium that stores a computer program, and when the computer program is executed by a processor, the processor realizes the method for adaptive load balancing as described above.
  • a computer program when executed by a processor, the processor realizes the method for adaptive load balancing as described above.
  • the relevant content please refer to the content section of the above adaptive load balancing method, which will not be repeated here.
  • the computer-readable storage medium may be an internal storage unit of the aforementioned adaptive load balancing system, such as a hard disk or a memory.
  • the computer-readable storage medium may also be an external storage device of the above-mentioned adaptive load balancing system, such as an equipped plug-in hard disk, a smart memory card, a secure digital card, a flash memory card, and so on.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)

Abstract

A self-adaptive load balancing method and system, and a storage medium. The method comprises: obtaining the number of damaged chips (S101); determining, according to the number of damaged chips and an average number of data types borne by each chip, the remaining number of data types carried by the remaining chips (S102); selecting data of the remaining number of data types from data of N data types to obtain data of the selected data types (S103); and evenly running the data of the selected data types as data of an algorithm system on the remaining chips (S104).

Description

自适应负载均衡的方法、系统及存储介质Method, system and storage medium for self-adaptive load balancing 技术领域Technical field
本申请涉及计算机技术领域,尤其涉及一种自适应负载均衡的方法、系统及存储介质。This application relates to the field of computer technology, and in particular to a method, system and storage medium for adaptive load balancing.
背景技术Background technique
人工智能相关领域在实际应用中需要利用算法系统,算法系统需要大量数据,这些数据的计算与处理由芯片承担。Artificial intelligence related fields need to use algorithm systems in practical applications, which require a large amount of data, and the calculation and processing of these data are undertaken by the chip.
例如,基于视觉的算法系统在无人飞行器中的应用中,无人飞行器悬停性能采用视觉定位算法系统,无人飞行器避障性能采用避障算法系统。要保证无人飞行器悬停和避障性能,就需要保证能够实时处理较多图像帧,但无人飞行器的单一芯片处理能力有限,所以当多个方向都接入视觉传感器时,每个算法系统需要多个方向由视觉传感器传来的图像帧,这时就需要多芯片协同合作。For example, in the application of a vision-based algorithm system in an unmanned aerial vehicle, the hovering performance of the unmanned aerial vehicle adopts the visual positioning algorithm system, and the obstacle avoidance performance of the unmanned aerial vehicle adopts the obstacle avoidance algorithm system. To ensure the hovering and obstacle avoidance performance of the UAV, it is necessary to ensure that it can process more image frames in real time. However, the single chip processing capacity of the UAV is limited. Therefore, when the vision sensor is connected to multiple directions, each algorithm system Image frames transmitted from the vision sensor in multiple directions are required, and at this time, multi-chip collaboration is required.
但是,多芯片协同合作中有芯片损坏又无法及时更换时,剩下芯片没有能力处理原来多个方向的图像帧,这会严重影响无人飞行器的相关性能。However, when the chip is damaged and cannot be replaced in time in the multi-chip collaboration, the remaining chip cannot handle the original image frames in multiple directions, which will seriously affect the relevant performance of the UAV.
发明内容Summary of the invention
基于此,本申请提供一种自适应负载均衡的方法、系统及存储介质。Based on this, the present application provides a method, system and storage medium for adaptive load balancing.
第一方面,本申请提供了一种自适应负载均衡的方法,所述方法适用于算法系统,所述算法系统运行在多个芯片上,所述多个芯片承载所述算法系统N个数据种类的数据的计算,所述方法包括:In the first aspect, this application provides a method for adaptive load balancing, which is suitable for an algorithm system. The algorithm system runs on multiple chips, and the multiple chips carry N data types of the algorithm system. Calculation of the data, the method includes:
获取坏芯片的数量;Get the number of bad chips;
根据所述坏芯片的数量和每个芯片承载的数据种类的平均个数,确定除所述坏芯片外的剩余芯片承载的数据种类的剩余个数;Determining the remaining number of data types carried by the remaining chips except for the bad chip according to the number of the bad chips and the average number of the data types carried by each chip;
从所述N个数据种类的数据中选择剩余个数的数据种类的数据,得到选 择数据种类的数据,N为大于或等于二的正整数;Select the remaining number of data types from the N data types to obtain the selected data type data, where N is a positive integer greater than or equal to two;
将所述选择数据种类的数据作为所述算法系统的数据均衡地运行在所述剩余芯片上。The data of the selected data type is run on the remaining chips in a balanced manner as the data of the algorithm system.
第二方面,本申请提供了一种自适应负载均衡的系统,所述自适应负载均衡的系统适用于算法系统,所述算法系统运行在多个芯片上,所述多个芯片承载所述算法系统N个数据种类的数据的计算,所述系统包括:存储器和处理器;In a second aspect, the present application provides an adaptive load balancing system, which is suitable for an algorithm system, and the algorithm system runs on multiple chips, and the multiple chips carry the algorithm System for calculating data of N data types, the system includes: a memory and a processor;
所述存储器用于存储计算机程序;The memory is used to store a computer program;
所述处理器用于执行所述计算机程序并在执行所述计算机程序时,实现如下步骤:The processor is used to execute the computer program and when executing the computer program, implement the following steps:
获取坏芯片的数量;Get the number of bad chips;
根据所述坏芯片的数量和每个芯片承载的数据种类的平均个数,确定除所述坏芯片外的剩余芯片承载的数据种类的剩余个数;Determining the remaining number of data types carried by the remaining chips except for the bad chip according to the number of the bad chips and the average number of the data types carried by each chip;
从所述N个数据种类的数据中选择剩余个数的数据种类的数据,得到选择数据种类的数据,N为大于或等于二的正整数;Selecting the remaining number of data types from the N data types to obtain data of the selected data type, where N is a positive integer greater than or equal to two;
将所述选择数据种类的数据作为所述算法系统的数据均衡地运行在所述剩余芯片上。The data of the selected data type is run on the remaining chips in a balanced manner as the data of the algorithm system.
第三方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上所述的自适应负载均衡的方法。In a third aspect, the present application provides a computer-readable storage medium, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor realizes the adaptive load as described above. Balanced approach.
本申请实施例提供了一种自适应负载均衡的方法、系统及存储介质,获取坏芯片的数量;根据坏芯片的数量和每个芯片承载的数据种类的平均个数,确定除坏芯片外的剩余芯片承载的数据种类的剩余个数;从N个数据种类的数据中选择剩余个数的数据种类的数据,得到选择数据种类的数据;将选择数据种类的数据作为算法系统的数据均衡地运行在剩余芯片上。由于根据坏芯片的数量和每个芯片承载的数据种类的平均个数确定剩余芯片承载的数据种类的剩余个数,并从N个数据种类选择剩余个数的数据种类,将选择的数据种类的数据作为算法系统的数据均衡地运行在剩余芯片上,通过这种方式,能够使选择出来的、剩余芯片能力范围内能够承受的数据种类的数据均衡地运行在剩 余芯片上,从而能够尽可能将坏芯片对算法系统带来的影响降低到最低程度,将坏芯片对算法系统具体应用的相关性能的影响降低到最低程度。The embodiments of the present application provide a method, system and storage medium for adaptive load balancing to obtain the number of bad chips; according to the number of bad chips and the average number of data types carried by each chip, determine the other than the bad chips The remaining number of data types carried by the remaining chip; select the remaining number of data types from the N data types to obtain the data of the selected data type; use the data of the selected data type as the data of the algorithm system to operate in a balanced manner On the remaining chips. Since the remaining number of data types carried by the remaining chips is determined according to the number of bad chips and the average number of data types carried by each chip, and the remaining number of data types is selected from the N data types, the selected data type will be As the data of the algorithm system, the data runs on the remaining chips in a balanced manner. In this way, the selected data types that can withstand the capabilities of the remaining chips can be run on the remaining chips in a balanced manner. The impact of the bad chip on the algorithm system is minimized, and the impact of the bad chip on the performance of the specific application of the algorithm system is minimized.
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the application.
附图说明Description of the drawings
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to explain the technical solutions of the embodiments of the present application more clearly, the following will briefly introduce the drawings used in the description of the embodiments. Obviously, the drawings in the following description are some embodiments of the present application. Ordinary technicians can obtain other drawings based on these drawings without creative work.
图1是本申请自适应负载均衡的方法一实施例的流程示意图;FIG. 1 is a schematic flowchart of an embodiment of an adaptive load balancing method according to the present application;
图2是无人飞行器双芯片的负载均衡示意图;Figure 2 is a schematic diagram of load balancing of the dual-chip unmanned aerial vehicle;
图3是本申请自适应负载均衡的系统一实施例的结构示意图。Fig. 3 is a schematic structural diagram of an embodiment of an adaptive load balancing system of the present application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be described clearly and completely in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of them. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of this application.
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。The flowchart shown in the drawings is only an example, and does not necessarily include all contents and operations/steps, nor does it have to be executed in the described order. For example, some operations/steps can also be decomposed, combined or partially combined, so the actual execution order may be changed according to actual conditions.
人工智能相关领域在实际应用中需要利用算法系统,算法系统需要大量数据,这些数据的计算与处理由芯片承担。单一芯片处理能力有限,当需要实时处理大量不同数据种类的数据时,就需要多芯片协同合作。但是,多芯片协同合作中有芯片损坏又无法及时更换时,剩下芯片没有能力处理原来多个不同数据种类的数据,这会严重影响算法系统具体应用的相关性能。Artificial intelligence related fields need to use algorithm systems in practical applications, which require a large amount of data, and the calculation and processing of these data are undertaken by the chip. The processing capacity of a single chip is limited. When a large amount of data of different data types needs to be processed in real time, multi-chip collaboration is required. However, when the chip is damaged and cannot be replaced in time in the multi-chip collaborative cooperation, the remaining chip is unable to process the original data of multiple different data types, which will seriously affect the relevant performance of the specific application of the algorithm system.
本申请实施例中,可以获取坏芯片的数量;根据坏芯片的数量和每个芯片承载的数据种类的平均个数,确定除坏芯片外的剩余芯片承载的数据种类的剩 余个数;从N个数据种类的数据中选择剩余个数的数据种类的数据,得到选择数据种类的数据;将选择数据种类的数据作为算法系统的数据均衡地运行在剩余芯片上。由于根据坏芯片的数量和每个芯片承载的数据种类的平均个数确定剩余芯片承载的数据种类的剩余个数,并从N个数据种类选择剩余个数的数据种类,将选择的数据种类的数据作为算法系统的数据均衡地运行在剩余芯片上,通过这种方式,能够使选择出来的、剩余芯片能力范围内能够承受的数据种类的数据均衡地运行在剩余芯片上,从而能够尽可能将坏芯片对算法系统带来的影响降低到最低程度,将坏芯片对算法系统具体应用的相关性能的影响降低到最低程度。In the embodiment of this application, the number of bad chips can be obtained; according to the number of bad chips and the average number of data types carried by each chip, determine the remaining number of data types carried by the remaining chips except for the bad chips; from N Select the data of the remaining number of data types from the data of the data types to obtain the data of the selected data type; use the data of the selected data type as the data of the algorithm system to run on the remaining chips in a balanced manner. Since the remaining number of data types carried by the remaining chips is determined according to the number of bad chips and the average number of data types carried by each chip, and the remaining number of data types is selected from the N data types, the selected data type will be As the data of the algorithm system, the data runs on the remaining chips in a balanced manner. In this way, the selected data types that can withstand the capabilities of the remaining chips can be run on the remaining chips in a balanced manner. The impact of the bad chip on the algorithm system is minimized, and the impact of the bad chip on the performance of the specific application of the algorithm system is minimized.
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。Hereinafter, some embodiments of the present application will be described in detail with reference to the accompanying drawings. In the case of no conflict, the following embodiments and features in the embodiments can be combined with each other.
参见图1,图1是本申请自适应负载均衡的方法一实施例的流程示意图,本实施例的方法适用于算法系统,该算法系统运行在多个芯片上,多个芯片承载该算法系统N个数据种类的数据的计算。Referring to Figure 1, Figure 1 is a schematic flowchart of an embodiment of an adaptive load balancing method according to the present application. The method in this embodiment is applicable to an algorithm system that runs on multiple chips, and multiple chips carry the algorithm system N Calculation of data of each data type.
本申请实施例中,多个芯片可以是两个以上的芯片,例如可以是两个芯片,也可以是三个芯片,或者是四个以上的芯片。N为大于或等于二的正整数,即数据种类可以是两个以上的数据种类。In the embodiment of the present application, the multiple chips may be more than two chips, for example, two chips, three chips, or more than four chips. N is a positive integer greater than or equal to two, that is, the data type can be more than two data types.
N个数据种类的数据可以是算法系统需要的、当前能够提供的所有数据被分配为N组,例如N个数据种类的数据可以是N个不同数据来源的数据,或者也可以是同一个数据来源被分为N组的数据(例如数据量太大,单一芯片无法实时处理)。其中,N个不同数据来源可以是N个相同检测单元检测而来的数据(例如不同方向的视觉传感器的图像数据),也可以是N个不同检测单元检测而来的数据(例如视觉传感器的图像数据、激光传感器的数据、超声传感器的数据、红外传感器的数据,等等),或者一部分相同检测单元检测而来的数据,另一部分不同检测单元检测而来的数据。The data of N data types can be required by the algorithm system, and all the data currently available are allocated to N groups. For example, the data of N data types can be data from N different data sources, or it can be the same data source. Data divided into N groups (for example, the amount of data is too large for a single chip to process in real time). Among them, the N different data sources can be data detected by N same detection units (for example, image data of vision sensors in different directions), or data detected by N different detection units (for example, image data of vision sensors). Data, laser sensor data, ultrasonic sensor data, infrared sensor data, etc.), or part of the data detected by the same detection unit, and another part of the data detected by a different detection unit.
需要说明的是,多个芯片上的算法系统可以是一个算法系统,也可以是两个或三个以上的不同算法系统。每个算法系统的数据种类可以不同,也可以相同。It should be noted that the algorithm systems on multiple chips can be one algorithm system, or two or more different algorithm systems. The data type of each algorithm system can be different or the same.
在一应用中,算法系统包括基于人工智能的算法系统。例如:人工神经网 络算法系统、深度学习算法系统、降低维度算法系统、集成算法系统,等等。In one application, the algorithm system includes an algorithm system based on artificial intelligence. For example: artificial neural network algorithm system, deep learning algorithm system, dimensionality reduction algorithm system, integrated algorithm system, etc.
在另一应用中,算法系统包括基于视觉的算法系统。例如:基于视觉的三维重建算法系统、基于视觉的路径规划算法系统、基于视觉的分类算法系统、基于视觉的聚类算法系统、基于视觉的定位算法、基于视觉的避障算法,等等。In another application, the algorithm system includes a vision-based algorithm system. For example: vision-based 3D reconstruction algorithm system, vision-based path planning algorithm system, vision-based classification algorithm system, vision-based clustering algorithm system, vision-based positioning algorithm, vision-based obstacle avoidance algorithm, etc.
正常情况下(即没有坏芯片时),算法系统运行在多个芯片上,多个芯片承载该算法系统N个数据种类的数据的计算。其中,多个芯片(例如n个芯片)的具体承载情况可以是:每个芯片承载平均个数(N/n)的数据种类的数据的计算,也可以是每个芯片承载非平均个数(大于平均个数或小于平均个数)的数据种类的数据的计算;多个芯片的具体承载情况根据具体的实际情况确定(例如不同数据种类的数据大小、每个芯片处理能力大小,等等),在此不做限定。Under normal circumstances (that is, when there is no bad chip), the algorithm system runs on multiple chips, and the multiple chips carry calculations of data of N data types in the algorithm system. Among them, the specific carrying situation of multiple chips (for example, n chips) can be: the calculation of the average number of data (N/n) carried by each chip, or the non-average number of data carried by each chip ( Calculation of data of data types that are greater than the average number or less than the average number); the specific carrying situation of multiple chips is determined according to the specific actual situation (for example, the data size of different data types, the processing capacity of each chip, etc.) , It is not limited here.
例如,正常情况下有两个芯片,该算法系统有6个数据种类的数据,具体承载情况可以是:每个芯片承载该算法系统3个数据种类的数据的计算,或者一个芯片承载该算法系统4个数据种类的数据的计算,另一个芯片承载该算法系统2个数据种类的数据的计算,又或者一个芯片承载该算法系统6个数据种类的数据的计算,另一个芯片正常情况下不承载该算法系统数据的计算,等等。For example, there are two chips under normal circumstances, and the algorithm system has 6 data types of data. The specific carrying situation can be: each chip carries the calculation of the algorithm system's 3 data types, or one chip carries the algorithm system Calculation of data of 4 data types, another chip carries the calculation of data of 2 data types of the algorithm system, or one chip carries the calculation of data of 6 data types of the algorithm system, the other chip does not carry the calculation of data of the algorithm system under normal circumstances The calculation of the algorithm system data, and so on.
又如,正常情况下有两个芯片,该两个芯片上运行两个算法系统,每个算法系统有6个数据种类的数据,具体承载情况可以是:一个算法系统是每个芯片承载该算法系统3个数据种类的数据的计算;另一个算法系统是一个芯片承载该算法系统6个数据种类的数据的计算,一个芯片正常情况下不承载该算法系统数据的计算;等等。For another example, under normal circumstances, there are two chips, and two algorithm systems run on the two chips. Each algorithm system has 6 data types of data. The specific carrying situation can be: an algorithm system is that each chip carries the algorithm The system calculates the data of three data types; the other algorithm system is the calculation of the data of the six data types of the algorithm system on a chip, and the calculation of the data of the algorithm system is not carried by the chip under normal circumstances; and so on.
又如,正常情况下有三个芯片,该算法系统有6个数据种类的数据,具体承载情况可以是:每个芯片承载该算法系统2个数据种类的数据的计算,或者具体承载情况可以是:一个芯片承载该算法系统4个数据种类的数据的计算,另一个芯片承载该算法系统2个数据种类的数据的计算,第三个芯片不承载该算法系统数据的计算,等等。For another example, under normal circumstances, there are three chips, and the algorithm system has 6 data types of data. The specific carrying situation can be: each chip carries the calculation of 2 data types of the algorithm system, or the specific carrying situation can be: One chip carries the calculation of the four data types of the algorithm system, the other chip carries the calculation of the two data types of the algorithm system, the third chip does not carry the calculation of the algorithm system data, and so on.
又如,正常情况下有三个芯片,该两个芯片上运行两个算法系统,一个算法系统有6个数据种类的数据,另一个算法系统有4个数据种类的数据,具体承载情况可以是:一个算法系统是每个芯片承载该算法系统2个数据种类的数 据的计算;另一个算法系统是一个芯片承载该算法系统2个数据种类的数据的计算,另一个芯片承载该算法系统1个数据种类的数据的计算,第三个芯片承载该算法系统1个数据种类的数据的计算,等等。For another example, there are three chips under normal circumstances, and two algorithm systems run on the two chips. One algorithm system has data of 6 data types, and the other algorithm system has data of 4 data types. The specific carrying situation can be: One algorithm system is the calculation of 2 data types of the algorithm system on each chip; the other algorithm system is the calculation of the 2 data types of data of the algorithm system on one chip, and the other chip carries 1 data of the algorithm system. The calculation of data of different types, the third chip carries the calculation of data of 1 data type of the algorithm system, and so on.
该方法包括:The method includes:
步骤S101:获取坏芯片的数量。Step S101: Obtain the number of bad chips.
步骤S102:根据坏芯片的数量和每个芯片承载的数据种类的平均个数,确定除坏芯片外的剩余芯片承载的数据种类的剩余个数。Step S102: According to the number of bad chips and the average number of data types carried by each chip, determine the remaining number of data types carried by the remaining chips except for the bad chips.
步骤S103:从N个数据种类的数据中选择剩余个数的数据种类的数据,得到选择数据种类的数据,N为大于或等于二的正整数。Step S103: Select the data of the remaining number of data types from the data of the N data types to obtain the data of the selected data type, where N is a positive integer greater than or equal to two.
步骤S104:将选择数据种类的数据作为该算法系统的数据均衡地运行在剩余芯片上。Step S104: Use the data of the selected data type as the data of the algorithm system to run on the remaining chips in a balanced manner.
当有芯片损坏时,剩余芯片能够承载的数据必然减少,本申请实施例并不是将算法系统需要的数据一刀切、单一、片面、简单的去掉坏芯片能够承载的平均数量的数据,而是根据数据的数据种类来确定减少数据,这样能够尽最大可能发挥算法系统的性能,并尽最大可能保证算法系统在具体应用中的相关性能。即,确定每个芯片承载的数据种类的平均个数,根据坏芯片的数量和每个芯片承载的数据种类的平均个数即可确定坏芯片承载的数据种类的个数,数据种类的总个数N减去坏芯片承载的数据种类的个数,即可得到剩余芯片承载的数据种类的剩余个数,然后从N个数据种类的数据中选择剩余个数的数据种类的数据,将选择的数据种类的数据作为该算法系统的数据均衡地运行在剩余芯片上。其中,均衡地运行在剩余芯片上,可以包括:每个剩余芯片承载平均个数(数据种类的剩余个数/剩余芯片的数量)的数据种类的数据的计算,也可以是每个芯片承载非平均个数(数据种类的剩余个数/剩余芯片的数量)的数据种类的数据的计算;剩余芯片具体承载情况根据具体的实际情况确定(例如不同数据种类的数据大小、每个芯片处理能力大小,等等),在此不做限定。When a chip is damaged, the data that the remaining chips can carry will inevitably decrease. The embodiment of this application does not cut, single, one-sided, and simply remove the average amount of data that the bad chip can carry, but based on the data. The type of data to determine the reduction of data, so that the performance of the algorithm system can be maximized, and the relevant performance of the algorithm system in specific applications can be guaranteed as much as possible. That is, determine the average number of data types carried by each chip, and determine the number of data types carried by bad chips and the total number of data types according to the number of bad chips and the average number of data types carried by each chip. Subtract the number of data types carried by the bad chip from the number N to obtain the remaining number of data types carried by the remaining chip, and then select the remaining number of data types from the data of the N data types, and select The data of the data type runs on the remaining chips evenly as the data of the algorithm system. Among them, running on the remaining chips in a balanced manner may include the calculation of the average number of data types carried by each remaining chip (the remaining number of data types/the number of remaining chips), or the calculation of the data type carried by each chip. Calculation of the average number of data types (remaining number of data types/number of remaining chips); the specific carrying situation of the remaining chips is determined according to the actual situation (for example, the data size of different data types, the processing capacity of each chip) , Etc.), not limited here.
例如:正常情况下有两个芯片,该算法系统有6个数据种类的数据,具体承载情况可以是:每个芯片承载该算法系统3个数据种类的数据的计算;损坏一个芯片后,另一个芯片承载该算法系统从6个数据种类中选择出来的3个数 据种类的数据的计算。For example: under normal circumstances, there are two chips, the algorithm system has 6 data types of data, the specific carrying situation can be: each chip carries the calculation of 3 data types of the algorithm system; after one chip is damaged, the other The chip carries the calculation of data of 3 data types selected by the algorithm system from 6 data types.
或者,正常情况下有两个芯片,该算法系统有6个数据种类的数据,具体承载情况可以是:一个芯片承载该算法系统6个数据种类的数据的计算,另一个芯片正常情况下不承载该算法系统数据的计算;损坏一个芯片后,另一个芯片承载该算法系统从6个数据种类中选择出来的3个数据种类的数据的计算。Or, under normal circumstances, there are two chips, and the algorithm system has 6 data types of data. The specific carrying situation can be: one chip carries the calculation of the 6 data types of the algorithm system, and the other chip does not carry the data of the algorithm system under normal conditions. The calculation of the data of the algorithm system; after one chip is damaged, the other chip carries the calculation of the data of the 3 data types selected by the algorithm system from the 6 data types.
又如,正常情况下有两个芯片,该两个芯片上运行两个算法系统,每个算法系统有6个数据种类的数据,具体承载情况可以是:一个算法系统是每个芯片承载该算法系统3个数据种类的数据的计算;另一个算法系统是一个芯片承载该算法系统6个数据种类的数据的计算,一个芯片正常情况下不承载该算法系统数据的计算。损坏一个芯片后,一个算法系统是剩下一个芯片承载该算法系统从6个数据种类中选择出来的3个数据种类的数据的计算;另一个算法系统是剩下一个芯片承载该算法系统从6个数据种类中选择出来的3个数据种类的数据的计算。For another example, under normal circumstances, there are two chips, and two algorithm systems run on the two chips. Each algorithm system has 6 data types of data. The specific carrying situation can be: an algorithm system is that each chip carries the algorithm The system calculates the data of 3 data types; the other algorithm system is the calculation of the data of the 6 data types of the algorithm system on one chip, and the calculation of the data of the algorithm system is not carried by the chip under normal circumstances. After a chip is damaged, one algorithm system is left with one chip to carry the calculation of the data of the three data types selected by the algorithm system from the six data types; the other algorithm system is to leave one chip to carry the algorithm from the 6 data types. Calculation of data of 3 data types selected from 3 data types.
又如,正常情况下有三个芯片,该算法系统有6个数据种类的数据,具体承载情况可以是:每个芯片承载该算法系统2个数据种类的数据的计算;损坏一个芯片后,另两个芯片承载该算法系统从6个数据种类中选择出来的4个数据种类的数据的计算(其中一个剩余芯片承载选择出来的2个数据种类的数据的计算,另一个剩余芯片承载选择出来的另外2个数据种类的数据的计算)。For another example, there are three chips under normal circumstances, and the algorithm system has 6 data types. The specific carrying situation can be: each chip carries the calculation of 2 data types of the algorithm system; after one chip is damaged, the other two A chip carries the calculation of the data of the 4 data types selected by the algorithm system from the 6 data types (one of the remaining chips carries the calculation of the data of the selected 2 data types, and the other remaining chip carries the selected other Calculation of data of 2 data types).
又如,正常情况下有三个芯片,该算法系统有6个数据种类的数据,具体承载情况可以是:一个芯片承载该算法系统4个数据种类的数据的计算,另一个芯片承载该算法系统2个数据种类的数据的计算,第三个芯片不承载该算法系统数据的计算;损坏一个芯片后,另两个芯片承载该算法系统从6个数据种类中选择出来的4个数据种类的数据的计算(其中一个剩余芯片承载选择出来的3个数据种类的数据的计算,另一个剩余芯片承载选择出来的另外1个数据种类的数据的计算)。For another example, under normal circumstances, there are three chips, the algorithm system has 6 data types of data, and the specific carrying situation can be: one chip carries the calculation of the algorithm system's 4 data types, and the other chip carries the algorithm system 2 For the calculation of data of one data type, the third chip does not carry the calculation of the algorithm system data; after one chip is damaged, the other two chips carry the data of 4 data types selected by the algorithm system from the 6 data types Calculation (one of the remaining chips carries the calculation of the data of the selected 3 data types, and the other remaining chip carries the calculation of the data of the other selected data type).
本申请实施例获取坏芯片的数量;根据坏芯片的数量和每个芯片承载的数据种类的平均个数,确定除坏芯片外的剩余芯片承载的数据种类的剩余个数;从N个数据种类的数据中选择剩余个数的数据种类的数据,得到选择数据种类的数据;将选择数据种类的数据作为算法系统的数据均衡地运行在剩余芯片 上。由于根据坏芯片的数量和每个芯片承载的数据种类的平均个数确定剩余芯片承载的数据种类的剩余个数,并从N个数据种类选择剩余个数的数据种类,将选择的数据种类的数据作为算法系统的数据均衡地运行在剩余芯片上,通过这种方式,能够使选择出来的、剩余芯片能力范围内能够承受的数据种类的数据均衡地运行在剩余芯片上,从而能够尽可能将坏芯片对算法系统带来的影响降低到最低程度,将坏芯片对算法系统具体应用的相关性能的影响降低到最低程度。The embodiment of the application obtains the number of bad chips; according to the number of bad chips and the average number of data types carried by each chip, the remaining number of data types carried by the remaining chips except for the bad chips is determined; from N data types Select the data of the remaining number of data types from the data to obtain the data of the selected data type; use the data of the selected data type as the data of the algorithm system to run on the remaining chips in a balanced manner. Since the remaining number of data types carried by the remaining chips is determined according to the number of bad chips and the average number of data types carried by each chip, and the remaining number of data types is selected from the N data types, the selected data type will be As the data of the algorithm system, the data runs on the remaining chips in a balanced manner. In this way, the selected data types that can withstand the capabilities of the remaining chips can be run on the remaining chips in a balanced manner. The impact of the bad chip on the algorithm system is minimized, and the impact of the bad chip on the performance of the specific application of the algorithm system is minimized.
下面具体说明步骤S103中从N个数据种类的数据中选择剩余个数的数据种类的数据的详细内容。The following specifically describes the details of the data of the remaining number of data types selected from the data of the N data types in step S103.
在一实施例中,步骤S103中从N个数据种类的数据中选择剩余个数的数据种类的数据,可以包括:基于算法系统,从N个数据种类的数据中选择剩余个数的数据种类的数据。In an embodiment, selecting the remaining number of data types from the N data types in step S103 may include: based on an algorithm system, selecting the remaining number of data types from the N data types data.
不同的算法系统,其通过计算和处理后得到的结果的用途或作用是不一样的,对于数据种类的选择要求也是不一样的。例如一个是定位算法,一个是避障算法,不同方向的图像数据;对于定位算法来说,只要有参照物,选择相对的两个方向也是可以的(如上下方向均选择,或者左右方向均选择);对于避障算法来说,在不能眼观六路的情况下,最好每一对相对方向选择一个方向(如上下方向中选择一个方向,或者左右方向中选择一个方向)。通过这种方式,能够使选择的数据种类的数据尽可能满足该算法系统的要求,尽可能发挥该算法系统的性能。Different algorithm systems have different uses or functions of the results obtained through calculation and processing, and have different requirements for the selection of data types. For example, one is the positioning algorithm, the other is the obstacle avoidance algorithm, image data in different directions; for the positioning algorithm, as long as there is a reference object, it is also possible to select two opposite directions (for example, select both up and down directions, or select both left and right directions. ); For the obstacle avoidance algorithm, if you cannot observe the six directions, it is best to select one direction for each pair of relative directions (for example, select one direction from the up and down direction, or select one direction from the left and right directions). In this way, the data of the selected data type can meet the requirements of the algorithm system as much as possible, and the performance of the algorithm system can be exerted as much as possible.
在另一实施例中,步骤S103中从N个数据种类的数据中选择剩余个数的数据种类的数据,还可以包括:基于算法系统的具体应用,从N个数据种类的数据中选择剩余个数的数据种类的数据。In another embodiment, selecting the remaining number of data types from the N data types in step S103 may also include: based on the specific application of the algorithm system, selecting the remaining data types from the N data types Number of data types of data.
算法系统在不同的具体应用中,具体应用在利用算法系统通过计算和处理后得到的结果的具体用途或具体作用又会有区别,对于数据种类的选择要求也是不一样的。例如,定位算法应用在无人飞行器上和应用在机器人(不同服务类型的机器人,其要求也可以不一样)对不同方向的图像数据的选择也是不一样的,无人飞行器对飞行高度有限制,属于近地飞行,因此定位算法必须选择下方向,机器人是直接在地面上运动,因此定位算法可以不选择下方向,反而 前进方向可以是必须选择的方向。通过这种方式,能够使选择的数据种类的数据尽可能满足该算法系统的要求,尽可能发挥该算法系统的性能的同时,还能够尽可能保证算法系统具体应用的相关性能。In different specific applications of the algorithm system, the specific purpose or specific function of the results obtained through calculation and processing by the algorithm system will be different, and the requirements for the selection of data types are also different. For example, positioning algorithms applied to unmanned aerial vehicles and robots (robots with different service types may have different requirements) have different choices of image data in different directions. Unmanned aerial vehicles have restrictions on flying height. It belongs to near-ground flight, so the positioning algorithm must select the downward direction. The robot moves directly on the ground, so the positioning algorithm may not choose the downward direction, but the forward direction can be the direction that must be selected. In this way, the data of the selected data type can meet the requirements of the algorithm system as much as possible, and while the performance of the algorithm system is exerted as much as possible, the relevant performance of the specific application of the algorithm system can be ensured as much as possible.
在又一实施例中,步骤S103中从N个数据种类的数据中选择剩余个数的数据种类的数据,还可以包括:从N个数据种类的数据中动态选择剩余个数的数据种类的数据。In another embodiment, selecting the remaining number of data types from the N data types in step S103 may also include: dynamically selecting the remaining number of data types from the N data types. .
本实施例从N个数据种类的数据中选择出剩余个数的数据种类的数据后,这些选择出来的剩余个数的数据种类的数据并不是选择出来后,就不会改变,而是动态变化,即动态选择剩余个数的数据种类的数据。虽然剩余个数的数据种类的数据没有N个数据种类的数据那么全面,但是通过动态选择剩余个数的数据种类的数据,能够使算法系统充分、灵活应用各个数据种类的数据,使算法系统的性能得到部分补充,部分补偿,能够避免算法系统的性能固定向某一个方面倾斜,能够将系统资源利用率最大化,增强系统的鲁棒性和稳定性,从而能够尽可能保证算法系统具体应用的相关性能。In this embodiment, after selecting the remaining number of data types from the N data types, the selected remaining number of data types will not change after being selected, but will change dynamically. , That is, dynamically select the remaining number of data types of data. Although the data of the remaining number of data types is not as comprehensive as the data of the N data types, by dynamically selecting the data of the remaining number of data types, the algorithm system can fully and flexibly apply the data of each data type, so that the algorithm system The performance is partially supplemented and partially compensated, which can prevent the performance of the algorithm system from tilting to a certain aspect, maximize the utilization of system resources, enhance the robustness and stability of the system, and ensure the specific application of the algorithm system as much as possible. Related performance.
例如:上下左右前后6个方向的图像数据,需要选择3个方向的图像数据,可以在上下左右前后6个方向的图像数据中动态选择,而不是固定选择某3个方向。For example: image data in 6 directions up, down, left, and right, you need to select image data in 3 directions, you can dynamically select from the image data in the 6 directions, instead of fixedly selecting 3 directions.
需要说明的是,具体如何动态选择,可以根据具体的算法系统和具体的实际应用来确定。步骤S103中从N个数据种类的数据中选择剩余个数的数据种类的数据可以将上述多种实现方式结合。例如:基于算法系统,从N个数据种类的数据中动态选择剩余个数的数据种类的数据;或者,基于算法系统的具体应用,从N个数据种类的数据中动态选择剩余个数的数据种类的数据,等等。It should be noted that the specific dynamic selection can be determined according to the specific algorithm system and specific practical applications. The selection of the remaining number of data types from the N data types in step S103 can combine the above-mentioned multiple implementation manners. For example: based on the algorithm system, dynamically select the remaining number of data types from the N data types of data; or, based on the specific application of the algorithm system, dynamically select the remaining number of data types from the N data types of data Data, etc.
下面以基于视觉的算法系统为例,来说明具体相关细节。The following takes the vision-based algorithm system as an example to illustrate the specific details.
当算法系统包括基于视觉的算法系统时,其数据基本上是图像数据,可以是不同方向的图像数据,不同来源的图像数据,或者是不同分辨率的图像数据,等等。When the algorithm system includes a vision-based algorithm system, the data is basically image data, which can be image data in different directions, image data from different sources, or image data with different resolutions, and so on.
在一实施例中,N个数据种类的数据可以包括N个方向的图像数据。此时,步骤S103中从N个数据种类的数据中选择剩余个数的数据种类的数据, 还可以包括:从N个方向的图像数据中选择剩余个数方向的图像数据。不同方向的图像数据对于基于视觉的算法系统的用途很多,例如定位、避障、路径规划、导航,等等。其中,定位和避障是基本用途,是其他用途的基础。In an embodiment, the data of N data types may include image data of N directions. At this time, selecting the data of the remaining number of data types from the data of the N data types in step S103 may also include: selecting the image data of the remaining number of directions from the image data of the N directions. Image data in different directions has many uses for vision-based algorithm systems, such as positioning, obstacle avoidance, path planning, navigation, and so on. Among them, positioning and obstacle avoidance are the basic uses and the basis for other uses.
在一应用中,算法系统包括视觉定位算法系统。基于视觉的定位是利用视觉传感器获取物体图像,然后利用视觉定位算法系统对图像数据进行处理和计算,进而获得物体的位姿(位置和姿态)信息。视觉定位算法系统包括但不限于视觉里程计(Visual Odometry,VO)算法系统、视觉惯性里程计(Visual Inertial Odometry,VIO)算法系统,等等。In one application, the algorithm system includes a visual positioning algorithm system. Vision-based positioning uses a vision sensor to obtain an image of an object, and then uses a vision positioning algorithm system to process and calculate the image data, and then obtain the object's pose (position and posture) information. The visual positioning algorithm system includes, but is not limited to, the visual odometry (VO) algorithm system, the visual inertial odometry (Visual Inertial Odometry, VIO) algorithm system, and so on.
如果有多个方向都有视觉传感器,VO算法系统可以分开计算每个方向的结果,按照各自的相机位姿(camera pose)来选取参考关键帧(keyframe),从而计算出各自的结果,最后再考虑怎么融合使用。VIO算法系统统一估算的是飞机位姿,优势是状态量的维度,方便多路扩展,每增加一个方向的观测只需要增加相机和惯性测量单元(Inertial measurement unit,IMU)外参状态量,但由于多方向特征点数量很多,所以计算量比较大。If there are vision sensors in multiple directions, the VO algorithm system can calculate the results of each direction separately, select the reference keyframe according to the respective camera pose, and calculate the respective results, and finally Consider how to use it together. The VIO algorithm system uniformly estimates the pose of the aircraft. The advantage is the dimension of the state quantity, which is convenient for multi-channel expansion. Each additional direction of observation only needs to increase the external parameter state quantity of the camera and the inertial measurement unit (IMU), but Due to the large number of multi-directional feature points, the amount of calculation is relatively large.
当算法系统包括视觉定位算法系统时,步骤S103中从N个方向的图像数据中选择剩余个数方向的图像数据,具体可以包括:从N个方向的图像数据中选择剩余个数方向的图像数据,剩余个数方向是N个方向中的最好方向,最好方向是指N个方向中最有助于定位的方向。进一步,最好方向可能会发生变化,例如在某段时间,某个方向是最好方向之一,在另一段时间,这个方向不能被作为最好方向之一,因此还可以是动态选择剩余个数、最好方向的图像数据。When the algorithm system includes a visual positioning algorithm system, selecting image data in the remaining number directions from the image data in the N directions in step S103 may specifically include: selecting image data in the remaining number directions from the image data in the N directions , The remaining number direction is the best direction among the N directions, and the best direction refers to the direction most helpful for positioning among the N directions. Further, the best direction may change. For example, in a certain period of time, a certain direction is one of the best directions. In another period of time, this direction cannot be regarded as one of the best directions, so the remaining ones can also be dynamically selected. Number and best direction image data.
视觉定位算法系统的用途是定位,因此当不能利用N个方向的图像数据时,尽可能选择最有助于定位的剩余个数的方向的图像数据,以尽可能提高定位准确性。The purpose of the visual positioning algorithm system is positioning. Therefore, when image data in N directions cannot be used, image data in the remaining directions that are most helpful for positioning are selected as much as possible to improve positioning accuracy as much as possible.
在一实际应用中,从多个方向中选择“最好方向”的依据可以是:通过三角化测量方法匹配成功的特征点的数量N,除以特征点的平均深度d0,即N/d0越大,方向越好。N个方向按照N/d0的值从大到小排列,选择前面的剩余个数的N/d0值代表的方向,即为最好方向。In a practical application, the basis for selecting the "best direction" from multiple directions can be: the number of feature points successfully matched by the triangulation measurement method, N, divided by the average depth d0 of the feature points, that is, N/d0 is more The bigger, the better the direction. The N directions are arranged from large to small according to the value of N/d0, and the direction represented by the value of N/d0 of the remaining number in the front is selected, which is the best direction.
具体地,每一个方向都计算特征点的平均深度,可以分为三种情况:Specifically, the average depth of feature points is calculated in each direction, which can be divided into three situations:
(1)如果最新Keyframe上双目立体匹配(Stereo Match,区别于帧间匹配Frame Match)成功的点数大于一定阈值,比如100个点,那么使用双目立体匹配计算的深度,求取平均值;(1) If the number of successful binocular stereo matching (Stereo Match, different from inter-frame matching Frame Match) on the latest Keyframe is greater than a certain threshold, such as 100 points, then use the depth calculated by binocular stereo matching to find the average value;
(2)如果不满足(1),那么将通过三角化测量方法匹配成功的特征点在最新Keyframe上的直方图统计的深度,作为平均深度;(2) If (1) is not satisfied, then the histogram statistics of the feature points successfully matched by the triangulation measurement method on the latest Keyframe will be used as the average depth;
(3)如果上述两个均失败,那么将平均深度赋一个比较大的值,比如500m。(3) If the above two fail, then assign a larger value to the average depth, such as 500m.
其中,视觉定位算法系统应用于无人飞行器,最好方向包括下方向。无人飞行器的飞行高度有限制,属于近地飞行,通常周围越近的物体在图像上越清晰,能够匹配上的特征点越多,越有助于定位,而下方向的物体离无人飞行器通常比较近,因此,当视觉定位算法系统应用于无人飞行器时,最好方向包括下方向。视觉定位算法系统与无人飞行器的悬停性能相关。Among them, the visual positioning algorithm system is applied to unmanned aerial vehicles, and the best direction includes the downward direction. The flying height of unmanned aerial vehicles is limited and belongs to close-to-ground flight. Generally, the closer the object is, the clearer the image, and the more feature points that can be matched, the more helpful it is for positioning. Objects in the downward direction are usually away from the unmanned aerial vehicle. It is relatively close, so when the visual positioning algorithm system is applied to an unmanned aerial vehicle, the best direction includes the downward direction. The visual positioning algorithm system is related to the hovering performance of the unmanned aerial vehicle.
又如,如果视觉定位算法系统应用于直接在地面移动的地面机器人,很显然最好方向包括前进方向。For another example, if the visual positioning algorithm system is applied to a ground robot that directly moves on the ground, it is clear that the best direction includes the forward direction.
在另一应用中,算法系统包括避障(Obstacle Avoid,OA)算法系统。例如:半全局匹配(Semi-global matching,SGM)算法系统,等等。In another application, the algorithm system includes an obstacle avoidance (OA) algorithm system. For example: Semi-global matching (SGM) algorithm system, etc.
当算法系统包括避障算法系统时,步骤S103中从N个方向的图像数据中选择剩余个数方向的图像数据,还可以包括:从N个方向的图像数据中选择剩余个数方向的图像数据,其中,N个方向包括成对的相对方向,剩余个数方向中的方向包括相对方向中的一个方向。具体选择时,可以是从成对的相对方向动态选择相对方向中的一个方向的图像数据。例如:在某一段时间选择左方向的图像数据,在另一段时间选择右方向的图像数据;在某一段时间选择下方向的图像数据,在另一段时间选择上方向的图像数据;在某一段时间选择前方向的图像数据,在另一段时间选择后方向的图像数据;等等。When the algorithm system includes an obstacle avoidance algorithm system, selecting image data in the remaining number directions from the image data in N directions in step S103 may also include: selecting image data in the remaining number directions from the image data in the N directions , Wherein the N directions include a pair of opposite directions, and the directions in the remaining number directions include one of the opposite directions. In the specific selection, the image data of one of the relative directions may be dynamically selected from the pair of relative directions. For example: select the image data in the left direction in a certain period of time, select the image data in the right direction in another period of time; select the image data in the downward direction in a certain period of time, and select the image data in the upper direction in another period of time; in a certain period of time Select the image data in the front direction, and select the image data in the back direction in another period of time; and so on.
避开障碍物最好是周围全方向的图像数据,周围方向通常是选择成对,即N个方向包括成对的相对方向,当无法利用N个方向的图像数据时,最好能够选择相对方向中的一个方向,最起码在相对的方向上有障碍物与否可以参考,避免在相对方向上全盲。The best way to avoid obstacles is the image data in all directions around. The surrounding directions are usually selected in pairs, that is, N directions include pairs of relative directions. When image data in N directions cannot be used, it is best to select the relative direction. In one direction, at least there are obstacles in the opposite direction for reference, so as to avoid blindness in the opposite direction.
下面以VIO算法系统和避障算法系统在无人飞行器中的应用为例来详细 说明本申请方法。The following takes the application of the VIO algorithm system and the obstacle avoidance algorithm system in the unmanned aerial vehicle as an example to illustrate the method of this application in detail.
参见图2,图2是无人飞行器双芯片的负载均衡示意图。正常情况下,左边的芯片作为主芯片,接入了前、下、后三个方向的视觉传感器,正常负责避障算法系统在这三个方向的图像数据的计算和处理;右边的芯片作为从芯片,接入了上、左、右三个方向的视觉传感器,负责避障算法系统在这三个方向的图像数据的计算和处理。而无人飞行器的VIO算法系统在上述6个方向的图像数据则运行在主芯片(或者从芯片)上。Refer to Figure 2, which is a schematic diagram of load balancing of the dual-chip UAV. Under normal circumstances, the chip on the left is used as the master chip, connected to the front, down, and rear vision sensors, and is normally responsible for the calculation and processing of the image data of the obstacle avoidance algorithm system in these three directions; the chip on the right is used as the slave The chip is connected with vision sensors in the upper, left, and right directions, and is responsible for the calculation and processing of the image data of the obstacle avoidance algorithm system in these three directions. The image data of the UAV's VIO algorithm system in the above six directions runs on the master chip (or slave chip).
当其中一个芯片损坏时,VIO算法系统和避障算法系统在剩下的一个芯片上的负载均衡策略可以是:When one of the chips is damaged, the load balancing strategy of the VIO algorithm system and the obstacle avoidance algorithm system on the remaining chip can be:
对于VIO算法系统,当检测到一块芯片损坏后,紧急切换逻辑,在保留将下方向的图像数据用于VIO算法的同时,从前/后/左/右/上五个方向里选两个(下+五选二)。如果下方向的图像数据也不可用,则改为从剩余的五个方向的图像数据中选三个方向的图像数据。For the VIO algorithm system, when a chip is detected to be damaged, the logic is switched urgently. While retaining the image data in the downward direction for the VIO algorithm, select two from the five directions of front/rear/left/right/up (down + Choose two from five). If the image data in the downward direction is not available, the image data in three directions is selected from the image data in the remaining five directions instead.
这里最好方向参照指标G=N/d0,G越大,代表该方向越好。Here it is best to refer to the direction index G=N/d0. The larger the G, the better the direction.
首先,下方向一般都是可靠的,所以当下方向可用时(下方向可用,指下方向的图像中有足够的特征点,并且前后图像的特征点能够匹配上),下方向的图像数据始终都参与VIO算法系统的计算。如果下方向也不可用,则需要从剩余5个方向里选3个最好方向的图像数据的使用。First of all, the downward direction is generally reliable, so when the downward direction is available (the downward direction is available, there are enough feature points in the image in the downward direction, and the feature points of the front and back images can match the upper), the image data in the downward direction is always available. Participate in the calculation of the VIO algorithm system. If the downward direction is not available, you need to choose the image data of the 3 best directions from the remaining 5 directions.
在初始化的时候,需要对上、前、后、左、右方向都计算一次该方向的G值,将G值依次从高到低排列,比如得到:前30、右28、后20、左16、上5,选择G值最靠前的前方向与右方向。When initializing, you need to calculate the G value of the direction once for the top, front, back, left, and right directions, and arrange the G values in order from high to low, such as: front 30, right 28, back 20, left 16 , Top 5, select the front and right directions with the most forward G value.
在飞行过程中,可以以一定时间间隔计算前方向与后方向的G值。如果在飞行过程中,某一个方向没有匹配特征点,或是离场景很远,那么其G值就会逐渐降低,当G值低于一定值,比如阈值Gth为8的时候,此时计算得到的G值为:前7、右20。那么下一次计算就不会使用前方向的信息去更新状态量,而是可以依次尝试计算右方向和后方向的G值(即在这个过程中,只是计算前、后、左的G值,而不参与VIO算法系统计算,不更新状态量,计算量比较小),重新根据G值(右20、后17、左10、前7、上5)选取出最好的方向为右和后,以此类推。只有G值低于阈值才计算备选方向,这样 可以节省计算资源。如果前、后、左、右、上五个方向都不合格,那下次还是仅仅计算G值,不参与算法系统的计算。During the flight, the G value in the forward and backward directions can be calculated at a certain time interval. If there is no matching feature point in a certain direction or far away from the scene during the flight, the G value will gradually decrease. When the G value is lower than a certain value, for example, when the threshold Gth is 8, the calculation is obtained at this time The G value is: the first 7 and the right 20. Then the next calculation will not use the information in the front direction to update the state quantity, but can try to calculate the G value in the right direction and the back direction in turn (that is, in this process, only calculate the front, back, and left G values, and Do not participate in the calculation of the VIO algorithm system, do not update the state amount, the calculation amount is relatively small), and re-select the best direction as right and back according to the G value (right 20, back 17, left 10, front 7, and up 5). And so on. Only when the G value is lower than the threshold, the alternative directions are calculated, which can save computing resources. If the five directions of front, back, left, right, and up are unqualified, then only the G value will be calculated next time and will not participate in the calculation of the algorithm system.
对于避障算法系统,当检测到一块芯片损坏后,紧急切换逻辑,根据飞行方向(IMU+GPS+VIO组合导航给出速度观测),按飞行的方向在上/下+左/右+前/后,六个方向中按照每对相对方向中选出一个方向的方式,选出三个方向的图像数据参与避障算法系统的计算。For the obstacle avoidance algorithm system, when a chip is detected to be damaged, the logic is urgently switched, according to the flight direction (IMU+GPS+VIO combined navigation gives speed observation), according to the flight direction up/down+left/right+forward/ Then, the image data of three directions are selected to participate in the calculation of the obstacle avoidance algorithm system in the manner of selecting one direction from each pair of relative directions among the six directions.
其中,在制作深度图的过程中,可以融合不同分辨率的视差提高深度图精度。具体是:可以根据具有较低分辨率的低精度深度图和高分辨率立体图像对来高效地获得高精度深度图;可以通过优化能量函数来根据高分辨率图像获得视差值;可以使用视差值,以便选择性地用高精度值替换深度图的低精度值;可以通过选择性地在远距离小视差像素上对能量函数进行优化,提高效率;根据输入的深度图的较低分辨率,对能量函数进行水平和垂直间隔采样,来进一步提高效率。Among them, in the process of making the depth map, the disparity of different resolutions can be merged to improve the accuracy of the depth map. Specifically: the high-precision depth map can be obtained efficiently according to the pair of low-resolution depth map and high-resolution stereo image with lower resolution; the disparity value can be obtained from the high-resolution image by optimizing the energy function; The difference value, in order to selectively replace the low-precision value of the depth map with a high-precision value; the energy function can be selectively optimized on the long-distance small parallax pixel to improve efficiency; according to the lower resolution of the input depth map , The energy function is sampled at horizontal and vertical intervals to further improve efficiency.
参见图3,图3是本申请自适应负载均衡的系统一实施例的结构示意图,该自适应负载均衡的系统适用于算法系统,该算法系统运行在多个芯片上,多个芯片承载该算法系统N个数据种类的数据的计算。需要说明的是,该自适应负载均衡的系统能够实现上述自适应负载均衡的方法中的步骤,相关内容的详细说明请参见上述方法部分,在此不在赘叙。Refer to FIG. 3, which is a schematic structural diagram of an embodiment of an adaptive load balancing system of the present application. The adaptive load balancing system is suitable for an algorithm system that runs on multiple chips, and multiple chips carry the algorithm System calculation of data of N data types. It should be noted that the adaptive load balancing system can implement the steps in the above-mentioned adaptive load balancing method. For detailed descriptions of related content, please refer to the above method part, which will not be repeated here.
该自适应负载均衡的系统100包括:存储器1和处理器2;存储器1和处理器2通过总线连接。The adaptive load balancing system 100 includes: a memory 1 and a processor 2; the memory 1 and the processor 2 are connected by a bus.
其中,处理器2可以是微控制单元、中央处理单元或数字信号处理器,等等。Among them, the processor 2 may be a micro control unit, a central processing unit, or a digital signal processor, and so on.
其中,存储器1可以是Flash芯片、只读存储器、磁盘、光盘、U盘或者移动硬盘等等。Among them, the memory 1 can be a Flash chip, a read-only memory, a magnetic disk, an optical disk, a U disk or a mobile hard disk, etc.
存储器1用于存储计算机程序;处理器2用于执行计算机程序并在执行计算机程序时,实现如下步骤:The memory 1 is used to store a computer program; the processor 2 is used to execute the computer program and when the computer program is executed, the following steps are implemented:
获取坏芯片的数量;根据坏芯片的数量和每个芯片承载的数据种类的平均个数,确定除坏芯片外的剩余芯片承载的数据种类的剩余个数;从N个数据种类的数据中选择剩余个数的数据种类的数据,得到选择数据种类的数据,N 为大于或等于二的正整数;将选择数据种类的数据作为算法系统的数据均衡地运行在剩余芯片上。Get the number of bad chips; according to the number of bad chips and the average number of data types carried by each chip, determine the remaining number of data types carried by the remaining chips except for the bad chips; select from the data of N data types The data of the remaining number of data types are selected to obtain the data of the selected data type, and N is a positive integer greater than or equal to two; the data of the selected data type is run on the remaining chips in a balanced manner as the data of the algorithm system.
本申请实施例获取坏芯片的数量;根据坏芯片的数量和每个芯片承载的数据种类的平均个数,确定除坏芯片外的剩余芯片承载的数据种类的剩余个数;从N个数据种类的数据中选择剩余个数的数据种类的数据,得到选择数据种类的数据;将选择数据种类的数据作为算法系统的数据均衡地运行在剩余芯片上。由于根据坏芯片的数量和每个芯片承载的数据种类的平均个数确定剩余芯片承载的数据种类的剩余个数,并从N个数据种类选择剩余个数的数据种类,将选择的数据种类的数据作为算法系统的数据均衡地运行在剩余芯片上,通过这种方式,能够使选择出来的、剩余芯片能力范围内能够承受的数据种类的数据均衡地运行在剩余芯片上,从而能够尽可能将坏芯片对算法系统带来的影响降低到最低程度,将坏芯片对算法系统具体应用的相关性能的影响降低到最低程度。The embodiment of the application obtains the number of bad chips; according to the number of bad chips and the average number of data types carried by each chip, the remaining number of data types carried by the remaining chips except for the bad chips is determined; from N data types Select the data of the remaining number of data types from the data to obtain the data of the selected data type; use the data of the selected data type as the data of the algorithm system to run on the remaining chips in a balanced manner. Since the remaining number of data types carried by the remaining chips is determined according to the number of bad chips and the average number of data types carried by each chip, and the remaining number of data types is selected from the N data types, the selected data type will be As the data of the algorithm system, the data runs on the remaining chips in a balanced manner. In this way, the selected data types that can withstand the capabilities of the remaining chips can be run on the remaining chips in a balanced manner. The impact of the bad chip on the algorithm system is minimized, and the impact of the bad chip on the performance of the specific application of the algorithm system is minimized.
其中,处理器在执行计算机程序时,实现如下步骤:基于算法系统,从N个数据种类的数据中选择剩余个数的数据种类的数据。Wherein, when the processor executes the computer program, it implements the following steps: based on the algorithm system, select the remaining number of data types from the N data types.
其中,处理器在执行计算机程序时,实现如下步骤:基于算法系统的具体应用,从N个数据种类的数据中选择剩余个数的数据种类的数据。Wherein, when the processor executes the computer program, it implements the following steps: based on the specific application of the algorithm system, select the remaining number of data types from the N data types.
其中,处理器在执行计算机程序时,实现如下步骤:从N个数据种类的数据中动态选择剩余个数的数据种类的数据。Among them, when the processor executes the computer program, the following steps are implemented: dynamically selecting the remaining number of data types from the N data types.
其中,算法系统包括基于人工智能的算法系统。Among them, the algorithm system includes an algorithm system based on artificial intelligence.
其中,算法系统包括基于视觉的算法系统;N个数据种类的数据包括N个方向的图像数据。Among them, the algorithm system includes a vision-based algorithm system; N data types include image data in N directions.
其中,处理器在执行计算机程序时,实现如下步骤:从N个方向的图像数据中选择剩余个数方向的图像数据。Wherein, when the processor executes the computer program, it implements the following steps: select the image data of the remaining number of directions from the image data of the N directions.
其中,算法系统包括视觉定位算法系统。Among them, the algorithm system includes a visual positioning algorithm system.
其中,处理器在执行计算机程序时,实现如下步骤:从N个方向的图像数据中选择剩余个数方向的图像数据,剩余个数方向是N个方向中的最好方向,最好方向是指N个方向中最有助于定位的方向。Among them, when the processor executes the computer program, it implements the following steps: select the image data of the remaining number directions from the image data of the N directions, the remaining number direction is the best direction among the N directions, and the best direction refers to The direction most helpful for positioning among the N directions.
其中,视觉定位算法系统应用于无人飞行器,最好方向包括下方向。Among them, the visual positioning algorithm system is applied to unmanned aerial vehicles, and the best direction includes the downward direction.
其中,视觉定位算法系统包括视觉惯性里程计算法系统。Among them, the visual positioning algorithm system includes the visual inertial mileage calculation system.
其中,算法系统包括避障算法系统。Among them, the algorithm system includes obstacle avoidance algorithm system.
其中,处理器在执行计算机程序时,实现如下步骤:从N个方向的图像数据中选择剩余个数方向的图像数据,其中,N个方向包括成对的相对方向,剩余个数方向中的方向包括相对方向中的一个方向。Wherein, when the processor executes the computer program, it implements the following steps: select image data in the remaining number directions from the image data in N directions, where the N directions include pairs of relative directions, and the directions in the remaining number directions Including one of the opposite directions.
本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时使处理器实现如上任一项的自适应负载均衡的方法。相关内容的详细说明请参见上述自适应负载均衡的方法内容部分,在此不再赘叙。The present application also provides a computer-readable storage medium that stores a computer program, and when the computer program is executed by a processor, the processor realizes the method for adaptive load balancing as described above. For a detailed description of the relevant content, please refer to the content section of the above adaptive load balancing method, which will not be repeated here.
其中,该计算机可读存储介质可以是上述自适应负载均衡的系统的内部存储单元,例如硬盘或内存。该计算机可读存储介质也可以是上述自适应负载均衡的系统的外部存储设备,例如配备的插接式硬盘、智能存储卡、安全数字卡、闪存卡,等等。Wherein, the computer-readable storage medium may be an internal storage unit of the aforementioned adaptive load balancing system, such as a hard disk or a memory. The computer-readable storage medium may also be an external storage device of the above-mentioned adaptive load balancing system, such as an equipped plug-in hard disk, a smart memory card, a secure digital card, a flash memory card, and so on.
应当理解,在本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。It should be understood that the terms used in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit the application.
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。It should also be understood that the term "and/or" used in the specification and appended claims of this application refers to any combination of one or more of the associated listed items and all possible combinations, and includes these combinations.
以上所述,仅为本申请的具体实施例,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above are only specific embodiments of this application, but the scope of protection of this application is not limited to this. Any person skilled in the art can easily think of various equivalents within the technical scope disclosed in this application. Modifications or replacements, these modifications or replacements shall be covered within the protection scope of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.

Claims (27)

  1. 一种自适应负载均衡的方法,其特征在于,所述方法适用于算法系统,所述算法系统运行在多个芯片上,所述多个芯片承载所述算法系统N个数据种类的数据的计算,所述方法包括:An adaptive load balancing method, characterized in that the method is suitable for an algorithm system, the algorithm system runs on multiple chips, and the multiple chips carry calculations of data of N data types in the algorithm system , The method includes:
    获取坏芯片的数量;Get the number of bad chips;
    根据所述坏芯片的数量和每个芯片承载的数据种类的平均个数,确定除所述坏芯片外的剩余芯片承载的数据种类的剩余个数;Determining the remaining number of data types carried by the remaining chips except the bad chip according to the number of the bad chips and the average number of data types carried by each chip;
    从所述N个数据种类的数据中选择剩余个数的数据种类的数据,得到选择数据种类的数据,N为大于或等于二的正整数;Selecting the remaining number of data types from the N data types to obtain data of the selected data type, where N is a positive integer greater than or equal to two;
    将所述选择数据种类的数据作为所述算法系统的数据均衡地运行在所述剩余芯片上。The data of the selected data type is run on the remaining chips in a balanced manner as the data of the algorithm system.
  2. 根据权利要求1所述的方法,其特征在于,所述从所述N个数据种类的数据中选择剩余个数的数据种类的数据,包括:The method according to claim 1, wherein the selecting the remaining number of data types from the N data types includes:
    基于所述算法系统,从所述N个数据种类的数据中选择剩余个数的数据种类的数据。Based on the algorithm system, data of the remaining number of data types are selected from the data of the N data types.
  3. 根据权利要求1所述的方法,其特征在于,所述从所述N个数据种类的数据中选择剩余个数的数据种类的数据,包括:The method according to claim 1, wherein the selecting the remaining number of data types from the N data types includes:
    基于所述算法系统的具体应用,从所述N个数据种类的数据中选择剩余个数的数据种类的数据。Based on the specific application of the algorithm system, data of the remaining number of data types are selected from the data of the N data types.
  4. 根据权利要求1所述的方法,其特征在于,所述从所述N个数据种类的数据中选择剩余个数的数据种类的数据,包括:The method according to claim 1, wherein the selecting the remaining number of data types from the N data types includes:
    从所述N个数据种类的数据中动态选择剩余个数的数据种类的数据。The remaining number of data types are dynamically selected from the N data types of data.
  5. 根据权利要求1所述的方法,其特征在于,所述算法系统包括基于人工智能的算法系统。The method according to claim 1, wherein the algorithm system comprises an algorithm system based on artificial intelligence.
  6. 根据权利要求1所述的方法,其特征在于,所述算法系统包括基于视觉的算法系统;所述N个数据种类的数据包括N个方向的图像数据。The method according to claim 1, wherein the algorithm system comprises a vision-based algorithm system; the data of the N data types comprises image data of N directions.
  7. 根据权利要求6所述的方法,其特征在于,所述从所述N个数据种类的数据中选择剩余个数的数据种类的数据,包括:The method according to claim 6, wherein the selecting the remaining number of data types of data from the N data types of data comprises:
    从所述N个方向的图像数据中选择剩余个数方向的图像数据。Select the image data of the remaining number of directions from the image data of the N directions.
  8. 根据权利要求7所述的方法,其特征在于,所述算法系统包括视觉定位算法系统。The method according to claim 7, wherein the algorithm system comprises a visual positioning algorithm system.
  9. 根据权利要求8所述的方法,其特征在于,所述从N个方向的图像数据中选择剩余个数方向的图像数据,包括:The method according to claim 8, wherein the selecting image data in the remaining number directions from the image data in N directions comprises:
    从所述N个方向的图像数据中选择剩余个数方向的图像数据,所述剩余个数方向是所述N个方向中的最好方向,所述最好方向是指所述N个方向中最有助于定位的方向。Select the image data of the remaining number directions from the image data of the N directions, the remaining number direction is the best direction among the N directions, and the best direction refers to the N directions The direction most helpful for positioning.
  10. 根据权利要求9所述的方法,其特征在于,所述视觉定位算法系统应用于无人飞行器,所述最好方向包括下方向。The method according to claim 9, wherein the visual positioning algorithm system is applied to an unmanned aerial vehicle, and the best direction includes a downward direction.
  11. 根据权利要求8所述的方法,其特征在于,所述视觉定位算法系统包括视觉惯性里程计算法系统。The method according to claim 8, wherein the visual positioning algorithm system comprises a visual inertial mileage calculation system.
  12. 根据权利要求7所述的方法,其特征在于,所述算法系统包括避障算法系统。The method according to claim 7, wherein the algorithm system comprises an obstacle avoidance algorithm system.
  13. 根据权利要求12所述的方法,其特征在于,所述从N个方向的图像数据中选择剩余个数方向的图像数据,包括:The method according to claim 12, wherein the selecting the image data of the remaining number of directions from the image data of the N directions comprises:
    从N个方向的图像数据中选择剩余个数方向的图像数据,其中,所述N个方向包括成对的相对方向,所述剩余个数方向中的方向包括所述相对方向中的一个方向。The image data of the remaining number directions are selected from the image data of N directions, wherein the N directions include a pair of relative directions, and the direction in the remaining number directions includes one of the relative directions.
  14. 一种自适应负载均衡的系统,其特征在于,所述自适应负载均衡的系统适用于算法系统,所述算法系统运行在多个芯片上,所述多个芯片承载所述算法系统N个数据种类的数据的计算,所述系统包括:存储器和处理器;An adaptive load balancing system, characterized in that the adaptive load balancing system is suitable for an algorithm system, the algorithm system runs on multiple chips, and the multiple chips carry N data of the algorithm system For calculation of various types of data, the system includes: a memory and a processor;
    所述存储器用于存储计算机程序;The memory is used to store a computer program;
    所述处理器用于执行所述计算机程序并在执行所述计算机程序时,实现如下步骤:The processor is used to execute the computer program and when executing the computer program, implement the following steps:
    获取坏芯片的数量;Get the number of bad chips;
    根据所述坏芯片的数量和每个芯片承载的数据种类的平均个数,确定除所述坏芯片外的剩余芯片承载的数据种类的剩余个数;Determining the remaining number of data types carried by the remaining chips except the bad chip according to the number of the bad chips and the average number of data types carried by each chip;
    从所述N个数据种类的数据中选择剩余个数的数据种类的数据,得到选 择数据种类的数据,N为大于或等于二的正整数;Select the remaining number of data types from the N data types to obtain the selected data type data, where N is a positive integer greater than or equal to two;
    将所述选择数据种类的数据作为所述算法系统的数据均衡地运行在所述剩余芯片上。The data of the selected data type is run on the remaining chips in a balanced manner as the data of the algorithm system.
  15. 根据权利要求14所述的系统,其特征在于,所述处理器在执行所述计算机程序时,实现如下步骤:The system according to claim 14, wherein the processor implements the following steps when executing the computer program:
    基于所述算法系统,从所述N个数据种类的数据中选择剩余个数的数据种类的数据。Based on the algorithm system, data of the remaining number of data types are selected from the data of the N data types.
  16. 根据权利要求14所述的系统,其特征在于,所述处理器在执行所述计算机程序时,实现如下步骤:The system according to claim 14, wherein the processor implements the following steps when executing the computer program:
    基于所述算法系统的具体应用,从所述N个数据种类的数据中选择剩余个数的数据种类的数据。Based on the specific application of the algorithm system, data of the remaining number of data types are selected from the data of the N data types.
  17. 根据权利要求14所述的系统,其特征在于,所述处理器在执行所述计算机程序时,实现如下步骤:The system according to claim 14, wherein the processor implements the following steps when executing the computer program:
    从所述N个数据种类的数据中动态选择剩余个数的数据种类的数据。The remaining number of data types are dynamically selected from the N data types of data.
  18. 根据权利要求14所述的系统,其特征在于,所述算法系统包括基于人工智能的算法系统。The system according to claim 14, wherein the algorithm system comprises an algorithm system based on artificial intelligence.
  19. 根据权利要求14所述的系统,其特征在于,所述算法系统包括基于视觉的算法系统;所述N个数据种类的数据包括N个方向的图像数据。The system according to claim 14, wherein the algorithm system comprises a vision-based algorithm system; the data of the N data types comprises image data of N directions.
  20. 根据权利要求19所述的系统,其特征在于,所述处理器在执行所述计算机程序时,实现如下步骤:The system according to claim 19, wherein the processor implements the following steps when executing the computer program:
    从所述N个方向的图像数据中选择剩余个数方向的图像数据。Select the image data of the remaining number of directions from the image data of the N directions.
  21. 根据权利要求20所述的系统,其特征在于,所述算法系统包括视觉定位算法系统。The system according to claim 20, wherein the algorithm system comprises a visual positioning algorithm system.
  22. 根据权利要求21所述的系统,其特征在于,所述处理器在执行所述计算机程序时,实现如下步骤:The system according to claim 21, wherein the processor implements the following steps when executing the computer program:
    从所述N个方向的图像数据中选择剩余个数方向的图像数据,所述剩余个数方向是所述N个方向中的最好方向,所述最好方向是指所述N个方向中最有助于定位的方向。Select the image data of the remaining number directions from the image data of the N directions, the remaining number direction is the best direction among the N directions, and the best direction refers to the N directions The direction most helpful for positioning.
  23. 根据权利要求22所述的系统,其特征在于,所述视觉定位算法系统 应用于无人飞行器,所述最好方向包括下方向。The system according to claim 22, wherein the visual positioning algorithm system is applied to an unmanned aerial vehicle, and the best direction includes a downward direction.
  24. 根据权利要求21所述的系统,其特征在于,所述视觉定位算法系统包括视觉惯性里程计算法系统。The system according to claim 21, wherein the visual positioning algorithm system comprises a visual inertial mileage calculation system.
  25. 根据权利要求20所述的系统,其特征在于,所述算法系统包括避障算法系统。The system according to claim 20, wherein the algorithm system comprises an obstacle avoidance algorithm system.
  26. 根据权利要求25所述的系统,其特征在于,所述处理器在执行所述计算机程序时,实现如下步骤:The system according to claim 25, wherein the processor implements the following steps when executing the computer program:
    从N个方向的图像数据中选择剩余个数方向的图像数据,其中,所述N个方向包括成对的相对方向,所述剩余个数方向中的方向包括所述相对方向中的一个方向。The image data of the remaining number directions are selected from the image data of N directions, wherein the N directions include a pair of relative directions, and the direction in the remaining number directions includes one of the relative directions.
  27. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1-13任一项所述的自适应负载均衡的方法。A computer-readable storage medium, characterized in that, the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor realizes any one of claims 1-13. The method of adaptive load balancing.
PCT/CN2020/077845 2020-03-04 2020-03-04 Self-adaptive load balancing method and system, and storage medium WO2021174466A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2020/077845 WO2021174466A1 (en) 2020-03-04 2020-03-04 Self-adaptive load balancing method and system, and storage medium
CN202080005240.4A CN112753018B (en) 2020-03-04 2020-03-04 Method, system and storage medium for adaptive load balancing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/077845 WO2021174466A1 (en) 2020-03-04 2020-03-04 Self-adaptive load balancing method and system, and storage medium

Publications (1)

Publication Number Publication Date
WO2021174466A1 true WO2021174466A1 (en) 2021-09-10

Family

ID=75651294

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/077845 WO2021174466A1 (en) 2020-03-04 2020-03-04 Self-adaptive load balancing method and system, and storage medium

Country Status (2)

Country Link
CN (1) CN112753018B (en)
WO (1) WO2021174466A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852502A (en) * 2006-05-29 2006-10-25 杭州华为三康技术有限公司 Method for realizing load uniform in clustering system, system and storage controller
CN101415023A (en) * 2008-08-08 2009-04-22 西安瑞友信息技术资讯有限公司 Intelligent dynamic load equilibrium technology for server
US20120102369A1 (en) * 2010-10-25 2012-04-26 Matti Hiltunen Dynamically Allocating Multitier Applications Based Upon Application Requirements and Performance and Reliability of Resources
CN103440173A (en) * 2013-08-23 2013-12-11 华为技术有限公司 Scheduling method and related devices of multi-core processors
CN110651255A (en) * 2018-12-04 2020-01-03 深圳市大疆创新科技有限公司 Load control method, movable platform and computer readable storage medium
CN110789723A (en) * 2018-08-01 2020-02-14 通用电气公司 Intelligent task thermal management system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101494697B (en) * 2008-01-21 2011-11-30 中兴通讯股份有限公司 Load equilibrium method and apparatus employing double-blade server
US8255644B2 (en) * 2009-05-18 2012-08-28 Lsi Corporation Network communications processor architecture with memory load balancing
CN104615498B (en) * 2015-01-22 2018-04-03 北京仿真中心 A kind of group system dynamic load balancing method of task based access control migration
CN108536539B (en) * 2018-04-26 2021-12-17 东北大学 Task scheduling method in industrial distributed data acquisition system
CN110333945A (en) * 2019-05-09 2019-10-15 成都信息工程大学 A kind of dynamic load balancing method, system and terminal
CN110766159B (en) * 2019-09-29 2022-08-30 南京理工大学 Task allocation method for multi-UAV service edge calculation based on improved genetic algorithm

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1852502A (en) * 2006-05-29 2006-10-25 杭州华为三康技术有限公司 Method for realizing load uniform in clustering system, system and storage controller
CN101415023A (en) * 2008-08-08 2009-04-22 西安瑞友信息技术资讯有限公司 Intelligent dynamic load equilibrium technology for server
US20120102369A1 (en) * 2010-10-25 2012-04-26 Matti Hiltunen Dynamically Allocating Multitier Applications Based Upon Application Requirements and Performance and Reliability of Resources
CN103440173A (en) * 2013-08-23 2013-12-11 华为技术有限公司 Scheduling method and related devices of multi-core processors
CN110789723A (en) * 2018-08-01 2020-02-14 通用电气公司 Intelligent task thermal management system
CN110651255A (en) * 2018-12-04 2020-01-03 深圳市大疆创新科技有限公司 Load control method, movable platform and computer readable storage medium

Also Published As

Publication number Publication date
CN112753018B (en) 2022-06-10
CN112753018A (en) 2021-05-04

Similar Documents

Publication Publication Date Title
WO2021233029A1 (en) Simultaneous localization and mapping method, device, system and storage medium
Du et al. Car detection for autonomous vehicle: LIDAR and vision fusion approach through deep learning framework
US10665115B2 (en) Controlling unmanned aerial vehicles to avoid obstacle collision
Yang et al. Fast depth prediction and obstacle avoidance on a monocular drone using probabilistic convolutional neural network
US8199977B2 (en) System and method for extraction of features from a 3-D point cloud
Murali et al. Perception-aware trajectory generation for aggressive quadrotor flight using differential flatness
KR20200005999A (en) Slam method and slam system using dual event camaer
WO2020150904A1 (en) Neural network based obstacle detection for mobile platforms, and associated systems and methods
CN111612753B (en) Three-dimensional object detection method and device, electronic equipment and readable storage medium
US11713977B2 (en) Information processing apparatus, information processing method, and medium
KR20210052409A (en) Lane line determination method and apparatus, lane line positioning accuracy evaluation method and apparatus, device, and program
KR20190088866A (en) Method, apparatus and computer readable medium for adjusting point cloud data collection trajectory
CN106908052B (en) Path planning method and device for intelligent robot
Eynard et al. Real time UAV altitude, attitude and motion estimation from hybrid stereovision
US20240153122A1 (en) Binocular vision-based environment sensing method and apparatus, and unmanned aerial vehicle
CN112734765A (en) Mobile robot positioning method, system and medium based on example segmentation and multi-sensor fusion
Laflamme et al. Driving datasets literature review
CN112965507A (en) Cluster unmanned aerial vehicle cooperative work system and method based on intelligent optimization
CN113126120A (en) Data annotation method, device, equipment, storage medium and computer program product
WO2021174466A1 (en) Self-adaptive load balancing method and system, and storage medium
CN115239899B (en) Pose map generation method, high-precision map generation method and device
CN114648639B (en) Target vehicle detection method, system and device
WO2020154911A1 (en) Sky determination in environment detection for mobile platforms, and associated systems and methods
CN116642490A (en) Visual positioning navigation method based on hybrid map, robot and storage medium
CN114972539A (en) Machine room camera plane online calibration method, system, computer equipment and medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20923246

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20923246

Country of ref document: EP

Kind code of ref document: A1