UNIVERSIDADE DE LISBOA Faculdade de Ciências Departamento de Informática

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

Download "UNIVERSIDADE DE LISBOA Faculdade de Ciências Departamento de Informática"

Transcrição

1 UNIVERSIDADE DE LISBOA Faculdade de Ciências Departamento de Informática Solução Integrada de Video-Based Vehicle Identification Rafael Soledade Matos DISSERTAÇÃO MESTRADO EM ENGENHARIA INFORMÁTICA Especialização em Sistemas de Informação 2013

2

3 UNIVERSIDADE DE LISBOA Faculdade de Ciências Departamento de Informática Solução Integrada de Video-Based Vehicle Identification Rafael Soledade Matos DISSERTAÇÃO Trabalho orientado pelo Prof. Doutor António Manuel Silva Ferreira e por Ricardo André Santos Gomes de Almeida MESTRADO EM ENGENHARIA INFORMÁTICA Especialização em Sistemas de Informação 2013

4

5 Agradecimentos E assim termina o meu percurso académico. Se estes são, como se costuma dizer, os melhores anos de uma vida, não posso dizer. Mas sei que vou sempre olhar para trás e recordar com alegria a minha vida académica. Relembro então (quase) todos aqueles que dela fizeram parte. Em primeiro lugar, muito obrigado à minha mãe por todo o apoio e carinho e apoio que me deu ao longo destes anos. Foi, sem dúvida, o pilar que me aguentou neste percurso. Ao meu pai, que sempre esteve lá para dar o apoio essencial e para me manter no caminho certo, muito obrigado. E à minha avó, que tornou as idas a casa muito mais especiais, muito obrigado. E à chata da Mariana, agora é a tua vez! Muito obrigado, Joana, por todo o apoio, carinho e amor que me deste nos meses em que escrevi este relatório, e não só. Foste essencial no meu percurso, no limar das arestas, na determinação que tive em chegar aqui. Estiveste presente em todos os momentos mais importantes da minha vida académica, e certamente estarás presentes em muitos mais. Esta tese também é tua. Aos amigos de sempre: Fábio Lopes, João Costa, Catarina Lopes, Bruno Melo, André Melo, Bruno Silva, António Lopes, Nuno Raposo, Brian Matos, Filipe Rodrigues. Um grande obrigado por tudo. Podem nem se ter apercebido, mas só as férias que passei com vocês ao longo deste percurso foi o suficiente para nunca perder a sanidade e ter sempre a força necessária para seguir em frente. Tomás Trindade, não me esqueci de ti. Tenho pena de não poder partilhar este feito com alguém de quem gostávamos muito. Também lhe é dedicado. Cabaço, Diana, Diogo, Faísca, Noites, Eduardo, Reis, Monteiro, Alentejano, Ana Sofia, Santinho, Guns, Marcos, Saraiva, Smack, Fernando, Silveira, Antunes, Telmo, Piu, Raúl, François, Quim, JP, todos os meus afilhados e afilhadas de faculdade e muitos muitos muitos mais que não me lembro agora mas que certamente não ficarão chateados por não alongar mais esta lista. Um grande enorme obrigado a vocês, uma autêntica família que criei durante a minha vida académica, e que certamente nunca cairá no esquecimento. Foi a vossa simpatia, hospitalidade e carinho para com um pequeno nativo como eu que tornou rápida e fácil a minha adaptação à vida em Lisboa. Eliana Sousa e Ana Alcaidinho, palavras para quê? Ganhei mais duas irmãs. iii

6 Andriy Boychenko, companheiro de muitas batalhas nesta guerra que foi o fingeprinting! Muito obrigado pelo teu apoio, pela sessões de brainstorming e pelo espírito de entre-ajuda. Garanto-te que sem ti não teria conseguido. Ao professor António Ferreira, um muito obrigado pela dedicação e interesse demonstrados desde o primeiro contacto que tivemos. A qualidade deste documento é fruto disso. Last but not least, um grande obrigado ao Ricardo Almeida e a toda a malta do OBO e CBO que me acolheu na Accenture. Sem a vossa paciência e apoio, teria sido perto de impossível fazer tudo a tempo. Foi um prazer ter trabalhado numa equipa tão competente e profissional. Quando se aprende com os melhores, tudo parece mais fácil. iv

7

8 Para ti.

9

10

11 Resumo Face à crescente necessidade de soluções de análise de imagem e correlação com eventos, nomeadamente no âmbito dos sistemas de apoio à decisão, detecção e controlo de fraude e problemáticas conexas, e no caso deste PEI que foi realizado na Accenture, da necessidade de aplicação desses conceitos ao tráfego rodoviário pretendi, como primeiro objectivo, estudar e desenvolver os componentes de um sistema de análise, avaliação e medição de eventos vídeo e/ou identificar informações relativas a veículos com base em foto-análise, segundo um sistema de regras suportado por um motor de decisão. Mais precisamente, pretendi que, dada a imagem de um veículo, sujeita a diversas condições que podem afectar a sua qualidade/legibilidade, se consiga localizar e retirar com precisão a zona da matrícula, para posterior comparação com um conjunto de outras imagens presentes numa base de dados, devolvendo, com um nível de confiança elevado, a informação necessária ao processo de facturação, tudo isto processado de forma automática. Para tal, investiguei conceitos de identificação de padrões em imagens, tais como fingerprinting multi-vectorial, detecção e extracção de pontos de interesse usando heurísticas de relevância, distâncias computacionais segundo perfis de confiança de modulação de ruído, e cálculo de contornos e respectivas formas geométricas com base em métodos matemáticos. O segundo objectivo deste projecto foi o desenvolvimento de uma framework genérica, organizada em módulos de avaliação dos resultados das análises automáticas a matrículas, reutilizáveis para aplicação a futuros protótipos ou projectos de Tecnologias da Informação ligados às diferentes áreas de negócio da empresa onde decorre o PEI. O terceiro objectivo do PEI consistiu no desenvolvimento de uma aplicação web, que serve para validar contas de utilizadores e consultar ou corrigir os dados relativos a esses utilizadores, no contexto de uma aplicação móvel que é adicional ao processo de identificação de matrículas através da criação de pórticos virtuais, cuja cobrança será activada através da leitura dos valores GPS do dispostivo. Palavras-chave: Computer Vision, Fingerprinting de Imagens, Optimização de Desempenho, Detecção de Matrícula, Aplicações Móveis ix

12

13 Abstract Given the growing need for image analysis solutions and correlation with events in the context of traffic road tolling, particularly in what concerns decision support systems and detection and control of fraud, this project aims to study and develop the components of a system for analysis, evaluation and measurement of video information with the purpose of identifying vehicles license plates, according to a system of rules supported by a decision engine. Specifically, it is intended that, given an image of a vehicle subject to various conditions that can affect its quality / readability, the system is able to accurately locate and retrieve the license plate area for subsequent comparison with a set of other images stored in a database, returning with a high level of confidence the information needed for the billing process. The whole process is automatic and relies on methodologies for identifying patterns in images such as multi-vector fingerprinting with detection and extraction of points of interest using heuristics relevance, distance profiles based on computational trust modulation noise and calculation of contours and corresponding geometric shapes, based on mathematical methods. The second objective is to develop a generic framework organized into modules for evaluation of the results, with reusable components that can be used in future projects on several different business areas related to Accenture. The third and final objective of the project was to develop a web application that will be used to validate user accounts, as well as to consult and correct the user related data in the context of a mobile application, to be installed on smartphone devices, which will provide additional information to the license plate identification process. Keywords: Computer Vision, Image Fingerprinting, Performance Optimization, License Plate Detection, Mobile App xi

14

15 Conteúdo Lista de figuras Lista de tabelas xviii xxi 1 Introdução Motivação Objectivos Instituição de acolhimento Planeamento e execução Contribuições Notação adoptada Organização do relatório Trabalho relacionado Literatura académica Fingerprinting de imagens Frameworks para reconhecimento de matrículas Trabalho relacionado da Accenture Sumário Trabalho realizado Enquadramento Ferramentas de desenvolvimento de software Organização do trabalho na equipa Processo de desenvolvimento de software Algoritmo de fingerprinting de imagens Avaliação preliminar de algoritmos de fingerprinting Implementação do algoritmo de fingerprinting de matrículas Especialização da função de matching de descritores Algoritmo de recorte da matrícula Recorte da matrícula com o algoritmo de threshold Melhoria ao algoritmo de threshold xiii

16 3.3.3 Recorte da matrícula com filtro de Sobel Recorte da matrícula com combinação dos dois algoritmos Optimização da extracção de imagens candidatas Bancada de testes Métodos de extracção de imagens candidatas Alternativas de desenho físico da base de dados Resultados Síntese do sistema de fingerprinting de matrículas Framework modular para reconhecimento de matrículas Requisitos funcionais Requisitos não-funcionais Arquitectura e componentes Implementação Testes Mobile Tolling Backoffice Requisitos funcionais Arquitectura do módulo de consulta e correcção de dados Implementação do módulo de consulta e correcção de dados Testes Sumário Conclusão Principais contribuições Competências adquiridas Dificuldades encontradas Trabalho futuro Bibliografia 68 xiv

17

18 xvi

19 Lista de Figuras 1.1 Estrutura de serviços da Accenture Pontos de interesse e descritores detectados numa imagem Processo de desenvolvimento de software em V adoptado pela Accenture Processamento do fingerprinting de uma matrícula Exemplos de imagens de matrículas capturadas pelo RSE Pontos de interesse detectados pelos diferentes algoritmos, em imagens de boa qualidade Tempos de execução dos algoritmos de detecção e extracção de pontos de interesse, em imagens de boa qualidade Pontos de interesse detectados pelos diferentes algoritmos, em imagens de má qualidade Tempos de execução dos algoritmos de detecção e extracção de pontos de interesse, em imagens de má qualidade Resultados do match entre duas imagens diferentes da mesma matrícula, com boa qualidade Resultados do match entre duas imagens da mesma matrícula, com diferentes rotações Pontos de interesse detectados para o dígito 2 de uma matrícula Resultados da função de match em diferentes imagens de caracteres Resultados da função de match entre duas matrículas diferentes Taxa de sucesso do algoritmo de fingerprinting Taxa de falsos positivos do algoritmo de fingerprinting Exemplos de binarização de imagem Detecção de matrículas em imagens de níveis de cinzento Detecção de matrículas utilizando o filtro de Sobel Extracção da matrícula em duas etapas Esquema relacional da base de dados com imagens e pontos de interesse Média das coordenadas cartesianas dos pontos de interesse de uma imagem Média dos valores dos ângulos dos pontos de interesse de uma imagem Exemplo de ruído em matrículas xvii

20 3.23 Cálculo do descritor binário LSH Distribuição da probabilidade de encontrar a matrícula correcta Percentagem de candidatos extraídos em função do tamanho da chave LSH Arquitectura de alto nível do sistema de tolling Arquitectura da framework IALPR para reconhecimento de matrículas Rede Bayesiana para a camada de análise Arquitectura do sistema de processamento de eventos assíncronos Diagrama de sequência do IALPR Arquitectura de alto nível do funcionamento do módulo de consulta e correcção de dados Arquitectura MVC do módulo de consulta e correcção de dados Diagrama de sequência do módulo de consulta e correcção de dados xviii

21

22 xx

23 Lista de Tabelas 1.1 Plano de tarefas do PEI Algoritmos de detecção e extracção de pontos de interesse Percentagem de sucesso dos algoritmos de recorte de matrículas Descrição de cada atributo da tabela lpn fingerprint Descrição de cada atributo da tabela fp interest point Percentagem de candidatos filtrados através da classificação de pontos de interesse como sendo fortes ou não fortes Tempos de execução do algoritmo de fingerprinting, incluindo a pesquisa na base de dados Resultado dos testes aos requisitos funcionais da framework modular Lista de requisitos funcionais do módulo de correcção de dados testados com sucesso xxi

