Sistema de Apoio às Análises Tática e Física no Futsal - Piim-Lab
Transcrição
Sistema de Apoio às Análises Tática e Física no Futsal - Piim-Lab
C ENTRO F EDERAL P ROGRAMA DE DE E DUCAÇÃO T ECNOLÓGICA P ÓS - GRADUAÇÃO EM DE M INAS G ERAIS M ODELAGEM M ATEMÁTICA E C OMPUTACIONAL S ISTEMA DE A POIO ÀS A NÁLISES TÁTICA E F ÍSICA NO F UTSAL BASEADO EM V ISÃO C OMPUTACIONAL P EDRO H ENRIQUE C AETANO DE PÁDUA Orientador: Prof. Dr. Flávio Luis Cardeal Pádua Centro Federal de Educação Tecnológica de Minas Gerais Coorientador: Prof. Dr. Marconi de Arruda Pereira Universidade Federal de São João del-Rei B ELO H ORIZONTE AGOSTO DE 2015 P EDRO H ENRIQUE C AETANO DE PÁDUA S ISTEMA DE A POIO ÀS A NÁLISES TÁTICA E F ÍSICA NO F UTSAL BASEADO EM V ISÃO C OMPUTACIONAL Dissertação apresentada ao Programa de Pós-graduação em Modelagem Matemática e Computacional do Centro Federal de Educação Tecnológica de Minas Gerais, como requisito parcial para a obtenção do título de Mestre em Modelagem Matemática e Computacional. Área de concentração: Computacional Modelagem Matemática e Linha de pesquisa: Métodos Matemáticos Aplicados Orientador: Prof. Dr. Flávio Luis Cardeal Pádua Centro Federal de Educação Tecnológica de Minas Gerais Coorientador: Prof. Dr. Marconi de Arruda Pereira Universidade Federal de São João del-Rei C ENTRO F EDERAL DE E DUCAÇÃO T ECNOLÓGICA DE M INAS G ERAIS P ROGRAMA DE P ÓS - GRADUAÇÃO EM M ODELAGEM M ATEMÁTICA E C OMPUTACIONAL B ELO H ORIZONTE AGOSTO DE 2015 ii Esta folha deverá ser substituída pela cópia digitalizada da folha de aprovação fornecida pelo Programa de Pós-graduação. iii Dedico esse trabalho a minha querida família e amigos. iv Agradecimentos Após chegar ao final dessa longa caminhada que foi o trabalho de mestrado, se faz necessário agradecer a todos àqueles que se fizeram presentes e me ajudaram direta ou indiretamente a concluir mais essa etapa. Primeiramente agradeço a Deus, por ter me dado forças, saúde, paciência e paz necessárias para perseverar e realizar um bom trabalho. Agradeço a meus pais, que são parte importantíssima da minha vida e sempre me deram o apoio necessário em todas as fases do mestrado. Muito obrigado, de coração, por todos os conselhos e ensinamentos. Agradeço ao Léo, à Vilma e a todos os outros familiares que também estiveram presentes. Agradeço especialmente à Anninha, que foi parte fundamental em todo esse processo. Obrigado por me apoiar e me acalmar nos momentos de ansiedade. Agradeço muito ao Prof. Flávio Cardeal, por me orientar neste trabalho e me mostrar os caminhos por onde percorrer. Obrigado por estar sempre à disposição para esclarecer as minhas dúvidas e passar seus conhecimentos nos momento de dificuldade. Muito obrigado por todo o apoio e motivação dados durante o trabalho, que foram essenciais para que eu chegasse até aqui. Agradeço também ao Prof. Marconi, pelas conversas, orientações e conselhos, fundamentais para reduzir os receios que tive em algumas fases do trabalho. Agradeço à Prof. Elizabeth, que também me ajudou muito principalmente na etapa final do mestrado, sempre à disposição para esclarecer minhas dúvidas de forma clara e paciente. Agradeço aos alunos de iniciação científica que colaboraram durante esse tempo, em especial Marco, Luis e Matheus. Suas contribuições foram essenciais no desenvolvimento do trabalho. Os momentos no laboratório foram sempre cheios de expectativas, com algumas derrotas e várias vitórias. Vou sempre me lembrar disso. Obrigado aos colegas do Departamento de Computação e do CEFET-MG, pela compreensão e pela oportunidade de realizar o mestrado, e que fazem do dia a dia no trabalho um lugar mais divertido. Agradeço a todos os meus amigos, que da mesma forma fazem os dias mais alegres e com mais sorrisos. Finalmente, não podia deixar de agradecer as instituições que colaboraram no desenvolvimento do mestrado. Agradeço o apoio financeiro da CNPq, da FAPEMIG, da CAPES e do CEFET-MG. Agradeço também ao Minas Tênis Clube, pela oportunidade de realizar os testes com suas equipes de futsal em suas instalações. Muito obrigado a todos vocês! v “Não, não pares! É graça divina começar bem. Graça maior persistir na caminhada certa, manter o ritmo... Mas a graça das graças é não desistir, podendo ou não podendo, caindo, embora aos pedaços, chegar até o fim...” (Dom Hélder Câmara) vi Resumo Este trabalho apresenta um sistema baseado em Visão Computacional para apoiar as análises tática e física de equipes de futsal. Essas análises são fundamentais para técnicos, profissionais do esporte e atletas, já que podem ser utilizadas para aumentar o desempenho do time, melhorar os treinamentos e ajudar na tomada de decisões. Grande parte das análises realizadas atualmente são feitas manualmente, enquanto que as soluções tecnológicas existentes são compostas por ferramentas comerciais de alto custo, desenvolvidas para outros esportes coletivos, sendo consequentemente pouco exploradas. O sistema proposto é composto por uma única câmera estacionária usada para capturar imagens da quadra vista de cima. São usadas subtração de fundo adaptativa e análise das regiões resultantes para detectar os jogadores, bem como filtro de partículas para rastreá-los automaticamente no vídeo. O sistema é capaz de extrair, após a realização do jogo, a distância percorrida por cada jogador, suas velocidades média e máxima, e gerar um mapa de calor que descreve sua ocupação em quadra durante a partida. Para apresentar as informações, o sistema utiliza uma aplicação móvel especialmente desenvolvida. Essa aplicação também pode fazer a segmentação de lances importantes da partida de forma automática. Resultados experimentais com sequências gravadas em jogos e treinamentos mostram que o sistema é capaz de entregar essas informações com erros médios no rastreamento menores que 40 cm nessas sequências e levando cerca de 25 ms para processar cada quadro, demonstrando seu alto potencial para ser amplamente usado por equipes de futsal na busca por melhores resultados. Palavras-chave: Análise Tática. Análise Física. Futsal. Visão Computacional. Rastreamento de Jogadores. Aplicações Móveis. vii Abstract This work presents a system based on computer vision to support tactical and physical analyzes of futsal teams. Those analyzes have great value to coaches, sport professionals and players, since they can be used to increase the teams performances, improve training strategies and support decision making processes. Most part of the current analyzes are manually performed, while the existing solutions based on automatic approaches are frequently composed by costly commercial tools, developed for other kind of team sports, making it difficult their adoptions by futsal teams. The proposed system is composed of a single stationary camera used to capture top-view images of the court. The system uses adaptive background subtraction and blob analysis to detect players and particle filters to track them automatically in the sequence. The system is capable of extracting, after the completion of the game, the distance traveled by each player, their average and maximum speed and can create heat maps that describe players occupancy on court during the match. To present the data, the system uses a specially developed mobile application. The application also allow the segmentation of remarkable actions during the game. Experimental results with real game and training sequences show that the system can provide the data with mean tracking errors below 40 cm in those sequences and needing about 25 ms to process each frame, thus demonstrating a high potential to be used by futsal teams to achieve better results. Keywords: Tactical Analysis. Physical Analysis. Futsal. Computer Vision. Player Tracking. Mobile Applications. viii Lista de Figuras Figura 1 – Trajetórias de três jogadores destacadas em verde e vermelho: com os dados de posição no decorrer do tempo pode-se derivar informações sobre velocidade, distância percorrida, mapas de calor dos atletas, entre outros dados úteis para as análises. . . . . . . . . . . . . . . . . . . . . 2 Figura 2 – Exemplo de mapa de calor: contém a ocupação em quadra de um jogador no decorrer da partida. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Figura 3 – Visão geral das principais etapas a serem executadas pelo sistema proposto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Figura 4 – Principais problemas enfrentados na detecção dos atletas nas imagens. 6 Figura 5 – SportVU - Solução de análises tática e física da empresa norte-americana STATS, empregada em diversos esportes como o futebol de campo e o basquete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Figura 6 – Sistema InMotio instalado no centro de treinamento do Flamengo para uso da seleção holandesa na Copa do Mundo FIFA 2014. . . . . . . . . 13 Figura 7 – Áreas de aplicação da Visão Computacional no esporte e o nível semântico de informação requerido (D’ORAZIO; LEO, 2010). . . . . . . . . . . 14 Figura 8 – O modelo de câmera pinhole (HARTLEY; ZISSERMAN, 2003). . . . . . 24 Figura 9 – Alvo de calibração do tipo tabuleiro de xadrez sendo visualizado em diferentes orientações. . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Figura 10 – Plano no mundo que representa a quadra de jogo. A posição dos jogadores é dada como um ponto sobre o plano, como o ponto P na imagem. Todos esses pontos tem coordenada Z = 0. . . . . . . . . . . . . . . . 27 Figura 11 – Passos do filtro de partículas. Cada camada mostra uma das etapas de sua execução: (1) Conjunto de partículas no tempo t com pesos dados por Zt ; (2) Reamostragem; (3) Propagação; (4) Função de observação em t+1; (5) Partículas com estado Xt+1 dado por Zt+1 em t+1: P (Xt+1 |Zt+1 ) (MORAIS, 2012). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Figura 12 – Visão geral das principais etapas executadas pelo sistema proposto e suas entradas e saídas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Figura 13 – Exemplos de quadros obtidos na etapa de aquisição das imagens. . . . 38 Figura 14 – Marcações conhecidas da quadra (pontos verdes) usadas na estimativa das matrizes de homografia. . . . . . . . . . . . . . . . . . . . . . . . . 38 Figura 15 – Etapas do processo de detecção dos jogadores. . . . . . . . . . . . . . 39 Figura 16 – Estimação da posição dos pés dos jogadores para determinar sua localização. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Figura 17 – Criação do modelo de aparência de um jogador. . . . . . . . . . . . . . 42 ix Figura 18 – Imagem e gradiente de cores usados para exibição do mapa de calor. . 48 Figura 19 – Exemplo de interrupção do rastreamento e manutenção do armazenamento das estatísticas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Figura 20 – Exemplos de funcionalidades da aplicação móvel desenvolvida para o sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Figura 21 – Resultados obtidos na avaliação da detecção na sequência de Jogo para diferentes valores de τov . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Figura 22 – Resultados obtidos na avaliação do rastreamento na sequência de Jogo para diferentes valores de τd . . . . . . . . . . . . . . . . . . . . . . . . . 59 Figura 23 – Exemplo de rastreamento dos jogadores com sucesso na sequência de Jogo e as trajetórias dos atletas no tempo (destacadas em verde). . . . 60 Figura 24 – Ocupação em quadra do jogador 9 dada por seu mapa de calor - Sequência de Jogo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Figura 25 – Resultados obtidos na avaliação da detecção na sequência de Treinamento para diferentes valores de τov . . . . . . . . . . . . . . . . . . . . 67 Figura 26 – Resultados obtidos na avaliação do rastreamento na sequência de Treinamento para diferentes valores de τd . . . . . . . . . . . . . . . . . . . 69 Figura 27 – Exemplo de rastreamento dos jogadores com sucesso na sequência de Treinamento e as trajetórias dos atletas no tempo (destacadas em verde). 69 Figura 28 – Ocupação em quadra do jogador 3 dada por seu mapa de calor - Sequência de Treinamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Figura 29 – Mapa de calor do jogador 1 que descreve sua ocupação em quadra. . . 87 Figura 30 – Mapa de calor do jogador 2 que descreve sua ocupação em quadra. . . 88 Figura 31 – Mapa de calor do jogador 3 que descreve sua ocupação em quadra. . . 89 Figura 32 – Mapa de calor do jogador 4 que descreve sua ocupação em quadra. . . 90 Figura 33 – Mapa de calor do jogador 5 que descreve sua ocupação em quadra. . . 91 Figura 34 – Mapa de calor do jogador 6 que descreve sua ocupação em quadra. . . 92 Figura 35 – Mapa de calor do jogador 7 que descreve sua ocupação em quadra. . . 93 Figura 36 – Mapa de calor do jogador 8 que descreve sua ocupação em quadra. . . 94 Figura 37 – Mapa de calor do jogador 10 que descreve sua ocupação em quadra. . 95 Figura 38 – Mapa de calor do jogador 11 que descreve sua ocupação em quadra. . 96 Figura 39 – Mapa de calor do jogador 16 que descreve sua ocupação em quadra. . 97 Figura 40 – Mapa de calor do jogador 17 que descreve sua ocupação em quadra. . 98 Figura 41 – Mapa de calor do jogador 18 que descreve sua ocupação em quadra. . 99 Figura 42 – Mapa de calor do jogador 1 que descreve sua ocupação em quadra. . . 101 Figura 43 – Mapa de calor do jogador 2 que descreve sua ocupação em quadra. . . 102 Figura 44 – Mapa de calor do jogador 4 que descreve sua ocupação em quadra. . . 103 Figura 45 – Mapa de calor do jogador 5 que descreve sua ocupação em quadra. . . 104 Figura 46 – Mapa de calor do jogador 6 que descreve sua ocupação em quadra. . . 105 x Figura 47 – Mapa de calor do jogador 7 que descreve sua ocupação em quadra. . . 106 Figura 48 – Mapa de calor do jogador 8 que descreve sua ocupação em quadra. . . 107 Figura 49 – Mapa de calor do jogador 9 que descreve sua ocupação em quadra. . . 108 Figura 50 – Mapa de calor do jogador 10 que descreve sua ocupação em quadra. xi . 109 Lista de Tabelas Tabela 1 – Valores dos parâmetros usados nos experimentos . . . . . . . . . . . . 54 Tabela 2 – Resultados da detecção de jogadores para a sequência de Jogo . . . . 55 Tabela 3 – Resultados do rastreamento de jogadores para a sequência de Jogo. 59 . Tabela 4 – Duração dos rastreamentos (em número de quadros) para cada jogador na sequência de Jogo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Tabela 5 – Estatísticas físicas obtidas pelo sistema para cada jogador na sequência de Jogo. Os erros são definidos em relação às estatísticas calculadas pelas posições do gabarito. . . . . . . . . . . . . . . . . . . . . . . . . 64 Tabela 6 – Resultados da detecção de jogadores para a sequência de Treinamento 66 Tabela 7 – Resultados do rastreamento de jogadores para a sequência de Treinamento. 68 Tabela 8 – Duração dos rastreamentos (em número de quadros) para cada jogador na sequência de Treinamento. . . . . . . . . . . . . . . . . . . . . . . . 70 Tabela 9 – Estatísticas físicas obtidas pelo sistema para cada jogador na sequência de Treinamento. Os erros são definidos em relação às estatísticas calculadas pelas posições do gabarito. . . . . . . . . . . . . . . . . . . xii 71 Lista de Abreviaturas e Siglas ANOVA Analysis of Variance DPM Deformable Part Models FIFO First In First Out FN Falso Negativo FP Falso Positivo GMM Gaussian Mixture Model GNSS Global Navigation Satellite System GPS Global Position System HOG Histograms of Oriented Gradients HSI Hue Saturation Intensity HSV Hue Saturation Value IP Internet Protocol JSON JavaScript Object Notation KSP K-Shortest Paths LPM Local Position Measurement MODA Multiple Object Detection Accuracy MOTA Multiple Object Tracking Accuracy N-MODA Normalized Multiple Object Detection Accuracy POM Probabilistic Occupancy Map RFID Radio Frequency Identification TP True Positive UKF Unscented Kalman Filter UWB Ultra Wide Band xiii Sumário 1 – Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Caracterização do Problema de Pesquisa . . . . . . . . . . . . . . . . . . . 3 1.2 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3 Objetivos: Geral e Específicos . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.5 Organização do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 – Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1 Sistemas Intrusivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1.1 Soluções comerciais intrusivas . . . . . . . . . . . . . . . . . . . . . 12 2.2 Sistemas Não-intrusivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.1 Detecção e rastreamento de jogadores . . . . . . . . . . . . . . . . 14 2.2.2 Soluções comerciais não-intrusivas . . . . . . . . . . . . . . . . . . 19 2.3 Discussão e desafios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3 – Fundamentação Teórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1 Geometria e calibração de câmeras de ponto de vista único . . . . . . . . . 23 3.1.1 Parâmetros extrínsecos . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.2 Parâmetros intrínsecos . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.3 Homografia planar . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 Subtração de fundo por modelo de mistura de Gaussianas . . . . . . . . . 29 3.3 Filtro de partículas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3.1 Reamostragem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.2 Propagação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.3 Observação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4 – Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.1 Aquisição das imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2 Detecção dos jogadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4.3 Rastreamento dos jogadores . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.1 Inicialização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.2 Propagação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.3 Observação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4 Considerações finais sobre o rastreamento . . . . . . . . . . . . . . . . . . 47 4.5 Armazenamento das estatísticas . . . . . . . . . . . . . . . . . . . . . . . . 48 4.6 Consulta às estatísticas e operação do sistema . . . . . . . . . . . . . . . . 51 xiv 5 – Resultados Experimentais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.1 Resultados da detecção dos jogadores - Jogo . . . . . . . . . . . . . . . . 54 5.2 Resultados do rastreamento dos jogadores - Jogo . . . . . . . . . . . . . . 57 5.3 Estatísticas obtidas - Jogo . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.4 Resultados da detecção dos jogadores - Treinamento . . . . . . . . . . . . 66 5.5 Resultados do rastreamento dos jogadores - Treinamento . . . . . . . . . . 68 5.6 Estatísticas obtidas - Treinamento . . . . . . . . . . . . . . . . . . . . . . . 70 6 – Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Apêndices 77 85 APÊNDICE A – Mapas de calor dos jogadores obtidos na sequência de Jogo . 86 APÊNDICE B – Mapas de calor dos jogadores obtidos na sequência de Treinamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 xv Capítulo 1 Introdução A prática esportiva profissional vem se tornando, nas últimas décadas, cada vez mais competitiva. Atletas de elite treinam exaustivamente para buscar resultados melhores e estabelecer novos recordes dia após dia. Em um nível tão alto de desempenho, a modificação de detalhes nas ações dos esportistas, por menores que sejam, podem fazer toda a diferença e representar a tão desejada vitória (KRISTAN et al., 2009; MORAIS, 2012). Para auxiliá-los nessa tarefa, os atletas contam com sua equipe técnica, responsável por observar e analisar suas atuações e entender quais as causas e consequências de seu desempenho. Essa equipe está constantemente estudando e revisando as decisões dos esportistas, de modo a verificar possíveis pontos de melhoria, que possam beneficiá-los e aumentar suas performances, tanto do ponto de vista tático como físico (PERL; GRUNZ; MEMMERT, 2013; WANG et al., 2014). Quando trata-se de esportes coletivos, como por exemplo, o futebol e o futsal, o interesse por esse tipo de estudo se torna ainda mais evidente (NIU; GAO; TIAN, 2012; MORAIS et al., 2014). Nesses casos, não somente os indivíduos são considerados, mas também a interação entre eles, uma vez que ela se reflete no comportamento da equipe e pode impactar nos resultados obtidos. Deste modo, a constante análise e estudo dos jogos são fundamentais para se entender o que se passa na partida, identificar e corrigir os possíveis erros apresentados e projetar melhorias. Por meio dessas observações, os técnicos podem compreender os padrões táticos utilizados pelos times, aperfeiçoar as estratégias, verificar o rendimento físico dos atletas e melhor adaptar os planos de treinamento, para que o desempenho em geral da equipe se eleve (ZHU et al., 2007; NIU; GAO; TIAN, 2012). Para que os padrões táticos sejam corretamente identificados e os aspectos físicos dos jogadores verificados, é necessário, a princípio, estimar corretamente as posições dos atletas em um dado instante de tempo e, consequentemente, rastreá-los (MORAIS et al., 2014). Por meio dessa estimativa, é possível definir as trajetórias dos jogadores, como observado na Figura 1, e extrair estatísticas fundamentais para as análises. É possível, por 1 Figura 1 – Trajetórias de três jogadores destacadas em verde e vermelho: com os dados de posição no decorrer do tempo pode-se derivar informações sobre velocidade, distância percorrida, mapas de calor dos atletas, entre outros dados úteis para as análises. exemplo, verificar se um determinado jogador está ocupando sua posição corretamente na quadra, quais as suas velocidades média e máxima durante o jogo e se está se exaurindo antecipadamente ao esperado pelos preparadores físicos, dada a distância total percorrida por ele em quadra (D’ORAZIO; LEO, 2010; MORAIS et al., 2014). Para que possam ser bem aproveitadas, é de grande importância que essas informações sejam disponibilizadas para a equipe técnica o mais brevemente possível. Grande parte das análises realizadas atualmente, no entanto, são feitas manualmente, conduzidas por membros das comissões técnicas ou empresas especializadas (PERŠE et al., 2009; D’ORAZIO; LEO, 2010; MORAIS, 2012). Para que todos os detalhes sejam observados minuciosamente, os jogos são gravados por câmeras de vídeo e revistos diversas vezes. Os lances importantes são separados e as informações anotadas, para que sejam posteriormente passadas aos treinadores. Contudo, separar e reunir uma gama de dados tão extensa de maneira manual é uma tarefa que consome muito tempo e esforço, além de estar muito mais propensa ao erro humano e poder demandar gastos monetários expressivos. Para contornar esse problema, diferentes tecnologias vêm sendo empregadas cada vez mais no esporte e têm sido utilizadas pelas equipes na busca por melhores resultados. Segundo Morais (2012), observar diretamente os vídeos pode trazer ganhos significativos aos times, mas é possível ganhar ainda mais com a ajuda de métodos computacionais. Algumas ferramentas tecnológicas vêm sendo desenvolvidas, capazes de acelerar o processo de extração das informações e auxiliar os times na análise de suas partidas, de forma automática ou semi-automática (abordadas na Subseção 2.1.1 e Subseção 2.2.2). Entretanto, ainda são, em muitos casos, ferramentas inacessíveis às equipes de futsal, sendo compostas por soluções comerciais importadas, de complexidade e custo altos, desenvolvidas para outros esportes e, consequentemente, pouco exploradas. Além disso, 2 algumas das informações encontradas só são obtidas vários dias após a realização dos jogos, mesmo com a ajuda de tais mecanismos, prejudicando seu aproveitamento pela equipe técnica nos treinamentos pós-partida (D’ORAZIO; LEO, 2010). Com base nesse cenário, este trabalho apresenta um sistema capaz de agilizar a extração das informações necessárias para apoiar as análises tática e física de equipes de futsal, após o término dos jogos. Para tanto, a partida é monitorada e gravada por meio de uma única câmera fixa, estrategicamente posicionada no ambiente de jogo, capaz de capturar imagens da quadra vista de cima. São adotadas técnicas de Visão Computacional, detalhadas no Capítulo 3 e no Capítulo 4, capazes de detectar e rastrear automaticamente nas imagens os múltiplos jogadores em quadra, com o mínimo de intervenção humana, de forma que suas posições em um dado instante de tempo possam ser estimadas e suas trajetórias computadas. De posse desses dados, são extraídas as informações de interesse para as análises, como por exemplo: a distância percorrida pelos atletas durante a partida, suas velocidades máxima e média e o posicionamento dos atletas no decorrer do jogo. Essas informações são disponibilizadas para a equipe técnica por meio de uma aplicação especialmente desenvolvida para executar em dispositivos móveis, como celulares e tablets, que exibem as estatísticas extraídas para os treinadores, mediante a consulta ao banco de dados da solução. Além disso, esse sistema propõe uma nova forma de obter, editar e disponibilizar lances importantes do jogo, de maneira automática. No instante em que ocorre um evento chave na partida, um membro da comissão técnica aciona um comando na aplicação móvel. O sistema faz então a edição de um trecho de vídeo que contenha alguns momentos anteriores e posteriores àquele definido como importante. Esse recorte de vídeo contendo o lance é disponibilizado no dispositivo logo após sua ocorrência, para que o técnico possa rapidamente exibi-lo a seus jogadores em uma pausa da partida, e assim chame a atenção para deficiências do adversário ou corrija falhas que estejam acontecendo. Essa solução é de interesse tanto da comunidade esportiva como científica, pois permite que a tecnologia contribua com o trabalho de diversos profissionais do esporte, como por exemplo, técnicos de futsal, preparadores físicos e atletas, além de poder ser estendida para outros esportes. 1.1 Caracterização do Problema de Pesquisa Como descrito anteriormente, este trabalho apresenta um sistema computacional para apoiar as análises tática e física por equipes técnicas no futsal, após a realização dos jogos, baseado em métodos de Visão Computacional, responsáveis pelo processamento e análise de vídeos das partidas. As análises tática e física buscam um maior entendimento 3 Figura 2 – Exemplo de mapa de calor: contém a ocupação em quadra de um jogador no decorrer da partida. de aspectos estratégicos e físicos da equipe, que possam explicar comportamentos do time e influenciar nos resultados obtidos (WANG et al., 2014; PERL; GRUNZ; MEMMERT, 2013). Por meio desse sistema, pode-se extrair estatísticas dos jogadores, valiosas para a comissão técnica: os dados táticos, obtidos com sua utilização, consistem nas trajetórias e os mapas de calor (Figura 2) de cada jogador; já os dados físicos consistem nas distâncias percorridas por cada um deles e em suas respectivas velocidades máxima e média. Para se obter essas informações, é primordial estimar onde se encontra cada jogador na quadra em um determinado instante de tempo (ASSFALG et al., 2003). De posse dessa estimativa, pode-se rastrear os atletas no decorrer do jogo e derivar todos os outros indicadores. As estatísticas extraídas são armazenados em um banco de dados, que pode ser consultado por meio de uma aplicação executada em um dispositivo móvel. Esse dispositivo, por sua vez, é responsável por exibir as informações de interesse para a equipe técnica, que pode analisar e avaliar o rendimento dos jogadores, verificar pontos de melhoria nas estratégias e adaptar os treinamentos. Entretanto, prover uma solução como esta, que vai desde detectar os atletas e estimar a posição em quadra de cada um deles até a exibição das estatísticas extraídas pelo dispositivo móvel não é uma tarefa trivial. É necessário enfrentar diversas situações complexas, em uma série de etapas, como mostrado na Figura 3, e que serão detalhadas a seguir. Como o sistema se baseia em Visão Computacional, é necessário que a partida seja monitorada e gravada por uma ou mais câmeras de vídeo, para se fazer a aquisição das imagens a serem processadas. O primeiro desafio consiste em definir o posicionamento da única câmera utilizada, já que essa tarefa é determinante para o sucesso e exatidão da estimativa das posições dos jogadores. Posicionamentos incorretos para a câmera podem acarretar em áreas da quadra não cobertas nas imagens, o que consequentemente levará à perda de determinadas ações do jogo e informações incorretas. Além disso, dependendo 4 Figura 3 – Visão geral das principais etapas a serem executadas pelo sistema proposto. de onde a câmera é colocada, podem acontecer no vídeo situações constantes de oclusões entre jogadores e até mesmo oclusões entre jogadores e outros participantes indiretos do jogo, como árbitros e auxiliares, o que dificulta enormemente o rastreamento dos atletas. Por fim, ao se considerar a aquisição das imagens, é necessário realizar a calibração da câmera, de modo a conhecer seus parâmetros intrínsecos e extrínsecos, como por exemplo: distância focal, centro de projeção, matriz de rotação e translação da câmera, entre outros (TRUCCO; VERRI, 1998; HARTLEY; ZISSERMAN, 2003). Esses parâmetros são necessários para que seja possível remover as eventuais distorções presentes nas imagens introduzidas pelas lentes, bem como fazer a correspondência entre a posição do jogador na imagem e no mundo real. Por meio das imagens, o sistema deve ser capaz de detectar corretamente cada atleta presente nas mesmas, a partir da análise dos quadros capturados, usando-se algoritmos específicos de detecção de objetos (SULLIVAN; CARLSSON, 2006). Vários fatores podem influenciar na exatidão e dificuldade dessas detecções. Um dos principais problemas encontrados nesse sentido envolve as características da quadra de jogo. Apesar de, na maioria dos casos, as quadras estarem localizadas em ginásios, que possuem luminosidade controlada por meio de refletores, há o reflexo da iluminação no piso da quadra, o que pode causar sombras e atrapalhar a detecção dos atletas (situações mostradas nas Figuras 4a e 4c). O piso pode possuir, ainda, cores similares às dos uniformes dos jogadores, novamente dificultando suas identificações (situação exemplificada nas Figuras 4b e 4c). Além disso, dependendo da configuração da câmera e lente usada, bem como seu posicionamento e distância até os objetos de interesse, os jogadores podem compreender apenas alguns poucos pixels nas imagens, se tornando alvos muito pequenos e com poucas características visuais a serem exploradas na detecção (como mostrado nas Figuras 4a, 4b e 4c). 5 (a) Problema das sombras dos atletas (indicadas pelas setas azuis). (b) Jogadores com uniformes de cor semelhante à do piso da quadra (elipses vermelhas). (c) Exemplo de imagem com jogadores compreendendo poucos pixels, possuindo poucas características visuais a serem exploradas na detecção. Para facilitar sua identificação, os atletas foram destacados em elipses (elipses vermelhas destacam jogadores com uniforme semelhante ao piso da quadra), e as sombras são indicadas por setas azuis. Figura 4 – Principais problemas enfrentados na detecção dos atletas nas imagens. Com as estimativas de posição dos atletas em cada quadro do vídeo obtidas por meio da detecção dos jogadores, o próximo passo do sistema consiste em realizar o rastreamento dos atletas, por meio de técnicas e algoritmos de rastreamento de objetos (SANTIAGO et al., 2010). Rastrear um objeto, segundo Trucco e Verri (1998), consiste em processar uma sequência de imagens para descrever o movimento ou a trajetória do mesmo em uma cena. Outra definição de rastreamento, dada por Forsyth e Ponce (2002), consiste em gerar inferência sobre o movimento de um objeto a partir de uma sequência de imagens. Durante o rastreamento, busca-se uma forma de ligar as detecções encontradas em um quadro com as encontradas num quadro posterior, isto é, determinar quais detecções obtidas em dois 6 quadros subsequentes correspondem ao mesmo jogador. Esse também é um ponto que merece especial atenção, já que jogadores de futsal possuem uma dinâmica de movimentação bastante ativa, além de muitas vezes estarem concentrados em pequenos espaços, o que torna o processo complexo (MORAIS et al., 2014). A partir do rastreamento dos atletas, tem-se um histórico de suas posições, e, consequentemente, é possível extrair suas trajetórias, velocidades, mapas de ocupação e distâncias percorridas. Essas informações dos jogadores são, então, armazenadas em um banco de dados, de modo que possam ser consultadas pelo dispositivo móvel. O último desafio a ser enfrentado em um sistema como o proposto é, justamente, o desenvolvimento da aplicação móvel que exibe os dados extraídos para a equipe técnica. Além de possibilitar a apresentação das informações, esse aplicativo também disponibiliza uma nova forma de capturar, editar e fornecer lances importantes da partida, que são usados pelos técnicos ao passar instruções para os atletas. Por meio de um comando acionado na aplicação, os algoritmos correspondentes fazem a edição desse instante chave e disponibilizam o vídeo editado no banco de dados, que pode ser exibido no próprio dispositivo via streaming. Nesse caso, é desejável que todo esse processo seja realizado no menor tempo possível, e isso traz uma série de dificuldades quanto a certos requisitos de desempenho para a transmissão das informações entre os diversos componentes do sistema. 1.2 Motivação Uma série de motivos pode ser listada para o desenvolvimento de um sistema como o proposto. Em primeiro lugar, como citado anteriormente, o mundo esportivo vem se tornando cada vez mais competitivo, e a modificação de pequenos detalhes no jogo podem significar a vitória de um time. Um sistema como esse pode prover à equipe técnica um conjunto de estatísticas e informações de interesse que pode ser usado para suportar a tomada de decisões, direcionar os treinamentos e compreender melhor o que se passa nas partidas, de forma ágil e com muito menos esforço. Sua utilização, consequentemente, pode fornecer uma vantagem competitiva muito grande para a equipe que o adota. Em segundo lugar, ainda não se encontra à disposição uma solução desse tipo voltada especificamente para o futsal. Ferramentas tecnológicas semelhantes podem ser encontradas em outros esportes, como futebol de campo, basquete, tênis e hóquei. Um exemplo é a solução SportVU (STATS, 2015), mostrada na Figura 5. Entretanto, trata-se de ferramentas importadas de alto custo, não existindo no Brasil um sistema equivalente que utilize tecnologia nacional, tornando a adoção inacessível para a maioria dos times de futsal brasileiros (como exemplo, a SportVU custava às equipes de basquete nos Estados Unidos 100.000 dólares por ano (The New York Times, 2014)). Com a popularização e 7 Figura 5 – SportVU - Solução de análises tática e física da empresa norte-americana STATS, empregada em diversos esportes como o futebol de campo e o basquete. barateamento de câmeras digitais de vídeo, o uso da Visão Computacional se apresenta como uma alternativa promissora para o desenvolvimento de soluções nacionais nesse contexto. A decisão de se utilizar dispositivos móveis, por sua vez, pode também ser embasada por diferentes motivos. Seu uso, por exemplo, possibilita separar a camada de apresentação das informações do processamento das imagens. Isso permite que os membros das equipes técnicas façam diferentes consultas às informações armazenadas, até mesmo de forma simultânea, independentemente da extração das estatísticas. As consultas podem acontecer onde quer que estejam, seja na quadra durante um treinamento tático ou na academia durante uma sessão de preparação física dos atletas. O desenvolvimento de uma aplicação móvel também prepara o sistema para que, no futuro, as informações de um jogo sejam extraídas em tempo real e possam ser visualizadas pela equipe técnica no decorrer da partida. Além disso, atualmente é frequentemente necessário que um membro da equipe técnica edite manualmente lances importantes da partida, sendo necessária a revisão completa do vídeo gravado do jogo. Esses lances, em sua maioria, só estarão disponíveis aos técnicos em um momento posterior ao jogo. Desta forma, o treinador tem mais dificuldade para atentar seus atletas sobre fatos que estão ocorrendo durante a partida e vulnerabilidades do time adversário que podem ser aproveitadas. O sistema proposto traz, por meio da aplicação móvel, uma forma ágil e inovadora de obter esses lances, disponibilizando os vídeos instantes após o momento em que ocorrem, podendo ser exibidos aos atletas durante intervalos da partida. Novamente, isso dá ao time mais uma vantagem em relação aos seus adversários. Um sistema como esse pode, em resumo, facilitar o trabalho da equipe técnica e prover informações valiosas que muitas vezes não são diretamente observadas. Essas informações 8 podem elevar o desempenho geral da equipe e auxiliar os treinadores e preparadores físicos. Seu uso pode levar a treinamentos melhor direcionados, corrigir falhas do time, diminuir o desgaste físico dos jogadores e revelar novas formas de aplicar esquemas táticos no futsal. 1.3 Objetivos: Geral e Específicos O objetivo geral deste trabalho consiste em desenvolver um sistema computacional, baseado em técnicas de Visão Computacional, para apoiar as análises tática e física no futsal, o qual possa fornecer a profissionais do esporte uma forma ágil de obter as estatísticas dos atletas em jogo. Desta maneira, busca-se disponibilizar uma ferramenta tecnológica nacional, que possa ser acessível e aplicada pelos times para melhor compreender o que se passa na partida, além de direcionar treinamentos, projetar melhorias táticas e corrigir falhas. Assim, objetiva-se o aumento do desempenho e destaque competitivo. Para que tal objetivo geral seja atingido, uma série de objetivos específicos devem ser considerados. A seguir se encontra uma lista desses objetivos: • Capturar todas as ações de jogo por meio de uma única câmera fixa estrategicamente posicionada em quadra; • Detectar os atletas nas imagens e estimar suas posições em quadra; • Rastrear os jogadores a fim de se obter suas trajetórias, velocidades, distâncias percorridas e mapas de calor; • Disponibilizar as informações extraídas em um banco de dados de forma que possam ser consultadas pela equipe técnica; • Desenvolver uma aplicação que seja executada em dispositivos móveis e possa apresentar as estatísticas coletadas e definir lances importantes de jogo, a serem editados para exibição. 1.4 Contribuições A principal contribuição desse trabalho consiste em apresentar uma solução nacional, simples e eficiente, para análises tática e física aplicada ao futsal, que possa ser amplamente adotada pelas equipes. Assim, pode-se contribuir para o desenvolvimento da área esportiva, com a aplicação de uma ferramenta tecnológica num esporte de grande popularidade no país. Como já mencionado, diferentemente de alguns trabalhos recentemente propostos (como, por exemplo, o de Morais et al. (2014), dentre outros detalhados no Capítulo 2), o sistema necessita de apenas uma câmera estacionária para capturar as imagens contendo os jogadores. Isso diminui a complexidade computacional da abordagem proposta, bem como 9 pode reduzir os eventuais custos com aquisição e implantação de hardware. Além disso, no processo de detecção dos jogadores, não são necessárias fases de treinamento custosas – presentes nos trabalhos de Morais (2012), Morais et al. (2014) – nem inicializações manuais dos modelos utilizados, explicadas mais detalhadamente no próximo capítulo, que constituem limitações de alguns dos trabalhos encontrados na literatura. O sistema proposto é, ainda, capaz de realizar o rastreamento dos jogadores necessitando de menos características visuais dos atletas nas imagens em comparação com outros trabalhos relacionados, como, por exemplo, o trabalho de Morais (2012). Além disso, propõe-se uma forma inovadora de obter lances importantes da partida, de maneira automatizada, bastando o acionamento de um comando na aplicação móvel para que o trecho esteja disponível para ser exibido pelos treinadores, momentos após o instante em que ocorre. 1.5 Organização do texto Este trabalho está organizado em seis capítulos, incluindo a presente introdução. No Capítulo 2, estão os trabalhos correlatos a essa pesquisa. A fundamentação teórica utilizada para o desenvolvimento do trabalho encontra-se no Capítulo 3. No Capítulo 4, é descrito o sistema proposto de apoio às análises tática e física no futsal, juntamente com a descrição dos diversos módulos que o compõe. No Capítulo 5, são apresentados e discutidos os resultados experimentais obtidos, seguido pelas conclusões da pesquisa e sugestões para os trabalhos futuros no Capítulo 6. 10 Capítulo 2 Trabalhos Relacionados Neste capítulo são apresentados os trabalhos relacionados ao tema dessa pesquisa. Nas últimas décadas, um extenso conjunto de estudos vem explorando as análises tática e física nos esportes. As tecnologias utilizadas pelos pesquisadores para alcançar esse objetivo podem ser divididas, de acordo com Santiago et al. (2010), em duas grandes categorias: (i) intrusivas – quando sensores e tags (marcadores) especiais são colocados nos objetos de interesse, como jogadores e bola – e (ii) não-intrusivas – caso em que não existem aparatos extra colocados nos objetos participantes do jogo. Os trabalhos citados a seguir são agrupados de acordo com a categoria a que pertencem. Os sistemas não intrusivos que utilizam Visão Computacional e que realizam análise tática e física por meio da detecção e rastreamento dos jogadores são explorados de maneira mais minuciosa, já que estão diretamente relacionados ao escopo desta dissertação. Para as outras categorias e áreas, são indicadas as referências que abordam os temas em maior detalhe e que fazem o levantamento do respectivo estado da arte, no caso de interesse por parte do leitor, além de outros trabalhos recentes de destaque. Na última seção é apresentada uma discussão sobre o contexto onde o presente trabalho está inserido e os diversos desafios que se encontram abertos como possíveis problemas de pesquisa. 2.1 Sistemas Intrusivos Como descrito anteriormente, sistemas intrusivos fazem o uso de sensores e tags sem fio nos objetos de interesse. Essa propriedade os faz sensíveis a interferências e colisões de sinais, dentre outros problemas. As principais dificuldades em seu uso estão relacionadas ao hardware utilizado, já que os sinais devem ser fortes o suficiente para serem detectados pelas antenas, posicionadas ao redor da região de jogo, e as tags devem ser pequenas e leves o suficiente para permitirem aos jogadores realizarem suas ações de forma confortável 11 e eficiente (SANTIAGO et al., 2010). Os sistemas intrusivos, porém, são capazes de fazer a identificação de um objeto de interesse em particular dentre um conjunto de objetos semelhantes de maneira rápida e precisa, minimizando-se as trocas de identidades (MANDELJC et al., 2012). Para detectálos e rastreá-los, são utilizadas diferentes tecnologias, como micro-ondas, Radio Frequency Identification (RFID), Local Position Measurement (LPM), Ultra Wide Band (UWB), Global Navigation Satellite System (GNSS) e Global Position System (GPS). Essa última, no entanto, não é comumente aplicada em esportes indoor, já que possui um mau funcionamento em ambientes fechados, prejudicando, assim, a precisão da estimativa de posição dos objetos de interesse. O trabalho de Santiago et al. (2010) faz um levantamento de sistemas intrusivos aplicados aos esportes na área de rastreamento de jogadores e análises tática e física, como o de Beetz, Kirchlechner e Lames (2005). Trabalhos mais recentes, como o de Mandeljc et al. (2012), fazem a fusão de tecnologias intrusivas com não intrusivas. Apesar de não ser originalmente desenvolvido para as análises tática e física no esporte, essa técnica de rastreamento de pessoas pode ser aplicada nesse cenário, com o desenvolvimento e miniaturização dos sensores, provendo uma forma eficiente e robusta de se obter os dados de posição dos jogadores no decorrer do tempo. 2.1.1 Soluções comerciais intrusivas Existe no mercado uma série de soluções comerciais intrusivas utilizadas no apoio às análises tática e física no esporte, como por exemplo: Inmotio (INMOTIOTEC, 2015), Catapult (CATAPULT, 2015), Zebra Sport Solution (ZEBRA, 2015), ZXY Sport Tracking (ZXY Sport Tracking AS, 2015), WiTrack (Fraunhofer IIS, 2015; BEETZ; KIRCHLECHNER; LAMES, 2005) e Ubisense (Ubisense Group, 2015; LESER et al., 2014). Essas ferramentas englobam as mais diferentes práticas esportivas, como futebol, basquete, rugby, futebol americano, esqui, hóquei, automobilismo e vela. Inmotio, por exemplo, é utilizado por diferentes equipes de renome do futebol europeu como AC Milan, AFC Ajax, FC Bayern Munich e PSV Eindhoven, além de ter sido usado pela seleção holandesa de futebol em seus treinamentos para a Copa do Mundo FIFA 2014 no centro de treinamento do Flamengo, no Rio de Janeiro (INMOTIOTEC, 2014a; INMOTIOTEC, 2014b), como mostrado na Figura 6. Com o uso de antenas e marcadores RFID, consegue fornecer indicadores sobre o desempenho físico dos atletas, como velocidade e distância percorrida, indicadores táticos, como posicionamento, posse de bola, passes e cruzamentos e ferramentas gráficas de análises das estatísticas colhidas. 12 Figura 6 – Sistema InMotio instalado no centro de treinamento do Flamengo para uso da seleção holandesa na Copa do Mundo FIFA 2014. 2.2 Sistemas Não-intrusivos Sistemas não-intrusivos podem ser baseados em infravermelho ou, na sua grande maioria, em técnicas de Visão Computacional que utilizam câmeras posicionadas estrategicamente ao redor do ambiente de jogo (SANTIAGO et al., 2010; D’ORAZIO; LEO, 2010). As técnicas não-intrusivas são bastante utilizadas, já que não interferem no jogo com a inclusão de aparatos extras e podem aliar um bom nível de robustez, confiança e desempenho. Em geral, as duas possíveis fontes de imagens para as aplicações baseadas em visão, segundo D’Orazio e Leo (2010), são câmeras de transmissões de TV ou câmeras proprietárias fixadas ao redor da área de jogo. Os trabalhos que utilizam imagens de transmissões televisivas normalmente estão voltados ao público entusiasta, sendo do interesse de emissoras de TV ou serviços e sites Web. Por outro lado, trabalhos de interesse de profissionais do esporte, como atletas e técnicos, lidam em grande parte com imagens provenientes de câmeras proprietárias ao redor da área de jogo e realizam tarefas mais específicas, que não podem ser resolvidas com imagens de transmissões, como por exemplo: reconstrução 2D/3D e visualização das ações dos jogadores; análises das estratégias dos times e avaliação da performance dos jogadores. Entretanto, isso não é uma regra, podendo ser observados trabalhos de uma área que utilizam fontes de imagens de outra. De acordo com D’Orazio e Leo (2010), existem três principais áreas de pesquisa quando se é considerado o uso de Visão Computacional no esporte: sumarização de vídeos (ASSFALG et al., 2003; EKIN; TEKALP; MEHROTRA, 2003; TJONDRONEGORO; CHEN; PHAM, 2004; LI et al., 2006; LIU et al., 2009a); fornecimento de informação aumentada (ANDRADE et al., 2005; RODRÍGUEZ et al., 2005; WANG et al., 2008; THOMAS, 2011); e análises de alto nível. Cada uma requer um nível semântico diferente de interpretação de acordo com a complexidade da aplicação correspondente (como mostra a Figura 7). 13 Figura 7 – Áreas de aplicação da Visão Computacional no esporte e o nível semântico de informação requerido (D’ORAZIO; LEO, 2010). Ainda segundo D’Orazio e Leo (2010), a área de análises de alto nível pode ser subdividida de acordo com o foco do trabalho: detecção e rastreamento da bola (YU et al., 2006; MIURA et al., 2009; CHEN et al., 2009; NIU; GAO; TIAN, 2012; WANG et al., 2014); detecção e rastreamento de jogadores (abordada na Subseção 2.2.1); análises de dados estatísticos das equipes (YU et al., 2005; ZHU et al., 2007; TSAI; MEIJOME; AUSTIN, 2007; PERL; GRUNZ; MEMMERT, 2013); e análises de eventos em tempo real, como gols e impedimentos (HASHIMOTO; OZAWA, 2006; NAIDOO; TAPAMO, 2006; D’ORAZIO et al., 2009). A seguir, são explorados os trabalhos de destaque na área de detecção e rastreamento de jogadores – onde está inserido o objeto de estudo do presente trabalho. São analisados seus pontos chave, enfoques e técnicas utilizadas. Como será visto adiante, a localização precisa dos jogadores é o passo fundamental a ser realizado nos trabalhos, principalmente quando se deseja diminuir ou eliminar a intervenção humana. Para informações mais detalhadas sobre alguns dos trabalhos que abordam outros focos, recomenda-se a leitura do trabalho de D’Orazio e Leo (2010), que faz uma revisão completa e detalhada dessas pesquisas. 2.2.1 Detecção e rastreamento de jogadores Nos últimos anos, uma série de trabalhos foram apresentados no campo da detecção e rastreamento dos jogadores em diversos esportes. As técnicas e abordagens utilizadas variam entre as pesquisas, sendo combinadas de diferentes formas, tornando o agrupamento dos trabalhos uma tarefa não trivial. As fontes de imagens para o processamento nessas pesquisas vão desde vídeos obtidos por câmeras fixas (capazes de monitorar, na 14 maioria dos casos, todas as ações do jogo) até imagens de câmeras em movimento ou de transmissões televisivas (que são geralmente mais fáceis de se obter). Cada uma das fontes traz desafios diferentes a serem superados. Em relação à detecção dos atletas, uma abordagem bastante comum é o uso de técnicas baseadas em segmentação dos jogadores e do fundo – no caso do futebol e futsal, o campo e a quadra de jogo, respectivamente. Normalmente, isso envolve a criação de um modelo da superfície de jogo ou dos jogadores, que pode ser estimado de diversas formas, permitindo a extração das regiões contendo os atletas de uma imagem. Figueroa, Leite e Barros (2006a), por exemplo, fazem uso de operações morfológicas para obter um modelo do fundo, de forma a tratar a questão das mudanças de iluminação inerente ao futebol de campo e o fato de que os jogadores podem apresentar movimentos rápidos ou lentos na cena. Além disso, a fim de eliminar as sombras dos blobs 1 resultantes da segmentação, os autores propõem um conjunto de operações morfológicas binárias que levam em conta as características geométricas dos indivíduos. Por outro lado, Figueroa, Leite e Barros (2006b) extraem a imagem do fundo aplicando um filtro de mediana sobre os pixels de alguns quadros do vídeo. A intensidade de cada pixel do modelo é dada pela média das intensidades mais comuns do intervalo de quadros considerados. O modelo é recalculado de tempos em tempos para que ele se adapte a mudanças lentas de iluminação, mas ainda consiga detectar grande parte dos objetos parados na cena. Com a imagem do plano de fundo, finalmente, pode-se subtraí-la de um quadro do vídeo para obter os blobs dos jogadores. Outros trabalhos fazem a segmentação baseados em informação de cor. Nesses casos, são utilizadas as cores predominantes da região de jogo ou histogramas e distribuições de cores dos jogadores para a criação do modelo. Em Vandenbroucke, Macaire e Postaire (2003), a extração das regiões que contém os jogadores, bem como a classificação dos atletas e a identificação de seus times é feita por meio dessa abordagem. Para tanto, há uma fase de treinamento inicial em que amostras dos jogadores são fornecidas de forma não automática, através de operadores que manualmente selecionam as regiões correspondentes aos diferentes uniformes. Posteriormente, é construído um espaço de cor denominado híbrido com as características selecionadas, especialmente projetado para alcançar a melhor discriminação possível entre as classes de pixel, e então é possível separar os jogadores do fundo e classificá-los. De forma análoga, em Naemura et al. (2000), os histogramas de cor dos uniformes dos atletas são construídos manualmente, selecionando-se as áreas de interesse. A detecção é então feita em dois estágios: inicialmente os histogramas são submetidos à limiarização para se fazer a segmentação dos atletas e sua transformação em 1 Os blobs são regiões de uma imagem nas quais algumas propriedades, como cor ou brilho, são constantes ou aproximadamente constantes. Dentro de um blob, todos os pixels podem ser considerados, de alguma maneira, similares uns aos outros. Consequentemente, os pixels de um blob diferem em propriedades comparados aos pixels de regiões a sua volta. 15 blobs binários; posteriormente a segmentação é refinada, por meio da técnica watershed com marcadores (BEUCHER; MEYER, 1992). Por sua vez, Dearden, Demiris e Grau (2006) e Khatoonabadi e Rahmati (2009) geram um modelo da cor do campo para segmentar os jogadores e o árbitro selecionando os blobs na cena que não são verdes. De modo semelhante, Xu e Shi (2005) extraem o campo de jogo através da detecção de sua distribuição média de cor e usam as componentes Hue e Saturation do espaço de cor HSI para eliminar os efeitos da iluminação. Nas situações em que as câmeras estão em movimento, em grande parte do tempo as imagens dos atletas se apresentam borradas, o que torna difícil segmentá-los corretamente. Nesses casos, são propostas soluções que utilizam desde algoritmos como K-Means para segmentar as pernas dos jogadores (KIM; NAM; KIM, 2003), até o uso de correspondências das marcações do campo entre as imagens para eliminar os efeitos da movimentação da câmera (KHATOONABADI; RAHMATI, 2009). Alguns autores adotam técnicas de segmentação que utilizam métodos estatísticos adaptativos, em sua grande parte baseados em um modelo de mistura de Gaussianas (em inglês, Gaussian Mixture Model, ou GMM) (STAUFFER; GRIMSON, 1999; ZIVKOVIC, 2004). Nessa abordagem, o modelo do fundo é atualizado a cada novo quadro da sequência, e cada pixel que o compõe possui um valor dado por uma distribuição Gaussiana. A imagem estimada do fundo é então subtraída dos quadros a serem processados e desta forma obtém-se os blobs dos objetos na cena. Esse é o caso de Kang, Cohen e Medioni (2003) e Xu et al. (2005). Por outro lado, alguns autores combinam subtração de fundo por mistura de gaussianas com informações de cores para fazer a detecção. Chen et al. (2012) detecta as cores dominantes da quadra e as usa para estimar um modelo baseado em GMM, que é então usado na subtração de fundo. Similarmente, Renno et al. (2004) usa subtração de fundo adaptativa baseada em GMM para fazer a detecção dos objetos do primeiro plano (em inglês, foreground). Posteriormente, para fazer a remoção das sombras dos atletas, é realizado um processo de treinamento não supervisionado que encontra classes de características do foreground e das sombras com base em suas distribuições de cores. Por fim, um procedimento de filtragem espacial é usado para identificar os pixels que são mais prováveis a pertencerem a cada classe de características. Diferentemente das abordagens anteriores, há trabalhos que fazem uso de detectores de objetos em geral previamente treinados. Uma das técnicas mais exploradas usa o algoritmo AdaBoost para organizar uma cascata de classificadores do tipo Haar (VIOLA; JONES, 2001), obtidos por meio de um grande número de amostras do objeto que se deseja detectar na imagem, bem como uma coleção de amostras negativas, isto é, que não o contém. Após esse treinamento, obtém-se um classificador capaz de identificar as instâncias do objeto (jogadores, no presente contexto) nas imagens. Esse é o caso dos trabalhos de Okuma et al. 16 (2004), Morais (2012) e Morais et al. (2014), onde as amostras são manualmente extraídas de algumas cenas de jogo e posteriormente submetidas ao treinamento e Liu et al. (2009b), onde as amostras são obtidas automaticamente por meio de segmentação e filtragem do fundo por cor dominante – verde, no caso da grama do futebol de campo. Outra técnica que vem ganhando destaque mais recentemente, proposta por Felzenszwalb et al. (2010), faz o treinamento de modelos de misturas de partes deformáveis – Deformable Part Models (DPM), que são usados para detectar objetos em situações complexas. Essa abordagem usa um conjunto de características locais de aparência baseadas em histogramas de gradientes orientados (Histograms of Oriented Gradients (HOG)) e assume que um objeto é composto por suas partes, que são usadas para identificar os objetos nas imagens. Para aumentar a robustez da detecção, alguns trabalhos combinam algumas das técnicas descritas anteriormente com abordagens probabilísticas utilizando uma ou mais câmeras. Em uma configuração multi-câmera, Morais (2012) e Morais et al. (2014) fundem as detecções obtidas nas imagens de cada câmera em uma função multimodal que representa a probabilidade de um jogador ser encontrado em uma dada posição da quadra, isto é, obtêm uma representação estatística da ocupação da quadra em um dado momento do jogo. Essa função é construída por meio da projeção da localização dos jogadores em coordenadas de imagem em um plano de quadra virtual, obtido pela calibração das câmeras utilizadas. De modo similar, Berclaz et al. (2011), Ben Shitrit et al. (2011) e Ben Shitrit et al. (2013) usam subtração de fundo juntamente com a técnica Probabilistic Occupancy Map (POM) (FLEURET et al., 2008) para criar um mapa de ocupação probabilística usado para detectar e encontrar a posição dos jogadores em diferentes situações. Considerando uma configuração com uma única câmera, Beetz et al. (2006) e Gedikli et al. (2007), inicialmente segmentam as regiões onde possivelmente os jogadores se encontram baseado em um modelo de cor. Posteriormente, são usados modelos para calcular os mapas de verossimilhança das localizações dos jogadores baseados nas distribuições de cores. Para aumentar a robustez, as informações de compactação da região segmentada e o espaçamento vertical entre as regiões são utilizadas como restrições. Os mapas são, por fim, combinados com as hipóteses previstas por rastreadores, e então as detecções são geradas. Ao se focar no rastreamento visual de múltiplos jogadores, novamente diferentes abordagens podem ser encontradas na literatura. Um problema frequentemente enfrentado nesse cenário é a movimentação bastante ativa dos atletas, com aparência semelhante e que frequentemente ocluem uns aos outros. Uma abordagem adotada em diversos trabalhos para lidar com isso é o uso de filtros preditivos (GOLDENSTEIN, 2004), como filtro de Kalman (WELCH; BISHOP, 2006) e filtro de partículas (ISARD; BLAKE, 1998). Esse tipo de filtro faz uma previsão de onde os jogadores estarão em um dado momento a partir de equações que descrevem e modelam sua dinâmica de movimentação. Xu et al. (2005) e Chen et al. (2012), por exemplo, fazem o uso do filtro de Kalman para estimar a velocidade 17 e posição dos jogadores e ligar suas trajetórias. Entretanto, filtros de Kalman convencionais trabalham bem com processos Gaussianos, não conseguindo lidar bem com processos multimodais ou multi-hipótese, como é o caso de dois objetos com trajetórias que se cruzam durante uma cena (MORAIS, 2012). Por causa dessa limitação, e objetivando o aumento da robustez do rastreamento, alguns autores optam por alternativas como o Unscented Kalman Filter (UKF) (WAN; MERWE et al., 2000) ou o filtro de partículas. No caso deste último, Okuma et al. (2004), Dearden, Demiris e Grau (2006), Zhu et al. (2007), Czyz, Ristic e Macq (2007), Kristan et al. (2009), Morais (2012) e Morais et al. (2014) utilizam-no para rastrear os atletas e resolver ambiguidades e situações de oclusão. Obviamente, há um custo de complexidade gerado e que aumenta proporcionalmente com o número de jogadores rastreados. Outra abordagem bastante comum no rastreamento dos vários jogadores explora a análise de trajetórias e múltiplas hipóteses baseadas no uso de grafos. Nesse caso, são construídos grafos que representam as possíveis trajetórias dos jogadores, isto é, modelam sua posição em um determinado instante de tempo e suas transições. Na geração dos grafos, são obedecidas diversas restrições, como, por exemplo, a inércia que um jogador possui, seu padrão de movimentação e a distância entre as detecções em cada quadro. Em Nillius, Sullivan e Carlsson (2006) e Sullivan e Carlsson (2006), são construídos grafos de rastreio que denotam quando os jogadores estão isolados e que descrevem como eles se interagem. Após isso, a trajetória de cada atleta é procurada no grafo, explorando as restrições impostas em sua criação. Para estabelecer a identidade de um jogador, sua posição em relação aos outros atletas é analisada. Por fim, uma medida de similaridade entre as trajetórias é usada para inferir a configuração mais provável de caminhos para todos os jogadores. Já Joo e Chellappa (2007) propõem um método eficiente de lidar com o problema de associação entre os alvos do rastreamento, modelando-o como um problema de cobertura mínima de arestas de um grafo. Desta maneira, conseguem um modo eficiente de manter as múltiplas hipóteses para associação com maior probabilidade em relação a todas as possíveis. Por sua vez, Miura e Kubo (2008) usam uma abordagem baseada em grafos para lidar com situações difíceis em que vários jogadores estão concentrados em uma área reduzida, como em um escanteio. Para tanto, são construídos grafos dos blobs de jogadores representando suas transições. A aparência de cada blob fornece uma restrição do número de jogadores no blob e essas restrições são propagadas pelo grafo para reduzir ambiguidades. As que restam são resolvidas por um procedimento estatístico que seleciona as interpretações mais prováveis. Analogamente, Pallavi et al. (2008) e Figueroa, Leite e Barros (2006b) formulam o rastreamento como um problema de caminho mínimo em um grafo ponderado onde cada jogador é um nó e os pesos das arestas indicam a distância e, consequentemente, a força da associação entre os blobs detectados em dois quadros consecutivos. Apesar de não serem trabalhos especificamente esportivos e de análise tática – já que 18 foram desenvolvidos originalmente como técnicas para detectar e rastrear pessoas –, os trabalhos de Fleuret et al. (2008), Berclaz et al. (2011), Ben Shitrit et al. (2011) e Ben Shitrit et al. (2013) têm se destacado no estado da arte nesta área, inclusive submetendo seus algoritmos a testes com conjuntos de dados de futebol de campo e basquete. Seus últimos resultados são capazes de atingir altos níveis de robustez e desempenho, e os códigos de alguns dos algoritmos são disponibilizados publicamente pelos autores (Fleuret, F., Berclaz, J., Lengagne R., Fua, P., 2015; Berclaz, J., Fleuret, F., Turetken, E., Fua, P., 2015). Assim como os trabalhos mencionados no último parágrafo, estes fazem o uso de grafos e técnicas de otimização para lidar com problemas comuns de rastreamento, como por exemplo: troca de identidades entre os jogadores em situações de oclusão e agrupamento, associações de detecções entre os quadros, dentre outros. A detecção dos atletas fica a cargo da técnica probabilística POM, e o problema de rastreamento é modelado em um grafo que representa as posições dos jogadores no tempo, suas transições e as situações de oclusão. Para resolvê-lo, são usadas técnicas de otimização, como K caminhos mais curtos – K-Shortest Paths (KSP) – e programação linear (BERCLAZ et al., 2011; Ben Shitrit et al., 2011). Mais recentemente, Ben Shitrit et al. (2013) estende os trabalhos anteriores ao utilizar a aparência dos jogadores para prevenir trocas de identidades indesejadas em situações complexas. Essa informação é esparsa, isto é, pode ser proveniente de quadros relativamente distantes do vídeo, e consegue aumentar ainda mais a robustez dos rastreamentos. Para se aproveitar das aparências dos atletas, o rastreamento é formulado como um problema de multi-fluxo de commodities de custo mínimo e fluxo máximo, que trabalha com um grafo contendo cada posição possível no espaço, uma para cada grupo de identidades possível. Este grafo é originalmente muito grande, e, para que o problema possa ser tratado em tempo real, é reduzido utilizando técnicas de otimização como KSP, programação linear, entre outras descritas no artigo. 2.2.2 Soluções comerciais não-intrusivas Diversas soluções de análise tática e física no esporte são comercializadas utilizando abordagens não-intrusivas. SportVU (STATS, 2015) é um sistema desse tipo que fornece estatísticas para análises tanto por profissionais do esporte quanto por entusiastas e torcedores. Por meio de câmeras instaladas ao redor do campo ou quadra de jogo, faz o uso de técnicas de Visão Computacional para coletar em tempo real os dados de posição dos participantes das partidas e da bola 25 vezes por segundo. Fornece indicadores físicos (velocidade, distância percorrida, entre outros) e táticos (posicionamento, posse de bola, informações de passe, ataque e defesa, entre outros) tanto de um jogador específico quanto da equipe como um todo. Pode usar de três a seis câmeras, dependendo da aplicação. Um operador fica no local de jogo e é responsável por inicializar o sistema – responsável por fazer a marcação inicial dos jogadores, definir os limites de quadra e resolver possíveis conflitos. A liga americana de basquete instalou essa solução nas arenas 19 de todas suas equipes e se tornou a primeira liga de esportes profissionais nos Estados Unidos a quantificar e analisar todos os movimentos e ações dos jogos em tempo real durante toda a temporada (NBA, 2015). Há ainda outras soluções comerciais que possibilitam a análise tática e física baseada em vídeos. Entretanto, a extração das estatísticas é feita de maneira semi-automática ou mesmo manual, com o auxílio de operadores que assistem os jogos e coletam os dados. O fornecimento dessas informações é realizado, em alguns casos, somente após o jogo, não podendo ser aproveitadas no decorrer da partida. Contudo, possuem um nível muito alto de precisão e podem conter também informação semântica (interpretações e classificações dos lances e jogadas), o que faz com que sistemas desse tipo sejam escolhidos nos casos em que a precisão das informações é crítica. Exemplos de sistemas como esses são StatDNA (STATDNA, 2015), Dartfish (DARTFISH, 2015), Prozone (Prozone Sports, 2015) e Opta (OPTA, 2015). 2.3 Discussão e desafios Dada a grande popularidade dos esportes no mundo, o desenvolvimento de ferramentas tecnológicas esportivas tem atraído muita atenção dos pesquisadores nas últimas décadas. O campo da análise tática e física, em particular, é alvo de atenção especial, já que pode prover informações valiosas capazes de aumentar o desempenho dos atletas e das equipes em geral. Alguns esportes coletivos, como o futebol e o basquete, se destacam como objetos principais de pesquisas científicas, como as mencionadas anteriormente, aplicando técnicas diversificadas com os mais variados objetivos. Além disso, o contexto desses esportes é bastante desafiador para a comunidade científica, principalmente a de Visão Computacional, já que impõe uma série de situações complexas que devem ser levadas em conta no planejamento das soluções. Vários métodos diferentes foram apresentados nos parágrafos anteriores para realizarem a detecção e o rastreamento dos jogadores, já que esses são os passos fundamentais para as análises tática e física. Obviamente, cada técnica possui seus benefícios e contrapartidas, sendo mais apropriada em determinadas situações, já que impactam diretamente na facilidade e agilidade de se obter as estatísticas e na precisão das informações. Abordagens que usam imagens televisivas normalmente não conseguem ter em cena todos os jogadores durante a duração completa do jogo, o que pode acarretar a perda de certas ações dos atletas. Dessa maneira, não é possível, por exemplo, saber com precisão a distância total percorrida por um determinado jogador que não foi monitorado em um certo momento. Sendo assim, abordagens com câmeras dedicadas instaladas no local de jogo são mais recomendadas para as análises tática e física. Técnicas multi-câmeras, por sua vez, 20 têm sido mais adotadas por permitirem uma melhor desambiguização no rastreamento em situações complexas, como no agrupamento de jogadores em pequenas regiões e oclusões, já que capturam o ambiente de jogo através de diferentes pontos de vista. Obviamente, um maior número de câmeras aumenta o custo financeiro e computacional da abordagem, inviabilizando sua adoção em alguns casos. Um dos principais desafios enfrentados por pesquisadores é conciliar na detecção e rastreamento um bom nível de robustez e precisão das informações extraídas com alto desempenho computacional, de forma que os tempos de processamento sejam rápidos o suficiente para permitirem as aplicações funcionarem de maneira online ou mesmo em tempo real. Normalmente, técnicas de segmentação baseadas em informação de cor e operações morfológicas são bem rápidas, mas são bastante sensíveis a variação de luminosidade (FIGUEROA; LEITE; BARROS, 2006a). Por outro lado, métodos adaptativos de subtração de fundo baseado em GMM são mais resistentes a esse problema, mas, além de serem mais lentos, podem incorporar ao modelo de fundo um jogador que permanecer estático na cena por tempo suficiente, e consequentemente não mais detectá-lo (STAUFFER; GRIMSON, 1999). Alternativamente, as abordagens que utilizam detectores de objetos previamente treinados conseguem ser mais robustas nesse sentido. Entretanto, necessitam de uma etapa de treinamento bastante custosa computacionalmente, que normalmente requer um número elevado de amostras e que pode levar várias horas ou mesmo dias para ser completado dependendo do tamanho das amostras fornecidas (VIOLA; JONES, 2001). Além disso, o processo de detecção por essa técnica é geralmente lento e, assim, nem sempre é possível conseguir boas taxas de processamento de quadros, o que faz com que seja mais utilizado em aplicações offline e análises pós-jogo. Com o desenvolvimento da computação paralela, contudo, alguns esforços têm sido voltados à melhora do desempenho desse método, permitindo processar uma maior taxa de quadros por segundo e necessitar um menor tempo de treinamento (MORAIS, 2012). Finalmente, as técnicas probabilísticas combinadas com os métodos anteriores conseguem obter bons resultados na detecção dos jogadores e, dependendo da combinação adotada, é possível também ter bom desempenho computacional. Entretanto, sua implementação pode ser bem mais complexa que as outras técnicas. No rastreamento, o uso de filtros preditivos tem sido muito adotado pelos pesquisadores, dada sua simplicidade de implementação e desempenho computacional. Entretanto, se o número de objetos rastreados for muito grande, o custo computacional pode se elevar rapidamente, principalmente no caso do filtro de partículas, que necessita de um bom número de pequenas amostras para um rastreamento razoável (GOLDENSTEIN, 2004). Apesar disso, os filtros preditivos sofrem muito com o problema de troca de identidade entre os atletas ou perda do rastreamento, em situações onde os jogadores se ocluem ou se agrupam por muito tempo. Por causa disso, muitas vezes as soluções que os aplicam fazem 21 o uso de técnicas auxiliares, como a construção de modelos de aparência para identificar corretamente um jogador ou a supervisão humana para resolver conflitos (MORAIS, 2012). Por sua vez, métodos baseados em grafos tem sido bastante adotados pelos autores recentemente. Em geral, são técnicas que apresentam custo de complexidade elevado, o que torna difícil alcançar boas taxas de processamento de quadros. Entretanto, conseguem obter um nível alto de robustez e preservar bem as identidades no rastreamento (D’ORAZIO; LEO, 2010; Ben Shitrit et al., 2011). Outro desafio constante é a tentativa de automatização do processo de detecção e rastreamento, de forma a eliminar a intervenção humana. Além de acelerar o processo de análise, empregar uma pessoa dedicada a essa tarefa normalmente é algo que envolve bastante esforço e custo. Desta maneira, muitos algoritmos têm focado no problema de detectar os atletas e construir os modelos usados sem que uma pessoa tenha que indicar manualmente as áreas a serem trabalhadas na imagem. Da mesma forma, algoritmos que preservam bem a identidade dos jogadores nos rastreamentos evitam que seja necessário um operador para resolver os conflitos e reparar os erros. Neste trabalho, foi adotada a técnica de subtração de fundo adaptativa, baseada em modelo de misturas de Gaussianas (ZIVKOVIC, 2004), para que seja possível detectar os jogadores nas imagens. Essa escolha foi motivada por diversos fatores. Em primeiro lugar, essa técnica pode lidar com as eventuais mudanças na cena, diminuindo, desta maneira, a intervenção humana no sistema. Em segundo lugar, o método escolhido é capaz de identificar grande parte das sombras dos jogadores, possibilitando sua remoção. Além disso, essa técnica pode lidar com objetos que possuem pouca informação visual a explorar, como no presente caso (mostrado na Figura 4). Finalmente, o método escolhido não necessita de uma fase onerosa de treinamento, como é o caso dos detectores de objetos previamente treinados. Por outro lado, para o rastreamento dos jogadores, optou-se pelo uso do filtro de partículas, dada sua simplicidade e desempenho, bem como sua capacidade de lidar com as nãolinearidades presentes no futsal. As técnicas adotadas e sua utilização serão detalhadas no Capítulo 3 e no Capítulo 4. Por mais que muitos trabalhos tenham sido desenvolvidos e apresentados na área de análise física e tática, grande parte entregam as informações esperadas com níveis de robustez, precisão e desempenho abaixo do esperado, tornando sua aplicação impraticável num cenário real. Assim sendo, o desenvolvimento de uma abordagem que consiga atingir esses objetivos é ainda um dos grandes problemas de pesquisa em Visão Computacional. 22 Capítulo 3 Fundamentação Teórica Neste capítulo são introduzidos alguns dos principais conceitos e técnicas que fundamentam o desenvolvimento da metodologia proposta para o sistema e são usados como base teórica do presente trabalho, em especial: geometria e calibração de câmeras de ponto de vista único; subtração de fundo por modelo de mistura de Gaussianas (GMM, do inglês Gaussian Mixture Model); e filtro de partículas. Cada um desses temas é abordado separadamente em uma seção específica a seguir. A descrição do processo de calibração de câmeras permite compreender como se dá a correspondência entre pontos na imagem capturada pela câmera e pontos no mundo real. A subtração de fundo por GMM, por sua vez, é utilizada para a detecção dos jogadores, de modo que as áreas na imagem que correspondam à quadra sejam removidas e só restem os atletas. Por fim, o filtro de partículas é usado para ligar as diversas detecções entre os quadros e rastrear os jogadores um a um, de forma que seja possível obter suas trajetórias. 3.1 Geometria e calibração de câmeras de ponto de vista único Esta seção apresenta uma introdução aos conceitos fundamentais da geometria e calibração de câmeras de ponto de vista único, baseada na seção de mesmo tema da tese de doutorado de Pádua (2005). Uma câmera pode ser entendida, basicamente, como um mapeamento entre o mundo 3D (espaço de objetos) e uma imagem 2D (TRUCCO; VERRI, 1998). Existem na literatura diversos modelos de câmera, que são matrizes com propriedades particulares que representam o mapeamento da câmera. No sistema proposto nesse trabalho, as câmeras utilizadas seguem o modelo projetivo pinhole, ilustrado na Figura 8. Esse modelo consiste num plano π , o plano de imagem, e um ponto 3D O, o centro de projeção. A distância f entre π e O é a chamada distância focal. A linha através de O e perpendicular a π é o eixo óptico, e o, o ponto onde o eixo óptico cruza π , é chamado de centro da imagem. 23 Figura 8 – O modelo de câmera pinhole (HARTLEY; ZISSERMAN, 2003). Como mostrado na Figura 8, q, a imagem de Q, é o ponto onde a linha reta através de Q e O intercepta o plano de imagem π . Considere o referencial 3D onde O é a origem e o plano π é ortogonal ao eixo Z, e seja Q = (Q1 , Q2 , Q3 )> . Por semelhança de triângulos, temos que o ponto Q é mapeado para o ponto q = (f Q1 /Q3 , f Q2 /Q3 , f )> no plano de imagem. Ignorando a última coordenada da imagem, tem-se que: (Q1 , Q2 , Q3 )> 7→ (f Q1 /Q3 , f Q2 /Q3 )> (1) descreve o mapeamento de projeção central das coordenadas do mundo para as coordenadas de imagem (HARTLEY; ZISSERMAN, 2003). Esse é um mapeamento do espaço 3D Euclidiano R3 para o espaço 2D Euclidiano R2 . Se os pontos no mundo e na imagem forem representados por vetores homogêneos (isto é, adciona-se 1 como a última coordenada), então a projeção central é expressa como um mapeamento linear entre suas coordenadas homogêneas (HARTLEY; ZISSERMAN, 2003). Em particular, a Equação 1 pode ser escrita em termos de uma multiplicação de matrizes como: Q1 Q2 Q3 1 f Q1 f 0 0 0 2 7→ f Q = 0 f 0 0 3 Q 0 0 1 0 Q1 Q2 Q3 1 . (2) Os algoritmos de Visão Computacional que fazem a estimativa da posição de objetos no espaço necessitam de equações como a Equação 2 para correlacionar as coordenadas dos pontos no espaço 3D com as coordenadas dos seus pontos correspondentes na imagem (TRUCCO; VERRI, 1998). Além disso, nessas aplicações frequentemente assume-se que as coordenadas dos pontos na imagem no referencial de câmera podem ser obtidas pelas coordenadas de pixel e que o referencial de câmera pode ser localizado em relação a outro referencial, conhecido como o referencial no mundo (TRUCCO; VERRI, 1998). Para tanto, é necessário conhecer algumas características da câmera, conhecidas em Visão Computacional como os parâmetros intrínsecos e extrínsecos da câmera. O problema 24 Figura 9 – Alvo de calibração do tipo tabuleiro de xadrez sendo visualizado em diferentes orientações. de estimá-los é conhecido como calibração de câmera (HARTLEY; ZISSERMAN, 2003; TRUCCO; VERRI, 1998). Para realizar a calibração, um conjunto suficiente de pontos conhecidos no mundo deve ser obtido e visualizado. Esses pontos são, normalmente, conseguidos por meio de alvos de calibração previamente construídos (ZHANG, 2000). Para que se consiga uma boa quantidade de pontos, o alvo deve ser capturado pela câmera em diferentes orientações, como mostrado na Figura 9. Em ambientes externos, muitas vezes não é possível construir um alvo suficientemente grande que possa ser visto pela câmera ou alterar sua orientação, e, nesses casos, pode-se utilizar marcações conhecidas no local onde as câmeras estão posicionadas. De posse das correspondências de pontos no mundo e na imagem, um sistema linear que utiliza as matrizes mostradas anteriormente pode ser construído e resolvido para se obter os valores dos parâmetros extrínsecos e intrínsecos (TRUCCO; VERRI, 1998; ZHANG, 2000). A seguir, são introduzidas brevemente as definições desses parâmetros. Posteriormente, na Subseção 3.1.3, será explicada a definição de Homografia planar e como ela pode ser usada para fazer o mapeamento entre pontos em um plano no mundo com os pontos no plano de imagem. 3.1.1 Parâmetros extrínsecos Os parâmetros extrínsecos são definidos como um conjunto de parâmetros geométricos que identificam unicamente a transformação entre o referencial de câmera desconhecido e o referencial conhecido, chamado de referencial no mundo (TRUCCO; VERRI, 1998). Segundo Trucco e Verri (1998), Hartley e Zisserman (2003), uma escolha comum para descrever a transformação entre o referencial de câmera e o referencial no mundo usa: • um vetor 3 × 1 de translação t, que descreve as posições relativas das origens dos dois referenciais; 25 • uma matriz ortogonal 3 × 3 de rotação R, que traz os eixos correspondentes dos dois referenciais uns nos outros. A relação entre as coordenadas de um ponto Q no referencial no mundo e no referencial de câmera, Qw e Qc , respectivamente, é dada por: Qc = RQw + t. (3) Ao se expressar Qw em coordenadas homogêneas, pode-se agrupar os parâmetros extrínsecos em uma única matriz 3 × 4, Me , chamada de matriz de parâmetros extrínsecos: Me = h R t i . (4) e se obter a equação linear matricial abaixo para relacionar as coordenadas de pontos no referencial no mundo com suas coordenadas correspondentes no referencial de câmera: " Qc = Me 3.1.2 Qw # 1 . (5) Parâmetros intrínsecos Segundo Trucco e Verri (1998), os parâmetros intrínsecos podem ser definidos como o conjunto de parâmetros necessários para definir as características ópticas, geométricas e digitais da câmera. Esses parâmetros são a distância focal f , a localização do centro da imagem em coordenadas de pixel (ox , oy ), o tamanho efetivo de pixel nas direções vertical e horizontal (sx , sy ) e, se necessário, o coeficiente k de distorção radial. Desconsiderando a distorção radial, pode-se agrupar todos os parâmetros intrínsecos em uma única matriz 3 × 3, Mi , chamada de matriz de parâmetros intrínsecos: −f /sx 0 ox Mi = 0 −f /sy oy . 0 0 1 (6) Novamente, se Qw for expresso em coordenadas homogêneas, pode-se obter a seguinte equação linear matricial que descreve as projeções perspectivas: " q = Mi Me Qw 1 # . (7) Um detalhe interessante sobre o vetor q= [q 1 , q 2 , q 3 ]> é que as razões (q 1 /q 3 ) e (q 2 /q 3 ) são as coordenadas em pixel do ponto na imagem. Deste modo, Mi faz uma transformação entre o referencial de câmera e o referencial do plano de imagem. As matrizes Mi e Me podem ser combinadas em uma única matriz 3 × 4, capaz de mapear pontos no mundo 26 para coordenadas de imagem em pixels, ambos em coordenadas homogêneas, chamada de matriz de câmera. No caso do presente sistema, uma aproximação que pode ser adotada é considerar que a posição de um jogador em quadra é dada pelo ponto entre seus pés no piso da quadra. Em outras palavras, os pontos de interesse estão sobre um plano definido no mundo, que é exatamente o plano da quadra. A origem do sistema de coordenadas do mundo pode, similarmente, ser definida de modo arbitrário para estar no plano, como mostrado na Figura 10. Desta maneira, a terceira coordenada de Qw na Equação 7, nesse cenário em particular, terá sempre valor igual a zero. Com base nisso, pode-se fazer uma simplificação e remover a terceira linha de Qw e a terceira coluna da matriz de câmera. O resultado é uma matriz 3 × 3 chamada de matriz de homografia planar, capaz de mapear pontos 2D de um plano em coordenadas homogêneas para pontos em outro plano. Essa matriz, por sua vez, é usada no presente sistema para fazer a correspondência entre pontos na imagem e pontos no plano de quadra. A seguir, será explicado rapidamente o processo de estimá-la e outros detalhes serão apresentados. 3.1.3 Homografia planar Como mencionado, a homografia planar é capaz de fazer o mapeamento entre pontos de um plano α a seus correspondentes em outro plano β , por meio da multiplicação das coordenadas pela matriz de homografia H. Desta maneira, ao se estimar a matriz de Figura 10 – Plano no mundo que representa a quadra de jogo. A posição dos jogadores é dada como um ponto sobre o plano, como o ponto P na imagem. Todos esses pontos tem coordenada Z = 0. 27 homografia, encontra-se uma transformação perspectiva entre os dois planos. Assim, para um determinado ponto p, pode-se escrever: pβ = Hαβ pα , (8) isto é, o ponto pβ é igual ao ponto pα transformado pela homografia Hαβ (MORAIS, 2012). Um ponto importante a ser observado é que a matriz de homografia é inversível e, desta maneira: pα = Hαβ −1 pβ = Hβα pβ . (9) Para estimar a matriz H, pode-se reescrever a Equação 8 em termos matriciais, de forma que: xpβ h11 h12 h13 xp α ypβ = h21 h22 h23 ypα . zpβ h31 h32 h33 zpα (10) Em coordenadas não homogêneas, x0 pα = xpα /zpα e y 0 pα = ypα /zpα , e então: x0 pβ = h11 xpα + h12 ypα + h13 zpα , h31 xpα + h32 ypα + h33 zpα (11) h21 xpα + h22 ypα + h23 zpα . (12) h31 xpα + h32 ypα + h33 zpα Sem perda de generalidade, pode-se fazer zpα = 1 e rearranjar a equação até obter y 0 pβ = (MORAIS, 2012): ax T h = 0, (13) ay T h = 0, (14) sendo: h = (h11 , h12 , h13 , h21 , h22 , h23 , h31 , h32 , h33 )T , ax = (−xpa , −ypa , −1, 0, 0, 0, x0 pb xpa , x0 pb ypa , x0 pb )T , ay = (0, 0, 0, −xpa , −ypa , −1, y 0 pb xpa , y 0 pb ypa , y 0 pb )T . Finalmente, com o auxílio de um conjunto suficiente de pontos correspondentes entre os planos, pode-se resolver o sistema linear: Ah = 0, sendo: ax T 1T a y1 . A = .. a T yN ayN T 28 (15) . (16) Assim, com uso da homografia, obtém-se uma forma de detectar e rastrear um jogador na imagem e determinar qual é a sua posição correspondente em quadra. 3.2 Subtração de fundo por modelo de mistura de Gaussianas A subtração de fundo é uma das tarefas mais comuns em Visão Computacional, como descrito no Capítulo 2, principalmente nas aplicações em que se deseja separar ou segmentar o fundo de uma cena dos objetos de interesse para, por exemplo, detectá-los e rastreá-los (STAUFFER; GRIMSON, 1999; ZIVKOVIC, 2004). Frequentemente, o fundo de uma cena apresenta algum comportamento regular que pode ser descrito por um modelo. Se esse modelo é construído, então um objeto “intruso” na cena pode ser detectado procurando-se pixels da imagem que não se encaixam no modelo (STAUFFER; GRIMSON, 1999). O processo de subtração de fundo, em resumo, envolve calcular uma imagem de referência do fundo (o modelo), subtrair cada novo quadro dessa imagem e limiarizar o resultado. O produto final é uma imagem binária que destaca as regiões dos objetos não estacionários na cena (STAUFFER; GRIMSON, 1999; ZIVKOVIC, 2004). Para lidar com eventuais mudanças de iluminação na cena ou objetos que são introduzidos ou removidos da cena, é necessário que qualquer solução reestime o modelo de fundo constantemente (ZIVKOVIC, 2004). Diversas abordagens diferentes foram propostas nas últimas décadas para construir o modelo e lidar com os problemas citados anteriormente. Uma das soluções mais famosas utiliza um modelo adaptativo, onde cada pixel da cena é modelado por uma mistura de distribuições Gaussianas e intensidades diferentes são representadas por Gaussianas diferentes (STAUFFER; GRIMSON, 1999). Nesta dissertação, foi adotada a técnica proposta por Zivkovic (2004), que estende o trabalho de Stauffer e Grimson (1999). Nessa técnica, o modelo de fundo (BG, do inglês background) é estimado a partir de um conjunto de treinamento denotado por χ. Esse conjunto é construído a partir de valores de pixels ~x amostrados sobre um período de tempo de adaptação T . Desta maneira, num dado tempo t, tem-se que χT = {~xt , ~xt−1 , ..., ~xt−T } e o modelo de fundo estimado é denotado por p̂(~x|χ, BG) (ZIVKOVIC, 2004). Com o passar do tempo, cada novo valor de pixel é incorporado ao conjunto e as amostras antigas são descartadas, para que o modelo seja atualizado de forma a adaptar-se às mudanças na cena. Nas amostras recentes, entretanto, podem haver valores que pertencem tanto aos objetos do fundo quanto do primeiro plano (F G, do inglês foreground). A probabilidade de se observar um certo pixel com valor ~x no instante de tempo t é denotada, desta maneira, por p(~xt |χT , BG + F G). Em um GMM com M componentes, essa estimativa 29 é dada por (ZIVKOVIC, 2004): M X p̂(~x|χT , BG + F G) = 2 π̂m N (~x; µ ~ˆ, σ̂m I), (17) m=1 sendo µ ~ˆm a estimativa da média da m-ésima componente Gaussiana e σ̂m a estimativa das variâncias que descrevem a m-ésima componente Gaussiana. Assume-se que as matrizes de covariância são diagonais e I , a matriz identidade, possui dimensões apropriadas (ZIVKOVIC, 2004). Os pesos da mistura, denotados por π̂m , são maiores ou iguais a zero e normalizados para que sua soma seja igual a um. O parâmetro de peso π̂m pode ser considerado como a probabilidade de uma amostra ser proveniente da m-ésima componente, ou seja, qual porção dos dados é representada pela m-ésima componente da mistura. Em outras palavras, os pesos representam as proporções de tempo que determinadas intensidades (e, analogamente, cores) ficam na cena. Isto significa que a determinação de quais Gaussianas podem corresponder às cores do fundo é baseada na persistência e variância de cada uma das Gaussianas da mistura. As prováveis cores de fundo são aquelas que permanecem mais tempo na cena e de maneira mais estática (STAUFFER; GRIMSON, 1999). Para estimar o modelo de fundo a partir da mistura, o algoritmo assume que componentes que possuem a maior evidência de pertencerem ao fundo e a menor variância são mais prováveis de fazerem parte do background. Para determinar quais são essas componentes, considera-se que o fundo contém B intensidades mais prováveis. Em uma abordagem de clusterização, objetos estáticos tendem a formar agrupamentos (em inglês, clusters) grandes e concisos de pixels de mesmo valor, enquanto que objetos em movimento formam clusters esparsos dadas suas diferentes superfícies de reflexão durante a movimentação (KAEWTRAKULPONG; BOWDEN, 2002). Desta forma, os objetos “intrusos” pertencentes ao primeiro plano serão representados, em geral, por alguns clusters adicionais com pesos π̂m pequenos. O modelo de fundo pode, portanto, ser aproximado pelos primeiros B maiores clusters: p(~x|χT , BG) ∼ B X π̂m N (~x; µ ~ˆm , σ 2 m I). (18) m=1 Se as componentes são ordenadas por seus pesos π̂m de forma decrescente, o valor de B é dado por: B = arg min b b X ! π̂m > (1 − cf ) , (19) m=1 sendo cf uma medida da maior porção dos dados que pode pertencer aos objetos do foreground sem influenciar o modelo de fundo (ZIVKOVIC, 2004). Em outras palavras, (1 − cf ) é um limiar de fração mínima do modelo de fundo, ou seja, a menor probabilidade a priori que o fundo está na cena. Assim, as primeiras B componentes cujos pesos excedem esse limiar são consideradas o background. 30 Para encerrar a descrição da técnica, dois pontos importantes ainda devem ser tratados: como atualizar os valores dos pesos, médias e variâncias das componentes, quando um novo quadro é processado, e como escolher o número de componentes Gaussianas. Uma limitação presente na abordagem de Stauffer e Grimson (1999) é causada exatamente pelo uso de um número fixo de componentes para cada pixel no decorrer do tempo. Além disso, esta técnica sofre com uma demora considerável no aprendizado do modelo no início da execução. Para aumentar a acurácia da segmentação e diminuir seu custo computacional, Zivkovic (2004) propõe um novo esquema de equações e um procedimento online para constantemente atualizar não somente os parâmetros do GMM, mas também o número de componentes a serem utilizadas. A cada nova amostra ~xt , no tempo t, as equações recursivas de atualização são: π̂m ← π̂m + α(omt − π̂m ) − αcT (20) µ ~ˆm ← µ ~ˆm + omt (α/π̂m )~δm (21) 2 2 2 ), + omt (α/π̂m )(δ~mT ~δm − σ̂m σ̂m ← σ̂m (22) sendo ~δm = ~xt − µ ~ˆm . A constante α é vista como um fator de aprendizado, que descreve um envelope de decaimento exponencial usado para limitar a influência das amostras antigas, e α = 1/T aproximadamente. Para uma nova amostra, omt é igual a 1 para a componente “próxima” com o maior peso π̂m e igual a zero para as componentes restantes. Uma amostra é dita “próxima” a uma componente se a distância de Mahalanobis da componente é, por exemplo, menor que 3 desvios padrões. A distância quadrática da m-ésima componente 2 2 é calculada como Dm (~xt ) = δ~mT ~δm /σ̂m . Se não há no modelo nenhuma componente “próxima”, uma nova componente é gerada com π̂M +1 = α, µ ~ˆM +1 = ~xt e σ̂M +1 = σ0 , sendo σ0 uma variância inicial com valor alto apropriado (ZIVKOVIC, 2004). Se o número máximo de componentes é atingido, a componente de menor peso é descartada. Por último, Zivkovic (2004) usa uma distribuição a priori de Dirichlet com coeficientes negativos, de forma a aceitar uma determinada classe somente se houver evidências suficientes nas amostras para a existência da classe. Isso é feito por meio do parâmetro de peso negativo cT , que irá suprimir as componentes não suportadas pelos dados. Se uma componente possui pesos negativos, ela é então descartada. Após cada atualização, os pesos são novamente normalizados. Desta maneira, no começo da execução, o modelo GMM é iniciado com uma componente centrada na primeira amostra. A cada novo valor de pixel, novas componentes são adicionadas ou descartadas como mencionado anteriormente, para que o número de Gaussianas, assim como os outros parâmetros, seja atualizado dinamicamente e o modelo de fundo 31 estimado. Valores de pixel que não se encaixam no modelo são, portanto, considerados pertencentes ao primeiro plano, até que exista uma Gaussiana com evidências suficientes que os inclua como parte do plano de fundo. Além disso, a técnica adotada no presente trabalho, ao contrário da proposta em Stauffer e Grimson (1999), é capaz de detectar pixels de sombras em movimento dentre os pixels marcados como foreground. Para tanto, um pixel é checado contra o modelo de fundo, e será tratado como uma sombra se é considerado uma versão mais escura do background. Para esse propósito, um limiar é usado para especificar a escuridão da sombra. 3.3 Filtro de partículas Filtro de partículas é um filtro preditivo, isto é, usa informação do estado atual de um objeto para inferir seu estado no próximo instante de tempo (ISARD; BLAKE, 1998). Para tanto, faz o uso de um modelo de movimentação que descreve a dinâmica de movimento do objeto. Com base nesse modelo, o filtro é capaz de fazer uma previsão da posição no próximo instante de tempo, que é corrigida por uma função ou modelo de observação, como por exemplo, a posição do jogador obtida por sua detecção. Esse ajuste é necessário já que não se sabe exatamente como o objeto se move naquele momento. Por isso, os erros se acumulam e podem levar a predições futuras incorretas e que não correspondem ao objeto de interesse (MORAIS, 2012). Quando não é possível observar diretamente o objeto (por exemplo, se não foi detectado ou em um momento de oclusão), o filtro pode utilizar apenas as informações da predição para manter o rastreamento até que o objeto possa ser novamente detectado. Para que seja possível trabalhar com funções multimodais, como no presente caso, o filtro faz a representação de suas funções de probabilidades usando um conjunto de N amostras, ou partículas – daí a origem de seu nome. Num determinado tempo t, cada partícula i possui um estado Xit , que contém uma informação que representa o objeto. Cada partícula possui também um peso Wit , que representa o quão boa ela é, ou seja, qual a probabilidade do objeto ser encontrado naquela posição se uma observação for feita naquele instante. No caso do sistema em questão, foi utilizado um vetor com quatro variáveis para representar o estado do jogador. Assim, para cada partícula, tem-se Xit = {x, y, vx , vy }, onde as duas primeiras variáveis correspondem a posição do jogador no espaço 2D, vx é a velocidade no eixo x e vy a velocidade no eixo y . O estado estimado do jogador rastreado, representado por X̂t , é dado por: X̂t = N X Xit Wit . (23) i=1 No instante t0 , o conjunto de partículas é gerado. Essas partículas são normalmente inicializadas de maneira aleatória, e recebem pesos iguais, isto é, Wit0 = 1/N . A partir 32 deste ponto, inicia-se um processo iterativo, que se repete a cada novo quadro obtido na sequência de imagens e consiste das fases de Reamostragem, Propagação, e Observação. A seguir, são descritas cada uma dessas etapas e é explicado o funcionamento desse processo. Um exemplo simples é usado para permitir uma melhor compreensão de tal processo. Os detalhes da abordagem utilizada para o rastreamento dos atletas neste trabalho serão apresentados no Capítulo 4. Para as descrições seguintes, considera-se t como o instante de tempo atual. 3.3.1 Reamostragem Nessa fase, as partículas são reamostradas de acordo com seu peso, de forma a construir um novo conjunto com N amostras baseado no anterior. Em um intervalo [0, 1], são mapeadas porções desse intervalo a cada uma das partículas, de forma que as de maior peso possuam porções maiores. Após isso, é sorteado aleatoriamente um número n e será escolhida a partícula que possui a porção do intervalo que o contenha. Ao se realizar o sorteio dessa maneira, as amostras de maior peso são favorecidas, mas nada impede que haja repetições e que partículas de baixo peso sejam selecionadas. 3.3.2 Propagação Nessa etapa, o conjunto de partículas é propagado utilizando-se o modelo de movimentação, que descreve como o objeto se move, de forma a construir a estimativa do estado Xt+1 . Em outras palavras, basicamente é feita a previsão do próximo estado. Diversos modelos podem ser adotados, como por exemplo, movimento uniforme ou movimento uniformemente acelerado. Tomando como exemplo o primeiro, tem-se que: (x, y)t+1 = (x, y)t + (vx , vy )t ∆t, (24) (vx , vy )t+1 = (vx , vy )t , (25) sendo ∆t o intervalo de tempo considerado. No entanto, como o filtro lida com as probabilidades de um evento, há incertezas no processo que devem ser levadas em conta. Essas incertezas podem ser vistas como ruídos presentes no processo (BREITENSTEIN et al., 2011). No caso do presente trabalho, são modeladas como erros aleatórios normalmente distribuídos com média igual a zero e variância igual a σ 2 (vx ,vy ) , incluídos nas partículas. Esses erros contribuem para diferenciar o estado de partículas repetidas, melhorar a representatividade naquele ponto, e evitar repetições que podem levar o sistema ao colapso (MORAIS, 2012). Levando isso em conta, as equações acima podem ser reescritas em 33 termos matriciais, de forma que: Xt+1 = 1 0 0 0 0 ∆t 0 x 1 0 ∆t y 0 1 0 vx 0 0 1 vy + t 0 0 evx evy , (26) sendo evx e evy os ruídos do processo. 3.3.3 Observação Na fase de observação, as estimativas são ajustadas por meio de uma função ou modelo Z de observação do objeto, de modo a confirmá-las ou corrigi-las. Nesse instante, é calculado o novo peso da partícula, que representa o quão boa ela é. Em outras palavras, qual a probabilidade do objeto ser encontrado naquela posição se uma observação for feita naquele instante, denotada por P (Xt+1 |Zt+1 ). Novamente, diversos modelos podem ser adotados para a observação. Continuando o exemplo anterior, como se está interessado em rastrear jogadores e estimar suas posições, o modelo considerado é dado por: " Zt+1 = 1 0 0 0 0 1 0 0 # x y vx vy . (27) t+1 Nesse caso, somente a informação de posição nas duas dimensões é recuperada, ou seja, as velocidades não são importantes, nesse cenário, para a observação. A estimativa e a observação são confrontadas e o peso da partícula é calculado usando, por exemplo, uma função de densidade de probabilidade. Por fim, os pesos são normalizados para que sua soma seja igual a um. A partir daí, o estado estimado X̂t+1 do objeto pode ser novamente calculado por meio da Equação 23 e o filtro está pronto para outra iteração. A Figura 11 sumariza uma iteração do filtro de partículas e mostra os resultados de suas etapas. As partículas são representadas por elipses de tamanhos diferentes, que representam o peso Wi da partícula no processo (MORAIS, 2012). No ciclo de tempo t, mostrado na primeira camada, há um conjunto de partículas com pesos calculados pela observação Zt . A segunda camada mostra a etapa de Reamostragem, onde são exibidas as partículas selecionadas de acordo com o peso e as eventuais repetições. Nesse momento, os pesos das partículas perderam seu significado e precisam ser novamente medidos (justificando o tamanho igual das elipses) (MORAIS, 2012). Na terceira camada pode-se ver o resultado da etapa de Propagação, quando as partículas são propagadas por meio do modelo de movimentação e acrescidos os erros do processo. O conjunto de partículas, nesse momento, 34 Figura 11 – Passos do filtro de partículas. Cada camada mostra uma das etapas de sua execução: (1) Conjunto de partículas no tempo t com pesos dados por Zt ; (2) Reamostragem; (3) Propagação; (4) Função de observação em t + 1; (5) Partículas com estado Xt+1 dado por Zt+1 em t + 1: P (Xt+1 |Zt+1 ) (MORAIS, 2012). representa a estimativa no próximo ciclo da execução. A quarta camada mostra a função de observação como uma função em que a altura da curva representa o peso (qualidade) da medição naquele ponto. Partículas que se encontram em regiões de maior peso na função serão representadas por elipses maiores, já que possuirão pesos também maiores. Por fim, a última camada mostra o conjunto de partículas ajustado no tempo t + 1, e essas partículas estão prontas para que o processo se repita na próxima iteração. 35 Capítulo 4 Metodologia Este capítulo descreve o sistema desenvolvido para apoiar as análises tática e física de times de futsal. Serão descritos os passos realizados para se atingir esse objetivo e como as técnicas tratadas no Capítulo 3 são aplicadas nesse contexto. A Figura 12 apresenta uma visão geral do sistema, destacando as etapas que devem ser executadas, além de suas entradas e saídas. Como pode-se observar, as informações táticas e físicas são derivadas dos dados de posição dos atletas em quadra num dado instante de tempo, e, desta maneira, é necessário estimar suas localizações e computar suas trajetórias. A seguir, são exploradas em detalhe cada uma das etapas necessárias para o funcionamento do sistema. 4.1 Aquisição das imagens Uma vez que o sistema se baseia em Visão Computacional, o primeiro passo consiste em capturar as imagens dos jogos por meio de câmeras de vídeo, que serão posteriormente processadas pelos algoritmos de detecção e rastreamento de jogadores. Como mencionado na Seção 1.1, é importante definir a posição das câmeras ao redor da quadra. Diferentemente de outros trabalhos nessa área, o sistema proposto utiliza uma única câmera estacionária, c, fixada no teto do ginásio, a 16 metros de altura, e posicionada de forma que seu eixo óptico, o, está aproximadamente perpendicular em relação ao piso da quadra, como mostrado na Figura 12. Nessa configuração, a câmera pode monitorar toda a área da quadra e capturar imagens do jogo vistas de cima, consequentemente minimizando os efeitos indesejados de oclusões entre os jogadores e outros participantes da partida. O modelo utilizado é uma câmera IP AVT Prosilica GC750, que é conectada à maquina que executa o sistema via cabo de rede. As imagens são capturadas a uma taxa de 30 quadros por segundo a uma resolução de 752x480 pixels. Para que seja possível capturar toda a quadra, é usada uma lente grande angular varifocal de 1,8-3,6mm, modelo Computar 36 Figura 12 – Visão geral das principais etapas executadas pelo sistema proposto e suas entradas e saídas. T2Z1816CS. Esse tipo de lente, entretanto, causa distorções esféricas substanciais nas imagens obtidas, como mostrado na Figura 13a. Para corrigir esse problema, são usados os parâmetros intrínsecos da câmera, obtidos por meio de um processo de calibração usando o método proposto por Zhang (2000), resultando em uma imagem muito menos distorcida. Como apenas a área da quadra contém informação relevante ao sistema, a imagem resultante é recortada para que apenas a região de interesse se mantenha, reduzindo-se assim o número de pixels a serem processados (Figura 13b). Uma vez definidas a posição e a orientação da câmera, são estimadas as matrizes de 37 (a) Imagem da quadra capturada pela câmera do sistema. (b) A mesma imagem pós-correção da distorção introduzida pela lente e recortada para preservar apenas a região de interesse. Figura 13 – Exemplos de quadros obtidos na etapa de aquisição das imagens. homografia usadas no sistema. São calculadas duas matrizes diferentes. A primeira faz a transformação de um ponto no plano de imagem mostrado na Figura 13b para o plano da quadra no mundo, e é usada para determinar a distância percorrida pelos jogadores e suas velocidades. A segunda, por sua vez, transforma pontos no plano de imagem mostrado na Figura 13b para outro plano de imagem, como o mostrado na Figura 2, e é usada na criação dos mapas de calor contendo as posições em quadra ocupadas pelos jogadores durante o jogo. Como descrito na Seção 3.1, são utilizadas marcações conhecidas da quadra como, por exemplo, a linha da área do goleiro, a marca do pênalti, o círculo central, dentre outras, para conseguir um conjunto suficiente de correspondências de pontos na imagem em pixels e pontos no plano de quadra (Figura 14). A posição desses pontos na quadra foram medidas presencialmente, e são definidas em relação a um referencial com origem colocada arbitrariamente na marca de escanteio superior esquerda. Analogamente, um subconjunto das marcações na Figura 14 é usado para a segunda matriz de homografia. Nesse caso, são escolhidos pontos da imagem que também podem ser observados na Figura 2 e, assim, as correspondências são obtidas e as matrizes calculadas. Figura 14 – Marcações conhecidas da quadra (pontos verdes) usadas na estimativa das matrizes de homografia. 38 4.2 Detecção dos jogadores De posse das imagens e das matrizes de homografia, a próxima etapa na metodologia adotada é realizar a detecção dos jogadores em uma imagem da sequência. Para tanto, o sistema faz o uso da técnica de subtração de fundo descrita na Seção 3.2. Os parâmetros utilizados são definidos experimentalmente de acordo com a sequência trabalhada, de forma que maximizem a segmentação entre os atletas e a quadra. Similarmente, o tempo de adaptação do modelo é definido de modo que permita que jogadores como o goleiro possam ficar um certo tempo estáticos na cena, sem serem incorporados ao fundo. Ao se aplicar o método descrito, o modelo de fundo é criado e subtraído das imagens. Após a subtração, obtém-se uma imagem como a mostrada na Figura 15b. Para aumentar a robustez do processo, é necessário detectar e remover os pixels de sombra em movimento dentre os pixels definidos como foreground. Como mencionado na Seção 3.2, a técnica adotada consegue fazer essa diferenciação, e marca os pixels de sombra com valor de intensidade igual a 127, o que faz com que esses pixels fiquem cinza na imagem resultante. As sombras podem, então, ser facilmente removidas por meio de uma operação de limiarização (threshold, em inglês). Após isso, tem-se uma imagem binária onde os pixels (a) Imagem a ser processada. (b) Imagem resultante da subtração de fundo (sombras em cinza). (c) Resultado das operações morfológicas de abertura (d) Regiões de interesse contendo os jogadores (retâne fechamento. gulos delimitadores em vermelho). Figura 15 – Etapas do processo de detecção dos jogadores. 39 pretos representam o fundo e os pixels brancos representam os objetos do primeiro plano. Para melhorar ainda mais a detecção, são aplicadas algumas operações morfológicas na imagem binária, como abertura e fechamento (HARALICK; STERNBERG; ZHUANG, 1987). A primeira é realizada para remover pixels causados por ruído e remover objetos muito pequenos do foreground. Já a segunda, pode remover os pequenos buracos dos blobs no primeiro plano. O resultado dessas operações pode ser visto na Figura 15c. Nesse momento, retângulos que delimitam os blobs são atribuídos a cada um deles, definindo possíveis localizações dos jogadores e criando um conjunto R de regiões de interesse (Figura 15d). Após isso, todas as regiões no conjunto R devem ser verificadas em relação a algumas restrições geométricas, para checar se elas realmente correspondem a jogadores, dadas suas respectivas alturas e larguras e suas posições. Assim, a i-ésima região em R é descartada se wi < wmin or hi < hmin , sendo que wi e hi denotam a largura e altura da i-ésima região, respectivamente, e wmin e hmin são os valores mínimos para largura e altura que uma região pode assumir para representar um jogador em potencial na cena. De modo similar, o algoritmo avalia se wi > wmax ou hi > hmax , sendo wmax e hmax os valores máximos para largura e altura para uma região que pode representar um jogador. Nesses casos, se wi > wmax ou hi > hmax , o algoritmo divide recursivamente a região em retângulos menores até que eles obedeçam as restrições de dimensão, já que possivelmente correspondem a diversos jogadores concentrados em um mesmo local. Em seguida, atualiza o conjunto R. No processo de detecção, somente jogadores encontrados dentro da área da quadra são considerados, para evitar que a movimentação de técnicos, jogadores reservas, árbitros ou mesmo torcedores levem a detecções incorretas. Para verificar se um atleta está dentro da área de interesse, o primeiro passo é determinar sua posição, que no presente caso é definida pela posição do ponto entre seus pés. Como a câmera captura imagens da quadra vista de cima, pode-se supor que esse ponto é dado pelo centroide da i-ésima região em R. Entretanto, nas imagens obtidas por projeção perspectiva, como no presente caso, essa suposição nem sempre é valida, principalmente para objetos que se encontram distantes do centro da imagem, como mostrado na Figura 16a. Desta forma, estimar a posição do pé é uma tarefa importante para aumentar a precisão do sistema. Quando um jogador vai bater um lateral ou está correndo próximo aos limites da quadra, por exemplo, em grande parte dessas situações o centroide da i-ésima região em R está fora da área de jogo, mas o pé do jogador se encontra dentro. Para estimar a posição do pé, traça-se uma linha ligando o centroide da i-ésima região até o centro da imagem, obtido pela calibração realizada na etapa de aquisição das imagens. O ponto onde essa linha intercepta o retângulo delimitador da região será considerado 40 (a) Diferença entre as posições do centroide e do pé: (b) Linhas (em roxo) ligando o centroide das regiões setas azuis indicam o centroide da i-ésima região ao centro da imagem. O ponto de interseção da em R e setas verdes a posição real do pé. linha com o retângulo é considerado como o pé do jogador. Figura 16 – Estimação da posição dos pés dos jogadores para determinar sua localização. como a posição do pé do jogador em quadra, como mostrado na Figura 16b. Se o retângulo delimitador não é interceptado pela linha, isto é, se ele a contém, é usado o próprio centroide da região como a posição estimada do pé. Mesmo nos casos em que a detecção do jogador não é ideal, isto é, o retângulo delimitador não engloba completamente a região do jogador na imagem, essa abordagem permite selecionar o ponto mais próximo aos pés do jogador, aumentando a precisão da localização do atleta. De posse das estimativas de posição dos pés dos jogadores, a primeira matriz de homografia estimada na seção anterior é usada para transformar as coordenadas das posições dadas em pixels na imagem para coordenadas no plano de quadra. Finalmente, é verificado se essas posições estão dentro da área da quadra. Em caso negativo, a detecção é descartada. O último passo do processo de detecção é gerar um modelo de aparência que explora a informação de cor do jogador detectado, a ser usado posteriormente na etapa de Observação do filtro de partículas no rastreamento. Esse modelo consiste em 3 histogramas de cor normalizados, com 16 intervalos (ou bins, em inglês) cada, construídos no espaço HSV, sendo um histograma para cada canal do espaço. A construção desse modelo acontece em uma série de etapas, descritas a seguir. O primeiro passo é utilizar a imagem resultante da subtração de fundo (Figura 15b, porém com sombras removidas) como uma máscara sobre a imagem original, para obter uma terceira imagem que contém apenas pixels dos objetos em movimento no primeiro plano, mostrada na Figura 17a. Depois disso, para cada região de interesse i em R, é feito um recorte desta imagem, de tamanho definido pelo retângulo delimitador da região, resultando em uma imagem como a mostrada na Figura 17b, na parte de cima. O recorte é então convertido do espaço de cor RGB para HSV, e os planos Hue, Saturation e Value são separados (Figura 17b, no meio). Por fim, são calculados os histogramas normalizados de cada um desses planos (Figura 17b, embaixo), que irão compor a aparência do jogador. 41 (a) Imagem com pixels dos objetos em movimento no (b) Recorte da imagem à esquerda delimitado por uma primeiro plano, após aplicação da máscara (Fig. região em R (em cima) e canais separados do re15b, sem sombras) sobre a imagem original (Fig. corte (meio). As imagens foram aumentadas para 15a). melhor visualização. Embaixo, os histogramas de cada canal. Figura 17 – Criação do modelo de aparência de um jogador. Até este momento, não se sabe quais das detecções representa um jogador em particular, isto é, qual medição corresponde a cada jogador. Essa situação é tratada na próxima etapa do sistema, que realiza o rastreamento dos atletas. Após o processo de detecção, os retângulos delimitadores em R, juntamente com as posições dos jogadores detectados e os respectivos modelos de aparência são reunidos em uma estrutura especial, denominada de agora em diante de medição, que são utilizadas no rastreamento. 4.3 Rastreamento dos jogadores Após o processo de detecção, a próxima etapa no sistema consiste em rastrear os jogadores e estimar suas posições em um dado instante de tempo, de forma a ligar suas medições encontradas em um quadro com as encontradas num quadro posterior. O rastreamento dos jogadores pode ser visto como um processo iterativo, que analisa uma sequência de imagens para descrever o movimento de um ou mais objetos na cena (TRUCCO; VERRI, 1998). Neste trabalho, foi adotada a técnica de filtro de partículas, descrita na Seção 3.3, para esse objetivo. A seguir, serão descritas as etapas e o funcionamento do algoritmo de rastreamento. 4.3.1 Inicialização O início do rastreamento de um jogador se dá a partir de sua primeira detecção. Cada nova medição dá origem a um rastreador, que possui um filtro de partículas próprio, a identificação do jogador, um histórico de aparências e um histórico de posições. Quando um novo rastreador é criado em t0 , um conjunto de N partículas para o seu filtro é gerado com estados Xit0 = {x, y, vx , vy }. Os valores de x e y são dados a partir de valores aleatórios 42 normalmente distribuídos em torno da posição do jogador da medição que lhe deu origem e variância σ 2 (x,y) . O valor inicial desta variância é baseado no tamanho médio dos jogadores na sequência. Por outro lado, vx e vy são inicializados com valor igual a zero. Todas as partículas possuem, nesse instante, o mesmo peso, igual a 1/N . Além disso, é incluído no histórico do rastreador o modelo de aparência da medição de origem. Esse histórico é atualizado sempre que uma medição é associada ao rastreador. Como possui tamanho fixo, as aparências mais antigas do histórico são descartadas para dar espaço às novas. A partir daí, o algoritmo de rastreamento tenta fazer, a cada quadro, a associação entre as medições encontradas no processo de detecção com os rastreadores existentes. Um rastreador gera um rastreamento válido, que pode computar e armazenar trajetórias, se uma medição é associada a ele em um número mínimo de quadros, denotado por γmin . Isso é feito para evitar estimar trajetórias de objetos provenientes de medições inconsistentes, causadas por ruído. Da mesma forma, um rastreador só pode sobreviver sem uma medição associada por um número limitado de quadros, denotado por γlim . Após isso, é automaticamente removido. Para que seja possível fazer as associações, o algoritmo conta com o auxílio do filtro de partículas de cada rastreador. Como discutido na Seção 3.3, o filtro executa repetidamente as etapas de Reamostragem, Propagação e Observação. A primeira se dá exatamente como descrito na Subseção 3.3.1. As outras serão detalhadas a seguir. 4.3.2 Propagação Para a fase de propagação, assim como em Morais (2012), foi adotado o modelo de movimento uniforme, como o descrito na Subseção 3.3.2. Essa escolha foi motivada pelo fato de que as variações entre os quadros são muito pequenas, já que as imagens são capturadas no sistema a 30 quadros por segundo. O intervalo ∆t utilizado na Equação 26 é dado pela taxa de captura e tem valor igual a 1/30. A variância σ 2 (vx ,vy ) , usada para modelar os erros evx e evy incluídos nas partículas, tem valor definido experimentalmente. Após ser feita a previsão do próximo estado, passa-se à fase de Observação para corrigir a estimativa de posição do rastreador. 4.3.3 Observação Como este trabalho lida com vários jogadores na cena ao mesmo tempo, é necessário, em primeiro lugar, que o algoritmo seja capaz de decidir qual medição em uma imagem deve guiar cada rastreador e ajustar sua estimativa nesta fase. Desta maneira, cada rastreador deve ser associado a, no máximo, uma medição, e esse problema é chamado de problema de atribuição ou associação. Para solucioná-lo, foi implementado o amplamente usado 43 algoritmo de Kuhn-Munkres, também conhecido como Algoritmo Húngaro – ou, em inglês, Hungarian Algorithm (KUHN, 1955; MUNKRES, 1957). Esse algoritmo faz a associação entre medições e rastreadores. Para tanto, calcula o custo de todas as possibilidades de associação. No presente sistema, o custo é dado pela distância Euclidiana normalizada entre a posição da medição de um jogador e a posição prevista de um rastreador no próximo estado, dada por sua estimativa obtida na fase de Propagação. Para normalizar a distância entre esses pontos, divide-se pela maior distância possível, dada pela diagonal da imagem. O algoritmo faz, então, as devidas atribuições, de forma que cada rastreador esteja associado a, no máximo, uma medição, com o menor custo possível, encontrando a solução ótima em tempo polinomial. A solução pode ser baseada em grafos bipartidos ou matrizes. Uma breve descrição do algoritmo baseado em matrizes, de ordem O(n3 ), e os passos realizados na sua execução são dados a seguir. Dado que o número de jogadores rastreados é relativamente pequeno, o algoritmo consegue encontrar as associações de forma eficiente. Algoritmo Húngaro Passo 0: Os dados de custo são arranjados em uma matriz quadrada n × n de forma que as linhas representem os rastreadores e as colunas as medições. O elemento (i, j) é a distância euclidiana normalizada entre o i-ésimo rastreamento com a j -ésima medição. No caso de existirem menos medições que rastreadores, colunas extras representando medições virtuais auxiliares são adicionadas com valor igual a zero em todas as posições. De forma análoga, linhas extras representando rastreadores virtuais auxiliares são adicionadas quando existem menos rastreadores que medições, também com valor zero nas posições. As associações com esses elementos, no primeiro caso, são descartadas posteriormente. Já no segundo caso, levam à criação de novos rastreadores, como explicado na Subseção 4.3.1. Passo 1: Para cada linha da matriz, encontrar o menor elemento e subtraí-lo de cada elemento dessa linha. Prosseguir ao Passo 2. Passo 2: Encontrar um zero na matriz resultante. Marcá-lo com uma estrela se não existe nenhum outro zero marcado com estrela em sua linha ou coluna. Repetir para cada elemento da matriz. Prosseguir ao Passo 3. Passo 3: Cobrir cada coluna contendo um zero marcado com estrela. Se n colunas estão cobertas, os zeros marcados com estrela descrevem um conjunto único de atribuições. Nesse caso, prosseguir para FIM. Caso contrário, prosseguir ao Passo 4. Passo 4: Encontrar um zero não coberto e marcá-lo com uma linha. Se não existe nenhum zero marcado com estrela na linha que contém o zero marcado com linha, prosseguir ao Passo 5. Caso contrário, cobrir essa linha e descobrir a coluna contendo o zero marcado 44 com estrela. Repita esse processo até que não sobre zeros descobertos. Salvar o menor valor descoberto e prosseguir ao Passo 6. Passo 5: Construir uma série de zeros marcados com linha e zeros marcados com estrela da seguinte forma: Faça Z0 representar o zero marcado com linha descoberto encontrado no Passo 4. Faça Z1 denotar o zero marcado com estrela na coluna de Z0 (se algum existente). Faça Z2 denotar o zero marcado com linha na linha de Z1 (sempre irá existir um). Continue até que a série termine em um zero marcado com linha que não possui um zero marcado com estrela em sua coluna. Retire a estrela de cada zero marcado com estrela na série. Marque com estrela cada zero marcado com linha na série. Apague todas as marcações de linha e descubra todas as linhas da matriz. Retorne ao Passo 3. Passo 6: Adicione o valor encontrado no Passo 4 a cada elemento de cada linha coberta, e subtraia-o de cada elemento de cada linha descoberta. Retorne ao Passo 4 sem alterar nenhuma marcação ou linhas cobertas. FIM: Os pares atribuídos são indicados pelas posições dos zeros marcados com estrela na matriz de custo, isto é, se o elemento (i, j) é um zero marcado com estrela, então o rastreador i é associado com a medição j . Com as associações feitas, é verificado se o custo de cada associação é menor que um determinado limiar, λ, que controla o custo máximo de aceitação. Essa verificação é utilizada para minimizar associações indesejadas, causadas em grande parte por medições ruidosas e falsos positivos, que geram situações irreais. Por exemplo, se um jogador que estava no centro da quadra é encontrado no próximo quadro próximo à marca do pênalti, muito provavelmente a medição não corresponde verdadeiramente a ele, e pode ter sido causada por algum ruído, já que seria humanamente impossível ele ter percorrido tamanha distância em um espaço tão curto de tempo. Se ao rastreador foi atribuída uma medição que não existe de verdade (foi criada apenas para tornar a matriz de custos quadrada) ou o custo dessa associação é maior que λ, o rastreador usa apenas os dados de sua previsão e o histórico de aparências para ajustar sua estimativa e calcular o peso das partículas. Nesses casos, o rastreador recebe uma penalização. Ao se atingir um número de penalizações superior a γlim , o rastreador é removido, já que não possuiu medições associadas por diversos quadros. Por outro lado, caso haja uma medição atribuída ao rastreador que pode ser aceita, ela é utilizada para ajustar a previsão. Após as verificações, pode-se passar efetivamente à fase de Observação. É usado um modelo de observação Zt+1 igual ao mostrado na Equação 27. Nessa etapa, os pesos das partículas são calculados de duas maneiras diferentes, dependendo se existe ou não medição associada ao rastreador. No primeiro caso, é calculada a distância Euclidiana d entre a posição (x, y) da i-ésima partícula no estado Xit+1 e a posição do jogador na 45 medição associada. Essa distância é usada em uma função de densidade de probabilidade normal que retorna o peso da partícula, dada por: √ 1 2πσ 2 e − d2 2σ 2 , (28) sendo σ = σ(x,y) . É adotada uma abordagem de atualização dinâmica para esse desvio padrão. Durante o rastreamento, seu valor diminui de modo inversamente proporcional ao número de quadros em que foi possível associar uma medição ao rastreador, até um limite mínimo, denotado por θl . Assim, quanto mais o jogador é rastreado com sucesso, menos as partículas são espalhadas. Do mesmo modo, quando nenhuma medição é associada àquele rastreador, o valor do desvio padrão é aumentado até um limite máximo, denotado por θh , para espalhar as partículas e melhorar as estimativas. Por outro lado, como mencionado anteriormente, no caso de não existir medição associada, o peso de cada partícula é calculado usando uma combinação dos dados de previsão e aparência do rastreador, em quatro passos. O primeiro passo é calcular o modelo de aparência da partícula, de modo semelhante ao descrito na Seção 4.2. Aqui, a diferença está no fato de o recorte da imagem contendo os pixels do foreground ser feito por um retângulo centrado na posição (x, y) da i-ésima partícula e tamanho igual ao do retângulo delimitador da última medição associada ao rastreador. No segundo passo, são verificadas as similaridades entre o modelo da partícula e todos os modelos presentes no histórico do rastreador, e é retornado o maior valor de similaridade encontrado. Para calcular a similaridade entre dois modelos, é utilizada a correlação entre histogramas, sendo o valor 0 a menor similaridade possível e 1 a maior. Assim como em Morais (2012), considerando um modelo de aparência M A como uma lista de 3 histogramas e M Ai como o i-ésimo histograma da lista, a comparação entre dois modelos M A1 e M A2 é dado por: S(M A1 , M A2 ) = 3 Y CORR(M Ai 1 , M Ai 2 ), (29) i=1 sendo S(M A1 , M A2 ) a similaridade entre os dois modelos considerados e CORR a correlação entre os valores de contagem obtidos para os invervalos (bins) dos histogramas. A maior similaridade encontrada Smax é usada em uma função de densidade de probabilidade dada por: 5(Smax )5 , (30) definida empiricamente de forma que partículas de baixa similaridade com o rastreador tenham pesos muito baixos e as de alta similaridade tenham pesos muito altos. O terceiro passo no cálculo do peso da partícula é análogo ao que acontece quando uma medição é associada. Porém, a distância Euclidiana d é calculada entre a posição (x, y) da i-ésima partícula e a posição média da estimativa obtida na etapa de Propagação. O quarto e último passo consiste em realizar uma soma ponderada para combinar os pesos obtidos no 46 segundo e terceiro passos. Assim, o peso da partícula quando não há medição associada é dado por: wsoma (ps ) + (1 − wsoma )(pd ), (31) sendo ps o peso da similaridade obtido no passo dois, pd o peso da distância euclidiana obtido no passo três e wsoma um fator que determina a contribuição de cada uma das variáveis na composição do peso da partícula. É importante observar que o modelo de aparência só é utilizado quando não há nenhuma medição associada ao rastreador. Em geral, o modelo é construído com a informação de cor de alguns poucos pixels, que em vários casos não compreendem toda a região do jogador. Como o tamanho da região delimitadora pode variar bastante entre os quadros para um mesmo jogador, a informação de aparência, no caso do presente sistema, é relativamente fraca. Contudo, uma vez que a correção da estimativa apenas com os dados da previsão do rastreador também é bastante pobre, usa-se uma combinação das duas técnicas para tentar melhorar um pouco o ajuste da previsão, quando não há medição para guiá-lo. Finalmente, os pesos das partículas são normalizados para que sua soma seja igual a um, haja medição associada ao rastreador ou não. A partir daí, o estado estimado X̂t+1 do rastreador pode ser novamente calculado por meio da Equação 23 e o filtro de partículas está pronto para um novo ciclo. A cada iteração, é armazenado no histórico do rastreador a localização estimada do atleta rastreado para aquele instante, dada por seu estado estimado, compondo, desta maneira, sua trajetória no tempo. Por meio dos dados de posição no tempo, pode-se fazer o cálculo das estatísticas de interesse do jogador. 4.4 Considerações finais sobre o rastreamento No sistema proposto, algumas atividades necessárias ao funcionamento do rastreamento são desempenhadas de modo semi-automático, com o auxílio de um operador do sistema, sendo relacionadas principalmente à identificação dos jogadores. Para que seja possível identificar cada jogador rastreado, o operador deve definir manualmente o identificador do rastreador com o número do atleta e a qual time ele pertence, por meio da interface do sistema. Ele também é responsável por desfazer situações de confusão complexas presentes no sistema, como por exemplo, trocas de identidades entre os rastreadores. Essas situações serão detalhadas posteriormente no Capítulo 5. O operador também é responsável por re-identificar o rastreador de um jogador que já estava sendo rastreado, mas teve o rastreamento interrompido. Quando um jogador sai de quadra em uma substituição, por exemplo, ele para de ser rastreado. Porém, ao entrar novamente na partida, o operador deve re-identificar esse jogador e explicitamente indicar que ele está retornando ao jogo, pois isso impacta diretamente no cálculo de suas estatísticas, como 47 será descrito na próxima seção. Além disso, é também tarefa do operador iniciar ou parar o armazenamento das estatísticas, para evitar que interrupções no jogo como, por exemplo, o atendimento a um atleta machucado ou pedidos de tempo possam interferir na coleta das informações. 4.5 Armazenamento das estatísticas Uma vez que o operador tenha identificado os rastreadores e iniciado o armazenamento das informações, pode-se calcular as estatísticas de interesse do jogador: o mapa de calor, a distância percorrida por ele e suas velocidades máxima e média. Para se estimar o mapa de calor do jogador, é mantida no rastreador uma matriz de ocupação de mesmas dimensões da imagem da quadra mostrada na Figura 18a. Como mencionado anteriormente, a cada instante t (a cada quadro processado), é obtida a posição estimada do jogador na imagem da sequência, dada pelo estado estimado do filtro de partículas naquele instante. Essa posição é transformada usando a segunda matriz de homografia obtida na Seção 4.1, para encontrar o ponto correspondente na imagem da quadra. Então, o valor desse ponto na matriz de ocupação é incrementado em uma unidade. Ao final do rastreamento, tem-se uma matriz em que as posições onde o jogador foi encontrado mais vezes terão valores mais altos. Finalmente, de posse da matriz de ocupação, é utilizada a biblioteca heatmap.js (HEATMAP.JS, 2015) para criar o mapa. Para tanto, é feita uma normalização para atribuir cores mais frias de um gradiente aos pontos contendo os menores valores e cores mais quentes aos pontos com valores maiores (Figura 18b). Para definir o tamanho da região em volta do ponto que será colorida, ou seja, para determinar o tamanho da região de ocupação, um valor de raio é especificado. Por outro lado, diferentemente do mapa de calor, o cálculo das estatísticas físicas acontece em intervalos periódicos de 15 quadros. Esse intervalo é adotado por duas razões (a) Imagem da quadra usada para o mapa de calor. (b) Gradiente de cores usado na construção do mapa de calor. Figura 18 – Imagem e gradiente de cores usados para exibição do mapa de calor. 48 principais. A primeira vem do fato de as variações entre os quadros serem muito pequenas na taxa capturada (30 quadros por segundo), como mencionado anteriormente. Assim, as distâncias percorridas pelos atletas e consequentemente suas velocidades se alteram muito pouco entre os quadros e, assim, estimar essas estatísticas a todo instante cria um custo computacional adicional não justificado. Em segundo lugar, no sistema proposto, a posição estimada de um jogador pode se alterar significativamente entre os quadros, mesmo que ele tenha realmente se movimentado muito pouco. Isso ocorre pelo aumento ou diminuição da região delimitadora do blob de um jogador no processo de detecção, com base no resultado da subtração de fundo. Por exemplo, em um quadro a região engloba os pixels da cabeça aos pés do jogador, enquanto que no outro, apenas da cabeça à cintura. Assim, a posição do pé do jogador irá se alterar de modo significativo, mesmo que na verdade ele tenha permanecido quase que no mesmo lugar. Desta maneira, computar as estatísticas físicas em todos os quadros acaba adicionando um erro no resultado, que não corresponde à real movimentação do jogador. O intervalo escolhido, portanto, foi definido de modo que minimizasse os erros no cálculo das estatísticas físicas, baseado em um teste estatístico realizado, descrito brevemente no Capítulo 5. A cada 15 quadros, a posição atual estimada do jogador e sua última posição armazenada no histórico são transformadas para coordenadas no plano de quadra usando a primeira matriz de homografia, estimada na etapa de aquisição das imagens. Posteriormente, é calculada a distância Euclidiana entre esses pontos. O valor obtido é somado à variável do rastreador que armazena a distância percorrida até o momento pelo jogador. Com a informação da distância percorrida, pode-se derivar automaticamente as velocidades do jogador. A variável de velocidade máxima do rastreador armazena a maior velocidade “atual” encontrada para o jogador. A velocidade “atual” é dada pela divisão entre a distância euclidiana calculada nessa etapa e o tempo passado entre as computações (0,5 segundos, já que as estatísticas são calculadas a cada 15 quadros). Finalmente, a velocidade média é obtida pela distância total percorrida até o momento dividida pelo tempo que o jogador foi rastreado (obtido diretamente pelo número de quadros rastreados e o ∆t entre eles). Esse resultado também é armazenado numa variável específica do rastreador. Posteriormente, as estatísticas táticas e físicas do rastreador são armazenadas em estruturas na memória, em intervalos periódicos previamente definidos ou antes de um rastreador ser removido. Essas estruturas contém as informações de um jogador coletadas até aquele momento da sequência. As estruturas dos jogadores são úteis pois conseguem manter de maneira permanente as informações do jogador, ao contrário dos rastreadores que são voláteis (por exemplo, são removidos caso não sejam associados a nenhuma medição por um número definido de quadros). Isso significa que as informações nelas contidas podem ter sido provenientes de diversos rastreamentos realizados por diferentes rastreadores durante a sequência. 49 Figura 19 – Exemplo de interrupção do rastreamento e manutenção do armazenamento das estatísticas. As estruturas dos jogadores ainda são utilizadas em situações especiais recorrentes do sistema, como a demonstrada no exemplo a seguir. Considere um rastreador que está rastreando um determinado jogador (Figura 19). A identidade do rastreador foi definida pelo operador e as estatísticas do jogador estão sendo armazenadas, tanto no rastreador quanto nas estruturas que o representam, em intervalos periódicos definidos. O rastreamento se mantém até o instante t da sequência, quando se atinge o número limite de quadros sem medição associada ao rastreador. Antes de ser removido, as estatísticas coletadas pelo rastreador são armazenados na estrutura do jogador, bem como o número do quadro em t, e então ele é removido. Nos próximos quadros, o jogador continua a se movimentar pelo caminho indicado pela linha azul pontilhada da Figura, mas não é detectado. Em um certo instante de tempo, porém, o jogador passa a ser novamente detectado e rastreado. No momento t + n, o operador identifica o rastreador e são copiadas para suas variáveis as informações de distância percorrida, velocidades máxima e média e o mapa de ocupação, contidas na sua estrutura da memória. Desta maneira, pode-se dar continuidade ao rastreamento do jogador e manter a coleta de suas informações. Em resumo, sempre que há uma re-identificação por parte do operador, as informações do rastreador são populadas pelas estatísticas armazenadas na estrutura do jogador. Entretanto, como pode-se perceber pela Figura 19, há uma perda da informação de movimentação do jogador durante o tempo em que ele não foi rastreado, ou seja, não é possível saber quais as posições ocupadas por ele nesse tempo. Contudo, o algoritmo tenta minimizar esse erro para as estatísticas físicas. Assim, é calculada a distância Euclidiana entre o último ponto conhecido ocupado por ele (em t) e o ponto onde ele foi re-identificado (em t + n), mostrada na Figura pela linha vermelha tracejada. Essa distância é usada juntamente com a informação de quantos quadros se passaram (n = (t + n) − t) para atualizar as informações de distância percorrida e velocidade média do jogador. Outra situação tratada de maneira especial no armazenamento das estatísticas é o caso da 50 substituição de jogadores. No futsal, é permitido que um jogador seja substituído e saia de quadra, mas retorne ao jogo posteriormente caso seja necessário. De modo semelhante ao exemplo anterior, quando um jogador sai da área de quadra para ser substituído, ele para de ser detectado. Seu rastreador é posteriormente removido, mas antes disso as informações coletadas até o momento são gravadas na estrutura do jogador na memória. Quando há uma nova substituição e o jogador retorna ao jogo, o operador faz a re-identificação do rastreador que está rastreando-o. Porém, o operador também marca uma variável booleana que define que essa identificação é de um jogador que está retornando ao jogo. Desta maneira, as informações tática e física do jogador, contidas em sua estrutura, são copiadas para o rastreador. Porém, diferentemente do caso anterior, o sistema não calcula a distância entre a última posição rastreada e atual nem o número de quadros que se passaram, afinal o jogador estava fora de jogo. Atualizar a distância percorrida e a velocidade média do jogador, com essas informações, levaria a resultados errados para essas estatísticas. Desta maneira, é considerado apenas que a última localização rastreada do jogador é a posição atual, e o rastreamento e a coleta das estatísticas prossegue corretamente. Por último, ao final da sequência, as informações contidas na estrutura dos jogadores são armazenadas no banco de dados da solução, para que possam ser consultadas pela aplicação móvel. 4.6 Consulta às estatísticas e operação do sistema A consulta às estatísticas extraídas e armazenadas no banco de dados é feita, como descrito no Capítulo 1, por meio de uma aplicação desenvolvida especialmente para o sistema e que executa em dispositivos móveis, como celulares e tablets. Optou-se pelo desenvolvimento em plataforma Android (GOOGLE, 2015), pela facilidade e baixo custo que esse ambiente proporciona. A aplicação se conecta ao banco e consome os dados através do formato JavaScript Object Notation (JSON) (JSON, 2015). As informações são organizadas e apresentadas em diferentes telas. No início da execução do aplicativo, a primeira tela apresentada ao usuário é a de listagem de times. Quando o usuário seleciona um time, passa-se à tela onde os jogadores que pertencem a essa equipe são listados (Figura 20a). Ao se clicar em um jogador, são exibidas as suas informações – como nome, número e posição – bem como suas estatísticas físicas coletadas (Figura 20b). Há ainda um botão que leva para a tela onde é exibido o mapa de calor contendo a ocupação do jogador no decorrer da partida (Figura 20c). A aplicação também é responsável por enviar alguns comandos ao sistema. Nesse trabalho, é proposta uma nova forma de obter, editar e disponibilizar lances importantes do jogo, de forma automática. Quando se deseja separar um lance chave da partida, um membro da 51 (a) Lista de jogadores de um time. (b) Detalhes de um jogador e exibição das estatísticas coletadas para ele. (c) Tela de exibição do mapa de calor. Figura 20 – Exemplos de funcionalidades da aplicação móvel desenvolvida para o sistema. equipe técnica aciona um botão no aplicativo (mostrado nas imagens da Figura 20 no canto superior direito da tela) que define uma variável booleana no banco para o valor verdadeiro. Essa variável é constantemente lida pelo sistema. Durante a execução, no processo de aquisição de imagens, é mantido um buffer de quadros. O tamanho do buffer pode ser ajustado pelo usuário de acordo com a quantidade de segundos de vídeo que deseja ter antes e depois da marcação de lance importante. Por exemplo, se deseja um vídeo de 20 segundos, com 10 segundos antes e 10 segundos depois de um lance chave, o buffer deve ter 20×30=300 quadros, pois o vídeo é capturado a 30 quadros por segundo. Sempre que um novo quadro é capturado, o quadro mais antigo é removido, como em uma fila do tipo First In First Out (FIFO), e é incluído o mais novo. Ao ler o valor verdadeiro no banco, o sistema pega o buffer, concatena nele os próximos 300 quadros obtidos na sequência e cria um pequeno vídeo, que é armazenado no banco. A aplicação, por fim, vê que há um novo vídeo armazenado e inclui um link para que ele seja exibido via streaming no dispositivo, além de emitir uma notificação ao usuário de que o vídeo está disponível. Por fim, a variável booleana tem seu valor definido novamente como falso. Esse processo acontece em menos de 5 segundos, após a criação do video pelo sistema. 52 Capítulo 5 Resultados Experimentais Para validar a metodologia proposta e demonstrar a eficácia do sistema, foi realizado um amplo conjunto de experimentos, o qual permitiu avaliar o processo de detecção dos jogadores, o rastreamento dos atletas e as estatísticas coletadas usadas nas análises. Para tanto, foram utilizadas duas sequências previamente capturadas, contendo trechos de um jogo e um treinamento da equipe profissional de futsal do Minas Tênis Clube, um dos principais times do esporte no Brasil, atuando em sua arena. As imagens para ambas as sequências foram gravadas a uma resolução de 752x480 pixels e a uma taxa de 30 quadros por segundo, como mencionado anteriormente. A primeira sequência é proveniente de um jogo da Liga Futsal 1 , gravado no dia 02 de maio de 2015. Consiste em um trecho de vídeo da partida composto de 12870 quadros sequenciais, resultando em um vídeo de aproximadamente 7 minutos de duração. A segunda sequência também possui aproximadamente 7 minutos de duração, porém consiste de um trecho de 13320 quadros sequenciais, obtidos pela gravação de um treinamento coletivo da equipe, realizado novamente em maio de 2015. Para verificar os resultados, foi construído um gabarito (ground truth, em inglês) para cada uma das sequências. Para tanto, a cada 15 quadros, foram anotadas manualmente as coordenadas dos retângulos delimitadores das regiões de cada jogador na imagem. O tamanho médio desses retângulos é de 30x20 pixels. Como já descrito anteriormente, buscando-se reduzir o custo computacional do sistema, bem como aplicar a metodologia apenas na região de interesse para as análises, a região da quadra na imagem é recortada, resultando em quadros de 640x370 pixels. Vale ressaltar que o intervalo de 15 quadros adotado para o gabarito foi assim escolhido já que registrar manualmente as regiões de cada jogador em todos os quadros da sequência 1 A Liga Nacional de Futsal, também conhecida como Liga Futsal, é o principal campeonato da modalidade no Brasil, e envolve equipes de todo o país. É organizado pela Confederação Brasileira de Futsal (Liga Futsal, 2015). 53 Tabela 1 – Valores dos parâmetros usados nos experimentos. Parâmetros wmin ,hmin wmax hmax N γmin , γlim σ(x,y) σ(vx ,vy ) θl θh λ wsoma Valor 5 pixels 40 pixels 30 pixels 350 partículas 15 quadros 5 pixels 5 pixels 3 pixels 7 pixels 0,05 0,7 consumiria um tempo muito elevado. Da mesma maneira, a duração das sequências foi escolhida de modo que pudesse fornecer um conjunto relevante de dados para os experimentos, sem inviabilizar, contudo, a execução dos testes, já que criar e checar tamanha quantidade de dados é uma tarefa bastante custosa. Como demonstrado no Capítulo 3 e no Capítulo 4, diferentes parâmetros devem ser definidos no sistema. Os valores de grande parte desses parâmetros são escolhidos empiricamente, e os valores usados nos experimentos para as principais variáveis se encontram sumarizados na Tabela 1. A seguir, são apresentados e discutidos os resultados obtidos para a primeira sequência, divididos em três seções distintas: uma para a detecção dos jogadores, outra para o rastreamento dos atletas e uma terceira para as estatísticas de interesse coletadas. Em seguida, são apresentadas as mesmas três seções para a segunda sequência e os resultados são comparados. 5.1 Resultados da detecção dos jogadores - Jogo Para avaliar a detecção dos jogadores, é usada a medida CLEAR Multiple Object Detection Accuracy (MODA) (BERNARDIN; STIEFELHAGEN, 2008; KASTURI et al., 2009), que se tornou um dos principais padrões para avaliar algoritmos de detecção de objetos na área de Visão Computacional. Essa medida utiliza o número de detecções perdidas (falsos negativos) e a contagem de falsos positivos. O número de falsos negativos (FN), falsos positivos (FP) e verdadeiros positivos (TP, do inglês True Positive) é computado baseado em uma razão de sobreposição (overlap, em inglês) entre o retângulo anotado no gabarito e o retângulo delimitador da região Ri do jogador detectado, descrito na Seção 4.2. Para um dado limiar de sobreposição τov , a detecção D é um verdadeiro positivo se (TEUTSCH, 54 2015): |Di ∩ Gi | ≥ τov , |Di ∪ Gi | (32) sendo Di e Gi o i-ésimo par mapeado de detecção e gabarito. A escolha do valor de τov pode variar de acordo com o contexto da avaliação. Para grandes objetos em uma imagem, que podem cobrir milhares de pixels, valores como 0,5 ou 0,7 são adequados para o limiar. Entretanto, para os casos em que os objetos são muito pequenos, como no presente trabalho, onde os jogadores tem um tamanho médio de 30x20 pixels, mesmo pequenos desvios no tamanho ou na posição do retângulo delimitador anotado pode induzir uma sobreposição consideravelmente menor (TEUTSCH, 2015). De forma a demonstrar o impacto do limiar de sobreposição na avaliação de desempenho do sistema, o valor de τov foi variado entre 0,1 e 0,5. Como a medida MODA foi originalmente definida para avaliar quadros individuais, pode-se computar a MODA normalizada para a sequência inteira, chamada de N-MODA (do inglês Normalized MODA) e dada por (KASTURI et al., 2009): PNquadros N -M ODA = 1 − t=1 (cF N (F N t ) + cF P (F P t )) , PNquadros NGt t=1 (33) sendo F N t o número de falsos negativos, F P t o número de falsos positivos e NGt o número de objetos no gabarito (TP + FN), todos os três para um dado quadro t. A contagem de falsos negativos em um quadro é dada pelo número de objetos no gabarito naquele quadro menos o número de verdadeiros positivos em t. Já os falsos positivos em t são calculados subtraindo o número de objetos detectados no quadro pelo número de verdadeiros positivos obtidos no quadro. Os pesos cF N e cF P , por sua vez, podem ser vistos como funções de custo para ponderar o impacto dos falsos negativos e dos falsos positivos, respectivamente. Similarmente a Kasturi et al. (2009), nesta avaliação cF N e cF P são ambos iguais a um. A Tabela 2 apresenta os resultados da detecção de jogadores para a primeira sequência. Para melhor esclarecimento, é também calculado o F-Score para os experimentos, dado pela média harmônica entre os valores de precisão (Prec.) e revocação (Rev.). A Figura 21 mostra o impacto da variação do limiar da razão de sobreposição sobre os valores de N-MODA e F-Score e sobre o erro médio global obtido. Para calcular o erro médio global Tabela 2 – Resultados da detecção de jogadores para a sequência de Jogo. τov TP FP FN Prec. Rev. F-Score N-MODA 0,1 0,2 0,3 0,4 0,5 6563 6545 6431 6144 5576 655 673 787 1074 1642 2032 2050 2164 2451 3019 0,909 0,907 0,891 0,851 0,773 0,764 0,762 0,748 0,715 0,649 0,830 0,828 0,813 0,777 0,705 0,687 0,683 0,657 0,590 0,458 55 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.5 N−MODA F−Score 0.4 0.3 0.2 Limiar da razão de sobreposição Erro médio global em metros 0.5 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.5 0.1 0.4 0.3 0.2 Limiar da razão de sobreposição 0.1 (a) Valores de N-MODA e F-Score obtidos e o impacto (b) Erros médios globais obtidos, de acordo com o do limiar da razão de sobreposição sobre os resullimiar utilizado. tados. Figura 21 – Resultados obtidos na avaliação da detecção na sequência de Jogo para diferentes valores de τov . da sequência, primeiramente é necessário calcular os erros médios em cada quadro. Para cada detecção considerada como verdadeiro positivo em um quadro, é calculada a distância Euclidiana entre a posição do pé dada pelo retângulo delimitador dessa detecção e a posição do pé dada pelo retângulo do gabarito, ambas as posições em coordenadas no plano de quadra. Depois, é feita a média das distâncias e finalmente o erro global é obtido fazendo-se uma média das médias calculadas em cada quadro da sequência. Pode-se observar pelos resultados que, no presente contexto, valores menores para τov são mais apropriados e parecem levar a valores consideráveis para N-MODA e F-Score, como já mencionado, uma vez que o sistema lida com objetos pequenos na cena. Contudo, ao se diminuir o valor do limiar, obviamente há um aumento do erro, já que são permitidos desvios maiores para as detecções consideradas como verdadeiros positivos. Esses desvios são causados em grande parte por detecções mescladas de dois ou mais atletas ou por detecções parciais dos jogadores. Ainda assim, o erro médio global da detecção para essa sequência é inferior a 30 centímetros, independentemente do limiar de sobreposição utilizado. Esse é um valor promissor, considerando as dimensões da quadra (38x19 metros). Além disso, a sequência de jogo utilizada nessa avaliação é bastante desafiadora e impõe uma série de dificuldades ao processo de detecção. Uma situação complexa presente se deve ao fato de jogadores reservas e técnicos ficarem muito próximos à área da quadra nessa arena. Os reservas, por exemplo, fazem seu aquecimento bem próximos à linha lateral ou à linha de fundo e frequentemente pisam nas linhas ou mesmo pisam dentro de quadra, sendo consequentemente detectados, o que aumenta a contagem de falsos positivos. O mesmo acontece com treinador, quando vai chamar atenção de sua equipe. Para lidar com isso, pode-se restringir ainda mais a região considerada como a área de 56 jogo. No entanto, o aumento dessa restrição leva também a interrupção na detecção de atletas que vão cobrar laterais e escanteios ou de jogadores que fazem sua movimentação próximos às extremidades da quadra, aumentando a contagem de falsos negativos nesses casos. No sistema proposto, optou-se por não fazer a detecção e rastreamento dos dois árbitros da partida. No futsal, cada árbitro fica em uma extremidade da quadra, movimentando-se fora da área de jogo próximo à linha lateral. Além disso, considerá-los na presente avaliação ocasionaria um custo adicional na criação do gabarito e checagem dos dados. No entanto, os árbitros também são causa dos falsos positivos obtidos. Como mencionado anteriormente, na arena onde as sequências foram gravadas, há pouco espaço para comportar a presença dos jogadores reservas, equipe técnica, auxiliares ao jogo e os árbitros, em um lado da quadra. Sendo assim, frequentemente um dos árbitros faz sua movimentação sobre a linha lateral da quadra ou mesmo dentro dela, sendo detectado nesses casos. Além disso, quando há uma falta ou é necessário um atendimento ao jogador, um dos árbitros (em algumas situações, os dois) entra dentro da quadra para indicar o local da penalidade e verificar a situação do atleta. Nessas ocasiões, ele também é detectado por diversos quadros, o que eleva bastante a contagem de falsos positivos. Os falsos positivos são, ainda, causados pela detecção da bola e detecção de sombras sutis que não foram filtradas no processo. Por outro lado, grande parte dos falsos negativos são causados por uma grande similaridade entre o piso da quadra (o fundo) e os uniformes dos jogadores. Em algumas regiões da quadra, a aparência dos atletas não é discriminativa o suficiente para que ele seja considerado como primeiro plano. As imagens obtidas pela câmera utilizada também introduzem algumas dificuldades no processo, já que são de baixa resolução e se apresentam borradas e com bastante ruído em algumas regiões, dificultando a detecção dos jogadores. Além disso, há também os casos em que dois ou mais jogadores se encontram muito próximos uns dos outros, e acabam sendo considerados como um único blob, gerando apenas uma detecção válida e não sendo tratados pela divisão recursiva da região delimitadora, já que ainda respeitam as restrições geométricas. Finalmente, como mencionado anteriormente, a contagem de falsos negativos também aumenta nas situações em que um atleta em jogo sai da área da quadra para bater um lateral ou escanteio, consequentemente deixando de ser detectado. Apesar disso, os resultados obtidos são encorajadores e demonstram o potencial da técnica adotada para localizar os jogadores nas imagens. 5.2 Resultados do rastreamento dos jogadores - Jogo De modo semelhante à seção anterior, é usada a medida CLEAR Multiple Object Tracking Accuracy (MOTA) (BERNARDIN; STIEFELHAGEN, 2008; KASTURI et al., 2009), amplamente aplicada na área de Visão Computacional, para avaliar o rastreamento dos 57 jogadores em uma sequência. Para tanto, novamente é necessário computar o número de falsos negativos, falsos positivos, verdadeiros positivos e também o número de trocas de identidades, para um dado rastreamento de referência obtido por meio dos gabaritos. Considera-se que um rastreamento é um verdadeiro positivo se a distância Euclidiana entre a posição estimada dada pelo rastreador e a posição do pé definida pelo retângulo anotado no gabarito é menor que um determinado limiar, τd . Analogamente à detecção, o valor de τd foi variado entre 0,50 metros e 1,75 metros, para que se possa demonstrar o impacto desse limiar na avaliação de desempenho do rastreamento. A medida MOTA é dada por (BERNARDIN; STIEFELHAGEN, 2008; KASTURI et al., 2009): PNquadros M OT A = 1 − t=1 (cF N (F N t ) + cF P (F P t ) + cID (IDt )) , PNquadros NGt t=1 (34) sendo cF N , F N t , cF P , F P t , e NGt definidos da mesma forma que na Equação 33, e cF N = cF P = 1. Porém, a contagem de falsos negativos, falsos positivos e verdadeiros positivos se dá de forma diferente. Para que o contador de falsos negativos seja incrementado em t, o jogador deve existir no gabarito naquele quadro (isto é, estar em jogo naquele momento) mas não ter sido rastreado por um rastreador identificado. Para incrementar os verdadeiros positivos em t, o jogador também deve existir no gabarito naquele quadro, ter sido rastreado por um rastreador identificado e a distância Euclidiana entre sua posição e a posição do seu gabarito seja menor que τd . Por outro lado, há três maneiras distintas de se incrementar o contador de falsos positivos em t. A primeira consiste no jogador não existir no gabarito no quadro t e ter sido rastreado por um rastreador previamente identificado. Na segunda, o atleta existe no gabarito em t, foi rastreado por um rastreador identificado mas sua distância Euclidiana é maior que o limiar τd . Por último, é adicionado ao contador o número de rastreamentos indesejados, causados em sua maioria por ruído, dados pelo resultado da subtração, em t, do número de rastreadores gerando rastreamentos válidos (tiverem medições associadas por um número γmin de quadros) pelo número de rastreadores identificados pelo operador. Ainda em relação à Equação 34, o valor IDt é o número de trocas de identidades em um dado quadro t e cID é o peso para ponderar as trocas, com valor igual a log10 como proposto pelos autores em Kasturi et al. (2009). No caso do número de trocas ser igual a 0, substitui-se cID (IDt ) por 0. A Tabela 3 apresenta os resultados do rastreamento de jogadores para a primeira sequência. Analogamente à seção anterior, é computado o valor de F-Score, e a Figura 22 mostra o impacto da variação do limiar da distância τd sobre os valores de MOTA e F-Score e sobre o erro médio global obtido. Esse erro é calculado de modo similar ao anterior, mas a distância Euclidiana é dada entre a posição estimada de um rastreamento considerado verdadeiro positivo e a posição do pé definida pelo retângulo anotado no gabarito. 58 Tabela 3 – Resultados do rastreamento de jogadores para a sequência de Jogo. τd TP FP FN ID Prec. Rev. F-Score MOTA 0,50 0,75 1,00 1,25 1,50 1,75 5358 6210 6548 6690 6765 6808 2268 1416 1078 936 861 818 1702 1702 1702 1702 1702 1702 115 115 115 115 115 115 0,703 0,814 0,859 0,877 0,887 0,893 0,759 0,785 0,794 0,797 0,799 0,800 0,730 0,799 0,825 0,835 0,841 0,844 0,437 0,605 0,663 0,685 0,697 0,703 Os resultados mostram que o rastreamento baseado em filtro de partículas é capaz de rastrear os jogadores e ligar suas posições no tempo. Como é de se esperar, ao aumentar o limiar τd para a distância, mais rastreamentos são considerados verdadeiros positivos, porém o erro global também é aumentado, já que são levados em conta rastreamentos com diferenças maiores entre a posição estimada e a posição manualmente anotada. De qualquer maneira, o erro médio global do rastreamento é inferior a 35 centímetros para essa sequência, o que novamente é um resultado de destaque se for levado em consideração o tamanho da quadra. Além disso, vale destacar que a metodologia proposta utiliza um número menor de partículas (N = 350) que outros trabalhos que fazem o rastreamento de atletas (como por exemplo, Okuma et al. (2004) e Morais et al. (2014), que usam 5000 e 500 partículas, respectivamente), o que resulta em um processamento de quadros mais rápido. Consequentemente, o sistema proposto necessita de 25 milissegundos em média para processar um quadro, em um computador com processador Intel Core I7 de 3,4 GHz, 8 núcleos e com 8GB de memória RAM. Durante os experimentos, foram obtidos diversos rastreamentos com sucesso para grande 0.5 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.5 MOTA F−Score 0.75 1 1.25 1.5 Limiar de distância em metros Erro médio global em metros 1 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.5 1.75 0.75 1 1.25 1.5 Limiar de distância em metros 1.75 (a) Valores de MOTA e F-Score obtidos e o impacto do (b) Erros médios globais obtidos, de acordo com o limiar da distância sobre os resultados. limiar utilizado. Figura 22 – Resultados obtidos na avaliação do rastreamento na sequência de Jogo para diferentes valores de τd . 59 (a) Quadro 2957. (b) Quadro 2972. (c) Quadro 2987. (d) Quadro 3002. (e) Quadro 3017. (f) Quadro 3032. Figura 23 – Exemplo de rastreamento dos jogadores com sucesso na sequência de Jogo e as trajetórias dos atletas no tempo (destacadas em verde). parte dos jogadores, como pode ser visto na Figura 23. Em situações onde as trajetórias de dois atletas se cruzam rapidamente, a confusão causada pela breve proximidade é resolvida pela predição do filtro de partículas, baseado no modelo de movimentação de cada jogador, e, assim, o rastreamento se mantém sem problemas. Entretanto, há algumas situações em que o filtro leva a estimativas incorretas. Grande parte dessas situações são causadas pelos problemas na detecção dos jogadores citados anteriormente. Por exemplo, quando os jogadores não são detectados ou eles estão muito próximos uns dos outros por um período considerável de tempo, sendo detectados como um blob único que respeita as restrições geométricas. Nesses casos, o filtro pode trocar suas identidades, estimar incorretamente suas posições ou mesmo o rastreador pode ser removido, já que não possui medição associada para ajustar a estimativa durante esse tempo. Os jogadores, assim, deixam de ser corretamente rastreados. A detecção da bola e de outros objetos causadores de falsos positivos também podem roubar o rastreador de um jogador e prejudicar o rastreamento, já que a observação não faz distinção entre as medições. Desta maneira, como o futsal é um esporte de contato extremamente complexo (com dinâmica de movimentação dos atletas bastante ativa e rápida) e dadas as dificuldades em corrigir a estimativa do filtro, o auxílio do operador e suas intervenções são peças fundamentais do sistema proposto para atingir seu objetivo. Em todos os casos citados anteriormente, o operador do sistema deve desfazer as eventuais situações de confusão e re-identificar manualmente cada rastreador, para que voltem a rastrear o atleta correspondente. 60 Tabela 4 – Duração dos rastreamentos (em número de quadros) para cada jogador na sequência de Jogo. Jogador Maior intervalo Menor intervalo Intervalo médio 1 2 3 4 5 6 7 8 9 10 11 16 17 18 1085 1908 1044 1049 1030 2112 1691 1500 4635 499 309 1290 432 1089 16 15 15 15 15 15 22 17 15 16 16 54 25 30 225 243 243 201 245 326 463 495 456 88 135 351 143 343 Sequência 4635 15 283 A Tabela 4 apresenta a duração máxima, mínima e média dos rastreamentos para todos os jogadores e para a sequência no geral, antes de um rastreador ser removido ou ter sua identidade trocada. Os jogadores foram numerados no quadro de início da partida, de forma sequencial, da esquerda para a direita, de cima para baixo. Assim, os jogadores do time que ataca da esquerda para a direita estão numerados de 1 a 5, e os do time que ataca da direita para a esquerda, de 6 a 10. Os números dos goleiros de cada time nessa sequência são 2 e 10, respectivamente. Além disso, a sequência de jogo inclui algumas substituições nas equipes, durante o trecho gravado. Os jogadores reservas que entram posteriormente no jogo são numerados de acordo com a ordem de entrada, recebendo números de 11 a 15 para a primeira equipe e 16 a 20 para a segunda. Assim, por exemplo, o segundo jogador reserva a entrar na partida na segunda equipe recebe o número 17. Como é possível observar pelos dados, o tempo de vida de um rastreamento nessa sequência foi de 4635 quadros no melhor caso, 15 quadros no pior caso e 283 quadros em média, o que leva o operador a ter de fazer constantes intervenções para restabelecer as identificações dos rastreadores. Essa é a principal limitação apresentada pelo sistema, já que um número considerável de intervenções do operador é obviamente indesejado, pois pode levar ao aumento do tempo e esforço para se extrair as informações para apoiar as análises tática e física. 61 5.3 Estatísticas obtidas - Jogo Antes de serem apresentadas as estatísticas obtidas para a sequência de jogo, será descrito brevemente o procedimento estatístico realizado para definir o intervalo de computação das estatísticas físicas (15 em 15 quadros, como mencionado na Seção 4.5). Além desse intervalo, foi também avaliada a diferença no erro obtido para as estatísticas físicas entre usar o centroide da região delimitadora da medição e usar a posição do pé dada por essa região. Essa avaliação foi feita pois o centroide, em geral, sofre menos com a mudança do tamanho da região delimitadora no processo de detecção, comentada na mesma seção. Assim, a posição do jogador irá se alterar menos, nos casos em que ele tenha se movimentado muito pouco e a região delimitadora tenha se alterado. Consequentemente, escolher entre o pé e o centroide, bem como o intervalo a ser utilizado, impacta diretamente no erro adicionado ao resultado das estatísticas físicas do jogador. Para escolher a configuração que minimiza os erros nesses cálculos, foi utilizada a técnica de análise de variância (ANOVA, do inglês analysis of variance) (MONTGOMERY, 2006). A ANOVA procura verificar se existe uma diferença significante entre as medidas de diferentes amostras, permitindo fazer inferências sobre a influência das variáveis na resposta. A análise de variância realizada possui dois fatores, sendo que o primeiro fator possui dois níveis (usar o pé ou usar o centroide) e o segundo fator possui três níveis (os possíveis intervalos a serem usados para a computação das estatísticas físicas, a saber, 5, 10 e 15 quadros). Para obter as amostras utilizadas na ANOVA, foram gravadas sete sequências auxiliares, de diferentes durações, durante o treinamento da equipe de futsal. Nesses vídeos, foi pedido a dois atletas que percorressem trajetórias previamente definidas sobre a quadra, de forma que a distância percorrida por eles fosse conhecida. Foi orientado aos atletas que se movimentassem como em um jogo real, isto é, variando momentos em que se encontravam correndo, caminhando ou parados na quadra. Posteriormente, cada jogador em cada sequência foi rastreado pelo sistema e foram computados os resultados para a distância percorrida por eles. Como as velocidades são derivadas dos dados de distância, somente esta foi avaliada no teste. Por fim, foram computados os erros obtidos para a distância percorrida por cada atleta em cada sequência e a análise de variância foi realizada. O resultado da ANOVA indicou que, com 95% de significância, não existem evidências para afirmar que há diferença entre usar o centroide e o pé. Desta maneira, como a posição do pé pode representar melhor a posição do atleta em quadra no mapa de calor, lidando com as características das imagens formadas por projeção perspectiva, foi definido que ela seria utilizada no sistema e nas avaliações. Por outro lado, a ANOVA indicou, com o mesmo nível de significância, que existem indícios para afirmar que há, sim, diferenças ao se usar intervalos de 5, 10 ou 15 quadros. Para escolher qual intervalo introduz o menor erro nas estatísticas, foi realizado um teste de comparações múltiplas chamado de teste de Tuckey 62 (MONTGOMERY, 2006). O teste indicou, novamente com nível de significância de 95%, que o intervalo de 15 em 15 quadros possui o menor erro e, por essa razão, foi o escolhido para ser utilizado. Para mais detalhes sobre os testes estatísticos realizados, recomenda-se o livro de Montgomery (2006). Uma vez justificadas as escolhas feitas na metodologia para o cálculo das estatísticas físicas, pode-se passar a apresentação dos dados obtidos para a sequência de jogo. A Tabela 5 apresenta as estatísticas físicas de cada jogador extraídas nesta sequência. A numeração dos atletas permanece a mesma da seção anterior. Para calcular os erros, são calculadas as estatísticas utilizando as posições definidas pelos retângulos anotados no gabarito. As estatísticas obtidas são então subtraídas pelas estatísticas do gabarito. Finalmente, divide-se o resultado dessa subtração pelos valores das estatísticas do gabarito. Se o erro de uma estatística tem valor negativo, ela é menor que o valor esperado dadas as posições anotadas manualmente no ground truth. De modo análogo, valores positivos para o erro significam que as estatísticas superam os valores esperados para elas. Além dos valores individuais de cada jogador, foi também calculado o erro geral para a sequência, dado pela raiz dos erros quadráticos médios (RMSE, do inglês root mean square error ). Como pode-se observar pela tabela, a sequência de jogo possui um erro médio de 8,16% para a distância percorrida pelos jogadores, 8,85% para a velocidade média dos atletas e 15,46% para a velocidade máxima. Considerando-se a complexidade do futsal e as dificuldades encontradas na detecção e no rastreamento dos atletas pelo sistema, esses resultados são bastante relevantes. Em relação aos erros, sua ocorrência está ligada a diversos fatores. Erros negativos para a distância estão relacionados principalmente a jogadores que não são detectados e rastreados por diversos quadros, pela alta similaridade do seu uniforme com o piso da quadra, por exemplo. Isso, obviamente, reduz a distância calculada. Por outro lado, a ausência de uma medição para ajustar a estimativa e o problema de alteração no tamanho da região delimitadora na detecção podem contribuir para aumentar a distância percorrida acima do esperado. Além disso, os eventuais roubos do rastreador pela bola ou outros falsos positivos e as trocas de identidade também contribuem para alterar os valores obtidos das estatísticas, até que o operador seja capaz de desfazer as situações de confusão. Como o cálculo das velocidades está diretamente ligado à computação da distância, esses problemas também se refletem nesses dados. A velocidade máxima, em particular, é bastante afetada por essas situações. Por exemplo, quando o rastreador passa a rastrear a bola, ao invés de um jogador, obviamente a velocidade máxima registrada será muito maior que a desempenhada pelo atleta. Em geral, quando há uma troca de identidade, o rastreador muda sua posição muito rápido em um curto intervalo de tempo, o que também resulta em valores errados para a velocidade máxima. Um rastreador que está perdido (sem medição associada) e que começa a ser associado a medições que se encontram distantes 63 Tabela 5 – Estatísticas físicas obtidas para cada jogador na sequência de Jogo. Os erros são definidos em relação às estatísticas calculadas pelas posições do gabarito. Jogador Dist. (m) Erro Dist. (%) Vel. Méd. (Km/h) Erro Vel. Méd. (%) Vel. Máx. (Km/h) Erro Vel. Máx. (%) 1 2 3 4 5 6 7 8 9 10 11 16 17 18 744,24 354,54 629,35 682,42 641,70 686,39 721,31 663,67 841,91 259,87 105,73 223,66 69,67 134,73 2,0 5,7 -3,8 0,2 1,8 5,8 0,7 3,9 3,6 -25,7 0,1 8,8 6,6 5,9 6,25 2,98 6,42 5,74 5,42 6,35 7,26 7,54 7,07 2,20 5,72 7,53 6,35 7,08 2,2 5,8 -2,7 0,5 2,5 5,8 1,0 4,2 3,7 -25,1 6,1 11,8 10,7 7,5 29,79 22,95 25,49 23,21 29,98 32,80 25,19 25,91 25,33 16,60 19,10 19,69 18,37 19,35 11,8 48,1 7,0 -1,9 20,3 -4,7 -14,6 -6,0 -1,8 8,5 8,8 1,6 -0,7 -1,6 Sequência (RMSE) - 8,16 - 8,85 - 15,46 a ele, mas que ainda respeitam o custo máximo de aceitação λ, também faz com que haja uma mudança rápida em sua posição, consequentemente gerando um valor de velocidade máxima irreal para o jogador. Em relação às estatísticas táticas, a Figura 24a apresenta um exemplo de mapa de calor obtido para um jogador titular (número 9) com erro médio para as estatísticas físicas na sequência de jogo. No Apêndice A encontram-se todos os mapas obtidos para os outros jogadores da sequência. Para avaliar a qualidade do mapa de calor e verificar se foi possível descrever a ocupação do atleta em quadra durante a partida, são desenhados na imagem os pontos referentes às posições do jogador dadas pelos retângulos anotados no gabarito (Figura 24b). Pode-se observar que o mapa obtido contém a maioria dos pontos do gabarito e é capaz de descrever de maneira eficaz a ocupação do jogador. Como é de se esperar, as regiões em vermelho e amarelo concentram um número grande de pontos bem próximos uns dos outros, que revela que o jogador estava presente mais vezes nesses locais. As regiões onde permaneceu por pouco tempo ou passou rapidamente são azuis e possuem um número menor e mais espaçado de pontos. No entanto, alguns pontos do gabarito não foram rastreados, e em algumas partes da imagem o rastreador registrou a passagem do jogador por essas regiões, mas o atleta não estava realmente presente naqueles locais. Alguns desvios entre a posição estimada e a posição do gabarito também são comuns e 64 (a) Mapa de calor obtido para o jogador 9. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 24 – Ocupação em quadra do jogador 9 dada por seu mapa de calor - Sequência de Jogo. descrevem os erros no rastreamento abordados anteriormente. É importante observar que a sequência de jogo apresenta duas interrupções no andamento da partida (a saber, uma falta e um rápido atendimento a um jogador) que levam os atletas a permanecerem alguns momentos parados ou se movimentando muito pouco. Como a duração da sequência avaliada é bem menor que a duração de uma partida, essas situações podem atrapalhar a descrição da verdadeira ocupação dos jogadores em quadra durante o jogo. Para minimizar esses e outros problemas, foi gravada a sequência do treinamento, que não apresenta várias das situações indesejadas presentes na primeira sequência. A 65 seguir, são apresentados os resultados para a segunda sequência e comparados com os obtidos até o momento. 5.4 Resultados da detecção dos jogadores - Treinamento Como descrito anteriormente, essa sequência foi gravada durante um treinamento coletivo da equipe de futsal, capaz de simular uma situação real de jogo. Por ser uma situação mais controlada, foi pedido ao treinador e aos reservas que permanecessem fora da área de jogo, mais afastados da quadra (próximos às arquibancadas), e que não houvesse substituições. No caso de haver alguma interrupção, como em faltas, escanteios ou após gols marcados, o jogo era retomado o mais brevemente possível. Aos jogadores também foi pedido que usassem coletes um pouco mais discriminativos que seus uniformes, para tentar diferenciá-los melhor em relação à quadra. Por fim, como era um treinamento, não havia árbitros presentes. Uma vez que não havia “intrusos” próximos às extremidades da quadra, as restrições da área de jogo foram relaxadas, e assim um jogador poderia sair de dentro das quatro linhas e ainda ser detectado, até um limite máximo de 2,5 metros de distância. A Tabela 6 apresenta os resultados da detecção de jogadores para a segunda sequência. As medidas N-MODA e F-Score, bem como os erros médios globais apresentados na Figura 25 são calculados da mesma forma que na Seção 5.1. Como é de se esperar, os valores de N-MODA e F-Score são maiores que na sequência de treinamento, para todos os limiares de sobreposição, já que o número de detecções corretas é maior e o número de falsos positivos e falsos negativos é menor em praticamente todos os níveis. Entretanto, o erro médio global obtido foi superior ao encontrado na sequência anterior, para todos os limiares de sobreposição. Isso pode ser explicado pois o número de verdadeiros positivos obtidos (que são considerados no cálculo do erro) é bem maior que o anterior em um dado valor de limiar e, desta maneira, os erros se acumulam de modo mais acentuado. De qualquer modo, os valores encontrados são inferiores a 40 centímetros, o que novamente é um resultado importante considerando as dimensões da quadra. Em relação ao número de falsos positivos, sua queda é explicada em grande parte pela ausências dos árbitros, técnicos e jogadores reservas na área de jogo. Contudo, a bola Tabela 6 – Resultados da detecção de jogadores para a sequência de Treinamento. τov TP FP FN Prec. Rev. F-Score N-MODA 0,1 0,2 0,3 0,4 0,5 7787 7771 7603 7072 6126 308 324 492 1023 1969 1152 1168 1336 1867 2813 0,962 0,960 0,939 0,874 0,757 0,871 0,869 0,851 0,791 0,685 0,914 0,912 0,893 0,830 0,719 0,837 0,833 0,796 0,677 0,465 66 1 0.9 0.8 0.7 0.6 0.5 N−MODA F−Score 0.4 0.3 0.5 0.4 0.3 0.2 Limiar da razão de sobreposição Erro médio global em metros 0.5 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.5 0.1 0.4 0.3 0.2 Limiar da razão de sobreposição 0.1 (a) Valores de N-MODA e F-Score obtidos e o impacto (b) Erros médios globais obtidos, de acordo com o do limiar da razão de sobreposição sobre os resullimiar utilizado. tados. Figura 25 – Resultados obtidos na avaliação da detecção na sequência de Treinamento para diferentes valores de τov . continua sendo detectada em alguns quadros, assim como sombras leves formadas pelos jogadores e que não foram removidas completamente no processo de detecção. Nas situações em que vários jogadores se encontram muito próximos e são detectados como um único blob que ultrapassa as restrições geométricas, o processo de divisão recursiva da região pode gerar regiões delimitadoras extras incorretas, que não correspondem exatamente às regiões dos jogadores. Isso também contribui para o número de falsos positivos encontrado. Por outro lado, os coletes usados pelos jogadores auxiliam um pouco mais na detecção dos atletas em algumas regiões da quadra, resultando em um menor número de falsos negativos. O relaxamento das restrições da área da quadra também contribuem para que um jogador se movimentando muito próximo às extremidades, ou que vai bater um lateral ou escanteio, ainda possa ser detectado e reduza o número de falsos negativos. Infelizmente, em outras regiões da quadra, os jogadores ainda são bastante parecidos com o fundo e não são detectados. Nas áreas em que a imagem é borrada e possui mais ruído, esse problema se agrava. Assim como na sequência anterior, a alta similaridade entre a aparência dos jogadores e o fundo são a principal causa da não detecção dos atletas também nesta sequência. Além disso, de modo semelhante ao cenário encontrado anteriormente, quando um ou mais jogadores estão muito próximos e o blob detectado respeita as restrições geométricas, não há divisão da região delimitadora, e assim um ou mais atletas ficam sem ser detectados. Esse caso também contribui consideravelmente para o aumento da contagem de falsos negativos. 67 5.5 Resultados do rastreamento dos jogadores - Treinamento A Tabela 7 apresenta os resultados do rastreamento de jogadores para a segunda sequência. As medidas MOTA e F-Score, bem como os erros médios globais apresentados na Figura 26 são calculados da mesma forma que na Seção 5.2. Novamente, assim como esperado, os valores de MOTA e F-Score são superiores aos encontrados na sequência de treinamento, para todos os limiares de distância. Como se beneficia diretamente da melhora da detecção, o rastreamento também apresenta um número de detecções corretas maior e um número de falsos positivos e falsos negativos menor em praticamente todos os níveis. Mais uma vez, o erro médio global obtido foi superior ao encontrado na sequência de jogo, para todos os limiares de τd . A justificativa para esse aumento é a mesma usada na seção anterior e está relacionada diretamente ao aumento da contagem de verdadeiros positivos, que elevam o acúmulo de erro. Apesar do aumento, o maior erro encontrado é aproximadamente igual a 40 centímetros, e isso destaca o potencial da técnica de rastreamento adotada para estimar as posições dos jogadores em uma região relativamente grande como a quadra de futsal. Assim como na sequência de jogo, durante os experimentos foram obtidos diversos rastreamentos com sucesso para grande parte dos jogadores, como pode ser visto na Figura 27. O filtro é capaz de resolver situações simples de confusão, quando as trajetórias de dois jogadores se cruzam rapidamente e mantém o rastreamento de cada atleta corretamente. Apesar das melhoras apresentadas na Seção 5.2 refletirem diretamente no desempenho do rastreamento, alguns dos problemas que permanecem na detecção acabam causando erros também nesta etapa. Em particular, no caso de ausência de medição para ajustar o filtro de um rastreador, o rastreamento se deteriora rapidamente. Assim, os jogadores não detectados por serem muito semelhantes ao fundo, ou os que ficam muito próximos uns dos outros por um período considerável de tempo, sendo detectados como um blob único que respeita as restrições geométricas, são as principais causas de erro no rastreamento nessa sequência. Novamente, nesses casos, o filtro pode trocar suas identidades, estimar incorretamente suas posições ou mesmo o rastreador pode ser removido, já que não possui Tabela 7 – Resultados do rastreamento de jogadores para a sequência de Treinamento. τd TP FP FN ID Prec. Rev. F-Score MOTA 0,50 0,75 1,00 1,25 1,50 1,75 5608 7052 7640 7864 7963 8007 2784 1340 752 528 429 385 876 876 876 876 876 876 71 71 71 71 71 71 0,668 0,840 0,910 0,937 0,949 0,954 0,865 0,890 0,897 0,900 0,901 0,901 0,754 0,864 0,904 0,918 0,924 0,927 0,435 0,720 0,809 0,839 0,852 0,858 68 0.5 0.9 0.8 0.7 0.6 0.5 MOTA F−Score 0.4 0.3 0.5 0.75 1 1.25 1.5 Limiar de distância em metros Erro médio global em metros 1 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.5 1.75 0.75 1 1.25 1.5 Limiar de distância em metros 1.75 (a) Valores de MOTA e F-Score obtidos e o impacto do (b) Erros médios globais obtidos, de acordo com o limiar da distância sobre os resultados. limiar utilizado. Figura 26 – Resultados obtidos na avaliação do rastreamento na sequência de Treinamento para diferentes valores de τd . medição associada para ajustar a estimativa durante esse tempo, e assim os jogadores deixam de ser rastreados. Além disso, por não haver distinção entre as medições na fase de observação, a bola ou detecções incorretas continuam roubando o rastreador de um jogador e prejudicando o rastreamento. A Tabela 8 apresenta a duração máxima, mínima e média dos rastreamentos para todos os jogadores e para a sequência de treinamento como um todo, antes de um rastreador ser (a) Quadro 5378. (b) Quadro 5393. (c) Quadro 5408. (d) Quadro 5423. (e) Quadro 5438. (f) Quadro 5453. Figura 27 – Exemplo de rastreamento dos jogadores com sucesso na sequência de Treinamento e as trajetórias dos atletas no tempo (destacadas em verde). 69 Tabela 8 – Duração dos rastreamentos (em número de quadros) para cada jogador na sequência de Treinamento. Jogador Maior intervalo Menor intervalo Intervalo médio 1 2 3 4 5 6 7 8 9 10 5724 3000 2142 1770 2979 1140 1956 1305 1584 1697 1530 90 30 30 30 15 15 16 17 15 3319 1018 730 728 876 210 304 276 294 192 Sequência 5724 15 795 removido ou ter sua identidade trocada. A numeração dos jogadores acontece de forma análoga à relatada na Seção 5.2, e os número dos goleiros de cada time nessa sequência são 1 e 10, respectivamente. Dada a melhora na detecção e a consequente redução de alguns problemas no rastreamento, foi possível aumentar os tempos de vida máximo e médio obtidos para esta sequência. No melhor caso, um rastreamento teve duração de 5724 quadros, 15 quadros no pior caso e duração de 795 quadros em média. Apesar do aumento considerável no tempo médio de rastreamento, esse resultado ainda leva o operador a fazer constantes intervenções para restabelecer as identificações dos rastreadores. 5.6 Estatísticas obtidas - Treinamento A Tabela 9 apresenta as estatísticas físicas de cada jogador extraídas e o erro encontrado para distância, velocidade média e velocidade máxima nesta sequência. A numeração dos atletas permanece a mesma da seção anterior e os erros são calculados como na Seção 5.3. Com a melhora na detecção e no rastreamento dos atletas mostrada anteriormente, foi possível reduzir o RMSE da sequência para 5,77% para a distância percorrida pelos jogadores e 5,84% para a velocidade média dos atletas. Entretanto, o erro para a velocidade máxima aumentou para 24,21%. Isso se deve a uma presença maior de erros como o roubo do rastreador pela bola e trocas de identidade. A ocorrência dos erros nessa sequência está ligada aos fatores já explicados na Seção 5.3, ou seja, são relacionados aos problemas que permanecem nas fases de detecção e rastreamento. Entretanto, vale observar que como os jogadores são detectados e rastreados em mais quadros nessa avaliação, a maioria dos erros para a distância percorrida são positivos. A exceção a essa regra é o goleiro de número 10, que se encontra em grande parte da sequência na parte problemática da imagem, que se apresenta borrada e com 70 Tabela 9 – Estatísticas físicas obtidas para cada jogador na sequência de Treinamento. Os erros são definidos em relação às estatísticas calculadas pelas posições do gabarito. Jogador Dist. (m) Erro Dist. (%) Vel. Méd. (Km/h) Erro Vel. Méd. (%) Vel. Máx. (Km/h) Erro Vel. Máx. (%) 1 2 3 4 5 6 7 8 9 10 324,85 801,80 815,33 889,85 840,37 788,78 802,92 899,27 743,21 293,03 0,3 6,0 5,3 7,4 6,2 3,6 1,4 4,5 7,6 -9,1 2,64 6,51 6,60 7,22 6,82 6,40 6,52 7,32 6,03 2,38 0,4 6,1 5,2 7,5 6,3 3,7 1,5 4,9 7,7 -9,0 16,32 27,24 28,96 25,37 24,07 25,38 32,82 31,81 22,29 19,58 24,2 3,7 38,5 -12,7 2,6 17,7 -2,0 39,6 7,3 40,9 Sequência (RMSE) - 5,77 - 5,84 - 24,21 mais ruído. Por causa disso, sua detecção é prejudicada, e consequentemente é rastreado bem menos que os outros atletas. A Figura 28a apresenta um exemplo de mapa de calor obtido para um jogador (número 3) com erro médio para as estatísticas físicas na sequência de treinamento. No Apêndice B encontram-se todos os mapas obtidos para os outros jogadores da sequência. Assim como foi feito anteriormente, para avaliar a qualidade do mapa de calor, foram desenhados na imagem os pontos referentes às posições provenientes do gabarito (Figura 28b). Novamente, o mapa obtido contém quase que a totalidade dos pontos do gabarito e pode descrever de maneira eficaz a ocupação do jogador. Para esse atleta, por exemplo, é possível observar que ele atua no campo defensivo mais pelo lado esquerdo, mas suas investidas no campo de ataque ocorrem em grande parte pelo lado direito. Desta maneira, o mapa de calor e os dados físicos extraídos constituem informações importantes e valiosas para os técnicos utilizarem em suas análises tática e física de forma a compreender melhor o desempenho de sua equipe. 71 (a) Mapa de calor obtido para o jogador 3. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 28 – Ocupação em quadra do jogador 3 dada por seu mapa de calor - Sequência de Treinamento. 72 Capítulo 6 Conclusão Neste trabalho foi apresentado um sistema para apoiar as análises tática e física de equipes de futsal baseado em Visão Computacional. Apesar de serem fundamentais para se compreender o que se passa na partida, grande parte dessas análises são feitas de maneira manual, já que a maioria das soluções tecnológicas existentes são praticamente inacessíveis aos times, além de serem voltadas a outros esportes. Como o futsal é um esporte extremamente complexo, cujos jogadores estão frequentemente em contato, concentrados em pequenas regiões e se movimentando de modo bastante rápido, uma série de dificuldades tiveram de ser enfrentadas e superadas, para que se desenvolvesse uma solução computacional capaz de prover os dados usados nas análises. Diferentemente de outras abordagens propostas na literatura, o presente sistema utiliza apenas uma câmera estacionária que captura imagens da quadra vistas de cima. Essa configuração pode fornecer diversas vantagens. Em primeiro lugar, as imagens obtidas por uma câmera disposta dessa maneira minimizam os efeitos de oclusão entre os jogadores, que podem atrapalhar muito o rastreamento dos atletas. Além disso, o uso de uma única câmera também pode reduzir a complexidade computacional do sistema e os custos com aquisição e implantação. No entanto, ao se adotar uma câmera posicionada de forma aproximadamente perpendicular à quadra, há uma maior dificuldade em explorar características visuais dos jogadores, que poderiam ser usadas posteriormente para obter melhores resultados na detecção e no rastreamento dos atletas. Para detectar os jogadores nas imagens, é utilizada a técnica adaptativa de subtração de fundo baseado em mistura de Gaussianas. Essa técnica é bastante eficiente para encontrar automaticamente as regiões que correspondem aos jogadores nas imagens, sem que seja necessária uma fase custosa de treinamento, como acontece com as abordagens que usam classificadores de objetos previamente treinados, e sem ser necessário indicar manualmente quem são os objetos na cena que devem ser encontrados. Durante os experimentos, contudo, foram encontradas algumas dificuldades decorrentes do uso da 73 subtração de fundo. Uma das principais é a não detecção de alguns jogadores quando um ou mais atletas estão muito próximos. Nesse caso, o resultado da subtração é uma região única, que resulta em apenas uma detecção válida contendo todos os jogadores. Foi proposta uma abordagem de divisão recursiva dessa região, baseado em características geométricas dos jogadores, mas ela nem sempre é capaz de lidar com essa situação. Outra causa importante da não detecção dos jogadores é sua alta similaridade com algumas regiões da quadra. Esse problema é agravado pelas características da câmera utilizada nos experimentos. As imagens obtidas são de baixa resolução, e se apresentam borradas e com bastante ruído em algumas regiões da quadra. Isso dificulta ainda mais localizar os jogadores nas imagens, já que várias vezes se apresentam muito semelhantes ao piso da quadra, não sendo discriminativos o suficiente para serem considerados parte do primeiro plano. O uso de uma câmera de maior qualidade, contudo, pode reduzir significativamente essas dificuldades. Há também outros problemas, como as detecções indesejadas da bola e de sombras leves não filtradas no processo. Apesar dessas complicações, foi possível realizar a detecção dos atletas de maneira eficiente e precisa. Atingiu-se valores importantes para as medidas N-MODA e F-Score usadas na avaliação das sequências, e foram obtidos erros médios globais menores que 40 centímetros, um valor expressivo considerando as dimensões da quadra. Por sua vez, foi adotada a técnica de filtro de partículas para ligar as detecções dos jogadores em quadros sucessivos e fazer o rastreamento dos atletas. Durante os experimentos, foi possível obter vários rastreamentos com sucesso para grande parte dos jogadores em quadra. O filtro é capaz de lidar com situações simples de confusão, como, por exemplo, quando a trajetória de dois jogadores se cruzam por um breve momento, e o rastreamento se mantém corretamente. Entretanto, alguns problemas foram encontrados na realização dos testes, e que demonstram algumas de suas limitações. Na maioria dos casos, os erros são causados pela ausência de uma medição capaz de ajustar a estimativa do filtro, ou pelo fato de o modelo de observação não fazer distinção entre as características das medições. Assim, quando os jogadores se mantém muito próximos ou não são detectados por um número grande de quadros, por exemplo, acontecem trocas de identidades entre os atletas, estimativas incorretas de posição, roubo do rastreador pela bola ou mesmo interrupção do rastreamento. Para as duas sequências avaliadas, o tempo médio de rastreamento foi de 283 quadros para a primeira e 795 quadros para a segunda. Essa duração é relativamente pequena, o que faz com que sejam necessárias intervenções constantes por parte do operador para re-identificar os rastreadores e desfazer as situações de confusão. Como comentado, essa é a principal limitação do sistema proposto, pois um número significativo de intervenções manuais é obviamente indesejado por aumentar o tempo e o esforço necessário para extrair 74 as informações. Ainda assim, novamente o erro médio global encontrado foi inferior a 40 centímetros, e os valores obtidos para as medidas MOTA e F-Score usadas nas avaliações foram significativos. Apesar de todas as dificuldades apresentadas, foi possível extrair com sucesso as informações tática e física de interesse para as análises. Assim, puderam ser gerados os mapas de calor, que descrevem a ocupação dos jogadores em quadra durante as sequências, bem como estimados os valores da distância percorrida e velocidades máxima e média desempenhada pelos atletas. Os resultados apresentados mostram que os dados coletados possuem boa exatidão, dada a complexidade do futsal, e podem ser usados em diversas atividades, como melhoria nos planos de treinamento, correção de falhas e na tomada de decisões. Em particular, os erros obtidos para a distância percorrida e velocidade média são da ordem de 8% para a primeira sequência e 5% para a segunda, o que mostra o potencial do sistema para estimar essas estatísticas. Entretanto, a estimativa da velocidade máxima é mais sensível aos erros apresentados no processo de rastreamento, e assim, possuem valores de erros elevados, da ordem de 15% e 24%, para a primeira e segunda sequências avaliadas, respectivamente. Deste modo, o cálculo da velocidade máxima de um atleta deve ser melhor tratado em um trabalho futuro, para que se aumente a exatidão do sistema. Finalmente, vale observar que a metodologia proposta pode ser estendida e aplicada a outros esportes, como basquete e handebol. Desta maneira, pode-se aumentar ainda mais a aplicabilidade do sistema e levar as vantagens de seu uso para outras modalidades. 6.1 Trabalhos Futuros Nos trabalhos futuros, pretende-se reduzir as situações de confusão presentes no sistema, com a consequente minimização de trocas de identidades e perdas do rastreamento, para que seja necessário um número menor de intervenções por parte do operador. Para tanto, serão exploradas outras técnicas de detecção de jogadores, que possam se sair melhor nas situações em que os atletas são muito semelhantes ao fundo ou quando estão muito próximos uns aos outros. Pretende-se também investigar o uso de outros modelos de movimentação que possam capturar melhor a dinâmica dos atletas de futsal, a ser usado na propagação das partículas. Espera-se também que possa ser utilizada futuramente uma câmera melhor, capaz de obter imagens dos jogadores com mais qualidade. Além disso, será verificada a viabilidade de incluir outras câmeras no sistema, que possam observar os jogadores em outras posições, fornecendo características visuais importantes que podem ser exploradas no rastreamento. Por meio dessas imagens, por exemplo, pode-se construir modelos de aparência fortes e robustos o suficientes para discriminar os jogadores e diferenciar suas medições. 75 Uma vez reduzido o número de intervenções e falhas no sistema, pretende-se trabalhar futuramente com a extração das estatísticas de interesse em tempo real. A aplicação móvel, desta maneira, apresentaria os dados para os técnicos à medida que ocorrem no jogo, durante a realização da partida. Deste modo, os técnicos podem aproveitar as informações para reverter uma situação adversa de jogo, por exemplo. Por fim, pretende-se aplicar futuramente algoritmos de mineração de dados sobre as informações coletadas, para extrair informações semânticas que não são diretamente obtidas pela observação dos dados. Essas informações podem revelar aos técnicos estratégias valiosas como, por exemplo, quais são os posicionamentos de jogadores com maior probabilidade de resultarem em gol. 76 Referências ANDRADE, E. L. et al. Region-based analysis and retrieval for tracking of semantic objects and provision of augmented information in interactive sport scenes. Multimedia, IEEE Transactions on, IEEE, v. 7, n. 6, p. 1084–1096, 2005. Citado na página 13. ASSFALG, J. et al. Semantic annotation of soccer videos: automatic highlights identification. Computer Vision and Image Understanding, Elsevier, v. 92, n. 2, p. 285–305, 2003. Citado 2 vezes nas páginas 4 e 13. BEETZ, M. et al. Camera-based observation of football games for analyzing multi-agent activities. In: ACM. Proceedings of the 5th International Joint Conference on Autonomous Agents and Multiagent Systems. [S.l.], 2006. p. 42–49. Citado na página 17. BEETZ, M.; KIRCHLECHNER, B.; LAMES, M. Computerized real-time analysis of football games. Pervasive Computing, IEEE, IEEE, v. 4, n. 3, p. 33–39, 2005. Citado na página 12. Ben Shitrit, H. et al. Tracking multiple people under global appearance constraints. In: IEEE. Computer Vision (ICCV 2011), IEEE International Conference on. [S.l.], 2011. p. 137–144. Citado 3 vezes nas páginas 17, 19 e 22. Ben Shitrit, H. et al. Multi-commodity network flow for tracking multiple people. IEEE, 2013. Citado 2 vezes nas páginas 17 e 19. BERCLAZ, J. et al. Multiple object tracking using k-shortest paths optimization. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, v. 33, n. 9, p. 1806– 1819, 2011. Citado 2 vezes nas páginas 17 e 19. Berclaz, J., Fleuret, F., Turetken, E., Fua, P. KSP: Multiple Object Tracker Using KShortest Paths. 2015. Disponível em: <http://cvlab.epfl.ch/software/ksp/>. Acesso em: 01 de julho de 2015. Citado na página 19. BERNARDIN, K.; STIEFELHAGEN, R. Evaluating multiple object tracking performance: the clear mot metrics. Journal on Image and Video Processing, Hindawi Publishing Corp., v. 2008, p. 1, 2008. Citado 3 vezes nas páginas 54, 57 e 58. BEUCHER, S.; MEYER, F. The morphological approach to segmentation: the watershed transformation. OPTICAL ENGINEERING-NEW YORK-MARCEL DEKKER INCORPORATED-, MARCEL DEKKER AG, v. 34, p. 433–433, 1992. Citado na página 16. BREITENSTEIN, M. D. et al. Online multiperson tracking-by-detection from a single, uncalibrated camera. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, v. 33, n. 9, p. 1820–1833, 2011. Citado na página 33. CATAPULT. Catapult. 2015. Disponível em: <http://www.catapultsports.com/us>. Acesso em: 30 de junho de 2015. Citado na página 12. CHEN, H.-T. et al. Recognizing tactic patterns in broadcast basketball video using player trajectory. Journal of Visual Communication and Image Representation, Elsevier, v. 23, n. 6, p. 932–947, 2012. Citado 2 vezes nas páginas 16 e 17. 77 CHEN, H.-T. et al. Physics-based ball tracking and 3d trajectory reconstruction with applications to shooting location estimation in basketball video. Journal of Visual Communication and Image Representation, Elsevier, v. 20, n. 3, p. 204–216, 2009. Citado na página 14. CZYZ, J.; RISTIC, B.; MACQ, B. A particle filter for joint detection and tracking of color objects. Image and Vision Computing, Elsevier, v. 25, n. 8, p. 1271–1281, 2007. Citado na página 18. DARTFISH. Dartfish. 2015. Disponível em: <http://www.dartfish.com/>. Acesso em: 01 de julho de 2015. Citado na página 20. DEARDEN, A.; DEMIRIS, Y.; GRAU, O. Tracking football player movement from a single moving camera using particle filters. In: Proceedings of the 3rd European Conference on Visual Media Production (CVMP-2006). [S.l.: s.n.], 2006. p. 29–37. Citado 2 vezes nas páginas 16 e 18. D’ORAZIO, T.; LEO, M. A review of vision-based systems for soccer video analysis. Pattern recognition, Elsevier, v. 43, n. 8, p. 2911–2926, 2010. Citado 6 vezes nas páginas ix, 2, 3, 13, 14 e 22. D’ORAZIO, T. et al. A visual system for real time detection of goal events during soccer matches. Computer Vision and Image Understanding, Elsevier, v. 113, n. 5, p. 622–632, 2009. Citado na página 14. EKIN, A.; TEKALP, A. M.; MEHROTRA, R. Automatic soccer video analysis and summarization. Image Processing, IEEE Transactions on, IEEE, v. 12, n. 7, p. 796–807, 2003. Citado na página 13. FELZENSZWALB, P. F. et al. Object detection with discriminatively trained part-based models. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, v. 32, n. 9, p. 1627–1645, 2010. Citado na página 17. FIGUEROA, P. J.; LEITE, N. J.; BARROS, R. M. Background recovering in outdoor image sequences: An example of soccer players segmentation. Image and Vision Computing, Elsevier, v. 24, n. 4, p. 363–374, 2006. Citado 2 vezes nas páginas 15 e 21. FIGUEROA, P. J.; LEITE, N. J.; BARROS, R. M. Tracking soccer players aiming their kinematical motion analysis. Computer Vision and Image Understanding, Elsevier, v. 101, n. 2, p. 122–135, 2006. Citado 2 vezes nas páginas 15 e 18. FLEURET, F. et al. Multicamera people tracking with a probabilistic occupancy map. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, v. 30, n. 2, p. 267–282, 2008. Citado 2 vezes nas páginas 17 e 19. Fleuret, F., Berclaz, J., Lengagne R., Fua, P. POM: Occupancy map estimation for people detection. 2015. Disponível em: <http://cvlab.epfl.ch/software/pom/>. Acesso em: 01 de julho de 2015. Citado na página 19. FORSYTH, D. A.; PONCE, J. Computer Vision: A Modern Approach. [S.l.]: Prentice Hall Professional Technical Reference, 2002. ISBN 0130851981. Citado na página 6. Fraunhofer IIS. WiTrack. 2015. Disponível em: <http://www.iis.fraunhofer.de/en/ff/lok/anw/ sport.html>. Acesso em: 30 de junho de 2015. Citado na página 12. 78 GEDIKLI, S. et al. An adaptive vision system for tracking soccer players from variable camera settings. In: Proceedings of the 5th International Conference on Computer Vision Systems (ICVS). [S.l.: s.n.], 2007. Citado na página 17. GOLDENSTEIN, S. K. A gentle introduction to predictive filters. Revista de Informatica Teórica e Aplicada, v. 11, n. 1, p. 63–92, 2004. Citado 2 vezes nas páginas 17 e 21. GOOGLE. Android. 2015. Disponível em: <http://www.android.com/>. Acesso em: 11 de julho de 2015. Citado na página 51. HARALICK, R. M.; STERNBERG, S. R.; ZHUANG, X. Image analysis using mathematical morphology. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, n. 4, p. 532–550, 1987. Citado na página 40. HARTLEY, R.; ZISSERMAN, A. Multiple view geometry in computer vision. [S.l.]: Cambridge university press, 2003. Citado 4 vezes nas páginas ix, 5, 24 e 25. HASHIMOTO, S.; OZAWA, S. A system for automatic judgment of offsides in soccer games. In: IEEE. Multimedia and Expo, IEEE International Conference on. [S.l.], 2006. p. 1889– 1892. Citado na página 14. HEATMAP.JS. heatmap.js - Heat Map Visualization Library. 2015. Disponível em: <http: //www.patrick-wied.at/static/heatmapjs/>. Acesso em: 11 de julho de 2015. Citado na página 48. INMOTIOTEC. InMotio Twitter. 2014. Disponível em: <https://twitter.com/Inmotio/status/ 483216174352969728/photo/1>. Acesso em: 1 de julho de 2015. Citado na página 12. INMOTIOTEC. InMotio Twitter. 2014. Disponível em: <https://twitter.com/Inmotio/status/ 488623019095752705/photo/1>. Acesso em: 1 de julho de 2015. Citado na página 12. INMOTIOTEC. Inmotio. 2015. Disponível em: <http://www.inmotio.eu/en-GB/2/home.html>. Acesso em: 30 de junho de 2015. Citado na página 12. ISARD, M.; BLAKE, A. Condensation—conditional density propagation for visual tracking. International journal of computer vision, Springer, v. 29, n. 1, p. 5–28, 1998. Citado 2 vezes nas páginas 17 e 32. JOO, S.-W.; CHELLAPPA, R. A multiple-hypothesis approach for multiobject visual tracking. Image Processing, IEEE Transactions on, IEEE, v. 16, n. 11, p. 2849–2854, 2007. Citado na página 18. JSON. JSON. 2015. Disponível em: <http://json.org/>. Acesso em: 11 de julho de 2015. Citado na página 51. KAEWTRAKULPONG, P.; BOWDEN, R. An improved adaptive background mixture model for real-time tracking with shadow detection. In: Video-Based Surveillance Systems. [S.l.]: Springer, 2002. p. 135–144. Citado na página 30. KANG, J.; COHEN, I.; MEDIONI, G. Soccer player tracking across uncalibrated camera streams. In: Joint IEEE International Workshop on Visual Surveillance and Performance Evaluation of Tracking and Surveillance (VS-PETS) In Conjunction with. [S.l.: s.n.], 2003. v. 206, p. 172–179. Citado na página 16. 79 KASTURI, R. et al. Framework for performance evaluation of face, text, and vehicle detection and tracking in video: Data, metrics, and protocol. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, v. 31, n. 2, p. 319–336, 2009. Citado 4 vezes nas páginas 54, 55, 57 e 58. KHATOONABADI, S. H.; RAHMATI, M. Automatic soccer players tracking in goal scenes by camera motion elimination. Image and Vision Computing, Elsevier, v. 27, n. 4, p. 469–479, 2009. Citado na página 16. KIM, H.; NAM, S.; KIM, J. Player segmentation evaluation for trajectory estimation in soccer games. Proceeding of Image and Vision Computing, Palmerston North, New Zealand, p. 159–162, 2003. Citado na página 16. KRISTAN, M. et al. Closed-world tracking of multiple interacting targets for indoor-sports applications. Computer Vision and Image Understanding, Elsevier, v. 113, n. 5, p. 598– 611, 2009. Citado 2 vezes nas páginas 1 e 18. KUHN, H. W. The hungarian method for the assignment problem. Naval research logistics quarterly, Wiley Online Library, v. 2, n. 1-2, p. 83–97, 1955. Citado na página 44. LESER, R. et al. Accuracy of an uwb-based position tracking system used for time-motion analyses in game sports. European Journal of Sport Science, v. 14, n. 7, p. 635–642, 2014. Citado na página 12. LI, J. et al. Soccer highlight detection using two-dependence bayesian network. In: IEEE. Multimedia and Expo, IEEE International Conference on. [S.l.], 2006. p. 1625–1628. Citado na página 13. Liga Futsal. Liga Futsal. 2015. Disponível em: <http://ligafutsal.com.br/>. Acesso em: 11 de julho de 2015. Citado na página 53. LIU, C. et al. A framework for flexible summarization of racquet sports video using multiple modalities. Computer Vision and Image Understanding, Elsevier, v. 113, n. 3, p. 415–424, 2009. Citado na página 13. LIU, J. et al. Automatic player detection, labeling and tracking in broadcast soccer video. Pattern Recognition Letters, Elsevier, v. 30, n. 2, p. 103–113, 2009. Citado na página 17. MANDELJC, R. et al. Tracking by identification using computer vision and radio. Sensors, Multidisciplinary Digital Publishing Institute, v. 13, n. 1, p. 241–273, 2012. Citado na página 12. MIURA, J.; KUBO, H. Tracking players in highly complex scenes in broadcast soccer video using a constraint satisfaction approach. In: ACM. Proceedings of the 2008 international conference on Content-based image and video retrieval. [S.l.], 2008. p. 505–514. Citado na página 18. MIURA, J. et al. Ball route estimation under heavy occlusion in broadcast soccer video. Computer Vision and Image Understanding, Elsevier, v. 113, n. 5, p. 653–662, 2009. Citado na página 14. MONTGOMERY, D. C. Design and Analysis of Experiments. [S.l.]: John Wiley & Sons, 2006. ISBN 0470088109. Citado 2 vezes nas páginas 62 e 63. 80 MORAIS, E. et al. A multiple camera methodology for automatic localization and tracking of futsal players. Pattern Recognition Letters, Elsevier, v. 39, p. 21–30, 2014. Citado 8 vezes nas páginas 1, 2, 7, 9, 10, 17, 18 e 59. MORAIS, E. F. d. Rastreamento de jogadores de futebol de salão usando filtro de partículas e coordenadas no plano da quadra. Tese (Doutorado em Ciência da Computação) — Universidade Estadual de Campinas - UNICAMP, 2012. Citado 15 vezes nas páginas ix, 1, 2, 10, 17, 18, 21, 22, 28, 32, 33, 34, 35, 43 e 46. MUNKRES, J. Algorithms for the assignment and transportation problems. Journal of the Society for Industrial & Applied Mathematics, SIAM, v. 5, n. 1, p. 32–38, 1957. Citado na página 44. NAEMURA, M. et al. Morphological segmentation of sport scenes using color information. Broadcasting, IEEE Transactions on, IEEE, v. 46, n. 3, p. 181–188, 2000. Citado na página 15. NAIDOO, W. C.; TAPAMO, J. R. Soccer video analysis by ball, player and referee tracking. In: Proceedings of the 2006 Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on IT Research in Developing Countries. [S.l.]: South African Institute for Computer Scientists and Information Technologists, 2006. p. 51–60. Citado na página 14. NBA. Player Tracking. 2015. Disponível em: <http://stats.nba.com/tracking/>. Acesso em: 02 de julho de 2015. Citado na página 20. NILLIUS, P.; SULLIVAN, J.; CARLSSON, S. Multi-target tracking-linking identities using bayesian network inference. In: IEEE. Computer Vision and Pattern Recognition, 2006 IEEE Computer Society Conference on. [S.l.], 2006. v. 2, p. 2187–2194. Citado na página 18. NIU, Z.; GAO, X.; TIAN, Q. Tactic analysis based on real-world ball trajectory in soccer video. Pattern Recognition, Elsevier, v. 45, n. 5, p. 1937–1947, 2012. Citado 2 vezes nas páginas 1 e 14. OKUMA, K. et al. A boosted particle filter: Multitarget detection and tracking. In: European Conference on Computer Vision. [S.l.]: Springer, 2004. p. 28–39. Citado 3 vezes nas páginas 17, 18 e 59. OPTA. Opta. 2015. Disponível em: <http://www.optasports.com/>. Acesso em: 01 de julho de 2015. Citado na página 20. PÁDUA, F. L. C. Alinhamento Espaço-Temporal de Sequências de Vídeo Capturadas a Partir de Múltiplos Pontos de Vista. Tese (Doutorado em Ciência da Computação) — Universidade Federal de Minas Gerais - UFMG, 2005. Citado na página 23. PALLAVI, V. et al. Graph-based multiplayer detection and tracking in broadcast soccer videos. Multimedia, IEEE Transactions on, IEEE, v. 10, n. 5, p. 794–805, 2008. Citado na página 18. PERL, J.; GRUNZ, A.; MEMMERT, D. Tactics analysis in soccer – an advanced approach. International Journal of Computer Science in Sport, v. 12, n. 1, 2013. Citado 3 vezes nas páginas 1, 4 e 14. 81 PERŠE, M. et al. A trajectory-based analysis of coordinated team activity in a basketball game. Computer Vision and Image Understanding, Elsevier, v. 113, n. 5, p. 612–621, 2009. Citado na página 2. Prozone Sports. Prozone. 2015. Disponível em: <http://www.prozonesports.com/>. Acesso em: 01 de julho de 2015. Citado na página 20. RENNO, J.-P. et al. Shadow classification and evaluation for soccer player detection. In: CITESEER. British Machine Vision Conference. [S.l.], 2004. p. 1–10. Citado na página 16. RODRÍGUEZ, T. et al. Image interpolation for virtual sports scenarios. Machine Vision and Applications, Springer, v. 16, n. 4, p. 236–245, 2005. Citado na página 13. SANTIAGO, C. B. et al. Survey on team tracking techniques applied to sports. In: IEEE. Autonomous and Intelligent Systems (AIS), 2010 International Conference on. [S.l.], 2010. p. 1–6. Citado 4 vezes nas páginas 6, 11, 12 e 13. STATDNA. StatDNA. 2015. Disponível em: <https://www.statdna.com/>. Acesso em: 01 de julho de 2015. Citado na página 20. STATS. SportVU. 2015. Disponível em: <http://www.stats.com/leagues-teams/>. Acesso em: 30 de junho de 2015. Citado 2 vezes nas páginas 7 e 19. STAUFFER, C.; GRIMSON, W. E. L. Adaptive background mixture models for real-time tracking. In: IEEE. Computer Vision and Pattern Recognition, 1999. IEEE Computer Society Conference on. [S.l.], 1999. v. 2. Citado 6 vezes nas páginas 16, 21, 29, 30, 31 e 32. SULLIVAN, J.; CARLSSON, S. Tracking and labelling of interacting multiple targets. In: European Conference on Computer Vision – ECCV 2006. [S.l.]: Springer, 2006. p. 619– 632. Citado 2 vezes nas páginas 5 e 18. TEUTSCH, M. Moving Object Detection and Segmentation for Remote Aerial Video Surveillance. [S.l.]: KIT Scientific Publishing, 2015. Citado na página 55. The New York Times. College Basketball Data Aplenty for Those Who Can Afford It. 2014. Disponível em: <http://www.nytimes.com/2014/03/25/sports/ncaabasketball/ sportvu-offers-college-basketball-data-for-those-who-can-afford-it.html>. Acesso em: 02 de julho de 2015. Citado na página 7. THOMAS, G. Sports tv applications of computer vision. In: Visual Analysis of Humans. [S.l.]: Springer, 2011. p. 563–579. Citado na página 13. TJONDRONEGORO, D. W.; CHEN, Y.-P. P.; PHAM, B. Classification of self-consumable highlights for soccer video summaries. In: IEEE. Multimedia and Expo, IEEE International Conference on. [S.l.], 2004. v. 1, p. 579–582. Citado na página 13. TRUCCO, E.; VERRI, A. Introductory techniques for 3-D computer vision. [S.l.]: Prentice Hall Englewood Cliffs, 1998. Citado 7 vezes nas páginas 5, 6, 23, 24, 25, 26 e 42. TSAI, P.-S.; MEIJOME, T.; AUSTIN, P. G. Scout: a game speed analysis and tracking system. Machine Vision and Applications, Springer, v. 18, n. 5, p. 289–299, 2007. Citado na página 14. 82 Ubisense Group. Ubisense. 2015. Disponível em: <http://www.ubisense.net/en/products/ smart-factory>. Acesso em: 30 de junho de 2015. Citado na página 12. VANDENBROUCKE, N.; MACAIRE, L.; POSTAIRE, J.-G. Color image segmentation by pixel classification in an adapted hybrid color space. application to soccer image analysis. Computer Vision and Image Understanding, Elsevier, v. 90, n. 2, p. 190–216, 2003. Citado na página 15. VIOLA, P.; JONES, M. Rapid object detection using a boosted cascade of simple features. In: IEEE. Computer Vision and Pattern Recognition, CVPR 2001. Proceedings of the IEEE Computer Society Conference on. [S.l.], 2001. v. 1, p. I–511. Citado 2 vezes nas páginas 16 e 21. WAN, E.; MERWE, R. V. D. et al. The unscented kalman filter for nonlinear estimation. In: IEEE. Adaptive Systems for Signal Processing, Communications, and Control Symposium 2000. AS-SPCC. The IEEE 2000. [S.l.], 2000. p. 153–158. Citado na página 18. WANG, J. et al. Automatic composition of broadcast sports video. Multimedia Systems, Springer, v. 14, n. 4, p. 179–193, 2008. Citado na página 13. WANG, X. et al. Take your eyes off the ball: Improving ball-tracking by focusing on team play. Computer Vision and Image Understanding, Elsevier, v. 119, p. 102–115, 2014. Citado 3 vezes nas páginas 1, 4 e 14. WELCH, G.; BISHOP, G. An introduction to the kalman filter. University of North Carolina: Chapel Hill, North Carolina, US, 2006. Citado na página 17. XU, M. et al. Architecture and algorithms for tracking football players with multiple cameras. IEE Proceedings-Vision, Image and Signal Processing, IET, v. 152, n. 2, p. 232–241, 2005. Citado 2 vezes nas páginas 16 e 17. XU, Z.; SHI, P. Segmentation of players and team discrimination in soccer videos. In: IEEE. VLSI Design and Video Technology, Proceedings of the IEEE International Workshop on. [S.l.], 2005. p. 369–372. Citado na página 16. YU, X. et al. A player-possession acquisition system for broadcast soccer video. In: IEEE. Multimedia and Expo, IEEE International Conference on. [S.l.], 2005. p. 522–525. Citado na página 14. YU, X. et al. Trajectory-based ball detection and tracking in broadcast soccer video. Multimedia, IEEE Transactions on, IEEE, v. 8, n. 6, p. 1164–1178, 2006. Citado na página 14. ZEBRA. Zebra Sport Solution. 2015. Disponível em: <https://www.zebra.com/us/en/ solutions/location-solutions/sports-tracking.html>. Acesso em: 1 de julho de 2015. Citado na página 12. ZHANG, Z. A flexible new technique for camera calibration. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, v. 22, n. 11, p. 1330–1334, 2000. Citado 2 vezes nas páginas 25 e 37. 83 ZHU, G. et al. Trajectory based event tactics analysis in broadcast sports video. In: ACM. Proceedings of the 15th International Conference on Multimedia. [S.l.], 2007. p. 58–67. Citado 3 vezes nas páginas 1, 14 e 18. ZIVKOVIC, Z. Improved adaptive gaussian mixture model for background subtraction. In: IEEE. Pattern Recognition, 2004. ICPR 2004. Proceedings of the 17th International Conference on. [S.l.], 2004. v. 2, p. 28–31. Citado 5 vezes nas páginas 16, 22, 29, 30 e 31. ZXY Sport Tracking AS. ZXY Sport Tracking. 2015. Disponível em: <http://www.zxy.no/>. Acesso em: 1 de julho de 2015. Citado na página 12. 84 Apêndices APÊNDICE A – Mapas de calor dos jogadores obtidos na sequência de Jogo Na Seção 5.3, foram apresentados o mapa de calor do jogador 9 e o mesmo mapa contendo pontos referentes às posições provenientes do gabarito desse jogador. A seguir, são apresentados os mapas de calor e os mapas com os pontos dos outros jogadores da sequência. Os jogadores foram numerados no quadro de início da partida, de forma sequencial, da esquerda para a direita, de cima para baixo. Assim, os jogadores do time que ataca da esquerda para a direita estão numerados de 1 a 5, e os do time que ataca da direita para a esquerda, de 6 a 10. O número dos goleiros de cada time nessa sequência são 2 e 10, respectivamente. Além disso, a sequência de jogo inclui algumas substituições nas equipes, durante o trecho gravado. Os jogadores reservas que entram posteriormente no jogo são numerados de acordo com a ordem de entrada, recebendo números de 11 a 15 para a primeira equipe e 16 a 20 para a segunda. 86 (a) Mapa de calor obtido para o jogador 1. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 29 – Mapa de calor do jogador 1 que descreve sua ocupação em quadra. 87 (a) Mapa de calor obtido para o jogador 2. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 30 – Mapa de calor do jogador 2 que descreve sua ocupação em quadra. 88 (a) Mapa de calor obtido para o jogador 3. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 31 – Mapa de calor do jogador 3 que descreve sua ocupação em quadra. 89 (a) Mapa de calor obtido para o jogador 4. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 32 – Mapa de calor do jogador 4 que descreve sua ocupação em quadra. 90 (a) Mapa de calor obtido para o jogador 5. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 33 – Mapa de calor do jogador 5 que descreve sua ocupação em quadra. 91 (a) Mapa de calor obtido para o jogador 6. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 34 – Mapa de calor do jogador 6 que descreve sua ocupação em quadra. 92 (a) Mapa de calor obtido para o jogador 7. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 35 – Mapa de calor do jogador 7 que descreve sua ocupação em quadra. 93 (a) Mapa de calor obtido para o jogador 8. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 36 – Mapa de calor do jogador 8 que descreve sua ocupação em quadra. 94 (a) Mapa de calor obtido para o jogador 10. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 37 – Mapa de calor do jogador 10 que descreve sua ocupação em quadra. 95 (a) Mapa de calor obtido para o jogador 11. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 38 – Mapa de calor do jogador 11 que descreve sua ocupação em quadra. 96 (a) Mapa de calor obtido para o jogador 16. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 39 – Mapa de calor do jogador 16 que descreve sua ocupação em quadra. 97 (a) Mapa de calor obtido para o jogador 17. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 40 – Mapa de calor do jogador 17 que descreve sua ocupação em quadra. 98 (a) Mapa de calor obtido para o jogador 18. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 41 – Mapa de calor do jogador 18 que descreve sua ocupação em quadra. 99 APÊNDICE B – Mapas de calor dos jogadores obtidos na sequência de Treinamento Na Seção 5.6, foram apresentados o mapa de calor do jogador 3 e o mesmo mapa contendo pontos referentes às posições provenientes do gabarito desse jogador. A seguir, são apresentados os mapas de calor e os mapas com os pontos dos outros jogadores da sequência. Os jogadores foram numerados no quadro de início da partida, de forma sequencial, da esquerda para a direita, de cima para baixo. Assim, os jogadores do time que ataca da esquerda para a direita estão numerados de 1 a 5, e os do time que ataca da direita para a esquerda, de 6 a 10. O número dos goleiros de cada time nessa sequência são 1 e 10, respectivamente. 100 (a) Mapa de calor obtido para o jogador 1. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 42 – Mapa de calor do jogador 1 que descreve sua ocupação em quadra. 101 (a) Mapa de calor obtido para o jogador 2. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 43 – Mapa de calor do jogador 2 que descreve sua ocupação em quadra. 102 (a) Mapa de calor obtido para o jogador 4. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 44 – Mapa de calor do jogador 4 que descreve sua ocupação em quadra. 103 (a) Mapa de calor obtido para o jogador 5. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 45 – Mapa de calor do jogador 5 que descreve sua ocupação em quadra. 104 (a) Mapa de calor obtido para o jogador 6. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 46 – Mapa de calor do jogador 6 que descreve sua ocupação em quadra. 105 (a) Mapa de calor obtido para o jogador 7. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 47 – Mapa de calor do jogador 7 que descreve sua ocupação em quadra. 106 (a) Mapa de calor obtido para o jogador 8. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 48 – Mapa de calor do jogador 8 que descreve sua ocupação em quadra. 107 (a) Mapa de calor obtido para o jogador 9. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 49 – Mapa de calor do jogador 9 que descreve sua ocupação em quadra. 108 (a) Mapa de calor obtido para o jogador 10. (b) Pontos referentes às posições dadas pelo gabarito do jogador desenhados sobre o mesmo mapa. Figura 50 – Mapa de calor do jogador 10 que descreve sua ocupação em quadra. 109