计算机视觉新手指南

时间:2022-11-27 09:56:10

✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。

????个人主页:算法工程师的学习日志

计算机视觉其实是通过摄像头采集的画面去模拟人眼识别物体,这是个很广泛的学科,应用也很多。

计算机视觉新手指南

机器如何去看世界:

A. 用数字表示颜色:在计算机科学中,每种颜色都由指定的十六进制值来表示。机器通过这种编码方式,来了解图像像素是由什么颜色组成的。而作为人类,我们天生就拥有基因来区分不同色调。

计算机视觉新手指南

B. 图像分割:使计算机识别出相似的颜色组,然后分割图像,即将前景与背景区分开。颜色渐变技术被用来查找不同对象的边缘。

计算机视觉新手指南

C. 查找角点:分割后,查找图像中的某些特征,也称为角点(corners)。简而言之,算法会搜索以一定角度相交的线,并以一种颜色的阴影覆盖图像的特定部分。角点(也称为特征)构建基块,可帮助查找图像中包含的更详细信息。

计算机视觉新手指南

D. 查找纹理:确定图像中的纹理是正确识别图像的另一个重要因素。两个对象之间的纹理差异使机器正确地对对象进行更容易地分类。

计算机视觉新手指南

E. 做出猜测:执行上述步骤后,机器需要做出接近正确值的预测或者推断,并将图像与数据库中存在的图像进行匹配。

计算机视觉新手指南


F. 最后,看大图!最后,一台机器会看到更大、更清晰的画面,并根据所提供的算法指令检查是否正确地识别了该画面。在过去的几年中,准确性得到了很大的提高,但是当机器被要求处理带有混合物体的图像时,机器仍然会犯错误。

计算机视觉领域需要了解的基础知识点。

A.初学者水平
数学:

  • 线性代数

图像处理:

  • 杜克大学在Coursera上提供的在线课程

B.高级水平

  • 线性判别分析

要获得有关理论和技术(尤其是算法)的实践知识,请从计算机视觉的角度开始学习OpenCV:

  • 学习OpenCV:使用OpenCV库的计算机视觉(https://www.amazon.com/Learning-OpenCV-Computer-Vision-Library/dp/0596516134)
  • Tombone的计算机视觉博客(http://www.computervisionblog.com/)

同样,如果你使用其他语言编程,则还需要更多的开源库。

你还应该了解领域中科学研究的关键工作,在这里你可以从中学习它们:

  • SIFT:通用视觉的经典描述符

必读书籍清单包括:

入门级:

  1. 计算机视觉:算法与应用
  1. 计算机视觉:现代方法David A. Forsyth,Jean Ponce
  1. 计算机视觉中的多视图几何。作者:Richard Hartley,Andrew Zisserman

高级水平—走向深度学习

  1. Michael Nielsen的“神经网络和深度学习”在线书;这是一个非常棒而温和的介绍:神经网络和深度学习
  1. Ian Goodfellow,Yoshua Bengio和Aaron Courville撰写的深度学习书

TED观看演讲:

  1. 李飞飞:我们如何教计算机理解图片
  1. BlaiseAgüera和Arcas:PhotoSynth如何连接世界图像
  1. 浅川千惠子:新技术如何帮助盲人探索世界

  1. 詹妮弗·希利:如果汽车可以说话,则事故可以避免

  1. 戈兰·莱文(Golan Levin):回望你的艺术

  1. Paul Debevec:制作真实照片的数字脸动画

  1. 戈兰·莱文:软件艺术

在线课程:

入门级:

  • Udacity:计算机视觉概论

高级水平—走向深度学习

  • 杰夫·欣顿(Geoff Hinton)在Coursera上的神经网络讲座

讲座课程:

  • 计算机视觉中的深度学习(Sanja Fidler教授)