Vector Instructions for Non-Maximum Suppression in Object Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for non-maximum suppression (NMS) in object detection, whether using CPUs or GPUs, face inefficiencies due to limited parallel computing capabilities and increased power consumption, leading to prolonged calculation times and high power usage.

Innovation Solution

A data processing method that utilizes specific instructions such as VRPAC, VIOU, VAADD, RPN_COR, and RPN_COR_DIAG to calculate and determine suppression vectors more efficiently, reducing the number of instructions and execution steps, and minimizing data loading times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU is used for NMS calculation, then calculation can be performed, but calculation time is long due to limited parallel computing capability

Engineering Contradiction:
Improvecalculation speedVSAvoidcalculation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces traditional CPU-based sequential calculation with vector instruction-based parallel calculation. Specifically, it uses vector instructions (VRPAC, VIOU, VAADD) to perform parallel computation of proposal region areas and suppression matrices, substituting the mechanical sequential processing of CPU with a more efficient vectorized parallel processing approach that dramatically reduces calculation time.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent segments the NMS calculation process into distinct vectorizable operations: area calculation using VRPAC instruction, intersection-over-union calculation using VIOU instruction, and accumulation using VAADD instruction. This segmentation allows each operation to be optimized independently with appropriate vector instructions, improving overall calculation efficiency while maintaining correctness.

Inventive Principle:
Principle #1Segmentation

2Productivity

If GPU is used for NMS calculation, then parallel calculation capability is improved, but communication overhead between CPU and GPU increases calculation time and power consumption

Engineering Contradiction:
Improveparallel calculation capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the parallel calculation capability from GPU and brings it directly to the CPU through vector instruction support. By taking out the essential parallel processing function from the GPU architecture and implementing it natively in the CPU via vector instructions (VRPAC, VIOU, VAADD), the system eliminates the need for CPU-GPU data transfer and communication overhead, thereby reducing power consumption while maintaining parallel calculation advantages.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces vector instructions as an intermediary mechanism that bridges the gap between CPU sequential processing limitations and GPU parallel processing advantages. These vector instructions act as a mediator that enables the CPU to perform parallel calculations efficiently without requiring actual GPU hardware or communication infrastructure, thus eliminating communication overhead while preserving parallel computation benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If more instructions are invoked for NMS calculation, then calculation precision can be maintained, but instruction execution steps increase and time is prolonged

Engineering Contradiction:
Improvecalculation precisionVSAvoidinstruction execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent merges multiple traditional calculation steps into single vector instructions. For example, the VRPAC instruction combines area calculation operations that would traditionally require multiple sequential instructions, while VIOU merges intersection and union calculations into one operation. This merging reduces the total number of instruction execution steps while maintaining calculation precision through the use of specialized vector operations designed to perform multiple functions simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11823303B2Data processing method and apparatus
Publication Date: 2023.11.21 HUAWEI TECH CO LTD
  • US11823303B2 patent drawing
  • US11823303B2 patent drawing
  • US11823303B2 patent drawing

AI summary

A data processing method and apparatus are disclosed. In various embodiments, R groups of proposal region sequences are obtained. Each group of proposal region sequence includes a plurality of proposal regions. In those embodiments, a VRPAC instruction is invoked to calculate an area of each proposal region in each group of proposal region sequence. For a jth group of proposal region sequence in the R groups of proposal region sequences, a VIOU instruction and a VAADD instruction are invoked to determine j suppression matrices of the jth group of proposal region sequence and determine a suppression vector of the jth group of proposal region sequence based on the j suppression matrices. In those embodiments, an unsuppressed proposal region is determined based on a suppression vector of each group of proposal region sequence.