Skip to content

FgSegNet: Foreground Segmentation Network, Foreground Segmentation Using a Triplet Convolutional Neural Network for Multiscale Feature Encoding

Notifications You must be signed in to change notification settings

InstantWindy/FgSegNet

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FgSegNet : Foreground Segmentation Network

This repository contains source codes and training set for the following paper:

"Foreground Segmentation Using a Triplet Convolutional Neural Network for Multiscale Feature Encoding" by Long Ang LIM, Hacer YALIM KELES

Paper Link : https://arxiv.org/abs/1801.02225

alt tag

Citation

If you find FgSegNet useful in your research, please consider citing:

@article{lim2018foreground,
  title={Foreground Segmentation Using a Triplet Convolutional Neural Network for Multiscale Feature Encoding},
  author={Lim, Long Ang and Keles, Hacer Yalim},
  journal={arXiv preprint arXiv:1801.02225},
  year={2018}
}

Requirements

This work was implemented with the following frameworks:

  • Python 3.6.3
  • Keras 2.0.6
  • Tensorflow-gpu 1.1.0

Usage

Easy to train! Just a SINGLE click, gooo!!!

  1. Modify the following files in your installed dir with the files in utils dir:

    • <Your Keras DIR>\layers\convolutional.py
    • <Your Keras DIR>\backend\tensorflow_backend.py
    • <Your Keras DIR>\keras\losses.py
    • <Your Keras DIR>\metrics.py
    • <Your PYTHON 3.6>\site-packages\skimage\transform\pyramids.py
      replace
      out_rows = math.ceil(rows / float(downscale))
      out_cols = math.ceil(cols / float(downscale))
      with
      out_rows = math.floor(rows / float(downscale))
      out_cols = math.floor(cols / float(downscale))
  2. Download VGG16 weights from HERE and place it in appropriate directory (e.g. FgSegNet dir), or it will be downloaded and stored in /.keras/models/ automatically.

  3. Download our train+val frames from HRER and CDnet2014 dataset, then place them into corresponding directory.

    Example:

      FgSegNet/
           FgSegNet/FgSegNet.py
                   /FgSegNetModule.py
           FgSegNet_dataset2014/
                     baseline/
                          highway50
                          highway200
                          pedestrians50
                          pedestrians200
                          ...
                      badWeather/
                          skating50
                          skating200
                          ...
                     ...
            CDnet2014_dataset/
                      baseline/
                           highway
                           pedestrians
                           ...
                      badWeather/
                           skating
                           ...
                      ...      
    

Evaluation

We perform two separated evaluations and report our results on two test splits (test dev & test challenge):

  1. We compute our results locally. (on test dev dataset)
  2. We upload our results to Change Detection 2014 Challenge. (on test challenge dataset where ground truth values are not shared with the public dataset)
    (Both results are reported in our paper. Please refer to it for details)

Compute metrics locally using CDnet Utilities

Note:

  • test dev: by considering only the range of the frames that contain the ground truth labels by excluding training frames (50 or 200 frames)
  • test challenge: dataset on the server side (http://changedetection.net)

License

For research purpose only. For commercial license, please contact the authors.

Contact

lim.longang at gmail.com
Any issues/discussions are welcome.

About

FgSegNet: Foreground Segmentation Network, Foreground Segmentation Using a Triplet Convolutional Neural Network for Multiscale Feature Encoding

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%