This project contains Pytorch-based object detection for open world.
We purpose to identify and characterize unknown instances to assist relieveing confusion within an incremental object detection framework.
We provide GUI on the web page for convenience of using our methods.
run app.py
and access the guided web page.
If you want to match your settings with our development environment, refer the requirements.txt
.
- If you want to use real-time Open world object detection by webcam, press
Start Webcam
.
- If you want to create new label to the unknown label, upload unkown label.
- and fill in the new label name, press
Download YAML
. - The label of new name must be ENGLISH only.
-
If you want to train new model, press
TRAIN 시작
. -
Press
Unknown Label Upload
andDownload YAML
first if you train new model with unknown image. -
Once train is terminated, required to restart app.
-
Depending on the user's environment some settings should be modifed appropriately:
- The unknown config and config in flask_detect.py
- The similarconf in app.py
/openset_object_detection
├── data
├── templates
├── utils
├── app.py
├── benchmarks.py
├── detect.py
├── export.py
├── hubconf.py
├── train.py
├── val.py
├── requirements.txt
├── setup.cfg
└── README.md
This project contains Pytorch-based domain adaptation for face recognition. We aim to solve two typical real-world face recognition problems: masked face recognition, and corrupted face recognition. To solve this challenging task, we use various domain adaptation methods (DANN, CDAN, BSP, etc).
We provide a basic command to train/test our method on the masked face recognition dataset (MFR1).
- To see each method's detailed configuration, please see
configs/
. - To see each dataset's specification, please see
docs/Evaluation.txt
.
- train
# checkpoint is saved into pretrained/DABase_IResNet/Unmasked+Synthetic_Masked_backbone.ckpt
python3 main.py fit --config=configs/corrupt/source_only.yaml -g '0,' --seed_everything 2021
- test
# modify model-init_args-backbone_init-pretrained_path to the trained checkpoint (configs/source_only.yamsl)
python3 main.py test --config=configs/corrupt/source_only.yaml -g '0,' --seed_everything 2021
category | value |
---|---|
model | iResNet50 |
epochs | 25 |
dropout | 0.1 |
image size | 112, 112 |
learning rate | 0.001 |
batch size | 32 |
optimizer | SGD (momentum=0.9, nesterov=True) |
# project structure under `/source_free_domdain_adaptation`
/source_free_domain_adaptation
├── LICENSE
├── README.md
├── config.yaml
├── configs
├── data
├── docs
├── main.py
├── save_backbone.py
├── src
└── tmuxp
# dataset structure under `/data` folder.
├── jpg
│ ├── MFR1
| | ├── Masked
| | ├── Synthetic
| | ├── Unmasked
| | ├── Unmasked+Synthetic
| | ├── dataset_info.txt
| | ├── pairs
| | ├── split.py
| | ├── split_class_dict.json
| | └── split_class_dict_info.txt
├── test
│ ├── MFR1
│ │ ├── Masked
│ │ ├── Unmasked
│ │ ├── m_m.bin
│ │ ├── m_m_split.bin
│ │ ├── u_m.bin
│ │ ├── u_m_split.bin
│ │ ├── u_u.bin
│ │ └── u_u_split.bin
we test this project on the following environments:
- ubuntu linux == 18.04
- python >= 3.7.5
- cuda >= 11.3
- pytorch >= 1.10.0