3d12063e0b49c2ac448f05dbf7f96d7e
机器学习计算机视觉基础

上一篇 讲解了机器学习数据集的概念以及如何收集图片数据集。收集到的数据是被训练的对象,那么怎么表示这些数据呢?数据又需要被怎么操作呢?本文为大家讲解计算机视觉基础,帮助大家在后面的课程中更好地理解和训练模型。

计算机视觉

计算机视觉(Computer vision)是一门研究如何使机器“”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。

计算机不同于人眼,它需要使用特定的方式来存储表达图像。

表达

在所有的表达中,最基础的就是像素表达

黑白图

对于黑白图,图像被转换为 01二元矩阵。该矩阵的每个元素代表一个像素,0 代表黑,1 代表白。

灰度图

对于灰度图,每个像素代表灰度的“强度”,取值从 02550 代表黑,255 代表白。

彩色图

对于彩色图,我们一般要选用一种模式来表达不同颜色。一种常见的方式为 RGB(红、绿、蓝)模型。在 RGB 模型中,任何一个彩色图都可以转化为 RGB 这三种颜色表达的叠加

注:因为红、绿、蓝是三原色,所以可以利用它们的叠加表达任何颜色。

RGB 分别代表三种不同的通道(Channel),每个通道就是原始图像在这个通道(颜色)下的表达。每个通道是一个矩阵,所以,RGB 就是三个矩阵叠加在一起的张量

针对像素,大家需要有一个概念,就是像素本身是对真实世界的“采样”。我们把像素用一个整数(0 - 255)来表达,这就意味着将世界的连续信号采样到离散的像素中,一定会有失真。而不同的分辨率,就会带来程度不同的像素表达。所以,大家可以看到近些年,手机相机的像素一直再提升,就是为了能让减少失真

操作

通过以上的描述,大家已经明白计算机图像其实就是线性代数中的某种张量(矩阵)的表示。那么线性代数上的矩阵操作就可以运用到计算机图像中了

卷积

上图中,使用 3x3 的矩阵,围绕着该矩阵的中心点从上到下,从左到右,与原始图(绿色像素)的像素做“內积”得到结果图(蓝色像素)像素,这个操作就叫做卷积。这里的 3x3 矩阵被称为卷积核(Kernel),中心点被称为锚点(Anchor)

大家可以想到,结果图具体长什么样,取决于这个卷积核中的每个元素值与原始图像素做的操作(比如:內积)

均值滤波

现在有一个卷积核如下图所示,并定义与原始图像素做的操作为內积后的平均值

top Created with Sketch.