Monografias


[MCC2013-009] Agrupamento de imagens via redes neurais de Kohonen com base em regiões de interesse

Herond Robaina Salles, Annabell Tamariz(2013)

Quando imagens passaram a ser processadas e armazenadas computacionalmente, surgi-ram técnicas destinadas a agrupá-las, do mesmo modo como já ocorria com outros tipos de dados digitais, com objetivo de descobrir inter-relações entre os elementos através do grupo para qual eram classificados. Este trabalho apresenta uma técnica de classificaçãode imagens onde os grupos são definidos de acordo com formas presentes nas imagens e que não necessita da definição explı́cita da quantidade de classes a serem identificadas. Esta técnica se divide em quatro etapas, extração dos descritores, normalização, treinamento da rede de Kohonen e mapeamento das imagens. Na extração dos descritores cada imagem é binarizada utilizando o método de Otsu para obtenção do limiar global, em seguida é calculado para cada imagem binarizada os momentos invariantes de Hu, um conjunto de sete descritores que independem de rotação, translação ou escala. Na etapa da norma- lização os dados são ajustados para que valores pouco significativos e muito significativos não tenham pesos equivalentes no momento da classificação. Na etapa de treinamento uma rede neural de Kohonen é utilizada para fornecer um mapa auto organizável onde as imagens serão classificadas. Na ultima etapa, o mapeamento das imagens ocorre analisando a matriz de distâncias unificadas gerada pelas conexões da rede de Kohonen, com auxı́lio da transformada de watershed. Esta técnica apresentou, para o teste executado, 78% de precisão na classificação das imagens, além de ter executado todo o processo num tempo satisfatório.

Download em PDF

[MCC2013-012] Um método de classificação de dados utilizando programação linear

Renata Gomes Cordeiro, Fermín Tang(2013)

A programação linear possui aplicações em diversas áreas, o objetivo deste trabalho é explorar uma aplicação na computação. Um modelo de programação linear é utilizado no processo de classificação de dados, que consiste em: para um conjunto de dados com p padrões conhecidos, dado um vetor desse conjunto é possı́vel classificá-lo em um dos p padrões. O método de classificação possui a etapa de treinamento e teste. Na etapa de treinamento, cada padrão é representado por um conjunto de vetores que representam pontos no espaço n-dimensional. Para cada par de padrões resolve-se um modelo de programação linear capaz de gerar um hiperplano que separa os conjuntos de pontos dos dois padrões. Na etapa de teste, utilizando a estrutura de uma árvore binária de torneio e com base nos hiperplanos separadores um vetor é classificado em dos padrões separados pelos hiperplanos. Foram realizados experimentos com quatro conjuntos de dados: dı́gitos escritos manualmente, gestos de lı́ngua brasileira de sinais, espécies da planta Iris e expressões faciais. Obtiveram-se taxas de acerto de classificação variadas para os quatro conjuntos de dados. Através da classificação de dados é possı́vel realizar atividades de reconhecimento como por exemplo, reconhecer uma expressão facial através de uma imagem.

Download em PDF

[MCC2014-013] Classificação binária de padrões: Estudo comparativo entre modelos de Programação Matemática

Mayra Santana Siqueira, Fermín Tang(2014)

Este trabalho, intitulado Classificação binária de padrões: Estudo comparativo entre modelos de Programação Matemática, realiza um estudo comparativo entre modelos de Programação Matemática na classificação de dois conjuntos pontos n-dimensionais linearmente inseparáveis, utilizando cinco conjuntos de dados de aplicações reais. Os conjuntos de dados estudados são divididos em grupos de treinamento e de teste. Os modelos avaliados constroem um hiper- plano classificador com auxı́lio dos dados separados para treino. Através deste hiperplano os dados do grupo de teste são classificados. Os resultados consistem em verificar a taxa de acerto dos classificadores obtidos na fase de treinamento utilizando dos modelos estudados. Foram comparados os resultados de dois modelos de programação linear com os resultados de um modelo de programação não-linear com objetivo de verificar se o melhor ajuste dos classificadores não-lineares nos dados separa melhor os conjuntos que os classificadores lineares.

Download em PDF

[MCC2014-014] Reconhecimento de fala isolada em dispositivos móveis

