Este é o código do papel
Avaliação de redes neurais profundas para sistemas de detecção de sinais de trânsito
Álvaro Arcos-García, Juan Antonio Álvarez-García, Luis M. Soria-Morillo
O artigo aborda o problema de detecção de sinais de trânsito analisando o estado da arte de vários sistemas de detecção de objetos (Faster R-CNN, R-FCN, SSD e YOLO V2) combinados com vários extratores de recursos (Resnet V1 50, Resnet V1 101, Inception V2, Inception Resnet V2, Mobilenet V1 e Darknet-19). Nosso objetivo é explorar as propriedades desses modelos de detecção de objetos que são modificados e especificamente adaptados ao domínio do problema de detecção de sinais de trânsito por meio de aprendizagem por transferência. Em particular, vários modelos de detecção de objetos disponíveis publicamente que foram pré-treinados no conjunto de dados Microsoft COCO são ajustados no conjunto de dados German Traffic Sign Detection Benchmark. A avaliação e comparação desses modelos incluem métricas importantes, como precisão média média (mAP), alocação de memória, tempo de execução, número de operações de ponto flutuante, número de parâmetros do modelo e efeito do tamanho das imagens dos sinais de trânsito.
Nós fornecemos:
Se você achar este código útil em sua pesquisa, cite:
"Evaluation of deep neural networks for traffic sign detection systems."
Álvaro Arcos-García, Juan A. Álvarez-García, Luis M. Soria-Morillo. Neurocomputing 316 (2018) 332-344.
[link][bibtex]
Este projeto é implementado em Tensorflow e é baseado em dois repositórios: Tensorflow Object Detection API e darkflow.
Você pode baixar TFRecords do conjunto de dados GTSDB do Google Drive. Descompacte-o na pasta gtsdb_data
. Você pode baixar modelos pré-treinados do Google Drive. Descompacte-os na pasta de models
.
Nossas descobertas mostram que o Faster R-CNN Inception Resnet V2 obtém o melhor mAP, enquanto o R-FCN Resnet 101 atinge o melhor compromisso entre precisão e tempo de execução. O YOLO V2 e o SSD Mobilenet merecem uma menção especial, pois o primeiro alcança resultados de precisão competitivos e é o segundo detector mais rápido, enquanto o último é o modelo mais rápido e leve em termos de consumo de memória, tornando-o uma escolha ideal para implantação em dispositivos móveis e embarcados.
modelo | mapa | parâmetros | fracassos | memória_mb | total_exec_millis | acelerador_exec_millis | cpu_exec_millis |
---|---|---|---|---|---|---|---|
Resnet 50 R-CNN mais rápido | 91,52 | 43337242 | 533575386662 | 5256.454615 | 104.0363553 | 75.93395395 | 28.10240132 |
Resnet 101 R-CNN mais rápido | 95.08 | 62381593 | 625779295782 | 6134.705805 | 123.2729175 | 90.33714433 | 32.9357732 |
Início R-CNN V2 mais rápido | 90,62 | 12891249 | 120621363525 | 2175.206857 | 58.53338971 | 38.76813971 | 19.76525 |
Resnet V2 de início R-CNN mais rápido | 95,77 | 59412281 | 1837544257834 | 18250.446008 | 442.2206796 | 366.1586796 | 76062 |
R-FCN Resnet 101 | 95,15 | 64594585 | 269898731281 | 3509.75153 | 85.45207971 | 52.40321739 | 33.04886232 |
Rede móvel SSD | 61,64 | 5572809 | 2300721483 | 94.696119 | 15.14525 | 4.021267857 | 11.12398214 |
Iniciação SSD V2 | 66,10 | 13474849 | 7594247747 | 284.512918 | 23.74428378 | 9.393405405 | 14.35087838 |
YOLO V2 | 78,83 | 50588958 | 62780021160 | 1318.108256 | 21.4810122 | 18.13923171 | 3.341780488 |
modelo | pequeno | médio | grande |
---|---|---|---|
Resnet 50 R-CNN mais rápido | 53,57 | 86,95 | 86,72 |
Resnet 101 R-CNN mais rápido | 70,89 | 94,17 | 88,87 |
Início R-CNN V2 mais rápido | 56,72 | 81.02 | 88,53 |
Resnet V2 de início R-CNN mais rápido | 68,60 | 86,62 | 82,10 |
R-FCN Resnet 101 | 60,37 | 82.03 | 79,56 |
Rede móvel SSD | 22.13 | 55,32 | 82.06 |
Iniciação SSD V2 | 26,85 | 64,71 | 78,76 |
YOLO V2 | 42,93 | 78,99 | 75,67 |
Fornecemos um Jupyter Notebook com instruções para executar nossos modelos pré-treinados em novas imagens.
Os arquivos de configuração necessários para treinar nossos modelos estão incluídos em cada arquivo zip que você pode baixar na seção de modelos pré-treinados. Mudanças mínimas foram feitas no código-fonte base do tensorflow e darkflow, então você poderá reproduzir nossos resultados usando as últimas versões dos repositórios mencionados. Por exemplo, para treinar um modelo SDD Mobilenet você pode executar as seguintes linhas de comando:
cd ~ /tensorflow/models/research
python3 object_detection/train.py --logtostderr --pipeline_config_path models/ssd_mobilenet_v1/ssd_mobilenet_v1_gtsdb3.config --train_dir models/ssd_mobilenet_v1/train/
Fornecemos um Jupyter Notebook com instruções para avaliar os resultados obtidos por nossos modelos pré-treinados.
O código-fonte deste projeto é baseado principalmente na API Tensorflow Object Detection e darkflow.