�rea Cient�fica: Informática Industrial
Hardware Accelerated Real-Time Linux Video Anonymizer
Publicada a 2019-01-30
Aluno: Fábio Duarte Rodrigues Magalhães       N�mero: 75030       Email: fabiomagalhaes_14@hotmail.com
Data in�cio: 08/10/2018   

Orientador(es):
Nome: Jorge Miguel Nunes dos Santos Cabral
Email: jcabral@dei.uminho.pt   

Descri��o:

Os sistemas embebidos estão presentes atualmente numa variada gama de equipamentos do quotidiano. Desde TV-boxes, televisões, routers até ao indispensável telemóvel. Através de tecnologias de compilação do Linux partindo das fontes, vulgarmente designado de "Linux from scratch", é possível desenvolver uma distribuição customizada do Linux otimizada, de tamanho significativamente reduzido, e que responde de forma especifica a cada uma das restrições do sistema a desenvolver.

O Linux, com a sua filosofia de distribuição "one-size-fits-all" tornou-se

uma alternativa viável, fornecendo um vasto suporte de hardware, técnicas avançadas de depuração, suporte dos protocolos de comunicação de rede, entre outros serviços, que se tornaram no conjunto standard de requisitos observado na maioria dos sistemas embebidos atuais. Este sistema operativo torna-se apelativo, relativamente a outros SO de micro-kernel, pela filosofia open-source que disponibiliza ao utilizador um vasto conjunto de bibliotecas de software que possibilitam o desenvolvimento num determinado domínio com maior celeridade e facilidade. Com a utilização do Linux em sistemas embebidos abriu-se um leque de possibilidades, uma delas sendo o processamento de imagem, utilizando a biblioteca open-source OpenCV. O processamento de imagem está presente nas mais variadas tecnologias,

desde o sistema de foco de imagem no smartphone até ao sistema de deteção dos limites de faixa de rodagem de um smart car. A biblioteca OpenCV oferece suporte a dois algoritmos de classificação para deteção de objectos: Cascade Classifier e SVM Classifier. Estes são algoritmos que quando compilados para as plataformas de sistemas embebidos atuais, se tornam num esforço de processamento e de consumo de recursos, como o footprint de memória, que na maior parte dos casos supera em larga escala o conjunto de recursos disponíveis para a aplicação do sistema.

Por essa razão os sistemas fechados de vídeo existentes decompõem-se em

dois subsistemas, aquisição e processamento. O subsistema de aquisição, que pode ser uma camara IP, limita-se à aquisição de vídeo e transmissão ao subsistema de processamento, onde as frames são manipuladas para um fim específico. Esta implementação não garante a privacidade pois a manipulação das frames só ocorre no subsistema de processamento, sendo assim a transmissão das frames pode ser intercetada na sua forma original. Esta dissertação propõe-se por isso à criação de um sistema de anonimização de vídeo que adquire, processa e manipula as frames, com o intuito de anonimizar, garantindo o anonimato, mesmo na transmissão. A sua implementação, implementar técnicas de deteção suportadas pela biblioteca

OpenCV, e fazendo uso da combinação das tecnologias de aceleração por hardware: paralelização e execução em hardware especializado. É proposta então uma implementação restringida tanto temporalmente como no consumo de recursos ao nível do hardware e software.

 

 


Objectivos:

Para mitigar as restrições e os desafios impostos pela complexidade no sistema, este documento propõe implementar um sistema embebido baseado em Linux assistido por hardware, tendo como objetivos principais:

 

  • Executar um ciclo de análise nos diferentes pontos de operação do sistema,

recorrendo a ferramentas de profiling, e identificar cargas no processamento

assim como na utilização da memória. Este processo permite então identificar

que tarefas da aplicação deverão ser implementados em hardware dedicado.

  • Refactoring do software de modo a permitir a utilização do hardware implementado subjacente ao sistema. Desenvolvimento de uma abstração à

programação de alto-nível de modo a expressar no sistema as tarefas implementadas

em hardware.

  • Refactoring do kernel do Linux permitindo a parametrização das funcionalidades

do Sistema Operativo.

  • Proporcionar integração adequada e deployment das funcionalidades do Sistema

Operativo e da aplicação satisfazendo o determinismo e requisitos do

sistema.

 

 


Palavras chave:
Linux Embebido, OpenCV, Deteção de Objectos, FPGA, Aceleração por Hardware

Copyright © DEI Universidade do Minho - Todos os direitos reservados
Powered byNetmove