Reconhecimento de Objetos em Tempo Real Utilizando Visão Computacional para o Futebol de Robôs

Tamanho: px
Começar a partir da página:

Download "Reconhecimento de Objetos em Tempo Real Utilizando Visão Computacional para o Futebol de Robôs"

Transcrição

1 DEPARTAMENTO ACADÊMICO DE SISTEMAS, PROCESSOS E CONTROLES ELETRO-ELETRÔNICO COORDENAÇÃO DE SISTEMAS DE INFORMAÇÃO Reconhecimento de Objetos em Tempo Real Utilizando Visão Computacional para o Futebol de Robôs Felype Nery de O. Vasconcelos Raphael Passos Gibson Recife Agosto

2 Felype Nery de O. Vasconcelos Raphael Passos Gibson Reconhecimento de Objetos em Tempo Real Utilizando Visão Computacional para o Futebol de Robôs Trabalho de Conclusão de Curso apresentado ao curso de Tecnologia em Análise e Desenvolvimento de Sistemas, como prérequisito para obtenção do título de Tecnólogo em Análise e Desenvolvimento de Sistemas pelo Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco - IFPE. Orientador: Prof. Msc. Paulo Abadie Guedes Recife Agosto 2014

3 ii

4 iii AGRADECIMENTOS Agradecemos primeiramente a Deus e às nossas famílias por todo apoio e confiança, sem eles nada seria possível. Ao professor Paulo Abadie por toda a dedicação e paciência conosco durante a graduação e orientação neste trabalho, ao professor Anderson Moreira por sempre se mostrar disponível para ajudar e contribuir com o projeto e aos outros professores e funcionários do curso que de alguma forma contribuíram com o nosso amadurecimento profissional, pessoal e acadêmico. Agradecemos também às amizades que fizemos durante o curso que sempre nos incentivaram e tornaram nossa graduação mais divertida, não temos dúvidas que todos serão excelentes profissionais.

5 iv LISTA DE ACRÔNIMOS BPP F180 FIRA EAPH GPU GUI HSI HSV IDE IEEE IFPE NASA OpenCV PERCRO RAM RGB RoboCup ROI SSL SVC VM VRAM Bit Per Pixel Categoria Small Size Robot Soccer Federation International of Robot soccer Association Exoesqueletos para Aumento de Performance Humana Graphics Processing Unit Graphical User Interface Hue, Saturation and Intensity Hue, Saturation and Value Ambiente Integrado de Desenvolvimento Institute of Electrical and Electronics Engineers Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco National Aeronautics and Space Administration Open Source Computer Vision Library Perceptual Robotics Laboratory Random Access Memory Red, Green, Blue Robot World Cup Initiative Region of Interest Small Size League Sistema de Visão Computacional Virtual Machine Video RAM

6 v LISTA DE EQUAÇÕES Equação 1 - Convolução Contínua Equação 2 - Convolução Discreta Equação 3- Transformação de RGB para HSI Equação 4 - Transformação de HSI para RGB Equação 5 - Erosão de A por B Equação 6 - Dilatação de A por B Equação 7 - Condição de Limiarização Equação 8 - Momentos de ordem p+q Equação 9 - Momentos aplicados a imagens Equação 10 - Momentos centrais Equação 11 - Variância em X e Y Equação 12 - Direção do Objeto... 27

7 vi LISTA DE FIGURAS Figura 1 - Imagem do PERCRO BE... 5 Figura 2 - Projeto Andar Denovo... 6 Figura 3 - Humanoid League... 8 Figura 4 - Middle Size League... 8 Figura 5 - Simulation League 2D e 3D, respectivamente... 9 Figura 6 - Robôs Aibo e Nao, respectivamente... 9 Figura 7 - Robôs da categoria F Figura 8 - Sistema do Futebol de Robôs Figura 9 - Representação de um sistema de visão computacional genérico Figura 10 - Adaptador gráfico simples Figura Níveis de intensidade Figura 12 - Monitor colorido Figura 13 Versão 8 bits, 16 bits e 64 bits do personagens Mario Figura 14 - Conceito de 4-vizinhança, vizinhança diagonal e 8-vizinhança Figura 15 - Representação do cubo RGB Figura 16 - Repreentação do cone HSI Figura 17 - Exemplo de Binarização Figura 18 - Tela do SSL-Vision Figura 19 - Tela do Projeto Find-Object Figura 20 - Exemplo de detecção de faces com OpenCV Figura 21 - Câmera na posição vertical Figura 22 - Campo Colocado na Parede Figura 23 - Passos para a calibração da câmera Figura 24 - Definição da Região de Interesse Figura 25 - Calibração das cores dos marcadores Figura 26 - Fluxograma do processamento Figura 27 - Identificação dos objetos no campo Figura 28 - Significado dos marcadores nos robôs Figura 29 - Reconhecimento dos robôs e da bola Figura 30 - Gráfico do tempo em segundos Vs Quantidade de robôs Figura 31 - Criando um exemplo no Qt Studio Figura 32 - Qt Studio configurado com o OpenCV... 54

8 vii Figura 33 - Vista em corte do olho humano Figura 34 - Como a imagem chega ao cérebro Figura 35 - Abertura e fechamento da córnea... 76

9 viii RESUMO O futebol de robôs se apresenta à comunidade científica com o intuito de ser um problema padrão para a pesquisa nas áreas de inteligência artificial, robótica e visão computacional. O problema consiste em realizar uma partida de futebol utilizando robôs autônomos como jogadores. Este tipo cenário envolve diversos problemas relacionados a muitas áreas do conhecimento, fazendo com que os participantes apliquem soluções com uma equipe multidisciplinar. Este trabalho descreve o projeto e a implementação de um módulo de visão computacional para futebol de robôs que utiliza uma abordagem por espaço de cores HSV e descritores, de forma que utilizam o método estatístico dos momentos. O módulo desenvolvido foi capaz de oferecer informações sobre a posição e identificação dos jogadores e da bola através da aquisição e processamento de imagens em tempo real, permitindo que ações possam ser tomadas automaticamente pela equipe. Palavras-chave: Visão Computacional, Futebol de Robôs, OpenCV, Descritores, HSV

10 ix ABSTRACT The robot soccer presents itself to the scientific community in order to be a standard problem for research in the areas of artificial intelligence, robotics and computer vision. The problem consists in bringing a soccer match using autonomous robots as players where this scenario involves several kinds of issues relating to many areas of knowledge, causing the participants to apply technical solutions with a multidisciplinary team. This work describes the project and the implementation of a computer vision module for robot soccer that uses an approach by the HSV color space and shape descriptors using the statistical method of moments. The module developed was able to providing information about the location and identification of the players also the ball through the acquisition and processing of images in real time, allowing actions to be taken automatically by the team. Keywords: Computer Vision, Robot Soccer, OpenCV, Descriptors, HSV

11 x SUMÁRIO 1. INTRODUÇÃO MOTIVAÇÃO OBJETIVO GERAL OBJETIVOS ESPECÍFICOS FUNDAMENTAÇÃO TEÓRICA ROBÓTICA FUTEBOL DE ROBÔS Modalidades Small Size League MÓDULO DE VISÃO DO FUTEBOL DE ROBÔS VISÃO COMPUTACIONAL PROCESSAMENTO DE IMAGENS Imagem Digital Vizinhanças de um Pixel Conectividade Convolução com Máscaras Modelos de Cor Operações Morfológicas Limiarização Região de Interesse Segmentação Descritores de Forma Momentos FERRAMENTAS SSL-Vision Find-Object OpenCV IDEs METODOLOGIA CAPTURA DA IMAGEM... 33

12 xi 3.2. CALIBRAÇÃO PROCESSAMENTO EXIBIÇÃO DAS INFORMAÇÕES RESULTADOS CONCLUSÕES E TRABALHOS FUTUROS BIBLIOGRAFIA APÊNDICES APÊNDICE 1 - INSTALAÇÃO DO OPENCV APÊNDICE 2 - CONFIGURAR O ECLIPSE, NETBEANS E QT STUDIO Eclipse NetBeans Qt Studio APÊNDICE 3 CÓDIGO-FONTE DO TRABALHO tcc.pro main.cpp mainwindow.ui mainwindow.h mainwindow.cpp Objeto.h Objeto.cpp Bola.h Bola.cpp Marcador.h Marcador.cpp Robo.h Robo.cpp APÊNDICE 4 BUG: UVCVIDEO ANEXOS SISTEMA DE VISÃO HUMANA... 74

13 xii No! Try not! Do... or do not. There is no try Master Yoda, Star Wars V

14 1. Introdução Este capítulo tem como objetivo introduzir o tema da pesquisa. Para isto, será explanado de forma simples o que incitou a pesquisa e por qual razão desenvolvê-la, bem como os objetivos gerais e específicos deste trabalho Motivação Encontramos diversas pesquisas no meio acadêmico sobre a utilização de sistemas de visão por máquina. Sua aplicabilidade é imensa, desde a robótica na exploração espacial até a medicina com a detecção de tumores. Dessa forma podemos afirmar que não existe uma implementação padrão para a resolução destas aplicações, o desenvolvimento vai depender dos objetivos de cada problema. Muitas vezes é necessário utilizar técnicas de inteligência artificial para poder avaliar o resultado encontrado de forma autônoma ou mesmo melhorar os parâmetros de entrada do sistema, tornando mais complexo de ser desenvolvido, porém mais robusto. A utilização destes algoritmos não estão limitados ao meio acadêmico e científico. Encontramos soluções com a utilização das técnicas na indústria e no comércio, como por exemplo, na automação industrial e no controle de qualidade (RUDEK; COELHO; CANCIGLIERI, 2001). Já o futebol de robôs é um desafio que é fortemente utilizado para estudos em diversas áreas como na eletrônica, mecânica e computação. Essa complexidade vem atraindo os olhares da comunidade acadêmica já que em um único campo de pesquisa podemos unir o fascínio do esporte com os desafios da robótica. Como é um ambiente dinâmico e de tempo real 1, o futebol de robôs torna-se um ótimo campo de estudo de caso para as técnicas de análise e processamento de imagens com objetivo de 1 Um sistema em tempo real é aquele que tem um tempo de resposta limite a um evento é pré-definido. Esse tempo de resposta é chamado de prazo da tarefa e a perda de um prazo, isto é, o não cumprimento de uma tarefa dentro do prazo esperado, caracteriza uma falha do sistema, que no nosso caso seria a não identificação do robô em um tempo limite de alguns milisegundos.

15 Introdução 2 reconhecer a posição e o movimento de cada objeto com a necessidade que ocorra um retorno rápido e preciso para o sucesso na partida de futebol. Uma das etapas mais importantes para o desenvolvimento de uma equipe de futebol de robôs é a implementação de seu sistema de visão. Basicamente, o sistema de visão computacional será responsável por localizar os elementos participantes (a bola e jogadores) e interpretar as informações adquiridas para a definição da melhor estratégia e ações a serem tomadas Objetivo Geral O objetivo do nosso trabalho é o desenvolvimento do módulo de visão computacional do time de futebol de robôs do IFPE que identifique os robôs e a bola no campo, através de ferramentas de código aberto Objetivos Específicos Desenvolver um módulo de visão computacional com base nos resultados obtidos com o OpenCV e com outros projetos que foram pesquisados e documentados neste trabalho com ferramentas open-sources. O módulo deve implementar um algoritmo para calibração e reconhecimento dos elementos aplicados ao futebol de robôs. Criar um tutorial simples para a configuração completa do ambiente de desenvolvimento no Linux, voltado à criação de sistemas de visão computacional. Antes de aplicar a metodologia escolhida vamos explicar os principais conceitos que serão necessários para criação de um sistema de visão computacional aplicado à robótica no capítulo 2. Serão abordados a história da robótica, criação do futebol de robôs bem como suas organizações e categorias. Depois partiremos para os principais conceitos da visão computacional e de processamento de imagens. No capítulo 3 analisamos as bibliotecas que são definidas pelas regras da competição e outras que são genéricas, mas voltadas para o objetivo do trabalho. Levantamos os custos da aquisição dos componentes necessários para criação da estrutura de apoio da equipe, como câmeras e placa de captura. Testamos alguns projetos e por fim implementamos nossa soluçãoo algoritmo para calibração e reconhecimento dos elementos aplicados ao futebol de

16 Introdução 3 robôs que esta disponível no apêndice 3. Os resultados encontrados e conclusões estão no capítulo 4 e 5 respectivamente.

17 Fundamentação Teórica 4 2. Fundamentação Teórica Neste capítlo serão abordados a história da robótica, criação do futebol de robôs bem como suas organizações, categorias e regras. Depois partiremos para os principais conceitos da visão computacional e de processamento de imagens Robótica Podemos definir a robótica mais do que a união de conhecimentos da engenharia eletrônica, mecânica e da computação. A diversidade de tipos de robôs impedem que tenha uma definição que seja universalmente aceita. Acredita-se que o termo robótica foi usado pela primeira vez pelo escritor de ficção científica Isaac Asimov. Em 1941, foi lançada uma de suas mais famosas obras literárias, o livro I, Robot (Eu Robô). Nessa obra, Isaac Asimov descreveu as três leis da robótica, que segundo o autor, foram criadas exclusivamente para manter a segurança da humanidade. Segundo (RIA) um robô é um dispositivo mecânico articulado reprogramável, que de forma autônoma e recorrente à sua capacidade de processamento obtem informação do meio através de sensores, toma as decisões do que fazer de acordo com uma base de informações ou manipula objetos através de atuadores. Tal preocupação já citadas em obras científicas são justificadas atualmente. Em muitos setores da indústria existem sistemas de automação com robôs. Seja na realização de tarefas perigosas para os seres humanos ou atividades repetitivas que necessitam de uma alta demanda humana, a utilização de robôs no dia a dia é uma realidade. Uma das aplicações que demostram a importância da robótica é o projeto Mars Exploration Program (NASA, 2004) que desde 1997 apresenta resultados e descobertas, até então inalcançável através de robôs de exploração. Outra execelente aplicação são os Exoesqueletos para Aumento de Performance Humana que pertencem a uma classe especial de sistemas robóticos que são concebidos para aumentar as capacidades da força humana como demonstrado em (SIMONE et al., 2011) e (CASSADIO et al., 2011). A principal característica destes tipos de dispositivos é que o operador humano "veste" o robô e controla os movimentos do mesmo, movendo seus membros de forma natural. EHPA são geralmente destinados a aplicações de dispositivos

18 Fundamentação Teórica 5 de apoio aos idosos, pessoas com deficiências locomotoras, na área militar e em aplicações no qual a manipulação de materiais pesados em ambientes não estruturados ou estreitos são necessários. O laboratório PERCRO da Scuola Superiore Sant Anna completou recentemente o desenvolvimento e avaliação funcional do sistema Extensores Corporais BE. O sistema é composto por quatro membros robóticos com cinemática antropomórficas e tem um total de 22 graus de liberdade como visto na Figura 1. A perna dá locomoção e da força com uma servo-amplificação onde permite operações em ambientes que são de difícil acesso pelos convencionais sistemas de manuseio, preservando a sensibilidade durante a manipulação das tarefas. Figura 1 - Imagem do PERCRO BE (PERCRO, 2014) O brasileiro e neurocientista Miguel Nicolelis está desenvolvendo o primeiro exoesqueleto controlado apenas pela mente no mundo em conjunto com pesquisadores de vários países. O projeto se chama Walk Again ou Andar de novo (tradução oficial) e é um resultado de anos de pesquisa de Miguel Nicolelis na Universidade de Duke, EUA (NICOLELIS, 2014), onde o objetivo inicial seria um cadeirante levantar e andar como na Figura 2.

19 Fundamentação Teórica 6 Figura 2 - Projeto Andar Denovo (BLOGDACOPA, 2014) O projeto já apresentou resultados positivos com macacos e já está na fase final de treinamento com seres humanos. Na abertura da Copa do Mundo de Futebol no Brasil, foi feita a primeira demonstração com seres humanos para bilhões de pessoas em todo mundo, onde um paraplégico deu o pontapé inicial da primeira partida da Copa de 2014 que foi entre as seleções do Brasil e Croácia. Esses projetos e tantos outros, demonstram o poder e a importância da robótica para a sociedade (MOREIRA; VASCONCELOS, 2010) (YASUTOMI; MIRANDA, 2011) (BECKER, 2000) Futebol de Robôs Diversas áreas de pesquisa utilizam, como base para seus estudos, problemas de interesse público, de fácil entendimento e que apresentem resultados práticos. Esta prática estimula o ingresso de pesquisadores nestas áreas, além de divulgar os trabalhos realizados para o público em geral. Um problema de crescente aceitação acadêmica é o uso de robôs autônomos em partidas de futebol (PEREZ et al., 2012). Problemas de domínio simbólico, como o jogo de xadrez, possuem um ambiente estático com acesso total às suas informações. Em contraste, o futebol de robôs é realizado em um ambiente dinâmico e em tempo real. Uma partida de futebol com robôs autônomos pode ser utilizado como objeto de pesquisa em diversas áreas da engenharia e da ciência da computação (MEHL et al., 2001). Dentre estas áreas estão a robótica, a inteligência artificial, os sistemas multiagentes, a visão computacional e os sistemas de tempo real (COSTA; PEGORARO, 2000) (ASSIS et al., 2005) (DALBEM, 2010) (NEVES; TADDEI;

20 Fundamentação Teórica 7 BANDEIRA, 2004). O objetivo geral de uma equipe pode ser dividido em vários objetivos secundários, como obter a posse da bola, identificar a posição dos agentes no campo e fazer ou evitar gols. Levando em consideração a situação do jogo, cada membro da equipe deve ter um comportamento cooperativo, flexível e rápido para alcançar os objetivos do time. Os pesquisadores organizaram-se em torno do tema futebol de robôs com o objetivo de disseminar a utilização deste problema como plataforma de pesquisa. Paralelamente duas organizações foram criadas, ambas com o intuito de organizar competições internacionais de futebol de robôs e assim incentivar a produção científica na área e o aperfeiçoamento das equipes (KITANO et al., 1997). A Federation International of Robot Soccer Association organiza competições internacionais para a promoção do futebol de robôs desde A RoboCup é uma iniciativa internacional que incentiva a pesquisa sobre futebol de robôs através da organização de competições internacionais anuais desde 1997, (FIRA, 2014) no qual seu objetivo é em que 2050 o campeão do RoboCup vença o time campeão mundial humano (BURKHARD et al., 2002). As competições na RoboCup são divididas em várias modalidades, que variam quanto aos limites do campo e à forma dos robôs. Além de robôs reais, a FIRA e a RoboCup possuem modalidades no qual a partida é simulada Modalidades No RoboCup existem outras competições envolvendo robôs autônomos, entre elas estão as modalidades Rescue que promove a pesquisa e desenvolvimento no domínio socialmente significativo que é a de resgate em desastres onde a vida humana é colocada em risco, a que desenvolvem robôs que operam em cenários relacionados ao trabalho e a que visa desenvolver serviços de tecnologia assistida robótica com alta relevância para futuras aplicações domésticas pessoais. Ainda tem a modalidade Júnior que envolvem jovens estudantes desde a escola primária até alunos de graduação envolvidos em desafios de dança, futebol e resgate com robôs. Na parte de futebol, temos as modalidades: a. Humanoid: Robôs autônomos com um corpo e sensores parecidos com o de um humano para jogar futebol um contra o outro. Entre as muitas questões de pesquisa

21 Fundamentação Teórica 8 investigadas nesta liga estão as dinâmicas como andar, correr e chutar a bola, manter o equilíbrio, percepção visual da bola, de outros jogadores, e no campo, a auto localização e o jogo em equipe como visto na Figura 3. Figura 3 - Humanoid League (TECHNO, 2011) c. Middle Size: Robôs de tamanho médio de diâmetro não superior a 50 cm que deve jogar futebol em equipes de até seis robôs com uma bola de tamanho normal da FIFA em um campo semelhante a um campo de futebol humano em escala. Todos os sensores são on-board. Robôs podem usar a rede sem fio para se comunicar. O foco da pesquisa está em plena autonomia e cooperação a nível do plano e de percepção mostrado na Figura 4. Figura 4 - Middle Size League (NIPPON, 2012) d. Simulation: Esta é uma das ligas mais antigas da RoboCup Soccer. O foco nesta liga é em inteligência artificial e estratégia da equipe. Em simuladores, agentes de forma e movimentos independentes jogam futebol em um campo virtual dentro de um computador. Há duas subligas: 2D e 3D. Na Figura 5 é possível ver como são as ligas.

22 Fundamentação Teórica 9 Figura 5 - Simulation League 2D e 3D, respectivamente (DIGPLANET, 2014) (NEXUS, 2009) e. Standard Platform: Neste campeonato todas as equipes usam robôs padronizados. Portanto, as equipes se concentram no desenvolvimento do software apenas, enquanto usam o estado da arte em robôs. Usar visão omnidirecional não é permitido, forçando a tomada de decisão de compartilhamento do campo de visão de cada robô para a auto-localização e localização da bola. O campeonato substituiu o grande sucesso Four-Legged League, baseado nos robôs cão Aibo da Sony, e agora é baseada em robôs humanóides Nao na Figura 6. Figura 6 - Robôs Aibo e Nao, respectivamente (IGREBOT, 2014) (IAUBS, 2010)

