原文:
www.kdnuggets.com/2016/08/seven-steps-understanding-computer-vision.html
作者:Pulkit Khandelwal,VIT 大学。
如果我们希望机器能够思考,我们需要教会它们看。
1. 谷歌网络安全证书 - 快速开启网络安全职业生涯。
2. 谷歌数据分析专业证书 - 提升你的数据分析能力
3. 谷歌 IT 支持专业证书 - 支持你的组织 IT 事务
-Fei Fei Li,斯坦福人工智能实验室 和 斯坦福视觉实验室的主任
学习和计算使机器能够更好地理解图像的上下文,并构建真正理解智能的视觉系统。大量的图像和视频内容促使科学界理解和识别其中的模式,以揭示我们未曾察觉的细节。计算机视觉从图像中生成数学模型;计算机图形学从模型中绘制图像,最后图像处理将图像作为输入,输出另一张图像。
计算机视觉是一个交叉领域,借鉴了人工智能、数字图像处理、机器学习、深度学习、模式识别、概率图模型、科学计算及大量数学等领域的概念。因此,将此文章作为进入该领域的起点。我会尽可能在这篇文章中覆盖尽可能多的内容,但仍会有许多高级主题和一些有趣的内容可能会被遗漏(也许会在后续文章中提及?)。
步骤 1 - 背景调查
一如既往,通过概率、统计学、线性代数、微积分(包括微分和积分)的本科课程奠定基础。简要了解一下矩阵微积分也会有所帮助。此外,我的经验表明,如果你对数字信号处理有一些了解,会更容易掌握概念。
在实现方面,我建议具备MATLAB和 Python 的背景。查看Sentdex(一个 YouTube 频道),获取你所需的所有 Python 科学编程知识。请记住,计算机视觉完全依赖于计算编程。
你可能还想看看概率图模型(尽管这是一个非常高级的主题)。你可以稍后再回到这方面的内容。
步骤 2 - 数字图像处理
观看杜克大学的 Guillermo Sapiro 教授的视频。课程内容非常全面,包含大量练习。你可以在 YouTube 上找到这些视频,或者等到 2016 年 9 月 Coursera 的下一个课程开始。
参考书籍《数字图像处理》(作者:Gonzalez 和 Woods)。根据课程在 MATLAB 上的示例进行学习。
步骤 3 - 计算机视觉
完成数字图像处理后,下一步是理解各种图像和视频内容应用中公式背后的数学模型。佛罗里达大学的 Mubarak Shah 教授的计算机视觉课程是一个很好的入门课程,涵盖了所有构建高级材料所需的基本概念。
观看这些视频,并通过跟随Georgia Tech 教授 James Hays的计算机视觉课程项目来实现学到的概念和算法。这些作业也在 MATLAB 上进行。不要跳过这些。只有从头实现这些算法和方程,你才能深入理解它们。
步骤 4 - 高级计算机视觉
按照前三个步骤,你将为学习高级材料做好准备。
Coursera 提供的人工视觉中的离散推理为你提供了计算机视觉的概率图模型和数学超负荷。虽然 Coursera 已从网站上移除了这些内容,但你应该能在互联网上找到。事情现在看起来很有趣,并且肯定会让你感受到如何为机器视觉系统构建复杂却简单的模型。这个课程也应该成为你开始阅读学术论文的一个踏脚石。
步骤 5 - 引入 Python 和开源
让我们进入 Python。
有许多包,如OpenCV、PIL、vlfeat等。现在是将其他人构建的包应用到你的项目中的最佳时机。无需从头实现所有功能。
你可以找到许多很好的博客和视频来入门用 Python 编程计算机视觉。我推荐这本书,它应该足够了。去试试吧!看看 MATLAB 和 Python 如何帮助你实现算法。
步骤 6 - 机器学习和卷积神经网络
关于机器学习入门的帖子实在太多了。
查看这里、这里和这里。
从现在开始,你最好坚持使用 Python。快速浏览一下用 Python 构建机器学习系统和Python 机器学习。
在深度学习热潮下,你现在进入了计算机视觉的当前研究工作:卷积神经网络(ConvNets)的使用。斯坦福大学的 CS231n: 视觉识别中的卷积神经网络是一个全面的课程。虽然官方网页上的视频已被删除,但你可以很容易地在 Youtube 上找到重新上传的内容。
步骤 7 - 我应该如何进一步探索?
你可能觉得我已经给了你太多信息。但还有很多东西需要探索。
一个好的方法是查看一些多伦多大学的 Sanja Fidler和James Hays的研究生研讨课程,从中了解计算机视觉的当前研究方向,通过丰富的学术论文。
另一种可能的方法是关注顶级会议的顶级论文,如 CVPR,ICCV,ECCV,BMVC。或者,你可以关注 pyimagesearch.com 或 computervisionblog.com 或 aishack.in。在 videolectures.net 上观看计算机视觉及相关领域的无尽讲座和演讲!
总之,你已经涵盖了计算机视觉的历史,从滤波器、特征检测器和描述符、相机模型、跟踪器到识别、分割以及最新的神经网络和深度学习进展。在下一篇文章中,我将列出值得关注的顶级博客,在随后的文章中,我将介绍与计算机视觉相关的所有时间最重要的论文。
简介: Pulkit Khandelwal 是麦吉尔大学计算机科学硕士的新生。他的兴趣在于计算机视觉和机器学习。
相关内容:
-
理解深度学习的 7 个步骤
-
理解 NoSQL 数据库的 7 个步骤
-
掌握数据科学 SQL 的 7 个步骤