24

25 Capítulo 1 Introdução Neste capítulo abordo o conceito de reconhecimento automático de matrículas, que está na base deste Projecto de Engenharia Informática (PEI) realizado na empresa Accenture. Descrevo também os objectivos definidos, o plano de trabalho traçado e as minhas contribuições ao projecto. Finalmente, faço um sumário dos capítulos do relatório. 1.1 Motivação No tradicional pórtico de portagens, a cobrança da passagem é efectuada por um funcionário da empresa, que executa as seguintes tarefas: informar o condutor da taxa a ser paga, receber o pagamento e, finalmente, permitir a passagem do veículo. Esta cobrança manual requer algum tempo a ser processada e causa filas de espera que, nalguns casos, podem ser intoleráveis (por exemplo, na Ponte 25 de Abril), para além de ter um custo adicional para a empresa. Foi neste contexto que surgiram os sistemas automáticos de cobrança. O video tolling é um sistema de identificação de veículos que permite aumentar a rapidez de cobrança de portagens através da automação das tarefas envolvidas. Neste tipo de sistema são instalados equipamentos RSE (Roadside Equipment) nos pórticos, que são câmaras com sensores de infravermelhos e velocidades de obturador elevadas que permitem fotografar os veículos em trânsito, independentemente da velocidade a que seguem ou das condições atmosféricas presentes. Após a captura da imagem do veículo, procede-se à identificação da matrícula através de um algoritmo de OCR (Optical Character Recognition), para que possa ser processado o pagamento da passagem pelo pórtico. No entanto, o algoritmo OCR nem sempre apresenta resultados satisfatórios no que toca à identificação correcta dos caracteres presentes na imagem de uma matrícula. Para além disso, em países como os Estados Unidos da América, onde as matrículas podem ter símbolos, imagens e até caracteres personalizados, torna-se mais complicada a aplicação eficaz de um algoritmo de OCR, o que implica uma validação manual de todas as matrículas 1

26 Capítulo 1. Introdução 2 que não sejam reconhecidas automaticamente. A seguir apresento dois problemas importantes inerentes aos sistemas actuais de video tolling. a) Eficácia insuficiente do algoritmo OCR de identificação de matrículas: O algoritmo actualmente utilizado no reconhecimento dos caracteres da matrícula nem sempre apresenta resultados satisfatórios, havendo uma percentagem considerável de matrículas a ter de ser validada manualmente. Outro cenário possível é o do envio de dados de pagamento ao condutor errado, causado por erros de leitura de caracteres. b) Apenas uma fonte de dados para fazer o reconhecimento de matrículas: O OCR é um componente isolado, não existindo métodos de avaliação alternativos. Este tipo de centralização da avaliação de imagens de matrículas aceita o primeiro resultado obtido, não havendo outra componente que o reforce ou enfraqueça. Surge então a necessidade de encontrar uma solução mais eficaz para o video tolling, e que também seja escalável em termos de desempenho, pois está previsto um crescimento sucessivo dos dados a processar pelo facto de ser guardado o histórico de passagens. A solução proposta neste PEI passa por combinar um sistema de fingerprinting de imagens com o sistema de OCR já existente, passando a existir duas fontes de dados para fazer o reconhecimento de matrículas. O conceito de fingerprinting baseia-se na ideia de que cada imagem possui um conjunto de características, tais como pontos de interesse e respectivos descritores (intensidade de pixel, orientação, entre outros), que permitem atribuir-lhe uma identificação única, naquela que pode ser vista como uma analogia à impressão digital de um ser humano. Torna-se então possível comparar duas imagens diferentes da mesma matrícula e determinar que representam a mesma sequência de caracteres. Desta forma, determinei os componentes principais daquele que é um sistema de avaliação automática de matrículas com recursos a vários módulos. Daqui foi desenvolvida uma framework cujo objectivo passa por garantir que uma matrícula é validada com um nível de certeza o mais próximo possível dos 100%, recorrendo a vários módulos e métricas de processamento dos dados. Irei então discutir, ao longo deste trabalho, abordagens possíveis para a resolução dos desafios inerentes à implementação do sistema proposto, para que seja escolhida e desenvolvida uma solução eficaz e que se adapte às necessidades do mercado, oferecendo também um elevado nível de robustez. 1.2 Objectivos O trabalho que desenvolvi divide-se em três objectivos principais, discutidos a seguir:

27 Capítulo 1. Introdução 3 Objectivo 1: Sistema de fingerprinting de imagens Para este objectivo, desenvolvi um sistema de fingerprinting de imagens para aumentar o nível de automação do processo de reconhecimento de matrículas. Este sistema inclui também um algoritmo de detecção e extracção da zona de matrícula, dada a imagem de um veículo. Actualmente, os melhores algoritmos de fingerprinting apresentam níveis de confiança na ordem dos 96%, e são produtos considerados state of the art. A avaliação deste objectivo passou por atingir um nível de confiança de 90%. Objectivo 2: Framework modular para reconhecimento de matrículas Este objectivo consistiu na modelação e implementação do IALPR (Intelligent Automatic License Plate Recognition), que é uma framework de análise automática de matrículas. Pretendo com isto aliar ao resultado do objectivo 1 um conjunto de regras e métodos de avaliação, para minimizar o fluxo de matrículas que têm de passar pela validação manual. A avaliação deste objectivo consistiu em garantir que o fluxo de processos da framework é executado do início ao fim, de forma assíncrona e com persistência de cada estado de processamento, o que representa a simulação do processamento de um evento do IALPR numa situação em que seja necessário reconhecer uma matrícula. Objectivo 3: Mobile Tolling Backoffice O último objectivo consistiu na criação de um portal que permite o acesso e validação dos dados da aplicação móvel Mobile Tolling App. Esta aplicação móvel tem como principal função criar e gerir um conjunto de pórticos virtuais geo-referenciados através do GPS do dispositivo smartphone. Estes dados, juntamente com os dados que o utilizador inseriu acerca do seu veículo, servem para reforçar a confiança com que as matrículas são validadas pela framework desenvolvida no objectivo 2, através de uma correlação com os dados recolhidos pelos RSE do pórtico. A avaliação deste objectivo consistiu em criar um conjunto de contas de utilizador para serem inseridas no sistema, de forma a testar a sua validação e pesquisa de dados. O portal serve principalmente para efectuar a correcção de dados em ambiente backoffice, comprovando assim a modularidade que se pretendia da framework do objectivo 2. Por exemplo, se a imagem de uma matrícula estiver associada a um número de matrícula incorrecto, todos as transacções daquele cliente irão ser processadas de forma errada mesmo que o fingerprinting da imagem tenha uma confiança de 100%. Numa situação destas, os dados podem facilmente ser corrigidos.

28 Capítulo 1. Introdução Instituição de acolhimento O PEI decorreu na Accenture, actualmente considerada uma das maiores consultoras do mundo, prestando serviços nas áreas de Gestão, Tecnologias de Informação e Outsourcing. Em Janeiro de 2011, a empresa empregava mais de 225 mil funcionários, num total de 120 países. A estrutura dos serviços da empresa está esquematizada na Figura 1.1. Este projecto insere-se na parte de Tecnologia, mais concretamente, na área de Produtos. Fui integrado na equipa especializada em Tolling, cujo objectivo passa por desenvolver soluções para a área das portagens em diversos países, e todo o trabalho está a ser desenvolvido no Tolling Center of Excellence de Lisboa, no escritório situado na sede da empresa. Comunicação, Média e Tecnologia Serviços Financeiros Produtos Saúde e Serviço Público Recursos Consultoria de gestão da Accenture Tecnologia Outsourcing de processos de negócio Figura 1.1: Estrutura de serviços da Accenture. As zonas a cinzento definem o contexto em que se inseriu o PEI na estrutura da empresa. 1.4 Planeamento e execução Na Tabela 1.1 descrevo em detalhe o plano de trabalhos proposto para este PEI. Todas as tarefas estão organizadas por tarefa principal e respectivas sub-tarefas, com data de início e data de fim. O planeamento nesta versão do relatório apresenta algumas diferenças em relação ao relatório preliminar. Isto deve-se ao facto do objectivo 2 ter sofrido um atraso de 3 meses em relação ao que estava previsto, devido a dificuldades técnicas relacionadas com a framework JBPM, tendo inclusive sido discutida a hipótese de utilizar outra ferramenta. Isto levou a um reajustamento da minha contribuição ao objectivo 3 e ao invés de desenvolver toda a aplicação móvel, como estava planeado inicialmente, desenvolvi o módulo de consulta e correcção de dados relativos ao Mobile Tolling App, sendo que outros elementos da equipa

29 Capítulo 1. Introdução 5 de trabalho iniciaram o desenvolvimento da app paralelamente ao meu desenvolvimento da framework do objectivo Contribuições A maior contribuição que dei no decorrer do PEI foi no objectivo 1, a componente de fingerprinting de matrículas, pois o objectivo inicial de atingir uma taxa de sucesso de reconhecimento de 90% foi superado até aos 94%. Para além disso, desenvolvi um algoritmo de localização e extracção da zona da matrícula, dada a imagem de um veículo, que fornece as imagens de matrícula necessárias à operação de fingerprinting. Implementei também a arquitectura que serviu de base à framework de processamento e reconhecimento de matrículas, que funciona de forma assíncrona entre os seus processos e utiliza persistência para garantir que o estado do sistema é sempre mantido, para pode ser restaurado em caso de falha do sistema, conseguindo. Adicionalmente, desenvolvi uma aplicação web, no âmbito da Mobile Tolling App, que é responsável por validar e consultar os dados dos clientes em ambiente de backoffice. Esta aplicação serve também para corrigir dados do cliente, evitando assim potenciais situações em que o cliente errado recebe dados de pagamento relativos à passagem por um dado pórtico. 1.6 Notação adoptada Todas as expressões que se encontrem noutro idioma estão em itálico, como por exemplo fingerprinting. 1.7 Organização do relatório O relatório encontra-se dividido em quatro capítulos. No Capítulo 1, fiz uma introdução ao tema do PEI e apresentei os objectivos definidos, assim como o planeamento das tarefas relacionadas e contribuições dadas ao projecto. No Capítulo 2, discuto algumas referências literárias na área do fingerprinting de imagens e de frameworks de reconhecimento automático de matrículas, assim como projectos relacionados, desenvolvidos pela empresa de acolhimento. No Capítulo 3, apresento todo o trabalho que realizei, no que toca aos objectivos definidos. Descrevo também a organização da equipa de trabalho, as ferramentas que utilizei e o processo de desenvolvimento de software que utilizei. Finalmente, no Capítulo 4 descrevo as minhas contribuições e competências adquiridas, discuto as decisões tomadas em relação às dificuldades que encontrei e identifico possível trabalho futuro.

30

31 Capítulo 1. Introdução 7 Actividades Data Início Data Fim 1 Fingerprinting de Imagens de Veículos e Framework modular Análise dos algoritmos de Fingerprinting Entendimento do problema de negócio Identificação dos requisitos de negócio e operacionais Estudo e selecção de tecnologias candidatas Estudo de processos complementares de avaliação Prototipagem e avaliação de resultados Setup do ambiente de desenvolvimento 1.2 Desenho da Framework modular Desenho dos processos operacionais Desenho da arquitectura funcional Desenho da arquitectura técnica Definição da estratégia de testes Definição do ambiente de desenvolvimento 1.3 Testes Criação da base de dados de testes Codificação dos componentes e testes unitários Testes de Sistema Testes de Desempenho 1.4 Preparação dos Resultados Estatísticos Relatório preliminar Escrita e entrega do relatório preliminar do estágio 3 Mobile Tolling CRM Análise Entendimento do problema de negócio Identificação dos requisitos de negócio e operacionais 3.2 Desenho Desenho dos esboços da página CRM Desenho da arquitectura funcional Desenho da arquitectura técnica Definição da estratégia de testes 3.3 Desenvolvimento e Testes Setup do ambiente de desenvolvimento Codificação dos componentes e testes unitários Testes de Integração Testes de Sistema 4 Relatório final Elaboração e entrega do relatório final de estágio Tabela 1.1: Plano de tarefas do PEI.