Raphael Ferreira Ramos, Luis Rivera(2014)

A fala é a principal forma de comunicação dos seres humanos, quando falamos permitimos ao outro que conheça nossos pensamentos, sentimentos, necessidades e passamos a conhecer os sentimentos, pensamentos e necessidades do outro. Essa forma de comunicação humana ainda é um sonho se tratando de comunicação homem-máquina. O fator motivador para pesquisa nesta área foi a possibilidade de desenvolvimento de um sistema de reconhecimento de fala que não necessitasse de algum tipo de aprendizado para sua utilização, possibilitando que qualquer pessoa através da fala pudesse manipular o sistema, já que a fala é o meio de comunicação mais natural para o ser humano. Esse trabalho visa construir um jogo para descoberta de cores utilizando a voz para o seu reconhecimento, este sistema servirá como base para trabalhos futuros sobre reconhecimento de fala já que as técnicas mais tradicionais nesses sistemas foram aplicadas. O reconhecedor desenvolvido é aplicado ao reconhecimento de palavras isoladas com dependência de locutor que roda em dispositivos móveis com sistema operacional Android.

Download em PDF

[MCC2014-015] Heurı́stica Simulated Annealing aplicado a um problema de Job Shop Scheduling em um ambiente industrial

Tiago Carvalho da Costa, Fermín Tang(2014)

Um problema de Job Shop Scheduling é um problema clássico de otimização que consiste em organizar o processamento de certo número de tarefas em um certo número de máquinas, neste trabalho foi desenvolvido um algoritmo na linguagem Java para modelar uma estrutura de dados para o problema e buscar uma solução de boa qualidade utilizando a heurı́stica Simulated Annealing. Em uma siderurgia um importante setor na produção do aço é a aciaria, é o lugar onde o ferro-gusa (matéria-prima) é transformado em aço. Este ambiente possui diversos recursos, tais como, convertedores, fornos panelas, pontes, carros de transporte entre outros. De acordo com o tipo de aço a ser produzido, a sequência de recursos a ser utilizada, bem como os tempos de processamento de cada recurso podem variar. O objetivo deste trabalho é aprimorar o uso desses recursos, para isso é necessário planejar e controlar de maneira ótima todos os recursos envolvidos na produção. Neste trabalho é proposta uma solução utilizando um método heurı́stico para encontrar uma solução de boa qualidade. Este trabalho se limita a minimização do makespan, problemas de Scheduling são classificados com complexidade NP-Hard, o que implica em um alto esforço computacional mesmo para problemas considerados pequenos.

Download em PDF

[MCC2014-016] Modelagem de cloud computing para gerenciamento de recursos computacionais na UENF

Douglas Oliveira Camata, Annabell Tamariz(2014)

O objetivo deste trabalho é apresentar um estudo de caso de um ambiente de cloud computing, realizado na Universidade Estadual do Norte Fluminense (UENF), construı́do através do conjunto de ferramentas de código livre conhecido como OpenStack. Esta monografia apresenta um apanhado de problemas comuns em instituições públicas, de ensino e pesquisa com relação a gerencia de seus recuros computacionais, já identificados por diversos autores, alguns conceitos que servem de base para o cloud computing e como ele pode resolver estes problemas. Também é apresentado um resumo sobre a história do OpenStack, um relato sobre sua instalação, alguns problemas enfrentados e a interface final que é fornecida para os utilizadores desta cloud.

Download em PDF

[MCC2014-017] Detecção de Eventos com dados do Twitter

Augusto Zangrandi, Luis Rivera(2014)

