29

Anotador automático de placas de publicidade em vídeos esportivos

  • Upload
    usp-br

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Universidade de São PauloInstituto de Matemática e EstatísticaCurso de Ciência da Computação

Ricardo Augusto Fernandes

Anotador automático de placas de publicidade em vídeosesportivos

São Paulo2011

Ricardo Augusto Fernandes

Anotador automático de placas de publicidade em vídeosesportivos

Monogra�a apresentada ao Curso de Ciência daComputação da USP, como requisito para a obtençãoparcial do grau de BACHAREL em Ciência daComputação.

Orientador: Professor Dr. Roberto Marcondes Cesar Jr.Universidade de São Paulo

São Paulo2011

Aos meus pais Del e Zé Carlos e ao meu irmãoCadu

Resumo

A anotação em documentos consiste em descrever os elementos textuais, grá�cos ousemânticos neles presentes. A anotação de placas de publicidade em vídeos esportivos temo objetivo de levantar estatísticas, sendo feita geralmente de modo manual, assistindo-seao vídeo e registrando-se as aparições das logomarcas presentes. Um anotador automáticotem por objetivo automatizar tal trabalho, apoiado nas técnicas de Visão Computacionale Aprendizagem de Máquina. Nessa monogra�a, motivada por um estágio realizado peloaluno no IBOPE Media em 2010, pretende-se estudar e implementar técnicas para resolveresse problema, de maneira a analisar a viabilidade de um sistema com base no estado daarte da área e da tecnologia atual.

Palavras-chaves: anotação de vídeo, reconhecimento, detecção, logomarcas, descritoresde imagem, SURF

Agradecimentos

Gostaria de agradecer a meus pais, meus primeiros e maiores professores. Aosamigos, professores da vida, dentre os quais incluo meu irmão. Àqueles que foram meusalunos e no dia-a-dia �zeram-se meus professores. Finalmente, agradeço a todos os pro-fessores que tive em sala de aula, a todos os professores da Universidade e em especial aoProfessor Roberto que pacientemente orientou esse trabalho.

Sumário

Lista de Figuras 5

1 Introdução 6

2 Revisão Bibliográ�ca 8

3 Método Implementado 10

3.1 Descrição das Imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1.1 Speeded-Up Robust Features (SURF) . . . . . . . . . . . . . . . . . 11

3.2 Correspondência de Descritores . . . . . . . . . . . . . . . . . . . . . . . . 14

3.3 Casamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.4 Exclusão de quadros de longa distância . . . . . . . . . . . . . . . . . . . . 15

3.5 Criação de Máscara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 Resultados 18

5 Conclusão 24

6 Avaliação Subjetiva 26

Referências Bibliográ�cas 27

Lista de Figuras

1.1 Transmissão esportiva com diversas placas de publicidade . . . . . . . . . . 6

3.1 Da esquerda para direita: Derivadas de segunda ordem de uma Gaussiana,∂2G

∂y2e ∂2G

∂x∂y, discretizadas, e suas respectivas aproximações utilizadas [7] . 12

3.2 Integral da Imagem [7] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3 Haar Wavelets d/dx e d/dy [7] . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4 Máscara criada para um quadro do vídeo . . . . . . . . . . . . . . . . . . . 16

3.5 Plotagem em 2D das dimensões Matiz (Hue) e Saturação (Saturation) deum Histograma de região do vídeo . . . . . . . . . . . . . . . . . . . . . . . 17

4.1 Logo Coca-Cola . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 Logo Coca-Cola parcial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3 Logo Coca-Cola em cores invertidas . . . . . . . . . . . . . . . . . . . . . . 19

4.4 Logo Coca-Cola em orientação invertida . . . . . . . . . . . . . . . . . . . 20

4.5 Logo Makita em tomada de longa distância . . . . . . . . . . . . . . . . . . 20

4.6 Logo da Copa Santander Libertadores . . . . . . . . . . . . . . . . . . . . . 21

4.7 Logo da Copa Santander Libertadores apresentando falso positivo . . . . . 21

