Mono AI
conda create -n {env_name} python=3.10.12
conda activate {env_name}
(env_name) conda install -c conda-forge tqdm opencv -y
(env_name) conda install pyyaml
CUDA_VISIBLE_DEVICES={gpu} python train_backbone.py # ํ์ฌ ๋ฏธ์ง์
CUDA_VISIBLE_DEVICES={gpu} python train_model.py --config {config_path}
- --config {config_path}: ํ์ตํ ๋คํธ์ํฌ ๊ด๋ จ ์ค์ ํ์ผ(.yaml) ๊ฒฝ๋ก
์์
CUDA_VISIBLE_DEVICES='0' python train_model.py # 1 GPU Training
CUDA_VISIBLE_DEVICES='0,1' python train_model.py # 2 GPU Training
powershell ๊ด๋ฆฌ์ ๊ถํ ์คํ
wsl --install # ๊ฐ์๋จธ์ ํ๋ซํผ ์ค์น
์ค์น ํ ๋ฆฌ๋ถํธ
microsoft store์์ ์ํ๋ ubuntu ์ค์น (ํ์ฌ ๊ธฐ๋ณธ 22.04)
wsl ๋ก ubuntu ์คํ
# Ubuntu ์ค์น๋ ์ฌ๊ธฐ์๋ถํฐ ํด๋ ๋ฌด๋ฐฉ
sudo apt update && sudo apt upgrade -y
sudo apt-get install ca-certificates curl gnupg lsb-release -y
# docker ์ ์ฅ์ ์ถ๊ฐ
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# docker ์ค์น
sudo apt-get update -y
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
sudo service docker start
docker build --tag mfast .
docker run -it --rm --gpus='"device=0,1,2"' -v {M-fast ๊ฒฝ๋ก}:/M-fast -v {๋ฐ์ดํฐ์
๊ฒฝ๋ก}:/dataset --shm-size=8g --network host mfast
python train_backbone.py # ํ์ฌ ๋ฏธ์ง์
python train_model.py --config {config_path}
- --config {config_path}: ํ์ตํ ๋คํธ์ํฌ ๊ด๋ จ ์ค์ ํ์ผ(.json) ๊ฒฝ๋ก
์ฌ์ฉํ๋ GPU: ํ๊ฒฝ ์คํ์ ์ค์ ํ GPU
- Vgg16
- MobileNet-V1
- MobileNet-V2
- MobileNet-V3
- ImageNet
- OpenImagesV7
- PASS
Backbone | Method | Dataset | Top-1 | Top-5 |
---|---|---|---|---|
Vgg16 | Classification | ImageNet | - | - |
MobileNet-V1 | Classification | ImageNet | - | - |
MobileNet-V2 | Classification | ImageNet | - | - |
MobileNet-V3 | Classification | ImageNet | - | - |
Backbone | Method | Dataset | Top-1 | Top-5 |
---|---|---|---|---|
Vgg16 | MOCO | OpenImagesV7 | - | - |
MobileNet-V1 | MOCO | OpenImagesV7 | - | - |
MobileNet-V2 | MOCO | OpenImagesV7 | - | - |
MobileNet-V3 | MOCO | OpenImagesV7 | - | - |
Backbone | Method | Dataset | Top-1 | Top-5 |
---|---|---|---|---|
Vgg16 | MOCO | PASS | - | - |
MobileNet-V1 | MOCO | PASS | - | - |
MobileNet-V2 | MOCO | PASS | - | - |
MobileNet-V3 | MOCO | PASS | - | - |
- YoloV1 (You Only Look Once, CVPR 2016)
- SSD (Single Shot MultiBox Detector, ECCV 2016)
- vgg16, mobilenet-v1, mobilenet-v2, mobilenet-v3
- YOLO9000 (YOLO9000: Better, Faster, Stronger, CVPR 2017)
- CenterNet (Objects as Points, CVPR 2019)
- VOC2007+2012 (PASCAL VOC, 20 classes)
- COCO2017 (Common Objects in Context, 80 classes)
- Crowd Human (Crowd Human, 2 class)
- Argoseye (Argoseye, 1 class)
- ์ผ๋ฐ์ ์ผ๋ก mAP๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ฉ๋๋ค.
- APsmall : 32x32 ์ดํ์ ์์ ๊ฐ์ฒด, IOU 0.5:0.95
- APmedium: 32x32 ์ด์, 96x96 ์ดํ์ ๊ฐ์ฒด, IOU 0.5:0.95
- APlarge : 96x96 ์ด์์ ํฐ ๊ฐ์ฒด, IOU 0.5:0.95
- ์ด๋ฏธ์ง ์ ๋ ฅ ํฌ๊ธฐ๊ฐ ๋ค์ํ ์ํฉ์์ ์ ํ๊ฐ์งํ๋ ์ ์ ํ์ง ์์ผ๋ฏ๋ก, ๋ค์๊ณผ ๊ฐ์ด ์ ์ฉ๋๋ค.
- APsmall : bounding box์ ๋์ด๊ฐ (1/6)2 ์ดํ์ธ ๊ฐ์ฒด
- APmedium: bounding box์ ๋์ด๊ฐ (1/6)2 ์ด์, (1/3)2 ์ดํ์ธ ๊ฐ์ฒด
- APlarge : bounding box์ ๋์ด๊ฐ (1/3)2 ์ด์์ธ ๊ฐ์ฒด
- ๊ทธ๋ฆฌ๊ณ IoU threshold๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ฉ๋๋ค.
- APsmall : 0.5
- APmedium: 0.6
- APlarge : 0.7
- ํ๊ฐ๋ฅผ ์ํด 11 point, 101 point, all point ๊ณ์ฐ ๋ฐฉ๋ฒ์ ์ง์ํ์ง๋ง, COCO์์ ์ฌ์ฉํ 101 point ๊ณ์ฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
- VOC ๋ฐ์ดํฐ์ ์ ๊ฒฝ์ฐ Occlusion ๋ฑ์ ์ด์ ๋ก Difficultyํ ๊ฐ์ฒด๋ mAP ๊ณ์ฐ์์ ์ ์ธํ์ง๋ง, ํฌํจํ์ฌ ๊ณ์ฐ๋์๋ค.
Model | Backbone | Params | Flops | pretrained | AP0.5:0.95 | AP50 | AP75 | APsmall | APmidium | APlarge |
---|---|---|---|---|---|---|---|---|---|---|
YoloV1 | - | - | - | - | - | - | - | - | - | - |
SSD | VGG16 | 42.7M | 37.5G | Imagenet | - | - | - | - | - | - |
SSD | Mobilenet-V1 | - | - | Imagenet | - | - | - | - | - | - |
SSD | Mobilenet-V2 | 16.69M | 2.25G | Imagenet | - | - | - | - | - | - |
SSD | Mobilenet-V3 | - | - | Imagenet | - | - | - | - | - | - |
Model | Backbone | Params | Flops | pretrained | AP0.5:0.95 | AP50 | AP75 | APsmall | APmidium | APlarge |
---|---|---|---|---|---|---|---|---|---|---|
YoloV1 | - | - | - | - | - | - | - | - | - | - |
SSD | VGG16 | 42.7M | 37.5G | Imagenet | - | - | - | - | - | - |
SSD | Mobilenet-V1 | - | - | Imagenet | - | - | - | - | - | - |
SSD | Mobilenet-V2 | 16.69M | 2.25G | Imagenet | - | - | - | - | - | - |
SSD | Mobilenet-V3 | - | - | Imagenet | - | - | - | - | - | - |
Model | Backbone | Params | Flops | pretrained | AP0.5:0.95 | AP50 | AP75 | APsmall | APmidium | APlarge |
---|---|---|---|---|---|---|---|---|---|---|
YoloV1 | - | - | - | - | - | - | - | - | - | - |
SSD | VGG16 | 42.7M | 37.5G | Imagenet | - | - | - | - | - | - |
SSD | Mobilenet-V1 | - | - | Imagenet | - | - | - | - | - | - |
SSD | Mobilenet-V2 | 16.69M | 2.25G | Imagenet | - | - | - | - | - | - |
SSD | Mobilenet-V3 | - | - | Imagenet | - | - | - | - | - | - |