23 Fundamentação Teórica Small Size League A SSL é uma das diversas modalidades de futebol de robôs da Robocup. Para essa categoria são utilizados robôs com o modelo especificado nas regras F180 2 (Small Size Robot Soccer). Segundo o manual da FIRA a modalidade SSL tem como característica o foco na cooperação entre os agentes e controle inteligente em um ambiente altamente dinâmico, com um sistema híbrido centralizado mostrado na Figura 7. Figura 7 - Robôs da categoria F180 (CORAL, 2010) A competição ocorre entre duas equipes de até seis robôs com medidas limitadas a 18 cm de diâmetro e 15 cm de altura, que participam de uma partida de futebol com uma bola laranja. Eles são identificados e monitorados por duas câmeras acopladas em cima do campo e conectadas a um computador como visto na Figura 8. O campo tem o formato retangular, feito com tapete ou carpete verde e com duas opções de tamanho, único com 6050mm x 4050mm e o dobrado com 8090mm x 605 mm. As demarcações do campo são feitas com linhas brancas de 10mm e o sistema de visão através das duas câmeras, localizadas uma em cada parte do campo, é compartilhada para as duas equipes onde os dados são enviados via Ethernet seguindo o protocolo do software SSL- Vision, que será mencionado na metodologia. 2 As regras da modalidade F180 estão disponíveis em Acessao em 2014

24 Fundamentação Teórica 11 Figura 8 - Sistema do Futebol de Robôs (LAB, 2008) 2.3. Módulo de Visão do Futebol de Robôs O módulo de visão computacional envolve as etapas de aquisição e identificação. Ele deve obter informações referentes aos componentes do jogo visualmente, permitindo a decisão de estratégia da equipe (SCHOUTE; POEL; HEIJDEN, 2003). Os componentes do jogo relevantes a este módulo são: os jogadores da equipe adversária, a bola e os jogadores da própria equipe. Existem duas abordagens possíveis em um módulo de visão para futebol de robôs: visão embarcada e visão global (MCMAHAN; BUNTING; MIDDLETON, 2014) (AIRES; ALSINA; MEDEIROS, 2001) (SCHWARTZ et al., 2003). No modelo de visão embarcada as imagens são adquiridas com a perspectiva dos jogadores, sendo que cada um dos robôs carrega consigo uma câmara (ANDRADE; MATOS; FREIRE, 2006). Diferente deste modelo, a visão global consiste na visualização de todo o campo (GARCIA et al., 2007). O primeiro passo da identificação visual é localizar a posição da bola e de todos os robôs, adversários ou não, no campo. Entretanto, antes deste passo o sistema vai naturalmente precisar de uma etapa de calibração de modo a se adaptar às condições de iluminação do campo, que será descrita na parte da metodologia deste trabalho. A representação da posição de cada um destes componentes pode ser feita através da sua posição relativa ou absoluta. Enquanto a posição relativa é dada pela sua distância em

25 Fundamentação Teórica 12 duas dimensões até um determinado ponto, a posição absoluta é representada por um par ordenado indicando sua posição no plano cartesiano que representa o campo. Para identificar a movimentação da bola e dos robôs adversários, é necessário determinar a direção do movimento de cada um e sua velocidade. Esta identificação é feita através de um acompanhamento temporal da posição global destes componentes. Os robôs que pertencem à equipe devem ser identificados para que o módulo de estratégia saiba a quem atribuir as ações (FIRA, 2014). Esta identificação pode ser feita através de uma associação pelo acompanhamento temporal ou através de marcas colocadas sobre cada um dos robôs. Marcas também devem ser utilizadas para possibilitar a identificação da orientação de cada robô, outra informação necessária para o módulo de estratégia. Além de responder ao sistema com confiabilidade, exatidão, regularidade e latência mínima, o módulo de visão deve ser robusto a alterações da iluminação e a mudanças na cor do campo de jogo, e deve suportar as variações de cores utilizadas pela equipe adversária. Estas características indicam a qualidade da implementação do módulo e determinam o sucesso da equipe em competições (BIANCHI; REALI-COSTA, 2000) (MARTINEZ- GOMEZ; WEITZENFELD, 2004) Visão Computacional Um SVC é um sistema computadorizado capaz de adquirir, processar e interpretar imagens correspondentes a cenas reais (GONZALES; RICHARD, 2000). As etapas são semelhantes ao sistema visual humano, como visto no Anexo 1. A Figura 9 mostra esquematicamente um diagrama de blocos de um SVC, onde as etapas deste são: aquisição de imagens, pré-processamento, segmentação, extração de características, reconhecimento e interpretação. Vale ressaltar que nem todos os os SVCs possuem todas estas etapas (BALLARD; BROWN, 1982).

26 Fundamentação Teórica 13 Figura 9 - Representação de um sistema de visão computacional genérico (FILHO; NETO, 1999) A aquisição da imagem envolve a escolha do tipo de sensor, o conjunto de lentes a utilizar, as condições de iluminação da cena, os requisitos de velocidade de aquisição (assumindo que os robôs estariam a todo momento mudando de lugar), a resolução e o número de níveis de cinza da imagem que poderiam estar digitalizada, dentre outros. O pré-processamento consiste em aprimorar a qualidade da imagem para as etapas subsequentes. As operações efetuadas nesta etapa são ditas de baixo nível porque trabalham diretamente com os valores de intensidade dos pixels. A imagem resultante desta etapa é uma imagem digitalizada de melhor qualidade (com menos ruídos) que a original. A tarefa básica da etapa de segmentação é a de dividir uma imagem em suas unidades significativas, ou seja, nos objetos de interesse que a compõem. Esta tarefa, apesar de simples de descrever, é uma das mais difíceis de implementar. Reconhecimento é o processo de atribuição de um rótulo a um objeto baseado em suas características, traduzidas por seus descritores. A tarefa de interpretação, por outro lado, consiste em atribuir significado a um conjunto de objetos reconhecidos. Todas as tarefas das etapas descritas acima pressupõem a existência de um conhecimento sobre o problema a ser resolvido, armazenado em uma base de conhecimento, cujo tamanho e complexidade podem variar enormemente. Idealmente, esta base de conhecimento deveria não somente guiar o funcionamento de cada etapa, mas também permitir a realimentação entre elas (RUDEK; COELHO; CANCIGLIERI, 2001) (BIANCHI, 2001).

27 Fundamentação Teórica Processamento de Imagens Como um subcampo do processamento digital de sinais, o processamento digital de imagem possui algumas vantagens sobre o processamento analógico de imagem como por exemplo, permitir que uma série mais ampla de algoritmos sejam aplicados aos dados de entrada e poder evitar problemas como a distorção de sinais durante o processamento e o acúmulo de ruídos. Da etapa de aquisição até o reconhecimento e interpretação dos dados é necessário utilizar várias técnicas (como morfológicas), que serão necessárias para resolver o problema em questão. As técnicas relevantes para este trabalho serão abordadas posteriormente Imagem Digital Uma imagem digital consiste em um arranjo bidimensional de valores que representam as características luminosas de objetos em uma cena, sendo cada um destes elementos chamado de pixel (picture element). Uma imagem digital pode ser representada por uma função bidimensional f(x,y), onde x indica uma coluna e y uma linha na imagem (FILHO e NETO, 1999). Mas antes da imagem ser exibida na tela, ela tem que primeiro ser escrita para locais de memória RAM endereçáveis. Estes são agora chamados de adaptadores gráficos, mais precisamente descrito como RAM de vídeo. VRAM locais são então digitalizadas e a saída resultante de cada célula ativa um pixel correspondente na tela. (HUMPHRIS, 2013) Na Figura 10 é possível ver um exemplo de um display monocromático de dois níveis, preto e branco, com 150 pixels. Displays monocromáticos requerem apenas um bit por pixel que está definido para binário 1 para a ativação do mesmo ou 0 para desliga-lo.

28 Fundamentação Teórica 15 Figura 10 - Adaptador gráfico simples (HUMPHRIS, 2013) Para aumentar a quantidade de tons discretos é preciso aumentar os níveis da VRAM. Como visto na Figura 11, para se ter 255 tons é preciso ter 8 níveis de VRAM. As posições de linha e coluna são digitalizada exatamente como antes só que desta vez um terceiro valor é calculado o qual é derivado a partir da combinação dos oito níveis. Isso irá produzir um valor equivalente decimal entre 0 e 255, onde desabilita o pixel e 255 habilita totalmente para o máximo de intensidade. O cálculo da posição superior do pixel esquerdo é mostrada como um exemplo na Figura 11. Comparando esta com o exemplo anterior pode-se ver que, para produzir 255 tons requer oito vezes mais memória. Figura Níveis de intensidade (HUMPHRIS, 2013)

29 Fundamentação Teórica 16 A última etapa no desenvolvimento da compreensão de uma imagem digital, seria a expansão para as cores, que são as combinações de três matrizes VRAMs para as saídas R, G, B, representando respectivamente os componentes vermelho, verde e azul da cor da imagem na posição. Segundo (HUMPHRIS, 2013), cada cor é tratada separadamente; transformando quaisquer dois pixels para fora das três, onde a tríade resultaria em um display colorido único como visto na Figura 12. A mistura de cores é feita dentro do olho humano onde os pixels vermelhos, verdes e azuis são ativados a vários graus como explicado no Anexo 1. Figura 12 - Monitor colorido (HUMPHRIS, 2013) As placas gráficas têm a sua própria memória de vídeo dedicada para armazenar imagens de tela e quanto mais melhor. Normalmente, uma placa de vídeo com 64 MB ou 128MB irá atender a maioria das aplicações, mas esta deve ser aumentada para 256 MB ou trabalhar com Gigabytes para lidar com jogos de computador e renderizações, por exemplo. Segundo (FILHO; NETO, 1999) a profundidade de cor é um termo da computação gráfica que descreve a quantidade de bits usados para representar a cor de um único pixel numa imagem. Este conceito é conhecido também como bits por pixel (bpp) e quanto maior a quantidade de bits presente na imagem, maior é a escala de cores disponível.