32 Capítulo 1. Introdução 8

33 Capítulo 2 Trabalho relacionado No capítulo anterior, identifiquei as problemáticas inerentes à utilização do algoritmo de OCR, propondo então aliar uma solução de fingerprinting de imagens para colmatar os casos em que o OCR falha na detecção da matrícula. De forma a encontrar maneiras de concretizar a solução pretendida, pesquisei algoritmos de detecção e extracção de descritores de imagens que pudessem ser aplicados em imagens de matrículas e que permitam determinar se duas imagens diferentes representam a mesma matrícula. Este capítulo está organizado em duas partes: na primeira descrevo as referências literárias que constituem a base para o desenvolvimento do projecto proposto, enquanto que na segunda parte discuto a solução anteriormente concretizada pela equipa de trabalho onde me inseri. 2.1 Literatura académica Analisei diversos artigos científicos que abordam soluções diferentes para o problema do fingerprinting de imagens, incluindo testes de desempenho que ajudam na análise dos algoritmos e para que situações se adequam melhor. A seguir descrevo e discuto alguns dos algoritmos que estudei para que no Capítulo 3 seja explícito o porquê das decisões tomadas Fingerprinting de imagens Para que seja possível realizar fingerprinting de imagens no contexto do reconhecimento de matrículas é necessário identificar os pontos de interesse e características chave que as tornam únicas. Os pontos de interesse são pontos na imagem que contêm algumas características que definem a área à sua volta, tais como textura, claridade ou formas geométricas. Os algoritmos de detecção de pontos de interesse de imagens actuam em duas fases: detecção e extracção (ver Figura 2.1). Finalmente, há uma terceira fase que visa comparar 9

34 Capítulo 2. Trabalho relacionado 10 Figura 2.1: Pontos de interesse e descritores detectados numa imagem. Tabela 2.1: Algoritmos de detecção e extracção de pontos de interesse. SURF [4] FAST [13] BRIEF [5] ORB [14] BRISK [10] Detector X X X X Extractor X X X X os descritores das imagens, calculados com base na informação dos respectivos pontos de interesse. Fase 1) Identificação de pontos de interesse, através de um detector: A imagem é percorrida por um algoritmo de detecção de pontos de interesse, os quais são obtidos através da análise do histograma de gradientes de luz da imagem ou de aproximações geométricas. Para cada ponto de interesse detectado estão associadas as suas coordenada (x, y) e ângulo. Fase 2) Cálculo de descritores, através de um extractor: Com base nos pontos de interesse obtidos, são calculados os descritores que contêm a informação relevante para a comparação com outros descritores. Estes descritores geralmente são de 64 ou 32 valores, calculados para cada ponto de interesse detectado. Os descritores são matrizes com tantas linhas quantos os pontos de interesse, e com 32 ou 64 colunas. Etapa 3) Fazer correspondência entre descritores: É utilizada uma função que faz a correspondência entre os descritores dos pontos de interesse considerados iguais em duas imagens com o fim de determinar quais os pontos que podem ser considerados representativos do mesmo objecto. Tendo em conta que alguns algoritmos fazem tanto a detecção como a extracção de pontos de interesse, estudei as combinações de detector e extractor que constam na Tabela 2.1.

35 Capítulo 2. Trabalho relacionado 11 Algoritmo SURF SURF, ou Speeded-Up Robust Features [4], baseia-se em aproximações de matrizes Hessianas [8] para detectar pontos de interesse. Após essa detecção, são calculados os seus descritores. Os descritores do algoritmo SURF são extraídos com base num quadrado que é centrado em cada ponto de interesse, ao qual é dada uma orientação. Cada quadrado é dividido em sub-regiões de 4 4, permitindo assim manter informação espacial. Para cada sub-região, é calculado um Haar-wavelet, tanto na vertical como na horizontal, obtendo-se as somas dos Haar-Wavelet para cada sub-região, o que forma o primeiro conjunto de entrada do vector descritor, de dimensão 4. Tendo em conta que cada sub-região irá ter um desses descritores, temos então vectores com 64 valores floating-point que irão ser computados aquando da comparação com os descritores de outras imagens. Tendo este método sido a base para a compreensão do funcionamento dos algoritmos de detecção de pontos de interesse, acabou por não ser uma solução testada. O motivo deveu-se a este algoritmo já ter sido implementado numa solução de fingerprinting de imagens, realizado pela equipa de trabalho anteriormente responsável por esta componente, não tendo sido considerada uma solução viável, pois o uso de descritores com tamanho 64 valores tornava a computação demasiado pesada. Algoritmo FAST + BRIEF Outra abordagem que estudei foi a combinação do detector FAST (Features from Accelerated Segment Test) [13] com o extractor BRIEF [5]. O algoritmo FAST utiliza a detecção de cantos Harris [11] e assume como candidatos a pontos de interesse todos os cantos da imagem detectados. Seja p um ponto de interesse candidato, e dada uma máscara (n,r), em que n é o número de pixels e r é o raio de um círculo, o detector desenha um círculo de r pixels à volta do ponto. Assume-se p como um ponto de interesse se existe um conjunto de n pixels consecutivos, dentro da área desse círculo, que são mais claros ou mais escuros que o pixel inicial, tendo em conta um intervalo de valores definido. Este detector, no entanto, não calcula a orientação do ponto de interesse, tendo portanto uma computação mais rápida, mas menor robustez, pois os descritores contêm menos informação. Considerando esta vantagem no tempo de computação, a combinação dos dois algoritmos é então uma forte candidata a algoritmo de fingerprinting de imagens. Após detectados os pontos de interesse, a extracção dos descritores é feita pelo algoritmo BRIEF. Estes descritores são vantajosos em relação aos do SURF, pois têm tamanho de 32 valores, ao invés de 64, mas preservando a informação relevante. Esta foi, aliás, uma das principais contribuições do algoritmo. A redução de dimensionalidade é conseguida através de técnicas como a PCA (Principal Component Analysis) [16], quantização das coordenadas do descritor ou binarização do mesmo, como descrito por Stommel [17]. A

36 Capítulo 2. Trabalho relacionado 12 técnica adoptada pelo BRIEF é a da conversão do descritor numa string binária, o que reduz bastante o espaço em disco necessário para guardar o descritor (particularmente útil no caso de se quererem guardar milhões de descritores), assim como permite calcular funções de matching mais rapidamente pelo processador do computador. Algoritmo ORB O ORB (Oriented-Fast and Rotated-Brief ) [14] baseia-se na combinação FAST + BRIEF, apresentando no entanto algumas melhorias. A solução proposta por Rabaud et al. [14] adiciona orientação aos pontos de interesse obtidos pelo detector FAST através do cálculo da luminosidade do seu ponto central, que tem como premissa a ideia de que, a partir do primeiro canto detectado, haverá um offset da sua luminosidade até ao centro, o que permite calcular um vector e o ângulo que este tem, obtendo-se assim uma orientação. No ORB, o extractor BRIEF foi modificado para poder tratar imagens do mesmo objecto, mesmo que este seja apresentado com diferentes ângulos de rotação, passando a designar-se r-brief. Esta modificação considera uma matriz dos ângulos obtidos na fase de detecção de pontos de interesse, que é utilizada para dar uma direcção ao descritor. Como é preciso ter em conta diversos ângulos para se poder fazer match correctamente entre imagens com diferentes rotações, são pré-computados valores padrão numa tabela de procura, onde são pesquisados os ângulos coerentes com o ponto de interesse a ser comparado, que por sua vez são os utilizados para computar o descritor. Algoritmo BRISK O BRISK [10] baseia-se, à semelhança do ORB, no detector de pontos de interesse FAST, e devolve também descritores de 32 valores. Inicialmente, o algoritmo é executado com uma máscara (9,16), que calcula, para 9 pixels consecutivos dentro de um círculo de raio 16 pixels, as variações de luminosidade até um limiar dado, identificando-se assim os candidatos a pontos de interesse. De seguida, é aplicado novamente o algoritmo nas áreas detectadas para extrair mais informação sobre os pontos de interesse a ser conjugada à existente, mas desta vez com uma máscara (5,8). Dado um conjunto de pontos de interesse, o algoritmo BRISK apresenta algumas diferenças fundamentais em relação ao BRIEF na forma como calcula os descritores. É utilizado um padrão determinista de amostras, com base em pré-cálculos, que resulta num conjunto de densidades, dentro do raio à volta de cada ponto de interesse. Isto evita a perda de informação sobre a luminosidade da imagem, quando aplicado um filtro (por exemplo, o Gaussian smoothing) para reduzir o espaço de procura de novos pontos de interesse aquando da fase de matching. Desta forma, este método limita mais a pesquisa feita, não só por reduzir o tamanho do descritor (os descritores BRISK também são de 32 valores), mas também através de restrições espaciais, pois só são comparados pontos cujas variações de luminosidade sejam coerentes localmente (na sua vizinhança).

37 Capítulo 2. Trabalho relacionado 13 Matching dos descritores Com base nos algoritmos anteriormente descritos, concluí que existem dois tipos de descritores: vectores com 64 ou 32 valores floating-point. Uma função de matching serve para comparar dois descritores e devolver o número de pontos de interesse que coincidem, ou seja, que são parte do mesmo objecto, apesar de estarem em imagens diferentes. Dados dois descritores floating-point, uma das maneiras de os comparar é através do cálculo da distância Euclidiana entre quaisquer dois pontos, um em cada imagem. Esta solução é robusta pois restringe espacialmente o matching de pontos, mas apresenta um grave problema de desempenho quando é necessário comparar milhões de descritores por causa do cálculo da distância Euclidiana, que não é uma simples operação de computação e comparação de bits Frameworks para reconhecimento de matrículas Existem diversas frameworks de avaliação de reconhecimento de matrículas [19, 15, 12, 9], que, apesar das suas taxas de sucesso, apenas possuem módulos de localização e extracção da zona de matrícula e avaliação OCR (Optical Character Recognition), não havendo qualquer outro método de avaliação e/ou confirmação dos resultados obtidos. Estas frameworks têm taxas de sucesso com valores entre 80-97% na detecção de matrículas, enquanto que o OCR apresenta uma taxa de sucesso de, em média, 90% no reconhecimento dos caracteres. Pegando num exemplo concreto de uma framework de reconhecimento de matrículas utilizada nos Estados Unidos da América, a solução oferecida em [9] consiste num detector e extractor da zona da matrícula, dada a foto do veículo, com uma taxa de sucesso de 94.3% e um módulo OCR com 91.4% de sucesso na leitura dos caracteres, o que se traduz numa confiança geral de 87,6% de probabildade de sucesso no reconhecimento da matrícula. A possibilidade de adaptar a framework de forma a que seja possível reconhecer matrículas de diversos países através de diferentes parametrizações dos atributos utilizados é notável e serviu de base ao trabalho desenvolvido para o objectivo 2, mas as taxas de sucesso no reconhecimento são baixas face ao custo associado aos 12.4% de imagens de matrículas que têm de ser validadas manualmente. 2.2 Trabalho relacionado da Accenture A Accenture tem uma solução de OBO (Operational Back-Office), responsável por todo o sistema de video tolling, composta por vários módulos e que está constantemente a ser submetida a melhorias. Uma solução de fingerprinting de imagens já havia sido desenvolvida anteriormente, mas provou ser pouco escalável, o que deu início a uma nova abordagem ao tema, sendo este o principal propósito deste PEI. Nessa solução, foi utilizado o algoritmo SURF, que

