This poster represents active research topic in human
computer interaction (HCI) as automatic hand finger counting using deep Convolutional Neural Network (CNN). To accelerate projected algorithmic program, leverage CUDA 8.0 platform from the NVIDIA GPU. Hand finger Counting and recognition deals with real time application, that leads us optimize algorithm with maximum number of images for CNN training. Projected methodology implemented in C, CUDA. Algorithmic program is complicated a part of feature
extraction boosted up using multi-threaded CUDA calls. Application of this algorithm is proposed for autonomous fire-fighting robot which has on-board camera and embedded GPU processor. Testing accuracy is measured with known and unknown image dataset, typical testing accuracy achieved 98% for unknown finger counting. A CUDA GPU (GT820M) performance improvement of 40x over the single core Intel processor.
Delhi 99530 vip 56974 Genuine Escort Service Call Girls in Kishangarh
Hand Finger Counting using Deep Convolutional Neural Network (CNN) on GPU
1. Abstract
This poster represents active research topic in human
computer interaction (HCI) as automatic hand finger counting using
deep Convolutional Neural Network (CNN). To accelerate projected
algorithmic program, leverage CUDA 8.0 platform from the NVidia
GPU. Hand finger counting and recognition deals with real time
application, that leads us optimize algorithm with maximum number
of images for CNN training. Projected methodology implemented in
C, CUDA. Algorithmic program is complicated a part of feature
extraction boosted up using multi-threaded CUDA calls. Application
of this algorithm is proposed for autonomous fire-fighting robot
which has on-board camera and embedded GPU processor.
Testing accuracy is measured with known and unknown image
dataset, typical testing accuracy achieved 98% for unknown finger
counting. A CUDA GPU (GT820M) performance improvement of
40x over the single core Intel processor.
Introduction
The goal of this project is to develop a program implementing
automatic hand finger counting using deep convolutional neural
networks (CNN). Application of this algorithm to drive the robot or
fire-fighting robot movement based on hand finger counts. Camera
will capture the photographs within the range of 2meter with 25fps
with image size of 1024x1024, 8bit. Every finger count appointed
desired movement of robot like 1-Forward, 2-Right, 3-Left, 4-
Reverse and 5-Stop. Algorithmic project has to train all the images
with different background, color, shape of hand fingers and
meaningful features to classify the finger count accurately.
In order to lighten the project, it has been decided that the
identification would consist in counting the number of fingers that
are shown by the user in the input picture.
Database
1. Color, Image size 1024x1024, On board Camera or Live camera
capture
2. Total images – 5000 i.e. 1000 images Per Hand finger one, two, three,
four, five etc
3. Different background image database to improve the accuracy 250
per hand fingers i.e. 1250 images
Database And Results Analysis
CUDA Approach
1. On board camera capture video – process frame by frame image
2. Extract features from the image using various segmentation techniques
implemented in MATLAB, CUDA 8.0. Output features then written to a text
file.
3. Use the matrix obtained in step 2 to train the deep convolutional neural
network on GPU.
4. Once the network is trained, we test it on GPU.
5. GPU implementation :-
a. Load the test image into GPU global memory
b. Process it as in step 2, output will be matrix of size (1048576 x1).
c. Pad the matrix with 0's - output will be a matrix of size (1048576 x16)
- Inputs matrix.
d. This is all done on the GPU. Now pass the neural network weights
matrix, to the GPU.
e. Multiply neuralnetwork_weights matrix by Inputs matrix - which
will give a 16 x 16 matrix. Extract the first five values from it. The
index of the value which has maximum value + 1 gives us the count.
GPU Performance Results
References
[1] Malima, A.; Ozgur,E.; Cetin,M.; [2006] “A Fast Algorithm for Vision-Based
Hand Gesture Recognition for Robot Control”, Signal Processing and
Communications Applications, IEEE
[2] A Neural Network on GPU,
http://www.codeproject.com/KB/graphics/GPUNN.aspx
[3] NVIDIA Corporation, Compute Unified Device Architecture (CUDA),
http://developer.nvidia.com/object/cuda.html.
[4] Accelerating Protein Sequences and classification using GPU-HMMER search
GTC 2016 http://on-
demand.gputechconf.com/gtc/2016/posters/GTC_2016_Computational_Biology_C
B_02_P6218_WEB.pdf
Hand Finger Counting using Deep Convolutional Neural Network (CNN) on GPU
Mahesh Khadtare1, Dr. G. K. Kharate2
1 – Research Student, Pune, IN; 2 – MCERC, Nashik, IN
Flow CPU GPU 525M Speedup
(ms) (ms)
Preprocessing 69 1.12 61.60
Feature Extraction 58 2.13 27.23
Neural Network
Training 192 13.01 14.61
Neural Network
Testing 50 3 16.66
Total 369 19.25 19.16
Preprocessing Feature Extraction Pattern recognition
Pattern recognition
Image from
camera
Output
( Finger
Count )
Training File
Preprocessing Feature Extraction
Image from
camera
(a) Training Phase
(b) Testing Phase
CPU / GPU Core
Details
Time(sec) Speedup
Dual Core CPU 1 10.00 1x
Fx1800 64 4.6 2.17x
GeForce GT 820M 96 1.1 9.09x
Tesla GeForce GTX 275 192 0.23 40.33x
Fermi S2050 (Multi GPU) 4x448 0.12 83.3x
0
1
2
3
4
5
6
7
8
9
10
DUAL CORE CPU
FX1800
GEFORCE GT 525M
FERMI
S2050
10
4.6
1.1
0.1
GESTURE RECOGNITION GPU PERFORMANCE
Read Image and inputs
Copy Image to GPU
Non-maximum 2D, Copy scale data to
GPU and 3x3 local max
Thresholding and final scales
Device Image
Finding maximum in all scales
Filtering each scales
C
P
U
G
P
U
Calculate the filter coefficients
Device Coefficients
2D convolution (32x8)
Finding Maximum in all scales
Scale and 2D Max filtering
Finding thresholding in all scales