Open Source Software Used by Compter Vision

Table of Contents

1 Computer Vision

OpenCV is the most widely used open source software. It implemented nearly all the classic algorithms in computer vision. However, the implemention in OpenCV is highly optimized and as a result fairly complex. It is not suggested to revise the OpenCV code for research purpose.

1.1 Object Detection

  • deformable part model: state-of-the-art general purpose detector []
  • real time object instance detection based on gradient response map. []

1.1.1 Face Detection

  • OpenCV has a implementation based on Boosted Haar features

1.1.2 Pedestrain Detection


1.2 Articulated Human Part Detection

  • a variant of deformable part model by Yi Yang in UCI []

1.3 Image Recognition

1.3.1 Scene Recognition

  • ObjectBank []

1.3.2 General Image Recognition

  • LLC implemented spatial pyramid bag-of-words approach for image recognition. []

1.4 Optical Flow

2 Features

2.1 Interest Point Detetor

  • STIP: an interest point detetor for videos. This software only provides binary descriptors. It produce fairly sparse interest point, thus it is suitable for recognize actions with large motion. The software also implemented HOG and HOF descriptors. []

2.2 Feature Coding

2.2.1 Sparse Coding

  • SPArse Modeling Software is extremely fast []

2.2.2 LLC coding

LLC coding use nearest neighbor heuristics to achieve faster speed than sparse coding

  • LLC toolbox: []

2.2.3 Binary coding

  • BRIEF, D-BRIEF: binary descriptors [] []

2.3 Local Features

2.3.1 SIFT

2.3.2 HOG

2.3.3 HOF

2.3.4 HOG-3D

The gradient of HOG-3D is an average gradient over a cube in a video.

  • []

2.3.5 Spatio-temporal Orientation

Spatio-temporal orientation has been shown to achieve excelent performance

  • it is implemented in AcionBank software.

3 Machine Learning

Shogun is a large machine learning toolbox that implemented a lot of machine learning algorithms.

3.1 Clusteirng

3.1.1 K-Means


3.2 CLassification

3.2.1 Boosting


3.2.2 Multiple Kernel Learning

multiple learning is a feature weighting/selecing method

  • shogun has a good implementation.

3.3 Deep Learning

4 Data Mining

4.1 Frequent Pattern Mining

  • Mafia: Maximal Frequent Pattern Mining []

Author: Jiang Wang, Ph.D. Candidate, Northwestern Univeristy

Date: 2013-02-06 13:26:13 CST

HTML generated by org-mode TAG=7.01g in emacs 24