Computer Vision: OpenCV, Feature Tracking, and Beyond--From <<Make Things See>> by Greg

In the 1960s, the legendary Stanford artificial intelligence pioneer, John McCarthy, famously gave a graduate student the job of “solving” computer vision as a summer project. It has occupied an entire community of academic researchers for the past 40 years. And, in many ways, the first real breakthroughs have only come in the last decade or so, with the Kinect being one of the crown jewels of these recent developments.

One major product of the last 40 years of computer vision research is an open source library called OpenCV (http://opencv.willowgarage.com).

And, lucky for us, there’s a great library that makes it really easy to use OpenCV with Processing: OpenCV for Processing http://ubaa.net/shared/processing/opencv/). 

The documentation for that library will get you started, and O’Reilly’s book on the topic is the definitive reference: Learning OpenCV by Gary Bradski and Adrian Kaehler (http://shop.oreilly.com/product/9780596516130.do).

OpenCV’s tools are designed to process individual images. While we can use them to analyze recorded footage or live video, very few of them actually account for the movement of objects over time. In the last decade or so,  though, researchers have developed new techniques that use the time dimension of oving images to extract additional information. This has led to a number of breakthrough techniques including camera tracking, panorama stitching, and 3D scene reconstruction. All of these applications are based on the fundamental idea called “feature detection.” The software starts with a single still frame. It detects small pieces of this frame that are particularly recognizable, called “features.” Then, when examining subsequent frames, the software looks for the same features in adjacent

parts of the image to see if they’ve moved. If these features correspond to parts of the world that are themselves fixed (for example, the corner of a windowsill or the edge of fence post), then the movement of the features tells you about the movement of the camera itself. If you track enough of these features, you can combine the multiple frames into a single panorama, calculate the movement of the camera, or if your camera is a depth camera, build a full 3D reconstruction of the entire scene or room.

If you want to learn more about feature tracking and the other advanced techniques that have arisen in recent computer vision research, I highly recommend Computer Vision: Algorithms and Applications by Richard Szeliski of Microsoft Research (http://szeliski.org/Book). It presents a rigorous approach to the contemporary state of the art. The book arose from Szeliski’s teaching work at the University of Washington computer science department and so definitely has some math in it. However, if you’re excited about the field, and you go slowly and use the Internet to fill in the gaps in your background, there’s no better way to really dive deeply into the field.

Computer Vision: OpenCV, Feature Tracking, and Beyond--From <<Make Things See>> by Greg

时间: 2024-12-14 18:42:20

Computer Vision: OpenCV, Feature Tracking, and Beyond--From <<Make Things See>> by Greg的相关文章

[新书推荐]A Practical Introduction to Computer Vision with OpenCV

一本opencv好书,  在我上传的资源里 http://download.csdn.net/detail/qq_21970857/8504829 Computer Vision is a rapidly expanding area and it is becomingprogressively easier for developers to make use of this field dueto the ready availability of high quality librari

翻译:Mastering OpenCV with Practical Computer Vision Projects(第8章)(二)

/******************************************************************************************************************************************************************************************翻译:Mastering 请接着上一篇:OpenCV with Practical Computer Vision Proje

Computer Vision Algorithm Implementations

Participate in Reproducible Research General Image Processing OpenCV (C/C++ code, BSD lic) Image manipulation, matrix manipulation, transforms Torch3Vision (C/C++ code, BSD lic) Basic image processing, matrix manipulation and feature extraction algor

Computer vision:algorithm and application 计算机视觉算法与应用

最近在看Computer vision:algorithm and application计算机视觉算法与应用这本书,感觉对机器视觉学习很好的一本书,下面对书本知识和网上的资源作个总结. 先从后面的附录开始看,其中包括数据集站点,相关机器视觉软件和参考文献,对今后算法学习与实现有用. 下面是学长整理的一些资料,现在搬过来学习学习: 以下是computer vision:algorithm and application计算机视觉算法与应用这本书中附录里的关于计算机视觉的一些测试数据集和源码站点,

My Reading List - Machine Learning &amp;&amp; Computer Vision

本博客汇总了个人在学习过程中所看过的一些论文.代码.资料以及常用的资源与网站,为了便于记录自身的学习过程,将其整理于博客之中. Machine Learning (1) Machine Learning Video Library - Caltech说明:罗列了机器学习的常用算法以及机器学习图谱 (2) Deep Learning - Bengio 说明:Deep Learning三大牛之一Bengio写的一本书 (3) Understanding LSTM Networks 说明:非常棒的LS

Analyzing The Papers Behind Facebook&#39;s Computer Vision Approach

Analyzing The Papers Behind Facebook's Computer Vision Approach Introduction You know that company called Facebook? Yeah, the one that has 1.6 billion people hooked on their website. Take all of the happy birthday posts, embarrassing pictures of you

Computer Vision的尴尬---by林达华

Computer Vision的尴尬---by林达华 Computer Vision是AI的一个非常活跃的领域,每年大会小会不断,发表的文章数以千计(单是CVPR每年就录取300多,各种二流会议每年的文章更可谓不计其数),新模型新算法新应用层出不穷.可是,浮华背后,根基何在?对于Vision,虽无大成,但涉猎数年,也有管窥之见.Vision所探索的是一个非常复杂的世界,对于这样的世界如何建模,如何分析,却一直没有受普遍承认的理论体系.大部分的研究工作,循守着几种模式:o    从上游学科(比如立

Deep Learning for Computer Vision with MATLAB and cuDNN(译文)

翻译水平有限,欢迎阅读原文 一.深度学习 当前,深度学习已经成为一个热门话题.随着深度学习算法和GPU技术的发展,我们已经能够解决许多领域(计算机视觉.自然语言处理和机器人学)曾经认为不可能的事情. 深度学习是建立在传统的深度神经网络之上的.最近几年的热点是大数据集和强大的GPUs的使用.神经网络本质上是一种并行算法,因此多核GPUs的使用能够明显的减少用于训练深度神经网络的时间.以下,我将会讨论如何使用MATLAB以及深度卷积神经网络和GPUs开发一个对象识别系统 二.为什么将深度学习用于计算

Computer Vision 学习 -- 图像存储格式

本文把自己理解的图像存储格式总结一下. 计算机中的数据,都是二进制的,所以图片也不例外. 这是opencv文档的描述,具体在代码里面,使用矩阵来进行存储. 类似下图是(BGR格式): 图片的最小单位是像素,这里是BGR(通常我们说的blud.green.red的表示法)表示每个像素对应的值(这里BGR的混合,可以得到我们可见光的所有值). 如果是单通道(例如:灰度化之后的图像,这里就只有一列) 参考可见光光谱: 因为物体都是原子组成,原子都在运动,运动会产生光波,不同的物体生成的光波不一样,人类