• Nenhum resultado encontrado

ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS

Rastreamento por Detecção

3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS

treinamento devem ser obtidas a priori, de forma que as etapas de treinamento e execução tenham que ser separadas. A proposta de Grabner e Bischof, intitulada Online Adaboost para

seleção de características (GRABNER; BISCHOF, 2006) (ou OB - Online Boosting), consiste

em construir um classificador baseado no Adaboost (FREUND; SCHAPIRE, 1995) e modificá- lo de forma que o seu treinamento possa ocorrer em tempo de execução. Essa proposta tem a vantagem de poder ser utilizada em várias áreas que necessitam um processamento em tempo real, como o rastreamento de objetos.

Para tornar possível o OB, o classificador é treinado de forma que após o treinamento de cada novo exemplo de treino, o classificador já esteja pronto para avaliar padrões de teste, ao contrário do funcionamento Adaboost. De forma a detalhar a técnica proposta por Grabner e Bischof, as duas próximas subseções descrevem primeiramente a versão offline do Adaboost padrão e para seleção de características. Em seguida a Subseção 3.1.3 descreve quais modifi- cações foram necessárias para tornar o método original online. Por fim, as Subseções 3.1.4 e 3.1.5 descrevem dois métodos de rastreamento derivados do online Adaboost.

3.1.1 Adaboost

O Adaboost foi primeiramente proposto por Freund e Schapire (FREUND; SCHAPIRE, 1995) e posteriormente aprimorado por Viola e Jones (VIOLA; JONES, 2001a). Ele teve bastante sucesso no treinamento de detectores, em especial o detector facial, por ser bastante rápido e preciso. O Adaboost utiliza o boosting, um método de treinamento bastante utilizado em aprendizagem de máquinas.

O boosting consiste em treinar uma série de classificadores fracos, que tem uma taxa de acerto um pouco melhor que uma resposta aleatória, e combiná-los, por meio de votação pon- derada, para construir um classificador forte, com uma taxa de acerto elevada. O treinamento por meio do boosting é feito de forma que cada classificador fraco é treinado com um sub- conjunto diferente de padrões, gerando assim classificadores que se especializam em regiões diferentes do problema. Com isso, a união dos classificadores fracos tem a capacidade de formar uma região de decisão complexa.

Para um conjunto n de classificadores fracos hfraco1 , hfraco2 , ..., hfracon , um classificador forte

hforte pode ser definido como

hforte= sign ( n

i=1 αihfracoi (x) ) , (3.1)

onde sign(x) é o operador sinal

