All Projects â†’ hellochick â†’ Ficm

hellochick / Ficm

🎮 [IJCAI'20][ICLR'19 Workshop] Flow-based Intrinsic Curiosity Module. Playing SuperMario with RL agent and FICM!

Projects that are alternatives of or similar to Ficm

Ransac Flow
(ECCV 2020) RANSAC-Flow: generic two-stage image alignment
Stars: ✭ 265 (+188.04%)
Mutual labels:  optical-flow
Pyflow
Fast, accurate and easy to run dense optical flow with python wrapper
Stars: ✭ 564 (+513.04%)
Mutual labels:  optical-flow
Voxelmorph
Unsupervised Learning for Image Registration
Stars: ✭ 1,057 (+1048.91%)
Mutual labels:  optical-flow
Toflow
TOFlow: Video Enhancement with Task-Oriented Flow
Stars: ✭ 314 (+241.3%)
Mutual labels:  optical-flow
Tfoptflow
Optical Flow Prediction with TensorFlow. Implements "PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume," by Deqing Sun et al. (CVPR 2018)
Stars: ✭ 415 (+351.09%)
Mutual labels:  optical-flow
Flownet2
FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks
Stars: ✭ 938 (+919.57%)
Mutual labels:  optical-flow
Computer-Vision
Cool Vision projects
Stars: ✭ 51 (-44.57%)
Mutual labels:  optical-flow
Dispnet Flownet Docker
Dockerfile and runscripts for DispNet and FlowNet1 (estimation of disparity and optical flow)
Stars: ✭ 78 (-15.22%)
Mutual labels:  optical-flow
Liteflownet
LiteFlowNet: A Lightweight Convolutional Neural Network for Optical Flow Estimation, CVPR 2018 (Spotlight paper, 6.6%)
Stars: ✭ 474 (+415.22%)
Mutual labels:  optical-flow
Pyoptflow
Optical Flow estimation in pure Python
Stars: ✭ 49 (-46.74%)
Mutual labels:  optical-flow
Selflow
SelFlow: Self-Supervised Learning of Optical Flow
Stars: ✭ 319 (+246.74%)
Mutual labels:  optical-flow
Flownet2 Tf
FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks
Stars: ✭ 378 (+310.87%)
Mutual labels:  optical-flow
Lucas Kanade Tracking And Correlation Filters
An implementation of several tracking algorithms based on Lucas Kanade algorithms
Stars: ✭ 21 (-77.17%)
Mutual labels:  optical-flow
Fastmot
High-performance multiple object tracking based on YOLO, Deep SORT, and optical flow
Stars: ✭ 284 (+208.7%)
Mutual labels:  optical-flow
Eskf
ROS Error-State Kalman Filter based on PX4/ecl. Performs GPS/Magnetometer/Vision Pose/Optical Flow/RangeFinder fusion with IMU
Stars: ✭ 63 (-31.52%)
Mutual labels:  optical-flow
back2future
Unsupervised Learning of Multi-Frame Optical Flow with Occlusions
Stars: ✭ 39 (-57.61%)
Mutual labels:  optical-flow
Vpp
Video++, a C++14 high performance video and image processing library.
Stars: ✭ 655 (+611.96%)
Mutual labels:  optical-flow
Pytoflow
The py version of toflow → https://github.com/anchen1011/toflow
Stars: ✭ 83 (-9.78%)
Mutual labels:  optical-flow
Pwc Net
PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume, CVPR 2018 (Oral)
Stars: ✭ 1,142 (+1141.3%)
Mutual labels:  optical-flow
Adns3080
Example code for the ADNS-3080 optical flow sensor
Stars: ✭ 36 (-60.87%)
Mutual labels:  optical-flow

Status: Archive.

Flow-based Intrinsic Curiosity Module (FICM)

[Paper] [Demo Video] [Reddit Discuss]

This is a TensorFlow-based implementation for our paper "Flow-based Intrinsic Curiosity Module".

FICM is used for evaluating the novelty of observations, it generates intrinsic rewards based on the prediction errors of optical flow estimation since the rapid change part in consecutive frames usually serve as important signals.

Without any external reward, FICM can help RL agent to play SuperMario successfully.

This repo is largely inherited from large-scale-curiosity, and we also borrowed correlation layer from flownet2_tf.


Flow-based Intrinsic Curiosity Module
Hsuan-Kung Yang*, Po-Han Chiang*, Min-Fong Hong, and Chun-Yi Lee (* equal contributions)
ElsaLab, National Tsing Hua University
In IJCAI'20 main track and ICLR'19 TARL workshop

Dependencies

  • Python3.5

Installation

pip install -r requirement.txt
pip install git+https://github.com/openai/[email protected]

FICM-C (Optional)

If you want to use FICM-C architecture, you'll need to compile for correlation layer additionally.

cd correlation_layer
make all

Note: You might encounter some errors raised from the source codes of tensorflow, you can easily change the header file of 'cuda_kernel_helper.h', 'cuda_device_functions.h', and 'cuda_launch_config.h'

SuperMario (Optional)

If you want to train an agent to play SuperMario, you need to install retro and import SuperMarioBros-Nes game.

pip install retro

Read the official guide here

Example usage

Mario

python run.py --feat_learning flowS --env_kind mario

Atari

python run.py --feat_learning flowS --env SeaquestNoFrameskip-v4 --seed 666

Citation

If you find this paper or code implementation helpful, please consider to cite:

@inproceedings{flowbasedcuriosity2020,
  title     = {Flow-based Intrinsic Curiosity Module},
  author    = {Hsuan-Kung Yang, Po-Han Chiang, Min-Fong Hong and Chun-Yi Lee},
  booktitle = {Proceedings of the Twenty-Ninth International Joint Conference on
               Artificial Intelligence, {IJCAI-20}},
  publisher = {International Joint Conferences on Artificial Intelligence Organization},             
  editor    = {Christian Bessiere}	
  pages     = {2065--2072},
  year      = {2020},
  month     = {7},
  note      = {Main track}
  doi       = {10.24963/ijcai.2020/286},
  url       = {https://doi.org/10.24963/ijcai.2020/286},
}

Reference

@inproceedings{largeScaleCuriosity2018,
    Author = {Burda, Yuri and Edwards, Harri and
              Pathak, Deepak and Storkey, Amos and
              Darrell, Trevor and Efros, Alexei A.},
    Title = {Large-Scale Study of Curiosity-Driven Learning},
    Booktitle = {arXiv:1808.04355},
    Year = {2018}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].