计算机视觉处理对象——图像/视频

1、引言

  计算机视觉或多模态视觉处理的对象都有图像/视频。图像/视频对我们现在人来说是非常常见的,各种网站,app都充斥着大量的图像或视频,我们从这些图像/视频中可获取大量信息:比如图像中有哪些东西,可能的空间位置和行为等等。我们用成像设备拍摄的图像/视频通关显示屏能再现当时的画面。图像/视频中最主要的信息是颜色信息,颜色信息不同导致物体的边界、纹理等等。为什么图像/视频可以把当时场景记录下来呢?图像/视频在计算机中的本质是什么?显示器是怎么恢复图像内容的?这里涉及图像成像、人类视觉感知以及显示器的原理。

2、人类视觉系统

2.1 人类视觉概览

  下图是人类视觉系统示意图,眼睛主要负责对外界的感知,把光学信号转换成电信号,电信号经过神经网络的处理进行成像和对场景的分析。


人类视觉系统示意图
  我们可以感受到物体的颜色、形状、纹理等等。纹理和物体表面的颜色、粗糙程度有关,形状和物体的颜色、距离等有关;颜色就是物体表面反射的光。我们主要讨论二维图像,即主要了解人是如何感知颜色信息。

  人类视觉系统感知颜色的功能主要是在人眼。人眼的功能类似于相机,主要对外界信号进行感知,并将光学信号转换成电信号,传给神经系统进行处理。

2.2 人眼

  下图是人眼的解剖图。物体反射的光线经过眼角膜折射后进入晶状体,然后进入到视网膜,最后光线聚集成像。


人眼解剖示意图
  对光线进行第一步的感知是在视网膜这进行的。下图是视网膜感知光线的示意图。

视网膜感知光线示意图
  视网膜由多层细胞类型组成,每一层细胞都有其特定的功能:
  1. 光感受器细胞:包括视杆细胞(rods)和视锥细胞(cones)。视杆细胞对光敏感,主要在低光条件下工作,负责黑白视觉;视锥细胞对颜色敏感,主要在明亮光线下工作,负责色觉和高分辨率视觉。
  2. 双极细胞(Bipolar cells):连接光感受器细胞和神经节细胞,起到信号传递的作用。
  3. 神经节细胞(Ganglion cells):接受来自双极细胞的信号,并通过视神经将这些信号传递到大脑。
  4. 水平细胞(Horizontal cells)和无长突细胞(Amacrine cells):在光感受器细胞、双极细胞和神经节细胞之间起到侧向连接的作用,负责信号整合和调节。

2.3 颜色感知

  视网膜里感知颜色的细胞是视锥细胞。每种视锥细胞含有不同的感光色素,这些色素能够吸收特定波长的光。例如,红色视锥细胞含有红色感光色素(长波长),绿色视锥细胞含有绿色感光色素(中波长),蓝色视锥细胞含有蓝色感光色素(短波长)。下图是视锥细胞对可见光的响应,从图中可以看出视锥细胞对蓝色、绿色和红色响应是最强烈的。根据这一观察,19世纪的德国科学家赫尔曼·冯·赫尔姆霍茨(Hermann von Helmholtz)和托马斯·杨(Thomas Young)提出了人类感知颜色的三色理论:人类眼睛内有三种不同类型的视锥细胞(Cone Cells),每种视锥细胞对不同波长的光线最为敏感。这三种视锥细胞通常分别对短波长(蓝光)、中波长(绿光)和长波长(红光)的光最为敏感。因此,人眼可以通过这三种视锥细胞的组合来感知所有的颜色。


视锥细胞对不同波长的响应
  三色理论是人类视觉颜色感知的基础,虽然后来也有很多理论,但是被大家认可的都是在三色理论基础上的改进,比如为了解释色盲提出的解释,本质上还是三色理论。

3、图像

  图像的由一个个像素组成的。像素是图像的基本组成单元,视觉上看,每一个像素是一个带有颜色的小方形快,如下图所示,图中的每一个方块是一个像素。


图像的像素
  图像根据是否有色彩可分为彩色图和灰度图。大多数情况下,算法输入的图像是三通道的彩色图像,也就是三通道图。这里的通道是什么意思?通道是描述图像像素同一性质的一串数字,比如在RGB图像中,所有像素的红色分量就是一个通道,绿色是一个通道,蓝色是一个通道。图像显示时候,采用的是RGB三通道的图像,和前面介绍的人类视觉系统对色彩响应对应。

  下图是图像及其在内存中的数据,下方黑色数据用了3层中括号[]将数据包裹起来,最里面一层的中括号包含了三个数据,如第一行[10 13 4],这三个数据表示第一个像素的像素值,也就是一个像素有三个值,对应了三个通道。在opencv中,默认的读取图像的三个通道是BGR,也就是这个像素的蓝色的值是10,绿色的值是13,红色的值是4,这三个值共同作用形成了该像素的颜色。外面两层括号表示的是图像的分辨率,即宽高的像素数。图像是怎么在显示器上显示不同颜色的呢?


图像与内存中的数据

4、显示器

  现在我们用的显示器基本上都是液晶显示器,如下图所示。我们使用计算机时都需要用显示器来,不然我们就无法操作电脑。那么对于一张图来说,显示器是怎么显示图像的?


液晶显示器
  根据图像的数据,显示器要能显示图像,就需要显示能接收图像每个像素的三个数据。下图是经过放大后拍摄的液晶显示器,从图像可以看到液晶显示器布满了这些点,这些点就是像素。液晶显示器参数分辨率就是横纵有多少个这样的点。这些像素点由三个发光管组成,称为子像素,分别可发红色、蓝色、绿色的光。图像像素的三个值可以控制这三种光的强弱,而强弱控制和液晶的物理性质有关。