4.8 Quadro do vídeo contendo a placa da Copa Santander Libertadores . . . . 22

4.9 Máscara correspondente ao quadro na �gura 4.8 . . . . . . . . . . . . . . . 22

4.10 Análise do quadro da �gura 4.8 com máscara da �gura 4.9 . . . . . . . . . 23

6

1 IntroduçãoA anotação de textos, imagens ou vídeos consiste em associar descrições a eles de modo

a facilitar a busca e o acesso. Tais descrições são chamadas metadados. No caso deimagens e vídeos, a extração de metadados pode ultrapassar autor e data, avançar até ascaracterísticas de cor, textura e forma e chegar até mesmo ao nível semântico, descrevendoemoções, sentimentos e relações entre elementos. Em especial, a anotação de vídeos podeser feita com o intuito de contagem de um determinado elemento na sequência do vídeo,para �ns estatísticos. É o caso da anotação de placas publicitárias de vídeos esportivos(Veja a �gura 1.1 ).

Figura 1.1: Transmissão esportiva com diversas placas de publicidade

Em eventos esportivos de grande porte, é comum se encontrar placas de publicidade.Essa publicidade tem como primeiro alvo o torcedor presente no evento. Entretanto muitomais do que esses milhares de torcedores, busca atingir os telespectadores, contados emmilhões. Dessa forma, existe a demanda dos anunciantes em determinar quanto valeessa exposição. Uma maneira de responder a esse questionamento dá-se por meio deargumentos estatísticos, baseados, por exemplo, na contagem do número de aparições deuma marca na transmissão de um evento. Contudo, o processo de anotação é geralmente

1 Introdução 7

manual, assistindo-se ao vídeo e registrando-se as aparições, o que é demorado e custoso,criando assim motivação para se automatizar o processo de contagem. De fato, essetrabalho de TCC foi motivado por um estágio realizado pelo aluno no IBOPE Media,onde se foi levantado o interesse por tal problema.

Assim, dada uma logomarca e um vídeo de um evento esportivo, busca-se ter um aplica-tivo que possa retornar se a logomarca aparece nesse vídeo, em que momentos e com qualduração, entre tantas outras informações possíveis de serem extraídas, preferencialmenteem tempo real.

Para isso, as pesquisas já realizadas fazem uso principalmente de técnicas de VisãoComputacional para extração de características fotométricas e geométricas das imagens aserem comparadas e de técnicas de Aprendizagem de Máquina para comparação e classi�-cação. Entre os principais problemas enfrentados podemos destacar as possíveis oclusõesdas placas publicitárias, seus diferentes posicionamentos, além do alto custo de processa-mento dos métodos atuais.

8

2 Revisão Bibliográ�caO reconhecimento de um objeto em uma imagem é objeto de estudo da Visão Computa-

cional. O reconhecimento de �guras em duas dimensões é um subproblema, sendo comoos trabalhos estudados aqui abordam o problema em relação às placas de publicidade. Talqual nos problemas mais amplos, as placas podem encontrar-se em diferentes posições,diferentes tamanhos, diferentes luminosidades e parcialmente oclusas. No reconhecimentoem vídeo, a busca deve ser feita quadro-a-quadro.

A metodologia consiste em extrair um conjunto de características da imagem da placa-modelo e veri�car se alguma subimagem dos quadros do vídeo apresenta conjunto se-melhante. As características de comparação variam de trabalho para trabalho, o mesmoacontecendo com o método de classi�cação, que decide se os conjuntos comparados corres-pondem a mesma placa ou não. Aqui, a Visão Computacional se apóia na Aprendizagemde Máquina.

O artigo de Bagdanov et al [1] baseia-se no uso de descritores SIFT, característicasinvariantes na imagem em relação à escala e rotação. Assim, o algoritmo SIFT gera umconjunto de descritores, onde cada descritor está associado a algum ponto da imagem. Deposse de dois conjuntos de descritores, a comparação é feita a partir de cada descritor,comparando-se a distância normalizada até os dois vizinhos mais próximos no quadro e nomodelo. A comparação é baseada na razão entre essas distâncias, que não devem excederum determinado limiar para que as imagens sejam consideradas da mesma placa.

