Juiz Virtual – Um Sistema para Análise de Lances de Futebol
Flávio Szenberg1, Paulo Cezar Pinto Carvalho2, Marcelo Gattass1
1
TeCGraf – Departamento de Informática, PUC-Rio
Rua Marquês de São Vicente, 255, 22453-900, Rio de Janeiro, RJ, Brasil
{szenberg,gattass}@tecgraf.puc-rio.br
2
Impa – Instituto de Matemática Pura e Aplicada
Estrada Dona Castorina, 110, 22460-320, Rio de Janeiro, RJ, Brasil
[email protected]
Abstract. Broadcasts of sports events resort to features that seek to enhance
the scenes of matches or games with additional information, such as the
distance from the ball to the defending barrier in football (soccer) matches.
Most of such features are based on special equipment, with sensors that detect
the position of objects or register camera movements. Juiz Virtual is a system
that provides relative information to scenes of football matches. Differently
from most systems used by television broadcasters, Juiz Virtual is totally
based on the contents of images, not requiring any special equipment. Its
resources include measures and the construction of three-dimensional scenes
based on automatic camera calibration.
Resumo. Transmissões de eventos esportivos recorrem a recursos que visam
enriquecer as cenas dos jogos com informações suplementares, como a
distância da bola à barreira em jogos de futebol. A maior parte destes recursos
é baseada em equipamentos especiais, com sensores que detectam a posição de
objetos ou registram movimentos de câmera. Juiz Virtual é um sistema para
fornecer informações relativas a cenas de jogos de futebol. Ao contrário da
maior parte dos sistemas utilizados em emissoras, é inteiramente baseado no
conteúdo das imagens, não exigindo qualquer equipamento especial. Os
recursos proporcionados por Juiz Virtual incluem medições e construção de
cenas tridimensionais, baseados em uma calibração automática da câmera.
1. Introdução
Transmissões de eventos esportivos recorrem, com freqüência cada vez maior, a
recursos que visam enriquecer as cenas dos jogos com informações suplementares. Por
exemplo, em jogos de tênis, é comum fornecer-se a velocidade da bola no saque, obtida
por meio de sensores. Em jogos de hóquei no gelo, sensores colocados na pastilha
(“puck”), de difícil visualização devido a seu tamanho e velocidade, permitem enfatizála nas transmissões. No futebol americano, diversas vistas de uma jogada são obtidas,
através da interpolação de imagens simultaneamente adquiridas por várias câmeras.
Na transmissão de jogos de futebol, recursos tecnológicos similares também são
amplamente utilizados, com o intuito de fornecer informações métricas ou de
posicionamento no gramado para análise de jogadas ou inserir mensagens publicitárias
na transmissão. Para ambas as aplicações é fundamental que se conheça a posição da
câmera que capturou cada imagem. Nos sistemas usados nas transmissões comerciais, a
posição da câmera é obtida através de sensores que registram seus movimentos de
câmera, permitindo assim obter sua situação em relação a uma posição inicial em que a
câmera foi previamente calibrada. Alguns exemplos desses sistemas comerciais são:
•
VirtuaLive [VirtuaLive]: permite criar animações em formato VRML a partir de
uma seqüência de vídeo curta de uma partida de futebol.
•
1st&Ten [Firstandten]: projetado para inserir uma linha virtual no gramado, em
transmissões ao vivo de partidas de futebol americano.
•
Digital Replay [DigitalReplay]: realiza o acompanhamento de atletas em uma
seqüência de imagens, podendo, entre outras coisas, calcular medidas em um campo
de futebol, determinar a velocidade dos jogadores e da bola e mostrar a linha de
impedimento em transmissões de partidas de futebol.
•
VirtualReplay [VirtualReplay]: produz uma reconstrução 3D de uma imagem de um
jogo de futebol. Uma interação manual é necessária para criar os jogadores.
•
Outros sistemas usados comercialmente são PicthTrax [PicthTrax], TennisProVision
[TennisProVision] e GolfProView [GolfProView], que calculam a trajetória, em
coordenadas do mundo da cena, das bolas de beisebol, tênis e golfe,
respectivamente.
Juiz Virtual é um sistema que fornece funcionalidades análogas. No entanto, ao
contrário dos sistemas utilizados em emissoras comerciais, é inteiramente baseado na
análise das imagens das jogadas, não requerendo qualquer equipamento especial para
acompanhar a câmera. As imagens utilizadas podem ser, por exemplo, capturadas
diretamente de uma transmissão de televisão ou digitalizadas a partir de fotografias em
um jornal. O posicionamento da câmera é obtido através da identificação das linhas do
campo na imagem, como descrito em mais detalhes na seção 2. Uma vez obtidas as
informações de câmera, é possível associar pontos da imagem com sua posição no
gramado, permitindo assim executar medições, criar uma cena tridimensional
correspondente a imagem ou superpor elementos sintéticos à imagem.
A Figura 1 ilustra a relação entre uma imagem sintética produzida por Juiz
Virtual e a imagem real capturada. O círculo (interseção dos quatro segmentos de reta)
representa a posição da câmera que capturou a imagem real, mostrada no retângulo de
bordas pretas. A região do campo visível na imagem corresponde à região sombreada.
Figura 1 – Cena tridimensional gerada a partir de uma imagem estática.
O restante do trabalho é organizado do seguinte modo. Na seção 2, descrevemos
o processo de calibração automática de câmera, que é o coração de Juiz Virtual. Na
seção 3 listamos as diversas funcionalidades oferecidas, após ter sido realizada a
calibração. A seguir, na seção 4, descrevemos as funcionalidades existentes na versão
para uso na Internet. Finalmente, na seção 5 apresentamos conclusões e sugestões para
trabalhos futuros.
2. A Calibração da Câmera
O procedimento principal, responsável por Juiz Virtual ser capaz de obter a cena
tridimensional correspondente a uma imagem, é a calibração de câmera. Isto é,
encontrar os parâmetros intrínsecos (por exemplo, fator de ampliação) e extrínsecos (por
exemplo, posição, direção e inclinação da câmera).
Nas primeiras versões do Juiz Virtual, o procedimento de calibração de câmera
era feito de modo manual, a partir de pontos fornecidos pelo usuário, chamados de
pontos de referência [Carvalho+98], e que correspondiam a pontos notáveis do
gramado (como a interseção de duas linhas ou a marca do pênalti). Como o
posicionamento destes pontos no campo é determinado pelas leis do jogo, é possível
estabelecer uma correspondência entre um conjunto de pontos na imagem e sua posição
tridimensional (Figura 2). É possível, então, utilizar um algoritmo clássico de
calibração de câmeras, como o método de Tsai ([Tsai86]) ou o algoritmo apresentado
em [Carvalho+98].
Figura 2 – Associando pontos da imagem a pontos do gramado.
Na versão atual de Juiz Virtual, o procedimento de calibração é automatizado,
através do algoritmo descrito em [Szenberg01]. Neste algoritmo, linhas do campo são
encontradas na imagem, sem auxílio do usuário, e, em seguida, reconhecidas,
permitindo a calibração da câmera a partir de seus pontos de interseção. [Szenberg01]
também descreve uma extensão desse algoritmo para processar, em tempo real, uma
seqüência de vídeo.
As diversas etapas do algoritmo de calibração automática de câmera são
descritas esquematicamente na Figura 3.
Imagem
Informações empontos
Filtragempara realce de linhas
Reconstrução da visualização do modelo
I
Ofiltro Laplaciano da Gaussiana (LoG) é aplicado
à imagemseguido de uma segmentação (threshold).
Informações empontos
As linhas do modelo são reconstruídas, encontrando
assimas linhas não reconhecidas.
Extração de segmentos de retas longos
Reajuste das linhas
II
É feita uma extração de segmentos de reta longos
da imagem, candidatos a seremlinhas do modelo.
Informações geométricas
As linhas do modelo reconstruídas pela
transformação planar são reajustadas.
Reconhecimento dos segmentos
Cálculo da transformação projetiva planar
III
Umsubconjunto de segmentos é reconhecido
como representante das linhas do modelo.
Uma transformação geométrica “melhor ajustada” é encontrada,
baseada no conjunto das linhas reajustadas.
IV
Cálculo da transformação projetiva planar preliminar
Calibração da câmera
Uma transformação geométrica que mapeia linhas do modelo
comrelação às linhas reconhecidas da imagemé encontrada.
A câmera é calibrada através do método de Tsai.
V
VI
VII
VIII
Figura 3 – Fluxograma do algoritmo de calibração automática de câmera.
O algoritmo baseia-se em encontrar as linhas do campo que estão visíveis na
imagem. Uma vez realçadas no passo I, são extraídas no passo II (Figura 4). No passo
III estas linhas são reconhecidas, isto é, determina-se, por exemplo, se uma dada linha é
projeção da linha de fundo ou da linha lateral da grande área. Para tal é utilizado um de
método de reconhecimento baseado em árvore de interpretação [Grimson90].
(b)
(a)
f7
f5
f4
f3
f2
f6
f1
(c)
Figura 4 – Etapas na extração das linhas do campo: (a) realce; (b) extração de
segmentos; (c) extração das linhas.
Em seguida, pontos de interseção de cada par dessas linhas são encontrados (no
sistema de coordenadas da imagem). Com isto temos um conjunto de par de pontos (p,
P) onde P é um ponto do campo real e p é a sua projeção na imagem. Com este
conjunto de par de pontos é obtida, no passo IV, uma transformação projetiva planar. É
possível que nem todas as linhas contidas na imagem que são projeções das linhas do
campo tenham sido extraídas (por exemplo, linhas mais distantes da câmera, que
aparecem mais apagadas na imagem, podem ter sido omitidas). Por esta razão, a
transformação obtida no passo IV tem caráter preliminar.
Com base nesta
transformação, no passo V uma reconstrução do campo é feita, o que permite fazer, no
passo VI, um melhor ajuste das linhas obtidas, além de ser possível identificar linhas
previamente omitidas. Com esta informação, é obtida, no passo VII a transformação
projetiva final que relaciona pontos da imagem com pontos do gramado. A Figura 5
mostra o resultado obtido ao desenharmos as linhas do campo sobre a imagem, com
base nesta transformação.
A informação do passo VI também permite calibrar a câmera, usando o método
de Tsai, o que é feito no passo VIII. Agora, elementos não contidos no plano do
gramado podem também ser acrescentados à cena. A Figura 6 mostra o resultado de
acrescentar as traves à mesma imagem das figuras anteriores.
Figura 5 – Reconstrução das linhas do campo de futebol.
Figura 6 – Projeção das linhas segundo a câmera encontrada pelo método de
Tsai.
3. Demais funcionalidades de Juiz Virtual
Uma vez realizada a etapa de calibração de câmera, fica estabelecida uma
correspondência projetiva entre os pontos do espaço tridimensional e os pontos da
imagem. Com isto, é possível realizar-se uma série de tarefas, úteis na análise da
imagem de uma jogada.
3.1 Realização de medições sobre o gramado
Dados dois pontos da imagem, correspondentes a pontos do gramado, é possível
recuperar sua posição real no campo. Deste modo, a distância real entre estes pontos
pode ser calculada, como indica a Figura 7. Um uso comum desta funcionalidade é
determinar a que distância do gol ou da barreira o ponto de cobrança de uma falta está.
Figura 7 – Fazendo medições sobre o gramado.
Encontrar a posição no gramado de dois pontos é útil também para verificar
posições de impedimento. Para facilitar esta análise, Juiz Virtual oferece a opção de
exibir paralelas à linha de fundo traçadas por dois pontos, como mostra a Figura 8.
Através da posição relativa destas retas (cuja distância também é fornecida) pode-se
estabelecer se um dado atacante está ou não além da linha do último defensor.
Figura 8 – Verificação de posição de impedimento.
3.2 Obtenção da posição dos objetos da cena
De modo a poder construir uma cena tridimensional correspondente a uma imagem, Juiz
Virtual oferece ferramentas para obter a posição dos demais elementos, além das linhas
do campo, presentes na imagem: os jogadores, o juiz e a bola. Para tal, na versão atual,
é necessária a intervenção do usuário, que deve apontar, na imagem, os chamados
pontos de objeto, que correspondem à base dos objetos no gramado, conforme
ilustrado na Figura 9. Utilizando as equações de projeção da câmera, pode-se recuperar
a posição dos diversos objetos no gramado e, assim, criar objetos virtuais
correspondentes.
Figura 9 – Pontos de objetos indicados na imagem pelo usuário.
3.3 Criação da cena tridimensional
Uma vez determinadas as posições dos objetos, Juiz Virtual cria um ambiente de
visualização para a cena tridimensional correspondente. O passo fundamental é a
tradução dos dados de calibração da câmera para a especificação de câmera do sistema
gráfico utilizado. No caso da biblioteca OpenGL ([Woo+99]), utilizada em Juiz Virtual,
isto implica em fornecer a posição e orientação da câmera e o frustrum de visão. A
posição e orientação da câmera são diretamente obtidas dos parâmetros de câmera
obtidos no processo de calibração. Já para a determinação do frustrum é necessário
calcular o ângulo vertical de visão, a razão de aspecto da janela e as distâncias dos
planos near e far à câmera. Para calcular o ângulo de visão, basta obter, utilizando as
equações de projeção da câmera, a posição no gramado de dois pontos que se projetam
nos pontos médios das linhas inferior e superior da imagem. Estes dois pontos,
juntamente com a posição da câmera, definem o ângulo vertical de visão. A razão de
aspecto é diretamente dada pelas dimensões da imagem. Finalmente, as posições dos
planos near e far são especificadas arbitrariamente, mas de modo a conter todos os
pontos de interesse da cena.
Tendo-se especificado os parâmetros de visualização, pode-se agregar elementos
sintéticos à imagem original, como se mostra na Figura 10.
Figura 10 – Sobrepondo elementos sintéticos à cena.
Pode-se também criar cenas completamente sintéticas, como a mostrada na
Figura 11. Juiz Virtual oferece mecanismos de reposicionamento da câmera, que
permite observar a mesma cena de outra posição, como mostrado na Figura 12.
Figura 11 – Imagem sintética equivalente à cena da Figura 10.
Figura 12 – Outro ponto de vista do mesmo lance.
Com técnicas de estéreoscopia, Juiz Virtual também gera estas imagens
sintéticas para visão estéreo, criando uma segunda câmera com visão paralela à primeira
e com um determinado afastamento. Os sólidos de visão deixam de ser totalmente
simétricos a fim de possuírem um retângulo em comum, onde o campo é projetado.
4. Juiz Virtual na Web
Juiz Virtual tem seu website na Internet [JuizVirtualSite]. Lá, além de informações
sobre o programa, pode-se obter uma versão do programa, com as funcionalidades
descritas acima. O site contém também uma série de cenas previamente calibradas e
com pontos de objeto já determinados, que permitem ir diretamente às funções de
análise e visualização.
É possível, ainda, experimentar alguns dos recursos de Juiz Virtual diretamente
através do navegador web. O programa permite exportar, a partir de uma cena calibrada
e com pontos de objeto determinados, arquivos em formato html e vrml. No primeiro
caso, o arquivo contém os parâmetros para uma applet em Java que permite realizar
medições diretamente no ambiente do navegador. Já o arquivo vrml contém uma
descrição completa da cena, que pode ser visualizada por navegadores com plug-ins
apropriados (Figura 13). Versões em html e vrml estão disponíveis para cada uma das
cenas presentes no site.
Figura 13 – Versão VRML de Juiz Virtual.
5. Conclusões e Trabalhos Futuros
O sistema Juiz Virtual apresenta-se como uma boa ferramenta para auxílio de
comentários sobre uma partida de futebol. Com ele, gera-se uma cena artificial a partir
de uma imagem estática e com isto, podemos analisar um lance de um outro ponto de
vista. Também é possível realizar medidas no plano do campo.
Na versão 2.0, lançada para a copa do mundo de 2002, foi incorporado o
algoritmo para calibração automática de câmera, dispensando a necessidade do usuário
informar ao sistema os pontos de referência.
A exportação para arquivos VRML e Java permite que a aplicação possa ser
utilizada em um número maior de plataformas diferentes.
Pelo fato do Juiz Virtual poder ser executado em diversas plataformas, inclusive
Windows, sem requisitar equipamentos adicionais, seu uso pode ser feito em casa, em
contraste com os recursos utilizados por emissoras de televisão, que dependem de
equipamentos especiais de alto custo.
Diversas aplicações podem ser feitas utilizando as técnicas implementadas no
Juiz Virtual, como inserção de cartazes virtuais fazendo propaganda de algum produto
ou serviço, ou mesmo, informativo. Nas versão futuras, Juiz Virtual desenhará no
campo imagens que facilitam a análise do lance, como por exemplo, circulo delimitando
a distância mínima da barreira ao ponto de cobrança de falta.
Pretende-se também estender as técnicas utilizadas em Juiz de Virtual para a
análise de cenas de outros esportes.
6. Bibliografia
[Carvalho+98]
Carvalho, P.C.P., Szenberg, F., Gattass, M, “Image-Based
Modeling Using a Two-Step Camera Calibration Method”,
Proceedings of International Symposium on Computer Graphics,
Image Processing and Vision, SIBGRAPI’98, October 20-23, pp.
388-395, 1998.
[DigitalReplay]
Digital Replay system, http://www.orad.co.il/sport/Pages/dreplay.h
tm.
[Firstandten]
First and Ten system, http://www.sportvision.com/how_it_works/fi
rst.asp
[GolfProVision]
GolfProVision system, http://www.questec.com/q2001/prod_gf.ht
m.
[Grimson90]
Grimson, W.E.L., “Object Recognition by Computer: The Role of
Geometric Constraints”, Massachusetts Institute of Technology,
1990.
[JuizVirtualSite]
http://www.tecgraf.puc-rio.br/juizvirtual ou http://www.visgraf.imp
a.br/juizvirtual
[PicthTrax]
PicthTrax system, http://www.questec.com/q2001/prod_pt.htm.
[Szenberg01]
Szenberg, F., “Acompanhamento de Cenas com Calibração
Automática de Câmeras”, tese de doutorado, departamento de
informática, PUC-Rio, 2001.
[TennisProVision] TennisProVision system, http://www.questec.com/q2001/prod_tn.h
tm.
[Tsai86]
Tsai, R.Y., “An Efficient and Accurate Camera Calibration
Technique for 3D Machine Vision”, CVPR’86 Proceeding, IEEE
Computer Society Conference on Computer Vision and Pattern
Recognition, Miami Beach, FL, June 22-26, pp. 364-373, 1986.
[VirtuaLive]
VirtuaLive system, http://www.orad.co.il.
[VirtualReplay]
Virtual Replay system, http://www.orad.co.il/sport/Pages/vreplay.h
tm.
[Woo+99]
Woo, M., Neider, J., Davis, T., Shreiner, D., “OpenGL
Programming Guide: The Official Guide to Learning OpenGL,
Version 1.2”, Addison-Wesley, 1999.
Download

Juiz Virtual – Um Sistema para Análise de Lances de Futebol