30 Fundamentação Teórica 17 A Figura 13 mostra um exemplo deste efeito, na diferença do nível de detalhes do personagem da Nintendo Mario. Neste exemplo, tanto a quantidade de pontos como a quantidade de cores varia significativamente. Figura 13 Versão 8 bits, 16 bits e 64 bits do personagens Mario 3 (PODCASTS, 2014) Vizinhanças de um Pixel Como dito anteriormente, o pixel p será representado pela coordenada (x,y). Considerando um pixel p, suas coordenadas terão quatro vizinhos horizontais e verticais cujo suas localizações no plano serão representadas da seguinte forma: (x+1, y), ( x-1, y), (x, y+1) e (x, y-1). Esse conjunto de pixels é conhecido como vizinhança de 4 de p. Cada pixel está a uma distância de (x,y), sendo que alguns vizinhos de p poderão ficar de fora se o pixel em questão estiver em uma borda da imagem digital. Também podemos representar os quatro vizinhos diagonais de p. Suas coordenadas são: (x+1, y+1), ( x-1, y-1), (x-1, y+1) e (x-1, y-1). Esses pontos junto com a vizinhança de 4 são chamadas de vizinhança de 8 de p. Da mesma forma que a vizinhança de 4, alguns pontos da imagem poderão estar fora se a mesma 3 Todos os direitos do personagem Mario são reservados à Nintendo Company, Limited

31 Fundamentação Teórica 18 se encontrar na borda. Na Figura 14 podemos visualizar os 3 tipos de vizinhanças com os pontos marcados com cinza. Figura 14 - Conceito de 4-vizinhança, vizinhança diagonal e 8-vizinhança (GONZALES; RICHARD, 2000) Conectividade O conceito de conectividade é fundamental para identificação das bordas e de regiões de interesse de um objeto em uma imagem. Dois pixels estão conectados se os mesmos de alguma forma estão inclusos em algum tipo de vizinhança e se são de valores ou níveis de cinza, similares. (GONZALES; RICHARD, 2000) Convolução com Máscaras Em processamento de imagens é muito frequente utilizar técnicas como digitalização, detecção de bordas e filtragem de ruídos, nas quais são efetuadas a partir do conceito de convolução de máscaras. A operação de convolução unidimensional entre dois vetores A e B, denotada A*B, pode ser entendida como um conjunto de somas de produtos entre os valores de A e B, sendo que inicialmente o vetor B é espelhado e após cada soma de produtos é deslocado espacialmente de uma posição (FILHO; NETO, 1999). Este raciocínio pode ser expandido para o caso bidimensional, onde a imagem a ser processada é uma matriz relativamente grande e corresponde ao conjunto A, enquanto uma matriz de pequenas dimensões (também chamada máscara ou janela) corresponde ao conjunto B (JÄHNE, 1991). A máscara percorrerá todos os pontos da imagem deslocando-se ao longo de cada linha e entre as várias linhas, da direita para a esquerda, de cima para baixo, até ter processado

32 Fundamentação Teórica 19 o último elemento da matriz imagem. O resultado será armazenado em uma matriz de mesmas dimensões que a imagem original. Matematicamente, na sua forma contínua ela é definida como a integral do produto de uma das funções por uma cópia deslocada e invertida da outra; a função resultante h depende do valor do deslocamento. Se x for a variável independente e u, o deslocamento, a fórmula pode ser escrita como na Equação 1: + (f g)(x) = h(x) = f(u) g(x u)du Equação 1 - Convolução Contínua (WIKIPÉDIA, 2014) Entretanto, em imagens digitais, é usada a definição de convoluções para funções de domínio discreto como visto na Equação 2. (f g)(k) = h(k) = f(j) g(k j) j=0 Equação 2 - Convolução Discreta (WIKIPÉDIA, 2014) k No qual f e g são sequências de tamanho n e a fórmula fornece o valor do k-ésimo elemento do resultado. Deve-se notar que o tamanho de h na Equação 2 é 2n-1, isto é, k varia de 0 a 2n Modelos de Cor O modelo RGB O modelo padrão de representação de cores em imagens digitais é chamado de RGB (Red, Green and Blue). Penharbel, et al. (2004) falam que esse modelo é usado pela maioria dos dispositivos de aquisição e visualização de imagens, podendo ser visto como um cubo de cores na Figura 15 onde os componentes vermelho, verde e azul correspondem aos eixos x, y e z.

33 Fundamentação Teórica 20 Figura 15 - Representação do cubo RGB (PENHARBEL et al., 2004) Os tons de cinza ocorrem quando os três componentes possuem valores iguais, seguindo a diagonal principal do cubo, com a origem (0,0,0), preta, e a extremidade inversa (255,255,255), branca O modelo de cores HSV O modelo HSV (Hue, Saturation and Value) que tem o formato cilíndrico, também é conhecido no seu formato cônico como HSI (Hue, Saturation and Intensity) e é o modelo de cores que mais se aproxima da percepção humana, onde H significa e representa a matiz e S à saturação visto na Figura 16. O componente V ou I, representa a intensidade da cor, deslocando verticalmente o vetor da cor. Figura 16 - Repreentação do cone HSI (PENHARBEL et al., 2004)

