Convolutional Neural Network Expansion for Variable Input Sizes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Convolutional Neural Networks (CNNs) require a fixed input image size, limiting their ability to handle images of arbitrary sizes, which leads to issues like cropping or warping that can result in geometric distortion and loss of information, compromising classification accuracy.
Innovation Solution
A two-step training process is implemented, where the network is first trained with reduced-size images and then expanded to accommodate larger images by adding additional convolutional layers initialized with weights from the initial layers, allowing variable input sizes while maintaining the size of the fully connected layer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the input image size is fixed to match CNN requirements, then the network can be trained efficiently, but images of arbitrary sizes must be cropped or warped, causing geometric distortion and information loss
Solution Approach 1:
The patent applies dynamics by making the convolutional network architecture adaptable to different input image sizes. Instead of fixing the network structure, the system dynamically adjusts the number of convolutional layers based on the input image dimensions, allowing the network to process images of arbitrary sizes without cropping or warping while maintaining training efficiency.
Solution Approach 2:
The patent changes the parameter of the network architecture (number of convolutional layers) based on the input image size. By adjusting this parameter dynamically, the system can accommodate different image dimensions while preserving all image information and maintaining efficient training, thus resolving the contradiction between fixed-size requirements and arbitrary size inputs.
2Adaptability or versatility
If additional convolutional layers are added to accommodate larger input images, then variable input sizes are supported, but the network complexity increases
Solution Approach 1:
The system dynamically adjusts the network complexity by adding or removing convolutional layers based on the input image size. This dynamic adaptation allows the network to be simple for small images and more complex for large images, achieving versatility without unnecessary complexity for all inputs.
Solution Approach 2:
The patent segments the convolutional network into modular layers that can be independently added or removed. This segmentation allows the system to construct the appropriate network complexity for each input size by combining the necessary number of convolutional layers, managing complexity through modular design.
3Stability of the object's composition
If the fully-connected layer size is maintained fixed, then the network structure remains stable, but the spatial scale of extracted features varies with input image size
Solution Approach 1:
The patent applies dynamics by making the number of convolutional layers variable while keeping the fully-connected layer size fixed. This dynamic adjustment of the convolutional portion compensates for varying spatial scales, allowing the network to maintain stable fully-connected layers while adapting to different input sizes through the variable convolutional structure.
Data Source
AI summary
According to exemplary methods of training a convolutional neural network, input images are received into a computerized device having an image processor. The image processor evaluates the input images using first convolutional layers. The number of first convolutional layers is based on a first size for the input images. Each layer of the first convolutional layers receives layer input signals comprising features of the input images and generates layer output signals that include signals from the input images and ones of the layer output signals from previous layers within the first convolutional layers. Responsive to an input image being a second size larger than the first size, additional convolutional layers are added to the convolutional neural network. The number of additional convolutional layers is based on the second size in relation to the first size. The additional convolutional layers are initialized using weights from the first convolutional layers. Feature maps comprising the layer output signals are created.


