/unet_depth

Repositório para projeto de dissertação de estimativa de profundiade com redes neurais baseadas em U-Net

Primary LanguagePython

U-Net - Monocular images depth estimation

Repositório para implementação de projetos relacionados à dissertação do mestrado de computação aplicada.

Proposta

Comparar desempenho de modelos baseados em U-Net (U-Net original) e Transformers (TransUnet, AttentionUnet) com outras implementações para a tarefa de estimativa de profundidade.

Justificativas para criação de aplicação distribuída

  • Paralelismo: O treinamento do modelo pode levar várias horas ou dias, além disso há outras tarefas da dissertação além dos experimentos, por isso, executar o modelo localmente em diversas máquinas ou online (Kaggle, Google Colab, por exemplo) é algo fundamental para viabilizar o projeto
  • Recuperabilidade: O treinamento é demorado e pode ser interrompido por inúmeras causas (queda de luz, de rede, manutenção da máquina), perder horas de processamento é um problema grave, portanto, o estado do modelo deve ser salvo e recuperado
  • Produtividade: Uma vez populado a base de casos de teste, o sistema deve executar todos sem a necessidade de alterações manuais (salvo mudanças de configurações para adaptarem ao ambiente que estão executando)

Configurações para testar viabilidade do projeto

Modelo: U-Net (tradicional)

Modo de leitura: cv2.IMREAD_ANYDEPTH

done width height filters (min) filters (max)
  • 256 256 64 512
  • 256 256 64 1024
  • 512 512 64 512
  • 512 512 64 1024

    Modo de leitura: cv2.COLOR_BGR2GRA

    done width height filters (min) filters (max)
  • 256 256 64 512
  • 256 256 64 1024
  • 512 512 64 512
  • 512 512 64 1024

    Implementações

    Ambientes suportados

    • Google Colab
    • Kaggle
    • Local

    Features

    • Fixar seed para reprodutibilidade dos resultados
    • Salvar modelo a cada época
    • Salvar resultados a cada época
    • Gerar CSV com resultados após finalizar caso de teste
    • Continua execução inativa após algum tempo
    • Notebook para carregar modelo e exibir comparações na base de teste

    Métricas implementadas

    • Threshold (δ¹, δ², δ³)
    • Abs. Relative Difference
    • Squared Relative Difference
    • RMSE linear
    • RMSE log
    • log 10

    Arquitetura

    Para simplificar o entendimento do fluxo de execução da aplicação que gerencia a execução das etapas de treinamento, avaliação e teste, abaixo está os três primeiros níveis da modelagem C4.

    C4 - Nível 1

    C4 - Nível 2

    C4 - Nível 3