O artigo de Ballan et al [2] desenvolve o trabalho acima modi�cando o método declassi�cação com o uso de Support Vector Machines (SVM). As SVM'S são ferramentas deAprendizagem de Máquina para classi�cação supervisionada que determinam o limiar dedecisão com base em um conjunto de treinamento. O trabalho conclui que sua introduçãoaumentou o retorno com perda desprezível de precisão. Além disso, aponta melhor retornoem uma SVM genérica do que SVM'S especí�cas no caso de busca de múltiplas logomarcas.

2 Revisão Bibliográ�ca 9

Em Watve e Sural [3], um trabalho especí�co sobre vídeos de futebol, as estratégias sãototalmente diferentes das já citadas. A região de interesse é dividida em oito janelas. Usa-se características estatísticas como média e variância nos aspectos de cor e brilho comobase de comparação, formando-se um vetor de 32 dimensões. A classi�cação é baseadana distância Euclidiana entre os dois vetores. Porém, o pré-processamento reduz a regiãode análise excluindo-se grama. A exclusão da grama é feita por Hue Slicing. Depois,buscam-se linhas paralelas na imagem que representam a borda superior e inferior dasplacas. Para tanto, é feito uso do Detector de Bordas Sobel, no qual se binariza a imageme da Transformação de Hough, para se encontrar retas paralelas. Se o quadro não aspossui, é descartado, o que acelera o processamento. Cada par de paralelas forma umaregião de interesse. Os resultados variam muito com relação à luminosidade e logomarca.

O texto de Ishimura [4] usa o descritor GLOH, também de alta invariância. Analoga-mente ao uso dos descritores SIFT, utilizados em Bagdanov et al, é necessário compararos descritores dos dois conjuntos. A comparação é feita utilizando-se o método KNN. Ométodo é aplicado a vídeos de Fórmula 1.

Todos os trabalhos citam problemas como blurring (borramento) e baixa qualidade dosvídeos.

10

3 Método ImplementadoPara se fazer a implementação, decidiu-se utilizar a biblioteca open source de visão

computacional OpenCV, utilizando-se a Linguagem C/C++. A OpenCV provê funçõesbásicas de manipulação de imagem e vídeo, processamento de imagens, aprendizagem demáquina, entre outras. É otimizada no uso da linguagem C/C++ para aplicações emtempo real.

Os primeiros testes preocuparam-se em disponibilizar a visualização da imagem-objeto,a ser localizada, e do vídeo a ser anotado. Desse modo, a versão preliminar exibe em umúnica janela tanto a imagem quanto os quadros do vídeo, de modo a facilitar a visualizaçãodos pareamentos entre as duas imagens.

Embora sejam exibidas as imagens coloridas, é necessário fazer a conversão das imagensa serem descritas para escala de cinza, por exigência do algoritmo utilizado na descriçãodas mesmas.

Inicialmente, por meio do método que será apresentado a seguir, se faz a descrição daimagem-objeto. Em seguida, se inicia a iteração nos quadros do vídeo, que são descritosbuscando-se o casamento entre eles a a imagem descrita no início. A cada quadro do vídeo,a interface mostra as correspondências existentes entre Descritores da imagem-objetoe do quadro por meio de linhas coloridas. Caso seja identi�cado um casamento entre asduas imagens, ocorre um pausa no quadro identi�cado e é necessária a digitação de umatecla qualquer para a sequência da iteração.

3.1 Descrição das Imagens

Dentro os quatro trabalhos que buscaram detecção de placas de publicidade em vídeo,três deles se basearam em algoritmos que descrevem a imagem através de pontos especí�cose das características da vizinhança desses pontos, chamados Pontos de Interesse ouPontos-chave. A única exceção foi o trabalho de Watve e Sural [3].

3.1 Descrição das Imagens 11

