12
Relatório Parcial de Atividades Março 2015 Sistema de Visão Computacional para Futebol de Robôs Lucas Lugão Guimarães Instituto Tecnológico de Aeronáutica [email protected] 1

article_2.pdf

Embed Size (px)

Citation preview

Relatrio Parcial de Atividades Maro 2015Sistema de Viso Computacional paraFutebol de RobsLucas Lugo GuimaresInstituto Tecnolgico de [email protected] Parcial de Atividades Maro 2015Contedo2Relatrio Parcial de Atividades Maro 2015I. Resumo do Plano InicialO presente projeto tem como objetivo principal a criao e implementao de um sistemade viso computacional que a partir dos dados de uma cmera xa seja capaz de ob-ter informaes sobre posio (x, y) e orientao dos robs jogadores de futebol e dabola para aplicao na categoria Very Small Size de futebol de robs regulada pela RoboCup.Para a soluo do problema esse foi dividido em trs etapas, obteno da imagem eseleodecor, labelingegroupingsendoqueabibliotecaOpenCVfoi utilizadanaprimeira.Como descrito por [?] esse processo pode ter como base o processamento deimagens binrias, isto , imagens preto e brancas que so obtidas a partir da seleo de cor.Dessa maneira esse trabalho visa utilziar as tcnicas exploradas no livro supracitadocomo base para o desenvolvimento de um sistema robusto e otimizado para a viso nacategoria Very Small Size.II. Resumo das AtividadesInicialmenteforamfeitosdiversostestesdeconceitoemvisocomputacionalparaafamiliarizao com a biblioteca OpenCV bem como para o entendimento das tecnicas maissimples de ltragem de imagens. Aps essa etapa foi dado inicio ao desenvolvimento dosistema de viso computacional que futuramente seria utilizado na Competio LatinoAmericana e Brasileira de Robtica 2014 (LARC 2014).Nesse sistema foi implementado todo o processo descrito no plano inicial bem como testesde desempenho comparando certos algoritmos nas trs etapas de processamento. Por mo sistema foi testado e utilizado na competio se mostrando estavel aps a conguraono local.Almdissofoifeitaumainterfaceparaqueaanlisedoprocessamentopudesseserfeita em tempo real indicando possiveis falhas e problemas na deteco. Vale citar que o3Relatrio Parcial de Atividades Maro 2015sistema descrito foi integrao aos demais sistemas de comunicao, tomada de deciso econtrole dos robs sendo que esse ultimo utilizou diretamente os dados sobre a posiodas entidades em campo para seu funcionamento.ParaoprocessoinicialdeobtenodaimagemfoiutilizadaumacameraUSBLogi-tech c920 aliada biblioteca OpenCV que possibilitou a oteno dos frames de maneirasimples uma vez que essa biblioteca possui vasta documentao. Ainda utilizando aOpenCVfoifeitaaseleodascoresatravsdothresholdingdaimagemresultandoem uma imagem binria que posteriormente seria dada como entrada para o algoritmode labeling baseado em DFS. Por m o agrupamento das entidades foi feito com umalgoritmo simples que tinha como sada as posies e orientao dos robos e da bolacruciais para o funcionamento do restante do sistema.4Relatrio Parcial de Atividades Maro 2015III. Descrio do problemaNa categoria de futebol de robs Very Small Size dois times disputam uma partida defutebol em times de 3 jogadores em que um deles o goleiro. A quadra utilizada pretaepossuimarcaesbrancasparacobranadetirolivreeiniciodejogo. Almdisso, cada rob jogador precisa apresentar em seu topo um padro de cores previamentedeterminados com nalidade de possibilitar melhor deteco pela viso. A bola utilizada uma bola de golf laranja, cor que no pode aparecer nos robs. Para a captura dasimagens as equipes devem posicionar cmeras a uma distncia mnima de 2 metros dealtura em relao ao campo.Figura 1: Esquema geral de uma partida de VSS.Observa-sequeaimagemobtidapelacmerapossuiobjetosdecoreseformatosbastante especcos a serem detectados o que de certa forma contribui para a preciso erobusts do sistema como um todo. Para facilitar a descrio do problema podemos divid-lo em duas etapas, a de obteno e preparao da imagem e a deteco propriamentedita:I. Obteno de imagem e pr-processamentoPara obter a imagem foi utilizada a biblioteca OpenCV responsvel por criar um objetoque contivesse toda informao do frame, isto , todos os pixels da imagem na forma de5Relatrio Parcial de Atividades Maro 2015uma matriz. Entretanto, cada pixel deve ter sua cor representada em um determinadoespao de cor dos quais destacam-se dois espaos mais usuais: o RGB em que informadoa intensidade da cor em cada canal, vermelho (Red), verde (Green) e azul (Blue) e o HSVem que informada a matiz (Hue), saturao (Saturation) e valor (Value) da cor. Nocaso do problema aqui apresentado o espao escolhido foi o HSV pois permite levar emconta variaes na iluminao e calibrao da cmera de maneira mais simples uma vezque determinado o valor da matiz procurada os outros valores podem variar com certaliberdade.II. Deteco de EntidadesII.1 Color FilteringA primeira etapa de processamento se baseia em transformar a imagem obtida pela cmeraem vrias imagens binrias, isto , imagens preto e brancas que contm a informaoreferente a cada cor ltrada. Para esse ltro foi utilizado um processo chamdo thresholdingque consiste em classicar cada pixel tendo em vista limites previamente determinados decada canal. Visto que esse processo implementado e otimizado pela biblioteca OpenCVessa foi escolhida para a execuo desse passo.Figura 2: Processo de thresholding de cores. As setas vermelhas indicam os limites e as barras indicam ovalor de cada componente para duas cores encontradas em uma imagemII.2 LabelingUma vez obtida a imagem binria correspondente a uma determinada cor necessriomarcar os pixels que esto conectados com um mesmo rtulo (ou label) de modo que uma6Relatrio Parcial de Atividades Maro 2015marcao em um rob receba um rtulo diferente da marcao de outro rob mesmo queessas possuam a mesma cor. Alm disso outras informaes podem ser obtidas sobreesses aglomerados como o seu tamanho que sendo util para decidir se trata-se ou no deuma marcao no rob.Para esse procedimento modelamos a imagem binria com um grafo no direcionado emque os pixels pretos so os vertices e existem arestas conectando todos aqueles que soadjacentes. Dessa forma as componentes fortemente conexas desse grafo representampixels que devem ser marcados com o mesmo rtulo e portanto basta realizar um algoritmode busca como o DFS para realizar tal procedimento de labeling.Figura 3: Processo de labeling baseado em grafo.II.3 Grouping7Relatrio Parcial de Atividades Maro 2015IV. Resultados obtidos8Relatrio Parcial de Atividades Maro 2015V. Concluses9Relatrio Parcial de Atividades Maro 2015VI. Plano de trabalho e cronograma10Relatrio Parcial de Atividades Maro 2015VII. AgradecimentosGostaria de agradecer ao meu orientador, prof. Jackson Paul Matsuura e a toda equipe daITAndroids pelo suporte prestado na concepo e desenvolvimento do projeto. Por m,gostaria de agradecer ao CNPq por oferecer a bolsa de Iniciao Cientca.11Relatrio Parcial de Atividades Maro 2015Referncias[KIM, Jong-Hwan, 2004] Soccer Robotics. New York: Springer, 2004. p. 71-101.12