Sistema de tracking para inserção dinâmica de linha de...

45
Sistema de tracking para inserção dinâmica de linha de impedimento em vídeos de jogos de futebol Rodrigo Busato Sartor Orientador: Paulo César Rodacki Gomes

Transcript of Sistema de tracking para inserção dinâmica de linha de...

Page 1: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Sistema de tracking para inserção dinâmica de linha de

impedimento em vídeos de jogos de futebol

Rodrigo Busato SartorOrientador: Paulo César Rodacki Gomes

Page 2: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Roteiro

• Introdução• Objetivos• Fundamentação teórica• Desenvolvimento• Resultados e discussões• Conclusão• Extensões

Page 3: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Roteiro

• Introdução• Objetivos• Fundamentação teórica• Desenvolvimento• Resultados e discussões• Conclusão• Extensões

Page 4: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Introdução

• Impedimento • Detecção de objetos em movimento• Tracking• Realce das linhas do campo

Page 5: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Roteiro

• Introdução• Objetivos• Fundamentação teórica• Desenvolvimento• Resultados e discussões• Conclusão• Extensões

Page 6: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Objetivos

• Desenvolver os passos iniciais para inserção da linha de impedimento em vídeos de jogos de futebol

• Identificar as linhas que delimitam o campo, incluindo a pequena e grande área.

• Realizar o acompanhamento dos jogadores através de técnicas de tracking.

Page 7: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Roteiro

• Introdução• Objetivos• Fundamentação teórica• Desenvolvimento• Resultados e discussões• Conclusão• Extensões

Page 8: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teórica• Posição de impedimento• Detecção de objetos em movimentos

– Tracking– Objetos em movimento– Optical flow

• Filtros de Imagem– Imagens de vídeo

• Realce de linhas– Passa-alta– Passa-baixa– Limiarização (threshold)

Page 9: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teórica

Posição de impedimento• A lei 11 do livro de regras do futebol rege

que:

“Um jogador estará em posição de impedimento quando se encontrar mais próximo da linha de meta adversária do que a bola e o penúltimo adversário”

Page 10: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teórica

Posição de impedimento

Page 11: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaDetecção de objetos em movimentos

• Tracking– É um registro especial de imagens onde

procura-se um objeto dado em uma imagem dada

– O espaço de busca é limitado, pois é considerado que objeto tenha uma trajetória continua.

Page 12: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaDetecção de objetos em movimentos

• Tracking (continuação...)– Muitos sistemas de tracking utilizam como

passo inicial a detecção dos movimentos (optical flow)

– Após a detecção do movimento podem ser utilizadas algumas técnicas como a segmentação adaptativa para realizar o optical flow apenas na área de interesse

Page 13: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaDetecção de objetos em movimentos

• Objetos em movimento– Uma das maneiras mais simples de realizar a

detecção dos movimentos, é a comparação pixel por pixel, o que gera uma imagem binaria, onde na comparação entre os frames os pixels que tiverem uma diferença significativa, ficam em branco, e o restante em preto

Page 14: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaDetecção de objetos em movimentos

• Optical flow– Fornece meios de determinar e representar o

movimento dentro de uma sequencia de imagens

– Quando é detectado movimento em um pixel toda região em sua volta é examinada

– O tamanho da área examinada é determinada pelo tamanho da aceleração máxima tanto para x quanto para y

Page 15: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaDetecção de objetos em movimentos

• Optical flow (continuação...)– A área é analisada de dentro para fora partindo

do pixel central até encontrar um pixel correspondente

– Após a detecção do movimento, pode ser previsto a posição esperada do pixel no próximo frame

– A localização do pixel no próximo frame é dada pela soma da posição atual mais a diferença entre a posição atua e a posição anterior. Tanto para o eixo “x” quanto para o eixo “y”

Page 16: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem

• Imagens de vídeo– Um vídeo é uma sequência S de imagens It,

onde It indica a imagem no tempo t do vídeo– Uma imagem I pode ser representada pela

funçãoI : D⊂ℜ² →ℜn

– Onde D é o domínio da imagem e n é um número escalar para representar a cor de um pixel qualquer

– geralmente um byte ou seja de 0 a 255

Page 17: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem• Representação da imagem de um vídeo

Page 18: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem

• Realce de linhas– É realizado para detectar pontos candidato a

estarem sobre os segmentos de retas presentes na imagem

Page 19: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem

• Passa-alta– Funciona mantendo os trechos de alta

frequência e eliminando as baixas, sendo utilizado para detectar as bordas da imagem

