Parallel 1D Convolution for Faster Hyperspectral CNN Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for processing hyperspectral or multispectral images using convolutional neural networks (CNNs) are inefficient due to the vast amount of data and limited computing power, leading to unsatisfactory processing speeds.
Innovation Solution
Implementing a first and second one-dimensional convolution in parallel within the first layer of a neural network, using asymmetrical filter kernels, to separate the computation of two-dimensional convolutions into parallel one-dimensional operations, allowing for significant acceleration and efficiency improvements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional two-dimensional convolutions are used in CNN layers, then the network can process hyperspectral images with complete spatial and spectral information, but the computation time and processing complexity increase significantly
Solution Approach 1:
The patent segments the two-dimensional convolution operation into two separate one-dimensional convolution operations. The first 1D convolution processes the spatial dimension while the second 1D convolution processes the spectral dimension. This segmentation allows each convolution to operate independently and in parallel, significantly reducing computation time while maintaining the ability to process complete hyperspectral image data cubes with both spatial and spectral information.
Solution Approach 2:
The patent changes the dimensionality of the convolution operation from two-dimensional to one-dimensional by applying asymmetric filter kernels. The first filter kernel has dimensions (1, Ks) for spatial processing, and the second filter kernel has dimensions (Ks, 1) for spectral processing. This dimensionality change enables parallel execution of independent 1D convolutions while preserving the full information content of the hyperspectral data cube.
2Productivity
If more computing resources are allocated to process large hyperspectral datasets, then processing speed can be improved, but the system complexity and hardware requirements increase
Solution Approach 1:
The patent segments the complex 2D convolution into two simpler 1D convolution operations that can be executed in parallel. This segmentation reduces the computational complexity from O(H×W×C×Ks×Kc) to two separate operations with lower individual complexity, enabling faster processing on standard hardware without requiring specialized high-performance computing resources.
Solution Approach 2:
By transforming the 2D convolution into sequential 1D convolutions with asymmetric kernels, the patent enables efficient parallel processing that can be implemented on conventional hardware architectures. This approach improves productivity by allowing independent parallel execution of spatial and spectral feature extraction without increasing device complexity.
3Productivity
If parallel processing is implemented to accelerate CNN execution, then processing efficiency improves, but the architectural complexity of the network increases
Solution Approach 1:
The patent segments the feature extraction process into two independent parallel 1D convolution operations. The first convolution extracts spatial features using kernel (1, Ks) and the second convolution extracts spectral features using kernel (Ks, 1). This segmentation enables parallel execution that improves execution efficiency while maintaining relatively simple network architecture, as the two operations are independent and can be implemented as separate layers without complex interconnections.
Data Source
Figure 1
Figure 2~4
Figure 5
AI summary
In order to improve the efficiency and the processing speed of a convolutional neural net-work (N), a first one-dimensional convolution is carried out in a first layer (K1) of the neural net-work (N), convoluting a first one-dimensional filter kernel (K11) with a first one-dimensional data vector (D1) extracted from a data cube (B), and, parallel to the first one-dimensional convolution, a second one-dimensional convolution is carried out in the first layer (K1), convoluting a second one-dimensional filter kernel (K12) with the one-dimensional data vector (D1) extracted from the data cube (B).