首先给大家说几点:看我的自我介绍对于学习这本书没有任何帮助,如果你是为了急切的想找一个视觉测量的解决方案那可以跳过自我介绍往下看或者换一篇博客看看,如果你是刚入门想学习计算机视觉的同学,那整篇文章读完你可能会觉得一无所获也可能会收获到意想不到的东西,接下来是我的自我介绍。
我,一个普普通通的大高个,今年大学刚毕业,以前写博客的初衷是想记录一下自己学习的过程,所以哈我的博客很随性,有突发奇想的创作、连续学习的笔记、简简单单的应用…有的粉丝问我一些系列还有更新吗?答案是肯定的,首先澄清一点,有一些以前的博客被我删除了,可能有的粉丝之前关注收藏了,后来看不到了,在此说一声抱歉,后续会更新的,删除的原因是在某天我回顾我的博客时,感慨之下删除了40篇博客,觉得质量不高(主要粉丝放映有的博客图片不显示了),越学越菜的感觉激励我接下来更新的每一篇博客都尽力向高质量看齐吧。
一次偶然的机会,我发现非计算机视觉专业的人对普通的相机和工业相机有认知上的不同。
同样都是相机:
为什么工业相机拍摄时还需要光源?
为什么工业相机拍远处物体需要图像矫正?
为什么在检测面板上面板颜色和被检测物颜色相近就很难检测?
为什么一些情况我们人眼能区分但是在图像处理方面不好实现?
普通的USB摄像头能不能替代工业相机?
上述只是我列出的部分问题,虽然我尽力为其解答,但是最终还是把我问的无话可说。不全面考虑环境因素分析影响成像效果的图像处理只能是纸上谈兵,在我看来实际应用就得多看、多想,不但要知其然还要知其所以然。在我看来图像就是矩阵,可能没有学过很难理解,这就应了那句话“各行如隔山”。
我和我的导师提起这件事,我的导师给我列了两个公式计算出了选型时所需的一些参数,我突然意识到,为啥我没有想到呢?我庆幸毕业时候我只把书都寄回来了(运费比书的价格高,但是书的价值高),我忙翻出了那本《视觉测量技术基础》,是的,有讲呀,实际应用的时候到了!我决定利用工作的空余时间去把这本书看完,以通俗易懂的文字记录我的学习过程。如果是大牛看我这篇博客可能学不到啥哈,如果小白那应该会让你对视觉测量有一定的了解,书中的每一行我不会精读(注:要是前言都精读那写博客的时候我难受,看的时候你兴许都没有看下去的耐心了),例如前言之类的,可能也就像论文摘要那样一笔带过了。其中一些推导过程我会手写或代码实现,跟着我来看看吧,看这篇博客时候可以吃着零食喝着可乐,注意别撒电脑上面就行。
注意:本篇博客本不会去解析书上每一个公式,例如辐射度量计算公式这一类的物理学推倒公式,但是会去解析一些与图像处理相关的公式,每一章节的学习不会按部就班的把所有的内容深度的解析,只会涉及一些我感兴趣且小白易于接受的内容。
映入眼帘的是书籍封面上好多束光与三个不同样式的电子显微镜,打开书,我的书中掉出了很多张纸,源于我每次上课都要手写笔记的习惯,这是在小学就养成的习惯了,在此特别要感谢我的父亲,从小学到初中便答应我以5元每张手写笔记的价格回收我的笔记(其实我也算不清多少笔记了,始终也没正式的兑换过,也没有具体的交易时间与地点,因为是一次性兑换原则,我总想攒着买电脑,后来养成习惯了,也就不在意回不回收的问题了)。
1.Marr视觉理论从信息处理系统角度将系统研究分为:计算理论层次、表达与算法层次、硬件实现层次,通俗讲就是:1.解决什么问题,怎么计算,为什么这么算;2.定义计算的方法以及输入输出的意义,建立关系;3.硬件部署;
2.Marr从视觉理论角度出发,通过早、中、后期的视觉处理将原始二维图像到三维环境的表示;
3.基于其输入什么就处理什么、目的总是恢复场景中物体的位置与形状、不足够重视高层知识的指导作用以及无反馈的不足,提出了改进。其实通俗来说就是:我们眼睛都是主动去看、主动去选、可根据我们的意识去判断与调整的反馈机制;
1.输入设备:各种探测成像的设备,例如:相机;
2.低层视觉:图像滤波、增强、边缘检测、角点检测等,我通常用opencv去实现这些效果;
3.中层视觉:立体视觉、测距成像、运动估计;一些2.5维的信息;
4.高层视觉:建立三维物体的完整图像、位置与方向;
5.体系架构:在高度抽象的层次上,根据系统模型而非实际设计的例子来研究系统的结构;书上举例说根据清朝时期的建筑风格和根据这种风格设计出来的具体建筑之间的区别。
1.多义性:图像是二维的丢失了深度信息,例如在不同角度拍摄同一物体图像差异很大,我们能理解其是一个物体是因为我们可以从触觉、视觉等不同角度感受这个物体,而对于计算机来说却是不可想象的;
2.环境因素:光源角度、方向、空气条件、物体颜色、相机的空间位置等都会对图像产生影响;就例如本篇博客开头“事件背景”中提到的非计算机视觉专业的人可能不会去考虑那么多,但是实际应用可能就是平台旁边的一扇窗户的开关都得考虑进去,可能就因为一扇窗户的开启,人眼看着没有区别的图像在计算机看来天差地别。
3.需要让计算机去理解自然景物需要大量的数据集,需要人员去标注,这就引出了深度学习。通俗来讲,计算机就是一个孩子,看的多了也就会了,一幅图像我告诉计算机其是什么,那实现的是分类,我需要计算机检测出其中某一物体在图像中的位置,首先需要大量的数据集进行标注也就是人工去画框框然后存成特定格式作为输入去训练模型,有训练集、测试集、验证集,就像考试刷题一样,做的多了就会了。
有摄像头的地方就可以做视觉检测,应用例如:三维重建、缺陷检测、机器人导航等。可以说视觉是一个很有发展前景的方向。
明暗对比:白盘子中找黑李子,黑盘子中找白米饭肯定比白盘子中找白米饭来得容易,但是注意这只是相对的,如果打了一束强光射到盘子上面,可能什么都看不到,故引出另外一点就是:物体的亮度不仅取决于其照明与其反射系数,环境亮度不同可产生不同的亮度感觉。
电磁波的频率范围广,涵盖宇宙射线到无线电波,电磁波按照波长列成可视化的图表即电磁波谱。
0.38~0.78μm波长的电磁波能引起人眼视觉感,此范围内的便称之为光辐射。
1.热辐射光源(白炽灯、卤钨灯)
2.气体放电光源(汞灯、低压钠灯)
3.LED光源(磷化镓LED(加入锌和氧时发红光、锌和氮时发绿光)、砷化镓LED(可产生高频光束)、磷砷化镓LED(可制成发光颜色不同的LED))
4.激光光源(固体、气体、液体、半导体、光纤)
1.环形光源:光线与相机光轴近乎平行,均衡、无闪烁、无阴影。例如工业显微、工件检测、电路板检测等;
2.低角度环形光源:光线与相机光轴近乎垂直,为反光物提供360°无反光照明,均匀,适用于微不平坦的表面。例如高反射材料表面、晶片玻璃划痕及污垢、刻印字符、圆形工件边缘、瓶口缺损检测等;
3.均匀背景光源:突出物体外形轮廓、低发热、光线均匀、无闪烁,适用于轮廓检测、尺寸测量、透明物体缺陷检测,如外形检测;
4.条形光源:适用于较大被检测物的表面照明,亮度与安装角度可调、均衡、无闪烁。例如:金属表面裂缝检测、胶片和纸片包装破损检测、定位标记检测等;超市中扫描条形码就使用条形光源;
5.碗状光源:具有积分效果的半球面内壁。均匀反射从底部36°发射出的光线,使整个图像的照度非常均匀。适用于透明物体内部或立体表面检测(玻璃瓶、滚珠、不平整表面、焊接检测、线缆检测等);
6.同轴光源:光线与相机光轴平行且同轴,可消除因物体表面不平整引起的阴影从而减少干扰。适用于反射度极高的物体(金属、玻璃、胶片、晶片等)表面划伤检测,如金属面划痕检测。
采样是啥?
一张照片经过采样后变成离散图像,采样点即像素,图像就是一个WxH的矩阵,W和H越大相当于图像分辨率越高、数据量越大、失真越小。这里简单写一个关于采样的程序,模拟采样的过程。
量化是啥?
将采样点亮度值离散化,即将亮度连续变化的区间转换成单个特定数码的过程。
- 均衡量化:原图像灰度层从最暗至最亮均匀分为有限个层次;
- 非均匀量化:即不均匀;
文件格式 | 应用背景 | 数据压缩方式 |
---|---|---|
BMP | Windows | 改进的LZ77压缩法 |
TIFF | 支持多平台与操作系统 | RLE |
GIF | 网上图像在线传输 | RLE、Huffman、LZW(字典压缩)等 |
JPEG | 存储照片图像 | RLE4、RLE8或不压缩 |
依据图像动与不动分为静止图像和运动图像;
依据图像维数可分为二维和三维;
依据图像辐射波长不同可分为X射线图、紫外线图、可见光图像、红外线图像、微波图像等;
依据图像的强度或颜色等级划分可分为二值图像、灰度图像、索引图像、RGB图像;
依据成像传感器类别划分,图像可分为电视图像、红外图像、雷达图像、超声图像、X射线、核磁共振图像。
红、绿、蓝为三基色。