Qual Horário Posso Jogar Tênis?

Atualização: O site da câmera já deve ter saído do ar. Coloquei o link para download do código.

A Faculdade de Educação Física (FEF) da Unicamp dispõe de três quadras de tênis para uso dos alunos e, até onde eu sei, para o público em geral. Por isso, há grande demanda e é difícil saber em quais horários as quadras estão disponíveis. A FEF instalou uma webcam para ajudar nessa questão, mas o máximo que você consegue com ela é saber se a quadra está vazia naquele exato momento. E você ainda corre o risco de, no intervalo entre a sua visita a webcam e a chegada na quadra, todas elas estejam ocupadas por alguma aula ou outras pessoas na mesma situação.

Webcam da FEF

É claro que, se você estiver com muito tempo livre, você pode visitar a galeria de fotos anteriores da webcam e tentar estimar qual o horário menos ocupado. Essa galeria tem fotos de meia em meia hora e isso torna difícil a estimativa. O ideal para estimar melhor seria assistir durante alguns dias a utilização das quadras, uma alternativa menos viável ainda. Mas não existiria uma forma automática para obter essas estatísticas?

Utilizando conceitos básicos de visão computacional é possível obter estatísticas razoáveis da utilização das quadras de forma automática. O procedimento é muito simples. Toma-se duas imagens consecutivas da webcam em tons de cinza. Nessas duas imagens, separam-se os trechos que representarão cada uma das quadras. Dos respectivos trechos das duas imagens, tira-se a diferença absoluta entre os pixels. Essa operação dá uma estimativa da variação entre as duas imagens. A idéia é que se ninguém estiver jogando a variação será baixa, enquanto se houverem pessoas jogando a variação será alta. Abaixo você pode ver como fica a diferença entre duas imagens.

Imagem Diferença entre duas imagens da câmera

Na imagem, as pessoas aparecem em tons claros enquanto a quadra ficou toda em tons escuros. A próxima tarefa é analisar esta imagem e dizer se houve ou não utilização das quadras no intervalo. Para contornar problemas com ruídos aplica-se um limiar, no qual abaixo de um certo tom de cinza troca-se a cor por preto e acima por branco. Veja o resultado:

Aplicado o limiar…

Houve movimentação caso apareçam pixels brancos e não houve caso contrário. Obtendo essa informação a cada trinta segundos e agrupando a cada hora, temos uma estimativa razoável do uso. Como foi dito antes, devemos separar os trechos da imagem que representam cada quadra para ter a informação individual. O gráfico abaixo foi gerado com estatísticas reais e é uma forma de apresentar os resultados.

Estatísticas de uso da quadra para o dia 20/10/2007

O código foi todo implementado em python e o programa está rodando e extraindo as estatísticas continuamente. O próximo passo é criar uma página para disponibilizar os gráficos automaticamente e verificar se, finalmente, consigo jogar tênis livremente :-) .

3 Responses to “Qual Horário Posso Jogar Tênis?”

  1. Wagner Yukio Matsushita Says:

    Tony, mininu prodígio!

    Você que fez este programa? Que legal cara! Só que não fica divulgando não, senão você não vai mais conseguir jogar tênis hora nenhuma! heheheh. Faz um add-on para os alunos cadastrarem um e-mail, uma quadra(não é obrigatório) e uma faixa de horário de interesse. Aí o sistema avisa quando a(s) quadra(s) esvaziar(em)! hahahaha

    Abraço Tonão!

  2. tony Says:

    Olá Wagão! O programa é bem simples. Python facilitou muito também. Gostei da sua idéia! Se alguém se interessar, eu implemento :-) . Abração.

  3. frangossauro Says:

    Falta estimar quando as quadras ficam livres, estatisticamente. Acho que markov dá conta do recado :)

Leave a Reply