34 Fundamentação Teórica 21 Segundo (CARDANI, 2004) o espaço de cores HSI tem um formato de cone, com H variando de 0 a 360 graus e S e I variando de 0 a 100 por cento, como mostrado na anterior. As equações de transformação do formato de cor do RGB para o HSV, e vice versa, podem ser vistas nas Equações 3 e 4. Θ, B G H = { 360 Θ, B > G 1 (R Θ = cos 1 ( 2 G) + (R B) (R G) 2 + (R B)(G B) ) S = 1 3 (min(r, G, B)) (R + G + B) I = 1 (R + G + B) 3 Equação 3- Transformação de RGB para HSI R = I (1 + S cos(h) cos (60 H) ) G = 1 (R + B) B = I(1 S) Equação 4 - Transformação de HSI para RGB Operações Morfológicas Um dos grandes problemas em processamento e análise de imagens refere-se à extração das componentes de interesse contidas na cena original. Os conceitos de processamento de imagens mais utilizados no trabalho foram as operações morfológicas. Basicamente a morfologia matemática consiste em extrair as informações relativo às características de uma imagem e compará-la com um outro conjunto menor e de forma já conhecida. Chamamos esse outro conjunto de elemento estruturante. Logo, sua base consiste na teoria dos conjuntos como visto em (JÄHNE, 1991). As aplicações podem ser utilizadas com objetivos distintos nas várias técnicas para análise de imagem, como segmentação e reconhecimento de bordas, por exemplo. Tais técnicas foram muito utilizadas nesse projeto. A seguir iremos detalhar algumas operações morfológicas importantes e utilizadas nesse trabalho.

35 Fundamentação Teórica Erosão Erosão é uma das operações básicas da morfologia matemática. Inicialmente foi definida para operações com imagens binárias. Porém atualmente sua utilização já foi estendida para imagens em tons de cinzas (GONZALES; RICHARD, 2000). Sejam A e B conjuntos no espaço Z².A erosão de A por B, denotada A θ B, é definida como: AΘB = {x (B) x A; A, B Z²} Equação 5 - Erosão de A por B Podemos dizer que a erosão de A por B resulta no conjunto de pontos x tais que B, transladado de x, está contido em A Dilatação A operação de dilatação, segundo (FILHO; NETO, 1999) também as vezes chamada de dilação, é uma transformação morfológica que combina dois conjuntos usando adição vetorial. Seu símbolo é. Como o nome diz, o resultado será uma imagem engordada. Geralmente utiliza-se um elemento estruturante para aprofundar e expandir as formas contidas em uma imagem. Utilizando um elemento estruturante onde todos os valores são positivos para efetuar uma dilatação numa imagem em níveis de cinza, obtém-se como imagem resultante uma imagem com detalhes escuros atenuados e detalhes claros acentuados. A operação de dilatação em tons de cinza fornece como saída uma imagem com as mesmas dimensões da imagem de entrada e pixels com valores de 0 a 255, para o caso de uma imagem original com 256 níveis de cinza. Matematicamente, podemos definir a operação de dilatação da seguinte forma: A B = {x (B ) x A ; A, B Z²} Equação 6 - Dilatação de A por B Onde A e B são conjuntos no espaço Z², por exemplo e seja o conjunto vazio.

36 Fundamentação Teórica Limiarização Limiarização, ou thresholding, é um processo que se baseia na diferença dos níveis de cinza que compõe diferentes objetos de uma imagem. Escolhe-se um número (limiar) que servirá de base para definir dois grupos: o grupo de pixels com níveis de cinza abaixo do limiar e o grupo de pixels com níveis de cinza acima do limiar. Em uma imagem limiarizada, atribui-se um valor fixo para todos os pixels de mesmo grupo (FILHO; NETO, 1999). Matematicamente, a operação de limiarização pode ser descrita como uma técnica de processamento de imagens na qual uma imagem de entrada f(x,y) de N níveis de cinza produz à saída uma imagem g(x,y), chamada de imagem limiarizada, cujo número de níveis de cinza é menor que N. Normalmente, g(x,y) apresenta 2 níveis de cinza, sendo: g(x, y) = 1 se f(x, y) T { g(x, y) = 0 se f(x, y) T Equação 7 - Condição de Limiarização No qual os pixels rotulados com 1 correspondem aos objetos e os pixels rotulados com 0 correspondem ao fundo (background) e T é um valor de tom de cinza pré-definido, ao qual denominamos limiar. Para este exemplo de limiarização dá-se o nome de binarização. Na Figura 17 vemos um exemplo de uma imagem original em escala de cinza (a) e seu histograma (b) e logo abaixo sua imagem binarizada (c) com um limiar indicado em (d).

37 Fundamentação Teórica 24 Figura 17 - Exemplo de Binarização (GONZALES; RICHARD, 2000) Região de Interesse Para medir um parâmetro dentro de uma imagem, o sistema de processamento precisa distinguir as áreas de interesse. Esta "região de interesse" ou ROI pode ser determinada com base em valores da intensidade do pixel ou uma área determinada pelo usuário (Thresholding and the Region of Interest, 2014) Segmentação O processo de separação da região de interesse em uma imagem é chamado de segmentação. Uma forma simples de segmentação é considerar um intervalo de valores da intensidade do pixel, para identificação de objetos de interesse em uma imagem. Há outras formas mais sofisticadas de identificação. Quando dividimos uma imagem digital em várias regiões com o objetivo de simplificar sua análise estamos utilizando as técnicas de segmentação de imagens. Com as técnicas de segmentação é possível localizar objetos de interesse e formas em uma determinada imagem (BRUCE; BALCH; VELOSO, 2000).

38 Fundamentação Teórica 25 Atualmente várias técnicas e algoritmos de segmentação já foram desenvolvidos porém não há uma solução definitiva e geral para resolução dos problemas. Na maioria das vezes é necessária uma combinação das técnicas existentes para solução de um determinado problema. Dentre os tipos de segmentação podemos abordar as baseadas em formatos que têm como o objetivo a detecção de pontos, linhas ou bordas por exemplo. As baseadas em características dos pixels que estão em análise na imagem, baseando-se em suas cores e suas intensidades e por fim a segmentação baseada no histograma de uma imagem. Sua aplicação ocorre nas mais diversas áreas, como: no sistema de reconhecimento de faces, análise de imagens médicas (JÄHNE, 1991) para detecção de tumores, volumes de tecidos, estruturas anatômicas e por fim, nos sistemas de visão computacional voltados para robótica como utilizado nesse trabalho Descritores de Forma Depois que a imagem foi segmentada em regiões, os pixels agrupados são geralmente representado e descritos em formatos apropriados para o processamento das informações. No qual, de uma maneira simples, podemos representar esta região em termos de suas características externas (sua fronteira), ou em termos de características internas (os pixels que compõem a região) (BASSO, 2002). Geralmente, uma representação externa é escolhida quando o que interessa estiver voltado para características de forma e na representação interna quando for voltada para propriedades como cor ou textura. Os descritores de formas são métodos matemáticos que representam a forma da região ou objeto segmentado, onde idealmente devem possuir invariância a rotação, ponto de início, translação e escala (SILVA et al., 2007) Momentos A forma dos segmentos da fronteira pode ser descritas quantitativamente através dos momentos. Segundo (SOUZA; PISTORI, 2005) um dos métodos utilizados para a extração das características da imagem são os momentos da imagem, ou momentos estatísticos.

39 Fundamentação Teórica 26 Esses momentos e suas funções podem ser caracterizados como valores numéricos, calculados a partir de uma imagem previamente segmentada e são utilizados para fornecer descrições resumidas da distribuição espacial dos pontos contidos na imagem bidimensionais analisada. Esses momentos de ordem p + q sobre uma função contínua 2D, de acordo com (HU, 1962) são calculados de acordo com a Equação M pq = x p y q I(x, y)dxdy Equação 8 - Momentos de ordem p+q Em (SOUZA; PISTORI, 2005) também fala que uma imagem pode ser visualizada como uma função de duas dimensões discreta F, onde a intensidade de cada pixel é indexada como F(x,y). A Equação 9, como demonstrado em (HU, 1962) é a derivação da Equação 8 de momentos aplicados a imagens, visto que quando estamos trabalhando com imagens digitais, as integrais são substituídas por somatórios. largura altura M pq = x p y q I(x, y) x=1 y=1 Equação 9 - Momentos aplicados a imagens Em (SILVA et al., 2007) podemos ver que para representar objetos através de momentos, são considerados apenas os pixels pertencentes ao objeto. Através dos momentos é possível achar propriedades interessantes, como por exemplo o centro de massa x e y representados pelos momentos M 10 M 00 e M 01 M 00, onde M 00 é o momento que representa a área do objeto. É possível derivar também os momentos centrais para imagens definidos pela Equação 10. largura altura M pq = (x x ) p (y y ) q I(x, y) x=1 y=1 Equação 10 - Momentos centrais

40 Fundamentação Teórica 27 Onde a partir deste momento central, podemos achar propriedades derivadas como variância em X e Y e a direção do objeto com as fórmulas 11 e 12 (HU, 1962). σ x 2 = u 20 m 00, σ y 2 = u 02 m 00 Equação 11 - Variância em X e Y tan θ = (u 02 u 20 2u 11 + λ) (u 02 u u 11 λ) Equação 12 - Direção do Objeto Embora os momentos sejam o método mais popular, eles não são os únicos descritores que podem ser usados com esse propósito. Por exemplo, um outro método consiste no cálculo da transformada de Fourier unidimensional, obtendo seu espectro e utilização de seus primeiros componentes para a descrição da função. A vantagem dos momentos em relação a outras técnicas é que sua implementação é direta, além de eles carregarem uma interpretação física da fronteira de uma forma e suas características serem invariantes à escala, à posição e à orientação (HU, 1962) Ferramentas Encontramos bibliotecas e projetos que ajudaram a entender os conceitos e aplicações do trabalho, como por exemplo o SSL-Vision, o Find-Object e a biblioteca OpenCV. A primeira plataforma encontrada para o estudo da visão computacional voltada para o projeto foi a SSL-Vision. O motivo da escolha dessa plataforma para o inicio da pesquisa deve-se ao fato da mesma ser atualmente o sistema de captura de vídeo oficial da Robocup categoria SSL (FIRA, 2014) SSL-Vision Em meados de 2009 o comitê organizador da Robocup decidiu criar um sistema de visão compartilhada para uso de todas as equipes. Esse sistema não só compartilha o software mas também permite que as duas equipes utilizem o mesmo hardware (câmeras acopladas no

41 Fundamentação Teórica 28 suporte acima do campo). Dessa forma é criado um ambiente padrão para realização da competição por diversas equipes como visto na Figura 18 (About the Small Size League, 2008) (ZICKLER et al., 2010). Figura 18 - Tela do SSL-Vision (SSL VISION, 2010) Todas as pesquisas do estado da arte demonstraram resultados satisfatórios dessa plataforma (KAICK et al., 2001) (MARTINEZ-GOMEZ; WEITZENFELD, 2004) (MARTINS; TONIDANDEL; BIANCHI, 2006) (SOUSA; PINTO; PINTO, 2010) (GRITTANI; G.GALLINELLI; RAMŕEZ, 2000) onde mesmo sendo padrão, o ambiente permite que cada equipe desenvolva sua própria estratégia, focando apenas no desenvolvimento dos algoritmos sem se preocupar com interface gráfica e outros requisitos que são essenciais como calibração, comunicação, captura das imagens das duas câmeras e definição de parâmetros. Porém como dito anteriormente, para padronizar os recursos utilizados por todas as equipes da categoria Small Size, as regras definem o tipo de hardware utilizado pelas equipes para o desenvolvimento de sua estratégia. Como um dos objetivos do trabalho é ser de baixo custo, não foi possível utilizar o padrão de câmera e conectores especificado nas regras da categoria. É necessário para completa utilização desse projeto câmeras do tipo IEEE 1394 / DCAM com placas de captura com conexão Firewire para obtenção de uma maior largura de banda. Através de pesquisas de mercado foi identificado o investimento necessário conforme a Tabela 1.

42 Fundamentação Teórica 29 Equipamento Valor Guppy F-046.A 1/2" CCD Color R$ 2.232,50 Placa Captura Firewire Ieee 1394a R$ 139,99 Cabos Firewire Ieee 1394 R$ 22,99 Total R$ 2.395,48 Tabela 1 - Preço dos Equipamentos Como observado na Tabela 1, o investimento médio para a ter todos os equipamentos necessários para a aquisição das imagens do campo é de R$ 2.395,48, tornando uma das partes mais caras do projeto de uma equipe. Dessa forma cancelamos os testes com o SSL- Vision e iniciamos uma nova pesquisa focada em uma implementação completa, simples e eficiente que possa ser utilizada em um ambiente de captura controlado e com baixo investimento em recursos computacionais. O novo foco se tornou a procura de uma biblioteca que aceitasse comunicações USB para utilização de uma webcam. Contudo, vale ressaltar que toda a parte de aquisição e calibração das imagens já estão implementadas na plataforma, sendo necessário apenas codificar a parte de processamento de imagens se quiser um melhor desempenho com alguma técnica específica Find-Object Na procura por novas soluções para o problema encontramos o projeto Find-Object que são implementações de técnicas de processamento de imagens no OpenCV como SIFT, SURF, FAST, BRIEF voltadas para reconhecimento de objetos como visto na Figura 19.

43 Fundamentação Teórica 30 Figura 19 - Tela do Projeto Find-Object (FIND-OBJECT, 2012) Como o projeto é um projeto aberto (LABBÉ, 2012), estudamos o seu código e avaliamos a viabilidade do projeto e das técnicas que utilizam algoritmos de aprendizagem de máquina e redes neurais. Após alguns testes identificamos que o projeto atende as expectativas com relação a identificação de objetos em imagens, porém não atende a um dos principais requisitos necessário nas implementações voltadas para o futebol de robôs: o tempo de processamento. Além da preocupação com a precisão e tolerância à variação de luminosidade no campo, o tempo de processamento é uma dos requisitos fundamentais para o sucesso do projeto. Como o projeto não conseguiu atender as necessidades de um sistema em tempo real, resolvemos utilizar a ferramenta de visão computacional que ele utilizava para implementar os algoritmos de forma mais eficiente e específica OpenCV O OpenCV é uma biblioteca multiplataforma desenvolvida pela Intel, disponibilizando o uso do seu código para utilizar em aplicações tanto comerciais como acadêmicas. Ele possui módulos de álgebra linear, processamento de imagens e vídeo, interface gráfica do usuário, estrutura de dados, controle de mouse e teclado, além de mais de 350 algoritmos de visão computacional como: calibração de câmera, filtros de imagem, análise estrutural, reconhecimento de objetos, processamento em tempo real de imagens e outros (BRADSKI; KAUHLER, 2013).

44 Fundamentação Teórica 31 As áreas de aplicações desta biblioteca são muito amplas, alguns exemplos são as áreas de sistemas de reconhecimento facial, como mostrado na Figura 20, realidade virtual, identificação de objetos, gravação de vídeos, interface homem-máquina e reconhecimento de movimentos. Figura 20 - Exemplo de detecção de faces com OpenCV (PYFACEDETECT, 2010) Ela foi desenvolvida nas linguagens C/C++ mas tem suporte para as linguagens Python, Java e Visual Basic onde foi estruturada em módulos, no qual segundo (INTEL, 2000) os módulos principais são: a) core - um módulo compacto que define as estruturas de dados básicas, incluindo a matriz multi-dimensional Mat e funções básicas usado por todos os outros módulos. b) imgproc - um módulo de processamento de imagem, que inclui filtragem de imagens linear e não-linear, transformações geométricas de imagem, conversão de espaço de cores, histogramas, e assim por diante. c) video - um módulo de análise de vídeo que inclui estimativa de movimento, subtração de imagens e algoritmos de rastreamento de objetos. d) calib3d - algoritmos básicos de calibração de câmera única e estereoscópica, estimativa de objetos e elementos da reconstrução 3D. e) features2d - detectores de características salientes, descritores e

