1000 resultados para Algoritmo evolucionário
Resumo:
Neste trabalho serão apresentados e discutidos vários aspectos relacionados com células de combustível, com particular enfoque na modelação de células de combustível de membrana de permuta protónica. Este trabalho está dividido em vários capítulos. No Capítunlo 1 são apresentadas as motivações e os objectivos da tese. No Capítulo 2 serão apresentadas as células de combustível em geral, a sua origem, os diversos tipos, o que as diferencia das restantes tecnologias de geração de energia e as suas vantagens e desvantagens. No Capítulo 3 discute-se a modelação de células de combustível. Serão expostos e explicados os diferentes tipos de modelos, seguindo-se uma apresentação do modelo selecionado para estudo, com referência aos fundamentos teóricos exposição detalhada da fórmulação matemática e os parâmetros que caracterizam o modelo. É também apresentado a implementação do modelo em Matlab/Simulink. No Capítulo 4 será discutida e apresentada a abordagem utilizada para a identificação dos parâmetros do modelo da célula de combustível. Propõe-se e prova-se que uma abordagem baseada num algoritmo de optimização inteligente proporciona um método eficaz e preciso para a identificação dos parâmetros. Esta abordagem requer a existência de alguns dados experimentais que são também apresentados. O algoritmo utilizado designa-se por Optimização por Enxame de Partículas – Particle Swarm Optimization (PSO). São apresentados os seus fundamentos, características, implementação em Matlab/Simulink e a estratégia de optimização, isto é, a configuração do algoritmo, a definição da função objectivo e limites de variação dos parâmetros. São apresentados os resultados do processo de optimização, resultados adicionais de validação do modelo, uma análise de robustez do conjunto óptimo de parâmetros e uma análise de sensibilidade dos mesmos. O trabalho termina apresentando, no último capítulo, algumas conclusões, das quais se destacam: - O bom desempenho do algoritmo PSO para a identificação dos parâmetros do modelo da célula de combsutível; - Uma robustez interessante do algoritmo PSO, no sentido em que, para várias execuções do método resultam valores do parâmetros e da função objectivo com variabilidade bastante reduzidas; - Um bom modelo da célula de combustível, que quando caracterizado pelo conjunto óptimo de parâmetros, apresenta, sistematicamente, erros relativos médios inferiores a 2,5% para um conjunto alargado de condições de funcionamento.
Resumo:
A geração de trajectórias de robôs em tempo real é uma tarefa muito complexa, não
existindo ainda um algoritmo que a permita resolver de forma eficaz. De facto, há
controladores eficientes para trajectórias previamente definidas, todavia, a adaptação a
variações imprevisíveis, como sendo terrenos irregulares ou obstáculos, constitui ainda um
problema em aberto na geração de trajectórias em tempo real de robôs.
Neste trabalho apresentam-se modelos de geradores centrais de padrões de locomoção
(CPGs), inspirados na biologia, que geram os ritmos locomotores num robô quadrúpede.
Os CPGs são modelados matematicamente por sistemas acoplados de células (ou
neurónios), sendo a dinâmica de cada célula dada por um sistema de equações diferenciais
ordinárias não lineares. Assume-se que as trajectórias dos robôs são constituídas por esta
parte rítmica e por uma parte discreta. A parte discreta pode ser embebida na parte rítmica,
(a.1) como um offset ou (a.2) adicionada às expressões rítmicas, ou (b) pode ser calculada
independentemente e adicionada exactamente antes do envio dos sinais para as articulações
do robô. A parte discreta permite inserir no passo locomotor uma perturbação, que poderá
estar associada à locomoção em terrenos irregulares ou à existência de obstáculos na
trajectória do robô. Para se proceder á análise do sistema com parte discreta, será variado o
parâmetro g. O parâmetro g, presente nas equações da parte discreta, representa o offset do
sinal após a inclusão da parte discreta.
Revê-se a teoria de bifurcação e simetria que permite a classificação das soluções
periódicas produzidas pelos modelos de CPGs com passos locomotores quadrúpedes. Nas
simulações numéricas, usam-se as equações de Morris-Lecar e o oscilador de Hopf como
modelos da dinâmica interna de cada célula para a parte rítmica. A parte discreta é
modelada por um sistema inspirado no modelo VITE. Medem-se a amplitude e a
frequência de dois passos locomotores para variação do parâmetro g, no intervalo [-5;5].
Consideram-se duas formas distintas de incluir a parte discreta na parte rítmica: (a) como
um (a.1) offset ou (a.2) somada nas expressões que modelam a parte rítmica, e (b) somada
ao sinal da parte rítmica antes de ser enviado às articulações do robô. No caso (a.1),
considerando o oscilador de Hopf como dinâmica interna das células, verifica-se que a amplitude e frequência se mantêm constantes para -5
Resumo:
Esta tese descreve o desenvolvimento do hardware e do software de um sistema com a capacidade de reconhecer o número de passos que uma pessoa efectua durante uma actividade física. O sistema consiste num acelerómetro controlado por um microcontrolador, que comunica com um dispositivo móvel através de Bluetooth. De modo a realizar o sistema foi necessário analisar uma vasta bibliografia, para conhecer o estado da arte desta tecnologia, entender o princípio de funcionamento do protocolo Bluetooth e os conceitos biomecânicos por detrás da marcha humana. A proposta deste trabalho apresentava como elemento diferenciador do estado da arte o uso de um acelerómetro em conjunto com sensores de pressão. Com a conjugação destes sensores pretendia-se aumentar a precisão de um equipamento que normalmente não é reconhecido por essa característica. Contudo, a indisponibilidade dos sensores de pressão levou a que o sistema só fosse constituído pelo acelerómetro. Embora, o sistema foi projectado considerando que os sensores de pressão serão incluídos num futuro desenvolvimento. Neste trabalho foram desenvolvidos dois algoritmos para detectar os passos que uma pessoa executa, com pé onde é colocado o sensor, quando caminha ou corre. Num dos testes realizados o algoritmo da “aceleração composta” detectou 84% dos passos, enquanto o algoritmo da “aceleração simples”detectou 99%. A plataforma para a interface gráfica pretendia-se que fosse um telemóvel, contudo não foi possível obter um telemóvel que suporta-se o perfil SPP (Serial Port Profile), necessário para a comunicação com o módulo Bluetooth usado. A solução passou por usar como plataforma um computador portátil com Bluetooth, para o qual foi desenvolvido a aplicação “Pedómetro ISEP” em Visual Basic. O “Pedómetro ISEP” apresenta várias funcionalidades, entre elas destaca-se o cálculo da distância percorrida, da velocidade, e das calorias consumidas, bem como, o registo desses valores em tabelas e da possibilidade de desenhar os gráficos representativos do progresso do utilizador.
Resumo:
A instalação de sistemas de videovigilância, no interior ou exterior, em locais como aeroportos, centros comerciais, escritórios, edifícios estatais, bases militares ou casas privadas tem o intuito de auxiliar na tarefa de monitorização do local contra eventuais intrusos. Com estes sistemas é possível realizar a detecção e o seguimento das pessoas que se encontram no ambiente local, tornando a monitorização mais eficiente. Neste contexto, as imagens típicas (imagem natural e imagem infravermelha) são utilizadas para extrair informação dos objectos detectados e que irão ser seguidos. Contudo, as imagens convencionais são afectadas por condições ambientais adversas como o nível de luminosidade existente no local (luzes muito fortes ou escuridão total), a presença de chuva, de nevoeiro ou de fumo que dificultam a tarefa de monitorização das pessoas. Deste modo, tornou‐se necessário realizar estudos e apresentar soluções que aumentem a eficácia dos sistemas de videovigilância quando sujeitos a condições ambientais adversas, ou seja, em ambientes não controlados, sendo uma das soluções a utilização de imagens termográficas nos sistemas de videovigilância. Neste documento são apresentadas algumas das características das câmaras e imagens termográficas, assim como uma caracterização de cenários de vigilância. Em seguida, são apresentados resultados provenientes de um algoritmo que permite realizar a segmentação de pessoas utilizando imagens termográficas. O maior foco desta dissertação foi na análise dos modelos de descrição (Histograma de Cor, HOG, SIFT, SURF) para determinar o desempenho dos modelos em três casos: distinguir entre uma pessoa e um carro; distinguir entre duas pessoas distintas e determinar que é a mesma pessoa ao longo de uma sequência. De uma forma sucinta pretendeu‐se, com este estudo, contribuir para uma melhoria dos algoritmos de detecção e seguimento de objectos em sequências de vídeo de imagens termográficas. No final, através de uma análise dos resultados provenientes dos modelos de descrição, serão retiradas conclusões que servirão de indicação sobre qual o modelo que melhor permite discriminar entre objectos nas imagens termográficas.
Resumo:
Dissertação para obtenção do grau de Mestre em Engenharia Electrotécnica Ramo de Automação e Electrónica Industrial
Resumo:
Com a evolução da Internet houve uma consequente transformação da forma como os resultados são apresentados e das técnicas de visualização e apresentação de conteúdos. A presente dissertação é sobre visualização com nuvens de tags e foi a conjugação de diversos factores que originou a investigação sobre este tema. Uma nuvem de tags (em inglês: tag clouds) é uma concepção visual de um conjunto de tags isoladas com uma representação ilustrativa da sua importância, ou seja visualmente hierarquizadas e em que cada tag se hiperliga a um ou mais sítios Web ou documentos. São extremamente úteis para a navegação ou para a descoberta de informação genérica, podendo requerer menor carga cognitiva do utilizador durante consultas e pesquisas se alguns aspectos forem considerados na sua construção. Nesta dissertação discutem-se alguns dos factores visuais que podem contribuir para que as nuvens de tags sejam ferramentas efectivas e intuitivas para os utilizadores. O conceito de folksonomia está relacionado com nuvens de tags, permitindo categorizar as definições atribuídas a conteúdos recorrendo a palavras-chave (tags). Neste documento são ainda exploradas as suas vantagens e desvantagens. Discutem-se ainda alguns modos de visualização e apresentação de nuvens de tags, desde o tipo de ordenação ao algoritmo de geração da nuvem de tags. Aborda-se ainda o impacto do tipo de fonte e a utilização de cores monocromáticas ou coloridas que estas possam ter na visualização da nuvem. A própria tag também é categorizada e explorada ao nível do seu posicionamento na nuvem e a percepção que causa no utilizador. Sobre a visualização de nuvens de tags, refere-se ainda que as conclusões obtidas foram utilizadas num repositório de objectos educativos.
Resumo:
Introdução Actualmente, as mensagens electrónicas são consideradas um importante meio de comunicação. As mensagens electrónicas – vulgarmente conhecidas como emails – são utilizadas fácil e frequentemente para enviar e receber o mais variado tipo de informação. O seu uso tem diversos fins gerando diariamente um grande número de mensagens e, consequentemente um enorme volume de informação. Este grande volume de informação requer uma constante manipulação das mensagens de forma a manter o conjunto organizado. Tipicamente esta manipulação consiste em organizar as mensagens numa taxonomia. A taxonomia adoptada reflecte os interesses e as preferências particulares do utilizador. Motivação A organização manual de emails é uma actividade morosa e que consome tempo. A optimização deste processo através da implementação de um método automático, tende a melhorar a satisfação do utilizador. Cada vez mais existe a necessidade de encontrar novas soluções para a manipulação de conteúdo digital poupando esforços e custos ao utilizador; esta necessidade, concretamente no âmbito da manipulação de emails, motivou a realização deste trabalho. Hipótese O objectivo principal deste projecto consiste em permitir a organização ad-hoc de emails com um esforço reduzido por parte do utilizador. A metodologia proposta visa organizar os emails num conjunto de categorias, disjuntas, que reflectem as preferências do utilizador. A principal finalidade deste processo é produzir uma organização onde as mensagens sejam classificadas em classes apropriadas requerendo o mínimo número esforço possível por parte do utilizador. Para alcançar os objectivos estipulados, este projecto recorre a técnicas de mineração de texto, em especial categorização automática de texto, e aprendizagem activa. Para reduzir a necessidade de inquirir o utilizador – para etiquetar exemplos de acordo com as categorias desejadas – foi utilizado o algoritmo d-confidence. Processo de organização automática de emails O processo de organizar automaticamente emails é desenvolvido em três fases distintas: indexação, classificação e avaliação. Na primeira fase, fase de indexação, os emails passam por um processo transformativo de limpeza que visa essencialmente gerar uma representação dos emails adequada ao processamento automático. A segunda fase é a fase de classificação. Esta fase recorre ao conjunto de dados resultantes da fase anterior para produzir um modelo de classificação, aplicando-o posteriormente a novos emails. Partindo de uma matriz onde são representados emails, termos e os seus respectivos pesos, e um conjunto de exemplos classificados manualmente, um classificador é gerado a partir de um processo de aprendizagem. O classificador obtido é então aplicado ao conjunto de emails e a classificação de todos os emails é alcançada. O processo de classificação é feito com base num classificador de máquinas de vectores de suporte recorrendo ao algoritmo de aprendizagem activa d-confidence. O algoritmo d-confidence tem como objectivo propor ao utilizador os exemplos mais significativos para etiquetagem. Ao identificar os emails com informação mais relevante para o processo de aprendizagem, diminui-se o número de iterações e consequentemente o esforço exigido por parte dos utilizadores. A terceira e última fase é a fase de avaliação. Nesta fase a performance do processo de classificação e a eficiência do algoritmo d-confidence são avaliadas. O método de avaliação adoptado é o método de validação cruzada denominado 10-fold cross validation. Conclusões O processo de organização automática de emails foi desenvolvido com sucesso, a performance do classificador gerado e do algoritmo d-confidence foi relativamente boa. Em média as categorias apresentam taxas de erro relativamente baixas, a não ser as classes mais genéricas. O esforço exigido pelo utilizador foi reduzido, já que com a utilização do algoritmo d-confidence obteve-se uma taxa de erro próxima do valor final, mesmo com um número de casos etiquetados abaixo daquele que é requerido por um método supervisionado. É importante salientar, que além do processo automático de organização de emails, este projecto foi uma excelente oportunidade para adquirir conhecimento consistente sobre mineração de texto e sobre os processos de classificação automática e recuperação de informação. O estudo de áreas tão interessantes despertou novos interesses que consistem em verdadeiros desafios futuros.
Resumo:
Os sistemas de recomendação têm vindo a ser cada vez mais utilizados nos últimos anos. Por isso, é imprescindível que estes sistemas se adaptem à evolução da sociedade incluindo cada vez mais novas funcionalidades, tais como a adaptação do sistema ao contexto da pessoa. Esta adaptação pode ser feita através de, por exemplo, dispositivos móveis, que têm vindo a apresentar uma taxa de crescimento de vendas muito grande. Dada a crescente integração dos sistemas de recomendação com os sistemas móveis, foi elaborado um estudo sobre o estado da arte dos sistemas de auxílio ao turista que utilizam dispositivos móveis, sendo apresentadas as suas vantagens e desvantagens. Estes sistemas móveis de auxílio a turistas foram divididos em dois grupos: os que apresentam apenas a informação sobre pontos de interesse e os sistemas que são capazes de efectuar recomendações, com base no perfil do turista. Um breve estudo sobre os sistemas operativos para dispositivos móveis é apresentado, sendo especialmente focado o sistema operativo Android que foi o escolhido para esta implementação. Como os dispositivos móveis, actualmente, ainda possuem várias limitações, estas foram descritas e apresentadas as boas práticas no desenvolvimento de aplicações para este tipo de sistemas. É também apresentado um estudo que visa descobrir qual é o método mais leve e mais rápido para trocar dados entre a parte servidora e a parte móvel. Com a parte introdutória apresentada, é exposto o projecto desenvolvido nesta tese, o PSiS Mobile. Este sistema é um módulo que faz parte do projecto PSiS e pretende trazer todas as vantagens dos sistemas móveis para o sistema base já implementado. O projecto PSiS foca-se no estabelecimento de planos de visita personalizados com indicação de percursos para turistas com tempo limitado. Apoiando a definição de planos de visitas de acordo com o perfil do turista (interesses, valores pessoais, desejos, restrições, deficiências, etc.) combinando os produtos de turismo mais adequados (locais de interesse, eventos, restaurantes, etc.) em itinerários eficientes. A utilização de dispositivos móveis para acompanhamento da visita permite uma rápida interacção entre o turista e o sistema. Assim, o PSiS poderá recolher informação contextual do utilizador para que o perfil do mesmo seja enriquecido. O sistema apresentado é composto por duas partes: a parte cliente e a parte servidora. Toda a informação, como por exemplo o perfil do turista, histórico de viagens e valores de similaridade entre utilizadores está presente na parte servidora. O processo de recomendação também é efectuado pela aplicação servidora, sendo esta a responsável pela atribuição de uma classificação aos pontos de interesse tendo em conta o perfil do utilizador em causa. A base de dados do PSiS possui toda a informação relativa aos pontos de interesse numa determinada cidade ou região e o portfólio completo do histórico de visitas de cada utilizador. A componente móvel é uma parte muito importante para o sistema, pois interage com o utilizador no terreno. Um dispositivo móvel como o PDA, não só permite a apresentação de informação relevante ao utilizador, como também permite a recolha automática de informação contextual (por exemplo, a localização). Toda esta informação contribui para a definição de um perfil completo e para uma melhor adaptação do sistema às necessidades do utilizador. De forma a nem sempre estar dependente do servidor, a aplicação móvel possui rotinas para a realização de recomendações básicas. Ou seja, a aplicação móvel não realiza a classificação dos pontos de interesse, mas apenas mostra os principais resultados já formados pela parte servidora. Por exemplo, se um utilizador gostar de comida Chinesa, um restaurante Chinês nas imediações irá ter uma boa classificação e, por isso, ser recomendado. A aplicação móvel mostra ao turista o percurso definido para o dia em que o mesmo se encontra, sendo feito o rastreio do trajecto que o mesmo efectua. Assim, o sistema consegue saber se o horário do planeamento está a ser cumprido ou não. Caso não esteja, é invocado um algoritmo de planeamento que irá tentar corrigir o atraso ou o adiantamento perante o horário inicial. Depois de visitar um ponto de interesse, é pedido ao utilizador para fornecer feedback sobre o mesmo. Se desejado também é possível mostrar os pontos de interesse existentes perto do turista (usando as coordenadas GPS obtidas pelo dispositivo móvel) organizados por categorias, raio de distância, etc. Apesar dos dispositivos móveis possuírem várias restrições, pretendeu-se proporcionar ao utilizador uma boa experiência, através de uma aplicação rápida, de fácil utilização e adaptável, incluindo funcionalidades de planeamento, realidade aumentada e integração com a rede social do sistema. Todos estes factores contribuem para a disponibilização de informação detalhada ao turista.
Resumo:
This thesis presents the Fuzzy Monte Carlo Model for Transmission Power Systems Reliability based studies (FMC-TRel) methodology, which is based on statistical failure and repair data of the transmission power system components and uses fuzzyprobabilistic modeling for system component outage parameters. Using statistical records allows developing the fuzzy membership functions of system component outage parameters. The proposed hybrid method of fuzzy set and Monte Carlo simulation based on the fuzzy-probabilistic models allows catching both randomness and fuzziness of component outage parameters. A network contingency analysis to identify any overloading or voltage violation in the network is performed once obtained the system states. This is followed by a remedial action algorithm, based on Optimal Power Flow, to reschedule generations and alleviate constraint violations and, at the same time, to avoid any load curtailment, if possible, or, otherwise, to minimize the total load curtailment, for the states identified by the contingency analysis. For the system states that cause load curtailment, an optimization approach is applied to reduce the probability of occurrence of these states while minimizing the costs to achieve that reduction. This methodology is of most importance for supporting the transmission system operator decision making, namely in the identification of critical components and in the planning of future investments in the transmission power system. A case study based on Reliability Test System (RTS) 1996 IEEE 24 Bus is presented to illustrate with detail the application of the proposed methodology.
Resumo:
Dissertação para obtenção do grau de Mestre em Engenharia Electrotécnica Ramo Automação e Electrónica Industrial
Resumo:
Os sistemas Computer-Aided Diagnosis (CAD) auxiliam a deteção e diferenciação de lesões benignas e malignas, aumentando a performance no diagnóstico do cancro da mama. As lesões da mama estão fortemente correlacionadas com a forma do contorno: lesões benignas apresentam contornos regulares, enquanto as lesões malignas tendem a apresentar contornos irregulares. Desta forma, a utilização de medidas quantitativas, como a dimensão fractal (DF), pode ajudar na caracterização dos contornos regulares ou irregulares de uma lesão. O principal objetivo deste estudo é verificar se a utilização concomitante de 2 (ou mais) medidas de DF – uma tradicionalmente utilizada, a qual foi designada por “DF de contorno”; outra proposta por nós, designada por “DF de área” – e ainda 3 medidas obtidas a partir destas, por operações de dilatação/erosão e por normalização de uma das medidas anteriores, melhoram a capacidade de caracterização de acordo com a escala BIRADS (Breast Imaging Reporting and Data System) e o tipo de lesão. As medidas de DF (DF contorno e DF área) foram calculadas através da aplicação do método box-counting, diretamente em imagens de lesões segmentadas e após a aplicação de um algoritmo de dilatação/erosão. A última medida baseia-se na diferença normalizada entre as duas medidas DF de área antes e após a aplicação do algoritmo de dilatação/erosão. Os resultados demonstram que a medida DF de contorno é uma ferramenta útil na diferenciação de lesões, de acordo com a escala BIRADS e o tipo de lesão; no entanto, em algumas situações, ocorrem alguns erros. O uso combinado desta medida com as quatro medidas propostas pode melhorar a classificação das lesões.
Resumo:
Os direitos de transmissão (Transmission Rigths – TRs) correspondem, na sua essência, a contratos que conferem aos seus proprietários o direito de transmitir energia eléctrica, por um determinado caminho, a um preço fixo. Na actualidade vive-se uma era de liberalização dos mercados de energia eléctrica nos quais, no caso concreto dos mercados de TRs, os diversos agentes podem ceder os TRs que possuem a outros agentes desde que cumpram certos requisitos impostos pelo sistema na figura do seu operador de sistema (Independent System Operator – ISO). Neste sentido, o ISO oferece, aos diversos agentes do mercado, algumas ferramentas que lhes permite transaccionar, sob sua orientação, os seus respectivos TRs fazendo-se cumprir todos os requisitos indispensáveis para o efeito. A mais popular dessas ferramentas, nos principais mercados energético da actualidade, é o leilão. Com o presente trabalho de dissertação é pretendido apresentar-se um modelo para a resolução do problema inerente a um leilão de TRs em ambiente de mercado, neste caso concreto de direitos de transmissão financeiros de energia eléctrica (Financial Transmission Rigths – FTRs). Neste sentido foi desenvolvido um simulador informático (SIM_AuctFTR) que implementa um modelo para este tipo de problemas. Este trabalho foi estruturado essencialmente em três etapas com objectivos inerentes. Assim, numa primeira fase da realização deste trabalho, foi realizado um estudo de diversos conceitos e metodologias inerentes ao problema de leilão de FTRs em ambiente de mercado, suportado por uma sólida base bibliográfica. A segunda fase tratou-se do desenvolvimento do algoritmo da aplicação computacional que solucione um problema de um leilão de FTRs. O SIM_AuctFTR foi desenvolvido sobre o pressuposto da maximização dos rendimentos financeiros provenientes da atribuição dos FTRs propostos a leilão, tendo estes últimos de coabitar no sistema respeitando as restrições técnicas a que este são inerentes, mesmo na eventualidade da ocorrência de contingências de nível ‘n-1’. Por último, numa terceira fase, partindo da aplicação desenvolvida, foram realizados 4 casos de estudos com outras tantas redes eléctricas de forma a testar a robustez da ferramenta desenvolvida.
Resumo:
Os sistemas de tempo real modernos geram, cada vez mais, cargas computacionais pesadas e dinâmicas, começando-se a tornar pouco expectável que sejam implementados em sistemas uniprocessador. Na verdade, a mudança de sistemas com um único processador para sistemas multi- processador pode ser vista, tanto no domínio geral, como no de sistemas embebidos, como uma forma eficiente, em termos energéticos, de melhorar a performance das aplicações. Simultaneamente, a proliferação das plataformas multi-processador transformaram a programação paralela num tópico de elevado interesse, levando o paralelismo dinâmico a ganhar rapidamente popularidade como um modelo de programação. A ideia, por detrás deste modelo, é encorajar os programadores a exporem todas as oportunidades de paralelismo através da simples indicação de potenciais regiões paralelas dentro das aplicações. Todas estas anotações são encaradas pelo sistema unicamente como sugestões, podendo estas serem ignoradas e substituídas, por construtores sequenciais equivalentes, pela própria linguagem. Assim, o modo como a computação é na realidade subdividida, e mapeada nos vários processadores, é da responsabilidade do compilador e do sistema computacional subjacente. Ao retirar este fardo do programador, a complexidade da programação é consideravelmente reduzida, o que normalmente se traduz num aumento de produtividade. Todavia, se o mecanismo de escalonamento subjacente não for simples e rápido, de modo a manter o overhead geral em níveis reduzidos, os benefícios da geração de um paralelismo com uma granularidade tão fina serão meramente hipotéticos. Nesta perspetiva de escalonamento, os algoritmos que empregam uma política de workstealing são cada vez mais populares, com uma eficiência comprovada em termos de tempo, espaço e necessidades de comunicação. Contudo, estes algoritmos não contemplam restrições temporais, nem outra qualquer forma de atribuição de prioridades às tarefas, o que impossibilita que sejam diretamente aplicados a sistemas de tempo real. Além disso, são tradicionalmente implementados no runtime da linguagem, criando assim um sistema de escalonamento com dois níveis, onde a previsibilidade, essencial a um sistema de tempo real, não pode ser assegurada. Nesta tese, é descrita a forma como a abordagem de work-stealing pode ser resenhada para cumprir os requisitos de tempo real, mantendo, ao mesmo tempo, os seus princípios fundamentais que tão bons resultados têm demonstrado. Muito resumidamente, a única fila de gestão de processos convencional (deque) é substituída por uma fila de deques, ordenada de forma crescente por prioridade das tarefas. De seguida, aplicamos por cima o conhecido algoritmo de escalonamento dinâmico G-EDF, misturamos as regras de ambos, e assim nasce a nossa proposta: o algoritmo de escalonamento RTWS. Tirando partido da modularidade oferecida pelo escalonador do Linux, o RTWS é adicionado como uma nova classe de escalonamento, de forma a avaliar na prática se o algoritmo proposto é viável, ou seja, se garante a eficiência e escalonabilidade desejadas. Modificar o núcleo do Linux é uma tarefa complicada, devido à complexidade das suas funções internas e às fortes interdependências entre os vários subsistemas. Não obstante, um dos objetivos desta tese era ter a certeza que o RTWS é mais do que um conceito interessante. Assim, uma parte significativa deste documento é dedicada à discussão sobre a implementação do RTWS e à exposição de situações problemáticas, muitas delas não consideradas em teoria, como é o caso do desfasamento entre vários mecanismo de sincronização. Os resultados experimentais mostram que o RTWS, em comparação com outro trabalho prático de escalonamento dinâmico de tarefas com restrições temporais, reduz significativamente o overhead de escalonamento através de um controlo de migrações, e mudanças de contexto, eficiente e escalável (pelo menos até 8 CPUs), ao mesmo tempo que alcança um bom balanceamento dinâmico da carga do sistema, até mesmo de uma forma não custosa. Contudo, durante a avaliação realizada foi detetada uma falha na implementação do RTWS, pela forma como facilmente desiste de roubar trabalho, o que origina períodos de inatividade, no CPU em questão, quando a utilização geral do sistema é baixa. Embora o trabalho realizado se tenha focado em manter o custo de escalonamento baixo e em alcançar boa localidade dos dados, a escalonabilidade do sistema nunca foi negligenciada. Na verdade, o algoritmo de escalonamento proposto provou ser bastante robusto, não falhando qualquer meta temporal nas experiências realizadas. Portanto, podemos afirmar que alguma inversão de prioridades, causada pela sub-política de roubo BAS, não compromete os objetivos de escalonabilidade, e até ajuda a reduzir a contenção nas estruturas de dados. Mesmo assim, o RTWS também suporta uma sub-política de roubo determinística: PAS. A avaliação experimental, porém, não ajudou a ter uma noção clara do impacto de uma e de outra. No entanto, de uma maneira geral, podemos concluir que o RTWS é uma solução promissora para um escalonamento eficiente de tarefas paralelas com restrições temporais.
Resumo:
A deteção e seguimento de pessoas tem uma grande variedade de aplicações em visão computacional. Embora tenha sido alvo de anos de investigação, continua a ser um tópico em aberto, e ainda hoje, um grande desafio a obtenção de uma abordagem que inclua simultaneamente exibilidade e precisão. O trabalho apresentado nesta dissertação desenvolve um caso de estudo sobre deteção e seguimento automático de faces humanas, em ambiente de sala de reuniões, concretizado num sistema flexível de baixo custo. O sistema proposto é baseado no sistema operativo GNU's Not Unix (GNU) linux, e é dividido em quatro etapas, a aquisição de vídeo, a deteção da face, o tracking e reorientação da posição da câmara. A aquisição consiste na captura de frames de vídeo das três câmaras Internet Protocol (IP) Sony SNC-RZ25P, instaladas na sala, através de uma rede Local Area Network (LAN) também ele já existente. Esta etapa fornece os frames de vídeo para processamento à detecção e tracking. A deteção usa o algoritmo proposto por Viola e Jones, para a identificação de objetos, baseando-se nas suas principais características, que permite efetuar a deteção de qualquer tipo de objeto (neste caso faces humanas) de uma forma genérica e em tempo real. As saídas da deteção, quando é identificado com sucesso uma face, são as coordenadas do posicionamento da face, no frame de vídeo. As coordenadas da face detetada são usadas pelo algoritmo de tracking, para a partir desse ponto seguir a face pelos frames de vídeo subsequentes. A etapa de tracking implementa o algoritmo Continuously Adaptive Mean-SHIFT (Camshift) que baseia o seu funcionamento na pesquisa num mapa de densidade de probabilidade, do seu valor máximo, através de iterações sucessivas. O retorno do algoritmo são as coordenadas da posição e orientação da face. Estas coordenadas permitem orientar o posicionamento da câmara de forma que a face esteja sempre o mais próximo possível do centro do campo de visão da câmara. Os resultados obtidos mostraram que o sistema de tracking proposto é capaz de reconhecer e seguir faces em movimento em sequências de frames de vídeo, mostrando adequabilidade para aplicação de monotorização em tempo real.
Resumo:
Com a evolução da tecnologia, os UAVs (unmanned aerial vehicles) são cada vez mais utilizados, não só em missões de risco para o ser Humano, mas também noutro tipo de missões, como é o caso de missões de inspeção, vigilância, busca e salvamento. Isto devese ao baixo custo das plataformas assim como à sua enorme fiabilidade e facilidade de operação. Esta dissertação surge da necessidade de aumentar a autonomia dos UAVs do projeto PITVANT (Projeto de Investigação e Tecnologia em Veículos Aéreos Não Tripulados), projeto de investigação colaborativa entre a AFA (Academia da Força Aérea) e a FEUP (Faculdade de Engenharia da Universidade do Porto), relativamente ao planeamento de trajetórias entre dois pontos no espaço, evitando os obstáculos que intersetem o caminho. Para executar o planeamento da trajetória mais curta entre dois pontos, foi implementado o algoritmo de pesquisa A*, por ser um algoritmo de pesquisa de soluções ótimas. A área de pesquisa é decomposta em células regulares e o centro das células são os nós de pesquisa do A*. O tamanho de cada célula é dependente da dinâmica de cada aeronave. Para que as aeronaves não colidam com os obstáculos, foi desenvolvido um método numérico baseado em relações trigonométricas para criar uma margem de segurança em torno de cada obstáculo. Estas margens de segurança são configuráveis, sendo o seu valor por defeito igual ao raio mínimo de curvatura da aeronave à velocidade de cruzeiro. De forma a avaliar a sua escalabilidade, o algoritmo foi avaliado com diferentes números de obstáculos. As métricas utilizadas para avaliação do algoritmo foram o tempo de computação do mesmo e o comprimento do trajeto obtido. Foi ainda comparado o desempenho do algoritmo desenvolvido com um algoritmo já implementado, do tipo fast marching.