43
Empowering visual categorization with the GPU Present by 陳陳陳 陳陳陳陳 !

Empowering visual categorization with the GPU

  • Upload
    brede

  • View
    92

  • Download
    0

Embed Size (px)

DESCRIPTION

Empowering visual categorization with the GPU. Present by 陳群元. outline. Introduction Overview of visual categorization Image feature extraction Category model learning Test image classification GPU accelerated categorization Experimental setup Results . introduction. - PowerPoint PPT Presentation

Citation preview

Page 1: Empowering visual categorization with the GPU

Empowering visual categorization with the GPU

Present by 陳群元

我是強壯 !

Page 2: Empowering visual categorization with the GPU

outline

我是強壯 !

Introduction Overview of visual categorization

Image feature extraction Category model learning Test image classification

GPU accelerated categorization Experimental setup Results

Page 3: Empowering visual categorization with the GPU

introduction

我是強壯 !

Use GPU accelerate the quantization and classification components of a visual categorization architecture

The algorithms and their implementations should push the state-of-the-art in categorization accuracy.

Visual categorization must be decomposable into components to locate bottlenecks.

Given the same input, implementations of a component on various hardware architectures must give the same output.

Page 4: Empowering visual categorization with the GPU

overview

我是強壯 !

Page 5: Empowering visual categorization with the GPU

我是強壯 !

Page 6: Empowering visual categorization with the GPU

Visual categorization system

我是強壯 !

Image Feature Extraction Point Sampling Strategy Descriptor Computation Bag-of-Words

Category Model Learning Test Image Classification

Page 7: Empowering visual categorization with the GPU

Visual categorization system

我是強壯 !

Image Feature Extraction Point Sampling Strategy Descriptor Computation Bag-of-Words

Category Model Learning Test Image Classification

Page 8: Empowering visual categorization with the GPU

Point sampling strategy

我是強壯 !

Dense sampling Typically, around10,000 points are sampled

per image Salient point method

Harris-Laplace salient point detector [29] Difference-of-Gaussians detector [28]

Page 9: Empowering visual categorization with the GPU

Visual categorization system

我是強壯 !

Image Feature Extraction Point Sampling Strategy Descriptor Computation Bag-of-Words

Category Model Learning Test Image Classification

Page 10: Empowering visual categorization with the GPU

Descriptors

我是強壯 !

SIFT descriptor ->128 dim 10 frames per second for 640x480

images(GPU) SURF descriptor

100 frames per second for 640x480 images(GPU) ColorSIFT descriptor ->384 dim

Triple of SIFT

Page 11: Empowering visual categorization with the GPU

Visual categorization system

我是強壯 !

Image Feature Extraction Point Sampling Strategy Descriptor Computation Bag-of-Words

Category Model Learning Test Image Classification

Page 12: Empowering visual categorization with the GPU

Bag-of-words

我是強壯 !

Vector quantization is computationally the most expensive part of the bag-of-words model.

Bag -> images set Words->features

Page 13: Empowering visual categorization with the GPU

Bag-of-words

我是強壯 !

N descriptors of length d in an image codebook with m elements

O(ndm) per image A tree-based codebook

O(nd log(m))->real-time on the GPU [25].

Page 14: Empowering visual categorization with the GPU

我是強壯 !

Page 15: Empowering visual categorization with the GPU

Visual categorization system

我是強壯 !

Image Feature Extraction Point Sampling Strategy Descriptor Computation Bag-of-Words

Category Model Learning Test Image Classification

Page 16: Empowering visual categorization with the GPU

Category model learning

我是強壯 !

precompute kernel function values kernel-based SVM algorithm

Page 17: Empowering visual categorization with the GPU

我是強壯 !

Page 18: Empowering visual categorization with the GPU

我是強壯 !

Support Vector Machines

Kernel Support Vector Machines

Page 19: Empowering visual categorization with the GPU

Visual categorization system

我是強壯 !

Image Feature Extraction Point Sampling Strategy Descriptor Computation Bag-of-Words

Category Model Learning Test Image Classification

Page 20: Empowering visual categorization with the GPU

Test image classification

我是強壯 !

Page 21: Empowering visual categorization with the GPU

我是強壯 !

Page 22: Empowering visual categorization with the GPU

outline

我是強壯 !

Introduction Overview of visual categorization

Image feature extraction Category model learning Test image classification

GPU accelerated categorization Parallel Programming on the GPU and CPU GPU-Accelerated Vector Quantization GPU-Accelerated Kernel Value Precomputation

Experimental setup Results