– Pode ser utilizado o algoritmo laplaciano que é definido pelo operado matemático ∇.

– Devido à interferência, o laplaciano mantem pontos que possuem frequência alta, mais não pertencem a imagem

Page 20: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem

• Passa-alta (continuação...)

Page 21: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem

• Passa-baixa– Funciona mantendo os trechos de baixa

frequência e eliminando as altas, sendo utilizado para reduzir as interferências ocasionadas por exemplo pela transmissão da TV

– Pode ser utilizado o algoritmo de gaussiano

Page 22: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem

• Passa-baixa (continuação...)

Page 23: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem

• A junção do algoritmo laplaciano e gaussiano é descrito como algoritmo laplaciano da gaussiana ou simplesmente LoG

Page 24: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem

• Laplassiano da gaussiana (continuação...)

Page 25: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem

• Limiarização (threshold)– O principio da limiarização consiste em separar

de uma imagem em duas classes (o fundo e o objeto). Produzindo ao seu final uma imagem binaria

– A forma mais simples de limiarização consiste na bipartição do histograma, convertendo os pixels cujo tom de cinza é maior ou igual a um certo valor limiar em branco e os demais em pretos

Page 26: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teóricaFiltros de imagem

• Limiarização (threshold) (continuação...)

Page 27: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Fundamentação teórica

Trabalhos correlatos• Calibração de câmeras para cálculo de

impedimentos (FURB, 2003)• Ambiente virtual tridimensional para cálculo de

impedimento (FURB, 2004)• Acompanhamento de cenas com calibração

automática de câmeras (PUC-RJ, 2001)

Page 28: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Roteiro

• Introdução• Objetivos• Fundamentação teórica• Desenvolvimento• Resultados e discussões• Conclusão• Extensões

Page 29: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Desenvolvimento

• Especificação– Requisitos– Caso de uso– Diagrama de classes – Diagrama de sequência

• Implementação– Ferramentas e técnicas– Principais funcionalidades

Page 30: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Desenvolvimento

Principais requisitos• Fncionais

– Permitir inserir um vídeo de uma partida de futebol;– Disponibilizar o vídeo para visualização com o rastreamento

de jogadores;– Disponibilizar o vídeo para visualização com o realce de

linhas;• Não funcionais

– O protótipo será desenvolvido na linguagem de programação Java, no ambiente de desenvolvimento Eclipse;

– O protótipo será desenvolvido utilizando framework Java Media Framework (JMF);

– O protótipo executará o vídeo gerado sem atrasos ou falhas de reprodução.

Page 31: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Desenvolvimento

Casos de uso uc Use Case Model

UsuárioGerar linha de impedimento

Informar v ídeo contendo um jogo de

futebol

Page 32: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Desenvolvimento

Diagrama de classes class Class Model

WeightedBlobCorrelator

- confidence: double ([][])- hcNew: int- hcOld: int- infoWeight: double ([])- minCorrelationConfidence: double = NO_CONFIDENCE- nextLabel : int = 1- NO_CONFIDENCE: double = -Double.MAX_VALUE {readOnly}- prevNow: double = 0.0

- calcAllConfidences(List<Blob>, List<Blob>) : void- calculateConfidence(Blob, Blob) : double+ correlate(List<Blob>, List<Blob>) : List<Blob>- correlate(Blob, Blob) : Blob- findHighestConfidence(List<Blob>, List<Blob>) : double+ WeightedBlobCorrelator()

«interface»BlobCorrelator

+ correlate(List<Blob>, List<Blob>) : List<Blob>

BlobManager

- blobAgeOfAcceptance: double- correlatedBlobList: List<Blob>- correlator: BlobCorrelator- listeners: List<BlobManagerListener>- maxBlobMissingTime: double- uncorrelatedBlobList: List<Blob>- videoSize: Dimension

+ addListener(BlobManagerListener) : void+ BlobManager()+ getBlobAgeOfAcceptance() : double+ getBlobList() : List<Blob>+ getMaxBlobMissingTime() : double+ getUncorrelatedBlobList() : List<Blob>+ getVideoSize() : Dimension+ removeListener(BlobManagerListener) : void- removeOldBlobs() : void+ setBlobAgeOfAcceptance(double) : void+ setMaxBlobMissingTime(double) : void+ setVideoSize(Dimension) : void+ updateBlobs(List<Blob>) : void

Blob

