Lan Vu, Spring 2012

muscleblouseΤεχνίτη Νοημοσύνη και Ρομποτική

19 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

67 εμφανίσεις

Lan

Vu, Spring 2012

Department of Computer Science & Engineering

University of Colorado Denver

Convert image into text


Optical Character Recognition (OCR)

OCR Applications

Check reader

Form reader

Mail sorter

Passport reader

How does it work ?

Pattern

Recognition

Image

Acquisition

Image
Processing

How does it work ?

Pattern

Recognition

Image

Acquisition

Image
Processing

Techniques for OCR

A set of algorithms to:


Transform to binary images


Reduce noise


Improve image quality


Correct skew errors


Letter segmentation


Separate text from
bkground


Normalize character size


Artificial Neural Network


Hidden Markov Model


Support Vector Machine


Genetic Algorithm


Bayesian Network


Gaussian Model


K
-
nearest neighbor


Hybrid methods

Popular methods

Pattern

Recognition

Image
Processing

They are all computational intensive

A set of algorithms to:


Transform to binary images


Reduce noise


Improve image quality


Correct skew errors


Letter segmentation


Separate text from
bkground


Normalize character size


Artificial Neural Network


Hidden Markov Model


Support Vector Machine


Genetic Algorithm


Bayesian Network


Gaussian Model


K
-
nearest neighborhood


Hybrid methods

Popular methods

Pattern

Recognition

Image
Processing

Image Processing with GPU


Images are just matrices of colors



RGB


g
rayscale


binary



Image processing algorithms


measure and adjust matrices for a purpose


Ideal for GPU


Computational intensive


Process huge amount of data


Highly data parallel computation


Minimal dependency between data elements

Transform to binary images



RGB


g
rayscale


binary



Load image into memory as a matrix


For each cell of matrix

Grayscale_color

= (R + G + B) /3

If

Grayscale_color

>
K



Binary_color

= Black

Else




Binary_color

= White




Predefined threshold

e.g. K = 60

Let use
CUDA

to run it on GPU

1378x1786


Test Cases



Run sequential on
Intel Core 2 CPU 1.8Ghz


Run parallel on
Intel Core 2 CPU 1.8Ghz
(
OpenMP
)


Run parallel on
Gefore

9400 GT
Nvidia

GPU

(CUDA)


Test images
: Bitmap 200x300
-

Iterations: 10000


Source Code
: I can give a copy if you interest

Experiment of CPU vs.
GPU

Experiment results

You should try it on Hydra !


VS.

My current plan with GPU


Sequence Alignment on GPU