treinamento e teste de detecção de mm


Prefácio

Usado para registrar o treinamento de detecção de mm e testar seu próprio conjunto de dados (usando mask-rcnn). O conhecimento do código-fonte sobre mmdetection será adicionado posteriormente.


1. Use mmdetection para treinar e testar Mask-Rcnn

mmdetection é uma caixa de ferramentas de detecção de alvos de aprendizagem profunda baseada em Pytorch e de código aberto pela Shangtang Technology (2018COCO Target Detection Challenge Champion) e pela Universidade Chinesa de Hong Kong. Ela oferece suporte a várias estruturas de detecção de alvos, como Faster RCNN, Mask RCNN e RetinaNet. Código- fonte : código- fonte mmdetection
O branch master funciona com PyTorch 1.3 a 1.6. O branch v1.x antigo funciona com PyTorch 1.1 a 1.4

1. Conversão do conjunto de dados

A maioria dos arquivos de configuração que vêm com mmdetection estão no formato de conjunto de dados COCO por padrão. Ao usar, converta seus dados e rótulos em formato de dados coco. Se for uma anotação do tipo txt, primeiro converta-a para json e depois para coco (consulte o documento de segmentação de dente mask-rcnn para obter detalhes)

2. Prepare o arquivo de configuração

mmdetection / configs / contém os arquivos de configuração de vários modelos de rede. Copie os arquivos de modelo necessários, como maskr_rcnn_r50_fpn_1x.py, para uma nova pasta wyk_configs, modifique num_classes no dicionário de modelo e num_classes=3,#类别数+1modifique img_scale: no dicionário de dados img_scale=(540,960), #输入图像尺寸(train、val、test这三处都要修改). Copie uma cópia de mmdetection / mmdet / datasets / coco.py para wyk_configs e modifique as categorias em CLASSES.
Para modificações detalhadas, consulte a adição da descrição do link

3. Treinamento

python tools/train.py configs/faster_rcnn_r50_fpn_1x.py --gpus 1 --validate --work_dir work_dirs

Parâmetros opcionais:
–validate: avalia a cada k épocas, o padrão k é 1
–work-dir: o caminho para salvar os resultados do treinamento
–resume-from: se você interromper, pode usar este parâmetro para continuar o treinamento, como –resume -de work_dirs / lastest.pt

4. Teste

python tools/test.py ./configs/faster_rcnn_r50_fpn_1x.py ./work_dirs/cascade_rcnn_r50_c4_1x/latest.pth --eval mAP

./configs/faster_rcnn_r50_fpn_1x.py é o arquivo de configuração, ./work_dirs/cascade_rcnn_r50_c4_1x/latest.pth é o arquivo de modelo testado e –eval mAP é o método de avaliação

Dois, mmdetecção de conhecimento suplementar

O modelo de detecção de mm é composto principalmente das seguintes quatro partes:
①backbone: geralmente uma rede totalmente convolucional, como ResNet, para extrair o mapa de recursos
②neck: conectando o backbone e a parte da cabeça, como FPN
③head: usado para tarefas específicas, como predição bbox, maskyuce, Módulo etc.
④ Extrator de ROI: extração de um recurso do mapa de recursos, como ROI Align, RoIPooling etc.

Interpretação do código fonte

Acho que você gosta

Origin blog.csdn.net/qq_43173239/article/details/112979340
Recomendado
Clasificación