+ bounds: Rectangle+ frameLabel: int+ frameNumber: int+ label: int+ NOT_CORRELATED: int = -1 {readOnly}+ pixelCount: int+ timeCreated: double+ timeLastUpdated: double+ timeMissing: double+ velocity: Point2D.Double

+ Blob(int, Rectangle)

EffectCodecVideo

- active: boolean# displayImage: BufferedImage- frameListenerList: List<VideoFrameListener>- input: Format = null- nCalls: long- output: Format = null+ PROP_VIDEO_SIZE: String = "videoSize" {readOnly}- propSupport: PropertyChangeSupport = new PropertyCha...# supportedIns: Format ([]) = new Format[] { ...# supportedOuts: Format ([]) = new Format[] { ...- totalT ime: double- videoSize: Dimension = new Dimension()

+ addVideoFrameListener(VideoFrameListener) : void+ close() : void+ CodecVideo()+ getAvgProcessingTime() : double+ getControl(String) : Object+ getControls() : Object[]+ getDisplayImage() : BufferedImage+ getName() : String+ getSupportedInputFormats() : Format[]+ getSupportedOutputFormats(Format) : Format[]+ getVideoSize() : Dimension+ isActive() : boolean- notifyVideoFrameListeners() : void+ open() : void+ process(Buffer, Buffer) : int# processRGB(byte[], byte[], VideoFormat) : boolean+ removeVideoFrameListener(VideoFrameListener) : void+ reset() : void+ setActive(boolean) : void+ setInputFormat(Format) : Format+ setOutputFormat(Format) : Format# updateImage(byte[], VideoFormat) : void

JFrameControllerListener

VirtualFlag

# backgroundUpdater: BackgroundUpdater# blobManager: BlobManager# bufferAccessor: BufferAccessor- effectChain: CodecVideo ([])- processor: Processor- stateTransitionOK: boolean = true- waitSync: Object = new Object()

+ controllerUpdate(ControllerEvent) : void# createEffectChain() : CodecVideo[]+ getEffect(Class<? extends RgbVideoEffect>) : CodecVideo+ getMediaLocator() : MediaLocator+ getProcessingChain() : CodecVideo[]- initConponents() : void+ main(String[]) : void+ menu() : JMenuBar+ open(MediaLocator) : boolean+ VirtualFlag()~ waitForState(int) : boolean

+correlator

#blobManager

-effectChain

Page 33: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Desenvolvimento

Diagrama de classes class Class Model

BlobDetector

