• Nenhum resultado encontrado

A Study of Swimmers Detection in Beach Images Ricardo Luna da Silva, Sérgio Chevtchenko, Allan Alves de Moura, Valmir Macario, Filipe Rolim Cordeiro

II. T RABALHOS R ELACIONADOS

Os trabalhos encontrados na literatura para detecção de pessoas em imagens são principalmente focados em aplica- ções como: veículos autônomos, monitoramento de vigilância, estabelecimentos comerciais e outros. Portanto, foi possível encontrar uma grande variedade de técnicas para detectar pes- soas. No entanto, apesar dos inúmeros trabalhos relacionados, não há projetos que se concentram na identificação de pessoas em imagens de praia.

Um dos trabalhos mais citados para detectar pessoas é de Viola et al. [5], que propôs uma estrutura de detecção de pedestres que usa descritores de Haar, e em seguida aplica AdaBoost para construir um subconjunto de características e compor um classificador. Outro detector de pedestres bem conhecido foi desenvolvido por Dalal et al. [2]. No seu trabalho, a imagem é dividida em células, e o Histograma de Gradientes Orientados de cada célula é calculado. Eles usam um SVM linear para alcançar uma boa taxa de detecção.

Mais recentemente, para detectar e rastrear pessoas, o traba- lho de Xie et al.. [6] extrai características HOG utilizando uma GPU (Graphics Processing Unit). Todos os verdadeiros pontos

positivos, pontos na imagem com pessoas, são acompanhados por um conjunto de descritores SURF e EMD [7].

Na literatura, outras técnicas utilizam a semântica de cor como característica da segmentação e classificação apenas da parte superior do corpo. Wang et al.. [3] têm como o número de classes um valor fixo que varia de acordo com a semântica (pele, cabelo, roupa e fundo). E para a classificação eles usam um algoritmo SVM linear, comumente usado no estado da arte desse tipo de problema.

O algoritmo Random Forest também foi usado para classifi- cação de pedestre no trabalho de Marin et al. [4]. Eles propõem um procedimento de bootstrapping, onde diferentes árvores cobrindo diferentes configurações espaciais de pedaços no objeto, reconhecendo diferentes pontos de vista de pedestres e poses de corpo usando HOG ou combinando descritores HOG e LPB [8].

Alguns trabalhos se concentram em identificar a parte de cima do corpo. Estes trabalhos são especialmente relevantes para a nossa pesquisa, onde parte do corpo estará debaixo de água. O trabalho de Tu et al.. [9] é para classificar cabeça e ombro em imagens de vigilância com estratégia em cascata onde é usada um classificador SVM linear. Em Hu et al. [10], a primeira etapa do algoritmo usa dois descritores, HOG e LBP para eliminar a maioria dos candidatos. No segundo estágio, um descritor RCM (Region Covariance Matrix) com custo computacional maior é usado para refinar a classificação usando um algoritmo de aprendizagem de kernel múltiplo.

Nosso sistema difere dos sistemas atuais devido ao ambiente de praia. Principalmente porque neste ambiente as ondas se movem constantemente e a iluminação é bastante incerta ao longo do dia, dependendo da quantidade de nuvens no céu e da posição do sol. Além disso as pessoas ficarão parcialmente submersas na água. Portanto nosso trabalho realiza um estudo de diferentes descritores de imagem e os combina para avaliar esses descritores em imagens de praia com banhistas.

III. CONCEITOS

Esta seção descreve os descritores de imagens e algoritmos avaliados neste trabalho.

A. Extração de características

1) 1) Momentos de HU: o conjunto de momentos invari- antes de HU [11] são constantes a variação de escala, rotação e translação. Os sete momentos de hu utilizados neste artigo são extraídos de imagens binarias.

2) Momentos de Zernike: Os polinômios de Zernike foram primeiramente propostos em 1934 por Frits Zernike. Estes momentos são conhecidos por serem invariantes à rotação e podem ser modificados para serem estáveis a escala e translação [12].