38 Capítulo 2. Trabalho relacionado 14 apresentou resultados de sucesso na detecção de imagens semelhantes na ordem dos 85%. No entanto, era exigida uma comparação por força bruta na base de dados entre os 64 valores do descritor actual com os outros descritores guardados, que demorava, num universo de 2000 imagens de matrículas e descritores, cerca de 18 horas até devolver resultados. Este PEI (Projecto de Engenharia Informática) enquadra-se na evolução do sistema existente, não só com a implementação de um sistema de fingerprinting de imagens mas também com a contínua melhoria dos resultados da detecção automática de matrículas. 2.3 Sumário Neste capítulo, apresentei a literatura relacionada com a problemática do fingerprinting de imagens, tendo estudado diversos algoritmos de detectores e extractores apropriados ao problema proposto. Fiz também um enquadramento ao trabalho realizado pela equipa de trabalho anterior, relativamente à solução de fingerprinting de imagens de matrículas. Essa solução, no entanto, tinha várias limitações que foram ultrapassadas neste PEI. No próximo capítulo explico o porquê da minha escolha do algoritmo de fingerprinting e justifico todo trabalho que realizei durante o PEI.

39

40 Capítulo 2. Trabalho relacionado 16

41 Capítulo 3 Trabalho realizado Após referidas as problemáticas que motivam o projecto, assim como feito o estudo de literatura, neste capítulo apresento o trabalho que realizei para cumprir os objectivos traçados, nomeadamente no que toca à implementação do fingerprinting de imagens, o desenvolvimento da framework modular IALPR (Intelligent Automatic License Plate Recognition) e o Mobile Tolling Backoffice. 3.1 Enquadramento Nesta secção, descrevo as ferramentas que utilizei no decorrer do PEI, a organização de trabalho da equipa de tolling da Accenture e o processo de desenvolvimento de software Ferramentas de desenvolvimento de software As ferramentas de desenvolvimento de software que apresento a seguir estão organizadas em torno dos objectivos do PEI. Sistema de fingerprinting de matrículas Utilizei um computador portátil equipado com processador Intel Core i5, 4 GB de memória RAM e sistema operativo Windows 7 Enterprise Edition de 64 bits. Todo o software foi desenvolvido na linguagem Java, usando o Eclipse IDE 1, e utilizei duas bibliotecas para manipulação de imagens. A OpenCV 2 (Open Computer Vision) é uma biblioteca Open- Source que contém as funcionalidades necessárias à realização do projecto, nomeadamente no que toca a filtros a serem aplicados nas imagens e a algoritmos de fingerprinting. A JavaCV 3 funciona como complemento ao OpenCV, desenhado especificamente para a linguagem Java, de forma a permitir o uso das suas funções nativas

42 Capítulo 3. Trabalho realizado 18 Adoptei esta estratégia de trabalhar com duas bibliotecas em paralelo para efectuar testes de desempenho e determinar a solução que oferece maior rapidez de processamento, tendo a escolha final recaído sobre a biblioteca OpenCV, visto que, por ser uma adaptação directa do código original (escrito em C++) através do uso de wrappers Java, torna-se mais eficiente em termos de desempenho. O sistema de gestão de bases de dados que utilizei foi o MySQL 4, servindo para armazenar os dados relativos aos pontos de interesse e descritores de cada imagem, assim como a localização em disco das imagens dos veículos. Estas imagens estão agrupadas por pastas cujos nomes são números de matrículas, e imagens da mesma matrícula encontramse na mesma pasta. Framework modular A escolha para o desenvolvimento da framework modular recaiu sobre a ferramenta JBPM5 5, uma framework de criação e gestão de processos de negócio. Dado que é uma ferramenta baseada em Drools 6, um sistema de regras suportado por um motor de decisão, e que permite a alteração do fluxo de processos de uma forma muito acessível (para inserção de novos processos ou alterações específicas para um determinado cliente), pareceu uma escolha bastante interessante e adequada para futuras modificações na arquitectura. A rede Bayesiana, correspondente à camada de análise, foi implementada na framework através do jsmile 7, uma bibloteca de classes Java que permitiu a criação de modelos probabilísticos. Mobile Tolling Backoffice A interface do módulo de consulta e correcção de dados foi desenvolvida em HTML5 e CSS3, com recurso a funções oferecidas por jquery e Javascript. A componente de backoffice foi totalmente desenvolvida em Java, com recurso a tags JSP, e a sua arquitectura baseou-se no MVC (Model-View-Controller) da framework Struts Organização do trabalho na equipa A equipa de trabalho foi composta por duas pessoas, sendo que uma terceira ajudou, quando necessário. Todo o trabalho foi supervisionado por um membro sénior do projecto, que garantiu a execução do planeamento dentro do previsto. Toda a equipa encontravase no mesmo escritório, em ambiente informal, e a comunicação foi sempre efectuada pessoalmente, excepto quando algum elemento estivesse deslocado, sendo que nesse caso

43 Capítulo 3. Trabalho realizado 19 a comunicação foi feita por correio electrónico. O projecto foi documentado internamente de acordo com as normas do Accenture Delivery Method, de forma a normalizar o formato da documentação Processo de desenvolvimento de software O processo de desenvolvimento que adoptei seguiu o modelo em V [1], sendo este utilizado na maioria dos projectos realizados na instituição de acolhimento (ver Figura 3.1). O modelo em V adopta uma estruturação do projecto em várias etapas, mas ao invés de seguir uma abordagem linear até à fase de implementação, segue uma estrutura mais flexível e com várias iterações de melhoria em cada etapa. Para além disso, este modelo foca-se muito nos testes de software, o que permite uma correcção rápida de erros. Do ponto de vista da gestão de projeto, este processo permite, em caso de anomalia, um retorno às etapas precedentes, o que facilita o desenvolvimento de novos requisitos que possam surgir durante o projecto. Especificação de requisitos Testes de aceitação Projecto de alto nível Testes de sistema Desenvolvimento Teste Projecto detalhado Testes de integração Codificação Testes de unidade Figura 3.1: Processo de desenvolvimento de software em V adoptado pela Accenture.

44 Capítulo 3. Trabalho realizado Algoritmo de fingerprinting de imagens O algoritmo de fingerprinting da imagem de uma matrícula é processado como no diagrama da Figura 3.2, onde, dada uma imagem de uma matrícula, são detectados os seus pontos de interesse e calculados os descritores, para depois ser feita a extracção de candidatos a matrícula igual presentes na base de dados. Se a função de matching determinar com um nível de confiança suficentemente alto que alguma das matrículas candidatas é a correspondente à matrícula de entrada, há validação dos dados. Caso contrário, a matrícula é validada manualmente por um operador. Todas as etapas do processamento serão explicadas em detalhe desde esta secção até à Secção 3.4. Base de dados de imagens Validação manual Detecção de pontos de interesse Não Extracção dos descritores Extracção de candidatos a matrícula igual Nivel de confiança suficiente? Sim Função de matching Validação da matrícula Figura 3.2: Processamento do fingerprinting de uma matrícula. Apesar de todos os algoritmos mencionados no Capítulo 2 apresentarem resultados semelhantes em imagens de boa qualidade, não se pode assumir o mesmo para as imagens obtidas em situações reais, onde as fotografias tiradas podem estar sujeitas às condições atmosféricas como chuva e nevoeiro. Nestas circunstâncias, e após testes de detecção de pontos de interesse e extracção de descritores em imagens com diferentes dimensões e níveis de ruído, concluí que o algoritmo ORB (Oriented-Fast and Rotated-Brief ) apresenta melhores resultados, tanto em termos da quantidade de pontos de interesse detectados como na sua qualidade. Algumas das alternativas estudadas chegaram a não detectar

45 Capítulo 3. Trabalho realizado 21 qualquer ponto de interesse em certas imagens, devido à sua baixa resolução ou excesso de ruído. Na Figura 3.3 estão exemplos de imagens de matrículas enviadas pelo RSE (Roadside Equipment), que foram as que utilizei nos testes efectuados. (a) Exemplo de uma imagem de matrícula com boa qualidade. (b) Exemplo de uma imagem de matrícula com má qualidade. Figura 3.3: Exemplos de imagens de matrículas capturadas pelo RSE. Alguns dos dígitos destas matrículas foram ocultados por questões de privacidade. Para os testes de benchmark que efectuei de forma a confirmar a superioridade do algoritmo ORB, utilizei 100 imagens de matrículas com boa qualidade e 100 imagens de má qualidade. A Figura 3.4 apresenta o número de pontos de interesse detectados para imagens de matrícula com boa qualidade, sob forma de box plot. Neste gráfico, podemos ver os valores máximos e mínimos que existem através dos whiskers, enquanto que as barras a preto representam o primeiro quartil, no seu extremo inferior, o terceiro quartil, no seu extremo superior, e a mediana. A Figura 3.5 apresenta o tempo (em milissegundos) que o algoritmo demorou a ser executado. Consegui então confirmar que o algoritmo SURF é 20 vezes mais lento que o ORB, devido ao facto de gerar descritores de 64 valores face aos descritores de tamanho 32 dos outros algoritmos. O ORB apresenta os melhores resultados, detectando mais pontos de interesse em menos tempo do que os restantes algoritmos. Na Figura 3.6 estão os resultados do teste de benchmark semelhante ao anterior, mas desta vez utilizando imagens com bastante ruído. Nesta situação, o algoritmo SURF detecta bastante mais pontos de interesse que o ORB, no entanto, isso deve-se ao facto do ruído presente na imagem ser confundido como pontos de interesse. Nesta situação, o ORB revela novamente a sua superioridade ao demonstrar uma melhor filtragem do que é verdadeiramente ponto de interesse e o que é apenas ruído. O BRISK continua a apresentar resultados insatisfatórios. Na Figura 3.7 verifica-se que os tempos de execução não variam muito em relação a imagens com boa qualidade. Nos gráficos ilustrativos dos tempos de execução dos algoritmos não utilizei box plot porque os valores variam muito pouco Avaliação preliminar de algoritmos de fingerprinting Passo então aos testes de desempenho no que toca à operação de match. Na Figura 3.8 é notória a vantagem dos descritores de 32 valores floating point face aos de 64. Dadas duas imagens diferentes da mesma matrícula, os algoritmos apresentam todos percentagens

46 Capítulo 3. Trabalho realizado 22 Figura 3.4: Pontos de interesse detectados pelos diferentes algoritmos, em imagens de boa qualidade. Figura 3.5: Tempos de execução dos algoritmos de detecção e extracção de pontos de interesse, em imagens de boa qualidade. de match entre pontos de interesse bastante semelhantes, mas o algoritmo SURF demora cerca de mais 200ms a ser executado. A Figura 3.9 apresenta o último teste que realizei, sendo novamente um exercício de match, mas desta vez com uma sequência de imagens diferentes da mesma matrícula rodadas desde os 10 até aos 45 graus. Como se pode observar pela linha de tendência do

47 Capítulo 3. Trabalho realizado 23 Figura 3.6: Pontos de interesse detectados pelos diferentes algoritmos, em imagens de má qualidade. Figura 3.7: Tempos de execução dos algoritmos de detecção e extracção de pontos de interesse, em imagens de má qualidade. gráfico, nenhum dos algoritmos lida bem com muita rotação na imagem, mas é notória a superioridade do ORB e do SURF em relação ao BRISK.

48 Capítulo 3. Trabalho realizado 24 Figura 3.8: Resultados do match entre duas imagens diferentes da mesma matrícula, com boa qualidade. Figura 3.9: Resultados do match entre duas imagens da mesma matrícula, com diferentes rotações. Concluídos os testes de desempenho, constatei que o ORB é o algoritmo que apresenta melhores resultados no que toca a pontos de interesse detectados em função do tempo de