- blobManager: BlobManager- changeLabel: int ([]) = new int[MAX_LAB...- format: VideoFormat- frameNumber: int = -1- labelImage: int ([]) = new int[0]+ MAX_LABELS: int = 320 * 240 / 4 {readOnly}- maxBlobSize: int = Integer.MAX_VALUE- minBlobSize: int = 16

+ BlobDetector(BlobManager, int, int, int)- checkNeighborLabel(VideoFormat, int, int) : int- compressLabelEquivalences(int) : void- createBlobList(VideoFormat, int, int) : List<Blob>- doLabel ing(byte[], VideoFormat, int) : int- fi lterBlobsBySize(List<Blob>) : List<Blob>+ getCurrentFrameNumber() : int+ getLastLabelImage() : int[]+ getLastLabelImageSize() : Dimension+ getMaxBlobSize() : int+ getMinBlobSize() : int+ getName() : String- ini tFrame(VideoFormat) : int- makeLabelsContiguous(int) : int# processRGB(byte[], byte[], VideoFormat) : boolean- resolveLabelEquivalences(byte[], VideoFormat, int) : void+ setMaxBlobSize(int) : void+ setMinBlobSize(int) : void# updateImage(byte[], VideoFormat) : void- updateNeighbor(int, int) : void

FilterLoG

- bti: BufferToImage~ first: boolean = true

- convolveImagem(BufferedImage, double[][]) : double[]+ cruzaZero(double[][], BufferedImage) : void- distancia(double, double, double, double) : double+ fil terExecute(double, BufferedImage) : void+ Fi lterLoG()- funcLoG(double, double) : double- gauss(double, double) : double

BackgroundUpdater

- background: byte ([]) = nul l- BACKGROUND_GRAB_TIME: int = 1 {readOnly}- buffAcc: BufferAccessor- frameNumber: long = 0

+ BackgroundUpdater(BufferAccessor)+ getBackground() : byte[]+ getName() : String+ isCapturing() : boolean# processRGB(byte[], byte[], VideoFormat) : boolean+ resetBackground() : void# updateImage(byte[], VideoFormat) : void

BufferAccessor

- buffer: byte ([])- size: Dimension

+ BufferAccessor()+ getBuffer() : byte[]+ getBufferSize() : Dimension+ getName() : String# processRGB(byte[], byte[], VideoFormat) : boolean# updateImage(byte[], VideoFormat) : void

DifferenceInputBackground

- bgUpdater: BackgroundUpdater

+ DifferenceInputBackground(BackgroundUpdater)+ getName() : String# processRGB(byte[], byte[], VideoFormat) : boolean

ThresholdEffect

# passCount: int# passRatio: float# threshold: char = 64

+ getName() : String+ getPassCount() : int+ getPassRatio() : float+ getThreshold() : char# processRGB(byte[], byte[], VideoFormat) : boolean+ setThreshold(char) : void+ ThresholdEffect()# updateImage(byte[], VideoFormat) : void

EffectCodecVideo

- active: boolean# displayImage: BufferedImage- frameListenerList: List<VideoFrameListener>- input: Format = nul l- nCal ls: long- output: Format = nul l+ PROP_VIDEO_SIZE: String = "videoSize" {readOnly}- propSupport: PropertyChangeSupport = new PropertyCha...# supportedIns: Format ([]) = new Format[] { ...# supportedOuts: Format ([]) = new Format[] { ...- totalTime: double- videoSize: Dimension = new Dimension()

+ addVideoFrameListener(VideoFrameListener) : void+ close() : void+ CodecVideo()+ getAvgProcessingTime() : double+ getControl(String) : Object+ getControls() : Object[]+ getDisplayImage() : BufferedImage+ getName() : String+ getSupportedInputFormats() : Format[]+ getSupportedOutputFormats(Format) : Format[]+ getVideoSize() : Dimension+ isActive() : boolean- notifyVideoFrameListeners() : void+ open() : void+ process(Buffer, Buffer) : int# processRGB(byte[], byte[], VideoFormat) : boolean+ removeVideoFrameListener(VideoFrameListener) : void+ reset() : void+ setActive(boolean) : void+ setInputFormat(Format) : Format+ setOutputFormat(Format) : Format# updateImage(byte[], VideoFormat) : void

-bgUpdater

-buffAcc

Page 34: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Desenvolvimento

Diagrama de sequencia

Page 35: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Desenvolvimento

Ferramentas e técnicas• Linguagem Java versão 6.0• API Java Media Framework (JMF)• IDE Eclipse Helios

Page 36: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Desenvolvimento

Principais funcionalidades• Carregar vídeo

Page 37: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Desenvolvimento

Principais funcionalidades• Vídeo executando reconhecimento de movimentos

Page 38: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Desenvolvimento

Principais funcionalidades• Vídeo executando realce de linhas

Page 39: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Roteiro

• Introdução• Objetivos• Fundamentação teórica• Desenvolvimento• Resultados e discussões• Conclusão• Extensões

Page 40: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Resultados e discussões

• Rastreamento dos jogadores com visualização dinâmica

• É necessário refinar a solução• O rastreamento considerou objetos do

fundo da cena (tais como placas de propaganda)

• Foi feito pré-processamento gráfico para detecção de linhas mais faltou implementação de reconhecimento, classificação e cálculo de homografia

Page 41: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Roteiro

• Introdução• Objetivos• Fundamentação teórica• Desenvolvimento• Resultados e discussões• Conclusão• Extensões

Page 42: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Conclusão

• Não foi possível a atender todos os objetivos propostos por terem se tornado demasiadamente complexos, para o período de desenvolvimento

• O trabalho implementou tracking para jogos de futebol, mais ainda necessita refinamento

• Pode ser agregado a trabalhos correlatos para a continuação da linha de pesquisa

Page 43: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Roteiro

• Introdução• Objetivos• Fundamentação teórica• Desenvolvimento• Resultados e discussões• Conclusão• Extensões

Page 44: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Extensões

• Melhoria no rastreamento de jogadores• Implementação de reconhecimento de linhas

e cálculo de homografia (calibração de câmeras)

• Implementação de inserção da linha de impedimento

• Um sistema estático utilizando o rastreamento dos jogadores para verificar a distancia percorrida, área que mais atuou entre outros dados

Page 45: Sistema de tracking para inserção dinâmica de linha de ...dsc.inf.furb.br/arquivos/tccs/apresentacoes/TCC2011-2-25-AP-Rodrig… · • Passa-alta – Funciona mantendo os trechos

Apresentação do protótipo