45 Fundamentação Teórica 32 identificadores de descritores. f) objdetect - detecção de objetos e instâncias de classes predefinidas, como por exemplo: faces, olhos, canecas, pessoas, carros e etc. g) highgui - uma interface simples de usar de captura de vídeo, imagem e codecs de vídeo com possibilidade de fazer simples interfaces gráficas como janelas, botões e barras de rolagem. h) gpu - algoritmos com aceleração de GPU (unidade de processamento gráfico) de diferentes módulos do OpenCV. Tanto o SSL-Vision quanto o Find-Object são projetos que utilizam algoritmos do OpenCV. Os motivos principais para utilização da biblioteca no nosso projeto são os vários algoritmos de visão computacional e sua capacidade de realizar processamento de imagens em tempo real IDEs Primeiro, foi instalado o OpenCV na máquina virtual com o sistema operacional Ubuntu instalado como mostrado no Apêndice 1. Depois de testarmos um exemplo pelo terminal, configuramos uma IDE para trabalhar. Como não conseguimos utilizar os projeto citado anteriormente, começamos a desenvolver uma aplicação que conseguisse identificar e rastrear os robôs e a bola em campo. Utilizamos o Git 4 e o Meld 5 para fazer o controle de versão e gerenciar as mudanças que ocorreram durante o desenvolvimento no projeto e o Qt Studio como ambiente de desenvolvimento como mostrado no Apêndice 2. Depois que configuramos todo o ambiente e começarmos a desenvolver, tivemos vários problemas com compatibilidade de drivers com a máquina virtual e a camera que foram solucionados e documentado no Apêndice 4. De modo geral, o desenvolvimento do projeto teve quatro fases: captura da imagem, calibração, processamento e exibição das informações na tela. 4 Git Meld -

46 Metodologia Metodologia Um módulo de visão computacional aplicado ao futebol de robôs pode ser decomposto em algumas partes: transformação do espaço de cores, classificação de cores, segmentação e localização de objetos. Uma vez que a câmera de vídeo forneça imagens do campo no formato RGB, uma transformação para o espaço de cores HSV é necessária, onde a matiz de cada cor independe da luminosidade existente, tornado o sistema mais robusto a variações da mesma. Como o formato HSV fornece um número muito grande de cores diferentes, é preciso alguma forma de classificação das mesmas para o ambiente de futebol de robôs, fazendo com que todos os pontos que formam a imagem pertençam a um conjunto limitado de cores diferentes, chamadas de classes de cores. Isto é feito a partir de uma calibração, definindo intervalos de tons para cada classe. Com esta classificação o processo de segmentação torna-se mais simples de ser realizado, tendo como objetivo encontrar manchas (conjunto de pontos adjacentes) de cada classe de cores Captura da Imagem Para fazer a parte de captura, teríamos que ter uma imagem dos robôs e da bola, mas como a proposta do trabalho não é o desenvolvimento dos robôs foram impressos, cículos grandes que representariam os robôs e circulos menores para representações dos marcadores. Era necessário colocar a câmera em uma posição que fosse a mais próxima possível de como seria em uma competição de verdade como é possível ver na Figura 21. Foi colocada inicialmente no teto mas descobriu-se ao capturar as imagens que havia pouca iluminação do ambiente e que a câmera estava com defeito pois ficava com muita variação no brilho.

47 Metodologia 34 Figura 21 - Câmera na posição vertical (AUTORES, 2014) A posição da câmera e do campo foi trocada para tentar ter a menor interferência possível das sombras e ter mais iluminação. Após vários testes foi analizado que um bom local seria a parede, porém havia ainda muito ruído na imagem por causa da reflexão da luz nos marcadores de papel que refletiam a luz. Trocamos o material dos marcadores e a câmera, conseguindo imagens melhores como visto na Figura 22. Figura 22 - Campo Colocado na Parede (AUTORES, 2014) Após captura da imagem, começou-se a trabalhar com o streaming de câmera, por causa do requisito do problema que tem que ser em tempo real todo o processamento.

48 Metodologia Calibração Mesmo com a imagem melhor, ainda era um problema as bordas fora do campo e qual a faixa das cores capturadas na hora em que realizava as binarizações, portanto foi fundamental a calibração da câmera no ambiente. Para isto seguimos o fluxo da Figura 23: Figura 23 - Passos para a calibração da câmera (AUTORES, 2014) Para tirar os ruídos ditos anteriormente utilizamos a técnica de região de interesse para apenas analisar a área do campo de futebol. Para facilitar a definição dos dois pontos da diagonal principal da região de interesse foi feito o tratamento de evento do mouse na janela e para facilitar a identificação da região, foram invertidos os valores das componentes RGB de cada pixel, negativando a área como visto na Figura 24. Figura 24 - Definição da Região de Interesse (AUTORES, 2014) Depois de selecionada a área onde será processada as informações, o passo seguinte da metodologia foi ver qual o valor do raio e das áreas mínimas de cada objeto em cena. Para conseguir esses parâmetros, foi utilizado o método dos momentos para saber a media das áreas dos robôs e da bola.

49 Metodologia 36 Definidos esses parâmetros, deve-se configurar os limites das cores dos marcadores. Para isto foi criado uma janela com as barras de saturação, da matiz e do brilho onde observou-se qual era o melhor valor para cada cor, pois a regra da RoboCup exige que alguns marcadores sejam sorteados minutos antes das partidas. Assim, a calibração só pode ocorrer depois que os marcadores tenham sido sorteados pelo juís da partida. O melhor resultado seria os valores de HSV que filtrariam apenas a cor selecionada como na Figura 25 que foi filtrada apenas a cor laranja. Figura 25 - Calibração das cores dos marcadores (AUTORES, 2014) Após calibração de todas as cores, coloca-se na biblioteca de parâmetros a quantidade de robôs de cada equipe, quantos marcadores serão utilizados e quais as cores de cada tipo de robô. Foi implementado um padrão de identificação com cinco marcadores, atribuindo a classe do robô um vetor de marcadores com cinco elementos, que seria mais que suficiente para a identificação e rastreamento de cada robô, visto que apenas com dois já é possível ter o mesmo resultado e com menos processamento, porém com esta configuração pode-se testar os limites da abordagem proposta.

50 Metodologia Processamento Depois do sistema ser calibrado, pode-se fazer o processamento da região de interesse e fazer a identificação dos robôs e da bola em tempo real. O fluxograma visto na Figura 26, demonstra o processo. Figura 26 - Fluxograma do processamento (AUTORES, 2014) Após a captura do frame, que é a imagem capturada do vídeo, e a filtragem da região, para a identificação dos objetos utilizou-se operações morfológicas e técnicas de processamento de imagem abordadas na fundamentação teórica, mas para isto foi seguido os seguintes passos: 1. Transformar o frame de RGB para HSV 2. Limiarizar pela cor para filtrar os robôs ou a bola 3. Erodir e dilatatar o frame para tirar os ruídos 4. Encontrar os contornos dos objetos filtrados com os conceitos de vizinhança e conectividade, analizar os pontos que são vizinhos e armazenar seu centro em um vetor 5. Utilizar o método dos momentos para a identificação se o contorno é um objeto 6. Armazenar as coordenadas do centro do objeto 7. Identificar se é bola ou robô e qual o tipo de robô 1. Pegar o ROI do objeto que será identificado 2. Repetir do passo 2 até o 6 para todos os marcadores

Detecção e Rastreamento de Objetos coloridos em vídeo utilizando o OpenCV

Detecção e Rastreamento de Objetos coloridos em vídeo utilizando o OpenCV Detecção e Rastreamento de Objetos coloridos em vídeo utilizando o OpenCV Bruno Alberto Soares OLIVEIRA 1,3 ; Servílio Souza de ASSIS 1,3,4 ; Izadora Aparecida RAMOS 1,3,4 ; Marlon MARCON 2,3 1 Estudante

Leia mais

IW10. Rev.: 02. Especificações Técnicas

IW10. Rev.: 02. Especificações Técnicas IW10 Rev.: 02 Especificações Técnicas Sumário 1. INTRODUÇÃO... 1 2. COMPOSIÇÃO DO IW10... 2 2.1 Placa Principal... 2 2.2 Módulos de Sensores... 5 3. APLICAÇÕES... 6 3.1 Monitoramento Local... 7 3.2 Monitoramento

Leia mais

Módulo de captura de imagens do sistema Scisoccer

Módulo de captura de imagens do sistema Scisoccer 1 Módulo de captura de imagens do sistema Scisoccer Rafael Antonio Barro [1] Jailton Farias de Carvalho [2] Resumo: Este artigo descreve como funciona o módulo de captura de imagens do software Sci-soccer,

Leia mais

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS

SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS André Zuconelli 1 ; Manassés Ribeiro 2 1. Aluno do Curso Técnico em Informática, turma 2010, Instituto Federal Catarinense, Câmpus Videira, andre_zuconelli@hotmail.com

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Processamento de Imagem Prof. MSc. André Yoshimi Kusumoto andrekusumoto.unip@gmail.com Visão Computacional Não existe um consenso entre os autores sobre o correto escopo do processamento de imagens, a

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3 A LEGO Education tem o prazer de trazer até você a edição para tablet do Software LEGO MINDSTORMS Education EV3 - um jeito divertido

Leia mais

1.1. Organização de um Sistema Computacional

1.1. Organização de um Sistema Computacional 1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes

Leia mais

Atividade: matrizes e imagens digitais

Atividade: matrizes e imagens digitais Atividade: matrizes e imagens digitais Aluno(a): Turma: Professor(a): Parte 01 MÓDULO: MATRIZES E IMAGENS BINÁRIAS 1 2 3 4 5 6 7 8 Indique, na tabela abaixo, as respostas dos 8 desafios do Jogo dos Índices

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens

Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens Prof Fabrízzio Alphonsus A M N Soares 2012 Capítulo 2 Fundamentos da Imagem Digital Definição de Imagem: Uma imagem

Leia mais

Sphinx Scanner Informações gerais V 5.1.0.8

Sphinx Scanner Informações gerais V 5.1.0.8 Sphinx Scanner Informações gerais V 5.1.0.8 Pré-requisitos: Possuir modalidade scanner no software Sphinx A SPHINX Brasil propõe uma solução de leitura automática de questionários por scanner. O Sphinx

Leia mais

HCT Compatibilidade Manual do Usuário

HCT Compatibilidade Manual do Usuário HCT Compatibilidade Manual do Usuário Índice Introdução...3 HCT Compatibilidade...3 Librix...3 Execução do Programa...4 Seleção de Testes...4 Testes Manuais...6 Teste de Teclado...6 Teste de Vídeo...7

Leia mais

PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO

PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO Compra Direta - Guia do Fornecedor PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO Página As informações contidas neste documento, incluindo quaisquer URLs e outras possíveis referências a web sites, estão sujeitas

Leia mais

3. Arquitetura Básica do Computador

3. Arquitetura Básica do Computador 3. Arquitetura Básica do Computador 3.1. Modelo de Von Neumann Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e assim dobrando sucessivamente,

Leia mais

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM...

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM... 1 de 30 INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 3.1. ONDE SE DEVE INSTALAR O SERVIDOR BAM?... 4 3.2. ONDE SE DEVE INSTALAR O PROGRAMADOR REMOTO BAM?... 4 3.3. COMO FAZER

Leia mais

O que é RAID? Tipos de RAID:

O que é RAID? Tipos de RAID: O que é RAID? RAID é a sigla para Redundant Array of Independent Disks. É um conjunto de HD's que funcionam como se fosse um só, isso quer dizer que permite uma tolerância alta contra falhas, pois se um

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

1. NÍVEL CONVENCIONAL DE MÁQUINA

1. NÍVEL CONVENCIONAL DE MÁQUINA 1. NÍVEL CONVENCIONAL DE MÁQUINA Relembrando a nossa matéria de Arquitetura de Computadores, a arquitetura de Computadores se divide em vários níveis como já estudamos anteriormente. Ou seja: o Nível 0

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual Algoritmos: Lógica para desenvolvimento de programação de computadores Autor: José Augusto Manzano Capítulo 1 Abordagem Contextual 1.1. Definições Básicas Raciocínio lógico depende de vários fatores para

Leia mais

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET 2010/2011 1 Protocolo TCP/IP É um padrão de comunicação entre diferentes computadores e diferentes sistemas operativos. Cada computador deve

Leia mais

Informática Aplicada a Radiologia

Informática Aplicada a Radiologia Informática Aplicada a Radiologia Apostila: Imagem Digital parte I Prof. Rubens Freire Rosa Imagem na forma digital A representação de Imagens na forma digital nos permite capturar, armazenar e processar

Leia mais

7.Conclusão e Trabalhos Futuros

7.Conclusão e Trabalhos Futuros 7.Conclusão e Trabalhos Futuros 158 7.Conclusão e Trabalhos Futuros 7.1 Conclusões Finais Neste trabalho, foram apresentados novos métodos para aceleração, otimização e gerenciamento do processo de renderização

Leia mais

Fundamentos de Hardware

Fundamentos de Hardware Fundamentos de Hardware Curso Técnico em Informática SUMÁRIO PLACAS DE EXPANSÃO... 3 PLACAS DE VÍDEO... 3 Conectores de Vídeo... 4 PLACAS DE SOM... 6 Canais de Áudio... 7 Resolução das Placas de Som...

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES Prof. Ms. Carlos José Giudice dos Santos cpgcarlos@yahoo.com.br www.oficinadapesquisa.com.br Conceito de Computador Um computador digital é

Leia mais

TRABALHO COM GRANDES MONTAGENS

TRABALHO COM GRANDES MONTAGENS Texto Técnico 005/2013 TRABALHO COM GRANDES MONTAGENS Parte 05 0 Vamos finalizar o tema Trabalho com Grandes Montagens apresentando os melhores recursos e configurações de hardware para otimizar a abertura

Leia mais

Aula 2 Aquisição de Imagens

Aula 2 Aquisição de Imagens Processamento Digital de Imagens Aula 2 Aquisição de Imagens Prof. Dr. Marcelo Andrade da Costa Vieira mvieira@sc.usp.br EESC/USP Fundamentos de Imagens Digitais Ocorre a formação de uma imagem quando

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

PARANÁ GOVERNO DO ESTADO

PARANÁ GOVERNO DO ESTADO A COMUNICAÇÃO NA INTERNET PROTOCOLO TCP/IP Para tentar facilitar o entendimento de como se dá a comunicação na Internet, vamos começar contando uma história para fazer uma analogia. Era uma vez, um estrangeiro

Leia mais

Frederico Miguel Santos

Frederico Miguel Santos Frederico Miguel Santos DEE ISEC DETI/IEETA - UA Sumário 1. RoboCup 1. descrição / objectivos 2. MSL - futebol,,porquê? 2. CAMBADA 1. descrição / objectivos 2. evolução 3. hardware 4. software: coordenação

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Filtro de Imagem Baseado em Matriz RGB de Cores- Padrão para Futebol de Robôs

Filtro de Imagem Baseado em Matriz RGB de Cores- Padrão para Futebol de Robôs Filtro de Imagem Baseado em Matriz RGB de Cores- Padrão para Futebol de Robôs Eder A. Penharbel, Ricardo C. Destro, Flavio Tonidandel, Reinaldo A.C. Bianchi Centro Universitário da FEI UniFEI Av. Humberto

Leia mais

CorelDRAW 11 1. UM PROGRAMA DE DESIGN

