O documento propõe acelerar algoritmos de visão computacional em sistemas embarcados utilizando GPUs embarcadas através de OpenGL ES 2.0. O autor desenvolve e avalia o desempenho de aplicações de processamento de imagens em GPU comparando com implementações em CPU utilizando OpenCV. Os resultados demonstram ganhos de desempenho significativos ao executar algoritmos como o filtro de Sobel na GPU.
Internet das Coisas - Uma Revolução que vale a pena participarAndré Curvello
Palestra sobre Internet das Coisas para a 4a Edição do Congresso de TI, um congresso de palestras online.
Veja sobre o que é a Internet das Coisas, aplicações, ideias, quais os requisitos e cuidados para ser um profissional de Internet das Coisas, veja sobre comunidades, livros, eventos, e até cursos online, dentre outros. Numa abordagem bem leve!
O documento resume a plataforma Arduino Yún, que combina um microcontrolador e um sistema operacional Linux para permitir que dispositivos se conectem à Internet. O Arduino Yún original continha um microcontrolador Atmega32u4 e um SoC AR9331 com WiFi. Sua arquitetura permite a integração de tarefas de baixo e alto nível através de uma ponte entre o microcontrolador e o Linux OpenWRT. Isso possibilita programação em C, Python e Lua, além de acesso à rede e armazenamento.
Palestra ministrada como tópico da disciplina de SEL0600, da grade do curso de Engenharia de Computação na USP de São Carlos.
Nesta palestra apresentei tópicos e informações sobre usos de sistemas embarcados na elaboração de aplicações de Internet das Coisas.
Slides da minha palestra ministrada na 2a Edição do OneDay da Baixada Santista. O tema foi "Internet das Coisas - Além da Telemetria". Nessa palestra destaquei pontos sobre captação, transmissão e processamento de dados para resposta a eventos.
Pilares da Computação para Internet das CoisasAndré Curvello
Slides da minha palestra apresentada na II Semana da Computação FATECE 2017.
Nessa palestra tracei um apanhado de técnicas, características e habilidades que o profissional de computação precisa ter para se destacar no mundo da Internet das Coisas.
O documento discute os principais desafios do desenvolvimento da Internet das Coisas (IoT), incluindo segurança e privacidade de dados, padronização e interoperabilidade, alto custo de implementação e manutenção, necessidade de conectividade confiável e gerenciamento de grande volume de dados gerados (Big Data).
Internet das Coisas - Do Sensor à Nuvem, e Você?André Curvello
Palestra apresentada como parte da Semana da Computação da UNIARA - Universidade de Araraquara.
Procurei mostrar aos alunos e participantes os papéis que todos podemos assumir, de usuários a desenvolvedores, no nosso atual e futuro cenário de aplicação de Internet das Coisas.
Internet das Coisas - Uma Revolução que vale a pena participarAndré Curvello
Palestra sobre Internet das Coisas para a 4a Edição do Congresso de TI, um congresso de palestras online.
Veja sobre o que é a Internet das Coisas, aplicações, ideias, quais os requisitos e cuidados para ser um profissional de Internet das Coisas, veja sobre comunidades, livros, eventos, e até cursos online, dentre outros. Numa abordagem bem leve!
O documento resume a plataforma Arduino Yún, que combina um microcontrolador e um sistema operacional Linux para permitir que dispositivos se conectem à Internet. O Arduino Yún original continha um microcontrolador Atmega32u4 e um SoC AR9331 com WiFi. Sua arquitetura permite a integração de tarefas de baixo e alto nível através de uma ponte entre o microcontrolador e o Linux OpenWRT. Isso possibilita programação em C, Python e Lua, além de acesso à rede e armazenamento.
Palestra ministrada como tópico da disciplina de SEL0600, da grade do curso de Engenharia de Computação na USP de São Carlos.
Nesta palestra apresentei tópicos e informações sobre usos de sistemas embarcados na elaboração de aplicações de Internet das Coisas.
Slides da minha palestra ministrada na 2a Edição do OneDay da Baixada Santista. O tema foi "Internet das Coisas - Além da Telemetria". Nessa palestra destaquei pontos sobre captação, transmissão e processamento de dados para resposta a eventos.
Pilares da Computação para Internet das CoisasAndré Curvello
Slides da minha palestra apresentada na II Semana da Computação FATECE 2017.
Nessa palestra tracei um apanhado de técnicas, características e habilidades que o profissional de computação precisa ter para se destacar no mundo da Internet das Coisas.
O documento discute os principais desafios do desenvolvimento da Internet das Coisas (IoT), incluindo segurança e privacidade de dados, padronização e interoperabilidade, alto custo de implementação e manutenção, necessidade de conectividade confiável e gerenciamento de grande volume de dados gerados (Big Data).
Internet das Coisas - Do Sensor à Nuvem, e Você?André Curvello
Palestra apresentada como parte da Semana da Computação da UNIARA - Universidade de Araraquara.
Procurei mostrar aos alunos e participantes os papéis que todos podemos assumir, de usuários a desenvolvedores, no nosso atual e futuro cenário de aplicação de Internet das Coisas.
Internet das Coisas - Na nuvem além da telemetriaAndré Curvello
O documento discute a Internet das Coisas (IoT), explicando o que é telemetria e como ela já é amplamente usada no IoT. Também aborda as ferramentas e tecnologias necessárias para desenvolver aplicações IoT, incluindo hardware, firmware, redes e nuvens. Finalmente, destaca a importância da segurança no IoT.
Internet das coisas - A revolução já começouJose Wilker
O documento discute a Internet das Coisas, definindo-a como objetos equipados com sensores, softwares e conectividade que possuem acesso à internet. Ele explora os aspectos físicos, de conectividade e virtuais envolvidos, com foco nos aspectos virtuais que fornecem inteligência ao sistema, incluindo bancos de dados, serviços de dados e sockets como ZMQ. Apresenta casos de uso e dicas para desenvolvimento de aplicações nessa área.
Internet das Coisas - Conceitos, tecnologias e aplicaçõesFabio Souza
O documento apresenta um resumo sobre Internet das Coisas (IoT), definindo o conceito, projetando oportunidades, apresentando exemplos de aplicações e as principais tecnologias envolvidas, além de abordar desafios como segurança e padronização.
TDC2016 - Conhecendo o Ecossistema LinkIt para MakersAndré Curvello
Este documento apresenta o ecossistema LinkIt para makers, incluindo vários dispositivos como o LinkIt Smart 7688 Duo, LinkIt One e LinkIt 7687 HDK. Descreve as especificações e recursos desses dispositivos, como hardware, software e aplicações para Internet das Coisas. O documento também fornece contatos do autor para perguntas.
Linux Embarcado na Construção de Sistemas Inteligentes e ConectadosAndré Curvello
Slides da minha palestra apresentada na Jornada da Engenharia Mecatrônica 2017, da UNIFRAN - Universidade de Franca.
Abordei como tópico o uso de Linux Embarcado na construção de sistemas inteligentes, e conectados!
Criando elementos conectados com visão computacional usando Raspberry Pi Zero...André Curvello
Este documento apresenta como criar elementos de visão computacional usando Raspberry Pi Zero Wireless. Ele introduz o conceito de visão computacional e como a biblioteca OpenCV permite que o Raspberry Pi realize tarefas como reconhecimento de imagens. O documento demonstra como capturar imagens da câmera do Raspberry Pi, processá-las com OpenCV e transmiti-las via MQTT para exibição em um navegador da web.
O documento discute a Internet das Coisas usando Arduinos. Inclui exemplos de um sistema de rega inteligente para plantas monitorado via Xively e redes de sensores sem fio. O objetivo é tornar dispositivos do mundo real acessíveis online e automatizar processos com base nos dados coletados.
O documento discute a Internet das Coisas (IoT), definindo-a como uma rede de objetos dotados de sensores e atuadores que se comunicam entre si e com pessoas. Apresenta como a miniaturização de chips e sensores permitiu que diversos objetos fossem conectados à internet, e discute desafios e possibilidades trazidos pela IoT, como a integração de tecnologias e tratamento de grandes volumes de dados gerados.
O documento discute a Internet das Coisas, definindo seus principais conceitos e dispositivos envolvidos, como smartphones, wearables e microcontroladores. Também aborda como a IoT quebra barreiras entre o mundo físico e digital através de tecnologias de identificação e apresenta estudos de casos, plataformas, desafios e a experiência dos autores com a temática.
Congresso Sociedade Brasileira de Computação CSBC2016 Porto Alegre (Brazil)
Workshop on Cloud Networks & Cloudscape Brazil
Demi Getschko, CEO of the Brazilian Network Information Center (NCI.br), Brazil
Collaborative Research in Cloud Computing: future and challenges
O documento discute a Internet das Coisas (IoT), definindo-a como um paradigma em que uma variedade de objetos como tags RFID, sensores e telefones celulares são capazes de interagir e cooperar através de esquemas de endereçamento único. Apresenta diferentes visões do IoT e discute desafios técnicos e sociais relacionados à sua implementação.
A Internet das Coisas é uma infraestrutura global que permite a comunicação entre objetos físicos e virtuais através de protocolos padronizados. Ela conecta coisas como eletrodomésticos, veículos e outros dispositivos à Internet, permitindo que coletam e compartilham dados. A Internet das Coisas tem aplicações em automação residencial e industrial e está relacionada a tecnologias como computação em nuvem e big data.
A criação de novas plataformas na última década tornou mais acessível a prototipagem e o desenvolvimento de projetos no mundo maker. Agora, com o boom do termo IoT (Internet das Coisas), uma nova leva de produtos, como a Raspberry Pi e a ESP8266, vieram para revolucionar novamente o movimento DIY (do-it-yourself). Conheça um pouco mais sobre esses novos dispositivos e as novas ferramentas criadas para auxiliar no gerenciamento de projetos conectados à internet.
5º Meetup do BH-TEC Talks 2017
1) Os documentos descrevem projetos de inovação tecnológica de estudantes da USP, incluindo marcadores genéticos para avicultura, dispositivos de irrigação automática e substitutos para ovos em bolos.
2) São apresentados também projetos para identificação de madeiras, fornecimento de energia elétrica rural e biossensores para detecção de câncer.
3) Finalmente, são resumidos projetos nas áreas de embalagens sustentáveis, análise de entonação na fala e modelos de informações
Biossensores de glicose e suas aplicaçōesBruno Otilio
- O documento propõe um biossensor para medição contínua de glicemia usando micro-agulhas e display sem fio. O biossensor usaria imobilização enzimática e transdução eletroquímica para medir a glicose no fluido intersticial a cada 72 horas.
- O biossensor ofereceria uma alternativa não invasiva para monitoramento contínuo de glicemia, potencialmente melhorando o controle de diabetes. Entretanto, seria necessário testar a sensibilidade da área proposta para aplicação das micro-agulhas e estimar com
O documento discute biossensores enzimáticos, definindo-os como dispositivos analíticos compostos por uma entidade biológica de reconhecimento acoplada a um transdutor físico-químico. Descreve características gerais de biossensores como portabilidade e tempo de resposta rápido, além de aplicações em medicina, indústria farmacêutica e ambiental. Também aborda componentes como biorreceptores enzimáticos e métodos de transdução, com ênfase em biossensores enzim
This document describes 7 travelogues to the town of Bethlehem referenced in biblical texts, beginning with Jacob and Rachel in Genesis, and ending with the wise men visiting the infant Jesus in Matthew. It includes brief summaries of the reason for travel and relevant biblical chapters for each travelogue. The text also includes two closing lines from the book of Judges and the opening line from the book of Ruth.
A presentation conducted by Mrs Joanne Leach, University of Birmingham.
Presented on Wednesday the 2nd of October 2013.
Infrastructure forms the framework within which modern societies operate both at the physical and social level. It
includes (amongst others) digital, green and social infrastructures, emergency services and food networks as well as water, energy, waste and transport. In 2012 Liveable Cities, a 5-year research programme, combining the Universities of Birmingham, Lancaster, Southampton and UCL, was established to identify and test radical engineering interventions that will lead to liveable cities of the future (low carbon, resource secure cities in which societal wellbeing is prioritised). This paper presents a discussion of what comprises a truly liveable city and how it might be achieved. It presents the City Analysis Framework, a technique for the analysis of city operations that establishes a hierarchy of needs relevant to successfully achieving a liveable city. The results reflect the changing perceptions and importance of infrastructure
and how proposed changes can radically alter people’s lifestyle and wellbeing.
Internet das Coisas - Na nuvem além da telemetriaAndré Curvello
O documento discute a Internet das Coisas (IoT), explicando o que é telemetria e como ela já é amplamente usada no IoT. Também aborda as ferramentas e tecnologias necessárias para desenvolver aplicações IoT, incluindo hardware, firmware, redes e nuvens. Finalmente, destaca a importância da segurança no IoT.
Internet das coisas - A revolução já começouJose Wilker
O documento discute a Internet das Coisas, definindo-a como objetos equipados com sensores, softwares e conectividade que possuem acesso à internet. Ele explora os aspectos físicos, de conectividade e virtuais envolvidos, com foco nos aspectos virtuais que fornecem inteligência ao sistema, incluindo bancos de dados, serviços de dados e sockets como ZMQ. Apresenta casos de uso e dicas para desenvolvimento de aplicações nessa área.
Internet das Coisas - Conceitos, tecnologias e aplicaçõesFabio Souza
O documento apresenta um resumo sobre Internet das Coisas (IoT), definindo o conceito, projetando oportunidades, apresentando exemplos de aplicações e as principais tecnologias envolvidas, além de abordar desafios como segurança e padronização.
TDC2016 - Conhecendo o Ecossistema LinkIt para MakersAndré Curvello
Este documento apresenta o ecossistema LinkIt para makers, incluindo vários dispositivos como o LinkIt Smart 7688 Duo, LinkIt One e LinkIt 7687 HDK. Descreve as especificações e recursos desses dispositivos, como hardware, software e aplicações para Internet das Coisas. O documento também fornece contatos do autor para perguntas.
Linux Embarcado na Construção de Sistemas Inteligentes e ConectadosAndré Curvello
Slides da minha palestra apresentada na Jornada da Engenharia Mecatrônica 2017, da UNIFRAN - Universidade de Franca.
Abordei como tópico o uso de Linux Embarcado na construção de sistemas inteligentes, e conectados!
Criando elementos conectados com visão computacional usando Raspberry Pi Zero...André Curvello
Este documento apresenta como criar elementos de visão computacional usando Raspberry Pi Zero Wireless. Ele introduz o conceito de visão computacional e como a biblioteca OpenCV permite que o Raspberry Pi realize tarefas como reconhecimento de imagens. O documento demonstra como capturar imagens da câmera do Raspberry Pi, processá-las com OpenCV e transmiti-las via MQTT para exibição em um navegador da web.
O documento discute a Internet das Coisas usando Arduinos. Inclui exemplos de um sistema de rega inteligente para plantas monitorado via Xively e redes de sensores sem fio. O objetivo é tornar dispositivos do mundo real acessíveis online e automatizar processos com base nos dados coletados.
O documento discute a Internet das Coisas (IoT), definindo-a como uma rede de objetos dotados de sensores e atuadores que se comunicam entre si e com pessoas. Apresenta como a miniaturização de chips e sensores permitiu que diversos objetos fossem conectados à internet, e discute desafios e possibilidades trazidos pela IoT, como a integração de tecnologias e tratamento de grandes volumes de dados gerados.
O documento discute a Internet das Coisas, definindo seus principais conceitos e dispositivos envolvidos, como smartphones, wearables e microcontroladores. Também aborda como a IoT quebra barreiras entre o mundo físico e digital através de tecnologias de identificação e apresenta estudos de casos, plataformas, desafios e a experiência dos autores com a temática.
Congresso Sociedade Brasileira de Computação CSBC2016 Porto Alegre (Brazil)
Workshop on Cloud Networks & Cloudscape Brazil
Demi Getschko, CEO of the Brazilian Network Information Center (NCI.br), Brazil
Collaborative Research in Cloud Computing: future and challenges
O documento discute a Internet das Coisas (IoT), definindo-a como um paradigma em que uma variedade de objetos como tags RFID, sensores e telefones celulares são capazes de interagir e cooperar através de esquemas de endereçamento único. Apresenta diferentes visões do IoT e discute desafios técnicos e sociais relacionados à sua implementação.
A Internet das Coisas é uma infraestrutura global que permite a comunicação entre objetos físicos e virtuais através de protocolos padronizados. Ela conecta coisas como eletrodomésticos, veículos e outros dispositivos à Internet, permitindo que coletam e compartilham dados. A Internet das Coisas tem aplicações em automação residencial e industrial e está relacionada a tecnologias como computação em nuvem e big data.
A criação de novas plataformas na última década tornou mais acessível a prototipagem e o desenvolvimento de projetos no mundo maker. Agora, com o boom do termo IoT (Internet das Coisas), uma nova leva de produtos, como a Raspberry Pi e a ESP8266, vieram para revolucionar novamente o movimento DIY (do-it-yourself). Conheça um pouco mais sobre esses novos dispositivos e as novas ferramentas criadas para auxiliar no gerenciamento de projetos conectados à internet.
5º Meetup do BH-TEC Talks 2017
1) Os documentos descrevem projetos de inovação tecnológica de estudantes da USP, incluindo marcadores genéticos para avicultura, dispositivos de irrigação automática e substitutos para ovos em bolos.
2) São apresentados também projetos para identificação de madeiras, fornecimento de energia elétrica rural e biossensores para detecção de câncer.
3) Finalmente, são resumidos projetos nas áreas de embalagens sustentáveis, análise de entonação na fala e modelos de informações
Biossensores de glicose e suas aplicaçōesBruno Otilio
- O documento propõe um biossensor para medição contínua de glicemia usando micro-agulhas e display sem fio. O biossensor usaria imobilização enzimática e transdução eletroquímica para medir a glicose no fluido intersticial a cada 72 horas.
- O biossensor ofereceria uma alternativa não invasiva para monitoramento contínuo de glicemia, potencialmente melhorando o controle de diabetes. Entretanto, seria necessário testar a sensibilidade da área proposta para aplicação das micro-agulhas e estimar com
O documento discute biossensores enzimáticos, definindo-os como dispositivos analíticos compostos por uma entidade biológica de reconhecimento acoplada a um transdutor físico-químico. Descreve características gerais de biossensores como portabilidade e tempo de resposta rápido, além de aplicações em medicina, indústria farmacêutica e ambiental. Também aborda componentes como biorreceptores enzimáticos e métodos de transdução, com ênfase em biossensores enzim
This document describes 7 travelogues to the town of Bethlehem referenced in biblical texts, beginning with Jacob and Rachel in Genesis, and ending with the wise men visiting the infant Jesus in Matthew. It includes brief summaries of the reason for travel and relevant biblical chapters for each travelogue. The text also includes two closing lines from the book of Judges and the opening line from the book of Ruth.
A presentation conducted by Mrs Joanne Leach, University of Birmingham.
Presented on Wednesday the 2nd of October 2013.
Infrastructure forms the framework within which modern societies operate both at the physical and social level. It
includes (amongst others) digital, green and social infrastructures, emergency services and food networks as well as water, energy, waste and transport. In 2012 Liveable Cities, a 5-year research programme, combining the Universities of Birmingham, Lancaster, Southampton and UCL, was established to identify and test radical engineering interventions that will lead to liveable cities of the future (low carbon, resource secure cities in which societal wellbeing is prioritised). This paper presents a discussion of what comprises a truly liveable city and how it might be achieved. It presents the City Analysis Framework, a technique for the analysis of city operations that establishes a hierarchy of needs relevant to successfully achieving a liveable city. The results reflect the changing perceptions and importance of infrastructure
and how proposed changes can radically alter people’s lifestyle and wellbeing.
A presentation conducted by Matthew Holmes, Civil Engineering & Geosciences Newcastle University. Presented on Tuesday the 1st of October 2013.
As infrastructure becomes increasing integral to daily lives, society becomes more vulnerable to potential failures.
We mitigate against this by investing some of the increased prosperity afforded by infrastructure to treat the most salient risks and increase the resilience of the system. Therefore we enter a cycle whereour ability to identify and prioritise vulnerabilities is crucial to the future development of infrastructure. It is easy to compose a list of risks occupying the whole spectrum from probable through to fanciful, but, how do infrastructure owners define defensible boundaries between the credible risks they should assess and those that can be set aside? This paper tests the hypothesis that incorporating information on the uncertainty of risk assessments provides risk managers with a more robust process to justify their choice of credible risks.
El documento proporciona información sobre un ejercicio en el que se piden frases relacionadas con 8 imágenes sin texto, con el objetivo de practicar la comunicación. Se dan detalles sobre el autor de los pictogramas y su procedencia y licencia.
The document proposes organizing tennis lessons in Donetsk, Ukraine for people who cannot otherwise afford to play. It would provide lessons for ages 15-45 at the Hotel Victoria three times per day, one hour each, from June 1st to September 30th. The budget outlines rental costs for the courts and equipment. The goal is to increase sport opportunities for local residents and allow them to pursue their passions in an affordable, friendly way while also potentially finding students interested in French lessons. Contact information is provided at the end for those interested.
The document provides tips for giving a memorable presentation in 3 sentences or less:
1. Start strong with a clear theme and structure, present main ideas and reinforcing points, and finish strong by summarizing and reminding the audience of 3 things to remember.
2. Be authentic by focusing on yourself rather than presentation materials, as the audience will remember the presenter rather than visual aids.
3. Stand out from other presenters by not over-relying on PowerPoint and instead engaging the audience through spoken words alone.
This document summarizes the narrator's life experiences and interests through key historical events and cultural touchpoints from the early 19th century to the 1970s, including the founding of Oberlin College, Horace Mann's education reforms, Laura Ingalls Wilder's books, the creation of national parks, Eastern European immigration in the late 19th/early 20th century, and 1970s toys like Sunshine Family dolls. These different eras and experiences sparked the narrator's passion for history, education, family, and nature.
The document is a mark scheme for a business studies exam that assesses students' understanding of key business concepts and their ability to apply them to case study examples. It provides:
1) Detailed explanations and mark allocations for answers to questions about terms, calculations, and analysis of business scenarios from two sample case studies.
2) The questions assess students' knowledge of topics like pricing strategies, cash flow forecasting, and advantages/disadvantages of franchising.
3) The mark scheme provides guidance to examiners on what constitutes a complete or partial answer for each question and the levels of understanding or analysis required to achieve different point allocations.
Moving the Goalposts: Why Museums Need to Play More - MuseumNext2012 - Ben Te...thoughtden
This document discusses play, experimentation, and new forms of interaction with art and museums. It encourages bringing playfulness and a sense of exploration to encourage learning. New technologies can be used to create interactive experiences that encourage collaboration and curiosity outside traditional galleries. The goal is to make art accessible and bring new life to collections through casual, choice-driven interactions.
TDC2016 - Processamento de Imagem em GPU com OpenGLAndré Curvello
Este documento discute processamento de imagem em GPU usando OpenGL. Ele explica como usar a GPU para processamento de imagem é mais rápido do que usar apenas a CPU, mostrando ganhos de velocidade de até 9x. Também discute como implementar processamento de imagem básico usando shaders OpenGL na GPU.
Este documento discute processamento de imagem em GPU usando OpenGL. Ele explica como usar a GPU para processamento de imagem oferece ganhos significativos de desempenho em relação à CPU. Ele também demonstra como implementar processamento de imagem básico como filtros em uma GPU usando shaders OpenGL e obtém ganhos de desempenho de até 9x.
Planejamento E Gerenciamento de Capacidade Para Sistemas DistribuídosRodrigo Campos
O documento discute técnicas e desafios para planejamento e gerenciamento de capacidade em sistemas distribuídos. Aborda a evolução da Internet e do Linux, métodos para aquisição e consolidação de dados de desempenho, impacto dos métodos ágeis, virtualização e nuvem. Realça a importância de monitoramento versus modelagem e a necessidade de acompanhar a evolução dos processos de desenvolvimento de software.
Este trabalho apresenta uma análise de desempenho entre sistemas GPGPU e CPU única na geração de imagens de alta qualidade usando ray tracing. O objetivo é comparar o tempo gasto para processar cenas em cada plataforma e indicar se sistemas GPGPU são viáveis. As próximas etapas incluem definir algoritmos de iluminação, criar códigos de teste e otimizá-los para novas execuções e comparações.
O documento discute o uso de clusters gráficos para aplicações gráficas. Ele introduz clusters e explica como eles podem fornecer desempenho superior ao usar múltiplos computadores. Também descreve técnicas como data-lock e sort-first para sincronizar nós em um cluster gráfico e manter a coerência dos dados. Por fim, apresenta a biblioteca LibGlass que fornece APIs para desenvolvimento de aplicações gráficas distribuídas em clusters.
Este documento apresenta uma aula introdutória sobre o projeto e construção de sistemas aeroespaciais. Resume os principais pontos da concepção da carga útil, incluindo a utilização de um Arduino como computador de bordo, sensores para monitoramento e o ciclo de vida do projeto.
Este documento apresenta um mini-curso introdutório sobre programação em CUDA. Ele introduz conceitos fundamentais como:
1) A arquitetura de GPUs e como elas se tornaram poderosas processadoras paralelas;
2) O que é CUDA e como ele permite programação em GPUs usando extensões da linguagem C;
3) A hierarquia de memória e modelo de execução em CUDA.
O documento também apresenta exemplos simples de programação em CUDA, como soma de vetores e multiplicação de matrizes, e discute aplicações ade
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...GiovanniGuimares2
O documento descreve o projeto de um acelerador de hardware para o algoritmo de distância euclidiana. O objetivo é melhorar o tempo de resposta do algoritmo K-means através do desenho de uma arquitetura para cálculo de distância euclidiana em hardware. A metodologia inclui requisitos, pesquisa, simulações usando o software Logisim e análise do ganho de desempenho com paralelismo.
Simulador Eletromagnético em um Ambiente de Grades ComputacionaisIgor José F. Freitas
Este documento resume um trabalho de doutorado sobre a implementação de um simulador eletromagnético em um ambiente de grades computacionais. O trabalho teve como objetivos implementar o middleware UNICORE 6, desenvolver um modelador básico e módulo de pós-processamento, e integrar o simulador SSAR-BR às grades computacionais para simulações distribuídas. Os resultados validaram o simulador desenvolvido por meio de comparações com estudos anteriores.
Project presentation: Low-cost Autonomous Navigation System Based on Optical ...Michel Meneses
Low-cost robot controlled by a Raspberry Pi and whose navigation system is based on optical flow pattern recognition. This work represents a thesis presented to the Federal University of Sergipe, at Sergipe, Brazil in partial fulfillment of the requirement for the degree of Bachelor of Science in Computer Engineering.
Link to video: https://youtu.be/hzyKAGhQExg
Link to the paper in English: https://arxiv.org/abs/1803.03966
Link to the paper in Portuguese: https://arxiv.org/abs/1710.06518
Aplicação de Conceitos de IHM de Alta Performance e Consciência Situacional n...Ricardo Olsen
O documento discute a aplicação de conceitos de interface homem-máquina (IHM) de alta performance e consciência situacional na operação de subestações elétricas. Ele destaca que as IHMs tradicionais estão sobrecarregadas de dados e telas, dificultando a operação, enquanto IHMs de alta performance melhoram a detecção precoce de problemas, a resolução de problemas e a eficiência. O documento também descreve diretrizes para o projeto de IHMs, como reduzir telas e distrações visuais,
Este documento propõe métodos alternativos de software e hardware livre para o controle de movimentação de máquinas e verificação de erros, como uma opção mais barata às soluções comerciais. O LinuxCNC foi usado para controlar uma plotter e um Arduino e Matlab para ler dados de um relógio comparador e gerar relatórios de teste. Os resultados mostraram que o software livre pode ser usado para controle de máquinas e a ferramenta de verificação foi bem-sucedida em testes.
O documento descreve uma técnica para implementar toda a lógica de um jogo na GPU utilizando a arquitetura CUDA, com o objetivo de reduzir a comunicação entre a GPU e CPU. A técnica envolve dividir as tarefas do jogo em aquisição, processamento e apresentação de dados e implementar essas etapas completamente na GPU usando multithreading. Os resultados demonstraram que a abordagem permite taxas de quadros mais altas em comparação com o processamento na CPU.
7 av tecnol. inform._2013_demo_p&b - sefaz-msKurte Wagner
1. O documento apresenta 162 questões de provas de concursos públicos sobre tópicos de tecnologia da informação.
2. As questões estão organizadas em 7 seções principais: conceitos básicos de informática, sistemas operacionais, pacote Microsoft Office, segurança da informação, redes, ferramentas da internet e bancos de dados.
3. Há um gabarito no final com as respostas para todas as questões.
O documento fornece uma introdução ao OpenGL, descrevendo seu histórico desde os anos 1980, arquitetura e pipeline de renderização. Explica como o OpenGL surgiu como um padrão aberto para computação gráfica após padrões proprietários.
O documento descreve as diferenças entre as arquiteturas CISC e RISC, discutindo como elas estão convergindo com o tempo. Originalmente, RISC tinha vantagens de desempenho, mas CISC melhorou com técnicas como pipeline e cache. Hoje, a escolha depende mais de fatores como custo, suporte a software e hardware do que da arquitetura do processador em si.
Este documento descreve uma pesquisa sobre sistemas embarcados usando Linux. O objetivo é instalar e testar o uClinux em uma placa de avaliação da AvNet equipada com um processador Motorola MCF5282. Após a instalação do uClinux, a placa será usada para controles industriais e automação de equipamentos eletrônicos controlando LEDs remotamente via rede.
Sistemas embarcados e a contribuição para o combate a COVID-19André Curvello
Slides da minha apresentação para o Webinar sobre "Sistemas embarcados e a contribuição para o combate a COVID-19" para a Pós-Graduação em Eletrônica Embarcada da UNISAL.
Blockchain em IoT - Desafios e considerações numa abordagem práticaAndré Curvello
Este documento apresenta uma introdução aos conceitos e aplicações de blockchain no contexto da Internet das Coisas (IoT). Ele discute os principais desafios e considerações para uma abordagem prática de blockchain em IoT, incluindo a implementação de transações em blocos, tornando os blocos imutáveis através de hashes, ligando os blocos uns aos outros, implementando prova de trabalho e alcançando consenso entre vários nós. O documento também fornece demonstrações de código para ilustrar esses conceitos.
O documento apresenta uma palestra sobre arquitetura de sistemas IoT com Azure. Ele discute os principais serviços do Azure IoT como IoT Hub para comunicação entre dispositivos e nuvem e Stream Analytics para análise de dados. Apresenta demonstrações ao vivo desses serviços e recomenda livros sobre desenvolvimento IoT com Azure.
O documento apresenta André Curvello, um engenheiro especializado em sistemas embarcados que dará uma palestra sobre drones e programação de sistemas embarcados em drones. A palestra irá cobrir a história dos drones, seus componentes principais, como eles se movimentam através de controle e automação, e como construir drones autônomos usando sensoriamento, inteligência artificial e controle remoto.
Dispositivos IoT com FPGAs - Alto poder de processamento para crescentes dema...André Curvello
Palestra apresentada de forma online para o IoT Weekend 2017, onde procurei apresentar as vantagens, tendências e benefícios de dispositivos com FPGAs para o mundo da Internet das Coisas.
A palestra está disponível online no YouTube em:
https://www.youtube.com/watch?v=E4jIgJ8nUV4
O documento apresenta um resumo sobre Internet das Coisas (IoT) feito pelo professor André Curvello. Ele define IoT como a rede de objetos físicos que possuem tecnologia embarcada para se comunicar e interagir, e destaca que a combinação inédita de informações de dispositivos é a chave. Curvello também mostra exemplos de produtos IoT já disponíveis e ressalta a sinergia necessária entre diferentes áreas como programação, hardware, redes e dados.
IoE - Internet de Todas as Coisas - Quais os Riscos de SegurançaAndré Curvello
O documento discute os riscos de segurança da Internet das Coisas (IoT). Apresenta os três pilares da segurança da informação e destaca que os dados são o principal ativo e ponto fraco do IoT. Discutem-se também as vulnerabilidades dos dispositivos IoT, como senhas fracas e falta de criptografia, colocando os dados em risco.
Linux Embarcado - O Sistema Operacional da Internet das CoisasAndré Curvello
O documento discute o uso do Linux em sistemas embarcados, como o Linux pode ser usado para facilitar o desenvolvimento de aplicações para a Internet das Coisas, e quais são os requisitos para desenvolvimento com Linux embarcado, incluindo programação em C/C++ e conhecimento de redes.
Rede CAN em Linux Embarcado para Aplicações ConectadasAndré Curvello
Slides da minha palestra apresentada na JEEL - Jornada da Engenharia Elétrica- da UFU em 2017, em que tratei de falar sobre sistemas Linux Embarcados em aplicações de automação com interface a rede CAN para troca de dados e monitoramento.
TDC2017 - Sistemas Assimétricos com ARM e FPGAAndré Curvello
O documento discute sistemas híbridos que combinam processadores ARM e FPGA. Esses sistemas podem dividir tarefas entre o ARM para execução do sistema operacional e a FPGA para funções personalizadas como DSP. Isso permite aproveitar as vantagens de ambos os mundos com desempenho e flexibilidade. O documento apresenta um exemplo prático usando uma placa DE0-Nano-SoC.
O documento fornece uma introdução sobre o Linux Device Tree, descrevendo sua história, funcionamento, estrutura e aplicações. O Device Tree é uma estrutura de dados que descreve o hardware de um sistema e configura os drivers do kernel Linux.
Indústria 4.0 - Do chão de fábrica à sua casa por um clique.André Curvello
Slides da minha palestra sobre a Indústria 4.0 - Que incorpora integração de dados e ampla conectividade ao cenário industrial, apresentada no dia 06/06/2017 como parte do Programa de Formação em Inovação da Coordenação de Transferência e Inovação Tecnológica da UFG.
Veja como hackear seu carro usando Rede CAN com Arduino DueAndré Curvello
Nessa apresentação eu mostro conceitos de Rede CAN, e para prática mostro como configurar o Arduino Due, uma placa da família Arduino com ARM Cortex-M3 com controlador de Rede CAN intergado, para fazer interface, juntamente com um transceiver, à uma rede veicular.
O Arduino Due é programado para fazer queries OBD2 pela rede CAN para obter dados do veículo.
Cuidado ao tentar reproduzir ou realizar essas atividades!
Laboratórios do HandsOn de mbedOS - FTF Connects SP 2016André Curvello
Slides dos Laboratórios / Atividades para o HandsOn de mbedOS, realizado no dia 8 de Novembro de 2016 no NXP FTF Connects, em São Paulo.
São 5 atividades que gradativamente exploram recursos tanto do LPCXpresso4337+Shield como do mbedOS.
O HandsOn teve como base a placa LPCXpresso4337, e o desenvolvimento de sistemas de tempo real usando mbed IDE online com mbedOS.
Material de autoria conjunta de André Curvello e Felipe Neves.
Agradecimentos especiais ao time NXP e ao time Embarcados pelo apoio ao treinamento!
O documento discute sistemas embarcados híbridos e computação ubíqua, com processadores que podem atualizar e comunicar-se com a nuvem para fornecer análise de dados em tempo real. Sistemas como carros autônomos podem usar vários sensores para reagir rapidamente e enviar dados para a nuvem para tomada autônoma de decisões.
Segurança em Foco no IoT - Protegendo as Informações das CoisasAndré Curvello
O documento discute segurança no Internet das Coisas (IoT), focando na proteção de informações coletadas por dispositivos conectados. O autor apresenta exemplos de vazamentos de dados em automóveis, equipamentos médicos e outros, e discute técnicas como criptografia, TLS e uso de chaves simétricas e assimétricas para proteger a comunicação de dados. Ele também fornece recomendações sobre como proteger dispositivos embarcados e a comunicação com a nuvem.
CPqD - Detecção Inteligente de Eventos por Imagem - Um Desafio para Internet ...André Curvello
O documento discute os desafios da detecção inteligente de eventos por imagem para a Internet das Coisas. Apresenta André Curvello, engenheiro especializado em sistemas embarcados que deseja explorar as possibilidades da visão computacional em dispositivos de baixo custo. Também descreve tecnologias modernas como GPUs embarcadas e coprocessadores que podem habilitar essa detecção de eventos.
Plataformas de Hardware para o seu Projeto - Quais seus diferenciais? Uma vis...André Curvello
Slides da minha palestra entitulada "Plataformas de Hardware para o seu projeto... Quais seus diferenciais? Uma visão de quem usa no dia a dia".
Foi apresentada no IoT Weekend de Recife, edição 2016, com o propósito de chamar a atenção para escopos de aplicações para plataformas embarcadas.
TDC2016 - Rede CAN - Conceitos e AplicaçõesAndré Curvello
O documento apresenta os conceitos e aplicações da rede CAN (Controller Area Network), um protocolo de comunicação serial desenvolvido para redes veiculares. Apresenta as características da rede CAN, como comunicação broadcast, identificação de mensagens por IDs e arquitetura de nós. Também mostra exemplos de aplicação da rede CAN em diversos setores como automotivo, militar e médico.
Estação de Controle Multimídia com Interface Web utilizando Sistema Operacion...André Curvello
Slides da minha apresentação do Trabalho de Conclusão de Curso na Engenharia de Computação da USP de São Carlos, entitulado "Estação de Controle Multimídia com Interface Web utilizando Sistema Operacional Linux Embarcado em plataforma ARM".
O trabalho foi orientado pelo ilustre Prof. Dr. Evandro Luís Linhari Rodrigues, e foi apresentado no dia 20 de Novembro de 2012, sendo aprovado pela banca.
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Proposta para Aceleração de Desempenho de Algoritmos de Visão Computacional em Sistemas Embarcados
1. 1
Proposta para aceleração
de desempenho de
algoritmos de visão
computacional em
sistemas embarcados
André Márcio de Lima Curvello
Orientador: Prof. Dr. Evandro Luís Linhari Rodrigues
2. 2
Sobre mim
André Márcio de Lima Curvello
Engenharia de Computação – USP São Carlos
MBA em Gestão de TI – UNIFRAN
Defesa em Processamento de Sinais e Instrumentação – USP EESC
3. 3
“Se vi mais longe foi por estar de
pé sobre ombros de gigantes
Isaac Newton
6. 6
1. História
▸ Acorn Risc Machine
▸ Linux Embarcado – 94 a 97
▸ OpenCV - 1999
▸ Indústria, Eletrônica, Consumo
▸ Pesquisa e Desenvolvimento
Fonte: www.anytux.org Fonte: Sharp.com Fonet: www.open-electronics.org
7. 7
1. História
▸ Estado da Arte
▸ Gestos, Interação Visual
▸ Novos desafios
Fonte: Samsung.com Fonte: talkandroid.com
8. 8
Motivação
▸ Uso cada vez maior de dispositivos com recursos de
processamento de imagens – Wilson e Dipert, 2013;
▸ Processadores ARM consomem menos energia do que
processadores de outras arquiteturas.
▸ Arquiteturas recentes possuem desempenho
gradativamente maior;
▸ Agregação de componentes como GPUs, unidades
coprocessadoras e DSPs no SoC ARM.
Fonte: www.arstechnica.com
9. 9
Contribuição
▸ Como rotinas de Processamento de Imagens
podem ser computadas em GPUs embarcadas
por meio de OpenGL ES 2.0;
▸ Detalhamento da aplicação de OpenGL ES 2.0
em sistemas embarcados com Linux;
▸ Aplicação do Filtro de Sobel em GPU embarcada
com OpenGL ES 2.0;
▸ Comparativo da sua execução em CPU com
OpenCV.
10. 10
▸ Desenvolver e avaliar a execução de aplicações
com rotinas de processamento de imagens em
GPU embarcada com uso de OpenGL ES 2.0
▸ Comparar seu desempenho frente a uma aplicação
equivalente executada em CPU.
1.4 Objetivos
12. 12
2.1 Trabalhos Publicados
▹Wilson e Dipert (2013)
▹Embedded Vision on Mobile Devices – Oportunities and Challenges
▹Até 2017:
▹ Cerca de 600 milhões de celulares smartphones com
funcionalidades de controle gestual, por meio de visão
computacional
▹Desafios de visão computacional em dispositivos móveis
▹Novos arranjos arquiteturais para aumento de performance
▹Desafios na otimização de rotinas e uso eficiente de recursos
13. 13
2.1 Trabalhos Publicados
▹Pulli et. al. (2012)
▹Realtime Computer Vision with OpenCV
▹Otimização de rotinas de visão computacional para
a plataforma NVIDIA Tegra 3
▹Autores também destacam a falta de otimizações,
desafios e exigências para processamento de
rotinas destinadas à visão computacional em
tempo real.
14. 14
2.1 Trabalhos Publicados
▹Maghazeh et. al. (2013)
▹General Purpose Computing on Low-Power Embedded
GPUs: Has it Come of Age?
▹Comparativo
• Arquitetura Embarcada i.MX6:
SoC ARM Cortex A9 + GPU Vivante GC2000: 4 núcleos
• Arquitetura desktop
CPU Intel Xeon E5520 + GPU NVIDIA Tesla M2050: 448 núcleos
▹Avaliação de desempenho com base em tempo gasto para
processar convolução de matrizes.
15. 15
2.1 Trabalhos Publicados
▹Roberts-Huffman e Hedge (2009)
▹ARM Cortex-A8 vs Intel Atom: Architectural and Benchmark Comparisons
▹Comparação de desempenho entre um sistema embarcado ARM e
outro sistema embarcado x86
▹Arquiteturas:
▹SoC OMAP 3530
▹Intel Atom N330
▹Abordagem:
▹Realização de cálculos de benchmark e comparação frente à
consumo energético.
16. 16
2.1 Trabalhos Publicados
▹Coombs e Prabhu (2011)
▹OpenCV on TI’s DSP+ARM platforms: Mitigating the Challenges of
porting OpenCV to embedded Platforms
▹Avaliação de ganhos de desempenho com uma
arquitetura ARM e DSP em conjunto;
▹Foco em aplicações de visão
computacional com as rotinas
da biblioteca OpenCV;
Fonte: Coombs e Prabhu (2011)
17. 17
2.1 Trabalhos Publicados
▹Ali (2013)
▹Estudo comparativo entre abordagens de programação
paralela para GPU e CPU
▹Tristam e Bradshaw (2010)
▹Investigating the Performance and Code Characteristics of Three
Parallel Programming Models for C++
▹Thouti e Sathe (2012)
▹Comparison of OpenMP & OpenCL Parallel Processing
Technologies
18. 18
2.2 Processadores ARM
▹Arquitetura de processadores RISC de baixo
consumo elétrico;
▹Amplo uso em sistemas e aplicações embarcadas
▹Atualmente:
▹Arquiteturas de 32 e 64 bits
▹Processadores de 1, 2, 4 e 8 núcleos
19. 19
▹Biblioteca de Processamento de Imagens e de visão
computacional
▹Código aberto
▹Grande gama de funções implementadas
▹C, C++, Java, Python e outras.
▹Estrutura modular
▹Interface gráfica
▹Processamento de imagens
▹Processamento de vídeo
▹Dentre outras.
2.3 OpenCV
20. 20
2.4 OpenMP
▹Plataforma facilitadora para o desenvolvimento
de aplicações com foco em execução de rotinas
paralelas.
▹Controlada por meio de
▹Diretivas de compilação
▹Rotinas em tempo de execução
▹Variáveis de ambiente
▹Melhor abstração da organização de threads
21. 21
2.5 Threading Building Blocks
▸TBB – Threading Building Blocks
▹Iniciativa da Intel de prover recursos de
paralelização de código
▹Abstração em nível de orientação a objetos
▹Tarefas que serão paralelizadas são chamadas de tasks
▹Somente usada em linguagens orientadas a objetos
22. 22
2.6 OpenCL
▹Desenvolvido e mantido pelo consórcio Khronos
Group
▹Mapeamento de sistemas
homogêneos ou heterogêneos
▹Arranjos envolvendo CPUs e GPUs
www.drdobbs.com
23. 23
2.6 OpenGL ES 2.0
▸ Conjunto de Rotinas para
Computação Gráfica
▸ Sistemas Embarcados
▸ Execução na GPU
▸ Programas
▹ Vertex Shader
▹ Fragment Shader Fonte: http://glslstudio.com
30. 30
3.2 Benchmarks
Dhrystone
Reinhold P. Weicker,
1984;
Objetivo:
Representar o poder
computacional de um
sistema com números
inteiros.
Linpack
Jack Dongarra, 1977
Pacote Linpack de
rotinas de álgebra
linear;
Objetivo:
Avaliar desempenho de
operações com
matrizes.
Whetstone
Harold Curnow, 1972
Objetivo:
Avaliar o desempenho
na operação de
cálculos com ponto
flutuante.
▸ Com base no trabalho de Roberts-Huffman e
Hedge (2009)
32. 32
3.4 Instalação e Compilação
▸ apt-get
▸ wget
▸ Compilação de Fontes
▸ Instalação do Driver Vivante GC2000 - GAL
33. 33
3.5 Medida de Tempo
▸ getTickCount - OpenCV.
-Retorna o número de pulsos de operação
(ticks)
▸ getTickFrequency - OpenCV
-Retorna o número de pulsos de operação
(ticks) do sistema em segundos.
37. 37
3.6.3
Recuperação de
Imagem em GPU
com OpenGL
-glReadPixels()
-FrameBuffer
-OpenCV – Mat
-Flip
Fonte: http://vgl-ait.org
Fonte: http://vgl-ait.org
39. 39
Dados de
desempenho
Dhrystone (VAX
MIPS)
Whetstone (MIPS) Linpack (MFLOPS)
WandBoard Quad 1638,98 1523,84 146,89
BeagleBoard 822 100 23,376
Atom 330 Desktop 1822 1667 933,638
4 - Benchmark
Com base em Roberts-Huffman e Hedge (2009)
40. 40
4 - OpenCV em CPU
OpenCV CPU
Resolução 320x240 640x480 800x600 1280x720
Medidas de
Tempo (ms)
2,83E-05 0,000109769 0,000152647 0,000307357
3,24E-05 0,000102529 0,000152733 0,000310978
5,62E-05 0,000102579 0,00015291 0,000311881
5,03E-05 0,000101179 0,000152943 0,000310435
3,84E-05 0,000116182 0,000152936 0,000310143
2,64E-05 0,00010251 0,000153007 0,0003102
2,26E-05 0,000103326 0,000153617 0,000312846
4,43E-05 0,000113962 0,00015354 0,000312418
3,24E-05 0,000103281 0,000153403 0,000311069
2,27E-05 0,000114308 0,00015816 0,000311189
Tempo Médio
Total (ms)
3,54058E-05 0,000106963 0,00015359 0,000310852
41. 41
4 - OpenGL em GPU
Renderização de OpenGL ES 2.0 em GPU
Resolução 320x240 640x480 800x600 1280x720
Medidas de
Tempo (ms)
1,53153E-05 1,48E-05 1,54E-05 2,70E-05
2,16E-05 2,96E-05 3,48E-05 4,84E-05
1,31E-05 1,46E-05 1,56E-05 2,45E-05
1,48E-05 1,46E-05 1,66E-05 2,66E-05
1,22E-05 1,48E-05 3,28E-05 5,01E-05
1,52E-05 2,04E-05 2,10E-05 2,38E-05
1,44E-05 2,01E-05 1,53E-05 2,74E-05
1,35E-05 1,42E-05 2,96E-05 4,93E-05
1,35E-05 1,44E-05 1,62E-05 2,40E-05
1,20E-05 1,63E-05 1,61E-05 2,80E-05
Tempo Médio
Total (ms)
1,45508E-05 1,73804E-05 2,13568E-05 3,29113E-05
42. 42
4 – OpenCV vs OpenGL
0
0,00005
0,0001
0,00015
0,0002
0,00025
0,0003
0,00035
320x240 640x480 800x600 1280x720
Tempoemms
Resolução
Execução de Sobel em GPU com
OpenGL vs CPU com OpenCV
OpenGL GPU OpenCV CPU
44. 44
4 – Recuperação do Quadro da GPU com
OpenGL
Recuperação de Quadros de Imagem de OpenGL para OpenCV
Resolução 320x240 640x480 800x600 1280x720
Medidas de
Tempo (ms)
2,31E-06 1,94E-05 2,05E-05 3,75E-05
2,26E-06 1,07E-05 1,73E-05 3,69E-05
2,27E-06 1,38E-05 1,94E-05 4,22E-05
2,05E-06 1,01E-05 1,97E-05 4,97E-05
2,05E-06 1,02E-05 1,98E-05 5,66E-05
2,08E-06 1,02E-05 2,48E-05 3,75E-05
2,38E-06 9,40E-06 1,97E-05 3,77E-05
3,37E-06 1,82E-05 1,85E-05 3,72E-05
2,09E-06 1,05E-05 1,71E-05 3,71E-05
2,22E-06 1,05E-05 1,93E-05 3,75E-05
Tempo Médio
Total (ms)
2,31E-06 1,23E-05 1,96E-05 4,10E-05
45. 45
4 – Processamento em GPU com OpenGL +
Tempo de Recuperação
Tempo Total - Processamento + Recuperação de Imagem em OpenGL para OpenCV
Resolução 320x240 640x480 800x600 1280x720
Medidas de
Tempo (ms)
1,76E-05 3,42E-05 3,59E-05 6,45E-05
2,38E-05 4,03E-05 5,21E-05 8,53E-05
1,54E-05 2,84E-05 3,50E-05 6,66E-05
1,68E-05 2,47E-05 3,63E-05 7,64E-05
1,42E-05 2,51E-05 5,26E-05 1,07E-04
1,72E-05 3,06E-05 4,58E-05 6,13E-05
1,68E-05 2,95E-05 3,50E-05 6,51E-05
1,68E-05 3,24E-05 4,81E-05 8,64E-05
1,56E-05 2,49E-05 3,33E-05 6,11E-05
1,42E-05 2,68E-05 3,54E-05 6,55E-05
Tempo Médio
Total (ms)
1,69E-05 2,97E-05 4,10E-05 7,39E-05
46. 46
4 – Execução em GPU com OpenGL +
Tempo de Recuperação vs CPU com
OpenCV
1,69E-05
2,97E-05
4,10E-05
7,39E-05
3,54058E-05
0,000106963
0,00015359
0,000310852
0,00E+00
5,00E-05
1,00E-04
1,50E-04
2,00E-04
2,50E-04
3,00E-04
3,50E-04
320x240 640x480 800x600 1280x720
OpenGL GPU OpenCV CPU
47. 47
4 – Ganho de Desempenho Total
2,1
3,6
3,8
4,21
0
0,5
1
1,5
2
2,5
3
3,5
4
4,5
320x240 640x480 800x600 1280x720
Ganho de Desempenho Total com GPU com
OpenGL VS CPU com OpenCV
50. 50
Ganho de 9xOperando Diretamente em GPU
Real - 4xConsiderando a Recuperação do Quadro de imagem da GPU!
Desempenho?
51. 51
OpenGL 670 linhas
▸ Inicialização de OpenGL
▸ Compilação e loading de Shaders
▸ Operação direta em GPU
OpenCV - 70 linhas
▸ Uso de Bibliotecas Prontas – OpenCV
▸ Execução na CPU (+NEON)
52. 52
5 - Conclusões
▸ Pouca documentação sobre Processamento de Imagens em
GPU
▹ Application Note 4629 da Freescale
▸ Resultados podem ser aprimorados…?
▹ Técnica de recuperação dos quadros da GPU
▸ Programação da GPU via Shaders
▸ Dependência de Drivers para acesso a recursos da GPU
via OpenGL!
▹ Ponto a ser observado na plataforma-alvo
▹ Fabricante disponibiliza drivers?
53. 53
5 - Conclusões
▸ Ganho de desempenho vale o esforço?
▸ Em se tratando de sistemas embarcados, sim!
▸ Uso da GPU?
▸ No presente momento, há mais dispositivos embarcados
compatíveis com OpenGL ES 2.0 do que com OpenCL.
▸ Mais de 8 milhões de Raspberry Pi vendidas (Fonte: Raspberry Pi
Foundation)
▸ Aplicação em Robótica e Automação!
▸ Objetivo alcançado? Sim!
Fonte: https://www.khronos.org/