« View All Resources

Open source contributions by the JHU VisionLab (GPCA, Clustering, Motion Segmentation Algorithms, etc)

Computer Vision Central - Posted on December 13, 2011 at 12:38 am.

  • Links: http://www.vision.jhu.edu/code/
  • Details:
  • CODE
    GPCA (GENERALIZED PRINCIPAL COMPONENT ANALYSIS)

    GPCA (Generalized Principal Component Analysis) is an algebraic, non-iterative algorithm for segmenting points lying in an union of subspaces. For more information, please visit the corresponding GPCA research page.

    We provide a MATLAB implementation of GPCA with Polynomial Differentiation and spectral clustering for subspace classification.

    SSC (SPARSE SUBSPACE CLUSTERING)

    SSC is a subspace clustering algorithm that uses sparse vector representation, convex optimization, and spectral clustering. The Matlab code for SSC can be downloaded below. The implementation of SSC uses the CVX package (http://cvxr.com/cvx). Please contact Ehsan Elhamifar ( ehsan [at] cis [dot] jhu [dot] edu ) for questions and comments regarding the code. For more information, please visit the corresponding SSC research page.

    OTHER SUBSPACE CLUSTERING ALGORITHMS

    We provide a MATLAB implementation of Local Subspace Analysis and RANSAC for for subspace classification.

    MOTION SEGMENTATION ALGORITHMS

    The problem of segmenting features tracked in a video with multiple objects can be viewed as the problem of segmenting points lying in an union of subspaces. Many machine learning algorithms can therefore be used to solve this problem (see the Motion Segmentation research page for more information on this topic).

    We provide MATLAB implementation of three subspace separation and motion segmentation algorithms:

    • GPCA with spectral clustering
    • RANSAC (RANdom SAmple Consensus)
    • Local Subspace Affinity (LSA)

    These algorithms can be tested on the Hopkins 155 dataset, which can be downloaded from the Data page.

    Download (registration required)

    ADDITIONAL CODE FOR THE HOPKINS 155 DATASET
    The sequences contained in the Hopkins 155 dataset are outlier-free. In order to test the robustness to outliers of segmentation algorithms, one can add outliers that syntetically generated to the trajectories in each sequence of the Hopkins 155 dataset. We provide MATLAB code that generates these outlying trajectories for any sequence of the Hopkins 155 dataset.

    Download (registration required)

    HISTOGRAMS OF ORIENTED OPTICAL FLOW (HOOF) AND BINET-CAUCHY KERNELS FOR NON-LINEAR DYNAMICAL SYSTEMS (NLDS)
    We provide code for computing Histograms of Oriented Optical Flow (HOOF) - which are features computed at each time instant from a frame of optical-flow vectors to model dynamic phenomena such as human activities. Once a time-series of HOOF is extracted from a video sequence, these can be modeled as Non-Linear Dynamical Systems (NLDS). Kernel PCA is used to learn the parameters of these NLDS and the Binet-Cauchy kernels for NLDS can be used to compute a distance between pairs of such NLDS. Please contact rizwanch [at] cis [dot] jhu [dot] edu for questions and comments regarding the code.

    Download (registration required)

    DYNAMIC TEXTURE TOOLBOX
    The dynamic texture toolbox contains implementation of methods for identifying and comparing video sequences by representing them as Linear Dynamical Systems (LDSs). All code is currently implemented in MATLAB with some code depending on the MATLAB control systems toolbox. A set of tutorials on how to use the toolbox can be found here and the complete documentation can be found here. The code is licensed under the Lesser GPL and is provided for academic purposes. In case of questions, comments, bugs or errors, please contact Avinash Ravichandran (avinash at cis dot jhu dot edu) or Rizwan Chaudhry (rizwanch at cis dot jhu dot edu).

    Download (registration required)


    k();} ?>