Self-adaptive image target detection algorithm selection method based on comprehensive evaluation
Through the adaptive image object detection algorithm selection method based on comprehensive evaluation, the problem of static selection and inability to dynamically adjust the object detection algorithm in the prior art is solved, and high-precision object detection in different scenarios is realized.
Patent Information
- Application Number
- CN202411711499.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-27
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2044-11-27
AI Technical Summary
The existing object detection methods lack dynamic adjustment when selecting algorithms, which leads to failure to meet performance requirements in some scenarios, and there are problems of missed detection and missed detection.
A method for selecting an adaptive image object detection algorithm based on comprehensive evaluation is proposed. Through multi-attribute description and evaluation rules, the most suitable object detection algorithm is dynamically selected to improve detection accuracy and accuracy.
Through the adaptive selection of object detection algorithm, the accuracy and accuracy of object detection are improved, and can better serve subsequent related applications and in-depth analysis and processing of targets.
Smart Images

Figure FDA0005155852940000101 
Figure FDA0005155852940000102 
Figure FDA0005155852940000103
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of target detection, and in particular relates to a method for selecting an adaptive image target detection algorithm based on comprehensive evaluation. Background Art
[0002] Object detection is a computer vision task that aims to identify specific objects in images or videos and determine their locations. That is, it is necessary not only to identify the category of the object, but also to draw the bounding box of the object. It plays an important role in autonomous driving, security monitoring, and medical image analysis.
[0003] Existing target detection methods are generally divided into methods based on traditional image processing and methods based on deep learning. Each type of method includes a variety of different methods. For example, target detection methods based on traditional image processing include frame difference method, CascadeClassifier method, etc., and target detection methods based on deep learning include Yolo series methods, FastRCNN and other methods. Each method has its own usage conditions and scope of application, such as requirements for the environment and operating components, occupied resources, operating speed, etc. At the same time, each method cannot ensure that the accuracy in a certain scenario can meet the requirements, that is, there are false detections, missed detections, etc.
[0004] In general, the target detection selection method is static, that is, a single target detection method is selected and evaluated according to the operating scenario and performance requirements, and a certain algorithm is selected to run in the scenario or environment. Once the detection algorithm is determined, it will no longer be modified or adjusted. This approach has the problems of being unable to adjust dynamically, a single algorithm may be difficult to meet performance requirements, and a waste of computing resources.
[0005] How to adaptively select the corresponding target detection algorithm according to a certain scenario and how to improve the accuracy of these models or algorithms in a certain scenario are problems that need to be solved. Summary of the invention
[0006] 1. Technical issues to be resolved
[0007] The technical problem to be solved by the present invention is to provide a method for selecting an image target detection algorithm to improve the precision and accuracy of target detection and better serve subsequent target-related applications and in-depth analysis and processing.
[0008] (II) Technical solution
[0009] In order to solve the above technical problems, the present invention provides a method for selecting an adaptive image target detection algorithm based on comprehensive evaluation, comprising the following steps:
[0010] Step 1: Describe the target detection algorithm with multiple attributes and establish the multi-attribute evaluation rules for target detection
[0011] Video structured processing is to convert unstructured video streams into structured data. Structured data refers to the target information contained in the video. The target detection processing methods are divided into traditional image processing-based methods and deep learning-based methods, where "0" represents traditional image processing methods and "1" represents deep learning-based methods. Representative specific methods are selected for each category, no more than 10 categories, and the specific codes are represented by single digits from 0 to 9.
[0012] Each type of method has its own properties:
[0013] 1) Coding language: divided into two categories: C and Python;
[0014] 2) Operating component environment: including the name and version number of the relevant component. The version number is a range and is divided into three situations, namely, higher than a certain version and lower than a certain version, higher than a certain version, and lower than a certain version; check the existing version number of the component and count the number of supported versions according to the version number range;
[0015] (1) The total number of components required: The more components are required, the lower the score; with 100 components as the upper limit, [0,10] gets 1 point, [10,20] gets 0.9 points, [20,30] gets 0.8 points, and so on, [90,100] gets 0.1 points, and more than 100 gets 0 points;
[0016] (2) Conventional components: quantity and version range. The greater the quantity, the lower the score; the greater the version range, the higher the score; the upper limit for the number of components is 10. If the number is less than or equal to 1, 1 point is awarded; if the number is less than or equal to 2, 0.9 points are awarded, and so on; if the number is greater than 10, 0 points are awarded; if the number of supported versions is greater than 10, 1 point is awarded; if the number is less than 10, the score decreases in descending order; if the number of supported versions is 9, 0.9 points are awarded;
[0017] (4) Special components: quantity and version range. The greater the quantity, the lower the score; the greater the version range, the higher the score. The upper limit of the number of components is 90. If the number is less than or equal to 10, 1 point is awarded; if the number is less than or equal to 20, 0.8 point is awarded, and so on. If the number is greater than 60, 0 point is awarded.
[0018] If the number of supported version numbers is greater than 10, 1 point is awarded. If the number of supported version numbers is less than 10, the points are decreased in descending order. If 9 are supported, 0.9 points are awarded.
[0019] 3) Running speed and resource usage under a certain configuration computer environment
[0020] (1) The time it takes to process a single image. The faster the speed, the higher the score.
[0021] In an environment with a GPU, a time lower than 0.001 seconds is scored as 1 point, [0.001, 0.01] is scored as 0.8 points, [0.01, 0.02] is scored as 0.6 points, [0.02, 0.04] is scored as 0.4 points, [0.04, 0.08] is scored as 0.2 points, and a time higher than 0.08 seconds is scored as 0 points;
[0022] In a non-GPU environment, if the time is less than 0.01 seconds, 1 point is awarded; if it is [0.01, 0.05], 0.8 point is awarded; if it is [0.05, 0.1], 0.6 point is awarded; if it is [0.1, 0.2], 0.4 point is awarded; if it is more than 0.4 seconds, 0 point is awarded;
[0023] (2) Resource usage includes CPU and memory usage without GPU and CPU, memory, and GPU usage with GPU. GPU is further divided into video memory usage and computing power usage. The lower the video memory usage, the higher the score, and the lower the computing power usage, the higher the score.
[0024] If the video memory occupies 0.2 GB, 1 point will be awarded; if it occupies 0.5 GB, 0.8 point will be awarded; if it occupies 1 GB, 0.6 point will be awarded; if it occupies 1.5 GB, 0.4 point will be awarded; if it occupies 2 GB, 0.2 point will be awarded; if it exceeds 2 GB, 0 point will be awarded;
[0025] 4) Performance on a certain data set, including the data set name, indicator set and corresponding values, and weighted comprehensive evaluation of performance indicator values;
[0026] MAP>90 gets 1 point, >85 gets 0.8 points, >80 gets 0.6 points, >75 gets 0.4 points, greater than 70 gets 0.2 points, and less than 70 gets no points;
[0027] Establish evaluation rules for evaluation factors and obtain evaluation results for each method;
[0028] Step 2: Single target detection algorithm selection
[0029] Based on step 1, design corresponding strategies according to needs and select a suitable single model or algorithm based on the environment and performance requirements.
[0030] The invention also provides a system for implementing the method.
[0031] (III) Beneficial effects
[0032] In response to the needs and characteristics of video structured processing, the present invention establishes an evaluation model according to the type of target detection algorithm and multiple attributes, and proposes an adaptive algorithm selection method based on matching actual scenes with algorithm attributes. This method can improve the precision and accuracy of target detection and better serve subsequent related applications and in-depth analysis and processing of the target. DETAILED DESCRIPTION
[0033] In order to make the purpose, content and advantages of the present invention more clear, the specific implementation methods of the present invention are further described in detail below in conjunction with embodiments.
[0034] There are many target detection methods. The choice of which algorithm or algorithms to use in a real environment affects the speed and accuracy of obtaining the results. It is necessary to match the applicable scenarios of target detection with the actual scenarios. To this end, the present invention provides an adaptive image target detection algorithm selection method based on comprehensive evaluation, describes the target detection method from multiple angles, and establishes evaluation methods and indicators. On this basis, one or more algorithms are matched according to the actual scenario. The method specifically includes the following steps:
[0035] Step 1: Describe the target detection algorithm with multiple attributes and establish the multi-attribute evaluation rules for target detection
[0036] Video structured processing is to convert unstructured video streams into structured data. Here, structured data refers to the target information contained in the video. The processing methods of target detection are divided into methods based on traditional image processing and methods based on deep learning, where "0" represents traditional image processing methods and "1" represents methods based on deep learning. Representative specific methods are selected for each category, no more than 10 categories, and the specific codes are represented by single digits from 0 to 9.
[0037] Each type of method has its own properties:
[0038] 1. Coding language: divided into two categories: C and Python;
[0039] 2. Operating component environment: includes the name and version number of the relevant component. The version number is a range and is divided into three situations, namely, higher than a certain version and lower than a certain version, higher than a certain version, and lower than a certain version. In general, check the existing version number of the component and count the number of supported versions based on the version number range.
[0040] (1) The total number of components required: The more components are required, the lower the score. With 100 components as the upper limit, [0,10] gets 1 point, [10,20] gets 0.9 points, [20,30] gets 0.8 points, and so on, [90,100] gets 0.1 points, and more than 100 gets 0 points;
[0041] (2) Conventional components: quantity and version range. The greater the quantity, the lower the score; the greater the version range, the higher the score. The upper limit for the number of components is 10. If the number is less than 1, 1 point is awarded; if the number is less than 2, 0.9 points are awarded, and so on. If the number is greater than 10, 0 points are awarded. For the supported version numbers, if the number is greater than 10, 1 point is awarded; if the number is less than 10, the score decreases in descending order. For example, if the number is 9, 0.9 points are awarded.
[0042] (4) Special components: quantity and version range. The greater the quantity, the lower the score; the greater the version range, the higher the score. The upper limit for the number of components is 90. If the number is less than or equal to 10, 1 point is awarded; if the number is less than or equal to 20, 0.8 points are awarded, and so on. If the number is greater than 60, 0 points are awarded.
[0043] If the number of supported version numbers is greater than 10, 1 point is awarded. If the number of supported version numbers is less than 10, the points are decreased in descending order. For example, if 9 are supported, 0.9 points are awarded.
[0044] 3. Running speed and resource usage under a certain configuration computer environment
[0045] (1) The time it takes to process a single image, in frames per second. The faster the speed, the higher the score.
[0046] In an environment with a GPU, a time lower than 0.001 seconds is scored as 1 point, [0.001, 0.01] is scored as 0.8 points, [0.01, 0.02] is scored as 0.6 points, [0.02, 0.04] is scored as 0.4 points, [0.04, 0.08] is scored as 0.2 points, and a time higher than 0.08 seconds is scored as 0 points;
[0047] In a non-GPU environment, if the time is less than 0.01 seconds, 1 point is awarded; if it is [0.01, 0.05], 0.8 point is awarded; if it is [0.05, 0.1], 0.6 point is awarded; if it is [0.1, 0.2], 0.4 point is awarded; if it is more than 0.4 seconds, 0 point is awarded;
[0048] (2) Resource usage includes CPU and memory usage without GPU and CPU, memory, and GPU usage with GPU. GPU is further divided into video memory usage and computing power usage. The lower the video memory usage, the higher the score, and the lower the computing power usage, the higher the score.
[0049] If the video memory occupies 0.2 GB, 1 point will be awarded; if it occupies 0.5 GB, 0.8 point will be awarded; if it occupies 1 GB, 0.6 point will be awarded; if it occupies 1.5 GB, 0.4 point will be awarded; if it occupies 2 GB, 0.2 point will be awarded; if it exceeds 2 GB, 0 point will be awarded;
[0050] 4. Performance on a certain data set, including the data set name, indicator set and corresponding values. Weighted comprehensive evaluation of performance indicator values.
[0051] MAP>90 gets 1 point, >85 gets 0.8 points, >80 gets 0.6 points, >75 gets 0.4 points, greater than 70 gets 0.2 points, and less than 70 gets no points.
[0052] Establish evaluation rules for the above evaluation factors and obtain the evaluation results of each method.
[0053] Step 2: Single target detection algorithm selection
[0054] Based on step 1, design corresponding strategies according to needs and select a single model or algorithm that is applicable according to environment and performance requirements. The steps are:
[0055] Step 1: Filter out the algorithm set that meets the requirements according to the language constraints;
[0056] Step 2: Filter the algorithm set according to the matching degree between the existing environment and the required environment;
[0057] Step 3: Filter the algorithm set based on the matching degree of speed and resource usage;
[0058] Step 4: Filter the algorithm set based on the performance match;
[0059] Step 5: Filter out the algorithm set that meets the requirements from the remaining set according to the score constraint;
[0060] Step 6: Select the algorithm with the highest score.
[0061] If the algorithm set is empty after screening, then establish a target optimization function and select the algorithm with the highest score. The method is:
[0062] Assume the score difference, the difference in the number of common components, the difference in the number of special components, the ratio coefficient of the common component version range, the ratio coefficient of the special component template range, the ratio coefficient of the indicator difference, the ratio coefficient of the speed difference, and the ratio coefficient of the common resource difference; perform weighted summation and select the algorithm with the smallest value.
[0063] Steps 1 and 2 form the first solution.
[0064] Step 3: Adaptively select multiple target detection algorithms
[0065] Based on steps 1 and 2, design corresponding strategies according to needs, adaptively select multiple models or algorithms for detection according to environment and performance requirements to improve target detection accuracy, and design result fusion strategies.
[0066] If high accuracy is required, the steps are:
[0067] Step 31: Select candidate algorithms based on available resources and calculate the number of algorithms that can run simultaneously.
[0068] Step 32: Set the missed detection rate threshold, and select the algorithm with a rate lower than the missed detection rate threshold from the candidate algorithms again;
[0069] Step 33: Select the algorithm with the highest accuracy, and the number of algorithms that can be run simultaneously minus 1;
[0070] Step 34: If the number of executable algorithms is not 0, continue to select the algorithm with the second highest accuracy; repeat the judgment until the number of executable algorithms reaches 0;
[0071] Step 35: Fusion processing of the detection results:
[0072] Step 351: Set a threshold and select the results that meet the conditions;
[0073] Step 352: Filter out duplicate results and merge IOUs;
[0074] Step353: Sort by confidence level;
[0075] Step 354: Select a target and traverse all rectangular boxes with the same target type in the field;
[0076] Step 355: Calculate the IOU value between each rectangular box and the reference box;
[0077] Step 356: If the IOU value is greater than the set threshold, it is considered duplicate and merged.
[0078] If a low missed detection rate is required, the steps are:
[0079] Step 31': Based on the available resources, select candidate algorithms and calculate the number of algorithms that can run simultaneously.
[0080] Step 32': Set the accuracy threshold and select the algorithm with higher accuracy threshold from the candidate algorithms again;
[0081] Step 33': Select the algorithm with the lowest missed detection rate, and the number of algorithms that can be run simultaneously minus 1;
[0082] Step 34': If the number of algorithms that can be run is not 0, continue to select the algorithm with the next lowest missed detection rate; repeat the judgment until the number of algorithms that can be run is 0;
[0083] Step 35': Fusion processing of the detection results:
[0084] Step351': Set a threshold and select the results that meet the conditions;
[0085] Step352': Filter out duplicate results and merge IOUs;
[0086] Steps 1 and 3 form the second solution.
[0087] Step 4: Group the target detection algorithms and adaptively select the grouping algorithm
[0088] Design a grouping strategy for related target detection algorithms, design a group selection strategy based on the environment and performance requirements, and design a result fusion strategy. Select complementary algorithms based on the complementarity of the results on the data set. Based on step 1, this step analyzes the complementarity and correlation of the target detection algorithms and selects different grouping algorithms based on different performance requirements.
[0089] Assume that the sample set contains the image set I = {I1, I2, ..., I n}, where n is the number of samples in the set. For simplicity and without affecting the results, assume that an image sample contains a target, and take three target detection algorithms A, B, and C as examples. Use the three target detection algorithms to perform target detection on the sample set. Assume that the set with common correct detection is S1, and the set with common errors or missed detection is S2. Among the remaining detection results, S A-B Indicates that algorithm A detects correctly but algorithm B detects incorrectly or misses, S A+B It means that algorithm A detects correctly and algorithm B detects correctly at the same time, and so on. The three algorithms generate 9 sets S in total, except S1 and S2. A+B , S A+C , S B+C , S A-B , S A-C , S B-A , S B-C , S C-A , S C-B , the first three sets are regarded as substitutable sets, and the last six sets are regarded as complementary sets.
[0090] For the first three sets, count the number of samples in each set. If |S A+B |>|S A+C |, indicating that for algorithm A, B is a stronger substitute than C, and so on.
[0091] For the last 6 sets, count the number of samples in each set. If |S A-B |>|S C-B |, indicating that for algorithm B, A is more complementary than C, and so on.
[0092] A two-dimensional matrix of substitutability and complementarity is established, and corresponding values are assigned according to the strength of substitutability and complementarity.
[0093] Regarding the substitutability, the substitutability of algorithms A and B is stronger than that of algorithm C. When B =0.55,w C =0.45; when When B =0.65,w C =0.35; when When B =0.75,w C =0.25; when When B =0.85,w C =0.15; when When B =1,w C =0.
[0094] For complementarity, the substitutability of algorithms A and B is stronger than that of algorithm C. When B =0.85,w C =0.15. Modify according to the follow-up.
[0095] Assume that the collection of correct detection results is S A∪B , S B∪C , S A∪C , S A∪B∪C The total result of the detection error is
[0096] If high accuracy is required, the steps are:
[0097] Step 41: Filter out eligible combinations based on available resources;
[0098] Step 42: Filter out the combination with the highest correct result union;
[0099] Step 43: Conduct testing;
[0100] Step 44: Filter out the result set with confidence higher than the threshold;
[0101] Step 45: Merge the IOUs.
[0102] If a low missed detection rate is required, the steps are:
[0103] Step 41': Filter out eligible combinations based on available resources;
[0104] Step 42': Filter out the combination with the least result error union;
[0105] Step 43': Conduct testing;
[0106] Step 44': Filter out the result set with confidence higher than the threshold;
[0107] Step 45': Merge the IOUs.
[0108] Steps 1 and 4 form the third solution.
[0109] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the technical principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A method for selecting an adaptive image target detection algorithm based on comprehensive evaluation, characterized in that: The following steps are involved: Step 1: Describe the target detection algorithm with multiple attributes and establish the multi-attribute evaluation rules for target detection Video structured processing is to convert unstructured video streams into structured data. Structured data refers to the target information contained in the video. The target detection processing methods are divided into traditional image processing-based methods and deep learning-based methods, where "0" represents traditional image processing methods and "1" represents deep learning-based methods. Representative specific methods are selected for each category, no more than 10 categories, and the specific codes are represented by single digits from 0 to 9. Each type of method has its own properties: 1) Coding language: divided into two categories: C and Python; 2) Operating component environment: including the name and version number of the relevant component. The version number is a range and is divided into three situations, namely, higher than a certain version and lower than a certain version, higher than a certain version, and lower than a certain version; check the existing version number of the component and count the number of supported versions according to the version number range; (1) The total number of components required: The more components are required, the lower the score; with 100 components as the upper limit, [0,10] gets 1 point, [10,20] gets 0.9 points, [20,30] gets 0.8 points, and so on, [90,100] gets 0.1 points, and more than 100 gets 0 points; (2) Conventional components: quantity and version range. The greater the quantity, the lower the score; the greater the version range, the higher the score; the upper limit for the number of components is 10. If the number is less than or equal to 1, 1 point is awarded; if the number is less than or equal to 2, 0.9 points are awarded, and so on; if the number is greater than 10, 0 points are awarded; if the number of supported versions is greater than 10, 1 point is awarded; if the number is less than 10, the score decreases in descending order; if the number of supported versions is 9, 0.9 points are awarded; (4) Special components: quantity and version range. The greater the quantity, the lower the score; the greater the version range, the higher the score. The upper limit of the number of components is 90. If the number is less than or equal to 10, 1 point is awarded; if the number is less than or equal to 20, 0.8 point is awarded, and so on. If the number is greater than 60, 0 point is awarded. If the number of supported version numbers is greater than 10, 1 point is awarded. If the number of supported version numbers is less than 10, the points are decreased in descending order. If 9 are supported, 0.9 points are awarded. 3) Running speed and resource usage under a certain configuration computer environment (1) The time it takes to process a single image. The faster the speed, the higher the score. In an environment with a GPU, a time lower than 0.001 seconds is scored as 1 point, [0.001, 0.01] is scored as 0.8 points, [0.01, 0.02] is scored as 0.6 points, [0.02, 0.04] is scored as 0.4 points, [0.04, 0.08] is scored as 0.2 points, and a time higher than 0.08 seconds is scored as 0 points; In a non-GPU environment, if the time is less than 0.01 seconds, 1 point is awarded; if it is [0.01, 0.05], 0.8 point is awarded; if it is [0.05, 0.1], 0.6 point is awarded; if it is [0.1, 0.2], 0.4 point is awarded; if it is more than 0.4 seconds, 0 point is awarded; (2) Resource usage includes CPU and memory usage without GPU and CPU, memory, and GPU usage with GPU. GPU is further divided into video memory usage and computing power usage. The lower the video memory usage, the higher the score, and the lower the computing power usage, the higher the score. If the video memory occupies 0.2 GB, 1 point will be awarded; if it occupies 0.5 GB, 0.8 point will be awarded; if it occupies 1 GB, 0.6 point will be awarded; if it occupies 1.5 GB, 0.4 point will be awarded; if it occupies 2 GB, 0.2 point will be awarded; if it exceeds 2 GB, 0 point will be awarded; 4) Performance on a certain data set, including the data set name, indicator set and corresponding values, and weighted comprehensive evaluation of performance indicator values; MAP>90 gets 1 point, >85 gets 0.8 points, >80 gets 0.6 points, >75 gets 0.4 points, greater than 70 gets 0.2 points, and less than 70 gets no points; Establish evaluation rules for evaluation factors and obtain evaluation results for each method; Step 2: Single target detection algorithm selection Based on step 1, design corresponding strategies according to needs and select a suitable single model or algorithm based on the environment and performance requirements.
2. The method according to claim 1, characterized in that Step 2 is as follows: Step 1: Filter out the algorithm set that meets the requirements according to the language constraints; Step 2: Filter the algorithm set according to the matching degree between the existing environment and the required environment; Step 3: Filter the algorithm set based on the matching degree of speed and resource usage; Step 4: Filter the algorithm set based on the performance match; Step 5: Filter out the algorithm set that meets the requirements from the remaining set according to the score constraint; Step 6: Select the algorithm with the highest score; If the algorithm set is empty after screening, then establish a target optimization function to select the algorithm with the highest score. The method is: Assume score difference, common component quantity difference, special component quantity difference, common component version range ratio coefficient, special component template range ratio coefficient, indicator difference ratio coefficient, speed difference ratio coefficient, resource common difference ratio coefficient; Weighted summation, select the algorithm with the smallest value.
3. A method for selecting an adaptive image target detection algorithm based on comprehensive evaluation, characterized in that: The following steps are involved: Step 1: Describe the target detection algorithm with multiple attributes and establish the multi-attribute evaluation rules for target detection Video structured processing is to convert unstructured video streams into structured data. Structured data refers to the target information contained in the video. The target detection processing methods are divided into traditional image processing-based methods and deep learning-based methods, where "0" represents traditional image processing methods and "1" represents deep learning-based methods. Representative specific methods are selected for each category, no more than 10 categories, and the specific codes are represented by single digits from 0 to 9. Each type of method has its own properties: 1) Coding language: divided into two categories: C and Python; 2) Operating component environment: including the name and version number of the relevant component. The version number is a range and is divided into three situations, namely, higher than a certain version and lower than a certain version, higher than a certain version, and lower than a certain version; check the existing version number of the component and count the number of supported versions according to the version number range; (1) The total number of components required: The more components are required, the lower the score; with 100 components as the upper limit, [0,10] gets 1 point, [10,20] gets 0.9 points, [20,30] gets 0.8 points, and so on, [90,100] gets 0.1 points, and more than 100 gets 0 points; (2) Conventional components: quantity and version range. The greater the quantity, the lower the score; the greater the version range, the higher the score; the upper limit for the number of components is 10. If the number is less than or equal to 1, 1 point is awarded; if the number is less than or equal to 2, 0.9 points are awarded, and so on; if the number is greater than 10, 0 points are awarded; if the number of supported versions is greater than 10, 1 point is awarded; if the number is less than 10, the score decreases in descending order; if the number of supported versions is 9, 0.9 points are awarded; (4) Special components: quantity and version range. The greater the quantity, the lower the score; the greater the version range, the higher the score. The upper limit of the number of components is 90. If the number is less than or equal to 10, 1 point is awarded; if the number is less than or equal to 20, 0.8 point is awarded, and so on. If the number is greater than 60, 0 point is awarded. If the number of supported version numbers is greater than 10, 1 point is awarded. If the number of supported version numbers is less than 10, the points are decreased in descending order. If 9 are supported, 0.9 points are awarded. 3) Running speed and resource usage under a certain configuration computer environment (1) The time it takes to process a single image. The faster the speed, the higher the score. In an environment with a GPU, a time lower than 0.001 seconds is scored as 1 point, [0.001, 0.01] is scored as 0.8 points, [0.01, 0.02] is scored as 0.6 points, [0.02, 0.04] is scored as 0.4 points, [0.04, 0.08] is scored as 0.2 points, and a time higher than 0.08 seconds is scored as 0 points; In a non-GPU environment, if the time is less than 0.01 seconds, 1 point is awarded; if it is [0.01, 0.05], 0.8 point is awarded; if it is [0.05, 0.1], 0.6 point is awarded; if it is [0.1, 0.2], 0.4 point is awarded; if it is more than 0.4 seconds, 0 point is awarded; (2) Resource usage includes CPU and memory usage without GPU and CPU, memory, and GPU usage with GPU. GPU is further divided into video memory usage and computing power usage. The lower the video memory usage, the higher the score, and the lower the computing power usage, the higher the score. If the video memory occupies 0.2 GB, 1 point will be awarded; if it occupies 0.5 GB, 0.8 point will be awarded; if it occupies 1 GB, 0.6 point will be awarded; if it occupies 1.5 GB, 0.4 point will be awarded; if it occupies 2 GB, 0.2 point will be awarded; if it exceeds 2 GB, 0 point will be awarded; 4) Performance on a certain data set, including the data set name, indicator set and corresponding values, and weighted comprehensive evaluation of performance indicator values; MAP>90 gets 1 point, >85 gets 0.8 points, >80 gets 0.6 points, >75 gets 0.4 points, greater than 70 gets 0.2 points, and less than 70 gets no points; Establish evaluation rules for evaluation factors and obtain evaluation results for each method; Step 2: Adaptively select multiple target detection algorithms Design corresponding strategies based on needs, adaptively select multiple models or algorithms for detection according to environment and performance requirements, and design result fusion strategies.
4. The method according to claim 3, characterized in that If high accuracy is required, step 2 is: Step 31: Select candidate algorithms based on available resources and calculate the number of algorithms that can run simultaneously; Step 32: Set the missed detection rate threshold, and select the algorithm with a rate lower than the missed detection rate threshold from the candidate algorithms again; Step 33: Select the algorithm with the highest accuracy, and the number of algorithms that can be run simultaneously minus 1; Step 34: If the number of executable algorithms is not 0, continue to select the algorithm with the second highest accuracy; repeat the judgment until the number of executable algorithms reaches 0; Step 35: Fusion processing of the detection results: Step 351: Set a threshold and select the results that meet the conditions; Step 352: Filter out duplicate results and merge IOUs; Step353: Sort by confidence level; Step 354: Select a target and traverse all rectangular boxes with the same target type in the field; Step 355: Calculate the IOU value between each rectangular box and the reference box; Step 356: If the IOU value is greater than the set threshold, it is considered duplicate and merged.
5. The method according to claim 3, characterized in that If a low missed detection rate is required, step 2 is: Step 31': Select candidate algorithms based on available resources and calculate the number of algorithms that can run simultaneously; Step 32': Set the accuracy threshold and select the algorithm with higher accuracy threshold from the candidate algorithms again; Step 33': Select the algorithm with the lowest missed detection rate, and the number of algorithms that can be run simultaneously minus 1; Step 34': If the number of algorithms that can be run is not 0, continue to select the algorithm with the next lowest missed detection rate; repeat the judgment until the number of algorithms that can be run is 0; Step 35': Fusion processing of the detection results: Step351': Set a threshold and select the results that meet the conditions; Step352': Filter out duplicate results and merge IOUs.
6. A method for selecting an adaptive image target detection algorithm based on comprehensive evaluation, characterized in that: The following steps are involved: Step 1: Describe the target detection algorithm with multiple attributes and establish the multi-attribute evaluation rules for target detection Video structured processing is to convert unstructured video streams into structured data. Structured data refers to the target information contained in the video. The target detection processing methods are divided into traditional image processing-based methods and deep learning-based methods, where "0" represents traditional image processing methods and "1" represents deep learning-based methods. Representative specific methods are selected for each category, no more than 10 categories, and the specific codes are represented by single digits from 0 to 9. Each type of method has its own properties: 1) Coding language: divided into two categories: C and Python; 2) Operating component environment: including the name and version number of the relevant component. The version number is a range and is divided into three situations, namely, higher than a certain version and lower than a certain version, higher than a certain version, and lower than a certain version; check the existing version number of the component and count the number of supported versions according to the version number range; (1) The total number of components required: The more components are required, the lower the score; with 100 components as the upper limit, [0,10] gets 1 point, [10,20] gets 0.9 points, [20,30] gets 0.8 points, and so on, [90,100] gets 0.1 points, and more than 100 gets 0 points; (2) Conventional components: quantity and version range. The greater the quantity, the lower the score; the greater the version range, the higher the score; the upper limit for the number of components is 10. If the number is less than or equal to 1, 1 point is awarded; if the number is less than or equal to 2, 0.9 points are awarded, and so on; if the number is greater than 10, 0 points are awarded; if the number of supported versions is greater than 10, 1 point is awarded; if the number is less than 10, the score decreases in descending order; if the number of supported versions is 9, 0.9 points are awarded; (4) Special components: quantity and version range. The greater the quantity, the lower the score; the greater the version range, the higher the score. The upper limit of the number of components is 90. If the number is less than or equal to 10, 1 point is awarded; if the number is less than or equal to 20, 0.8 point is awarded, and so on. If the number is greater than 60, 0 point is awarded. If the number of supported version numbers is greater than 10, 1 point is awarded. If the number of supported version numbers is less than 10, the points are decreased in descending order. If 9 are supported, 0.9 points are awarded. 3) Running speed and resource usage under a certain configuration computer environment (1) The time it takes to process a single image. The faster the speed, the higher the score. In an environment with a GPU, a time lower than 0.001 seconds is scored as 1 point, [0.001, 0.01] is scored as 0.8 points, [0.01, 0.02] is scored as 0.6 points, [0.02, 0.04] is scored as 0.4 points, [0.04, 0.08] is scored as 0.2 points, and a time higher than 0.08 seconds is scored as 0 points; In a non-GPU environment, if the time is less than 0.01 seconds, 1 point is awarded; if it is [0.01, 0.05], 0.8 point is awarded; if it is [0.05, 0.1], 0.6 point is awarded; if it is [0.1, 0.2], 0.4 point is awarded; if it is more than 0.4 seconds, 0 point is awarded; (2) Resource usage includes CPU and memory usage without GPU and CPU, memory, and GPU usage with GPU. GPU is further divided into video memory usage and computing power usage. The lower the video memory usage, the higher the score, and the lower the computing power usage, the higher the score. If the video memory occupies 0.2 GB, 1 point will be awarded; if it occupies 0.5 GB, 0.8 point will be awarded; if it occupies 1 GB, 0.6 point will be awarded; if it occupies 1.5 GB, 0.4 point will be awarded; if it occupies 2 GB, 0.2 point will be awarded; if it exceeds 2 GB, 0 point will be awarded; 4) Performance on a certain data set, including the data set name, indicator set and corresponding values, and weighted comprehensive evaluation of performance indicator values; MAP>90 gets 1 point, >85 gets 0.8 points, >80 gets 0.6 points, >75 gets 0.4 points, greater than 70 gets 0.2 points, and less than 70 gets no points; Establish evaluation rules for evaluation factors and obtain evaluation results for each method; Step 2: Group the target detection algorithms and adaptively select the grouping algorithm Design a grouping strategy for related target detection algorithms, design a group selection strategy based on the environment and performance requirements, and design a result fusion strategy to select complementary algorithms based on the complementarity of the results on the data set.
7. The method according to claim 6, characterized in that Step 2: Based on step 1, the target detection algorithm is analyzed for complementarity and correlation, and different grouping algorithms are selected according to different performance requirements.
8. The method according to claim 6, characterized in that In step 2, it is assumed that the sample set contains the image set I = {I1, I2, ..., I n }, where n is the number of samples in the set. For the sake of simplicity and without affecting the results, assume that an image sample contains a target. Assume that there are three target detection algorithms, A, B, and C. Use the three target detection algorithms to detect targets on the sample set respectively. Assume that the set with common correct detection is S1, and the set with common errors or missed detection is S2. In the remaining detection results, S A-B Indicates that algorithm A detects correctly but algorithm B detects incorrectly or misses, S A+B It means that algorithm A detects correctly and algorithm B detects correctly at the same time, and so on; The three algorithms generate a total of 9 sets S, except S1 and S2. A+B , S A+C , S B+C , S A-B , S A-C , S B-A , S B-C , S C-A , S C-B , the first three sets are regarded as substitutable sets, and the last six sets are regarded as complementary sets; For the first three sets, count the number of samples in each set. If |S A+B| >|S A+C |, indicating that for algorithm A, B is a stronger substitute than C, and so on; For the last 6 sets, count the number of samples in each set. If |S A-B |>|S C-B |, indicating that for algorithm B, A is more complementary than C, and so on; Establish a two-dimensional matrix of substitution and complementarity, and assign corresponding values according to the strength of substitution and complementarity; Regarding the substitutability, the substitutability of algorithms A and B is stronger than that of algorithm C. When B =0.55,w C =0.45; when When B =0.65,w C =0.35; when When B =0.75,w C =0.25; when When B =0.85,w C =0.15; when When B =1,w C =0; For complementarity, the substitutability of algorithms A and B is stronger than that of algorithm C. When B =0.85,w C =0.15; Assume that the collection of correct detection results is S A∪B , S B∪C , S A∪C , S A∪B∪C The total result of the detection error is If high accuracy is required, the steps are: Step 41: Filter out eligible combinations based on available resources; Step 42: Filter out the combination with the highest correct result union; Step 43: Conduct testing; Step 44: Filter out the result set with confidence higher than the threshold; Step 45: Merge the IOUs; If a low missed detection rate is required, the steps are: Step 41': Filter out eligible combinations based on available resources; Step 42': Filter out the combination with the least result error union; Step 43': Conduct testing; Step 44': Filter out the result set with confidence higher than the threshold; Step 45': Merge the IOUs.
9. The method according to any one of claims 1 to 8, characterized in that This method is applied in target detection.
10. A system for implementing the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Optimal selection method and system for multiple deep learning models
CN113780287A
Airport high-definition array camera adaptive target detection algorithm selection method and system
CN117197619A
Algorithm dynamic selection method and device for target detection
CN118691790A
Target detection optimization method and device
US20240346813A1