CorelDRAW 11 1. UM PROGRAMA DE DESIGN CorelDRAW 11 1. UM PROGRAMA DE DESIGN Com o Corel você vai trabalhar com um dos aplicativos mais usados no campo do design e da auto-edição, já que permite operar com dois tipos de gráficos (vetoriais

Leia mais

QUESTÃO 1 ALTERNATIVA B

QUESTÃO 1 ALTERNATIVA B 1 QUESTÃO 1 Marcos tem 10 0,25 = 2,50 reais em moedas de 25 centavos. Logo ele tem 4,30 2,50 = 1,80 reais em moedas de 10 centavos, ou seja, ele tem 1,80 0,10 = 18 moedas de 10 centavos. Outra maneira

Leia mais

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Oficina de Multimédia B. ESEQ 12º i 2009/2010

Oficina de Multimédia B. ESEQ 12º i 2009/2010 Oficina de Multimédia B ESEQ 12º i 2009/2010 Conceitos gerais Multimédia Hipertexto Hipermédia Texto Tipografia Vídeo Áudio Animação Interface Interacção Multimédia: É uma tecnologia digital de comunicação,

Leia mais

Thales Trigo. Formatos de arquivos digitais

Thales Trigo. Formatos de arquivos digitais Esse artigo sobre Formatos de Arquivos Digitais é parte da Tese de Doutoramento do autor apresentada para a obtenção do titulo de Doutor em Engenharia Elétrica pela Escola Politécnica da USP. Thales Trigo

Leia mais

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo Manual Sistema MLBC Manual do Sistema do Módulo Administrativo Este documento tem por objetivo descrever as principais funcionalidades do sistema administrador desenvolvido pela MLBC Comunicação Digital.

Leia mais

Disciplina: Introdução à Informática Profª Érica Barcelos

Disciplina: Introdução à Informática Profª Érica Barcelos Disciplina: Introdução à Informática Profª Érica Barcelos CAPÍTULO 4 1. ARQUITETURA DO COMPUTADOR- HARDWARE Todos os componentes físicos constituídos de circuitos eletrônicos interligados são chamados

Leia mais

Módulo 15 Resumo. Módulo I Cultura da Informação

Módulo 15 Resumo. Módulo I Cultura da Informação Módulo 15 Resumo Neste módulo vamos dar uma explanação geral sobre os pontos que foram trabalhados ao longo desta disciplina. Os pontos abordados nesta disciplina foram: Fundamentos teóricos de sistemas

Leia mais

Desenvolvimento do Módulo de Pré-processamento e Geração de Imagens de. Imagens de Teste do Sistema DTCOURO

Desenvolvimento do Módulo de Pré-processamento e Geração de Imagens de. Imagens de Teste do Sistema DTCOURO Desenvolvimento do Módulo de Pré-processamento e Geração de Imagens de Teste do Sistema DTCOURO Willian Paraguassu Amorim 27 de julho de 2005 1 Título Desenvolvimento do Módulo de Pré-processamento e Geração

Leia mais

15 Computador, projeto e manufatura

15 Computador, projeto e manufatura A U A UL LA Computador, projeto e manufatura Um problema Depois de pronto o desenho de uma peça ou objeto, de que maneira ele é utilizado na fabricação? Parte da resposta está na Aula 2, que aborda as

Leia mais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Notas da Aula 17 - Fundamentos de Sistemas Operacionais Notas da Aula 17 - Fundamentos de Sistemas Operacionais 1. Gerenciamento de Memória: Introdução O gerenciamento de memória é provavelmente a tarefa mais complexa de um sistema operacional multiprogramado.

Leia mais

Cálculo de volume de objetos utilizando câmeras RGB-D

Cálculo de volume de objetos utilizando câmeras RGB-D Cálculo de volume de objetos utilizando câmeras RGB-D Servílio Souza de ASSIS 1,3,4 ; Izadora Aparecida RAMOS 1,3,4 ; Bruno Alberto Soares OLIVEIRA 1,3 ; Marlon MARCON 2,3 1 Estudante de Engenharia de

Leia mais

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho 20 Capítulo 3 Avaliação de Desempenho Este capítulo aborda como medir, informar e documentar aspectos relativos ao desempenho de um computador. Além disso, descreve os principais fatores que influenciam

Leia mais

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16 Informática Prof. Macêdo Firmino Representação da Informação Macêdo Firmino (IFRN) Informática Setembro de 2011 1 / 16 Introdução Estamos acostumados a pensar nos computadores como mecanismos complexos,

Leia mais

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF TUTORIAL DE DIGITALIZAÇÃO DIRIGIDO AO USO DO PROCESSO ELETRÔNICO Adaptado do tutorial elaborado pelo colega MAICON FALCÃO, operador de computador da subseção judiciária de Rio Grande. Introdução Este tutorial

Leia mais

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

SUMÁRIO Acesso ao sistema... 2 Atendente... 3 SUMÁRIO Acesso ao sistema... 2 1. Login no sistema... 2 Atendente... 3 1. Abrindo uma nova Solicitação... 3 1. Consultando Solicitações... 5 2. Fazendo uma Consulta Avançada... 6 3. Alterando dados da

Leia mais

29/08/2011. Radiologia Digital. Princípios Físicos da Imagem Digital 1. Mapeamento não-linear. Unidade de Aprendizagem Radiológica

29/08/2011. Radiologia Digital. Princípios Físicos da Imagem Digital 1. Mapeamento não-linear. Unidade de Aprendizagem Radiológica Mapeamento não-linear Radiologia Digital Unidade de Aprendizagem Radiológica Princípios Físicos da Imagem Digital 1 Professor Paulo Christakis 1 2 Sistema CAD Diagnóstico auxiliado por computador ( computer-aided

Leia mais

DESENVOLVIMENTO DE PROGRAMA MULTIMIDIA PARA O ENSINO DEDINÂMICA DE MÚLTIPLOS CORPOS

DESENVOLVIMENTO DE PROGRAMA MULTIMIDIA PARA O ENSINO DEDINÂMICA DE MÚLTIPLOS CORPOS DESENVOLVIMENTO DE PROGRAMA MULTIMIDIA PARA O ENSINO DEDINÂMICA DE MÚLTIPLOS CORPOS Ilmar Ferreira Santos Rodrigo Fernandes de Carvalho UNICAMP - Faculdade de Engenharia Mecânica Departamento de Projeto

Leia mais

COERÊNCIA DO CURRÍCULO DO CURSO DE ENGENHARIA DE COMPUTAÇÃO EM FACE DAS DIRETRIZES CURRICULARES NACIONAIS

COERÊNCIA DO CURRÍCULO DO CURSO DE ENGENHARIA DE COMPUTAÇÃO EM FACE DAS DIRETRIZES CURRICULARES NACIONAIS COERÊNCIA DO CURRÍCULO DO CURSO DE ENGENHARIA DE COMPUTAÇÃO EM FACE DAS DIRETRIZES CURRICULARES NACIONAIS O documento que serviu de base para a análise a seguir é o denominado "Diretrizes Curriculares

Leia mais

VCA Treinamento em Algoritmo

VCA Treinamento em Algoritmo Conteúdo VCA Treinamento em Algoritmo VCA Treinamento em Algoritmo Conteúdo Algoritmos Rastreador (tracker) Monitoramento Objeto Abandonado/Removido Pessoas Calibração Classificação Linha de contagem Auto

Leia mais

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna O que é uma planilha eletrônica? É um aplicativo que oferece recursos para manipular dados organizados em tabelas. A partir deles pode-se gerar gráficos facilitando a análise e interpretação dos dados

Leia mais

Scanners Manual Básico. Um guia prático e rápido para conhecer o melhor tipo de equipamento para seus trabalhos.

Scanners Manual Básico. Um guia prático e rápido para conhecer o melhor tipo de equipamento para seus trabalhos. Scanners Manual Básico Um guia prático e rápido para conhecer o melhor tipo de equipamento para seus trabalhos. Tipos de Scanners Diferentes tipos de scanners funcionam de diferentes maneiras. Conheça

Leia mais

Transformada de Hough. Cleber Pivetta Gustavo Mantovani Felipe Zottis

Transformada de Hough. Cleber Pivetta Gustavo Mantovani Felipe Zottis Transformada de Hough Cleber Pivetta Gustavo Mantovani Felipe Zottis A Transformada de Hough foi desenvolvida por Paul Hough em 1962 e patenteada pela IBM. Originalmente, foi elaborada para detectar características

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

RADIOLOGIA DIGITAL. Conceitos Básicos. Eizo Soluções Médicas

RADIOLOGIA DIGITAL. Conceitos Básicos. Eizo Soluções Médicas Eizo Soluções Médicas Conceitos Básicos RADIOLOGIA DIGITAL Entenda os conceitos, termos e a história da radiologia ; os benefícios, desafios e o futuro da radiologia digital INTRODUÇÃO Para profissionais

Leia mais

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC

ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC ESTUDO COMPARATIVO ENTRE AS PLATAFORMAS ARDUINO E PIC Tiago Menezes Xavier de Souza¹, Igor dos Passos Granado¹, Wyllian Fressatti¹ ¹Universidade Paranaense (UNIPAR) Paranavaí- PR- Brasil tiago_x666@hotmail.com,

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Visão computacional no reconhecimento de formas e objetos

Visão computacional no reconhecimento de formas e objetos Visão computacional no reconhecimento de formas e objetos Paula Rayane Mota Costa Pereira*, Josemar Rodrigues de Souza**, Resumo * Bolsista de Iniciação Científica da Faculdade de Tecnologia SENAI CIMATEC,

Leia mais

Reconhecimento de marcas de carros utilizando Inteligência Artificial. André Bonna Claudio Marcelo Basckeira Felipe Villela Lourenço Richard Keller

Reconhecimento de marcas de carros utilizando Inteligência Artificial. André Bonna Claudio Marcelo Basckeira Felipe Villela Lourenço Richard Keller Reconhecimento de marcas de carros utilizando Inteligência Artificial André Bonna Claudio Marcelo Basckeira Felipe Villela Lourenço Richard Keller Motivação Análise estatística das marcas de carros em

Leia mais

ULA Sinais de Controle enviados pela UC

ULA Sinais de Controle enviados pela UC Solução - Exercícios Processadores 1- Qual as funções da Unidade Aritmética e Lógica (ULA)? A ULA é o dispositivo da CPU que executa operações tais como: Adição Subtração Multiplicação Divisão Incremento

Leia mais

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

ROTEIRO PARA ELABORAÇÃO DE PROJETOS APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da

Leia mais

Trabalho 2 Fundamentos de computação Gráfica

Trabalho 2 Fundamentos de computação Gráfica Trabalho 2 Fundamentos de computação Gráfica Processamento de Imagens Aluno: Renato Deris Prado Tópicos: 1- Programa em QT e C++ 2- Efeitos de processamento de imagens 1- Programa em QT e C++ Para o trabalho

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender

Leia mais

COMUNICAÇÃO DE PORTIFÓLIO UTILIZANDO DASHBOARDS EXTRAIDOS DO MICROSOFT PROJECT SERVER

COMUNICAÇÃO DE PORTIFÓLIO UTILIZANDO DASHBOARDS EXTRAIDOS DO MICROSOFT PROJECT SERVER COMUNICAÇÃO DE PORTIFÓLIO UTILIZANDO DASHBOARDS EXTRAIDOS DO MICROSOFT PROJECT SERVER Autor: RANGEL TORREZAN RESUMO 1. Gestão de Portfolio e suas vantagens. A gestão de portfólio de projetos estabelece

Leia mais

Tutorial 5 Questionários

Tutorial 5 Questionários Tutorial 5 Questionários A atividade Questionário no Moodle pode ter várias aplicações, tais como: atividades de autoavaliação, lista de exercícios para verificação de aprendizagem, teste rápido ou ainda

Leia mais

Processamento digital de imagens. introdução

Processamento digital de imagens. introdução Processamento digital de imagens introdução Imagem digital Imagem digital pode ser descrita como uma matriz bidimensional de números inteiros que corresponde a medidas discretas da energia eletromagnética

Leia mais

Manual Processamento de Imagem. João L. Vilaça

Manual Processamento de Imagem. João L. Vilaça Manual Processamento de Imagem João L. Vilaça Versão 1.0 31/1/2014 Índice 1. Sistema de eixo e movimentos possíveis do Drone... 3 2. Imagem... 3 3. Espaços de cor... 4 4.1 RGB... 5 4.2HSV... 5 4.3 GRAY...

Leia mais

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída.

Esclarecimento: Não, a operação de matching ocorre no lado cliente da solução, de forma distribuída. 1 Dúvida: - Em relação ao item 1.2 da Seção 2 - Requisitos funcionais, entendemos que a solução proposta poderá funcionar em uma arquitetura Web e que na parte cliente estará apenas o componente de captura

Leia mais

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como: Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código

Leia mais

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1. O que é a ciência de dados (data science). Discussão do conceito Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.3, Outubro, 2015 Nota prévia Esta apresentação tem por objetivo, proporcionar

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

www.educandusweb.com.br

www.educandusweb.com.br Sistema Terra-Lua-Sol Índice 1. Introdução... 3 2. Simulador... 3 2.1 Painel Principal... 3 O que ocorreu com dimensões e distâncias dos corpos estudados?... 5 2.2 Visualização - Wireframe/Texturizada...

Leia mais

Dispositivos de Entrada e Saída

Dispositivos de Entrada e Saída Dispositivos de Entrada e Saída Prof. Márcio Bueno {cgtarde,cgnoite}@marciobueno.com Fonte: Material do Prof. Robson Pequeno de Sousa e do Prof. Robson Lins Dispositivos de Entrada Teclado, Mouse, Trackball,

Leia mais

Fundamentos de Sistemas de Informação Sistemas de Informação

Fundamentos de Sistemas de Informação Sistemas de Informação Objetivo da Aula Tecnologia e as Organizações, importância dos sistemas de informação e níveis de atuação dos sistemas de informação Organizações & Tecnologia TECNOLOGIA A razão e a capacidade do homem

Leia mais

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2

Leia mais

APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO

APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO Alessandro A. M de Oliveira 1 ; Alexandre de Oliveira Zamberlan 1 ; Péricles Pinheiro Feltrin 2 ; Rafael Ogayar Gomes 3

Leia mais

GRÁFICOS Exemplos de jogos 2D (com simulação do 3D)

GRÁFICOS Exemplos de jogos 2D (com simulação do 3D) Femur Online GRÁFICOS Exemplos de jogos 2D (com simulação do 3D) Como resultado de buscas na internet, tendo como base os jogos 2D mais famosos do mundo, obtive como resultado três tipos diferentes de

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

Leia mais

Processos Técnicos - Aulas 4 e 5

Processos Técnicos - Aulas 4 e 5 Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)

Leia mais

Contagem I. Figura 1: Abrindo uma Porta.

Contagem I. Figura 1: Abrindo uma Porta. Polos Olímpicos de Treinamento Curso de Combinatória - Nível 2 Prof. Bruno Holanda Aula 4 Contagem I De quantos modos podemos nos vestir? Quantos números menores que 1000 possuem todos os algarismos pares?

Leia mais

6. Geometria, Primitivas e Transformações 3D

6. Geometria, Primitivas e Transformações 3D 6. Geometria, Primitivas e Transformações 3D Até agora estudamos e implementamos um conjunto de ferramentas básicas que nos permitem modelar, ou representar objetos bi-dimensionais em um sistema também

Leia mais

Introdução a listas - Windows SharePoint Services - Microsoft Office Online

Introdução a listas - Windows SharePoint Services - Microsoft Office Online Page 1 of 5 Windows SharePoint Services Introdução a listas Ocultar tudo Uma lista é um conjunto de informações que você compartilha com membros da equipe. Por exemplo, você pode criar uma folha de inscrição

Leia mais

Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem

Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem Caros alunos, Essa terceira atividade da nossa disciplina de Suprimentos e Logística

Leia mais

Introdução do Processamento de Imagens. Julio C. S. Jacques Junior juliojj@gmail.com

Introdução do Processamento de Imagens. Julio C. S. Jacques Junior juliojj@gmail.com Introdução do Processamento de Imagens Julio C. S. Jacques Junior juliojj@gmail.com Porque processar uma imagem digitalmente? Melhoria de informação visual para interpretação humana Processamento automático

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas Operacionais Prof. Marcelo Sabaris Carballo Pinto Gerenciamento de Dispositivos Gerenciamento de Dispositivos de E/S Introdução Gerenciador de Dispositivos Todos os dispositivos

Leia mais

Engenharia de Requisitos

Engenharia de Requisitos Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.

Leia mais

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de 2007 - Página

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de 2007 - Página Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento IP 1 História e Futuro do TCP/IP O modelo de referência TCP/IP foi desenvolvido pelo Departamento de Defesa dos Estados Unidos (DoD). O DoD exigia

Leia mais

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

INTRODUÇÃO BARRAMENTO PCI EXPRESS. INTRODUÇÃO BARRAMENTO EXPRESS. O processador se comunica com os outros periféricos do micro através de um caminho de dados chamado barramento. Desde o lançamento do primeiro PC em 1981 até os dias de hoje,

Leia mais