Skip to content

coangquang/CVVin23

Repository files navigation

Salient Object Detection for DUTS dataset

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.

Folder Structure

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

Model Zoo

Salient Object Detection
U2Net (PR'2020) DIS (ECCV'2022)

Usage

Install the required packages:

Running repository on Kaggle:

git clone https://your_personal_token@your_repo_address.git
cd CVVin23

Training

Modify the configurations in .yaml config files, then run:

python train_dis.py [MODEL] [RESUME] [DEVICE] [BATCH_SIZE] [EPOCHS]

Resuming from checkpoints

You can resume from a previously saved checkpoint by:

python train_dis.py -resume path/to/the/ckpt

Evaluating

python evaluation.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages