
A retinopatia diabética é uma das maiores causas de cegueira entre adultos. Visando adquirir maior eficiência no processamento e interpretação das imagens de exame de fundo de olho, aplicou-se técnicas de aprendizado profundo para diagnosticar pacientes que sofrem de retinopatia diabética. Além disso, os mapas de atenção foram utilizados para melhor compreensão a respeito dos pontos que o modelo leva em consideração no momento de identificação de características e classificação das imagens. Por fim, pretendia-se avaliar se existia algum impacto nos resultados ao utilizar datasets de distintas proveniências.
Este trabalho tem como intuito detectar similaridade entre países no que se refere ao conteúdo de vídeos assistidos na plataforma do YouTube. Os vídeos de interesse são da categoria Em Alta do YouTube, que se referem aos vídeos mais populares de um determinado dia. Estes dados foram tirados de um banco de dados disponibilizado na plataforma Kaggle. É previsto que países próximos tenham culturas similares, e que suas preferências de conteúdo estejam alinhadas. Nove países foram analisados neste estudo: Canadá, Estados Unidos, México, Grã-Bretanha, França, Alemanha, Índia, Rússia e Coreia do Sul. Cada vídeo no YouTube possui diversas informações atreladas a ele, como número de visualizações, números de usuários que gostaram do vídeo, número de usuários que não gostaram do vídeo, etc. Neste trabalho, analisamos as distribuições gerais de números de visualizações e likes para países, e agrupamos os países por estas distribuições, traçando perfis de comportamento geral dos vídeos. Em seguida, separamos vídeos por categorias de interesse, e analisamos como os países se assemelham para vídeos destas categorias
Relighting, and by consequence, inverse rendering, have been widely explored classes of problems in computer vision and computer graphics, but yet the methods used in recent literature remain divided and, for the most part, particular for a class of objects [1, 2, 3]. In this work, we explore and research relighting methods specific for human shapes in a three-dimensional setting, and take further steps to increase the realism of a motion transfer process, which is to synthesize new videos of people in a different context where they were initially recorded, taking into account 3D shape, appearance, and motion constraints. We start by taking a precomputed radiance transfer approach, which uses spherical harmonics lighting to relight the image of the human model which is going through a motion transfer process. Three approaches are used by the authors for relighting the human shape, namely, a two-dimensional image-domain renderer, a custom OpenGL renderer and a Blender script. Finally, we conclude that relighting in 3D from inferred spherical harmonics coefficients is a feasible task and we plan on exploring it further in the next months.
Neste trabalho foi realizado o desenvolvimento de métodos para solucionar o problema de Unsupervised Homogeneous Domain Adaptation que usavam o conceito de pseudo-labels e uma arquitetura de multi-task learning. O objetivo foi verificar se e possível realizar essa adaptação sem usar métricas complexas ou a ideia de confusão de domínio, como alguns métodos propostos na literatura fazem.
O sistema jurídico brasileiro e extremamente complexo. Possui centenas de milhares de leis e, apesar disso, e assumido que todos os cidadãos têm conhecimento delas. O auxilio de sistemas computacionais seria extremamente útil para lidar com a enorme quantidade de leis, normas, processos, decisões jurídicas e relacionados. Atualmente, tarefas de processamento de linguagem natural (PNL) dependem de uma boa representação das palavras (embeddings) para funcionar bem. A ideia desse trabalho e desenvolver um modelo de linguagem que consiga uma boa representação dos termos técnicos usados nos textos jurídicos para que esse modelo seja usado como base de sistemas de PNL que usem textos jurídico
Os jogos RTS (Real-Time Strategy games) possuem um ambiente dinâmico, informações parciais do oponente e do mapa. Além disso, requerem dos jogadores gerenciamento da economia e recursos, criação e movimentação de unidades, construção de edifícios, aprimoramento de tecnologias e controle de embates contra oponentes. Todas essas características geram dificuldades nas aplicações de técnicas de inteligência artificial, tais como o grande número de estados, tempo de raciocínio limitado, recompensas em longo prazo e conjunto de ações combinatórias. Para isso, foi criado um modelo baseado em aprendizado por reforço, que primeiramente considera a escolha de comportamentos em alto nível em vez de ações básicas e que trata cada unidade como um agente independente. Dessa forma, as unidades escolherão scripts para definir seu próprio comportamento e aprendem as consequências de suas escolhas independentemente das outras. Além do mais, apresentamos uma função de aproximação linear para generalizar o aprendizado para estados similares e uma forma de agregação de conhecimento para acelerar o aprendizado. A coordenação ocorre de forma implícita e devido a recompensas baseadas no desempenho da equipe.
Este trabalho se situa no contexto da exploração de ambientes seguindo a estratégia de exploração baseada em fronteiras, tendo como função expor um estudo acerca da relação entre a distância do robô para com a fronteira escolhida para ser explorada e a eficiência da exploração, traduzida como o tempo gasto e a distância percorrida durante tal tarefa.
O principal objetivo do presente trabalho é fazer uma análise dos algoritmos de detecção de anomalias, com o objetivo principal de identificar quais são os mais indicados para a tarefa de detecção de intrusão de redes. O trabalho é inspirado na terceira competição internacional de descoberta de conhecimento e ferramentas de mineração de dados de 1999, também conhecida como KDD-99 Cup (Knowledge Discovery and Data Mining Competition), em que os participantes deveriam criar modelos capazes de distinguir entre conexões maliciosas, chamadas de ataques, e conexões normais. Assim, este trabalho também tem o objetivo de comparar métodos utilizados há 20 anos, com algoritmos recentes, utilizando principalmente os resultados divulgados e as métricas de Precisão e Revocação. Os métodos analisados são algoritmos de mineração de dados popularmente utilizados na detecção de anomalias, isto é, a identificação de itens, observações ou eventos raros que levantam suspeitas por serem significativamente diferentes da maioria dos dados. Foram analisados neste trabalho 9 métodos: PCA (Principal Component Analysis), MCD (Minimum Covariance Determinant), OCSVM (One-Class Support Vector Machines), LOF (Local Outlier Factor), CBLOF ( Clustering-Based Local Outlier Factor), kNN (k Nearest Neighbors), HBOS (Histogram-based Outlier Score), IForest (Isolation Forest) e o XGBOD ( Extreme Boosting Based Outlier Detection ), todos presentes na biblioteca python PyOD.
A detecção de pessoas em vídeo ainda é um problema em aberto na literatura. Conciliar a detecção em tempo real com a acurácia e um dos principais desafios atualmente. Nesse trabalho, utilizamos resultados de estudos anteriores, que revelaram o algoritmo YOLO sendo aquele mais versátil e com o melhor custo benefício em acurácia e media de quadros por segundo, e tentaremos aprimorar as suas detecções focando apenas em pessoas e reestruturando toda a sua rede para deixá-lo mais leve afim de executá-lo em um sistema embarcado.
Este trabalho realiza um estudo abrangente da pratica commented-out code em diversos repositórios de software livre. Remover código através de comentários e uma má pratica de programação e pode causar problemas como diminuição da legibilidade, perda de produtividade, entre outros. No trabalho foi desenvolvida uma ferramenta baseada em redes neurais recorrentes (LSTM) para identificar entre as linhas de comentários quais delas são códigos removidos por comentário. E por fim verificamos que 50% dos maiores e mais bem avaliados repositórios de software tem ate 5,22% do total de comentários identificadas como commented-out code.
O principal objetivo dessa pesquisa é verificar a possibilidade de realizar interações entre blockchains públicas e blockchains privadas, que estão hospedadas em redes diferentes, com o objetivo de melhorar a robustez e adicionar mais vantagens a blockchain privada. Para alcançar esse objetivo na primeira etapa dessa pesquisa foi criada um protótipo de uma aplicação com a função de ser uma interface para a comunicação entre a rede de testes Ropsten, da Ethereum, e uma blockchain privada hospedada em uma rede local. Esse protótipo provou que é possível realizar essa comunicação, guardar dados simples e executar funções disponíveis em contratos, porém para isso ser possível foi preciso utilizar um serviço gratuito para realizar a conexão com a rede de testes. Dessa forma, a próxima etapa dessa pesquisa irá focar em melhorar o protótipo e desenvolver uma interação mais profunda entre as redes.
O projeto Jupyter nasceu como extensão ao IPython com intuito de prover ambiente de computação interativa para exposição de dados e computação científica. A ferramenta tem sido amplamente utilizada devido a facilidade de integração com bibliotecas para as mais específicas finalidades, como por exemplo big data, machine learning e visualização de dados. Por possuir código aberto, apresenta forte relacionamento com a comunidade e facilidade de integração.
Por outro lado, objetivando extrair melhor desempenho em persistência e manipulação de dados, os bancos de dados orientados a grafos surgiram em alternativa para os modelos relacionais tradicionais, quando o tipo de relacionamento entre as entidades é fundamental para o escopo em questão.
O objetivo do projeto é apresentar as formas de relacionar as duas ferramentas a fim de extrair as vantagens do uso de cada elemento envolvido. Para tanto, apresenta um aprofundamento no estudo de algumas implementações disponíveis no mercado e expõe para cada uma delas as formas de comunicação com o ambiente em questão.
Jogos de estratégia em tempo real são bastante desafiadores para o aprendizado por reforço devido aos seus grandes espaços de estados e ações. No entanto, existem varias estratégias que foram desenvolvidas com o objetivo de selecionar a melhor ação dado um estado. Neste trabalho, vamos avaliar o desempenho de um agente que realiza seu aprendizado sobre estas estratégias colocando ele para jogar contra adversários bem consolidados de microRTS.
Verificar a corretude de um software ou hardware tem sido de grande interesse para aplicações que precisam ser à prova de falhas. Sistemas de missão-crítica, quando apresentam alguma falha, podem causar perdas financeiras ou ter consequências fatais. Por isso, a aplicação de ferramentas de verificação de sistemas tem sido usada para desenvolver sistemas com alta garantia de sucesso. Uma ferramenta para escrever definições e demonstrações formais verificadas por máquina é o assistente de provas. Como parte final do meu Projeto Orientado em Computação, o assistente de provas Coq foi utilizado para demonstrar a corretude dos algoritmos dos algoritmos de ordenação por inserção e ordenação. Um algoritmo de ordenação está correto se sua saída é uma permutação da entrada e está ordenada. Esta definição foi escrita em Coq e foi aplicada nos algoritmos de ordenação citados para escrever suas demonstrações. O código das demonstrações encontra-se no apêndice deste trabalho. Apesar do Coq verificar se as demonstrações estão corretas, não é possível verificar por máquina se a especificação dos conceitos ou algoritmos estão corretos. Algumas novas táticas foram utilizadas em relação à primeira parte deste trabalho. É possível, por exemplo, criar novas táticas a partir das antigas. Uma possível continuação desse trabalho é a demonstração da corretude de outros algoritmos de ordenação.
Velocidade, confiabilidade, escalabilidade e segurança são requisitos desejáveis para o desenvolvimento e a distribuição de software nos dias atuais. A cultura DevOps e a arquitetura de microsserviços facilitam a implementação de alguns desses pontos de maneira mais fluıda. Contudo, e um desafio utilizar todo o poder que essas abordagens podem fornecer sem fazer uso extensivo de recursos, sejam esses de pessoal ou financeiro. Este trabalho tem como objetivo propor melhorias de processos para um projeto com arquitetura de microsserviços que possui uma equipe complexa e e completamente open source, visando a aceleração do fluxo de desenvolvimento e entrega. Deseja-se também propor melhorias técnicas para os diversos serviços que estruturam o projeto revisado.
Desenvolver e balancear inimigos é um processo custoso durante a criação de um jogo, então é interessante buscar maneiras de automatizar o processo. Foi implementado um gerador de inimigos para um vertical shooter usando algoritmos genéticos, para avaliar a performance desse tipo algoritmo na solução do problema. Inimigos gerados se adaptam a diferentes perfis de jogadores, mas o elevado tempo de convergência dificulta a aplicação da tecnologia em jogos comerciais.
O uso de Machine Learning no contexto da medicina traz diversas implicações a respeito da veracidade dos resultados dos modelos já que o impacto dos resultados e grande na vida das pessoas. Pensando nisso, este trabalho tem como objetivo aplicar métodos de interpretabilidade em modelos que façam a predição do grau de retinopatia diabética, uma doença ocular causada pela diabetes, em imagens de fundo de olho. Inicialmente, foi escolhido o algoritmo apresentado por [Voets et al. 2019] para ser o baseline do trabalho e o algoritmo foi rodado com o dataset público do Kaggle disponibilizado na competição de detecção de retinopatia do APTOS. Os resultados obtidos foram consideravelmente bons, pois foi obtido uma AUC de 0,96 enquanto o artigo apontou uma AUC de 0,95. Com estes resultados, ficou decidido que este modelo será usado como baseline deste trabalho e os próximos passos do mesmo e aplicar métodos de explicabilidade para entender quais as features nas imagens que o modelo leva em conta na hora de realizar as predições.
Com o advento da computação e suas tecnologias associadas, é possível, hoje, simular alguns processos de composição musical. Este artigo busca apresentar, descrever e explicar a aplicação “HarmoniMIDI”, desenvolvida para resolver o problema de harmonização de melodias. Esta aplicação segue o modelo matemático de Cadeias de Markov, que, segundo pesquisa realizada em um estudo prévio, se provou um dos modelos mais interessantes para aplicações que buscam resolver algum problema relacionado à composição algorítmica de música.