Identificação de Faces em Vídeo de Alta Resolução
Motivação: Mesmo trabalhos recentes (Spagnolo, Fanny & Perri, Stefania & Corsonello, Pasquale. (2020). Design of a real-time face detection architecture for heterogeneous systems-on-chips. Integration. 74. 10.1016/j.vlsi.2020.04.008.) trabalham com resoluções baixas, no caso, 320×240, comparada à resolução 1920×1080 de câmeras de vídeo de relativamente baixo custo. Câmeras com maior resolução tem a vantagem de captar uma cena maior para uma dada quantidade de pixels por objeto observado.
Objetivo: Implementar uma solução que capture vídeos em resolução full-HD (1920x1080@30fps) e que seja capaz de fazer a detecção de faces humanas on-line (streaming).
Características de desempenho: todas as imagens fornecidas pela câmera devem ser processadas e a energia consumida pelo processamento deve ser pequeno de forma a não se ter necessidade de resfriamento forçado (ventilador).
Algoritmo: Viola-Jones. O algoritmo Viola-Jones prevê o escalonamento da imagem por sub-amostragem, iniciando com a escala 1:1 (resolução 1920x1080), depois 1:1.2, 1:1.44,... até a imagem escalonada chegar ao tamanho de 1 janela. O algoritmo Viola-Jones usa classificadores que eliminam janelas da imagem que não são considerados faces. O conjunto inicial de janelas é composto por todos os quadrados de tamanho de 25x25 pixels que podem ser formados a partir da imagem escalonada a ser analisada, incluindo todas as janelas parcialmente sobrepostas. O algoritmo usa classificadores que eliminam janelas que não contém faces, até que, idealmente, só estiveram sobrando janelas contendo face. Os classificadores estão agrupados em 25 estágios.
Implementação de referência: Comaschi, F. (2012).Technische Universiteit Eindhoven. A implementação em FPGA está sendo feita de forma a identificar, nos imagens de teste, exatamente as mesmas 911 faces que a implementação da TU Eindhoven identifica, com uma tolerância de 1 pixel + 2% na posição e no tamanho. Não foi feito nenhum estudo quanto à taxa de acerto ou à taxa de erro da implementação da TU Eindhoven, nem planejamos fazer tal estudo no futuro.
Para facilitar o uso da implementação de referência no trabalho da depuração da implementação FPGA, foram feitas pequenas modificações no código.
Apresentação da plataforma usada
Implementação em FPGA: Até o momento temos implementado 9 escalas e 6 estágios.
Publicações:
Energy Consumption Measurement of a FPGA Full-HD Video Processing Platform
Errata: 74.25 MHz instead of 148.59 MHz
DPVSA 2020 (4th IEEE SPS/CASS Seasonal School on Digital Processing of Visual Signals and Applications) Poster e Video da apresentação
Monteiro, H.A., Brito, A.V.d. & Melcher, E.U.K. Image normalization in embedded systems. Journal of Real-Time Image Processing (2021). https://doi.org/10.1007/s11554-021-01098-8
Laboratório Remoto para Ensino
RISC-V
Contributor #7 emelcher
desde 16/9/21
PLCM Chip
Power Line Communication Modem IP-Core (PLCM) é um projeto desenvolvido desde 2012 pelo LAD no âmbito do programa federal Brazil-IP.
Objetivo: Desenvolver um IP-core que implemente as funcionalidades da camada física de um sistema de comunicação PLC (comunicação pela rede elétrica) em banda estreita.
Descrição: O IP-core implementará métodos de modulação e demodulação totalmente digitais, de modo que uma interface analógica mínima seja necessária para seu uso. Além disso, ele deverá lidar com os efeitos do ruído no canal, implementando esquemas de detecção e correção de erros. Como esquema de modulação, planeja-se utilizar o S-FSK, segundo especificado no padrão IEC 61334-5-1.
Aplicação: O IP-Core poderá ser usado como parte de um sistema inteligente de monitoramento de consumo energético ou de automação residencial. Nesse caso, poderia ser acionado por um processador que implemente as camadas mais altas do sistema de comunicação.
Fase atual do projeto: Desenvolvimento.
SPVR Chip
Notícias Relacionadas:
MPEG-4 Chip
Notícias Relacionadas:
DengueChip (Dengue é diagnosticada em questão de minutos)
http://criadigital.com.br/denguechip
eTBc (Easy TestBench Creator)
Visão Geral
BVM - Metodologia de Verificação Funcional para Brazil-IP
Descrição: BVM surgiu de VeriSC e é uma metodologia de verificação funcional, para circuitos digitais síncronos, através da comparação do DUV com seu modelo de referência, permitindo a criação do testbench antes mesmo da implementação do DUV de forma a facilitar a verificação do mesmo e dando ênfase à fase de verificação.
Objetivo: A metodologia se propõe a minimizar o tempo total de verificação e encontrar erros mais cedo, quando o DUV começa a ser implementado Além disso, essa metodologia propõe o reuso dos próprios elementos do testbench para criar os testbenches hierárquicos e para testar os próprios componentes do testbench e assegurar que eles não contenham erros.
Fase do Projeto: Em contínuo desenvolvimento.
PROBRAL
Em colaboração com o KIT e projeto visa a criação de um ambiente heterogêneo de simulação de sistemas.
Concluído.
USB sem NIOS
Descrição: Implementação de um processador dedicado para comunicação com dispositivos USB.
Objetivo: Prover comunicação com dispositivos USB conectadas à placa DE2 gastando menos do que 10% dos recursos do FPGA e sem utilizar memória externa ao FPGA.