

Yolox é uma versão sem âncora do YOLO, com um design mais simples, mas melhor desempenho! O objetivo é preencher a lacuna entre pesquisas e comunidades industriais. Para mais detalhes, consulte nosso relatório sobre o ARXIV.
Este repositório é uma implementação da versão Pytorch Yolox, também há uma implementação de megengine.

| Modelo | tamanho | mapa val 0,5: 0,95 | teste de mapa 0,5: 0,95 | VELOCIDADE V100 (EM) | Params (M) | Flops (G) | pesos |
|---|---|---|---|---|---|---|---|
| Yolox-S | 640 | 40.5 | 40.5 | 9.8 | 9.0 | 26.8 | Github |
| Yolox-m | 640 | 46.9 | 47.2 | 12.3 | 25.3 | 73.8 | Github |
| Yolox-l | 640 | 49.7 | 50.1 | 14.5 | 54.2 | 155.6 | Github |
| Yolox-x | 640 | 51.1 | 51.5 | 17.3 | 99.1 | 281.9 | Github |
| Yolox-DarkNet53 | 640 | 47.7 | 48.0 | 11.1 | 63.7 | 185.3 | Github |
| Modelo | tamanho | teste de mapa 0,5: 0,95 | VELOCIDADE V100 (EM) | Params (M) | Flops (G) | pesos |
|---|---|---|---|---|---|---|
| Yolox-S | 640 | 39.6 | 9.8 | 9.0 | 26.8 | OneDrive/Github |
| Yolox-m | 640 | 46.4 | 12.3 | 25.3 | 73.8 | OneDrive/Github |
| Yolox-l | 640 | 50.0 | 14.5 | 54.2 | 155.6 | OneDrive/Github |
| Yolox-x | 640 | 51.2 | 17.3 | 99.1 | 281.9 | OneDrive/Github |
| Yolox-DarkNet53 | 640 | 47.4 | 11.1 | 63.7 | 185.3 | OneDrive/Github |
| Modelo | tamanho | mapa val 0,5: 0,95 | Params (M) | Flops (G) | pesos |
|---|---|---|---|---|---|
| Yolox-nano | 416 | 25.8 | 0,91 | 1.08 | Github |
| Yolox Tiny | 416 | 32.8 | 5.06 | 6.45 | Github |
| Modelo | tamanho | mapa val 0,5: 0,95 | Params (M) | Flops (G) | pesos |
|---|---|---|---|---|---|
| Yolox-nano | 416 | 25.3 | 0,91 | 1.08 | Github |
| Yolox Tiny | 416 | 32.8 | 5.06 | 6.45 | Github |
Etapa1. Instale o Yolox da fonte.
git clone [email protected]:Megvii-BaseDetection/YOLOX.git
cd YOLOX
pip3 install -v -e . # or python3 setup.py developEtapa1. Faça o download de um modelo pré -traido na tabela de referência.
Etapa2. Use -n ou -f para especificar a configuração do seu detector. Por exemplo:
python tools/demo.py image -n yolox-s -c /path/to/your/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]ou
python tools/demo.py image -f exps/default/yolox_s.py -c /path/to/your/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]Demo para vídeo:
python tools/demo.py video -n yolox-s -c /path/to/your/yolox_s.pth --path /path/to/your/video --conf 0.25 --nms 0.45 --tsize 640 --save_result --device [cpu/gpu]Etapa1. Prepare o conjunto de dados Coco
cd < YOLOX_HOME >
ln -s /path/to/your/COCO ./datasets/COCOEtapa2. Reproduza nossos resultados em Coco especificando -n:
python -m yolox.tools.train -n yolox-s -d 8 -b 64 --fp16 -o [--cache]
yolox-m
yolox-l
yolox-xAo usar -f, os comandos acima são equivalentes a:
python -m yolox.tools.train -f exps/default/yolox_s.py -d 8 -b 64 --fp16 -o [--cache]
exps/default/yolox_m.py
exps/default/yolox_l.py
exps/default/yolox_x.pyTreinamento de várias máquinas
Também apoiamos o treinamento com vários nó. Basta adicionar os seguintes args:
Suponha que você queira treinar Yolox em 2 máquinas, e o IP de sua mestre é 123.123.123.123, use a porta 12312 e o TCP.
Na máquina mestre, execute
python tools/train.py -n yolox-s -b 128 --dist-url tcp://123.123.123.123:12312 --num_machines 2 --machine_rank 0Na segunda máquina, execute
python tools/train.py -n yolox-s -b 128 --dist-url tcp://123.123.123.123:12312 --num_machines 2 --machine_rank 1Registro de pesos e preconceitos
Para registrar métricas, previsões e pontos de verificação do modelo para usar o argumento da linha de comando --logger wandb e use o prefixo "wandb-" para especificar argumentos para inicializar a execução do wandb.
python tools/train.py -n yolox-s -d 8 -b 64 --fp16 -o [--cache] --logger wandb wandb-project < project name >
yolox-m
yolox-l
yolox-xUm exemplo de painel wandb está disponível aqui
Outros
Veja mais informações com o seguinte comando:
python -m yolox.tools.train --helpApoiamos testes em lote para avaliação rápida:
python -m yolox.tools.eval -n yolox-s -c yolox_s.pth -b 64 -d 8 --conf 0.001 [--fp16] [--fuse]
yolox-m
yolox-l
yolox-xPara reproduzir o teste de velocidade, usamos o seguinte comando:
python -m yolox.tools.eval -n yolox-s -c yolox_s.pth -b 1 -d 1 --conf 0.001 --fp16 --fuse
yolox-m
yolox-l
yolox-xSe você usar o Yolox em sua pesquisa, cite nosso trabalho usando a seguinte entrada do Bibtex:
@article{yolox2021,
title={YOLOX: Exceeding YOLO Series in 2021},
author={Ge, Zheng and Liu, Songtao and Wang, Feng and Li, Zeming and Sun, Jian},
journal={arXiv preprint arXiv:2107.08430},
year={2021}
}Sem a orientação do Dr. Jian Sun, Yolox não teria sido divulgado e de origem aberta para a comunidade. A morte do Dr. Sun é uma enorme perda para o campo de visão computacional. Adicionamos esta seção aqui para expressar nossa lembrança e condolências ao nosso Capitão Dr. Sun. Espera -se que todo praticante de IA do mundo cumpra a crença da "inovação contínua para expandir os limites cognitivos e a tecnologia extraordinária para alcançar o valor do produto" e avançar o tempo todo.
