Hardware Argmax Layer Acceleration for CNN Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computer vision and image processing systems face challenges with real-time processing due to the computational and memory-intensive demands of convolutional neural networks (CNNs), particularly when handling large and high-resolution images or high-frame-rate video data, leading to inefficiencies and increased power consumption.

Innovation Solution

A hardware acceleration module is used to generate argmax maps based on feature maps, performing predefined hardware operations such as convolutions and rectified linear unit activations, reducing the need for CPU processing and memory transfer, and allowing for faster and more efficient generation of argmax maps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If CPU processing is used for argmax map generation, then flexibility and programmability are maintained, but processing speed decreases and power consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidhardware complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system segments processing tasks by separating argmax map generation (handled by hardware acceleration module) from other CNN operations (handled by CPU). This division allows critical path operations to be accelerated in hardware while maintaining software flexibility for other tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A memory interface acts as an intermediary between the hardware acceleration module and CPU, enabling efficient data transfer and coordination. The interface manages the exchange of feature maps and argmax maps between hardware and software components.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware acceleration module is used for argmax map generation, then processing speed and efficiency improve, but CPU utilization and memory allocation are reduced

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The hardware acceleration module performs argmax map generation autonomously using dedicated hardware circuits, eliminating the need for CPU intervention in this specific task. The module self-manages the computation process, reducing overall system power consumption despite increased local hardware activity.

Inventive Principle:
Principle #25Self-service

3Speed

If more hardware resources are allocated for real-time processing, then processing capability improves, but system cost and complexity increase

Engineering Contradiction:
Improvereal-time processing capabilityVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The hardware acceleration module is designed with specialized circuits optimized specifically for argmax map generation operations. Rather than building a completely custom CNN processor, the system adds targeted hardware functionality where it is most needed, maintaining overall system simplicity while achieving real-time performance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11429771B2Hardware-implemented argmax layer
Publication Date: 2022.08.30 ADEIA MEDIA HOLDINGS INC
  • US11429771B2 patent drawing
  • US11429771B2 patent drawing
  • US11429771B2 patent drawing

AI summary

A hardware acceleration module may generate a channel-wise argmax map using a predefined set of hardware-implemented operations. In some examples, a hardware acceleration module may receive a set of feature maps for different image channels. The hardware acceleration module may execute a sequence of hardware operations, including a portion(s) of hardware for executing a convolution, rectified linear unit (ReLU) activation, and/or layer concatenation, to determine a maximum channel feature value and/or argument maxima (argmax) value for a set of associated locations within the feature maps. An argmax map may be generated based at least in part on the argument maximum for a set of associated locations.