This is the source code of the project "Salient Object Detection " of the course "Computer Vision Vin" 2023.
Currently, existing image segmentation tasks mainly focus on segmenting objects with specific characteristics, e.g., salient, camouflaged, meticulous, or specific categories. Most of them have the same input/output formats, and barely use exclusive mechanisms designed for segmenting targets in their models, which means almost all tasks are dataset-dependent. Thus, it is very promising to formulate a category-agnostic DIS task for accurately segmenting objects with different structure complexities, regardless of their characteristics. Compared with semantic segmentation, the proposed DIS task usually focuses on images with single or a few targets, from which getting richer accurate details of each target is more feasible.
In this project, we will investigate the powerful of salient object detection in the real world by experimenting it over a various methods to see whether and how it works with DUTS dataset.
CVVin23/
├── DUTS-TR/ - dataset for training
| ├── image
│ ├── mask
├── DUTS-TE/ - dataset for testing
| ├── image
│ ├── mask
├── model/ - u2net, u2net-dp, isnet, isnet-dp
├── metric/
| ├── loss/ - loss for training
| ├── metric- metric for evaluation
|
├── train_GTEncoder/ -training ground trust encoder for
│
├── train/ - train u2net, u2net-dp, isnet, isnet-dp
|
├── evaluation/ - evaluate models.
|
├── data_loader/ - custom dataset and dataloader
│
├── saved/ - trained models config, log-dir and logging output
│
├── visualization/ - for visualize loss function in training data and testing data
|
├── utils/ - utility functions
Salient Object Detection | ||||
U2Net (PR'2020) | DIS (ECCV'2022) |
Install the required packages:
Running repository on Kaggle:
git clone https://your_personal_token@your_repo_address.git
cd CVVin23
Modify the configurations in .yaml
config files, then run:
python train_dis.py [MODEL] [RESUME] [DEVICE] [BATCH_SIZE] [EPOCHS]
You can resume from a previously saved checkpoint by:
python train_dis.py -resume path/to/the/ckpt
python evaluation.py