NLDF Pytorch Save

An unofficial implementation of non-local deep features for salient object detection

Project README

NLDF

中文说明

An unofficial implementation of Non-Local Deep Features for Salient Object Detection.

The official Tensorflow version: NLDF

Some thing difference:

  1. dataset
  2. score with one channel, rather than two channels
  3. Dice IOU: boundary version and area version

Prerequisites

Results

The information of Loss:

Performance:

Dataset max F(paper) MAE(paper) max F(here) MAE(here)
MSRA-B 0.911 0.048 0.9006 0.0592

Note:

  1. only training 200 epoch, larger epoch may nearly the original paper
  2. This reproduction use area IOU, and original paper use boundary IOU
  3. it's unfairness to this compare. (Different training data, I can not find the dataset use in original paper )

Usage

1. Clone the repository

git clone [email protected]:AceCoooool/NLDF-pytorch.git
cd NLDF-pytorch/

2. Download the dataset

Note: the original paper use other datasets.

Download the ECSSD dataset.

bash download.sh

3. Get pre-trained vgg

cd tools/
python extract_vgg.py
cd ..

4. Demo

python demo.py --demo_img='your_picture' --trained_model='pre_trained pth' --cuda=True

Note:

  1. default choose: download and copy the pretrained model to weights directory.
  2. a demo picture is in png/demo.jpg

5. Train

python main.py --mode='train' --train_path='you_data' --label_path='you_label' --batch_size=8 --visdom=True --area=True

Note:

  1. --area=True, --boundary=True area and boundary Dice IOU (default: --area=True --boundary=False)
  2. --val=True add the validation (but your need to add the --val_path and --val_label)
  3. you_data, you_label means your training data root. (connect to the step 2)

6. Test

python main.py --mode='test', --test_path='you_data' --test_label='your_label' --batch_size=1 --model='your_trained_model'

Note:

  1. use the same evaluation (this is a reproduction from original achievement)

Bug

  1. The boundary Dice IOU may cause inf,it is better to use area Dice IOU.

Maybe, it is better to add Batch Normalization.

Open Source Agenda is not affiliated with "NLDF Pytorch" Project. README Source: AceCoooool/NLDF-pytorch
Stars
39
Open Issues
4
Last Commit
5 years ago

Open Source Agenda Badge

Open Source Agenda Rating