49 Capítulo 3. Trabalho realizado 25 execução Implementação do algoritmo de fingerprinting de matrículas A solução considerada neste PEI, para o objectivo 1, passou pela conversão dos descritores do algoritmo ORB para formato binário, e concatenar estes 32 valores numa só string. Sendo esta representação uma simples sequência de zeros e uns, a sua computação é bastante rápida e exige poucos recursos por parte do processador. A comparação de dois descritores é feita através do cálculo da distância de Hamming, que, dadas duas strings binárias, devolve o número de bits em que diferem. Por exemplo, dadas as strings abc e aba, a distância de Hamming é 1. Esta função reduz-se a uma operação XOR, seguida de uma contagem de bits, o que, dadas as arquitecturas informáticas actuais, é uma operação muito eficiente. Passo então a explicar como obtenho os pontos de interesse e respectivos descritores de uma imagem. Fiz a implementação do algoritmo ORB na linguagem Java, através do uso de métodos da biblioteca OpenCV. Primeiro, é instanciado um objecto da classe ORB. Após este objecto ter sido criado e parametrizado 9, são inicializados o detector e o extractor de pontos de interesse. O detector percorre a query image, que é a imagem da matrícula a comparar com todas as imagens de matrículas já existentes (as train images), de forma a encontrar pontos de interesse que a identifiquem univocamente, como exemplificado na Figura Para tal, é necessário invocar o método detect() com dois argumentos: a query image e uma matriz de valores, inicialmente vazia. Esta matriz, depois de preenchida, tem n linhas e 4 colunas e é representada através de uma estrutura de dados própria, chamada Keypoints, e é nela que são guardados todos os pontos de interesse detectados. Estes pontos de interesse são objectos, cada qual guardado numa linha da matriz, e que contêm informação sobre as suas coordenadas cartesianas x e y, respectivo ângulo de rotação e descritor de 32 valores. Figura 3.10: Pontos de interesse detectados para o dígito 2 de uma matrícula. O passo seguinte do algoritmo ORB consiste na computação dos descritores, para cada ponto de interesse detectado, por invocação do método compute(), que, dada uma imagem e a sua matriz de keypoints, coloca nessa estrutura de dados os valores floating point que 9 A criação do objecto ORB foi feita através do comando ORB(int nfeatures=500, float scalefactor=1.2f, int nlevels=8, int edgethreshold=31, int firstlevel=0, int WTA-K=2, int scoretype=harris- SCORE, int patchsize=31). Para mais detalhes, consultar [14].

50 Capítulo 3. Trabalho realizado 26 correspondem às variações de luminosidade, dentro de um certo limiar. Quando for feita a extracção dos descritores, estes valores float serão convertidos em 0 ou 1, construíndo-se assim a string binária que representa um descritor Especialização da função de matching de descritores Após obtidos os descritores dos pontos de interesse em imagens, o algoritmo ORB encontrase apto a efectuar a correspondência entre pontos equivalentes. As funções de match que o OpenCV oferece encontram todos os pontos correspondentes entre duas imagens, como mostrado na Figura 3.11(a), o que não é o que se pretendia, pois o objectivo era filtrar espacialmente as correspondências encontradas. Desta forma, modifiquei o algoritmo de correspondência oferecido pelo ORB para que sejam devolvidos apenas os descritores representativos do mesmo objecto (ver Figura 3.11(b) e Figura 3.11(c)). Na Figura 3.12 está um exemplo de match entre duas matrículas consideradas diferentes pelo algoritmo. (a) Exemplo de match entre todos os pontos de interesse. (b) Exemplo de good match entre duas imagens da letra 0. (c) Exemplo de good match entre duas imagens da letra H. Figura 3.11: Resultados da função de match em diferentes imagens de caracteres. Para criar a função de correspondência entre os pontos de interesse relevantes, tive de obter, com base nos descritores, as distâncias de Hamming entre os descritores correspondentes das query e train images, ou seja, da imagem actualmente em uso e da imagem na base de dados com a qual está a ser feita a comparação. De seguida, calculo as distâncias físicas entre os pontos correspondentes das imagens através do teorema de Pitágoras, para restringir espacialmente a distância a que cada ponto da query image pode estar do seu possível correspondente da train image. Finalmente, aplico um filtro aos ângulos dos dois descritores a serem comparados, definido pelos limites mínimo e máximo a que podem pertencer, para poder determinar com maior probabilidade se representam o mesmo ponto de interesse. Após completos estes procedimentos de filtragem, calculo uma percentagem de confiança para a correspondência entre as imagens das matrículas. Para tal, utilizo uma heurística que, após dividir ambas as imagens em seis regiões de dimensão igual, calcula o número de pontos de interesse de cada região correspondente e efectua match entre esses pontos. Se pelo menos em três das seis regiões houver uma percentagem de igualdade superior a 70%, então considero que ambas as imagens representam a mesma matrícula.

51 Capítulo 3. Trabalho realizado 27 (a) Pontos de interesse detectados para a matrícula 1. (b) Pontos de interesse detectados para a matrícula 2. (c) Match apenas na parte comum às duas matrículas. Figura 3.12: Resultados da função de match entre duas matrículas diferentes. A Figura 3.13 mostra uma mediana de 93% para a taxa de reconhecimento de matrículas com o algoritmo de fingerprinting que desenvolvi, num conjunto de cerca de 2000 fotografias de teste. Na Figura 3.14 verifica-se que as taxas de falsos positivos mantêm-se sempre à volta de 1%. Tendo em conta que cada falso positivo é sinónimo de uma cobrança de passagem ao cliente errado, 1% é um valor ainda elevado tendo em conta o custo de transacção processada de forma errada. Figura 3.13: Taxa de sucesso do algoritmo de fingerprinting.

52 Capítulo 3. Trabalho realizado 28 Figura 3.14: Taxa de falsos positivos do algoritmo de fingerprinting. 3.3 Algoritmo de recorte da matrícula Para que o algoritmo de fingerprinting possa ser executado de forma correcta, é preciso antes resolver a questão fulcral de como obter a zona da matrícula e recortá-la, dada a imagem de um veículo. Após alguma pesquisa sobre os métodos oferecidos pela biblioteca OpenCV, concluí que esta oferece todos os recursos necessários para a concretização da operação de detectar e recortar a matrícula. As funções do OpenCV que utilizei foram invocadas com imagens de níveis de cinzento, logo, a única informação necessária para o recorte da matrícula é o histograma de luminosidade. Para além disso, o processamento dos métodos que o OpenCV oferece é mais rápido sobre imagens sem informação de cor. Esta é, portanto, a primeira operação de transformação aplicada à imagem da qual se pretende extrair a zona onde se encontra a chapa da matrícula. Outra operação base para poder efectuar o recorte da matrícula é a suavização da imagem, conseguida através de um filtro de suavização de mediana, com o propósito de eliminar algum do ruído da imagem. Esta detecção é conseguida através de uma binarização da imagem, dentro um certo limiar, ou através da aplicação de um fltro de Sobel, ambos descritos a seguir.

53 Capítulo 3. Trabalho realizado Recorte da matrícula com o algoritmo de threshold Dada uma imagem de níveis de cinzento, em que os seus valores de luminosidade variam entre 0 e 255, e dado um valor de referência, o algoritmo de binarização rejeita todos os pixels que estejam abaixo desse valor e aceita apenas os que estão acima, devolvendo assim uma imagem de fundo negro, onde os pixels brancos representam as zonas aceites. A premissa deste algoritmo é que, dados valores de referência apropriados, a binarização da imagem devolverá a zona da matrícula (entre algumas outras) totalmente pintada de branco (ver Figura 3.15(a) (c)). O próximo passo do processo de recorte de matrículas é obter os contornos da imagem binarizada e as coordenadas cartesianas dos pontos dos contornos. Isto é conseguido através do método findcontours(), que se baseia nas mudanças bruscas de luminosidade para calcular o que pode ser considerado um contorno (ver Figura 3.15(d)). Obtidos os contornos, são construídos rectângulos à sua volta, com base em aproximações geométricas, através do método minarearect(). Isto é importante na identificação da área correspondente à matrícula, de entre os vários candidatos detectados pois, segundo o método sugerido por Duan et al. [7], as matrículas são formas geométricas que obedecem a um determinado rácio entre a sua altura e comprimento. Após análise das dimensões das matrículas portuguesas, concluí que estas têm um rácio entre 3 e 7,5, havendo ainda o caso das matrículas dos motociclos, que têm um rácio entre 0,7 e 1,5. Outra condição para o reconhecimento de matrículas inclui o cálculo da área do rectângulo correspondente à zona candidata. Novamente, fiz uma análise empírica às dimensões das matrículas, e determinei que os valores variam entre 3500 e 7200 pixels quadrados, em imagens com uma resolução média de pixels. O motivo para um intervalo de valores tão grande prende-se com o facto de haver mudanças na escala de cada imagem, devido à velocidade a que o veículo segue quando é registada a imagem: veículos a maior velocidade ficam mais próximos da objectiva, logo, terão maior área. Note-se que todos estes valores de rácio e área são ajustáveis, podendo assim utilizar-se o algoritmo para qualquer tipo de matrícula, em qualquer país do mundo. Este algoritmo de conversão para a imagem binarizada tem, no entanto, um problema quando existem demasiados elementos reflectores no veículo, que acabam por se confundir com a chapa de matrícula (ver Figura 3.16). Isto é considerado inaceitável, visto ser da mais alta importância que não haja excepções neste processo de detecção da matrícula. Desta forma, tornou-se necessário explorar outra alternativa para o problema proposto Melhoria ao algoritmo de threshold O algoritmo de threshold baseia-se na binarização de imagens. De forma a obter os melhores resultados possíveis, aplico nove níveis de teste em que os valores de threshold variam entre 35 e 180 (numa escala de níveis de cinzento que vai de 0 a 255). A ordem

54 Capítulo 3. Trabalho realizado 30 (a) Valor de referência 50. (b) Valor de referência 120. (c) Valor de referência 200. (d) Detecção de contornos. Figura 3.15: Exemplos de binarização de imagem.

55 Capítulo 3. Trabalho realizado 31 (a) Matrícula bem detectada. (b) Algoritmo não reconheceu matrícula por haver excesso de elementos reflectores. Figura 3.16: Resultados do algoritmo de detecção de matrículas em imagens de níveis de cinzento. com que estes valores são aplicados à imagem foi testada de forma a optimizarem-se os resultados obtidos na detecção da zona da matrícula. Valores de threshold mais altos servem para extrair informação de imagens com maior luminosidade, ao passo que valores mais baixos aplicam-se na extracção de matrículas em imagens mais escuras Recorte da matrícula com filtro de Sobel O filtro de Sobel permite obter os contornos presentes numa imagem com base na detecção de mudanças de luminosidade entre pixels adjacentes. As imagens que resultam da aplicação deste filtro não têm informação suficiente para a extracção de candidatos a matrícula, pois apenas apresentam um conjunto de contornos, sendo assim necessário binarizá-las, segundo o método de pré-processamento de imagem sugerido por Duan et al. [7]. Após um estudo às funções oferecidas pela biblioteca OpenCV, concluí que a função dilate() ajuda a salientar ainda mais os contornos ao ler regiões da imagem. Para cada uma dessas regiões, é encontrado o pixel de maior intensidade e substitui-se o ponto central da região actual por esse novo pixel. Isto causa um dilatar das zonas mais claras da imagem, facilitando assim o processo de selecção de candidatos a matrícula. Após feito este pré-processamento, o algoritmo de recorte da matrícula com filtro de Sobel segue os mesmos passos que o algoritmo do threshold, ou seja, cálculo de contornos e detecção de formas geométricas que obedecem a um certo rácio e área.

