Escolar Documentos
Profissional Documentos
Cultura Documentos
Vis ao Computacional
Ezequiel Franca dos Santos
1
, Gabriel Fontenelle
1
1
Centro Universit ario Senac - Campus Santo Amaro (SENAC-SP)
Av. Engenheiro Eus ebio Stevaux, 823 S ao Paulo CEP 04696-000 SP Brasil
ezefranca.br,colecionador.gabriel,(@gmail.com)
Abstract. This paper presents a game, controlled by computer vision, in identi-
cation of hand gestures (hand-tracking). The proposed work is based on image
segmentation and construction of a convex hull with Jarviss Algorithm , and
determination of the pattern based on the extraction of area characteristics in
the convex hull.
Resumo. Este trabalho apresenta um jogo, controlado atrav es de vis ao compu-
tacional, na identicac ao de gestos da m ao (hand-tracking). O trabalho pro-
posto baseia-se na segmentac ao da imagem e construc ao de um fecho convexo
com algoritmo de Jarvis e determinac ao do padr ao com base na extrac ao de
caractersticas de sua area.
1. Introduc ao
A busca por meios que tornem os jogos mais interativos tem sido muito explorada.
Muitos destes novos meios envolvem a area de vis ao computacional. Este trabalho apre-
senta um estudo sobre a viabilidade de utilizac ao de uma webcam como dispositivo de
interac ao baseado em gestos da m ao, especicamente para o jogo Pedra, Papel e Tesoura.
Neste trabalho, para o reconhecimento de gestos da m ao utilizamos a combinac ao
de algumas t ecnicas e para umreconhecimento satisfat orio, zemos umpr e-processamento
da imagem, passando a mesma para escala de cinza em seguida binarizando e por m
aplicamos um ltro para detecc ao de bordas. Em posse da imagem esqueletizada da m ao,
trabalhos o fecho convexo do conjunto de pontos e extraimos algumas caractersticas de
sua area.
2. Desenvolvimento
Primeiramente capturamos a imagem da camera, ap os isto fazemos a subtrac ao de
fundo com intuito de isolar melhor a m ao para a captura de seus gestos. A pr oxima etapa
foi a normalizac ao da imagem para tons de cinza, seguida da sua binarizac ao. Com a ima-
gem binarizada, comecamos o processo de reconhecimento, primeiramente reconhecedo
as bordas da m ao, e calculando o fecho convexo em torno da mesma. Em seguida, obte-
mos a determinac ao do padr ao com base na extrac ao de caractersticas da area do fecho
convexo.
A gura 1, mostra a sequ encia adotada e cada etapa ser a brevemente descrita no
decorrer deste trabalho.
Figura 1. Fluxo no processamento da imagem
2.1. Aquisic ao da imagem
A biblioteca utilizada neste trabalho [7], permite o acesso a imagens de c ameras
atrav es da plataforma OpenCV. Ela permite trabalhar com a imagem como se a mesma
fosse uma matriz tridimensional. A primeira dimens ao da matriz representa a altura, a
segunda dimens ao representa a largura e a terceira representa os canais vermelho, verde,
azul (RGB) e alfa () de cada pixel. O fator alfa de cada pixel e utilizado para determinar
como as cores ser ao unidas quando imagens de cores diferentes estiverem sobrepostas.
Figura 2. Representac ao da matriz tridimensional da imagem de XY
Os valores representam respectivamente a quantidade de vermelho (R), verde (G),
azul (B) e alfa() do pixel na posic ao vertical (y) e posic ao horizontal (x). Cada quanti-
dade, est a entre 0 e 255.
2.2. Normalizac ao para escala de cinza
A primeira fase de pr e-processamento trata-se da normalizac ao da imagem colo-
rida para tons de cinza. A normalizac ao foi feita com base no valor m edio dos canais de
cores da imagem, conforme a equac ao 1.
V alor
cinzai,j
=
n
R + G + B
3
i,j
(1)
Onde:
V alor
cinza
- valor entre 0 - 255 para a escala de cinza
R - valor vermelho do ponto
G- valor verde do ponto
B- valor azul do ponto
n- quantidade de pontos da imagem
i, j - coordenadas (x,y) do ponto na imagem
A Figura 3 apresenta o resultado deste processo.
Figura 3. Imagem normal (a) e imagem normalizada em cinza (b)
2.3. Binarizac ao da imagem
Existemdiversos algoritmos para binarizac ao de imagens, dentre a lista de soluc oes
para este o algoritmo de Otsu, por ser de f acil implementac ao e apresentar resultados sa-
tisfat orios nos experimentos realizados.
O m etodo de Otsu e um m etodo de thresholding global, isto e, o valor obtido e
uma constante, para escolha do melhor limiar. A base deste m etodo e sua interpretac ao
do histograma como uma func ao de densidade de probabilidade discreta [4], do seguinte
modo:
p
r
(r
q
) =
n
q
n
, q = 0, 1, 2, ..., L 1 (2)
Onde:
n e o total de pixels da imagem;
n
q
e o total de piixels que tem intensidade r
q
e
L e o total de nveis de intensidade na imagem.
O m etodo de Otsu escolhe o limiar de valor k, tal que k e um nvel de intensidade
que divide o histograma em duas classes C
0
= [0, 1, ..., k 1] e C
1
= [k, k +1, ..., L1],
e que maximise a vari ancia
2
B
denida como:
2
B
=
0
(
0
T
)
2
+
1
(
1
T
)
2
(3)
Sendo:
0
=
k1
q=0
p
q
(r
q
) (4a)
1
=
L1
q=k
p
q
(r
q
) (4b)
0
=
k1
q=0
qp
q
(r
q
)
0
(4c)
1
=
L1
q=k
qp
q
(r
q
)
1
(4d)
T
=
L1
q=0
qp
q
(r
q
) (4e)
O resultado da binarizac ao com limiar ajustado segundo o m etodo de Otsu pode
ser observado na Figura 4
Figura 4. Imagem binarizada com limiar denito pelo m etodo de Otsu (b).
2.4. Remoc ao de fundo
A subtrac ao de fundo foi implementada utilizando uma t ecnica de subtrac ao sim-
ples. Os valores do primeiro frame s ao comparados e se a diferenca for maior que um de-
terminado threshold com o frame atual, o pixel e considerado como objeto, caso contr ario,
ser a considerado fundo. Os resultados dessa t ecnica n ao s ao extremamente ecazes, pois
n ao levam em considerac ao nenhum embasamento estatstico e nem uma etapa de treina-
mento, mas para este trabalho mostraram-se sucientes ajustando-se o Threshold (6) de
acordo com o ambiente.
r
i,j
= |R
primeiro
R
atual
|
i,j
(5a)
g
i,j
= |G
primeiro
G
atual
|
i,j
(5b)
b
i,j
= |B
primeiro
B
atual
|
i,j
(5c)
Threshold = r
i,j
+ g
i,j
+ b
i,j
(6)
Onde:
Threshold valor entre 0 255 para a escala de cinza
R
primeiro
valor vermelho do ponto no primeiro frame
G
primeiro
valor verde do ponto no primeiro frame
B
primeiro
valor azul do do ponto no primeiro frame
R
atual
valor vermelho do ponto no frame atual
G
atual
valor verde do ponto no frame atual
B
atual
valor azul do do ponto no frame atual
(i, j) coordenadas (x, y) do ponto na imagem
E por m:
(R, G, B)
atual
= 255 Threshold K(R, G, B)
atual
= 0 Threshold < K (7)
Onde:
K valor ajustado manualmente no programa de acordo como ambiente
2.4.1. Detecc ao de bordas com ltro Sobel
O ltro Sobel calcula o gradiente da intensidade da imagem em cada ponto, dando
a direcc ao da maior variac ao de claro para escuro e a quantidade de variac ao nessa
direcc ao, atrav es de duas matrizes 3x3, que s ao convoludas com a imagem original para
calcular aproximac oes das derivadas - uma para as variac oes horizontais Gx e uma para
as verticais Gy.
M ascara de Sobel 3x3
Gx =
1 0 +1
2 0 +2
1 0 +1
Gy =
1 2 1
0 0 0
+1 +2 +1
Gx
2
+ Gy
2
Figura 5. Resultado do ltro Sobel (b) e uma imagem binarizada (a).
2.5. Reconhecimento dos padr oes
2.5.1. Determinac ao do fecho convexo
Um conjunto S R
d
e convexo se z
1
+ (1 )z
2
S sempre z
1
, z
2
S, e
0 1. Resumidamente, S cont em todos os segmentos de linha que conectam
pares de pontos em S.
O fecho convexo gerado por um conjunto de pontos P e a intersecc ao de todos
conjuntos convexos S que contem P. Se P = {z
i
R
d
, i = 1 . . . , n} e nito,
pode ser expresso da seguinte forma:
S = {
n
i=1
i
z
i
| 0
i
1,
i
= 1}.
-6
-4
-2
0
2
4
6
8
-5 -4 -3 -2 -1 0 1 2 3 4
Se P e nito, existe um unico subconjunto P