Page 23: Empowering visual categorization with the GPU

Parallel Programming on the GPU and CPU

我是強壯 !

SIMD instructions perform the same operation on multiple data elements at the same time

Page 24: Empowering visual categorization with the GPU

我是強壯 !

Page 25: Empowering visual categorization with the GPU

GPU-Accelerated Vector Quantization

我是強壯 !

The most expensive computational step in vector quantization is the calculation of the distance matrix.(n*m)

A:n*d matrix with all image descriptors as rows

B:m*d matrix with all codebook elements as rows

Page 26: Empowering visual categorization with the GPU

GPU-Accelerated Vector Quantization(cont.)

我是強壯 !

Page 27: Empowering visual categorization with the GPU

GPU-Accelerated Vector Quantization(cont.)

我是強壯 !

Compute the dot products between all rows of A and B (line 7).

matrix multiplications are the building block for many algorithms highly optimized BLAS linear algebra libraries containing this operation exist for both the CPU and the GPU.

Page 28: Empowering visual categorization with the GPU

我是強壯 !

Page 29: Empowering visual categorization with the GPU

GPU-Accelerated Kernel Value Precomputation

我是強壯 !

To compute kernel function values, we use the kernel function based on the distance

distance between feature vectors F and F’

kernel function based on this distance

Page 30: Empowering visual categorization with the GPU

GPU-Accelerated Kernel Value Precomputation(cont.)

我是強壯 !

multiple input features

For kernel value precomputation, memory usage is an important problem. for a dataset with 50, 000 images, the input data

is 12 GB and the output data is 19 GB to avoid holding all data in memory

simultaneously. We divide the processing into evenly sized chunks.(1024*1024)

Page 31: Empowering visual categorization with the GPU

GPU-Accelerated Kernel Value Precomputation(cont.)

我是強壯 !

Page 32: Empowering visual categorization with the GPU

EXPERIMENTAL SETUP

我是強壯 !

Experiment 1: Vector Quantization Speed CPU implementation is SIMD-optimized. codebook of size m = 4, 000 20, 000 descriptors per image descriptor lengths of d = 128 (SIFT) and d = 384

(ColorSIFT). Experiment 2: Kernel Value Precomputation Speed

chosen the large Mediamill Challenge training set of 30, 993 frames

Experiment 3: Visual Categorization Throughput comparison is made between the quad-core Core i7 920

CPU (2.66GHz) and the Gefore GTX260 GPU (27 cores).

Page 33: Empowering visual categorization with the GPU

Results

我是強壯 !

Experiment 1: Vector Quantization Speed Experiment 2: Kernel Value Precomputation

Speed Experiment 3: Visual Categorization

Throughput

Page 34: Empowering visual categorization with the GPU

Results

我是強壯 !

Experiment 1: Vector Quantization Speed Experiment 2: Kernel Value Precomputation

Speed Experiment 3: Visual Categorization

Throughput

Page 35: Empowering visual categorization with the GPU

Vector Quantization Speed(SIFT)

我是強壯 !

Page 36: Empowering visual categorization with the GPU

Vector Quantization Speed(ColorSIFT)

我是強壯 !

Page 37: Empowering visual categorization with the GPU

Results

我是強壯 !

Experiment 1: Vector Quantization Speed Experiment 2: Kernel Value Precomputation

Speed Experiment 3: Visual Categorization

Throughput

Page 38: Empowering visual categorization with the GPU

Kernel Value Precomputation Speed

我是強壯 !

Page 39: Empowering visual categorization with the GPU

Results

我是強壯 !

Experiment 1: Vector Quantization Speed Experiment 2: Kernel Value Precomputation

Speed Experiment 3: Visual Categorization

Throughput

Page 40: Empowering visual categorization with the GPU

Visual Categorization Throughput

我是強壯 !

Page 41: Empowering visual categorization with the GPU

Other applications

我是強壯 !

Application 1: k-means Clustering Application 2: Bag-of-Words Model for Text

Retrieval Application 3: Multi-Frame Processing for

Video Retrieval

Page 42: Empowering visual categorization with the GPU

Conclusions

我是強壯 !

This paper provides an efficiency analysis of a state-of-the art visual categorization pipeline based on the bag-of-words model.

two large bottlenecks were identified: the vector quantization step in the image feature extraction and the kernel value computation in the category classification

Compared to a multi-threaded CPU implementation on a quad-core CPU, the GPU is 4.8 times faster.

Page 43: Empowering visual categorization with the GPU

The end

我是強壯 !

Thank you!