Detecção de eventos consiste no processo de identificação de padrões de mudança relevantes em um sistema. O modelo implementa a detecção de eventos com dados das publicações criadas por usuários no serviço de rede social Twitter, serviço que tem recebido grande atenção acadêmica por sua alta popularidade e caracterı́stica de troca de informações em tempo real. O modelo utiliza, como exemplo de evento, manifestações que ocorrem no território brasileiro durante o mês de agosto de 2014. Primeiramente, são obtidas as publicações criadas no serviço através da sua interface para desenvolvedo- res. Posteriormente, as publicações são convertidas para o seu modelo de espaço vetorial, para que seus vetores de caracterı́sticas sejam extraı́dos e que os mesmos sejam utilizados para a fase de classificação com máquina de vetores de suporte. A classificação consiste na divisão das publicações obtidas em duas classes: positivas e negativas. Sendo positivas as que dizem respeito à uma manifestação real, com local e horário, e negativas as que somente mencionam manifestação mas não dizem respeito à um acontecimento real. Após classificadas, as publicações são agrupadas e exibidas em gráficos no formato de série-temporal e mapas de marcadores, aonde é possı́vel detectar, através da análise visual, tanto o horário dos eventos, através de picos que surgem nos gráficos, quanto a sua localização, através do seu aglomeramento em determinadas regiões do mapa.

Download em PDF

[MCC2014-018] Métodos heurı́sticos na resolução do Problema de Programação de Horários.

Ricardo Couto da Silveira, Fermín Tang(2014)

Um dos problemas que todas as instituições de ensino superior enfrentam no começo de cada perı́odo letivo é a geração de um quadro de horários que atenda os interesses da instituição, dos alunos e dos professores. O Problema de Programação de Horários (PPH) enfrentado pelos coordenadores das instituições de ensino superior, é um problema fre- quente encontrado na literatura cientı́fica e muitos métodos heurı́sticos foram propostos como alternativa de resolução desse problema. O presente trabalho tem como objetivo resolver o problema de programação de horários do curso de Ciência da Computação da Universidade Estadual do Norte Fluminense Darcy Ribeiro (UENF) através da implementação dos métodos heurı́sticos Construção Gulosa (CG) e Busca Local (BL) e dos métodos metaheurı́sticos Simulated Annealing (SA) e Busca Tabu (BT) na linguagem de programação C. Além disso, um protótipo de software com interface gráfica, para entrada de dados e visualização dos resultados obtidos, será desenvolvido na linguagem de programação Java. Assim uma ferramenta automatizada será criada e a geração de um quadro de horários alocando aulas e professores a dias e horários disponı́veis na semana será possı́vel de se realizar de maneira simples e em um curto espaço de tempo.

Download em PDF

[MCC2015-019] Sistema inteligente de reconhecimento de emergências clínicas para plataformas móveis

Maira Beatriz Hernandez Moran, Annabell Tamariz(2015)

Diariamente, as pessoas estão expostas aos riscos de diversas emergências médicas. Sabe-se que até mesmo as pessoas leigas podem ter um papel importante neste tipo de situação, espe- cialmente se não há ajuda médica especializada disponível. Reconhecer emergências médicas e aplicar corretamente os procedimentos de primeiros socorros e suporte básica à vida pode ajudar a reduzir drasticamente os riscos aos quais uma vítima está exposta nesse tipo de emergência. Entretanto, observa-se que apenas uma pequena parcela da população tem esse tipo de conhecimento. Para mudar esse cenário, deve-se fornecer acesso a população em geral a esse conhecimento, de forma simples e acessível. Assim surge a tendência do uso de aparelhos celulares como fonte de informações de saúde, através de aplicativos. Porém, a maior parte destas aplicações disponíveis no mercado apresentam limitações, seja em relação a confiabilidade, ou em relação a acesso. Por isso, optou-se por desenvolver e disponibilizar de forma gratuita um sistema para reconhecimento de emergências clínicas incluso em um aplicativo móvel, empregando técnicas de inferência bayesiana que garantem maior confiabilidade no diagnóstico dado. Neste trabalho é apresentado o estudo, modelagem e implementação desse sistema.

Download em PDF

[MCC2015-020] DojOn: Virtualizando o conceito do Coding Dojo para a Prática Colaborativa de Programação

