Resumo: Este trabalho apresenta a implementação de um servidor e cliente utilizando o protocolo HTTP/QUIC para a transmissão de vídeos 360º. Desenvolvemos algoritmos de adaptação de taxa de rede, avaliando seu desempenho com o objetivo de otimizar tanto a qualidade de transmissão quanto a eficiência no uso de recursos de rede. A proposta contribui para o aprimoramento das técnicas de transmissão de vídeos imersivos, explorando soluções que se ajustem dinamicamente às variações nas condições de rede.
Além disso, utilizamos a divisão dos vídeos em tiles, permitindo a transmissão e renderização seletiva das áreas de maior interesse do usuário, o que permite reduzir o consumo de largura de banda e melhora a experiência de visualização, mesmo em cenários de conexão instável. Isso resulta em um sistema de streaming menos suscetível a flutuações na qualidade da conexão com a internet.
Abstract: This work presents the implementation of a server and client using the HTTP/QUIC protocol for transmitting 360º videos. We developed network rate adaptation algorithms and evaluated their performance with the aim of optimizing both transmission quality and network resource efficiency. This proposal contributes to enhancing immersive video streaming techniques by exploring solutions that dynamically adjust to variations in network conditions.
Additionally, we employed video tiling, which enables selective transmission and rendering of areas of greatest interest to the user, thereby reducing bandwidth consumption and improving viewing experience even in unstable connection scenarios. This results in a streaming system that is less susceptible to fluctuations in internet connection quality.
Resumen Este trabajo presenta la implementación de un servidor y cliente utilizando el protocolo HTTP/QUIC para la transmisión de videos 360º. Desarrollamos algoritmos de adaptación de la tasa de transferencia efectiva y evaluamos su desempeño con el objetivo de optimizar tanto la calidad de transmisión como la eficiencia en el uso de los recursos de red. Esta propuesta contribuye al mejoramiento de las técnicas de transmisión de videos inmersivos, explorando soluciones que se ajustan dinámicamente a las variaciones en las condiciones de la red.
Además, empleamos la división de videos en mosaicos (tiles), lo cual permite la transmisión y renderización selectiva de las áreas de mayor interés para el usuario, lo que reduce el consumo de ancho de banda y mejora la experiencia de visualización, incluso en escenarios de conexión inestable. Esto resulta en un sistema de transmisión menos susceptible a las fluctuaciones en la calidad de la conexión a internet.
Resumo: A evolução das tecnologias, principalmente dos dispositivos dentro do que chamamos de Internet das Coisas (IoT), possibilitou o surgimento de sistemas cada vez mais sofisticados, muitas vezes com requisitos críticos de funcionamento. O estudo sobre tolerância a falhas (FT) vem ganhando um espaço extremamente importante no cenário de IoT, pois as existentes técnicas que fazem um sistema ser tolerante a falha muitas vezes não são eficientes ou viáveis para um sistema de dispositivos de Internet das Coisas. Este estudo visa analisar algumas técnicas de FT pensadas para o IoT. Além disso, mostraremos um estudo de caso onde temos uma solução para gerir um estacionamento a partir de câmeras que tiram fotos periodicamente, obtendo-se a quantidade de vagas disponíveis, e apresentaremos uma solução para o sistema ser tolerante a falhas.
Resumo: Nesse trabalho, uma solução de aprendizado de máquina é desenvolvida, a fim de identificar a etiologia de trombos retirados de pacientes que sofreram um acidente vascular cerebral. Para isso, utiliza-se de métodos padronizados presentes em uma pipeline capaz de resolver o problema fim-a-fim, distrubuídos através de uma biblioteca Python, Slideflow. O problema e a solução são propostos no ambiente cloud de ciência de dados Kaggle e com isso se define as restrições de hardware no desenvolvimento, que impossibilitaram a submissão e avaliação do modelo na plataforma. Ainda assim, demonstra-se como a biblioteca utilizada é capaz de criar soluções no ambiente usado através de uma metodologia que divide-as em três notebooks. Também são relatados experimentos e a solução final, que não foi capaz de distinguir as classes, são feitas comparações com outras soluções disponíveis na plataforma e por fim se mostra como técnicas mais sofisticadas e dados mais relevantes são necessários para uma solução confiável.
Resumo: Com a popularidade de metodologias ágeis dentro do área de engenharia de software, o desenvolvimento dirigido a comportamento, BDD, se tornou uma prática recorrente nas equipes de desenvolvimento. No entanto, olhando seu processo, identificamos atividades manuais que dificultam a sua execução no cotidiano. Por isso, o teste baseado em modelos, MBT, se propõem a automatizar atividades como a geração de cenários de testes e a implementação dos testes de aceitação para facilitar o uso do BDD.
Resumo: Verificar o comportamento de sistema usando testes de software é um processo indispensável para o controle de qualidade. O Behavior Driven Development (BDD) é uma prática de desenvolvimento de software que gera testes como forma de documentação do comportamento do sistema, porém os testes são gerados manualmente. Já o Model Based Testins (MBT) é um método que permite gerar testes de maneira automática a partir de um modelo do comportamento do sistema. Este projeto se propõe a desenvolver um método que combine o uso de MBT e BDD para geração automática de testes, e que funcione em projetos de desenvolvimento incremental. Como sistema sob teste foi usado a funcionalidade de login com email e senha do Firebase. O método aplica o MBT para desenvolver o modelo de comportamento do sistema, e usa a ferramenta Skyfire para a partir do modelo de comportamento gerar testes seguindo a notação usada no BDD. O modelo de comportamento do sistema foi representado por um modelo de estados. Foram feitas duas iterações do método proposto, adicionando-se novos requisitos a cada iteração, a fim de avaliar o esforço associado. Ao final da execução sobre a funcionalidade testada, o método proposto foi capaz de gerar testes a partir de um modelo de estado, documentando o funcionamento do sistema de forma automática e incremental.
Abstract: Here we report the development of an algorithm that explores properties of U-shaped curves (“U-curves”) in cost functions of multi-task transfer learning (MTL) models. The proposed algorithm works even with the insertion of different tasks that may or may not be related to the original task of learning. To find a global minimum of the described curve, a Boolean lattice is organized based on the enumeration of the search space with the weights of the group of different tasks used in training. This traversal of that lattice is carried out through a branch-and-bound procedure, in which the pruning criterion is the increase of the cost in a chain of that lattice. To benchmark the proposed algorithm against established MTL methods, we carried out computational experiments with both synthetic and real datasets. We expect that this proposed algorithm will represent a relevant alternative for multi-task learning models.
Resumo: Este trabalho envolveu a implementação e publicação de uma biblioteca aberta para disponibilizar técnicas de análises de discurso com modelagem de tópicos temporal. Pudemos demonstrar e validar o funcionamento da biblioteca usando casos de uso de uma pesquisa real de análise de discurso. Por fim, publicamos a biblioteca com uma licença livre e disponibilizamos-na no repositório do package manager pip.
Resumo: Empresas de engenharia civil necessitam frequentemente produzir relatórios e laudos técnicos para seus clientes. Para isso, muitas vezes é necessário que um engenheiro faça uma vistoria técnica nos edifícios, tirando fotos e descrevendo detalhes sobre patologias encontradas, melhorias recomendadas, integridade da estrutura, etc. Esses relatórios podem facilmente passar de uma centena de páginas, ocupando várias horas de um profissional muito capacitado e encarecendo a sua produção. Neste trabalho é descrita a implementação de uma aplicação web que visa automatizar a montagem desses documentos para uma empresa do ramo (Servare Engenharia). A aplicação foi desenvolvida com o framework Angular 13 no lado do cliente, NodeJS no lado do servidor e MySQL como sistema gerenciador de banco de dados. Ela foi hospedada em nuvem utilizando AWS e pode ser acessada por qualquer pessoal com usuário cadastrado. A saída da aplicação é um documento PDF, buscando ser o mais parecido possível com um laudo técnico produzido utilizando softwares convencionais, tais como editores de texto ou de slides.
Resumo: Com a evolução do mercado financeiro e com aumento do número de transações financeiras em circulação, viu-se a necessidade da criação de ferramentas que possibilitem a automatização de operações e a solução de gargalos relacionados à extração e manipulação de notas de corretagem. Aliado a isso, a evolução da cloud computing viabilizou maiores possibilidades de gerenciamento de recursos, por meio da criação de serviços, permitindo escalar a automatização de processos para múltiplos clientes nos mais distintos cenários de mercado.
Nesse contexto, foi criado um algoritmo que realiza o parsing do conteúdo da nota de corretagem, utilizando diferentes serviços da AWS de modo a chegar em um sistema econômico, rápido e confiável. Neste trabalho, é detalhado o impacto em desempenho dessa automatização para diferentes ambientes remotos. Buscando a análise crítica para diferentes cenários do mercados e com o uso de diversos serviços na nuvem, focando em desempenho, custo e escalabilidade.
Resumo: Sistemas auto-distribuídos são capazes de alterar sua composição em tempo de execução para se adaptar ao ambiente que se encontram e melhor atender aos seus requisitos. Para tanto, utilizam-se de métricas coletadas durante a execução dos componentes, como tempo de execução. Este trabalho tem como objetivo habilitar a utilização de métricas de consumo energético para sistemas auto-distribuídos, para que o placement dos componentes possa ser realizado de maneira a atingir uma configuração energeticamente eficiente, e então verificar o impacto que isso tem no sistema.
Resumo: Este trabalho é um relatório do projeto realizado em parceria com uma atividade de extensão do Instituto de Geociências (coordenado pelo Prof. Roberto Greco), cujo objetivo é projetar e implementar um sistema utilizando Internet das Coisas para o monitoramento de colmeias de abelhas nativas. As colmeias serão instaladas no Assentamento Milton Santos (Americana/SP) com o objetivo principal de polinização da vegetação presente.
Após visitar o local e reunir os requisitos do projeto, foi desenvolvido um sistema para coleta de dados da colmeia (temperatura, umidade e som) e um aplicativo de celular para leitura dos dados. Como o assentamento não possui internet, os sistemas se comunicam por Bluetooth.
Abstract: This work aims to study some of the most prominent publicly available models for the text-to-image generation task. In addition, we investigated whether an ensemble of these models can achieve better results using a CLIP model as a ranker. To perform these experiments, we selected two available models that performed well on the public MS-COCO benchmark. We also experimented with Stable Diffusion, a diffusion model that became popular due to the quality of the images it generates. We evaluated each model and the ensembles in subsets of the MS-COCO and FLICKR datasets.
Resumo: Este é um estudo sobre a criação de materiais realistas, fisicamente baseados, para aplicações gráficas 3D, tais como jogos e filmes animados. Os métodos tradicionais para recriar texturas requerem ferramentas caras, perícia e consomem tempo. Um método recente, desenvolvido por Henzler et al., propõe criar parâmetros da função de distribuição da reflectância bidirecional (do inglês, Bidirectional Reflectance Distribution Function - BRDF) realistas - difusos, normais, rugosos e mapas especulares - a partir de uma única fotografia obtida por telefone celular com a lanterna do dispositivo ligada. Ele aprende a codificar a imagem em um espaço latente e depois como decodificá-la nos mapas de textura com uma abordagem sem supervisão. Os resultados são realistas, sem costura e podem ser interpolados com outros materiais, resultando em um gerador de textura virtualmente infinito. Revisamos este método e descrevemos possíveis modificações que poderiam ser aplicadas à abordagem. O uso de imagens cruas, em vez de fotografias finais processadas para se beneficiar de sua característica linear, pode melhorar o realismo dos materiais. Além disso, incluímos o Blender como o motor de renderização para que materiais mais complexos possam ser criados.
Resumo: Os efeitos ópticos causados por objetos massivos na trajetória de raios de luz são amplamente estudados há mais de 200 anos. Estes efeitos, formalmente referidos como ``Lentes Gravitacionais'', são de extrema importância para a cosmologia e astronomia moderna, pois somente através dos mesmos é possível analisar criticamente os dados e imagens coletadas por astrônomos, ao observar os mais diversos eventos cosmológicos do universo ao nosso redor. Este trabalho visa descrever a natureza física deste efeito por meio de uma análise conceitual da métrica de Schwarzschild e apresentar um modelo computacional para síntese de imagens gráficas que ilustrem os efeitos de deflexão de raios de luz causados pela curvatura do ``espaço-tempo'' ao redor de objetos massivos.
Resumo: Desde a década de 50, são propostos métodos e soluções para programas serem capazes de jogar xadrez. Algoritmos de busca como o minimax são amplamente utilizados, em conjunto com funções de avaliações baseadas em heurísticas. Porém, estudos recentes na área, utilizando aprendizado de máquina, tem apresentado bons resultados. Este projeto tem como objetivo principal implementar métodos de aprendizado de máquina capazes de aprender a jogar xadrez, para assim, contribuir com estudos na área, ao entender quais são as vantagens e desvantagens em utilizar tais métodos. Para isso, o projeto apresenta uma contextualização histórica aos estudos desenvolvidos sobre o problema proposto e, para auxiliar a compreensão, alguns conceitos relacionados ao tema. O trabalho implementa um algoritmo clássico, amplamente utilizado para o desenvolvimento de programas modernos na área e, em sequência, implementa um método que substitui parte do algoritmo por um modelo de aprendizado de máquina que utiliza, em conjunto, a Rede de Crenças Profundas e a Rede Neural Siamesa. Inicialmente, o desenvolvimento das redes é realizado, com a coleta e o tratamento dos dados, sendo duas as fontes principais, a primeira é a plataforma de jogos online Lichess e a segunda são os jogos entre computadores do grupo CCRL. As arquiteturas das redes neurais são desenvolvidas e o processo de treinamento das mesmas é realizado e, por fim, os resultados finais obtidos são comparados entre as três abordagens. Finalmente, os benefícios que os modelos de aprendizado de máquina obtiveram são apresentados, mesmo não superando o método clássico, e novas propostas são sugeridas para avançar os estudos na área.
Resumo: Este projeto visa investigar e aplicar técnicas de visão computacional e de aprendizado de máquina para a detecção e o rastreamento dos olhos por meio de uma câmera de vídeo, além de oferecer um protótipo para o controle do mouse a partir do olhar. O protótipo pode auxiliar usuários com deficiência motora a interagir com o computador, dispensando a necessidade de equipamento especializado. Diferentes abordagens de visão computacional e aprendizado de máquina são avaliadas e aprimoradas, buscando-se melhorar a precisão do rastreamento ocular, sem a necessidade de ajustes manuais. Vários desafios estão associados ao problema, tais como a ocorrência de grandes movimentos da cabeça e condições do ambiente.
Resumo: Este trabalho é relatório sobre o uso do problema de roteamento de veículos aplicado ao contexto de entrega de compras com dois tipos de veículos.
A partir do trabalho desenvolvido, foi possível depreender que o uso de algoritmos exatos, por mais que seja possível para contextos pequenos e médios, se torna inviável com o crescimento do número de pontos de entrega.
Resumo: Situações que envolvem necessidade de economia de recursos ou computação de forma eficiente sobre caminhos em determinada rede ocorrem com frequência, e a forma de abordar esse tipo de problema pode ser crucial para obter resultados satisfatórios. É do estudo desses cenários que nascem problemas de minimização em spanners. Este trabalho descreve a implementação de um algoritmo de solução exata para um problema particular sobre spanners: o problema da árvore spanner de peso mínimo. O desafio em questão é encontrar, dado um grafo e um inteiro , uma árvore geradora de na qual a distância entre cada par de vértices seja no máximo vezes a distâncias entre eles em . Os resultados da implementação e melhorias através de heurísticas são então discutidas e analisadas.
Resumo: A aplicação de técnicas de redução exata na resolução de jogos atuais é algo pouco explorado. Neste trabalho, aplica-se a abordagem de Programação Linear Inteira e suas derivadas análises para tratar de um problema muito comum no jogo Path of Exile. Avalia-se o desempenho de duas formulações, uma por fluxo e outra por cortes, baseados na resolução do Problema da Árvore de Steiner com Coleta de Prêmios. Para a representação da rede de conexão do jogo, bem como algoritmos para exploração, foi utilizada a biblioteca para grafos LEMON e para a resolução dos modelos de programação linear inteira, o solver Gurobi. Avaliou-se os resultados obtidos para diferentes instâncias do problema e foram sugeridos próximos passos para dar continuidade à esta análise.
Resumo: De um lado temos biblioteca NCCL da NVIDIA em C que traz uma solução rápida para comunicação entre GPUs, entre as funções que ela disponibiliza está a operação AllReduce que é frequentemente usada no treinamento de redes neurais. Do outro temos a biblioteca JAX da Google em Python, que disponibiliza soluções de alto desempenho para machine learning e computação numérica usando o compilador XLA. O objetivo deste projeto é de certa forma unir as duas bibliotecas implementando uma nova primitiva JAX para a operação AllReduce presente na biblioteca NCCL. Após a implementação, uma análise comparativa do tempo de execução da nova primitiva foi feita.
Resumo: Este trabalho discorre sobre avaliação de políticas de adaptação de taxa de transmissão para sessões de video 360º. Pretende-se o entendimento dos principais algoritmos de adaptação de taxa de transmissão para vídeos regulares e como se pode explorar a algoritmos atuais para vídeos 360º.
As tecnologias exploradas neste trabalho são o protocolo de rede QUIC que permite conexões multi-stream, videos 360º, e que tem se tornando popular ao longo dos últimos anos e algoritmos de adaptação de taxa de transmissão bem difundidos.
Foi feita uma análise qualitativa de como essas tecnologias de vídeos tradicionais se comportam em cenários de vídeos 360°. Pode-se concluir que com algumas adaptações, é possível a utilização dos algoritmos apresentados.
Resumo: TKGEvolViewer é uma ferramenta para a visualização interativa da evolução de grafos de conhecimento. Esse software possibilita a exploração gráfica de Temporal Knowledge Graphs (TKGs) a partir de valores de métricas codificadas nas estruturas dos TKGs. A ferramenta de software permite uma forma de explorar esses grafos para seu entendimento e compreensão de métricas sobre os conceitos codificados. Com o uso da ferramenta, pessoas podem conduzir análises visuais de TKGs através da escolha de uma métrica.
Neste trabalho, refinamos a ferramenta por meio da concepção e implementação de um módulo de um Wizard interativo, que apoia usuários na condução guiada de análises. A solução construída permite ainda uma exploração avançada e livre da estrutura dos grafos de conhecimento. O Wizard possibilita a construção de análises a partir de respostas a diferentes questões, previamente criadas, que permeiam a métrica escolhida.
Resumo: Emoções são respostas fisiológicas que podem ser capturadas a partir de sensores. Neste trabalho utilizamos dados coletados de eletroencefalograma (EEG), que avalia a atividade elétrica do cérebro. Essa atividade é separada em bandas de frequência (Alpha, Beta, Theta, Delta e Gamma) e podem ser analisadas para entender o funcionamento do cérebro do indivíduo examinado. Conduzimos uma oficina para coleta dos dados na Universidade Estadual de Campinas com 21 voluntários que foram expostos a diferentes experiências sensoriais pela visão, audição e tato. Nosso objetivo foi induzir quatro diferentes estados afetivos (alegria, tristeza, medo e nojo) enquanto utilizavam um equipamento que coleta os dados de EEG. Os dados foram analisados e pré-processados para permitir o treinamento de um modelo de aprendizado de máquina para a classificação. O algoritmo investigado foi o Support Vector Machine (SVM) que se mostrou efetivo em outras implementações de classificação de dados de EEG e em datasets menores. Os melhores resultados obtidos foram sobre a identificação de `alegria' e `medo' com base em dados de todos os voluntários sumarizados pela média de dez medições, obtendo um resultado de 59% de acurácia e 59% de F1-score.
Resumo: Por trás das expressões emocionais, um fenômeno complexo é acionado na mente e no corpo dos indivíduos, envolvendo atividades neurológicas e fisiológicas. Os últimos avanços tecnológicos demonstram diferentes formas de impactar e afetar as emoções humanas, como por exemplo, via experiências visuais, auditivos ou táteis. Nossa pesquisa envolve o estudo de uma oficina para captura de dados sobre aspectos afetivos. Exploramos a experiência multi-sensorial dos participantes na captura de dados via dispositivo de eletroencefalograma. Nossa pesquisa foi avaliada através das percepções dos participantes que utilizaram e avaliaram a experiência no ambiente proposto. Em nossa análise, exploramos o uso de vídeos gravados sobre as interações dos participantes na análise de resultados.
Resumo: Detecção de texto em cena tem recebido grande importância nos últimos anos. Os desafios desta tarefa consistem em conceber detectores capazes de lidar com uma ampla gama de variabilidade, tais como tamanho da fonte, estilo da fonte, cor, fundo complexo, entre outros fatores. Quando tratamos de textos multilíngue, as atuais propostas de detecção possuem dificuldade em detectar as diferentes línguas com o mesmo desempenho entre elas. Este trabalho apresenta uma técnica para otimizar as detecções individuais de línguas. Primeiro fazemos uma comparação entre duas estratégias de construção de modelos, utilizando redes neurais convolucionais, para detectar elementos textuais multilíngue em imagens: (i) modelo de detecção construído em um cenário de treinamento multilíngue e (ii) modelo de detecção construído em um cenário de treinamento específico de linguagem. A partir desta comparação, propomos um algoritmo de fusão dos treinamentos realizados com língua específica para podermos avaliar nossa hipótese no contexto de teste com todas as línguas. Os experimentos projetados neste trabalho indicam que o modelo específico de idioma supera o modelo de detecção treinado em um cenário multilíngue. Com o algoritmo de fusão dos modelos, obtivemos uma melhoria final de 28,21% e 11,80%, em termos de precisão e medida-F1, respectivamente.
Resumo: Este trabalho tem como proposta principal a criação de um aplicativo iOS com o objetivo de reconhecer quedas físicas utilizando-se de um telefone celular (smartphone), o qual detecta sinais de aceleração e rotação a partir dos sensores de acelerômetro e giroscópio. Inicialmente, o relatório descreve as principais atividades para a criação de um modelo de aprendizado de máquina. Tais etapas envolvem os processos de coleta de dados, organização dos dados coletados e, por fim, o processo de treinamento de modelos de aprendizado de máquina. A partir do modelo treinado, foi possível fazer predições de atividades humanas a partir de dados dos sensores em tempo real. Em seguida, o relatório faz um comparativo entre um modelo utilizando a técnica de Árvore de Decisão com uma variante de rede neural recorrente conhecida como Long Short-Term Memory (LSTM). Com isso, o relatório enfatiza que, em casos onde os dados são sequenciais e, dessa forma, os dados possuem uma relação entre si (tanto em termos de ordem quanto de agrupamento), o uso de redes neurais recorrentes possui um desempenho melhor visto que aprende relações existentes entre os dados.
Resumo: Este projeto final de graduação visa estudar e aplicar técnicas da área de processamento de imagens e visão computacional para abordar o problema de classificação de espécies de pássaros. Para isto, a base de dados selecionada para o estudo de casos foi a BIRDS 400 - Species Image Classification, disponível no repositório do Kaggle e empregada para treinar os modelos construídos durante o projeto. Para a realização do trabalho, técnicas de processamento e análise de imagens foram investigadas e aplicadas ao problema de classificação. Além disso, técnicas de transferência de aprendizado e aumentação de dados foram exploradas. Resultados experimentais foram coletados para demonstrar a eficácia dos modelos construídos.
Resumo: A contagem de multidões por meio de imagens é um campo de pesquisa de grande interesse por suas diversas aplicações, como monitoramento de imagens de câmeras de segurança, planejamento urbano, além da possibilidade de usar esses modelos para a contagem de outros objetos, em outros domínios de problemas. Neste trabalho, um modelo é proposto (MCNN-U) baseado em Redes Adversárias Generativas (GANs) com custo Wasserstein e em redes neurais de múltiplas colunas, para obter melhores estimativas da quantidade de pessoas. O modelo foi avaliado utilizando duas bases de dados de contagem de multidões, a UCF-CC-50 e a ShanghaiTech. No caso da primeira base de dados, a redução do erro médio absoluto foi maior do que 30%, enquanto que no caso da segunda, os ganhos em eficácia foram mais reduzidos.
Resumo: A Interpolação de Quadros em Vídeos (VFI, Video Frame Interpolation) é uma tarefa da Computação Visual que busca aumentar a taxa de quadros de um vídeo ao produzir novas imagens intermediárias àquelas já existentes na sequência, criando um conteúdo mais visualmente agradável aos espectadores. Embora pouco conhecido pelo público geral, este é um campo de estudo de suma importância, possuindo inúmeras aplicações práticas, tais como recuperação de vídeos baseada em conteúdo, geração de conteúdo em câmera lenta, facilitação do processo de edição de vídeos e até mesmo a intermediação de serviços de streaming de vídeo. O objetivo deste trabalho é estudar e avaliar o desempenho quantitativo e qualitativo de três métodos do estado da arte na área baseados em Aprendizado Profundo: RIFE (Real-time Intermediate Flow Estimation) [], XVFI (eXtreme Video Frame Interpolation) [] e CDFI (Compression-Driven Flow Estimation) []. Embora os modelos RIFE e XVFI tenham obtido os melhores desempenhos nas métricas utilizadas durante os testes e o modelo RIFE apresente os melhores resultados nominais em seu artigo, todas as arquiteturas demonstraram bons resultados ao gerar quadros intermediários para diferentes sequências de vídeo, com algumas faltas de detalhes muitas vezes imperceptíveis ao olho humano durante a exibição do conteúdo completo, podendo ser utilizadas como aplicações de execução eficiente em computadores de uso geral, entretanto, de alto requerimento de poder computacional de GPUs para o processo de treinamento.
Resumo: Com a expansão e popularização da Internet tem se tornado cada vez mais usada a arquitetura de computação em névoa, que utiliza mini-servidores (cloudlets) responsáveis pela alocação dos recursos de armazenamento e processamento dos dados dos usuários, sob a forma de máquinas virtuais ou containers, na borda da rede.
Mesmo assim, os usuários podem experimentar latências e perdas de conexão. Para melhorar isso, faz-se necessário adaptar a alocação desses recursos da rede conforme o cenário: mais ou menos usuários, com diferentes usos de rede e movimentação. A proposta deste trabalho é investigar se alterações nas políticas de migração de recursos entre as cloudlets podem diminuir as latências e perdas de conexão experimentadas pelos usuários. A validação dessa proposta foi feita utilizando o simulador MobFogSim.
Abstract: With the expansion and popularization of the Internet, the cloud computing architecture has become increasingly used, which uses mini-servers (cloudlets) responsible for allocating resources for storing and processing user data, in the form of virtual machines or containers at the edge of the network.
Even so, users may experience latencies and connection drops. To improve this, it is necessary to adapt the allocation of these network resources according to the scenario: more or less users, with different network uses and movement. The purpose of this work is to investigate whether changes in resource migration policies between cloudlets can reduce latencies and connection losses experienced by users. The validation of this proposal was done using the MobFogSim simulator.
Resumo: Alunos da universidade estão sempre engajados em projetos, sejam estes provenientes de disciplinas acadêmicas ou não. Em sua maioria, são projetos complexos que envolvem grandes quantidades de pessoas e procuram por habilidades e interesses específicos. Desse modo, surge uma questão: como encontrar projetos e pessoas? Este trabalho consiste na implementação de uma plataforma de Match de Projetos, em que perfis interessados (alunos, professores, entidades externas à universidade) em projetos podem encontrá-los por meio de uma rede social dedicada a isso. Assim como idealizadores e responsáveis por projetos podem encontrar pessoas para agregar na força de trabalho. Ao fim do desenvolvimento, foi possível entregar uma plataforma que implementa a maioria dos requisitos definidos inicialmente, e dessa maneira, apresenta aplicabilidade em contextos reais. Além disso, a plataforma, disponível no formato Web em React, consome uma API REST implementada em uma arquitetura de microsserviços, apresentando potenciais ganhos em escalabilidade e disponibilidade.
Resumo: Este relatório técnico estuda uma ferramenta para acompanhar, monitorar e aperfeiçoar o uso dos recursos naturais no campus da UNICAMP que se localiza em Barão Geraldo. O diferencial do mecanismo é conseguir evoluir, escalar, e apresentar melhores soluções para os problemas da sustentabilidade. São analisados dados e informações presentes na plataforma dojot que se baseia em dispositivos IoT espalhados pela cidade universitária da Unicamp em Campinas. Foram examinadas medições para diferentes locais, horários, dias da semana e meses para apurar os resultados e então conseguir inferir, com maior precisão, áreas de grande consumo de recursos naturais e então utilizar da ferramenta.
Resumo: Este trabalho busca avaliar o desempenho de execução da implementação da biblioteca Node.js de algumas funções nativas do Javascript, pertencentes aos objetos String e Array. As funções de String foram: match, substring e toUpperCase. As funções do objeto Array testadas foram: concat, find, reverse, shift, unshift, sort e push.
Para realizar o teste utilizamos a biblioteca benchmark.js, que realiza a execução dos blocos de códigos a serem testados em cima dos datasets fornecidos por uma quantidade de vezes determinada via parâmetro (no caso deste trabalho, em torno de 90 execuções por dataset). Ao final do teste, a biblioteca fornece um conjunto de dados estatísticos relevantes relacionados ao tempo de execução do programa, como tempo médio de execução, margem de erro do tempo médio e porcentagem relativa de erro. Para este trabalho, utilizamos apenas o tempo médio de execução.
Utilizamos datasets de tamanhos variados, com valores tanto aleatórios quanto pensados especialmente para testar casos de borda dos algoritmos. Além dos algoritmos nativos, testamos o desempenho de implementações manuais dos mesmos algoritmos a fim de comparar o desempenho do algoritmo nativo com o customizado.
De posse dos dados, foram produzidos gráficos de desempenho para os algoritmos, usando como pontos o tempo de execução necessário para a completude de execução do programa em cima de cada dataset.
Resumo: Cada vez mais os sistemas contemporâneos têm sua demanda e complexidade aumentadas. Os principais fatores que têm causado esse aumento são a heterogeneidade e a volatilidade presentes nesses sistemas. Um exemplo dessa volatilidade é o súbito aumento no número de usuários, ou serviços compartilhando a mesma infraestrutura. Com isso, algumas alternativas vêm sendo analisadas e aplicadas para atender essa alta demanda. Uma das mais disseminadas é a computação em nuvem, uma vez que a mesma possui recursos para lidar com a escalabilidade e a adaptabilidade, como exemplo dos contêineres e orquestradores de contêineres, que conseguem escalar tanto verticalmente quanto horizontalmente. Mas devido a uma baixa tolerância à alta latência e atrasos de comunicação em algumas aplicações, o desempenho desta solução pode ficar comprometido, abrindo espaço para novas soluções, como a computação na borda. Sendo ambas as tecnologias melhor utilizadas por sistemas sem estado (stateless), pelo fato de que sua implementação é menos complexa. Porém, sistemas com estado ( statefull), embora possuam uma maior complexidade, também possuem um maior desempenho.
Pensando neste cenário, este projeto foi desenvolvido a fim de estudar o desempenho de um sistema híbrido — parte na nuvem, parte na borda — com uma gestão transparente do estado, de acordo com diferentes modelos de consistência, no processo de distribuição de sistemas. Através de uma metodologia empírica, são explorados diversos cenários e composições com o intuito de avaliar as melhores composições para cada cenário.
Resumo: Com a crescente popularização de jogos competitivos, formas de melhorar a experiência de usuário são cruciais para atrair jogadores e criar produtos. Uma das principais formas de melhora é a compensação de atraso. Nesse trabalho, é descrita a implementação de um algoritmo de compensação de atraso em um jogo atirador em terceira pessoa, utilizando a plataforma Unity. Posteriormente, é analisado o impacto desse algoritmo na taxa de acertos de tiros, tanto em ambientes locais quanto remotos (Cloud), e é demonstrada a influência desses algortimos na experiência final.
Abstract: With the increasing popularity of competitive games, ways of improving user experience are crucial to attract players and create products. One of the main ways of improving this experience is delay compensation, a.k.a. lag compensation. In this work, I describe the implementation of a delay compensation algorithm in a third-person shooter game, using Unity platform. Subsequently, the impact of this algorithm on the hit rate of shots is analyzed, both in local and remote environments (Cloud), and the influence of these algorithms on the final experience is demonstrated.
Resumen Con la creciente popularidad de los juegos competitivos, las formas de mejorar la experiencia del usuario son cruciales para atraer jugadores y crear productos. Una de las principales formas de mejora es el lag compensation. En este trabajo se describe la implementación de un algoritmo de lag compensation en un juego de disparos en tercera persona, utilizando la plataforma Unity. Posteriormente, se analiza el impacto de este algoritmo en la tasa de acierto de los disparos, tanto en servidores locales como remotos (Cloud), y se demuestra la influencia de estos algoritmos en la experiencia final.
Resumo: A capacidade de adaptar-se a diferentes situações é um processo chave em sistemas distribuídos modernos. O advento da internet em nossos cotidianos trouxe consigo um aumento considerável de heterogeneidade nos sistemas distribuídos. Uma das formas conhecidas e bastante utilizadas hoje para contornar tal problema é a computação em nuvem, que se tornou nos últimos anos um segmento fundamental para gigantes de tecnologia, conseguindo prover escalabilidade sob demanda de forma eficiente e rápida. Outras tecnologias trazem ainda mais flexibilidade para os sistemas, como, por exemplo, a capacidade de executar trocas de componentes em tempo de execução e a conteinerização de aplicações. Visando através de uma metodologia empírica explorar os desafios e impactos no uso das mais recentes tecnologias no contexto de gestão transparente de estado, este projeto apresenta um estudo do uso de tais tecnologias de acordo com diferentes modelos de consistência dentro do processo de distribuição de sistemas.
Abstract: Machine learning has an increasing importance within society. However, for it to continue to evolve, more data from IoT devices and computing resources are needed, which has become a bottleneck for the scalability of this technology.
In order to seek alternatives to solve the scarcity of resources, the option of migrating the original machine learning configuration in which there is a central server that receives and stores all data from edge devices and builds a model has been studied. A federated architecture, known as distributed machine learning, performs the distribution of decision making, in a way that does not require the sharing of user data, instead, it shares its learning model and receives trained local models and aggregates them.
However, this proposal still finds some relevant points that should be considered limiting. Thus, this project aims to show a case study of a form of optimization in the selection of users who will participate in the model training, in order to avoid unnecessary processing expenses and to verify if this proposed way is capable of bringing dif erences that are significant for applications of federated learning on IoT devices.
Resumo: Cada vez mais dispositivos eletrônicos têm se tornado mais conectados e inteligentes, gerando uma grande quantidade de dados. Com isso, o Aprendizado Federado possibilita explorar esse grande banco de dados distribuído de forma inteligente e mantendo a privacidade dos dados, já que eles não precisam sair do dispositivo que os gerou, ao contrário do que geralmente ocorre nas técnicas de aprendizado de máquina tradicionais. Neste trabalho, é proposta a utilização de um modelo de Aprendizado Federado Hierárquico visando diminuir problemas de comunicação existentes no Aprendizado Federado Tradicional. Primeiramente, descrevemos a implementação de um framework para possibilitar criar essa rede hierárquica e posteriormente mostramos os resultados iniciais de testes de desempenho realizados no modelo proposto comparados ao tradicional.
Resumo: Com o crescimento e popularizaçãoo da internet nas últimas décadas, viu-se a necessidade de criação de tecnologias que permitissem que a obtenção de conteudo de forma rápida e com boa qualidade, independente da localidade do acesso ou hospedagem do contudo. Para atingir tais objetivos, começaram a ser implementadas redes especializadas na entrega de conteúdo online, conhecidas como redes de distribuição de conteúdo, ou CDNs. Este trabalho tem como objetivo analisar o comportamento e desempenho de uma CDN, e o impacto dela em sistemas em nuvem que precisam ser acessados de diversas regiões distintas. Para esta análise, realizamos testes com arquivos hospedados em múltiplas regiões e monitoramos o tempo de rede necessário para obter esses arquivos diretamente e então comparamos este resultados com os obtidos ao acessá-los através da CDN. Com base nesses resultados, determinamos que a CDN pode apresentar um pequeno overhead quando o acesso e o arquivo encontram-se na mesma regiãoo, mas em compensação quando os arquivos estão hospedados em uma região diferente da região de acesso, a CDN provê um ganho em tempo de acesso significativo.
Instituto de Computação ::
Universidade Estadual de Campinas
Av. Albert Einstein, 1251 - Cidade Universitária Zeferino Vaz • 13083-852 Campinas, SP - Brasil • Fone: [19] 3521-5838 |