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.