MobileNet CNN Hardware Implementation Using 3x3 Filter Kernels
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Adaptability or versatility
If software-based CNN solutions are used, then implementation flexibility is improved, but computational speed deteriorates
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.
2Adaptability or versatility
If general-purpose hardware is used, then device versatility is improved, but processing speed and efficiency deteriorate
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.
3Adaptability or versatility
If depthwise separable filters are implemented, then MobileNet operations are achieved, but circuit complexity increases
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.
Data Source
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.


