Este repositório contém o código para o artigo Método rápido e eficiente baseado em transformador para previsão de instância do Bird's Eye View por:
Miguel Antunes
Luis M. Bergasa
Santiago Montiel-Marín
Rafael Baréa
Fábio Sánchez-García
Anjo Llamazares
Altere o caminho nuscenes no makefile. Se WANDB KEY não estiver definido, o código irá solicitá-lo. Se não quiser criar ou usar sua conta, você pode fazer login anonimamente.
Baixe o conjunto de dados NuScenes do site oficial e extraia os arquivos em uma pasta com a seguinte estrutura:
nuscenos/ └──── tremval/ ├──── mapas/ ├──── amostras/ ├──── varreduras/ ├──── v1.0-trainval/ └──── v1.0-mini/
Configure o caminho para o conjunto de dados NuScenes no Makefile:
NUSCENES_PATH = /caminho/para/nuscenes
% Tabela com os modelos e seu desempenho
Modelo | VPQ curto | IoU curto | Parâmetros (M) | Latência (ms) | Ponto de verificação |
---|---|---|---|---|---|
Completo | 53,7 | 59,1 | 13h46 | 63 | 'Modelo completo confirmado' |
Pequeno | 52,3 | 57,5 | 7,42 | 60 | 'Modelo minúsculo confirmado' |
Crie a imagem do Docker com o seguinte comando:
fazer construir
Você pode configurar os seguintes parâmetros da imagem no Makefile:
IMAGE_NAME
: nome da imagem Docker gerada.
TAG_NAME
: Tag da imagem Docker gerada.
USER_NAME
: nome do usuário dentro do contêiner Docker.
Depois que a imagem for criada, você poderá executar o contêiner com o seguinte comando:
fazer correr
Este comando executará um bash dentro do contêiner e montará o diretório atual e o conjunto de dados dentro do contêiner.
Dentro do contêiner, você pode:
Avalie o modelo:
python val.py --checkpoint 'Caminho/para/model.ckpt' --dataset_root 'Caminho/para/nuscenes'
Visualize as previsões:
python prever.py --checkpoint 'Caminho/para/model.ckpt' --dataset_root 'Caminho/para/nuscenes' --save_path 'Caminho/para/salvar/previsões'
Treine o modelo:
Primeiro, você pode configurar alguns parâmetros de treinamento no arquivo prediction/configs/baseline.py
. Também fornecemos os arquivos de configuração de nossos modelos na mesma pasta.
Se quiser usar sua conta Wandb, você pode definir uma variável de ambiente WANDB_API_KEY com sua chave API.
O modelo pode ser treinado com o seguinte comando:
python train.py --config 'nome_config'
Onde config_name
é o nome do arquivo de configuração sem a extensão .py
em prediction/configs
. Novas configurações personalizadas também podem ser adicionadas a esta pasta.
Se você especificar um caminho de ponto de verificação em baseline.py
poderá:
Carregue os pesos de um modelo pré-treinado se LOAD_WEIGHTS estiver definido como True.
Continue o treinamento a partir de um ponto de verificação se CONTINUE_TRAINING também estiver definido como True, o que mantém os estados do otimizador e do agendador.
Se tiver alguma dúvida, não hesite em contactar-me em [email protected].