huynhlvd / corpca-of

Compressive Online Video Background-Foreground Separation Using Multiple Prior Information and Optical Flow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CORPCA-OF

Compressive Online Robust Principal Component Analysis with Optical Flow (CORPCA-OF)

Version 1.1,  May 1, 2018
Implementations by Srivatsa Prativadibhayankaram (developer) and Huynh Van Luong (adviser), 
Email: srivatsa.pv@live.com and huynh.luong@fau.de,
Multimedia Communications and Signal Processing, University of Erlangen-Nuremberg.  

Please see LICENSE for the full text of the license.

Please cite these publications:

Srivatsa Prativadibhayankaram, Huynh Van Luong, Thanh Ha Le, and André Kaup, " Compressive Online Robust Principal Component Analysis with Optical Flow for Video Foreground-Background Separation," Proceedings of the Eighth International Symposium on Information and Communication Technology. ACM, 2017, pp.385–392.

S. Prativadibhayankaram, Huynh Van Luong, Thanh-Ha Le, and André Kaup, "Compressive Online Video Background-Foreground Separation Using Multiple Prior Information and Optical Flow," Journal of Imaging, Special Issue on Detection of Moving Objects, vol. 4, no. 7, 90, Jul. 2018.

Solving the problem and Updating priors using Optical Flow

Inputs:

  • : A vector of observations/data
  • : A measurement matrix
  • : The foreground prior
  • : A matrix of the background prior, which could be initialized by previous backgrounds

Outputs:

  • : Estimates of foreground and background
  • : The updated foreground prior
  • : The updated background prior

How to run:

  1. Open CMake GUI
  2. Drag and drop CmakeLists.txt from the "CORPCA-OF" folder into CMake
  3. Select output path, type in "build" after the path
  4. Select configure, choose your compiler (VS 2017/2015 etc.)
  5. After no errors are present, click generate
  6. If you go to the CORPCA-OF folder, you will see a build folder created, open it
  7. Open the visual studio project that is created
  8. Build the solution
  9. Select the project demoCORPCA-OF and set it as start up project
  10. Now select "Run"
  11. Enter path to the video files (ex D:\inData)
  12. Enter path where output has to be saved (ex D:\outDataOF)
  13. Enter sequence name (Bootstrap, Curtain etc.)
  14. Enter the format name (bmp, png etc.)
  15. Enter scaling factor (1.0, 0.5, 0.25)
  16. Enter rate (1.0, 0.8, 0.6, 0.4, 0.2)
  17. Check the output folder that was specified to see the seperated images

NOTE:

  • Inside the output folder, please create folders with names of video sequences, i.e., for every sequence in inData, create a new empty folder inside the output path folder (D:\outDataOF)
  • Create a folder named prior inside video sequence folder (ex in inData)
  • For every sequence in inData, create a new folder inside the prior folder Here is a sample folder structure:
  • inData (some samples)

    • Bootstrap
    • Curtain
    • ...
    • prior
      • Bootstrap (to be created)
      • Curtain (to be created)
      • ...
  • outDataOF (some samples)

    • Bootstrap (to be created)
    • Curtain (to be created)
    • ...

About

Compressive Online Video Background-Foreground Separation Using Multiple Prior Information and Optical Flow

License:Other


Languages

Language:C++ 96.7%Language:CMake 1.8%Language:C 1.5%