Este projeto foi desenvolvido no âmbito da unidade curricular Engenharia de Software para Sistemas Inteligentes (ESSI) do Mestrado em Inteligência Artificial – Universidade do Minho.
O trabalho incide sobre a análise de requisitos e proposta arquitetural para a evolução da plataforma PictuRAS, originalmente focada no processamento de imagens, de forma a suportar processamento avançado de vídeo, mantendo retrocompatibilidade com as funcionalidades existentes.
- Analisar um sistema existente e respetivos requisitos
- Identificar stakeholders, objetivos e restrições
- Formular requisitos funcionais e não funcionais seguindo boas práticas
- Identificar drivers arquiteturais com base em atributos de qualidade
- Propor uma arquitetura de evolução para suporte a vídeo
- Garantir conformidade com RGPD, desempenho e segurança
O PictuRAS é uma aplicação SaaS de processamento multimédia baseada em pipelines, onde cada projeto define uma sequência de transformações aplicadas a imagens (e agora vídeos).
A extensão introduz:
- Processamento de vídeo frame-a-frame
- Pipelines reutilizáveis e versionadas
- Operações intensivas suportadas por infraestrutura escalável
- Aplicação de blur a todas as faces detetadas
- Eliminação automática dos vídeos originais
- Conformidade total com RGPD
- Troca de rostos por faces sintéticas
- Preservação de expressão, gaze e pose
- Exportação opcional para AWS S3
- União sequencial de múltiplos vídeos
- Aplicação automática de fade in/out
- Compressão do resultado final
Os requisitos foram:
- Atómicos, objetivos e mensuráveis
- Classificados segundo MoSCoW (Must / Should / Could)
- Alinhados com cenários e necessidades dos stakeholders
- Funcionais: pipelines, anonimização, concatenação, exportação
- Não Funcionais:
- Desempenho (latência máxima por operação)
- Segurança e privacidade
- Compatibilidade e retrocompatibilidade
- Qualidade dos algoritmos de IA (accuracy ≥ 95%)
A arquitetura proposta é guiada por três atributos de qualidade principais:
- Desempenho
- Separação de workers CPU (concatenação) e GPU (IA)
- Modificabilidade
- Modelo genérico e unificado de pipeline (imagem + vídeo)
- Segurança & Privacidade
- Secure by Design
- Controlo rigoroso de acessos (ACL)
- Eliminação automática de dados sensíveis
- API pública REST para integração externa
- Motor de orquestração de pipelines reutilizado
- Processamento assíncrono e escalável
- Armazenamento isolado por utilizador
- Políticas automáticas de lifecycle para dados sensíveis
- Relatório técnico completo:
- Stakeholders e objetivos
- Restrições (temporais, técnicas e de negócio)
- Requisitos funcionais e não funcionais
- Drivers arquiteturais
- Modelos UML (Domínio, Use Cases, Componentes)
- Proposta arquitetural detalhada
Projeto desenvolvido pelo grupo:
- Rodrigo Ferreira (pg60392)
- Tomás Melo (pg60018)
- Nuno Araújo (pg61218)
- Classificação final: 16/20 valores