O momento complexo 2D de ordem n e repetição m, sobre uma função de intensidade de imagem f(x, y), é

Zn,m= n + 1 π X x X y f (x, y)Vnm(x, y)∗ n − |m| even, |m| ≤ n (1)

onde x2+ y2 ≤ 1. As coordenadas da imagem original são

dimensionadas para um disco unitário x2+ y2= 1, e ∗ denota

o complexo conjugado. O polinômio de Zernike Vnm(x, y) é

definido como Vnm(x, y) = Vnm(r, θ) = Rnm(r)ejmθ Rnm(r) = n−|m| 2 X s=0 (−1)s (n − s)! s!n+|m|2 − s!n−|m|2 − s!r n−2s (2) Onde j é a unidade imaginária e 0 ≤ r ≤ 1. A transformação da imagem normalizada (x, y) para o domínio do círculo unitário (r, θ) é dado por

r =px2+ y2, θ = tan−1 y

x 

(3) Esses momentos são utilizados para descrever textura e for- mato das imagens.

3) Características de Gabor: Essas características são ba- seadas no filtro de Gabor [13]. Um filtro de Gabor 2D de uma imagem tem os seguintes parâmetros:

• Tamanho da janela do filtro (w); • Desvio padrão gaussiano (σ);

• Orientação da normal para as linhas paralelas da função

de Gabor (θ);

• Comprimento de onda do fator sinusoidal(λ); • Razão de aspecto espacial (γ);

• Fase (ψ).

Variando os parâmetros acima é possível melhorar as propri- edades visuais de uma imagem, como por exemplo a frequên- cia espacial e a orientação. O vetor característica de Gabor é obtido através da aplicação de um filtro sobre a imagem e transformando a resposta em um vetor unidimensional. Desta forma, o vetor resultante é do mesmo tamanho da imagem original.

4) Histograma de Gradientes Orientados (HOG): A ideia principal por traz do descritor HOG é de que uma imagem pode ser representada pelo seu gradiente [2]. Um vetor de características HOG é computado seguindo os passos abaixo: 1) Calcular gradientes para uma imagem em tons de cinza. 2) Dividir a imagem em células de um tamanho especi- fico. Aumentando o tamanho da célula é possível obter informações de maior escala. Reduzindo o tamanho da célula, obtém-se informações mais detalhadas.

3) Extrair o histograma de orientação do gradiente para cada célula.

4) Agrupar células dos histogramas em blocos e normalizar cada bloco que são a energia total dos histogramas de grupos de células. Blocos de menor tamanho aumentam a atenuação para variações de iluminação local. 5) O vetor de características final é obtido concatenando os

histogramas de cada célula.

A Figura 1 ilustra a orientação e magnitude dos gradientes encontrados para uma amostra positiva e negativa.

(a) (b) (c)

(d) (e) (f)

Figura 1. Uma amostra positiva (a) e negativa (d) da base de dados com os respectivos gradientes, magnitude (b) (e) e orientação (d) (f).

5) Padrões Binários Locais (LPB): Inicialmente proposto por [14] para classificação de texturas, este descritor de carac- terísticas foi aplicado com sucesso para diferentes problemas, como por exemplo a detecção de faces e também de pessoas. Uma característica básica do LBP é obtida através de uma vizinhança 3x3 de cada pixel, como mostrado na Figura 2. Um limiar é utilizado, comparando o pixel central com cada um de seus vizinhos e o seu resultado é codificado como um rotulo binário. Um histograma da quantidade de transições entre 0 e 1 ou 1 e 0 são associados com código uniforme dependendo de uma codificação de posição dessa transição. Se tiver somente 0 ou 2 transições, o código é único, para mais, as transições são contadas como o mesmo código. Por exemplo, o código na figura 2, é contado como mais de 2 transições. O histograma pode ser utilizado como um descritor de texturas. Características LBP podem ser expandidas para uma maior vizinhança. Por exemplo, existe uma 16-vizinhança dentro do raio de 2 pixels. Geralmente, cada pixel é descrito utilizando P pontos de vizinhança dentro de um raio com R números de pixels. A variância de tons de cinza da vizinhança local pode ser utilizada como uma métrica complementar de contraste. A seguir, a notação (P, R) vai ser usada para pixels onde P significa pontos de amostra em um círculo de raio R. Se uma coordenada de pontos no círculo não corresponder a uma coordenada de imagem, o ponto pode ser interpolado pela interpolação linear mais próxima.