液晶显示器的像素

  液晶最早是由奥地利植物学家莱尼茨尔(Friedrich Reinitzer)发现。在1888年他首先发现一种白色粉末,把它加热到某一温度可以变成乳白色浑浊液体,继续加热则变成透明液体。莱尼茨尔后来将这种材料寄给德国物理学家莱曼(Otto Lehmann)。莱曼在偏光显微镜下仔细观察这种物质,发现这种液体可以显示五彩的图案。这种图案是由双折射引起,而双折射一般是晶体才有的性质,因此他把这种既能流动又有晶体性质的液体命名为“液晶”。液晶是介于固态和液态之间的一种中间相。液晶具有独特的光学性质:光线会沿着液晶的晶体方向传播,所以液晶会扭曲偏振光的方向。通过一定的排列,可以得到所需要的偏振光;而液晶的排列可以通过控制电场获得,如下图所示,偏振光和出光口的方向一致,则光线最亮,如果垂直,则最暗,在平行和垂直之间,则亮度在最暗和最亮之间,越接近垂直,则光亮越弱。


液晶调节亮暗的原理
  而要显示颜色,只需要加入彩色滤光片即可,绿色子像素加绿色滤光片,红色子像素加上红色滤光片,蓝色子像素加上蓝色滤光片。图像像素的每个值控制对应颜色的液晶上的电压,也就控制了每个子像素的亮度,不同亮度的子像素就形成了像素的多彩颜色。

液晶彩色显示示意
  这里还有个问题:人类眼睛看的时候,怎么不是看到一个个子像素的颜色,而是合成后的颜色。这是因为人眼也有分辨率,靠的太近就无法区分开来,形成了融合后的颜色。这种现象在我们日常生活中非常常见,习以为常的认为我们看到所有的颜色都是物体反射的单频率的颜色。我们看到的白光其实就包含了多种颜色。我们眼睛看到的并不是真实的世界,是光线进入眼睛后,经过视觉系统处理后,大脑认为的世界。这一两年生成式大模型的成功让很多人认为人工智能时代要来了,主要原因是生成式模型和人类认识过程一致,都是生成式的。

5、成像

  成像其实就是拍照。拍照对现代人来说非常非常熟悉,因为智能手机的普及,基本上人手一部,智能手机都有拍照功能,打开手机的相机功能,点击中间的拍照标志就可以排出一张照片了。拍照设备能拍出照片,一个关键的元件是CMOS图像传感器,如下图所示。CMOS图像传感器本质是一块芯片,主要包括:感光区阵列(Bayer阵列,或叫像素阵列)、时序控制、模拟信号处理以及模数转换等模块。和普通芯片不一样的是CMOS传感器上的主要部件是像素阵列。像素阵列把光信号转换成电信号。时序控制来控制电信号的读出、传递。模拟信号处理(ADC)实现对信号去噪。


CMOS图像传感器
  CMOS图像传感器感知环境颜色原理如下图所示:

1、 On-chip-lens:该结构可以看作是在感光元件上覆盖的一层微透镜阵列,它用来将光线聚集在像素感光区的开口上。可以增加光电转化效率,减少相邻像素之间的光信号串扰。
2、 Color filter:该结构是一个滤光片,包括红/绿/蓝三种,分别只能透过红色、绿色、蓝色对应波长的光线。该滤光片结构的存在,使得每个像素只能感应一种颜色,另外的两种颜色分量需要通过相邻像素插值得到。
3、 Metal wiring:用于读出感光区的信号。
4、 Photodiode:即光电信号转换器,其转换出的电信号会经过金属排线读出。


CMOS图像传感器

6、YUV

  在做嵌入式(比如监控摄像机)视觉算法开发会遇到YUV颜色空间,“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度、浓度(Chrominance、Chroma)。YUV的发明是由于彩色电视与黑白电视的过渡。黑白视频只有Y(Luma,Luminance)视频。到了彩色电视规格的制定,是以YUV/YIQ的格式来处理彩色电视图像,把UV视作表示彩度的C(Chrominance或Chroma),如果忽略C信号,那么剩下的Y(Luma)信号就跟之前的黑白电视频号相同,这样一来便解决彩色电视机与黑白电视机的兼容问题。YUV的格式主要有420,422,444,在嵌入式设备里用的最多的是YUV420,因为YUV420的数据量少,视频编码传输需要的带宽小。嵌入式里的镜头获取的图像也是RGB的,只是为了传输等原因,转换成YUV420。

7、视觉算法与人类视觉对比

  下图是ChatGPT4-o在不同提示词引导下的回答。图片中没有狗,但是被人引导一下,就对狗进行了自己的描述。虽然在第一个问题的回答上,算法看起来理解了图片中的内容,但是算法并没有真正的理解图片。只是按照自己的某种规则来描述,而无法结合实际情况。
  算法比较容易被人带偏,即使是被认为最好的算法之一。正常情况下人基本上不会被带偏(指鹿为马的情况要去除)。从图片本质上看,人类获得的图片信号和算法获得的基本上等价的,那是什么导致算法对图像的理解会被引导偏?算法的本质是什么?为什么算法达不到人这样的智能?


chatGPT4-o对图的理解

8、总结——路漫漫

  人类视觉是图像成像、图像显示的生理学基础。人类视觉系统主要是对RGB三色进行处理,从而获得相关信息,算法本质上也是对RGB三色进行处理,但是却很难达到人类视觉的这种可靠性。人工智能提出到现在有70来年了,几经波折,虽然这次大模型热潮带来性能的提升让我们看到一些希望,但是仍然没有达到我们想要的程度,而且看起来还是道阻且长。路漫漫其修远兮。

  • 11
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值