Natalie Fernández del Real, Sahudy Montenegro González(2015)

Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. O objetivo é que os participantes aprendam e treinem de uma maneira divertida, através de uma metodologia pragmática, melhorando assim suas habilidades de programação e de trabalho em grupo. Adicionalmente, alunos dos cursos de computação e áreas afins são iniciados no processo de aprendizagem de programação com conceitos totalmente novos e uma lógica de raciocínio computacional diferente da comum. Com o intuito de facilitar e melhorar a aprendizagem de programação e o encontro de programadores para o compartilhamento de conhecimento, propõe-se a virtualização do conceito do Coding Dojo. Este trabalho tem como objetivo apresentar uma arquitetura e desenvolver o sistema DojOn (Dojo Online), uma aplicação Web para colaboração em tempo real entre programadores, levando em conta a filosofia do Coding Dojo. O projeto tem como missão o desenvolvimento de um ambiente virtual colaborativo, onde diferentes usuários poderiam se reunir para trabalhar em um mesmo problema. O ambiente foi implementado utilizando a IDE Cloud9 e é composto por: (1) um editor de texto; (2) compilador e/ou interpretador para várias linguagens de programação suportadas pela plataforma; (3) chat para a interação entre os usuários; (4) um gerenciador de tempo para satisfazer os requisitos do Coding Dojo; (5) um gerenciador de uso para controlar a fila de participantes de acordo com os requisitos do Coding Dojo; e (6) um repositório (Dojo Puzzles) de problemas, que devem ser solucionados com testes automatizados. Os três primeiros componentes foram integrados ao ambiente usando recursos, já disponíveis, do Cloud9. Os dois últimos foram criados a partir de três gerenciadores: de tempo, de uso e de problemas. Ao todo, o ambiente manipula quatro recursos: o timer, que controla o tempo de participação dos programadores; o problema a ser resolvido; o sinal que indica para os participantes a sua vez de programar; e o chat para interação entre os participantes. Além do protótipo do ambiente, este trabalho traz como resultado um estudo comparativo de dez ambientes afins, de desenvolvimento e/ou edição, que serviram como base para a concepção do DojOn.

Download em PDF

[MCC2015-021] Classificação de Padrões de Perfis de Usuários de Web Sites por Mineração de Uso

Rafael Barcellos Pessanha Crespo, Luis Rivera(2015)

Hoje em dia a quantidade de pessoas acessando a internet tem crescido cada vez mais, isso acontece por diversos motivos, entre eles a facilidade de acesso a computadores e a difusão dos dispositivos móveis com acesso a internet. A consequência do aumento do número de usuários é o crescimento do fluxo de dados na web, pois quanto mais pessoas acessam, mais dados são gerados. Como a quantidade de informações é extremamente grande, tornou-se inviável realizar o tratamento ou a análise delas de forma manual, então surgiu o conceito de mineração web, que visa extrair informações a respeito dos dados encontrados na web. Este trabalho visa, através do log de acesso de um site de exemplo, realizar todas as etapas do processo de Mineração de Uso da Web afim de obter resultados relevantes que sirvam como base para sugestões de possı́veis melhorias a serem aplicadas no site.

Download em PDF

[MCC2015-022] O modelo de serviço Multi-Tenancy aplicado a um caso de estudo na UENF

José Carlos Maciel Pinto Júnior, Annabell Tamariz(2015)

O objetivo deste trabalho é apresentar um referencial teórico sobre o tema Cloud Com- puting, focado na camada Software como Serviço, analisando as formas possı́veis de implementação e abordar o conceito de Multi-Tenancy, considerado base desta camada em nuvem. Além disso, realizar um estudo de caso na Universidade Estadual Norte Fluminense (UENF), desenvolvendo uma aplicação real de gestão de patrimônio, no moldes do tema apresentado, para demonstrar na prática os aspectos que envolvem a tecnologia.

Download em PDF

[MCC2016-023] Desenvolvimento de Jogos para Estimulação de Movimentação Utilizando o Sensor de Movimento

Vinı́cius Galiaço, Luis Rivera(2016)

Desenvolvimento de um jogo eletrônico que utiliza controle por captura de movimento com o objetivo de ajudar a diminuir o sedentarismo na infância e adolescência. Foi utilizado o sensor de movimentos Kinect para capturar os movimentos do jogador e transformá-los em comandos, utilizados pelo motor de jogos Unity para controlar o personagem do jogo. O jogo utilizado foi um exemplo simples de jogo de plataforma, e o personagem utilizou como base uma máquina de estados finita.

Download em PDF

[MCC2016-024] Integração de Modelos de Localização e Sistemas de Informação Geográfica: Uma aplicação do Problema de Máxima Cobertura em Campos dos Goytacazes