Figura 2. Exemplo de uma característica LBP

B. Classificação

Baseado no estudo completo de classificadores de [15], e baseado em demais estudos de detecção de pessoas presentes na seção II, os seguintes classificadores foram selecionados para a tarefa de reconhecimento

1) Máquina de Vetor de Suporte (SVM): A Máquina de Vetor de Suporte [16], é um classificador binário bastante

usado em trabalhos de detecção de pessoas [17]. Seja um exemplo de treinamento rotulado na forma de {(yi, xi)}Ni=1,

com yi ∈ {−1, +1}, xi ∈ Rn. Para um kernel nos pontos,

k(x, z) : Rn× Rn → R, com produto interno Φ(x) · Φ(z),

numa dimensão de espaços de características possivelmente alta, o algoritmo encontra um hiperplano no qual separa melhor os dados, minimizando:

τ (w, ξ) = 1 2kwk 2+ C N X i=1 ξi (4) sujeito a yi((w · xi) + b) ≥ 1 − ξi e ξi≥ 0, onde C > 0 é

o equilíbrio entre regularização e a violação da restrição. Na formulação dupla é maximizada:

W (α) = N X i=1 αi−1 2 X ij αiαjyiyjk(xi, xj) (5)

sujeito a restrições 0 ≥ αi ≥ C e αiyi = 0. A decisão é

sign(h(x)), em que: h(x) = m X l=1 αlylk(x, xl) + b (6)

onde xl : l ∈ 1, 2, . . . , m são os vetores de suporte. Para

kernels lineares, podemos escrever, k(x, z) = hhx, zii, em

que h() pode ser reescrito como h(x) = hw, xii + b, onde

Pm

l=1αlylxl.

Embora o classificador linear seja útil o suficiente devido a sua complexidade linear, importante para sistemas de tempo real, é mais utilizado quando os dados são linearmente se- paráveis. A solução para este mesmo algoritmo ser utilizada para base de dados não-linearmente separáveis é mapear os dados para uma dimensão maior φ : X → ℑ, onde X é o espaço de entrada e ℑ representa o espaço de características. A escolha apropriada de φ permite que a base de dados mapeada em ℑ seja separada por uma SVM linear. Com este objetivo, a função do kernel k(x, z) que satisfaz as condições de Mercer [18], resulta em uma matriz K semi- definida. O kernel normalmente utilizado para fazer isso é o kernel Radial RBF. Para o Kernel radial, podemos reescrever k(x, z) = hexp −σkxi− zk2



i, então h() pode ser escrito como h(x) = hexp −σkxi− zjk2i + b, ondePml=1αlylxl.

2) Random Forests: Random Forests[19] também obteve bons resultados na literatura para detecção de pessoas [20]. É um método de aprendizado de conjuntos que combina a predição de varias árvores de decisão usando o mecanismo de voto majoritário.

Um classificador denotado por ψ = (z, X), é um preditor para a classe z usando o conjunto de dados de treinamento X. Supondo que existe uma sequência finita de conjuntos de treinamento {X(k)}, k = 1, 2, . . . , K, onde cada um consiste

de M observações independentes vindo da mesma distribuição subjacente a todos os conjuntos de dados X. A ideia central é utilizar {X(k)} para obter um classificador melhor do

que o classificador simples, tendo como restrição somente a

sequência de classificadores ψ = (z, X(k)). A classe mais

votada zj é a associada ao dado xi.