No algoritmo Scale Invariant Features Transform (SIFT) apresentado em Lowe [5], aseleção do ponto de interesse, baseia-se na função detectora de arestas DoG (Di�erence ofGaussians). Descreve-se então o a vizinhança desse ponto através dos vetores-gradienteassociados a ela.

Já Gradient Location and Orientation Histogram (GLOH) [6], é uma extensão de SIFTfeita aplicando-se Principal Components Analysis (PCA) para se poder reduzir o númerode caracteríscas nas descrições dos pontos, com ganho de performance e sem perda eprecisão.

Outro algoritmo inspirado em [5] foi o Speeded-Up Robust Features (SURF) de Bay etal [7], no qual SURF é descrito como mais robusto e veloz do que sua inspiração. Alémdisso, é implementado na função cvExtractSurf() da biblioteca OpenCV. Desse modo, nalinha dos trabalhos descritos, esse foi o algoritmo utilizado para descrição das imagens.

3.1.1 Speeded-Up Robust Features (SURF)

Extração de Pontos de Interesse (Descritores)

O algoritmo SURF é um método que descreve imagens através de Pontos de Interesse,Pontos-chave ou Descritores encontrados por meio do cálculo dos determinantes H dasMatrizes Hessianas da imagem. Seja f(x,y) uma função de duas variáveis, o determi-nante H(f(x,y)) é de�nido como:

H(f(x, y)) =

∣∣∣∣∣∣∣∣

∂2f(x, y)

∂x2

∂2f(x, y)

∂x∂y∂2f(x, y)

∂y∂x

∂2f(x, y)

∂y2

∣∣∣∣∣∣∣∣

Os Pontos de Interesse são de�nidos onde o Determinante é máximo local. Esses con-ceitos são transportados para o algoritmo ao se considerar a imagem analisada como umafunção I(x,y) da intensidade dos pixels e são aplicados através da convolução da imagemcom uma máscara apropriada (Veja �gura 3.1):

3.1 Descrição das Imagens 12

Figura 3.1: Da esquerda para direita: Derivadas de segunda ordem de uma Gaussiana,∂2G

∂y2e ∂2G

∂x∂y, discretizadas, e suas respectivas aproximações utilizadas [7]

A convolução entre uma imagem I e uma máscara M pode ser de�nida como abaixo:

(I ∗M)(x, y) =∞∑

m=−∞

∞∑n=−∞

M(m,n)I(x + m, y + n)

Ou seja, a convolução no pixel (x,y) será dada pela soma dos pixels de sua vizinhança,com os pesos dados a partir da máscara utilizada, sendo o pixel central da máscara o pesodo pixel (x,y) da imagem.

Para que se evite os problemas que poderiam ser causados por ruídos na imagem, não sefaz a convolução com máscaras que simplesmente calculem as derivadas de segunda ordem.Antes disso, é necessário suavizar a imagem por meio da convolução com uma Gaussiana.Desse modo, as máscaras aplicadas são aproximações das derivadas de segunda ordem dafunção de suavização.

Para se analisar imagens em diferentes níveis de resolução, a estratégia usual é construiruma Pirâmide de Imagens à partir da imagem analisada. Uma Pirâmide de Imagens éuma sequência na qual cada imagem subsequente tem um nível de resolução menor doque a anterior. Uma maneira de gerar os novos níveis é construindo-se uma Pirâmide, naqual o nível imediatamente acima e gerado à partir da convolução com uma máscara quere�ita uma distribuição Gaussiana. Porém, nota-se que é um processo de grande custocomputacional.

A estratégia utilizada para se reduzir o custo foi fazer uso da representação da imagemintroduzida por Viola e Jones [10], chamada Integral de Imagem.

3.1 Descrição das Imagens 13

A Integral de Imagem pode ser de�nida por:

II(x, y) =x∑

i=0

y∑j=0

I(i, j)

A �gura 3.2 mostra como, após calculada a Integral da Imagem, é possível achar aárea de qualquer região retangular à partir de três operações. Além disso, mostra que emuma única passada pode-se calcular a Integral da Imagem II(x,y) à partir das seguintesrecorrências:

