Coder Social home page Coder Social logo

perceivelab / hd2s Goto Github PK

View Code? Open in Web Editor NEW
20.0 3.0 3.0 278.66 MB

The official PyTorch implementation for paper "Hierarchical Domain-Adapted Feature Learning for Video Saliency Prediction"

License: Other

Python 100.00%
deep-learning video-saliency-prediction ijcv ijcv2021 dhf1k saliency s3d mobilnet-v2 deep-supervision

hd2s's Introduction

Hierarchical Domain-Adapted Feature Learning for Video Saliency Prediction

Giovanni Bellitto, Federica Proietto Salanitri, Simone Palazzo, Francesco Rundo, Daniela Giordano, Concetto Spampinato

Paper Conference

Overview

Official PyTorch implementation for paper: "Hierarchical Domain-Adapted Feature Learning for Video Saliency Prediction"

Abstract

In this work, we propose a 3D fully convolutional architecture for video saliency prediction that employs hierarchical supervision on intermediate maps (referred to as conspicuity maps) generated using features extracted at different abstraction levels. We provide the base hierarchical learning mechanism with two techniques for domain adaptation and domain-specific learning. For the former, we encourage the model to unsupervisedly learn hierarchical general features using gradient reversal at multiple scales, to enhance generalization capabilities on datasets for which no annotations are provided during training. As for domain specialization, we employ domain-specific operations (namely, priors, smoothing and batch normalization) by specializing the learned features on individual datasets in order to maximize performance. The results of our experiments show that the proposed model yields state-of-the-art accuracy on supervised saliency prediction. When the base hierarchical model is empowered with domain-specific modules, performance improves, outperforming state-of-the-art models on three out of five metrics on the DHF1K benchmark and reaching the second-best results on the other two. When, instead, we test it in an unsupervised domain adaptation setting, by enabling hierarchical gradient reversal layers, we obtain performance comparable to supervised state-of-the-art.

Code and models

  • The code for train and test is an adapted version of the original available here.

  • As Feature Extractor, HD2S employs S3D pretained on Kinetics-400 dataset. The S3D weights can be downloaded here.

  • The whole HD2S weights trained on DHF1K dataset can be downloaded here

Citation

@article{bellitto2021hierarchical,
  title={Hierarchical domain-adapted feature learning for video saliency prediction},
  author={Bellitto, G and Proietto Salanitri, F and Palazzo, S and Rundo, F and Giordano, D and Spampinato, C},
  journal={International Journal of Computer Vision},
  pages={1--17},
  year={2021},
  publisher={Springer}
}

Examples

Examples of video saliency prediction in complex scenes (from DHF1K dataset):

License

This code is released under CC BY-NC 4.0 license.

hd2s's People

Contributors

belli13 avatar chica9 avatar simopal6 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

hd2s's Issues

License

Hi, can you provide a license for this repo?

Some questions about the results on Hollywood2 and UCFsports

hi, i have some questions about the results on Hollywood2 and UCFsports.

  1. The result for hd2s on dataset hollywood2 is train on dataset DHF1K's trainset, and test on dataset hollywood2's testset, right?
    Because i view that the result of hd2s for one-source learning is different from the above result.
    image
    image

2.Why you use DHF1K Hollywood2 and UCFsports as validation set in train_DSL.py? And there aren't splitTrainVal floder for Hollywood2.
image
But i view that in the paper:
image

Looking forward to hearing from you.Thank you so much!

HD2S model should output the output after sigmoid

Hello,
We were trying your test.py code and initially found the heatmap output quite strange. After reading the HD2S.py code, we think the reason is that in this line x was returned instead of out. Because x is the logit, it can be negative. On the other hand, this line apparently assumes the output of the model is positive. So it will produce strange heatmaps. Changing the model to return out fixed the problem.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.