您的位置:首页 > 理论基础

计算机视觉 | 计算机视觉相关算法及工具

2018-12-13 16:40 453 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。转载注明文章出处!!! https://blog.csdn.net/u011344545/article/details/84989816

博主github:https://github.com/MichaelBeechan   

博主CSDN:https://blog.csdn.net/u011344545   

计算机视觉数据集:https://github.com/MichaelBeechan/CV-Datasets

 Image Processing

1、OpenCV

        OpenCV (Open Source Computer Vision Library) is released under a BSD license and hence it’s free for both academic and commercial use. It has C++, Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android.

2、PCL

        The Point Cloud Library (PCL) is a standalone, large scale, open project for 2D/3D image and point cloud processing.   PCL is released under the terms of the BSD license, and thus free for commercial and research use.       

3、Machine Vision Toolbox

        The Machine Vision Toolbox (MVTB) provides many functions that are useful in machine vision and vision-based control.  It is a somewhat eclectic collection reflecting my personal interest in areas of photometry, photogrammetry, colorimetry.  It includes over 100 functions spanning operations such as image file reading and writing, acquisition, display, filtering, blob, point and line feature extraction,  mathematical morphology, homographies, visual Jacobians, camera calibration and color space conversion.        

4、ImLab 3.1

        ImLab is a free open source graphical application for Scientific Image Processing that runs in Windows, Linux and many other UNIX systems. It supports multiple windows, data types including 32 bit integers, 32 bit real numbers and complex numbers. It is implemented in C++ and C to provide a very simple way to add new functions. It has many image operations and supports several file formats.

5、The CImg Library

        The CImg Library provides a minimal set of C++ classes that can be used to perform common operations on generic 2D/3D images. It is simple-to-use, efficient, and portable. It's a really pleasant toolkit for developing image processing stuffs in C++.

6、MRPT

        Mobile Robot Programming Toolkit provides developers with portable and well-tested applications and libraries covering data structures and algorithms employed in common robotics research areas. It is open source, released under the BSD license.

7、SimpleCV

        SimpleCV is an open source framework for building computer vision applications. With it, you get access to several high-powered computer vision libraries such as OpenCV – without having to first learn about bit depths, file formats, color spaces, buffer management, eigenvalues, or matrix versus bitmap storage. This is computer vision made easy.

Features Extraction & Matching

1、ASIFT

        ASIFT: An Algorithm for Fully Affine Invariant Comparison

2、OpenSURF

3、Autonomous Vision Group

4、libviso2

        LIBVISO2 (Library for Visual Odometry 2) is a very fast cross-platfrom (Linux, Windows) C++ library with MATLAB wrappers for computing the 6 DOF motion of a moving mono/stereo camera. The stereo version is based on minimizing the reprojection error of sparse feature matches and is rather general (no motion model or setup restrictions except that the input images must be rectified and calibration parameters are known). The monocular version is still very experimental and uses the 8-point algorithm for fundamental matrix estimation. It further assumes that the camera is moving at a known and fixed height over ground (for estimating the scale). Due to the 8 correspondences needed for the 8-point algorithm, many more RANSAC samples need to be drawn, which makes the monocular algorithm slower than the stereo algorithm, for which 3 correspondences are sufficent to estimate parameters.

5、KLT:An Implementation of the Kanade-Lucas-Tomasi Feature Tracker

        KLT is an implementation, in the C programming language, of a feature tracker for the computer vision community.  The source code is in the public domain, available for both commercial and non-commerical use.

The tracker is based on the early work of Lucas and Kanade [1], was developed fully by Tomasi and Kanade [2], and was explained clearly in the paper by Shi and Tomasi [3]. Later, Tomasi proposed a slight modification which makes the computation symmetric with respect to the two images -- the resulting equation is derived in the unpublished note by myself [4].  Briefly, good features are located by examining the minimum eigenvalue of each 2 by 2 gradient matrix, and features are tracked using a Newton-Raphson method of minimizing the difference between the two windows. Multiresolution tracking allows for relatively large displacements between images.  The affine computation that evaluates the consistency of features between non-consecutive frames [3] was implemented by Thorsten Thormaehlen several years after the original code and documentation were written.

6、MultiCameraTracking

        A multi-camera tracking algorithm using OpenCV. It depends on OpenCv 2.3.1 (http://opencv.org/), Boost libraries (http://www.boost.org/) and Intel IPP (https://software.intel.com/en-us/intel-ipp).

SLAM

1、PTAM

        PTAM (Parallel Tracking and Mapping) is a camera tracking system for augmented reality. It requires no markers, pre-made maps, known templates, or inertial sensors. If you're unfamiliar with PTAM have a look at some videos made with PTAM.

2、Andrew Davison: Software

        For up-to-date SLAM software from my research group please visit the Dyson Robotics Lab Webpage or the older Robot Vision Group Software Page.

3、ORB-SLAM 1 2

4、CoSLAM   Collaborative Visual SLAM in Dynamic Environments

5、GTSAM     Georgia Tech Smoothing and Mapping library

GTSAM is a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.

On top of the C++ library, GTSAM includes a MATLAB interface (enable GTSAM_INSTALL_MATLAB_TOOLBOX in CMake to build it). A Python interface is under development.

6、StructSLAM    Visual SLAM with Building Structure Lines

Indoor scenes usually exhibiting strong structural regularities. In this talk, Danping will introduce a novel visual SLAM method that adopts building structure lines as novel features for localization and mapping. The advantages of the proposed method are twofold: 1) line features are easier to be detected and tracked in texture-less scenes; 2) the orientation information encoded in the structure line feature can reduce drift error significantly. Experimental results show that the proposed method performs better than existing methods in terms of stability and accuracy. The talk will present the motivation and implementation in details.

7、LSD-SLAM     Large-Scale Direct Monocular SLAM

8、DSO: Direct Sparse Odometry

DSO is a novel direct and sparse formulation for Visual Odometry. It combines a fully direct probabilistic model (minimizing a photometric error) with consistent, joint optimization of all model parameters, including geometry - represented as inverse depth in a reference frame - and camera motion. This is achieved in real time by omitting the smoothness prior used in other direct methods and instead sampling pixels evenly throughout the images. DSO does not depend on keypoint detectors or descriptors, thus it can naturally sample pixels from across all image regions that have intensity gradient, including edges or smooth intensity variations on mostly white walls. The proposed model integrates a full photometric calibration, accounting for exposure time, lens vignetting, and non-linear response functions. We thoroughly evaluate our method on three different datasets comprising several hours of video. The experiments show that the presented approach significantly outperforms state-of-the-art direct and indirect methods in a variety of real-world settings, both in terms of tracking accuracy and robustness.

9、DTAM     Dense tracking and mapping in real-time

10、KinectFusion

11、Monocular SLAM

Other SLAM and Computer Vision Algorithm find in github

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: