机器视觉入门经典书籍推荐

电子说

1.3w人已加入

描述

  本文主要是关于机器视觉的相关介绍,并着重对机器视觉入门经典书籍进行了详尽的阐述。

  机器视觉

  机器视觉是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。

  一个典型的工业机器视觉系统包括:光源、镜头(定焦镜头、变倍镜头、远心镜头、显微镜头)、 相机(包括CCD相机和COMS相机)、图像处理单元(或图像捕获卡)、图像处理软件、监视器、通讯 / 输入输出单元等。

  系统可再分为

  一、采集和分析分开的系统。

  主端电脑(Host Computer)

  影像撷取卡(Frame Grabber)与影像处理器

  影像摄影机

  定焦镜头镜头

  显微镜头

  照明设备

  Halogen光源LED光源

  高周波萤光灯源

  闪光灯源

  其他特殊光源

  影像显示器

  LCD

  机构及控制系统

  PLC、PC-Base控制器

  精密桌台

  伺服运动机台

  二、采集和分析一体的系统

  智能相机(图像采集和分析一体)

  其他配套外围设备:光源、显示、PLC控制系统等等。

  工作原理编辑

  机器视觉检测系统采用CCD照相机将被检测的目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号,图像处理系统对这些信号进行各种运算来抽取目标的特征,如面积、数量、位置、长度,再根据预设的允许度和其他条件输出结果,包括尺寸、角度、个数、合格 / 不合格、有 / 无等,实现自动识别功能。

  典型结构

  一个典型的机器视觉系统包括以下五大块:

  照明

  照明是影响机器视觉系统输入的重要因素,它直接影响输入数据的质量和应用效果。由于没有通用的机器视觉照明设备,所以针对每个特定的应用实例,要选择相应的照明装置,以达到最佳效果。光源可分为可见光和不可见光。常用的几种可见光源是白炽灯、日光灯、水银灯和钠光灯。可见光的缺点是光能不能保持稳定。如何使光能在一定的程度上保持稳定,是实用化过程中急需要解决的问题。另一方面,环境光有可能影响图像的质量,所以可采用加防护屏的方法来减少环境光的影响。照明系统按其照射方法可分为:背向照明、前向照明、结构光和频闪光照明等。其中,背向照明是被测物放在光源和摄像机之间,它的优点是能获得高对比度的图像。前向照明是光源和摄像机位于被测物的同侧,这种方式便于安装。结构光照明是将光栅或线光源等投射到被测物上,根据它们产生的畸变,解调出被测物的三维信息。频闪光照明是将高频率的光脉冲照射到物体上,摄像机拍摄要求与光源同步。

  镜头

  FOV(Field of Vision)=所需分辨率*亚象素*相机尺寸/PRTM(零件测量公差比)

  镜头选择应注意:

  ①焦距②目标高度 ③影像高度 ④放大倍数 ⑤影像至目标的距离 ⑥中心点 /节点⑦畸变

  视觉检测中如何确定镜头的焦距

  为特定的应用场合选择合适的工业镜头时必须考虑以下因素:

  · 视野 - 被成像区域的大小。

  · 工作距离 (WD) - 摄像机镜头与被观察物体或区域之间的距离。

  · CCD - 摄像机成像传感器装置的尺寸。

  · 这些因素必须采取一致的方式对待。如果在测量物体的宽度,则需要使用水平方向的 CCD 规格,等等。如果以英寸为单位进行测量,则以英尺进行计算,最后再转换为毫米。

  参考如下例子:有一台 1/3” C 型安装的 CCD 摄像机(水平方向为 4.8 毫米)。物体到镜头前部的距离为 12”(305 毫米)。视野或物体的尺寸为2.5”(64 毫米)。换算系数为 1” = 25.4 毫米(经过圆整)。

  FL = 4.8 毫米 x 305 毫米 / 64 毫米

  FL = 1464 毫米 / 64 毫米

  FL = 按 23 毫米镜头的要求

  FL = 0.19” x 12” / 2.5”

  FL = 2.28” / 2.5”

  FL = 0.912” x 25.4 毫米/inch

  FL = 按 23 毫米镜头的要求

  注:勿将工作距离与物体到像的距离混淆。工作距离是从工业镜头前部到被观察物体之间的距离。而物体到像的距离是 CCD 传感器到物体之间的距离。计算要求的工业镜头焦距时,必须使用工作距离

  高速相机

  按照不同标准可分为:标准分辨率数字相机和模拟相机等

  。要根据不同的实际应用场合选不同的相机和高分辨率相机:

  按成像色彩划分,可分为彩色相机和黑白相机;

  按分辨率划分,像素数在38万以下的为普通型,像素数在38万以上的高分辨率型;

  按光敏面尺寸大小划分,可分为1/4、1/3、1/2、1英寸相机;

  按扫描方式划分,可分为行扫描相机(线阵相机)和面扫描相机(面阵相机)两种方式;(面扫描相机又可分为隔行扫描相机和逐行扫描相机);

  按同步方式划分,可分为普通相机(内同步)和具有外同步功能的相机等。

  图像采集卡

  图像采集卡只是完整的机器视觉系统的一个部件,但是

  它扮演一个非常重要的角色。图像采集卡直接决定了摄像头的接口:黑白、彩色、模拟、数字等等。

  比较典型的是PCI或AGP兼容的捕获卡,可以将图像迅速地传送到计算机存储器进行处理。有些采集卡有内置的多路开关。例如,可以连接8个不同的摄像机,然后告诉采集卡采用那一个相机抓拍到的信息。有些采集卡有内置的数字输入以触发采集卡进行捕捉,当采集卡抓拍图像时数字输出口就触发闸门。

  机器视觉入门经典书籍推荐

  1. 线性代数 (Linear Algebra):

  我想国内的大学生都会学过这门课程,但是,未必每一位老师都能贯彻它的精要。这门学科对于Learning是必备的基础,对它的透彻掌握是必不可少 的。我在科大一年级的时候就学习了这门课,后来到了香港后,又重新把线性代数读了一遍,所读的是

  Introduction to Linear Algebra (3rd Ed.) by Gilbert Strang.

  这本书是MIT的线性代数课使用的教材,也是被很多其它大学选用的经典教材。它的难度适中,讲解清晰,重要的是对许多核心的概念讨论得比较 透彻。我个人觉得,学习线性代数,最重要的不是去熟练矩阵运算和解方程的方法——这些在实际工作中MATLAB可以代劳,关键的是要深入理解几个基础而又 重要的概念:子空间(Subspace),正交(Orthogonality),特征值和特征向量(Eigenvalues and eigenvectors),和线性变换(Linear transform)。从我的角度看来,一本线代教科书的质量,就在于它能否给这些根本概念以足够的重视,能否把它们的联系讲清楚。Strang的这本书 在这方面是做得很好的。

  而且,这本书有个得天独厚的优势。书的作者长期在MIT讲授线性代数课(18.06),课程的video在MIT的Open courseware网站上有提供。有时间的朋友可以一边看着名师授课的录像,一边对照课本学习或者复习。

  http://ocw.mit.edu/OcwWeb/Mathematics/18-06Spring-2005/CourseHome/index.htm

  2. 概率和统计 (Probability and Statistics):

  概率论和统计的入门教科书很多,我目前也没有特别的推荐。我在这里想介绍的是一本关于多元统计的基础教科书:

  Applied Multivariate Statistical Analysis (5th Ed.) by Richard A. Johnson and Dean W. Wichern

  这本书是我在刚接触向量统计的时候用于学习的,我在香港时做研究的基础就是从此打下了。实验室的一些同学也借用这本书学习向量统计。这本书 没有特别追求数学上的深度,而是以通俗易懂的方式讲述主要的基本概念,读起来很舒服,内容也很实用。对于Linear regression, factor analysis, principal component analysis (PCA), and canonical component analysis (CCA)这些Learning中的基本方法也展开了初步的论述。

  之后就可以进一步深入学习贝叶斯统计和Graphical models。一本理想的书是

  Introduction to Graphical Models (draft version)。 by M. Jordan and C. Bishop.

  我不知道这本书是不是已经出版了(不要和Learning in Graphical Models混淆,那是个论文集,不适合初学)。这本书从基本的贝叶斯统计模型出发一直深入到复杂的统计网络的估计和推断,深入浅 出,statistical learning的许多重要方面都在此书有清楚论述和详细讲解。MIT内部可以access,至于外面,好像也是有电子版的。

  3. 分析 (Analysis):

  我想大家基本都在大学就学过微积分或者数学分析,深度和广度则随各个学校而异了。这个领域是很多学科的基础,值得推荐的教科书莫过于

  Principles of Mathematical Analysis, by Walter Rudin

  有点老,但是绝对经典,深入透彻。缺点就是比较艰深——这是Rudin的书的一贯风格,适合于有一定基础后回头去看。

  在分析这个方向,接下来就是泛函分析(Functional Analysis)。

  Introductory Functional Analysis with Applications, by Erwin Kreyszig.

  适合作为泛函的基础教材,容易切入而不失全面。我特别喜欢它对于谱论和算子理论的特别关注,这对于做learning的研究是特别重要的。 Rudin也有一本关于functional analysis的书,那本书在数学上可能更为深刻,但是不易于上手,所讲内容和learning的切合度不如此书。

  在分析这个方向,还有一个重要的学科是测度理论(Measure theory),但是我看过的书里面目前还没有感觉有特别值得介绍的。

  4. 拓扑 (Topology):

  在我读过的基本拓扑书各有特色,但是综合而言,我最推崇:

  Topology (2nd Ed.) by James Munkres

  这本书是Munkres教授长期执教MIT拓扑课的心血所凝。对于一般拓扑学(General topology)有全面介绍,而对于代数拓扑(Algebraic topology)也有适度的探讨。此书不需要特别的数学知识就可以开始学习,由浅入深,从最基本的集合论概念(很多书不屑讲这个)到Nagata- Smirnov Theorem和Tychonoff theorem等较深的定理(很多书避开了这个)都覆盖了。讲述方式思想性很强,对于很多定理,除了给出证明过程和引导你思考其背后的原理脉络,很多令人 赞叹的亮点——我常读得忘却饥饿,不愿释手。很多习题很有水平。

  

  5. 流形理论 (Manifold theory):

  对于拓扑和分析有一定把握时,方可开始学习流形理论,否则所学只能流于浮浅。我所使用的书是

  Introduction to Smooth Manifolds. by John M. Lee

  虽然书名有introduction这个单词,但是实际上此书涉入很深,除了讲授了基本的manifold, tangent space, bundle, sub-manifold等,还探讨了诸如纲理论(Category theory),德拉姆上同调(De Rham cohomology)和积分流形等一些比较高级的专题。对于李群和李代数也有相当多的讨论。行文通俗而又不失严谨,不过对某些记号方式需要熟悉一下。

  虽然李群论是建基于平滑流形的概念之上,不过,也可能从矩阵出发直接学习李群和李代数——这种方法对于急需使用李群论解决问题的朋友可能更加实用。 而且,对于一个问题从不同角度看待也利于加深理解。下面一本书就是这个方向的典范:

  Lie Groups, Lie Algebras, and Representations: An Elementary Introduction. by Brian C. Hall

  此书从开始即从矩阵切入,从代数而非几何角度引入矩阵李群的概念。并通过定义运算的方式建立exponential mapping,并就此引入李代数。这种方式比起传统的通过“左不变向量场(Left-invariant vector field)“的方式定义李代数更容易为人所接受,也更容易揭示李代数的意义。最后,也有专门的论述把这种新的定义方式和传统方式联系起来。

  结语

  关于机器视觉的相关介绍就到这了,如有不足之处欢迎指正。

相关阅读推荐:什么是机器视觉,有何实际意义

相关阅读推荐:关于机器视觉的一些事

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分