MobileNet CNN Hardware Implementation Using 3x3 Filter Kernels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing CNN approaches for image processing are either too slow or too expensive due to their software-based solutions or hardware designed for other purposes, making them impractical for processing large amounts of imagery data.

Innovation Solution

Implementing MobileNet in a Cellular Neural Networks (CNN) based digital integrated circuit using 3×3 filter kernels to replace depthwise separable filters, with CNN processing engines connected in a loop and memory buffers for efficient data and coefficient storage and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If software-based CNN solutions are used, then implementation flexibility is improved, but computational speed deteriorates

Engineering Contradiction:
Improveimplementation flexibilityVSAvoidcomputational speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent replaces software-based CNN processing with a dedicated hardware circuit implementation. The cellular neural network circuit performs convolution operations, activation functions, and pooling operations through hardware logic and analog computing elements, eliminating the computational overhead of software execution while maintaining algorithmic flexibility through configurable circuit parameters.

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

2Adaptability or versatility

If general-purpose hardware is used, then device versatility is improved, but processing speed and efficiency deteriorate

Engineering Contradiction:
Improvedevice versatilityVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The cellular neural network circuit is designed with multi-functional capabilities to perform various CNN operations including convolution with different kernel sizes, multiple activation functions (ReLU, sigmoid, tanh), and different pooling operations. This universal hardware architecture can process different image processing tasks without requiring dedicated specialized circuits for each operation, achieving both versatility and efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If depthwise separable filters are implemented, then MobileNet operations are achieved, but circuit complexity increases

Engineering Contradiction:
ImproveMobileNet operation capabilityVSAvoidcircuit complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The depthwise separable filter implementation is divided into two distinct circuit stages: a depthwise convolution stage that processes each input channel independently with 3×3 kernels, followed by a pointwise convolution stage that combines the depthwise outputs using 1×1 kernels. This segmentation allows the complex MobileNet operation to be broken down into simpler, more manageable circuit blocks that can be implemented efficiently in hardware.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10360470B2Implementation of MobileNet in a CNN based digital integrated circuit
Publication Date: 2019.07.23 GYRFALCON TECHNOLOGY INC
  • US10360470B2 patent drawing
  • US10360470B2 patent drawing
  • US10360470B2 patent drawing

AI summary

Method and systems of replacing operations of depthwise separable filters with first and second replacement convolutional layers are disclosed. Depthwise separable filters contains a combination of a depthwise convolutional layer followed by a pointwise convolutional layer with input of P feature maps and output of Q feature maps. The first replacement convolutional layer contains P×P of 3×3 filter kernels formed by placing each of the P×1 of 3×3 filter kernels of the depthwise convolutional layer on respective P diagonal locations, and zero-value 3×3 filter kernels zero-value 3×3 filter kernels in all off-diagonal locations. The second replacement convolutional layer contains Q×P of 3×3 filter kernels formed by placing Q×P of 1×1 filter coefficients of the pointwise convolutional layer in center position of the respective Q×P of 3×3 filter kernels, and numerical value zero in eight perimeter positions.