s(x, y) = s(x, y − 1) + I(x, y)

II(x, y) = II(x− 1, y) + s(x, y)

Figura 3.2: Integral da Imagem [7]

Devido ao cálculo da Integral da Imagem, não é mais necessário que se passe pelosdiferentes níveis subsequentes da Pirâmide de Imagens, pois o cálculo envolve apenasalguns pixel em cada nível. Não sendo necessário passar por níveis cada vez menoresna escala da pirâmide, a estratégia do algoritmo para fazer a análise multi-escala é iraumentando a tamanho das máscaras aplicadas 3.1 o que é feito em tempo constante.

3.2 Correspondência de Descritores 14

Desse modo, reduz-se o custo computacional drasticamente, o que leva à e�ciência em selocalizar os Pontos de Interesse.

Descrição dos Pontos de Interesse

A descrição dos Pontos de Interesse é feita, primeiramente, determinando-se uma ori-entação em torno do ponto a ser descrito. A orientação é determinada pela região desua vizinhança que congregue, em torno de um ângulo de 30o, o maior número de pontosdescritores vizinhos.

Posteriormente, determina-se uma região quadrada na vizinhança do Ponto de Inte-resse, subdividida em 16 subregiões, com tamanho proporcional à variância da Gaussianautilizada. Cada subregião, contribui com 4 descritores, Dx, Dy, |Dx| e |Dy|, totalizando64 Descritores:

Dx =∑25

i=1 dxi, Dy =∑25

i=1 dyi, |Dx| = ∑25i=1 |dxi| e |Dy| = ∑25

i=1 |dyi|

dxi e dyi são cada uma das 25 derivadas em x e y, extraídas de 25 pontos igualmentedistribuídos dentro de cada subregião, a partir da convolução com máscaras chamadas deHaar Wavelets (Ver a �gura 3.3 ).

Figura 3.3: Haar Wavelets d/dx e d/dy [7]

3.2 Correspondência de Descritores

Os Descritores são vetores de 64 dimensões. Para se achar as correspondências, calculou-se a soma do quadrado das diferenças entre cada uma das subregiões correspondentes entrecada vetor da imagem-objeto e do quadro do vídeo.

3.3 Casamentos 15

Distancia =16∑i=1

(Dxobji −Dximg

i )2+(Dyobji −Dyimg

i )2+(|Dx|obji −|Dx|img

i )2+(|Dy|obji −|Dy|img

i )2

Dessa forma, as correspondências são feitas a partir das menores distâncias. Simboli-camente, traçou-se linhas entre os pontos-chave correspondentes.

3.3 Casamentos

A correspondência entre descritores da imagem-objeto e de um quadro do vídeo é ana-lisada de modo a se a�rmar se há ou não casamento entre as imagens. Os dois métodos,abaixo,foram aplicados até o momento.

No primeiro, para cada par que há correspondência, veri�ca-se se os três vizinhos maispróximos são os mesmos e na mesma ordem na imagem-objeto e no quadro do vídeo. Sehá o casamento da sequência de vizinhos em um grande número de pares, considera-seque há também o casamento das imagens. No segundo, veri�ca-se a soma das distânciasentre todos os pares, ponderados pela mediana das distâncias. Caso a diferença entreas distâncias seja proporcionalmente pequena, considera-se também um casamento dasimagens.

3.4 Exclusão de quadros de longa distância

O trabalho de Watve e Sural [3] trata especi�camente de vídeos de futebol. O métodoaplicado trata de formas diferentes as tomadas de longa e curta distâncias. Para isso, fazuso do índice de "Porcentagem de grama"no quadro. Vídeos com alta "Porcentagem degrama"indicam tomadas distantes, onde a maior parte do quadro é ocupado pelo campode jogo. O índice é calculado à partir da porcentagem de pixels de cor verde (faixa de Π/3

à 5Π/6 no espaço de cores HSV) e são considerados quadros de longa distância aquelesque possuem mais de 70%.

Percebendo a baixa taxa de correspondência com quadros à longa distância, decidiu-setrabalhar inicialmente com um recorte do problema voltado a quadros de curta distância,