sign(x) = {

+1 se x > 0

−1 caso contrário . (3.2) Para treinar o classificador em um espaço m-dimensional Rm é necessário um conjunto de treinamento

3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS 34

onde xi representa as característica da i-ésima amostra e yi representa o seu rótulo. A re- amostragem é feita diferente do boosting tradicional, de forma que cada padrão apresentado para treino possui um peso p(xi) que é representado inicialmente por uma distribuição uniforme

p(xi) = L1. A medida que o treinamento ocorre, os padrões que são dificilmente classificados são associados a um peso maior e os que são facilmente classificados tem um peso menor ou nulo.

Baseado no erro ei do classificador fraco, o seu peso αi de participação na votação do classificador forte é atribuído como

αi= 1 2ln ( 1− ei ei ) , (3.4)

assim, quanto menor o erro de hfracoi , maior o seu peso na votação e quanto maior o erro, menor o seu peso. Este processo segue e a cada nova iteração uma nova hipótese hfracoi é inserida. O treinamento cessa quando uma condição de parada é atingida (o número de classificadores fracos chega a um máximo determinado ou o erro na base de validação atinge um valor abaixo de um limiar).

Da maneira como é elaborado, o treinamento do Adaboost foca nas amostras que são mais difíceis de serem classificadas. Para isso, ele faz com que vários classificadores fracos se especializem em conjuntos pequenos de padrões de difícil classificação. Por outro lado, poucos classificadores focam em um conjunto grande de amostras de fácil classificação. Freund e Schapire provaram em seu trabalho que o erro de treinamento cai de forma exponencial em relação ao número de rodadas de treinamento, mostrando assim que o Adaboost é uma técnica poderosa de aprendizagem de máquinas.

3.1.2 Adaboost para Seleção de Características

Tieu e Viola aprimoraram em um trabalho posterior (TIEU; VIOLA, 2000) o Adaboost conven- cional para tornar possível a seleção de características. Nesta proposta a formação de um classi- ficador fraco é feita a partir de cada característica possível. Um procedimento de treinamento é executado para selecionar esses classificadores que em conjunto são utilizados para formar uma máquina de comitê. Um conjunto de características possíveis é dado porF . Como normal- mente o número de características possíveis é muito alto e a seleção delas a partir deF seria computacionalmente proibitiva, um subconjunto deF é utilizado, Fsub={ f1, ..., fk} ⊆ F .

O treinamento efetuado é similar ao Adaboost, de modo que a cada iteração i um novo clas- sificador fraco é adicionado ao comitê. Para tal, todas as características emFsubsão avaliadas

e a que produzir o classificador com menor erro é selecionada. A partir do classificador hfracoi selecionado, um peso associado αi é calculado também com base em seu erro. Depois que a condição de parada é atingida, todos os classificadores fracos são unidos em um classificador forte hforte.

A grande vantagem deste método em relação ao anterior está na definição dos classifica- dores fracos em relação às características da imagem. Apenas as características com maior poder discriminante são selecionadas, diferentemente do método anterior, no qual o conjunto de características é fixo e todos os classificadores fracos a avaliavam. Isso possibilita um nú-

3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS 35

Figura 3.1: Características quadráticas utilizadas no trabalho de Viola e Jones.

mero enorme de classificadores disponíveis e facilita a seleção apenas dos que possuem maior relevância ao problema, o que resulta potencialmente em um classificador final mais poderoso. A mais famosa variação do Adaboost veio de um trabalho feito por Viola e Jones, uma continuação ao trabalho de Tieu e Viola, o Adaboost para seleção de características em um arquitetura de cascata (VIOLA; JONES, 2001a). Este trabalho resultou em um dos mais bem sucedidos detectores faciais da atualidade. Neste trabalho, além da formação de um classi- ficador forte a partir de um comitê de classificadores fracos, vários classificadores fortes são alinhados para formar um classificador em cascata hcascata. A cascata é feita de maneira que os padrões positivos são classificados sempre corretamente (taxa de falsos negativos quase igual a zero). Já os padrões negativos são filtrados em cada etapa da cascata. Assim, um padrão positivo deve percorrer a cascata completa enquanto o padrão negativo deve ser descartado em algum estágio intermediário.

A grande vantagem deste tipo de arquitetura é a diminuição do tempo de execução neces- sário para avaliar uma imagem completa. Isso é possível porque normalmente o número de padrões negativos é algumas ordens de grandeza maior que o número de padrões positivos e além disso são de fácil classificação, como patchs na imagem de regiões lisas ou sem textura (paisagens e imagens de plano de fundo). Tais amostras são descartadas logo nos primeiros níveis da cascata.

A outra grande vantagem desta proposta é a utilização de características quadráticas para a formação dos classificadores fracos. Estas características são formadas a partir da diferença entre partes de uma região retangular, a Figura 3.1 ilustra alguns exemplos de características quadráticas. Estes tipos de características tem a vantagem de serem invariantes a iluminação e a mudanças de escala.

A sua computação é otimizada através do uso de imagem integral, um operador no qual cada pixel II(i, j) da imagem integral é calculado a partir do somatório de todos os pixels acima e à esquerda dele na imagem original I, isto é calculado rapidamente a partir da seguinte fórmula recursiva

II(i, j) = I(i, j) + II(i− 1, j) + II(i, j − 1) − II(i − 1, j − 1), (3.5) onde II(i, j) = 0 ∀ {i < 0 ∨ j < 0}, a Figura 3.2 ilustra o procedimento. A partir da ima-

3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS 36

Figura 3.2: Exemplo de como é calculado um ponto da imagem integral. O ponto II(x, y) corresponde ao somatório de toda a área mais escura da imagem.

gem integral, o somatório de qualquer região pode ser calculado rapidamente e eficientemente, tornando a avaliação de uma imagem possível em tempo real.

3.1.3 Adaboost Online para Seleção de Características

Baseando-se no trabalho de Tieu e Viola, Grabner e Bischof formularam uma versão com trei- namento online do Adaboost para seleção de características. A maior dificuldade ao se desen- volver um treinamento em tempo de execução é a falta de conhecimento da base que será apre- sentada. Não é possível saber se o padrão já foi apresentado anteriormente ao treinamento ou determinar se ele é de fácil classificação. Para que o treinamento online seja possível, um clas- sificador denominado seletor hseletorfoi proposto. Esse classificador tem a função de selecionar uma hipótese fraca dentro de um grupo de hipóteses fracas H fraco={hfraco1 , hfraco2 , ..., hfracoK }

de acordo com um critério de otimização

hseletor(x) = hfracok (x), (3.6)

onde hfracok ∈ H fracoe k é o índice do classificador fraco escolhido de acordo com o critério de otimização que, para o caso do trabalho de Grabner e Bischof, é o menor erro associado

k = arg min(Efraco), (3.7)

onde Efraco={e1, e2, ..., eK} representa o erro de cada hipótese de Hfraco. Assim, treinar o seletor significa treinar todos os classificadores fracos do seu grupo e selecionar o que tiver o menor erro. De forma parecida com o caso offline, cada classificador fraco corresponde a uma característica fide um conjuntoF = { f1, f2, ..., fK}.

3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS 37

As características utilizadas por Grabner e Bischof são as características quadráticas (VI- OLA; JONES, 2001a), histogramas de orientação (DALAL; TRIGGS, 2005) e local binary

patterns simplificados (OJALA; PIETIKAINEN; MAENPAA, 2002), que em conjunto for-

mam uma representação completa e redundante da imagem. O classificador fraco é formado por uma característica fk, um limiar de classificaçãoθke pk={+1,−1}, que serve para inver- ter a direção da comparação entreθk e fk:

hfracok ( fk) = {

+1 se pkfk> pkθk

−1 caso contrário . (3.8) O treinamento do classificador fraco é feito utilizando o filtro de Kalman e aproximando a população positiva e negativa de distribuições gaussianasN (µ+,σ+) eN (µ−,σ) respecti- vamente. O filtro de Kalman é modelado de acordo com o seguinte modelo de estados

µtt−1+ vt, (3.9)

σ2

tt−12 + vt, (3.10) onde vt é o ruído do processo e segue uma distribuição gaussianaN (0,R) com variância R. Na fase de atualização do filtro na iteração t, o ganho de Kalman Kt e a covariância do erro Pt são calculados. O estado inicial do modelo é dado por P0= 1000, µ0= 0 eσ02= 0. As seguintes

equações são responsáveis pela atualização do estado:

Kt = Pt−1 Pt−1+ R (3.11) µt= Kt· fj(x) + (1− Kt)·µt−1 (3.12) σ2 t = Kt· ( fj(x)µt)2+ (1− Kt)·σt2−1 (3.13) Pt = (1− Kt)· Pt−1, (3.14) de forma que fj(x) é a j-ésima característica do patch x que está associada ao j-ésimo classi- ficador fraco. Por fim, o limiar de classificaçãoθ e a direção de comparação p são atualizados de acordo com as seguintes equações:

θ = µ

++µ

2 (3.15)

p = sign(µ+µ) (3.16)

O treinamento do classificador forte é definido a seguir. Primeiramente, é definida a quanti- dade N de grupos de classificadores fracos. Para cada grupo, um classificador seletor é selecio- nado para compor o classificador forte. Cada grupo possui um conjunto com M características

3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS 38

da imagem Fn={ f1, f2, ..., fm} selecionadas aleatoriamente que são associadas a um grupo de classificadores fracosHnfraco={h1, h2, ..., hm}. Para cada nova amostra apresentada, o seu peso de importânciaλ é inicializado com o valor 1 e este valor é atualizado sempre que outro grupo de classificadores avaliar esta amostra de acordo com a sua dificuldade de classificação. Os classificadores fracos do n-ésimo grupoHnfracosão treinados de acordo com o procedimento mostrado anteriormente. O seletor hseletorn seleciona a m-ésima hipótese do n-ésimo grupo com menor erro en,m, que é calculado da seguinte forma:

en,m= λ erro n,m λerro n,mn,macerto . (3.17) λerro

n,mn,macerto correspondem respectivamente ao somatório dos pesos das amostras incorreta-

mente e corretamente classificadas, vistas até o momento (inicialmente ambos tem o valor 1 atribuído) do m-ésimo classificador fraco do n-ésimo grupo. Com isso, as seguintes equações são utilizadas para atualizar hseletorn :

m+ = arg min(Enfraco) (3.18)

hseletorn = hfracon,m+ (3.19)

en= en,m+, (3.20)

ondeEnfraco={en,1, en,2, ..., en,m} representa o conjunto de erros dos classificadores fracos do

n-ésimo grupo. Depois de atualizado o seletor, o peso de importância da amostraλ e o peso de

votaçãoαnsão atualizados da seguinte forma:

λ = { λ· 1 2(1−en) se h seletor n (x) = y λ· 1 2en caso contrário (3.21) αn= 1 2ln ( 1− en en ) (3.22)

De forma a aumentar a diversidade das hipóteses e possibilitar uma melhora no desem- penho do classificador, a cada iteração o classificador fraco com maior erro é substituído por outro classificador selecionado aleatoriamente de F . Esse procedimento é repetido para to- dos os outros N seletores criados. No fim de cada iteração, o classificador forte é obtido pela combinação linear deles e pode ser utilizado para avaliar novos padrões.

hforte(x) = sign ( N

n=1 αnhseletorn (x) ) (3.23)

Experimentos feitos na pesquisa de Grabner e Bischof mostraram que o modelo criado por eles consegue aprender os padrões apresentados e que dado o mesmo conjunto de treinamento,

3.1 ONLINE ADABOOST PARA SELEÇÃO DE CARACTERÍSTICAS 39

tanto o método offline quanto o online convergem estatisticamente de forma a selecionar os mesmos classificadores fracos quando o número de iterações N→ ∞.

No entanto, apesar de se obter um treinamento bem sucedido e comparável à versão offline, a técnica proposta sofre com o problema de ter uma complexidade limitada. Como o número de seletores e o número de classificadores fracos por seletor são definidos a priori, se o problema de classificação for mais complexo que o estimado, o classificador pode gerar resultados ruins e aquém do planejado. Uma forma de contornar este problema seria elaborar um arquitetura em cascata semelhante ao proposto por Viola e Jones no qual, o número de estágios é proporcional à complexidade do problema.

3.1.4 Rastreador OB

A fim de elaborar um rastreador que permitisse a aprendizagem da aparência do objeto alvo à medida que o rastreamento ocorre, o rastreador Online Boosting (OB) foi formulado. O ras- treador OB integra uma fase de rastreamento ao classificador Online Adaboost para seleção de características. Para rastrear o objeto alvo, o rastreador OB primeiramente treina o classificador

Online Adaboost para seleção de características utilizando a região do alvo determinada no pri-

meiro quadro. Em seguida, as seguinte ações são executadas repetidamente a cada novo quadro do vídeo. Uma janela de busca centralizada no alvo é definida e o classificador OB avalia todas as amostras presentes nesta região, a amostra que resultar na maior pontuação é definida como a nova posição do objeto. Esta amostra é utilizada no treinamento com o rótulo positivo. As amostras distantes da nova posição do alvo mas ainda dentro da janela de busca são utilizadas como amostras negativas para treinar o classificador.

3.1.5 Rastreador Beyond Semi Boosting Tracker

Além do rastreador OB, em um trabalho posterior Stalder e Grabner propuseram um avanço, o Beyond Semi Boosting Tracker (BSBT) (STALDER; GRABNER, 2009). Neste novo ras- treador, além do classificador OB, o classificador Semi-Supervised Online Boosting (SSOB) (GRABNER; LEISTNER; BISCHOF, 2008) e um classificador genérico treinado a priori são utilizados. O princípio deste método é dividir a tarefa de rastreamento nas fases de detecção, reconhecimento e rastreamento.

O classificador genérico é treinado uma única vez utilizando o primeiro quadro do rastre- amento (onde o objeto alvo é inicializado). Este classificador executa a fase de detecção do rastreador, no qual a tarefa é encontrar o objeto de interesse em meio a todos os outros objetos da cena. O classificador OB é treinado a cada novo quadro apresentado e tem a função de reconhecer o alvo em meio a outros objetos semelhantes.

O método SSOB executa a fase de rastreamento. Ele é uma evolução do classificador OB no qual o treinamento é modificado para utilizar dados não rotulados. Para que isso seja possível, este método se baseia na hipótese de que objetos semelhantes devem compartilhar o mesmo rótulo. A semelhança entre os objetos é calculada utilizando a saída da fase de detecção. Em conjunto com essa informação, o SSOB utiliza a propriedade espaço-temporal do rastreamento e a saída da fase de reconhecimento para determinar a nova posição do alvo.

Documentos relacionados