56 Capítulo 3. Trabalho realizado 32 Tabela 3.1: Percentagem de sucesso dos algoritmos de recorte de matrículas. Universo de teste Etapa 1 - Sobel Etapa 2 - Threshold Duas etapas activas 1726 imagens 96% 92% 99.5% Este algoritmo apresenta, no entanto, resultados pobres quando as imagens são demasiado escuras, pois os contornos das imagens não são bem obtidos. Na Figura 3.17 apresento o resultado de cada passo do pré-processamento, assim como um caso de sucesso de detecção da matrícula com o filtro de Sobel, numa imagem na qual o algoritmo de recorte baseado só em binarização de imagens havia falhado (consultar Figura 3.16(b)) Recorte da matrícula com combinação dos dois algoritmos Fazendo então um ponto da situação, implementei dois algoritmos de detecção e recorte automático de matrículas: Algoritmo de threshold que se baseia na binarização de imagens e que funciona melhor em imagens com pouca luminosidade. Algoritmo de Sobel que extrai contornos a partir de um filtro de Sobel, aplicando posteriormente as funções de dilatação e binarização da imagem, que funciona melhor em imagens com boa luminosidade. Daqui decorreu a ideia de combinar estes dois algoritmos, da seguinte forma: dada uma imagem da qual se pretenda extrair a matrícula, é primeiro aplicado o algoritmo de Sobel, pois presumo que a imagem tenha boa luminosidade; caso isto não se verifique, ou seja, se não for detectado nenhum candidato a matrícula, é executada uma segunda etapa de extracção segundo o algoritmo do threshold (ver Figura 3.18). Os testes que efectuei confirmaram que os casos mais óbvios são detectados com sucesso pelo algoritmo de Sobel, ao passo que as imagens de pior qualidade são analisadas com sucesso pela segunda etapa de extracção (consultar Tabela 3.1). 3.4 Optimização da extracção de imagens candidatas Resolvido o problema do fingerprinting de imagens, passei à afinação do desempenho do algoritmo. Para o efeito, utilizei um segundo conjunto de cerca de 6000 imagens de matrículas e criei uma bancada de testes com uma base de dados com as imagens do conjunto de teste e cerca de 2 milhões de pontos de interesse. O maior desafio foi arranjar uma forma de quantificar imagens, de forma a que fosse possível seleccionar um número de candidatos a matrícula igual para serem extraídos da base de dados, de tal forma que as

57 Capítulo 3. Trabalho realizado 33 (a) Após aplicação do filtro de Sobel. (b) Após aplicação do método dilate(). (c) Após aplicação da binarização da imagem. (d) Matrícula detectada com sucesso. Figura 3.17: Resultados do algoritmo de detecção de matrículas utilizando o filtro de Sobel.

58 Capítulo 3. Trabalho realizado 34 (a) Primeiro nível de extracção. (b) Segundo nível de extracção. Figura 3.18: A imagem (a) apresenta um exemplo em que a primeira etapa de extracção (Sobel) foi o suficiente para detectar a área da matrícula, enquanto que em (b) foi necessário passar à segunda etapa (threshold). operações de extracção de candidatos e matching demorassem apenas alguns milissegundos a serem processadas, num universo de milhões de dados. Passo então a explicar com mais detalhe as técnicas que apliquei para optimizar o desempenho do algoritmo Bancada de testes A máquina que utilizei para efectuar os testes de desempenho foi um computador portátil equipado com processador Intel Core i5, 4 GB de memória RAM e sistema operativo Windows 7 Enterprise Edition de 64 bits. Criei uma base de dados que armazenou os dados de teste. O diagrama da Figura 3.19 ilustra o esquema relacional dessa base de dados de apoio. Os testes realizados consistiram na extracção dos pontos de interesse de uma imagem de matrícula e cálculo dos seus respectivos descritores. Após a base de dados ter sido populada com a informação necessária, iniciei so processo de match entre matrículas, ou seja, dada uma query image, a base de dados foi percorrida até ser encontrada uma matrícula igual. A Tabela 3.2 e a Tabela 3.3 contêm, respectivamente, as descrições de cada atributo das tabelas lpn fingerprint e fp interest point da base de dados de testes. A tabela lpn fingerprint contém informações acerca da imagem da matrícula enquanto que a tabela fp interest point contém os dados relativos a cada ponto de interesse de uma matrícula.

59 Capítulo 3. Trabalho realizado 35 Tabela 3.2: Descrição de cada atributo da tabela lpn fingerprint. Atributo Descrição id plate number file path fp interest point id fp interest point cord x Chave primária que identifica a imagem O número de matrícula A localização da imagem da matrícula no disco Chave estrangeira para a tabela fp interest point Referencia a partição correcta de cada ponto de interesse. Tabela 3.3: Descrição de cada atributo da tabela fp interest point. Atributo Descrição id fingerprint id cord x cord y angle desc1...desc32 is strong point dbinary Chave primária que identifica o ponto de interesse O identificador do fingerprint da imagem A coordenada x do ponto de interesse. Referencia a partição correcta A coordenada y do ponto de interesse O ângulo do ponto de interesse Os 32 pontos de interesse que constituem o descritor Tem valor 1 se o ponto de interesse for forte e 0 se não for Representação binária de todos os descritores

60 Capítulo 3. Trabalho realizado 36 Figura 3.19: Esquema relacional da base de dados com imagens e pontos de interesse Métodos de extracção de imagens candidatas Passo a discutir alguns dos métodos que estudei no que toca à extracção de imagens candidatas a match da base de dados, assim como a solução que encontrei e a sua implementação. O objectivo destes métodos é reduzir o espaço de procura da função de match, optimizando assim o processo do fingeprinting. Extracção de candidatos através de strings que representam ângulos de cada ponto de interesse Construída a bancada de testes, passei a focar os meus esforços na procura de uma forma de quantificar imagens num valor ou conjunto de valores que possam ser utilizados para extrair imagens candidatas a matrícula igual a uma dada. A primeira abordagem passou por agrupar os ângulos dos pontos de interesse por letra. Assim, fiz a substituição do valor de cada ângulo pelo carácter A, B, C ou D, em que A engloba valores entre 0-90, B entre e assim por diante. Considerando um exemplo prático, se uma imagem tiver quatro pontos de interesse com os ângulos [30, 70, 355, 178], a sua representação em string será AADB. A ideia principal deste conceito baseia-se na expectativa de existirem padrões entre conjuntos de letras que possam ser visados na filtragem de imagens candidatas. Esta abordagem, no entanto, não chegou a ser testada, pois uma análise preliminar às strings resultantes revelou não haver qualquer espécie de padrão na sequência de caracteres. Isto deveu-se ao facto de cada imagem ter pontos de interesse numa ordem própria, ou seja, duas imagens diferentes do mesmo objecto possuem uma quantidade relevante de pontos em comum, mas não necessariamente pela mesma ordem. Esta hipótese foi então descartada.

61 Capítulo 3. Trabalho realizado 37 Extracção de candidatos através da média das coordenadas de cada ponto de interesse Outra ideia para a resolução do problema de quantificar uma imagem num valor que possa ser um atributo utilizado para extracção candidatas a match passou por calcular a média das coordenadas cartesianas x e y dos pontos de interesse de cada imagem e criar um índice na base de dados sobre esse atributo, para que mais tarde fosse feita uma pesquisa, por intervalo, desse mesmo valor. Se tivermos uma imagem com 30 pontos de interesse, a sua média de coordenadas x e y seria calculada, e a extracção de candidatos seria feita com base nesses valores. Uma análise aos resultados obtidos, presentes na Figura 3.20, revelou uma extracção de 30-60% de candidatos a matrícula no total da tabela da base de dados, mas por vezes imagens de objectos diferentes tinham um valor de média de ângulos mais próximo do que imagens do mesmo objecto. Como os resultados obtidos não foram os pretendidos, uma outra alternativa, dentro da mesma lógica, passou por calcular e comparar médias dos ângulos dos pontos de interesse de cada imagem, mas os resultados foram igualmente insatisfatórios. A Figura 3.21 mostra como imagens de matrículas diferentes podem ter médias de ângulos dos pontos de interesse mais semelhantes do que imagens de matrículas iguais. Figura 3.20: Valor médio das coordenadas cartesianas dos pontos de interesse de uma imagem, para comparação entre imagens de diferentes matrículas.

62 Capítulo 3. Trabalho realizado 38 Figura 3.21: Valor médio dos ângulos dos pontos de interesse de uma imagem, para comparação entre imagens de diferentes matrículas. Extracção de candidatos através do método do centróide Uma análise às imagens e aos seus contornos levou-me a crer que uma solução poderia passar por aproveitar a informação dos mesmos para extracção de candidatos a matrícula igual. Tendo em conta o método sugerido por Arivazhagan et al. [3], decidi adaptar a ideia de usar o centro da massa (centróide) dos contornos de uma imagem para calcular a distância desde esse ponto a cada contorno, devolvendo um somatório desse valor. Por exemplo, obtidos os centros de massa, ou centróides, dos caracteres AB e XY, o somatório da distância de cada contorno dos caracteres até ao centróide iria diferir bastante de uma imagem para outra, o que permite determinar que não se trata da mesma imagem. Analogamente, se o valor do somatório das distâncias ao centróide for muito parecido ou igual em ambas as imagens, então são iguais. A lógica aqui é que, através deste método, é possível fazer a extracção de um número bastante reduzido de candidatos a imagem igual. Um centróide C é obtido pelas suas coordenadas cartesianas, através das Fórmulas 3.1 e 3.2, sendo n o número total de contornos da matrícula. De seguida, é calculada a distância Euclidiana d das coordenadas (x, y) de cada contorno até ao centróide, através da Fórmula 3.3. Xc = Y c = n i=1 n i=1 Xi n Y i n (3.1) (3.2)

63 Capítulo 3. Trabalho realizado 39 d = (x Xc) 2 + (y Y c) 2 (3.3) Esta técnica funcionou bem em situações ideais, ou seja, quando as imagens das matrículas têm uma qualidade muito boa, sem qualquer ruído. Contudo, caso a imagem tenha ruído são detectados contornos na imagem da matrícula que não pertencem a qualquer carácter, e isso é o suficiente para alterar o valor obtido do somatório das distâncias do centróide a cada ponto do contorno. Desta forma, se forem comparadas duas imagens diferentes de matrículas iguais, em que uma delas possua muito mais ruído do que a outra (ver Figura 3.22), pode não ser possível extraí-la para a lista de candidatos correctamente, pois a soma das distâncias do seu centróide a cada contorno pode diferir bastante da query image. Tendo em conta as limitações impostas pelo factor ruído nas imagens, esta solução não foi adoptada. (a) (b) Figura 3.22: Os contornos em (a) possuem mais ruído do que em (b), o que altera o cálculo do centróide e da distância Euclidiana, apesar de representarem os mesmos caracteres. Extracção de candidatos através do descritor binário Locality Sensitive Hashing (LSH) Por esta altura apercebi-me que dificilmente conseguiria encontrar uma representação da imagem que pudesse ser compactada num valor que fosse comparável de forma a permitir a extracção de imagens candidatas a match. A nova abordagem passou por determinar descritores de pequena dimensão para as imagens. De acordo com o método sugerido por Andoni et al. [2], é possível arranjar uma representação binária de um dado ponto de interesse de uma imagem, que permite também obter os seus vizinhos mais próximos com base em operações lógicas. Assumindo então a imagem de uma matrícula com um sistema de coordenadas cartesianas centrado a meio da imagem, a lógica do LSH assenta na atribuição de um conjunto de bits a um dado ponto, com base na sua posição relativamente a uma recta traçada. Assim, dada uma recta com declive m que passa pelo centro do sistema de coordenadas, e dada a lista de pontos de interesse da imagem, é calculada, para cada ponto de interesse P dessa lista, a sua posição relativamente à recta: se estiver à sua esquerda, é-lhe atribuído o bit 0, caso contrário, o valor do bit é 1. Os primeiros dois bits do descritor LSH são indicativos da posição do ponto de interesse relativamente aos eixos x e y, respectivamente. Ou seja, se P x 0, sendo P x o valor da coordenada x de um ponto de interesse P, o primeiro bit será 1, caso contrário 0. A

