3D Convolution Kernel Segmentation for CNN Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current 2D-configured CNN processors face inefficiencies when performing 3D convolution operations due to the need for padding, which they are not equipped to handle efficiently, leading to suboptimal processing times and resource allocation.

Innovation Solution

The solution involves determining whether a convolution iteration is of a first or second type and replacing inefficient iterations with efficient ones by skipping calculations between kernel and padding segments, such as replacing kernel elements with zero-values and performing operations only with input data segments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If 2D-configured CNN processors perform 3D convolution operations with padding, then object detection and classification can be achieved, but processing time increases and efficiency decreases

Engineering Contradiction:
Improvecapability to perform 3D convolutionVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the 3D convolution operation into distinct types (first type and second type iterations). The processor identifies and handles different segments of convolution operations differently - using standard processing for first type and optimized skipping for second type, thereby reducing overall processing time while maintaining 3D convolution capability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from traditional 2D convolution processing to 3D convolution processing by adding the depth dimension. This is achieved through virtual padding that creates a third dimension without requiring physical hardware changes, enabling 3D operations on 2D-configured processors

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Manufacturing precision

If virtual padding segments are included in convolution calculations, then 3D convolution structure is maintained, but computational efficiency decreases due to futile calculations

Engineering Contradiction:
Improveconvolution operation accuracyVSAvoidprocessing efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent extracts and removes the virtual padding segments from the computational process. By identifying second type iterations where only virtual padding is involved, the processor skips these futile calculations entirely, eliminating wasted computational effort while preserving the necessary 3D convolution structure through selective processing

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a skipping mechanism that allows the processor to rush through or bypass second type convolution iterations that involve only virtual padding segments. This skipping approach maintains computational accuracy for meaningful operations while eliminating time-wasting calculations on padding-only regions

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS20220366215A1Applying a convolution kernel on input data
Publication Date: 2022.11.17 MOBILEYE VISION TECH LTD
  • US20220366215A1 patent drawing
  • US20220366215A1 patent drawing
  • US20220366215A1 patent drawing

AI summary

A method for neural network convolution, the method may include receiving input data that is a 3D input data and comprises input data segments associated with different input data depth values; receiving a convolution kernel that is a 3D convolution kernel and comprises kernel segments associated with different kernel depth values; performing multiple 3D convolution iteration, wherein each of 3D convolution iteration comprises: determining whether the 3D convolution iteration is of a first type or of a second type; executing the 3D convolution iteration of the first type when determining that the 3D convolution iteration is of the first type; and executing the 3D convolution iteration of the second type when determining that the 3D convolution iteration is of the second type.