3.5 Criação de Máscara 16

de modo a prosseguir o desenvolvimento do projeto sem se ater a esse problema especí�cojá que, nos quadros de longa distância, até mesmo a anotação humana se torna maisdifícil. Para isso, implementou-se um código auxiliar com o método descrito acima e quedevolve apenas os quadros de interesse à partir de um vídeo de entrada.

3.5 Criação de Máscara

Ainda se baseando em Watve e Sural [3], foi desenvolvido o cálculo de uma Máscara,como na �gura 3.4 , passada como parâmetro à função cvExtractSurf(). Essa Máscara éutilizada para de�nir em quais regiões devem ser ou não procurados os Pontos de Interesse,sendo estes procurados apenas nas regiões onde a máscara apresenta mais de 50 porcentode pixels não nulos. Abaixo, cada região analisada corresponde a uma janela de 20 x 20.A máscara, utilizada inicialmente para se diminuir o tempo de processamente, colaboroupara a diminuição dos falsos positivos.

Figura 3.4: Máscara criada para um quadro do vídeo

Para se chegar à máscara, foi utilizado o critério de proximidade de distribuição de corentre a placa e a região analisada. Assim, convertendo-se as duas imagens para o espaçode cor HSV, através de funções cvCreateHist() e cvCompareHist() da biblioteca OpenCV

3.5 Criação de Máscara 17

facilmente calculam-se os histogramas das distribuições das duas imagens e a proximidadeentre eles.

Figura 3.5: Plotagem em 2D das dimensões Matiz (Hue) e Saturação (Saturation) de umHistograma de região do vídeo

18

4 ResultadosOs primeiros testes foram feitos ainda sem sem qualquer implementação de critério de

casamentos entre as imagens. Buscava-se apenas veri�car as correspondências entre ospontos-chave. A expectativa foi atendida em grande parte ao se usar objetos grandesem imagens com tomadas feitas a pequenas distâncias. A �gura 4.1 demonstra a cor-respondência entre os Pontos de Interesse mesmo havendo mudança de perspectiva naplaca.

Figura 4.1: Logo Coca-Cola

4 Resultados 19

Figura 4.2: Logo Coca-Cola parcial

Podemos perceber também que o algoritmo é resistente à oclusão da placa causadapela trave. O teste demonstrado na �gura 4.2 demonstra o mesmo, além de demonstrarresistência a variação de escala.

Figura 4.3: Logo Coca-Cola em cores invertidas

A �gura 4.3 mostra que o algoritmo não suporta inversões de cores, como pode-seperceber nas baixas correspondências entre o objeto e a placa no vídeo. Porém, na �gura4.4 percebe-se que alterações em orientação são bem assimiladas.

4 Resultados 20

Figura 4.4: Logo Coca-Cola em orientação invertida

Ainda na �gura 4.4 percebe-se que a mudança na escala do objeto causa uma reduçãodas correspondências, em virtude da diminuição dos Pontos-chave.

Figura 4.5: Logo Makita em tomada de longa distância

Como citado anteriormente, as tomadas de longa distância levam à diminuição da placa,que por sua vez, tal qual no exemplo anterior, diminuem o número de Pontos de Interesse.Esse caso aparece na �gura 4.5. Mesmo utilizando-se de objeto recortado do vídeo, nãosão localizadas muitas correspondências.

4 Resultados 21

Figura 4.6: Logo da Copa Santander Libertadores

Trabalhando apenas com tomadas de curta distância, começou-se a testar os métodosde veri�cação de casamentos entre as imagens. A veri�cação da correspondência entre osvizinhos mais próximos apresenta e�ciência em relação aos verdadeiros positivos, como na�gura 4.6, porém apresentando um grande número de falsos positivos, como o da �gura4.7. O método que compara as distâncias relativas entre os pontos-chave das duas imagensparece mostrar certa e�ciência em evitá-los.

Figura 4.7: Logo da Copa Santander Libertadores apresentando falso positivo

4 Resultados 22

