Accelerated PatchMatch Optical Flow Computation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Optical flow computations are resource-intensive for computing devices, consuming significant processing and memory resources, particularly when using the PatchMatch algorithm for applications like visual surveillance and augmented/virtual reality.

Innovation Solution

An accelerated and efficient PatchMatch algorithm is implemented, which performs raster scans in parallel, executes a propagation process based on optical flow estimates, and applies filtering and scaling to generate optical flow between successive image frames, reducing resource consumption by leveraging metrics like data, rigidity, and constraint metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the PatchMatch algorithm is applied to compute optical flow, then optical flow computation performance is improved, but processing and memory resources are consumed

Engineering Contradiction:
Improveoptical flow computation performanceVSAvoidprocessing and memory resources
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent divides the image into patches and processes them independently through raster scans, enabling parallel computation. Each patch is handled as a separate unit, allowing the system to compute optical flow for multiple regions simultaneously, thereby improving productivity while managing resource consumption through selective processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-computing optical flow estimates for patches and using these estimates to guide subsequent propagation processes. This allows the system to make initial computations efficiently and use these results to accelerate further processing, reducing overall resource requirements while maintaining high computation performance.

Inventive Principle:
Principle #10Preliminary action

2Speed

If raster scans are performed in parallel, then computation speed is improved, but complexity of the algorithm increases

Engineering Contradiction:
Improvecomputation speedVSAvoidalgorithm complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the raster scan process into multiple independent scan directions (horizontal and vertical) that can execute in parallel. Each scan direction processes specific patches independently, enabling concurrent computation without requiring complex coordination between all possible scan paths, thus achieving speed improvement with manageable complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension to the computation by processing raster scans in multiple directions simultaneously (horizontal and vertical). This dimensional approach allows parallel execution of scan operations, improving computation speed while organizing complexity through structured multi-directional processing rather than requiring complex sequential algorithms.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20240193791A1Techniques for accelerating optical flow computations
Publication Date: 2024.06.13 META PLATFORMS TECHNOLOGIES LLC
  • US20240193791A1 patent drawing
  • US20240193791A1 patent drawing
  • US20240193791A1 patent drawing

AI summary

A method for generating an optical flow for a plurality of successive image frames includes executing an initialization process by performing a plurality of raster scans of a patch of pixels in one or more of the plurality of successive image frames in parallel. The plurality of raster scans of the patch of pixels includes a plurality of optical flow estimates between the plurality of successive image frames. The method includes executing a propagation process based on the plurality of optical flow estimates between the plurality of successive image frames. Executing the propagation process includes propagating the plurality of optical flow estimates for one or more neighboring pixels associated with the patch of pixels. The method includes executing a search process by identifying one or more offsets based on the plurality of optical flow estimates for the one or more neighboring pixels associated with the patch of pixels.