Fully Convolutional Network Tiling for Variable-Size Inference

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Fully convolutional networks (FCNs) deployed on hardware accelerators are typically statically compiled for fixed input sizes, making it difficult to process inputs with varying or unknown sizes efficiently, and existing techniques for dynamic processing incur significant overhead and inaccuracies due to neighbor pixel handling.

Innovation Solution

The described techniques tile input data into fixed-size portions, determine valid and dummy regions, and stitch outputs to generate an accurate final output, optimizing computation efficiency and reducing memory usage by leveraging hardware constraints and data sharing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a fully convolutional network is statically compiled for fixed input sizes on hardware accelerators, then computation efficiency is improved, but adaptability to process inputs with varying or unknown sizes deteriorates

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidadaptability to process inputs with varying sizes
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The input data is divided into multiple fixed-size tiles that can be processed independently by the statically compiled FCN. Each tile is processed separately through the hardware accelerator, and the results are then stitched together to form the final output. This segmentation allows the system to maintain the efficiency of fixed-size processing while achieving versatility in handling variable-sized inputs.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a fully convolutional network is dynamically compiled to process inputs with varying sizes, then adaptability is improved, but computation efficiency and overhead deteriorate

Engineering Contradiction:
Improveadaptability to process inputs with varying sizesVSAvoidcomputation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by dividing the input into fixed-size tiles before processing. This pre-processing step enables the use of a statically compiled FCN that is optimized for fixed-size inputs, thereby maintaining high computation efficiency. The tiling approach eliminates the need for dynamic compilation while still allowing the network to handle variable-sized inputs effectively.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If fixed-size inputs are used for statically compiled FCN, then computation efficiency is improved, but measurement precision of pixel-wise results deteriorates due to inaccurate boundary pixels

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidpixel-wise result accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system applies local quality by differentiating between accurate and inaccurate pixel regions in the output. Boundary pixels that are affected by the fixed-size tiling are identified as having lower quality or accuracy. The stitching process carefully handles these regions, combining results from multiple tiles while accounting for the reduced accuracy at boundaries. This approach maintains overall computation efficiency while being transparent about the localized precision limitations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250225781A1Efficiently performing inference computations of a fully convolutional network for inputs with different sizes
Publication Date: 2025.07.10 GOOGLE LLC
  • US20250225781A1 patent drawing
  • US20250225781A1 patent drawing
  • US20250225781A1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing inference computations of a fully convolutional neural network receiving inputs with different sizes. One of the methods include receiving a new input to be processed by a fully convolutional neural network, the new input having a first size different from a fixed size that the fully convolutional neural network is configured to process; determining, one or more fixed-size inputs from the new input, each fixed-size input having the fixed size; obtaining a respective fixed-size output generated by the fully convolutional neural network performing inference computations for each of the one or more fixed-size inputs; and generating, from the respective fixed-size outputs comprising one or more invalid pixel values, a final output that is equivalent to an output that would be generated by processing the new input using the fully convolutional neural network.