O uso da Máscara feita com base nos histogramas de cor ajudou a reduzir a áreade procura por pontos de interesse. Nas �guras 4.8, 4.9 e 4.10 vemos um quadro, suarespectiva máscara e a localização dos Pontos de Interesse apenas nas áreas onde a máscarapermite.

Figura 4.8: Quadro do vídeo contendo a placa da Copa Santander Libertadores

Figura 4.9: Máscara correspondente ao quadro na �gura 4.8

4 Resultados 23

A utilização da máscara, ao reduzir a área de procura de Pontos de Interesse, inseriuno método desenvolvido a utilização da informação até então ignorada no projeto, já queo algoritimo SURF trabalha com imagens em escala de cinza: cor. A introdução da novavariável se mostrou e�ciente em evitar falsos positivos.

Figura 4.10: Análise do quadro da �gura 4.8 com máscara da �gura 4.9

24

5 ConclusãoA presente monogra�a se propôs a estudar e implementar técnicas para se desenvolver

um anotador automático de placas de publicidade em vídeos esportivos, baseado no estadoda arte de Visão Computacional. A anotação dos vídeos citados tem �ns estatíscos e éde grande interesse do mercado publicitário, pois de�ne uma métrica para se de�nir oretorno do investimento feito pelos anunciantes. O interesse na automatização surge àpartir do grande custo da mão-de-obra envolvida nesse trabalho, feito até 2010 de modomanual em instituições como o IBOPE, local do estágio motivador do estudo, feito peloaluno no ano citado.

A revisão bibliográ�ca feita levou à trabalhos desenvolvidos nos últimos quatro anos,que trataram justamente sobre o tema da presente monogra�a. A maior parte delesutiliza técnicas, que como é citada em Ballan et al [2], foram as mais utilizadas pelosrecentes trabalhos de reconhecimento de logomarcas, baseadas em Descritores de Pontosde Interesse. Os trabalhos estudados �zeram uso dos descritores SIFT [5] e GLOH [6].

Enquanto a descrição dos quadros é feita de modos semelhantes nos diferentes artigos,a classi�cação em cada um deles foi abordada de diferentes formas, utilizando desdealgoritmos baseados nas Distância Euclidiana entre os Descritores até o uso de SupportVector Machines (SVM), o que levou a diferentes estudos na fase inicial do projeto.

O desenvolvimento da implementação se deu com o estudo da biblioteca OpenCV [9]principalmente à partir de Bradsky e Kaehler [8]. Nele se desenvolveu o uso da bibliotecapor meio de suas funções de manipulação de vídeo e imagem e processamento de imagens.Finalmente, decidiu-se também pelo uso do algoritmo SURF, um descritor de imagensbaseado em Pontos de Interesse e inspirado no descritor SIFT, que possui implementaçãona OpenCV.

O algoritmo SURF (Speeded-Up Robust Features) [7] descreve a imagem baseado emPontos de Interesse. Estes são calculados a partir dos determinantes máximos locais das

5 Conclusão 25

matrizes Hessianas dos pontos da imagem. Esse cálculo é feito em um espaço-escala criadoà partir da formação de uma Pirâmide de Imagens, de modo que a localização dos Pontosde Interesse seja feita em diversas resoluções. No entanto, para que tudo isso atinja aperformance desejada, o uso da representação inserida pelo trabalho de Viola e Jones[10], a Integral da Imagem, foi fundamental.

Os Descritores dos Pontos de Interesse são construídos descrevendo-se sua vizinhança,utilizando-se para isso máscaras Haar Wavelets, que calculam as derivadas da região e apartir delas forma-se um Descritor de 64 dimensões.

Determina-se a partir das distâncias no espaço 64-dimensional, entre os Descritores daplaca procurada e do quadro do vídeo, os pares correspondentes. O limiar de proximidadeé dado pela norma do vetor da placa. De modo a se con�rmar o casamento entre os pares,busca-se correspondências não só entre um par mas também entre os pares vizinhos maispróximos.

