机器视觉开源代码集合

申明:本文非笔者原创,原文转载自:http://www.yuanyong.org/blog/cv/cv-code


一、特征提取Feature Extraction:

  • SIFT [1] [Demo program][SIFT Library] [VLFeat]
  • PCA-SIFT [2] [Project]
  • Affine-SIFT [3] [Project]
  • SURF [4] [OpenSURF] [Matlab Wrapper]
  • Affine Covariant Features [5] [Oxford project]
  • MSER [6] [Oxford project] [VLFeat]
  • Geometric Blur [7] [Code]
  • Local Self-Similarity Descriptor [8] [Oxford implementation]
  • Global and Efficient Self-Similarity [9] [Code]
  • Histogram of Oriented Graidents [10] [INRIA Object Localization Toolkit] [OLT toolkit for Windows]
  • GIST [11] [Project]
  • Shape Context [12] [Project]
  • Color Descriptor [13] [Project]
  • Pyramids of Histograms of Oriented Gradients [Code]
  • Space-Time Interest Points (STIP) [14][Project] [Code]
  • Boundary Preserving Dense Local Regions [15][Project]
  • Weighted Histogram[Code]
  • Histogram-based Interest Points Detectors[Paper][Code]
  • An OpenCV - C++ implementation of Local Self Similarity Descriptors [Project]
  • Fast Sparse Representation with Prototypes[Project]
  • Corner Detection [Project]
  • AGAST Corner Detector: faster than FAST and even FAST-ER[Project]
  • Real-time Facial Feature Detection using Conditional Regression Forests[Project]
  • Global and Efficient Self-Similarity for Object Classification and Detection[code]
  • WαSH: Weighted α-Shapes for Local Feature Detection[Project]
  • HOG[Project]
  • Online Selection of Discriminative Tracking Features[Project]

 

二、图像分割Image Segmentation:

  • Normalized Cut [1] [Matlab code]
  • Gerg Mori’ Superpixel code [2] [Matlab code]
  • Efficient Graph-based Image Segmentation [3] [C++ code] [Matlab wrapper]
  • Mean-Shift Image Segmentation [4] [EDISON C++ code] [Matlab wrapper]
  • OWT-UCM Hierarchical Segmentation [5] [Resources]
  • Turbepixels [6] [Matlab code 32bit] [Matlab code 64bit] [Updated code]
  • Quick-Shift [7] [VLFeat]
  • SLIC Superpixels [8] [Project]
  • Segmentation by Minimum Code Length [9] [Project]
  • Biased Normalized Cut [10] [Project]
  • Segmentation Tree [11-12] [Project]
  • Entropy Rate Superpixel Segmentation [13] [Code]
  • Fast Approximate Energy Minimization via Graph Cuts[Paper][Code]
  • Efficient Planar Graph Cuts with Applications in Computer Vision[Paper][Code]
  • Isoperimetric Graph Partitioning for Image Segmentation[Paper][Code]
  • Random Walks for Image Segmentation[Paper][Code]
  • Blossom V: A new implementation of a minimum cost perfect matching algorithm[Code]
  • An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Computer Vision[Paper][Code]
  • Geodesic Star Convexity for Interactive Image Segmentation[Project]
  • Contour Detection and Image Segmentation Resources[Project][Code]
  • Biased Normalized Cuts[Project]
  • Max-flow/min-cut[Project]
  • Chan-Vese Segmentation using Level Set[Project]
  • A Toolbox of Level Set Methods[Project]
  • Re-initialization Free Level Set Evolution via Reaction Diffusion[Project]
  • Improved C-V active contour model[Paper][Code]
  • A Variational Multiphase Level Set Approach to Simultaneous Segmentation and Bias Correction[Paper][Code]
  • Level Set Method Research by Chunming Li[Project]
  • ClassCut for Unsupervised Class Segmentation[code]
  • SEEDS: Superpixels Extracted via Energy-Driven Sampling [Project][other]

 

三、目标检测Object Detection:

  • A simple object detector with boosting [Project]
  • INRIA Object Detection and Localization Toolkit [1] [Project]
  • Discriminatively Trained Deformable Part Models [2] [Project]
  • Cascade Object Detection with Deformable Part Models [3] [Project]
  • Poselet [4] [Project]
  • Implicit Shape Model [5] [Project]
  • Viola and Jones’s Face Detection [6] [Project]
  • Bayesian Modelling of Dyanmic Scenes for Object Detection[Paper][Code]
  • Hand detection using multiple proposals[Project]
  • Color Constancy, Intrinsic Images, and Shape Estimation[Paper][Code]
  • Discriminatively trained deformable part models[Project]
  • Gradient Response Maps for Real-Time Detection of Texture-Less Objects: LineMOD [Project]
  • Image Processing On Line[Project]
  • Robust Optical Flow Estimation[Project]
  • Where's Waldo: Matching People in Images of Crowds[Project]
  • Scalable Multi-class Object Detection[Project]
  • Class-Specific Hough Forests for Object Detection[Project]
  • Deformed Lattice Detection In Real-World Images[Project]
  • Discriminatively trained deformable part models[Project]

 

四、显著性检测Saliency Detection:

  • Itti, Koch, and Niebur’ saliency detection [1] [Matlab code]
  • Frequency-tuned salient region detection [2] [Project]
  • Saliency detection using maximum symmetric surround [3] [Project]
  • Attention via Information Maximization [4] [Matlab code]
  • Context-aware saliency detection [5] [Matlab code]
  • Graph-based visual saliency [6] [Matlab code]
  • Saliency detection: A spectral residual approach. [7] [Matlab code]
  • Segmenting salient objects from images and videos. [8] [Matlab code]
  • Saliency Using Natural statistics. [9] [Matlab code]
  • Discriminant Saliency for Visual Recognition from Cluttered Scenes. [10] [Code]
  • Learning to Predict Where Humans Look [11] [Project]
  • Global Contrast based Salient Region Detection [12] [Project]
  • Bayesian Saliency via Low and Mid Level Cues[Project]
  • Top-Down Visual Saliency via Joint CRF and Dictionary Learning[Paper][Code]
  • Saliency Detection: A Spectral Residual Approach[Code]

 

五、图像分类、聚类Image Classification, Clustering

  • Pyramid Match [1] [Project]
  • Spatial Pyramid Matching [2] [Code]
  • Locality-constrained Linear Coding [3] [Project] [Matlab code]
  • Sparse Coding [4] [Project] [Matlab code]
  • Texture Classification [5] [Project]
  • Multiple Kernels for Image Classification [6] [Project]
  • Feature Combination [7] [Project]
  • SuperParsing [Code]
  • Large Scale Correlation Clustering Optimization[Matlab code]
  • Detecting and Sketching the Common[Project]
  • Self-Tuning Spectral Clustering[Project][Code]
  • User Assisted Separation of Reflections from a Single Image Using a Sparsity Prior[Paper][Code]
  • Filters for Texture Classification[Project]
  • Multiple Kernel Learning for Image Classification[Project]
  • SLIC Superpixels[Project]

 

六、抠图Image Matting

  • A Closed Form Solution to Natural Image Matting [Code]
  • Spectral Matting [Project]
  • Learning-based Matting [Code]

 

七、目标跟踪Object Tracking:

  • A Forest of Sensors - Tracking Adaptive Background Mixture Models [Project]
  • Object Tracking via Partial Least Squares Analysis[Paper][Code]
  • Robust Object Tracking with Online Multiple Instance Learning[Paper][Code]
  • Online Visual Tracking with Histograms and Articulating Blocks[Project]
  • Incremental Learning for Robust Visual Tracking[Project]
  • Real-time Compressive Tracking[Project]
  • Robust Object Tracking via Sparsity-based Collaborative Model[Project]
  • Visual Tracking via Adaptive Structural Local Sparse Appearance Model[Project]
  • Online Discriminative Object Tracking with Local Sparse Representation[Paper][Code]
  • Superpixel Tracking[Project]
  • Learning Hierarchical Image Representation with Sparsity, Saliency and Locality[Paper][Code]
  • Online Multiple Support Instance Tracking [Paper][Code]
  • Visual Tracking with Online Multiple Instance Learning[Project]
  • Object detection and recognition[Project]
  • Compressive Sensing Resources[Project]
  • Robust Real-Time Visual Tracking using Pixel-Wise Posteriors[Project]
  • Tracking-Learning-Detection[Project][OpenTLD/C++ Code]
  • the HandVu:vision-based hand gesture interface[Project]
  • Learning Probabilistic Non-Linear Latent Variable Models for Tracking Complex Activities[Project]

 

八、Kinect:

  • Kinect toolbox[Project]
  • OpenNI[Project]
  • zouxy09 CSDN Blog[Resource]
  • FingerTracker 手指跟踪[code]

 

九、3D相关:

  • 3D Reconstruction of a Moving Object[Paper] [Code]
  • Shape From Shading Using Linear Approximation[Code]
  • Combining Shape from Shading and Stereo Depth Maps[Project][Code]
  • Shape from Shading: A Survey[Paper][Code]
  • A Spatio-Temporal Descriptor based on 3D Gradients (HOG3D)[Project][Code]
  • Multi-camera Scene Reconstruction via Graph Cuts[Paper][Code]
  • A Fast Marching Formulation of Perspective Shape from Shading under Frontal Illumination[Paper][Code]
  • Reconstruction:3D Shape, Illumination, Shading, Reflectance, Texture[Project]
  • Monocular Tracking of 3D Human Motion with a Coordinated Mixture of Factor Analyzers[Code]
  • Learning 3-D Scene Structure from a Single Still Image[Project]

 

十、机器学习算法:

  • Matlab class for computing Approximate Nearest Nieghbor (ANN) [Matlab class providing interface toANN library]
  • Random Sampling[code]
  • Probabilistic Latent Semantic Analysis (pLSA)[Code]
  • FASTANN and FASTCLUSTER for approximate k-means (AKM)[Project]
  • Fast Intersection / Additive Kernel SVMs[Project]
  • SVM[Code]
  • Ensemble learning[Project]
  • Deep Learning[Net]
  • Deep Learning Methods for Vision[Project]
  • Neural Network for Recognition of Handwritten Digits[Project]
  • Training a deep autoencoder or a classifier on MNIST digits[Project]
  • THE MNIST DATABASE of handwritten digits[Project]
  • Ersatz:deep neural networks in the cloud[Project]
  • Deep Learning [Project]
  • sparseLM : Sparse Levenberg-Marquardt nonlinear least squares in C/C++[Project]
  • Weka 3: Data Mining Software in Java[Project]
  • Invited talk "A Tutorial on Deep Learning" by Dr. Kai Yu (余凯)[Video]
  • CNN - Convolutional neural network class[Matlab Tool]
  • Yann LeCun's Publications[Wedsite]
  • LeNet-5, convolutional neural networks[Project]
  • Training a deep autoencoder or a classifier on MNIST digits[Project]
  • Deep Learning 大牛Geoffrey E. Hinton's HomePage[Website]
  • Multiple Instance Logistic Discriminant-based Metric Learning (MildML) and Logistic Discriminant-based Metric Learning (LDML)[Code]
  • Sparse coding simulation software[Project]
  • Visual Recognition and Machine Learning Summer School[Software]

 

十一、目标、行为识别Object, Action Recognition:

  • Action Recognition by Dense Trajectories[Project][Code]
  • Action Recognition Using a Distributed Representation of Pose and Appearance[Project]
  • Recognition Using Regions[Paper][Code]
  • 2D Articulated Human Pose Estimation[Project]
  • Fast Human Pose Estimation Using Appearance and Motion via Multi-Dimensional Boosting Regression[Paper][Code]
  • Estimating Human Pose from Occluded Images[Paper][Code]
  • Quasi-dense wide baseline matching[Project]
  • ChaLearn Gesture Challenge: Principal motion: PCA-based reconstruction of motion histograms[Project]
  • Real Time Head Pose Estimation with Random Regression Forests[Project]
  • 2D Action Recognition Serves 3D Human Pose Estimation[Project]
  • A Hough Transform-Based Voting Framework for Action Recognition[Project]
  • Motion Interchange Patterns for Action Recognition in Unconstrained Videos[Project]
  • 2D articulated human pose estimation software[Project]
  • Learning and detecting shape models [code]
  • Progressive Search Space Reduction for Human Pose Estimation[Project]
  • Learning Non-Rigid 3D Shape from 2D Motion[Project]

 

十二、图像处理:

  • Distance Transforms of Sampled Functions[Project]
  • The Computer Vision Homepage[Project]
  • Efficient appearance distances between windows[code]
  • Image Exploration algorithm[code]
  • Motion Magnification 运动放大 [Project]
  • Bilateral Filtering for Gray and Color Images 双边滤波器 [Project]
  • A Fast Approximation of the Bilateral Filter using a Signal Processing Approach [Project]

 

十三、一些实用工具:

  • EGT: a Toolbox for Multiple View Geometry and Visual Servoing[Project] [Code]
  • a development kit of matlab mex functions for OpenCV library[Project]
  • Fast Artificial Neural Network Library[Project]

 

十四、人手及指尖检测与识别:

  • finger-detection-and-gesture-recognition [Code]
  • Hand and Finger Detection using JavaCV[Project]
  • Hand and fingers detection[Code]

 

十五、场景解释:

  • Nonparametric Scene Parsing via Label Transfer [Project]

 

十六、光流Optical flow:

  • High accuracy optical flow using a theory for warping [Project]
  • Dense Trajectories Video Description [Project]
  • SIFT Flow: Dense Correspondence across Scenes and its Applications[Project]
  • KLT: An Implementation of the Kanade-Lucas-Tomasi Feature Tracker [Project]
  • Tracking Cars Using Optical Flow[Project]
  • Secrets of optical flow estimation and their principles[Project]
  • implmentation of the Black and Anandan dense optical flow method[Project]
  • Optical Flow Computation[Project]
  • Beyond Pixels: Exploring New Representations and Applications for Motion Analysis[Project]
  • A Database and Evaluation Methodology for Optical Flow[Project]
  • optical flow relative[Project]
  • Robust Optical Flow Estimation [Project]
  • optical flow[Project]

 

十七、图像检索Image Retrieval

  • Semi-Supervised Distance Metric Learning for Collaborative Image Retrieval [Paper][code]

 

十八、马尔科夫随机场Markov Random Fields:

  • Markov Random Fields for Super-Resolution [Project]
  • A Comparative Study of Energy Minimization Methods for Markov Random Fields with Smoothness-Based Priors [Project]

 

十九、运动检测Motion detection:

  • Moving Object Extraction, Using Models or Analysis of Regions [Project]
  • Background Subtraction: Experiments and Improvements for ViBe [Project]
  • A Self-Organizing Approach to Background Subtraction for Visual Surveillance Applications [Project]
  • changedetection.net: A new change detection benchmark dataset[Project]
  • ViBe - a powerful technique for background detection and subtraction in video sequences[Project]
  • Background Subtraction Program[Project]
  • Motion Detection Algorithms[Project]
  • Stuttgart Artificial Background Subtraction Dataset[Project]
  • Object Detection, Motion Estimation, and Tracking[Project]

 

Feature Detection and Description

General Libraries: 

  • VLFeat – Implementation of various feature descriptors (including SIFT, HOG, and LBP) and covariant feature detectors (including DoG, Hessian, Harris Laplace, Hessian Laplace, Multiscale Hessian, Multiscale Harris). Easy-to-use Matlab interface. See Modern features: Software – Slides providing a demonstration of VLFeat and also links to other software. Check also VLFeat hands-on session training
  • OpenCV – Various implementations of modern feature detectors and descriptors (SIFT, SURF, FAST, BRIEF, ORB, FREAK, etc.)

 

Fast Keypoint Detectors for Real-time Applications: 

  • FAST – High-speed corner detector implementation for a wide variety of platforms
  • AGAST – Even faster than the FAST corner detector. A multi-scale version of this method is used for the BRISK descriptor (ECCV 2010).

 

Binary Descriptors for Real-Time Applications: 

  • BRIEF – C++ code for a fast and accurate interest point descriptor (not invariant to rotations and scale) (ECCV 2010)
  • ORB – OpenCV implementation of the Oriented-Brief (ORB) descriptor (invariant to rotations, but not scale)
  • BRISK – Efficient Binary descriptor invariant to rotations and scale. It includes a Matlab mex interface. (ICCV 2011)
  • FREAK – Faster than BRISK (invariant to rotations and scale) (CVPR 2012)

 

SIFT and SURF Implementations: 

  • SIFT: VLFeat, OpenCV, Original code by David Lowe, GPU implementation, OpenSIFT
  • SURF: Herbert Bay’s code, OpenCV, GPU-SURF

 

Other Local Feature Detectors and Descriptors: 

  • VGG Affine Covariant features – Oxford code for various affine covariant feature detectors and descriptors.
  • LIOP descriptor – Source code for the Local Intensity order Pattern (LIOP) descriptor (ICCV 2011).
  • Local Symmetry Features – Source code for matching of local symmetry features under large variations in lighting, age, and rendering style (CVPR 2012).

 

Global Image Descriptors: 

  • GIST – Matlab code for the GIST descriptor
  • CENTRIST – Global visual descriptor for scene categorization and object detection (PAMI 2011)

 

Feature Coding and Pooling 

  • VGG Feature Encoding Toolkit – Source code for various state-of-the-art feature encoding methods – including Standard hard encoding, Kernel codebook encoding, Locality-constrained linear encoding, and Fisher kernel encoding.
  • Spatial Pyramid Matching – Source code for feature pooling based on spatial pyramid matching (widely used for image classification)

 

Convolutional Nets and Deep Learning 

  • EBLearn – C++ Library for Energy-Based Learning. It includes several demos and step-by-step instructions to train classifiers based on convolutional neural networks.
  • Torch7 – Provides a matlab-like environment for state-of-the-art machine learning algorithms, including a fast implementation of convolutional neural networks.
  • Deep Learning - Various links for deep learning software.

 

Part-Based Models 

  • Deformable Part-based Detector – Library provided by the authors of the original paper (state-of-the-art in PASCAL VOC detection task)
  • Efficient Deformable Part-Based Detector – Branch-and-Bound implementation for a deformable part-based detector.
  • Accelerated Deformable Part Model – Efficient implementation of a method that achieves the exact same performance of deformable part-based detectors but with significant acceleration (ECCV 2012).
  • Coarse-to-Fine Deformable Part Model – Fast approach for deformable object detection (CVPR 2011).
  • Poselets – C++ and Matlab versions for object detection based on poselets.
  • Part-based Face Detector and Pose Estimation – Implementation of a unified approach for face detection, pose estimation, and landmark localization (CVPR 2012).

 

Attributes and Semantic Features 

  • Relative Attributes – Modified implementation of RankSVM to train Relative Attributes (ICCV 2011).
  • Object Bank – Implementation of object bank semantic features (NIPS 2010). See also ActionBank
  • Classemes, Picodes, and Meta-class features – Software for extracting high-level image descriptors (ECCV 2010, NIPS 2011, CVPR 2012).

 

Large-Scale Learning 

  • Additive Kernels – Source code for fast additive kernel SVM classifiers (PAMI 2013).
  • LIBLINEAR – Library for large-scale linear SVM classification.
  • VLFeat – Implementation for Pegasos SVM and Homogeneous Kernel map.

 

Fast Indexing and Image Retrieval 

  • FLANN – Library for performing fast approximate nearest neighbor.
  • Kernelized LSH – Source code for Kernelized Locality-Sensitive Hashing (ICCV 2009).
  • ITQ Binary codes – Code for generation of small binary codes using Iterative Quantization and other baselines such as Locality-Sensitive-Hashing (CVPR 2011).
  • INRIA Image Retrieval – Efficient code for state-of-the-art large-scale image retrieval (CVPR 2011).

 

Object Detection 

  • See Part-based Models and Convolutional Nets above.
  • Pedestrian Detection at 100fps – Very fast and accurate pedestrian detector (CVPR 2012).
  • Caltech Pedestrian Detection Benchmark – Excellent resource for pedestrian detection, with various links for state-of-the-art implementations.
  • OpenCV – Enhanced implementation of Viola&Jones real-time object detector, with trained models for face detection.
  • Efficient Subwindow Search – Source code for branch-and-bound optimization for efficient object localization (CVPR 2008).

 

3D Recognition 

  • Point-Cloud Library – Library for 3D image and point cloud processing.

 

Action Recognition 

  • ActionBank – Source code for action recognition based on the ActionBank representation (CVPR 2012).
  • STIP Features – software for computing space-time interest point descriptors
  • Independent Subspace Analysis – Look for Stacked ISA for Videos (CVPR 2011)
  • Velocity Histories of Tracked Keypoints - C++ code for activity recognition using the velocity histories of tracked keypoints (ICCV 2009)

 

Datasets

 

Attributes 

  • Animals with Attributes – 30,475 images of 50 animals classes with 6 pre-extracted feature representations for each image.
  • aYahoo and aPascal – Attribute annotations for images collected from Yahoo and Pascal VOC 2008.
  • FaceTracer – 15,000 faces annotated with 10 attributes and fiducial points.
  • PubFig – 58,797 face images of 200 people with 73 attribute classifier outputs.
  • LFW – 13,233 face images of 5,749 people with 73 attribute classifier outputs.
  • Human Attributes – 8,000 people with annotated attributes. Check also this link for another dataset of human attributes.
  • SUN Attribute Database – Large-scale scene attribute database with a taxonomy of 102 attributes.
  • ImageNet Attributes – Variety of attribute labels for the ImageNet dataset.
  • Relative attributes – Data for OSR and a subset of PubFig datasets. Check also this link for the WhittleSearch data.
  • Attribute Discovery Dataset – Images of shopping categories associated with textual descriptions.

 

Fine-grained Visual Categorization 

  • Caltech-UCSD Birds Dataset – Hundreds of bird categories with annotated parts and attributes.
  • Stanford Dogs Dataset – 20,000 images of 120 breeds of dogs from around the world.
  • Oxford-IIIT Pet Dataset – 37 category pet dataset with roughly 200 images for each class. Pixel level trimap segmentation is included.
  • Leeds Butterfly Dataset – 832 images of 10 species of butterflies.
  • Oxford Flower Dataset – Hundreds of flower categories.

 

Face Detection 

  • FDDB – UMass face detection dataset and benchmark (5,000+ faces)
  • CMU/MIT – Classical face detection dataset.

 

Face Recognition 

  • Face Recognition Homepage – Large collection of face recognition datasets.
  • LFW – UMass unconstrained face recognition dataset (13,000+ face images).
  • NIST Face Homepage – includes face recognition grand challenge (FRGC), vendor tests (FRVT) and others.
  • CMU Multi-PIE – contains more than 750,000 images of 337 people, with 15 different views and 19 lighting conditions.
  • FERET – Classical face recognition dataset.
  • Deng Cai’s face dataset in Matlab Format – Easy to use if you want play with simple face datasets including Yale, ORL, PIE, and Extended Yale B.
  • SCFace – Low-resolution face dataset captured from surveillance cameras.

 

Handwritten Digits 

  • MNIST – large dataset containing a training set of 60,000 examples, and a test set of 10,000 examples.

 

Pedestrian Detection

  • Caltech Pedestrian Detection Benchmark – 10 hours of video taken from a vehicle,350K bounding boxes for about 2.3K unique pedestrians.
  • INRIA Person Dataset – Currently one of the most popular pedestrian detection datasets.
  • ETH Pedestrian Dataset – Urban dataset captured from a stereo rig mounted on a stroller.
  • TUD-Brussels Pedestrian Dataset – Dataset with image pairs recorded in an crowded urban setting with an onboard camera.
  • PASCAL Human Detection – One of 20 categories in PASCAL VOC detection challenges.
  • USC Pedestrian Dataset – Small dataset captured from surveillance cameras.

 

Generic Object Recognition 

  • ImageNet – Currently the largest visual recognition dataset in terms of number of categories and images.
  • Tiny Images – 80 million 32x32 low resolution images.
  • Pascal VOC – One of the most influential visual recognition datasets.
  • Caltech 101 / Caltech 256 – Popular image datasets containing 101 and 256 object categories, respectively.
  • MIT LabelMe – Online annotation tool for building computer vision databases.

 

Scene Recognition

  • MIT SUN Dataset – MIT scene understanding dataset.
  • UIUC Fifteen Scene Categories – Dataset of 15 natural scene categories.

 

Feature Detection and Description 

  • VGG Affine Dataset – Widely used dataset for measuring performance of feature detection and description. CheckVLBenchmarks for an evaluation framework.

 

Action Recognition

  • Benchmarking Activity Recognition – CVPR 2012 tutorial covering various datasets for action recognition.

 

RGBD Recognition 

  • RGB-D Object Dataset – Dataset containing 300 common household objects

 

Reference:

[1]: http://rogerioferis.com/VisualRecognitionAndSearch/Resources.html


 


 

你可能感兴趣的:(机器视觉开源代码集合)