64 Capı tulo 3. Trabalho realizado 40 mesma lo gica aplica-se a P y. O descritor tem, portanto, um tamanho 2 + N, em que aos primeiros dois bits relativos aos eixos x e y e somado N, o nu mero de rectas utilizadas para o ca lculo de cada bit. A imagem da Figura 3.23 e ilustrativa do processo de criac a o do descritor descritor bina rio LSH. (a) Valor do descritor considerando os eixos x e (b) Valor do descritor acrescido da recta r1. y. (c) Valor do descritor acrescido da recta r2. (d) Valor do descritor acrescido da recta r3. Figura 3.23: Ca lculo do descritor bina rio LSH para um dado ponto relativamente a s rectas trac adas. O ca lculo da posic a o de um ponto relativamente a uma recta e feito atrave s da Fo rmula 3.4, em que m e o declive e b a deslocac a o da recta no eixo do x. y = mx + b (3.4) O valor de b e sempre 0, pois a recta vai passar sempre na origem do eixo cartesiano. O pro ximo passo e resolver a equac a o linear em ordem a x, ficando com a Fo rmula 3.5. Quando o declive da recta forma um a ngulo de 45o entre o eixo dos x e dos y, sei que m = 1. Com uma regra de tre s simples consigo calcular, dado um a ngulo α, o declive m da recta, como na Fo rmula 3.6. x= y m (3.5) m= α 45 (3.6)

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO CONCEITOS BÁSICOS 1 Necessidade das base de dados Permite guardar dados dos mais variados tipos; Permite

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

Programação 2ºSemestre MEEC - 2010/2011. Programação 2º Semestre 2010/2011 Enunciado do projecto Mestrado Integrado em Engenharia Electrotécnica e de Computadores Programação 2º Semestre 2010/2011 Enunciado do projecto O projecto a desenvolver pelos alunos consistirá numa sistema de monitorização,

Leia mais

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle Luís Filipe Borges Pinto Resumo: Este projecto consiste na implementação de uma aplicação WEB para monitorização

Leia mais

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador> FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido

Leia mais

Base de Dados para Administrações de Condomínios

Base de Dados para Administrações de Condomínios Base de Dados para Administrações de Condomínios José Pedro Gaiolas de Sousa Pinto: ei03069@fe.up.pt Marco António Sousa Nunes Fernandes Silva: ei03121@fe.up.pt Pedro Miguel Rosário Alves: alves.pedro@fe.up.pt

Leia mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

5. Métodos ágeis de desenvolvimento de software

5. Métodos ágeis de desenvolvimento de software Engenharia de Software 5. Métodos ágeis de desenvolvimento de software Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Desenvolver e entregar software o mais rapidamente possível é hoje em dia um dos

Leia mais

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores

Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:

Leia mais

Entrega de Folhas de Férias

Entrega de Folhas de Férias Entrega de Folhas de Férias Questões mais frequentes FAQs Maio/2012 Versão 2.0 DDO É obrigatório adoptar o novo formato para envio da informação de Folhas de Férias estabelecido na legislação em vigor

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

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

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores Trabalhos Práticos Programação II Curso: Engª Electrotécnica - Electrónica e Computadores 1. Objectivos 2. Calendarização 3. Normas 3.1 Relatório 3.2 Avaliação 4. Propostas Na disciplina de Programação

Leia mais

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática 3ºAno Disciplina de Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/2010 GereComSaber Sistema de

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

ARTIGO TÉCNICO. Os objectivos do Projecto passam por:

ARTIGO TÉCNICO. Os objectivos do Projecto passam por: A metodologia do Projecto SMART MED PARKS ARTIGO TÉCNICO O Projecto SMART MED PARKS teve o seu início em Fevereiro de 2013, com o objetivo de facultar uma ferramenta analítica de confiança para apoiar

Leia mais

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR Curso Engenharia Informática Ano letivo 2012-2013 Unidade Curricular Arquitectura de Computadores ECTS 6 Regime Obrigatório Ano 2º Semestre 2ºsem Horas de trabalho globais Docente (s) Luis Figueiredo Total

Leia mais

Instituto Politécnico de Beja. Escola Superior de Tecnologia e Gestão

Instituto Politécnico de Beja. Escola Superior de Tecnologia e Gestão Instituto Politécnico de Beja Escola Superior de Tecnologia e Gestão Curso de Engenharia Informática Disciplina de Estrutura de dados e Algoritmos 2º Ano - 1º Semestre Relatório Connected Component Labeling

Leia mais

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011 Manual Profissional BackOffice Mapa de Mesas v2011 1 1. Índice 2. Introdução... 2 3. Iniciar ZSRest Backoffice... 3 4. Confirmar desenho de mesas... 4 b) Activar mapa de mesas... 4 c) Zonas... 4 5. Desenhar

Leia mais

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO 9000. As Normas da família ISO 9000

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO 9000. As Normas da família ISO 9000 ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário Gestão da Qualidade 2005 1 As Normas da família ISO 9000 ISO 9000 descreve os fundamentos de sistemas de gestão da qualidade e especifica

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

Diagrama de transição de Estados (DTE)

Diagrama de transição de Estados (DTE) Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Novo Formato de Logins Manual de Consulta

Novo Formato de Logins Manual de Consulta Gestão Integrada de Acessos Novo Formato de Logins Manual de Consulta Gestão Integrada de Acessos Histórico de Alterações Versão Descrição Autor Data 1.0 Versão inicial DSI/PPQ 2014-07-11 Controlo do documento

Leia mais

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO ACCESS 2010 Conceitos Básicos Ficha Informativa Professor : Vanda Pereira módulo didáctico Conceitos Básicos Necessidade das base de dados Permite guardar dados

Leia mais

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS Planificação Anual da Disciplina de TIC Módulos 1,2,3-10.ºD CURSO PROFISSIONAL DE TÉCNICO DE APOIO À GESTÃO DESPORTIVA Ano Letivo 2015-2016 Manual adotado:

Leia mais

OFICIAL DA ORDEM MILITAR DE CRISTO MEDALHA DE EDUCAÇÃO FÍSICA E BONS SERVIÇOS. Circular n.º 029/2014 PORTAL FPT Abertura aos atletas

OFICIAL DA ORDEM MILITAR DE CRISTO MEDALHA DE EDUCAÇÃO FÍSICA E BONS SERVIÇOS. Circular n.º 029/2014 PORTAL FPT Abertura aos atletas Circular n.º 029/2014 PORTAL FPT Abertura aos atletas Exmo. Sr. Presidente, Após muitos meses de desenvolvimento e melhorias contínuas na nova plataforma informática onde se inclui o amplamente divulgado

Leia mais

A SÈTIMA. O nosso principal objectivo

A SÈTIMA. O nosso principal objectivo 03 A SÈTIMA A SÉTIMA produz soluções de software maioritariamente com recurso à WEB, de modo a dar suporte ao crescimento tecnológico que é já a maior realidade do século XXI. Esta aposta deve-se ao facto

Leia mais

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. Conceitos relativos à Informação 1. Informação O que á a informação? Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado. 2. Dados Em informática designa-se

Leia mais

Aplicações de Escritório Electrónico

Aplicações de Escritório Electrónico Universidade de Aveiro Escola Superior de Tecnologia e Gestão de Águeda Curso de Especialização Tecnológica em Práticas Administrativas e Tradução Aplicações de Escritório Electrónico Folha de trabalho

Leia mais

Processo do Serviços de Manutenção de Sistemas de Informação

Processo do Serviços de Manutenção de Sistemas de Informação Processo do Serviços de Manutenção de Sistemas de Informação 070112=SINFIC HM Processo Manutencao MSI.doc, Página 1 Ex.mo(s) Senhor(es): A SINFIC agradece a possibilidade de poder apresentar uma proposta

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

Universidade Federal de Pernambuco

Universidade Federal de Pernambuco Universidade Federal de Pernambuco Graduação em Engenharia da Computação Centro de Informática 2D Feature Distance Estimation for Indoor Environments using 2D laser range data Proposta de Trabalho de Graduação

Leia mais

Rock In Rio - Lisboa

Rock In Rio - Lisboa Curso de Engenharia Informática Industrial Rock In Rio - Lisboa Elaborado por: Ano Lectivo: 2004/05 Tiago Costa N.º 4917 Turma: C Gustavo Graça Patrício N.º 4757 Turma: C Docente: Professora Maria Estalagem

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

Mobilidade na FEUP Deslocamento Vertical

Mobilidade na FEUP Deslocamento Vertical Mobilidade na FEUP Deslocamento Vertical Relatório Grupo 515: Carolina Correia Elder Vintena Francisco Martins Salvador Costa Sara Palhares 2 Índice Introdução...4 Objectivos...5 Método...6 Dados Obtidos...7

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

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

Programa de Parcerias e Submissão de Propostas 2014/15

Programa de Parcerias e Submissão de Propostas 2014/15 DEPARTAMENTO DE INFORMÁTICA Programa de Parcerias e Submissão de Propostas 2014/15 O Departamento de Informática (DI) da Faculdade de Ciências da Universidade de Lisboa (FCUL) procura criar e estreitar

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

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

Guia de Estudo Folha de Cálculo Microsoft Excel