Buscando-se eliminar os falsos positivos, constrói-se uma máscara na qual se limitaa área de busca dos Pontos de Interesse por meio do algoritmo SURF. Essa máscara écontruída baseada na proximidade de cor entre a região analisada e placa procurada. Aproximidade é calculada através dos histogramas de cor das regiões em questão e se mostracapaz de melhorar os resultados do método.

A monogra�a aqui apresentada, baseada no estudo dos mais recentes trabalhos daárea, apresentou um método que se mostra capaz de efetuar o reconhecimento de placasde publicidade em vídeos esportivos de forma robusta a pequenas variações de escala,rotação, oclusão e mudanças de perspectiva. No entanto, não se mostra e�ciente nastomadas de longa distância, nas quais as placas se apresentam em pequenas dimensões.Mostra-se viável a continuidade do estudo de modo a resolver esse problema, para entãose iniciar estudos mais conclusivos em relação à precisão e cobertura do algoritmo.

26

6 Avaliação SubjetivaO interesse na área de Visão Computacional teve início cursando-se primeiramente

Processamento de Imagens e depois Computação Grá�ca, disciplinas correlacionadas. Aprimeira foi especialmente importante na parte prática, apesar de nela se ter utilizado aLinguagem Java. No entanto, não se havia cursado a disciplina de Visão Computacionalo que fez com que o Trabalho de Formatura Supervisionado tenha sido uma oportunidadepara a introdução na área.

Talvez esse tenha sido o motivo da grande di�culdade na leitura dos trabalhos da re-visão bibliográ�ca que lidavam com muitos conceitos até então desconhecidos, em especialquando eles descreviam os trabalhos anteriores nos quais havia um sem número de algo-ritmos.

Recuperação de Informação foi outra disciplina que deu base ao trabalho feito, emespecial sobre conceito e métodos de Classi�cação, o que fez com que a compreensãodestas seções dos trabalhos lidos tenha se dado de forma mais fácil.

O estudo do algoritmo SURF deu base para compreensão não só dele próprio mastambém de outros algoritmos baseados em Descritores de Pontos de Interesse, como opróprio algoritmo SIFT. Esse estudo foi de certa forma especial quando se teve que buscaroutros trabalhos para se entender como o uso da Integral da Imagem se integrava asPirâmides de Imagem utilizadas, de modo a aumentar a performance do algoritmo. Eclaro, fez uso das aulas de Cálculo ainda do primeiro ano.

Disciplinas como as citadas diferenciam o curso feito do daqueles de muitas outrasUniversidades e justi�cam a necessidade das disciplinas de base. E também podem pro-porcionar exemplos interessantes de aplicações ao ensino de Matemática no ensino médio.

Referências Bibliográ�cas

[1] Bagdanov,A. D., Ballan, L., Bertini, M., and Del Bimbo, A., Trademark matchingand retrieval in sports video databases, in Proc. of MIR, Augsburg, Germany, 2007

[2] Ballan, L., Bertini, M., Del Bimbo, A., Jain, A., Automatic trademark detectionand recognition in sport videos, in Multimedia and Expo, 2008 IEEE InternationalConference on.

[3] Watve, A., Sural, S., Soccer Video Processing for the detection of ad- vertisementbillboards, in Pattern Recognition Letters archive,Volume 29 , Issue 7 (May 2008)Elsevier

[4] Ishimura, N., Recognizing Multiple Billboard Advertisements in Videos

[5] Lowe, D., Distinctive Image Features from Scale-Invariant Keypoints, (January, 2004)

[6] Mikolajczyk, K., Schmid, C., A performance evaluation of local descriptors

[7] Bay, H., Ess,a. , Tuytelaars, T., Speeded-Up Robust Features (SURF)

[8] Bradsky, G., Kaehler,A., Learning OpenCV, O'Reilly, 2008, First Edition

[9] OpenCV, http://opencv.willowgarage.com/documentation/index.html

[10] Viola, P., Jones, M., Robust Real-time Object Detection, Second International Work-shop Statistical and Computational Theories of Vision, Vancouver, Canada, 2001