GPU Feature Detection via Segmented Memory Parallel Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile devices face challenges in video stabilization and panorama image alignment due to their small size and limited view angle, requiring efficient detection and correlation of image features across multiple frames.

Innovation Solution

A computer-implemented method utilizing a graphics processing unit (GPU) with multiple memory units to detect features in images, specifically corners, by processing images in parallel and using algorithms like the Harris corner detector, allowing for real-time feature detection and descriptor generation for alignment and stabilization tasks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If feature detection is performed using a single memory unit in the GPU, then the device complexity is reduced, but the productivity decreases due to sequential processing

Engineering Contradiction:
Improvefeature detection speedVSAvoidGPU memory unit configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The GPU memory is segmented into multiple independent memory units (first memory unit, second memory unit, third memory unit, fourth memory unit), allowing parallel processing of different image frames or feature detection operations simultaneously, thereby increasing productivity without requiring a fundamentally more complex device architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-memory-unit sequential processing to multi-memory-unit parallel processing by adding a spatial dimension (multiple memory units operating simultaneously), enabling feature detection to proceed in parallel across different memory units, thus improving processing speed while maintaining manageable device complexity

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

2Loss of time

If the GPU processes images sequentially in a single memory unit, then the device complexity is minimized, but the loss of time increases due to inability to perform other tasks

Engineering Contradiction:
ImproveCPU idle timeVSAvoidmulti-memory unit architecture
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

By dividing the GPU memory into multiple independent units, the system enables the CPU to offload image processing tasks to the GPU while simultaneously performing other computational tasks, reducing CPU idle time and overall processing loss without requiring a completely new device architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The multi-memory-unit architecture enables continuous useful action by allowing the GPU to process images in parallel across multiple memory units while the CPU continues other tasks, eliminating idle time and maintaining continuous productive work across the system

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If multiple images are processed simultaneously for panorama stitching, then the productivity increases, but the use of energy increases due to parallel processing requirements

Engineering Contradiction:
Improvepanorama stitching speedVSAvoidGPU energy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the panorama stitching process into parallel feature detection operations across multiple GPU memory units, allowing simultaneous processing of multiple images. This segmentation enables productivity improvement while managing energy consumption by distributing work across independent memory units rather than requiring a single high-power processing unit

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9438795B1Real time feature extraction
Publication Date: 2016.09.06 GOOGLE LLC
  • US9438795B1 patent drawing
  • US9438795B1 patent drawing
  • US9438795B1 patent drawing

AI summary

A computer-implemented method for method for detecting features in an image. The method includes receiving first and second images at one or more processors. The method also includes processing the first and second images to detect one or more features within the first and second images respectively. The method further includes generating a third image based on processed portions of the first and second images and outputting the third image to another processor. A mobile computing device and GPU are also provided.