Ohana Paula Lopes, Fermín Tang(2016)

As decisões sobre a localização de facilidades configuram um ponto crítico no planejamento estratégico, por isso é crescente a aplicação das técnicas de otimização no processo de tomada de decisão. Os Sistemas de Informação Geográfica (SIG) se mostram fundamentais nesse processo, pois possuem diversos recursos úteis na captação, processamento e análise dos dados espaciais. Baseado nisto, este trabalho propõe a integração de um Sistema de Informação Geográfica e modelos de localização, incorporando técnicas de otimização à um SIG através da criação de um plugin. A ferramenta desenvolvida foi aplicada em um estudo de caso na cidade de Campos dos Goytacazes.

Download em PDF

[MCC2016-025] A metodologia Lean Startup para negócios digitais: Um estudo de caso

Rafael Motta de Carvalho, Annabell Tamariz(2016)

Esse trabalho apresenta uma aplicação dos conceitos do Lean Startup em um empreendimento de tecnologia chamado GoPages, que oferece uma solução para desenvolvimento de sites simples de forma automatizada, baseada em conteúdos públicos em redes sociais. Para que o estudo fosse viabilizado, o autor fez um levantamento das informações obtidas desde a idealização, passando pela construção do software em si, até o momento em que este tomou uma forma diferente da inicial, deixando de ser um produto oferecido aos clientes. Foram feitas análises do desenvolvimento do negócio com uma ótica do autor, que teve participação direta em sua elaboração utilizando-se dos conceitos de Lean Startup de forma não enviesada por este trabalho. O primeiro passo foi a etapa de descoberta do cliente, na qual o primeiro modelo do negócio foi definido pelos sócios. Seguido pelo levantamento de hipóteses e então a construção de um menor produto viável, que apresenta as principais propostas da empresa para o mercado. Esse produto foi planejado, construı́do e colocado à disposição de clientes reais, oferecendo à equipe aprendizados sobre as verdadeiras necessidades do mercado, mantendo um custo de operação extremamente baixo. O resultado apresentado é a análise detalhada da aplicação da metodologia, extraı́das de um modelo de negócios que teve hipóteses validadas e outras refutadas por intenções reais de compra e utilização do produto.

Download em PDF

[MCC2017-026] Estudo de caso sobre evolução de software usando metodologia ágil

Pedro Henrique Passalini Soares, Annabell Tamariz(2017)

Com o crescimento e popularização da web, cresce também a popularização do Software como Serviço. Esse tipo de software usa a web como plataforma, e por esse motivo, acaba gerando benefı́cios e facilidades para o cliente final e para a empresa responsável. Porem o desenvolvimento web também gera dificuldades para as empresas que entram nesse cenário. Elas vão enfrentar dificuldades que vão além da web não ter sido projetada como plataforma de software, sendo influenciadas diretamente pela incerteza gerada por hipóteses não testadas sobre seus produtos e a respeito do que os clientes precisam ou desejam. O objetivo deste trabalho é apresentar uma abordagem que além de lidar com o desenvolvimento de software usando a web como plataforma, também seja capaz de lidar com mudanças constantes, gerando custos menores em um ambiente de grande incerteza.

Download em PDF

[MCC2017-027] Gerenciamento de Tarefas no Processo de Desenvolvimento de Software usando um modelo de Alocação

João Avelino dos Santos Neto, Fermín Tang(2017)

Atualmente existe uma crescente demanda de estudo para obter métodos que auxiliem e otimizem o gerenciamento de tarefas no ambiente de projetos software. Tendo em vista que as ferramentas ágeis estão sendo cada vez mais utilizadas é necessário desenvolver um método que não altere a sua principal caracterı́stica, a flexibilidade. Para conseguir esse resultado foi feita uma combinação de um método de programação linear para designação de tarefas e a ferramenta ágil SCRUM. Este trabalho apresenta uma proposta que auxilia na gestão e designação de tarefas para conseguir otimizar o tempo na conclusão do projeto de software. Diante disso foi desenvolvido um sistema capaz de atribuir tarefas com o objetivo de minimizar o tempo de execução total do projeto e auxiliar o gerente de projetos a coordenar e avaliar a equipe de desenvolvimento.

Download em PDF