Guia de Estudo Folha de Cálculo Microsoft Excel Tecnologias da Informação e Comunicação Guia de Estudo Folha de Cálculo Microsoft Excel Estrutura geral de uma folha de cálculo: colunas, linhas, células, endereços Uma folha de cálculo electrónica ( electronic

Leia mais

Seu manual do usuário EPSON LQ-630 http://pt.yourpdfguides.com/dref/1120693

Seu manual do usuário EPSON LQ-630 http://pt.yourpdfguides.com/dref/1120693 Você pode ler as recomendações contidas no guia do usuário, no guia de técnico ou no guia de instalação para. Você vai encontrar as respostas a todas suas perguntas sobre a no manual do usuário (informação,

Leia mais

Prova de Aferição de Matemática

Prova de Aferição de Matemática PROVA DE AFERIÇÃO DO ENSINO BÁSICO A PREENCHER PELO ALUNO Nome A PREENCHER PELO AGRUPAMENTO Número convencional do Aluno Número convencional do Aluno A PREENCHER PELA U.A. Número convencional do Agrupamento

Leia mais

Tarefa Orientada 18 Tabelas dinâmicas

Tarefa Orientada 18 Tabelas dinâmicas Tarefa Orientada 18 Tabelas dinâmicas Análise de dados através de tabelas dinâmicas. Conceitos teóricos As Tabelas Dinâmicas são tabelas interactivas que resumem elevadas quantidades de dados, usando estrutura

Leia mais

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado Escola Básica e Secundária de Velas Planificação de TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC Curso Profissional de Técnico de Secretariado 10º C MÓDULO 1 FOLHA DE CÁLCULO Microsoft Excel Conteúdos

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

Escola Superior de Tecnologia de Setúbal. Projecto Final

Escola Superior de Tecnologia de Setúbal. Projecto Final Instituto Politécnico de Setúbal Escola Superior de Tecnologia de Setúbal Departamento de Sistemas e Informática Projecto Final Computação na Internet Ano Lectivo 2002/2003 Portal de Jogos Executado por:

Leia mais

Departamento de Sistemas e Informática. Licenciatura em Engenharia Informática Industrial EDP

Departamento de Sistemas e Informática. Licenciatura em Engenharia Informática Industrial EDP Departamento de Sistemas e Informática Licenciatura em Engenharia Informática Industrial Projecto ARC Ano Lectivo de 2006/2007 EDP Processamento das Leituras dos Contadores de Electricidade dos Consumidores

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

RELATÓRIO DE ESPECIFICAÇÃO DE REQUISITOS

RELATÓRIO DE ESPECIFICAÇÃO DE REQUISITOS RELATÓRIO DE ESPECIFICAÇÃO DE REQUISITOS LABORATÓRIO DE GESTÃO DE PROJECTO Carlos Frias Manuel Seixas Sérgio Junior FACULDADE DE ENGENHARIA UNIVERSIDADE DO PORTO 22 Março 2013 Filipe Mota Manuel Melo Tiago

Leia mais

ISO 9001:2008. A International Organization for Standardization (ISO) publicou em 2008-11- 14 a nova edição da Norma ISO 9000:

ISO 9001:2008. A International Organization for Standardization (ISO) publicou em 2008-11- 14 a nova edição da Norma ISO 9000: A International Organization for Standardization (ISO) publicou em 2008-11- 14 a nova edição da Norma ISO 9000: ISO 9001:2008 Esta nova edição decorre do compromisso da ISO em rever e actualizar as Normas,

Leia mais

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II O seguinte exercício contempla um processo com três estágios. Baseia-se no Inquérito de Satisfação Fase II, sendo, por isso, essencial compreender primeiro o problema antes de começar o tutorial. 1 1.

Leia mais

Gerenciamento de software como ativo de automação industrial

Gerenciamento de software como ativo de automação industrial Gerenciamento de software como ativo de automação industrial INTRODUÇÃO Quando falamos em gerenciamento de ativos na área de automação industrial, fica evidente a intenção de cuidar e manter bens materiais

Leia mais

Gestão dos Níveis de Serviço

Gestão dos Níveis de Serviço A Gestão dos Níveis de Serviço (SLM) Os sistemas e tecnologias de informação e comunicação têm nas empresas um papel cada vez mais importante evoluindo, hoje em dia, para níveis mais elevados de funcionamento

Leia mais

4 Segmentação. 4.1. Algoritmo proposto

4 Segmentação. 4.1. Algoritmo proposto 4 Segmentação Este capítulo apresenta primeiramente o algoritmo proposto para a segmentação do áudio em detalhes. Em seguida, são analisadas as inovações apresentadas. É importante mencionar que as mudanças

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

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

Gestão da Informação

Gestão da Informação Gestão da Informação Aplicações de suporte à Gestão da Informação na empresa Luis Borges Gouveia, lmbg@ufp.pt Aveiro, Fevereiro de 2001 Sistemas de informação para empresas Manutenção e exploração de sistemas

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

Organização. Trabalho realizado por: André Palma nº 31093. Daniel Jesus nº 28571. Fábio Bota nº 25874. Stephane Fernandes nº 28591

Organização. Trabalho realizado por: André Palma nº 31093. Daniel Jesus nº 28571. Fábio Bota nº 25874. Stephane Fernandes nº 28591 Organização Trabalho realizado por: André Palma nº 31093 Daniel Jesus nº 28571 Fábio Bota nº 25874 Stephane Fernandes nº 28591 Índice Introdução...3 Conceitos.6 Princípios de uma organização. 7 Posição

Leia mais

Relatório de Análise de Requisitos

Relatório de Análise de Requisitos Relatório de Análise de Requisitos (15/03/02 Versão 1.0) Gestão de Beneficiários Eduardo Abreu ei98020@fe.up.pt Miguel David ei98019@fe.up.pt Nuno Ferreira ei98003@fe.up.pt Tiago Silva ei98015@fe.up.pt

Leia mais

Análise de Sistemas. Conceito de análise de sistemas

Análise de Sistemas. Conceito de análise de sistemas Análise de Sistemas Conceito de análise de sistemas Sistema: Conjunto de partes organizadas (estruturadas) que concorrem para atingir um (ou mais) objectivos. Sistema de informação (SI): sub-sistema de

Leia mais

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco Escola Superior de Tecnologia Instituto Politécnico de Castelo Branco Departamento de Informática Curso de Engenharia Informática Disciplina de Projecto de Sistemas Industriais Ano Lectivo de 2005/2006

Leia mais

PHC Serviços CS. A gestão de processos de prestação de serviços

PHC Serviços CS. A gestão de processos de prestação de serviços PHC Serviços CS A gestão de processos de prestação de serviços A solução que permite controlar diferentes áreas de uma empresa: reclamações e respectivo tratamento; controlo de processos e respectivos

Leia mais

GARANTIA DA QUALIDADE DE SOFTWARE

GARANTIA DA QUALIDADE DE SOFTWARE GARANTIA DA QUALIDADE DE SOFTWARE Fonte: http://www.testexpert.com.br/?q=node/669 1 GARANTIA DA QUALIDADE DE SOFTWARE Segundo a NBR ISO 9000:2005, qualidade é o grau no qual um conjunto de características

Leia mais

Software Registado e Certificado pela AT GESTÃO DE LAVANDARIAS. mercado exigente! Certificado. Retail Solutions

Software Registado e Certificado pela AT GESTÃO DE LAVANDARIAS. mercado exigente! Certificado. Retail Solutions Certificado Eficiência Eficiência para para vencer... vencer... Num Num mercado mercado exigente! exigente! Software Registado e Certificado pela AT LAVA i Índice Introdução Apresentação da Empresa Pág.

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

CURSO DE FOTOGRAFIA DIGITAL COMPLETO

CURSO DE FOTOGRAFIA DIGITAL COMPLETO CURSO DE FOTOGRAFIA DIGITAL COMPLETO Módulos 1. Câmaras e Imagens Digitais. 2. Controlar a Exposição. 3. Controlar a Nitidez. 4. Captar Luz e Cor. 5. Compreender as Objectivas. 6. Fotografia com o Flash

Leia mais

Controladores Lógicos Programáveis 2

Controladores Lógicos Programáveis 2 Escola Superior de Tecnologia Instituto Politécnico de Castelo Branco Departamento de Informática Curso de Engenharia Informática Automação e Controlo Industrial Ano Lectivo de 2004/2005 Controladores

Leia mais

PALAVRAS-CHAVE: Massas Nodulares, Classificação de Padrões, Redes Multi- Layer Perceptron.

PALAVRAS-CHAVE: Massas Nodulares, Classificação de Padrões, Redes Multi- Layer Perceptron. 1024 UMA ABORDAGEM BASEADA EM REDES PERCEPTRON MULTICAMADAS PARA A CLASSIFICAÇÃO DE MASSAS NODULARES EM IMAGENS MAMOGRÁFICAS Luan de Oliveira Moreira¹; Matheus Giovanni Pires² 1. Bolsista PROBIC, Graduando

Leia mais

Manual do Utilizador

Manual do Utilizador Faculdade de Ciências e Tecnologia da Universidade de Coimbra Departamento de Engenharia Electrotécnica e Computadores Software de Localização GSM para o modem Siemens MC35i Manual do Utilizador Índice

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

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA

Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 3º PERÍODO - 6º MÓDULO AVALIAÇÃO A4 DATA 16/07/2009 SISTEMAS EMPRESARIAIS Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA

Leia mais

Relatório de Estágio

Relatório de Estágio ÍNDICE 1. Descrição da empresa 2. Descrição do problema 2.1 Subcontratação da produção 2.2 Relacionamento da empresa 2.3 Dois departamentos de qualidade 2.4 Inspecções actualmente efectuadas 2.5 Não conformidades

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

yuiopasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxcvbnm qwertyuiopasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxc

yuiopasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxcvbnm qwertyuiopasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxc qwertyuiopasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxcvbnmqwe rtyuiopasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxcvbnmqwertyui opasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxcvbnmqwertyuiopas

Leia mais

PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016

PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016 PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016 CURSO/CICLO DE FORMAÇÃO Técnico de Eletrotecnia e Técnico de Gestão de Equipamentos Informáticos / 2015/2018 DISCIPLINA: Tecnologias da Informação e Comunicação

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Introdução Departamento de Matemática Universidade dos Açores Hélia Guerra helia@uac.pt Engenharia de software A economia de todos os países desenvolvidos depende do software. O

Leia mais

Agrupamento Vertical de Escolas de Salir Biblioteca Escolar 2008/2009. Como fazer um trabalho

Agrupamento Vertical de Escolas de Salir Biblioteca Escolar 2008/2009. Como fazer um trabalho Agrupamento Vertical de Escolas de Salir Biblioteca Escolar 2008/2009 Como fazer um trabalho Etapas na elaboração de um trabalho 1ª Etapa Penso sobre o tema 2ª Etapa Onde vou encontrar a informação? 3ª

Leia mais

EMPRESAS VIRTUAIS. Autor: Pedro Miguel da Silva Fernandes. PDF processed with CutePDF evaluation edition www.cutepdf.com. Pág.

EMPRESAS VIRTUAIS. Autor: Pedro Miguel da Silva Fernandes. PDF processed with CutePDF evaluation edition www.cutepdf.com. Pág. EMPRESAS VIRTUAIS Autor: Pedro Miguel da Silva Fernandes Pág. 1 (de 5) PDF processed with CutePDF evaluation edition www.cutepdf.com EMPRESAS VIRTUAIS Actualmente, vivemos numa época de grandes mudanças

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Certificação da Qualidade dos Serviços Sociais. Procedimentos

Certificação da Qualidade dos Serviços Sociais. Procedimentos Certificação da Qualidade dos Serviços Sociais EQUASS Assurance Procedimentos 2008 - European Quality in Social Services (EQUASS) Reservados todos os direitos. É proibida a reprodução total ou parcial

Leia mais

Global T126 e GFS), executando para ambos os horários (00Z e 12Z), utilizando

Global T126 e GFS), executando para ambos os horários (00Z e 12Z), utilizando 51 Figura 13 - Solicitação e resposta do http. 3.2 Método Para criação da nova metodologia de avaliação, foi utilizado trabalhos escritos por RENARD e CLARKE (1965) que dizem que é possível posicionar

Leia mais

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens

DOCBASE. 1. Conceitos gerais. 2. Estrutura da pasta de associações. 3. A área de documentos reservados. 4. Associação de Imagens Documentação, Informática e Desenvolvimento 1 DOCBASE ASSOCIAÇÔES MULTIMÉDIA 1. Conceitos gerais 2. Estrutura da pasta de associações 3. A área de documentos reservados 4. Associação de Imagens 5. Procedimentos

Leia mais

Figura 1 - O computador

Figura 1 - O computador Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...

Leia mais

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática Desenvolvimento de Sistemas de Software Ano Lectivo de 2009/10 GereComSaber Ana Duarte, André Guedes, Eduardo

Leia mais

Computação Adaptativa

Computação Adaptativa Departamento de Engenharia Informática Faculdade de Ciências e Tecnologia Universidade de Coimbra 2007/08 Computação Adaptativa TP2 OCR Optical Character Recognition Pedro Carvalho de Oliveira (MEI) Nº

Leia mais

A PHC atingiu recentemente os 400 clientes Licença Garantida. No mercado há pouco mais de um ano, a modalidade que permite os clientes PHC renovarem a licença do seu software por três anos já representa

Leia mais

GESTÃO de PROJECTOS. Gestor de Projectos Informáticos. Luís Manuel Borges Gouveia 1

GESTÃO de PROJECTOS. Gestor de Projectos Informáticos. Luís Manuel Borges Gouveia 1 GESTÃO de PROJECTOS Gestor de Projectos Informáticos Luís Manuel Borges Gouveia 1 Iniciar o projecto estabelecer objectivos definir alvos estabelecer a estratégia conceber a estrutura de base do trabalho

Leia mais

Escola Secundária/3 da Maia Cursos em funcionamento 2009-2010. Técnico de Electrónica, Automação e Comando

Escola Secundária/3 da Maia Cursos em funcionamento 2009-2010. Técnico de Electrónica, Automação e Comando Ensino Secundário Diurno Cursos Profissionais Técnico de Electrónica, Automação e Comando PERFIL DE DESEMPENHO À SAÍDA DO CURSO O Técnico de Electrónica, Automação e Comando é o profissional qualificado

Leia mais