社区计算机视觉课程文档

现实生活中的图像处理

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

现实生活中的图像处理

你有没有试过给一窝小猫拍照?如果没有,那你可就错过了一场美丽而混乱的场面。小猫是可爱的小动物,它们会以最疯狂的方式四处移动。它们会做出最可爱的事情,但这只会持续半秒钟,然后它们会用更可爱的事情来超越它。在你意识到之前,你已经向后弯腰,想要把那只小猫框进镜头里,同时还在调整变焦和相机的角度,与此同时,另一只小猫正在爬你的腿。你完全沉浸在它们的毛茸茸中,以至于没有时间查看照片。当你坐下来查看照片时,它们...都...是...模...糊...的。手机上只有一两张照片值得保留。你只能在那里想,我以为小猫会更上镜。

这窝小猫的故事很简单,但它反映了为什么在现实生活中想象事物如此困难。样本(包含小猫的场景)变化的速度通常比相机调整的速度还要快。一个不尝试追踪小猫的固定位置相机也是一项艰巨的任务,因为我们的对象(小猫)在空间中移动的方式会改变相机的焦点。根据物体与相机的距离,更换镜头以捕捉白色区域也可能导致失真(见下面可爱的例子)。感兴趣的事件(小猫的那个可爱的姿势)淹没在数百张其他相当无趣的照片中。我们的小猫例子很傻,但这些困难也发生在各种其他场景中。成像很难。然而,互联网上充斥着可爱的猫咪照片。

Cat kisses showing distortion based on the distance from the object

我们很容易认为,如果我们只是有一个更好的相机,一个反应更快、分辨率更高的相机,那么一切都会解决。我们就能得到我们想要的可爱的照片。此外,我们将利用本课程中的知识来做的不仅仅是捕捉所有可爱的小猫,我们还想在保姆摄像头上构建一个模型,检查小猫是否还和它们的妈妈在一起,这样我们就能知道它们是否都安全无恙。听起来很完美,对吧?

在我们出去购买市场上最新最炫的新相机,认为我们会获得更好的数据之前。训练模型会非常容易。我们将拥有一个超级精确的模型。在小猫追踪市场上获得出色的性能。这段话是为了引导你朝着更有成效的方向前进,并可能为你节省大量时间和金钱。更高的分辨率并不是解决所有问题的答案。首先,用于处理图像的典型神经网络模型是卷积神经网络 (CNN)。CNN 期望给定大小的图像。大型图像需要大型模型。训练将花费更长的时间。你的电脑也很可能在 RAM 方面受到限制。更大的图像尺寸意味着更少的图像用于训练,因为每次迭代的 RAM 将受到限制。

显而易见的解决方案是说我们只是获得一台具有更多 GPU 和更多 RAM 的计算机。这也意味着,除了购买相机之外,你还必须为你将用于训练小猫模型的任何服务支付更多费用。更一般地说,这并不能反映现实世界的场景。有时,计算机模型的实际应用是 GPU 和内存贫乏的应用。等等,这难道不是我们首先遇到的情况吗?我们如何将我们的模型装入保姆摄像头的硬件中?

我们有一个想法:我们将尝试一个更小的模型,使其具有与大型模型相同的行为!顺便说一句,这实际上是可以做到的。但即使这样做,收集尽可能高的质量也可能不是一个好主意,因为它通常需要更长的时间来获取和传输。50Gb 的小猫照片仍然是 50Gb 的数据。无论其内容多么可爱。另一个论点是,计算机资源通常要么是付费的,要么是共享的。在第一种情况下,这可能不是对金钱资源的良好利用。至于第二种情况,占用整个服务器很少是交朋友的好方法。

甚至有更好的理由不追求尽可能高的分辨率。与低分辨率相比,更高的分辨率可能具有更多的噪声。分辨率不仅放大了你捕捉感兴趣信号的能力,而且也放大了你拾取噪声的能力。因此,在较低分辨率的图像上学习某些东西可能更容易。较低的分辨率可能有助于更快的训练、更高的准确性和更便宜的模型,无论是在计算上还是在金钱上。这里的重点是在给定图像的噪声特性以及训练和部署模型所需的基础设施的情况下,尽可能追求最高分辨率。最后,我们一开始为什么要使用高质量的相机?如果我们想在保姆摄像头上构建模型,我们不妨直接从保姆摄像头获取照片。

万物皆可成像

关于成像技术,令人印象深刻的一件事是我们对它们有多么执着。我们永远不知道什么时候应该停止。这不仅适用于小猫的照片,也适用于我们周围的世界。我们天生好奇。正如第一章所见,我们依靠视觉来做决定。当这是一个艰难的决定时,我们希望对它有一个清晰的愿景(不是双关语)。

毫不奇怪,作为一个物种,我们开发了新的观察方式,超越了我们眼睛所能捕捉的范围。我们想要看到大自然一开始不允许我们看到的东西。我几乎可以保证,如果有什么东西是我们不确定它是什么样子的,就会有人试图对其进行成像。

作为人类,我们只能看到光谱的一小部分。我们称之为可见光谱。下图向我们展示了它有多么狭窄

Image showing the visible spectrum compared to the Electromagnetic Spectrum by 
https://open.lib.umn.edu/intropsyc/chapter/4-2-seeing/

为了看到比大自然赋予我们的更多的东西,我们需要传感器来捕捉超出该光谱范围的东西。换句话说,我们需要检测不同波长的东西。红外线 (IR) 用于夜视设备和一些天文观测。磁共振使用强磁场和无线电波来对人体软组织成像。我们创造了不依赖光线的方式来看东西。例如,电子显微镜使用电子进行放大,分辨率比传统光线高得多。超声波是另一个很好的例子。超声波成像利用声波来创建内部器官和组织的详细实时图像,提供了一种非侵入性和动态的视角,超越了标准的光学成像方法所能达到的范围。

然后,我们将巨大的镜头朝向天空,用它们来设想曾经看不见和未知的事物。我们还通过构建 DNA 结构和单个原子的图像将它们指向微小的领域。这两种仪器都基于操纵光线的想法。我们使用不同类型的反射镜或透镜,以我们感兴趣的特定方式弯曲和聚焦光线。

我们对看东西如此着迷,以至于科学家甚至改变了某些动物的 DNA 序列,以便他们可以用一种特殊类型的蛋白质(绿色荧光蛋白,GFP)标记感兴趣的蛋白质。顾名思义,当绿色波长的光照射样品时,GFP 会发出荧光信号。现在,更容易知道感兴趣的蛋白质在哪里表达,因为科学家可以对其成像。

在那之后,就变成了改进这个系统,以便在更长的时间尺度内,以更好的分辨率获得更多的通道。这方面的一个很好的例子是显微镜现在如何在一夜之间生成 TB 级的数据。

这种共同努力的一个很好的例子是下面的视频。在视频中,你看到的是用荧光蛋白标记的鱼的胚胎发育的 3D 图像投影的延时摄影。你在图像上看到的每个彩色点都代表一个单独的细胞。

Fisho Embryo Image adapted from https://www.biorxiv.org/content/10.1101/2023.03.06.531398v2.supplementary-material

成像技术的这种多样性非常惊人。这些光学工具已经成为我们感知宇宙的眼睛。它们为我们提供了洞察力,彻底改变了我们对宇宙和生命本身的理解。我们每天都在使用它来发送我们不在身边的亲人的照片。当医生需要仔细检查时,我们会进行 X 射线检查。孕妇会进行超声波检查以检查她们的宝宝。我们设法对黑洞那么大的东西和电子那么小的东西进行成像,这听起来可能有点神奇,甚至是异想天开。嗯,它确实有点神奇。

对成像的看法

正如我们之前看到的,我们已经习惯了不同的成像方式。现在这只是一件例行公事,但这花费了大量的时间和精力。看起来我们并没有放慢脚步。我们不断地找到新的观察方式。新的成像方式。随着我们继续构建新的仪器以更好地观察,新的故事和谜团将被我们回顾。在这一部分中,我们将说明一些过去已经向我们回顾过的谜团。

照片 51

Picture 51 by By Raymond Gosling/King's College London

第一张 DNA 照片也称为照片 51。他们使用一种基于 DNA 纤维晶体凝胶纤维衍射图像的技术对其进行成像。它是由雷蒙德·戈斯林(Raymond Gosling)于 1952 年 5 月在罗莎琳德·富兰克林(Rosalind Franklin)的指导下拍摄的。它是沃森和克里克于 1953 年构建的双螺旋模型的关键组成部分。关于这张照片有很多争议。部分争议来自罗莎琳德·富兰克林早期工作未被认可的贡献,以及照片与沃森和克里克共享的情况。尽管如此,它对我们理解 DNA 的结构以及此后开发的技术做出了重大贡献。

暗淡蓝点

The Pale Blue Dot By Voyager 1

暗淡蓝点是太空探测器在 1990 年拍摄的照片。地球的尺寸非常小,小于一个像素。这张照片因展示了地球相对于浩瀚太空的渺小和短暂而广为人知。它启发卡尔·萨根写了《暗淡蓝点》一书。这张照片是由旅行者 1 号上的 1500 毫米高分辨率窄角相机拍摄的。该太空探测器还负责拍摄了“太阳系全家福”。

黑洞

事件视界望远镜拍摄的 M87 2019 年 4 月,另一个天文上重要的事件发生了,当时研究人员捕捉到了第一张黑洞图像!它是室女座星系 M87 中心超大质量黑洞的图像,距离地球约 5500 万光年。这张非凡的图像是事件视界望远镜的产物,这是一个全球同步射电天文台网络,它们协同工作,创建了一个与地球一样大的虚拟望远镜。收集的数据量非常庞大,超过 1PB,并且由于其大小,必须物理传输才能进行处理。他们需要结合来自近红外、X 射线、毫米波长和无线电观测的数据。这一成就是事件视界望远镜合作组织多年努力的结晶。

Sag A by Event Horizon Telescope

继 M87* 取得成功之后,天文学家们的目标是对我们银河系中心的人马座 A* 超大质量黑洞进行成像。对人马座 A* 成像提出了独特的挑战,因为它尺寸较小,并且周围环境的快速变化,其变化速度远快于 M87* 等较大黑洞周围的环境。这种快速移动使得难以捕捉到能够准确代表​​人马座 A* 周围结构的稳定图像。就像我们的小猫例子一样!尽管存在这些挑战,但获得的图像对于在极端引力条件下检验爱因斯坦的广义相对论具有重要意义。虽然这些观测至关重要,但它们只是用于检验广义相对论预测的更广泛方法的一部分。

图像,图像,图像

Video of a horse decoded from DNA from https://doi.org/10.1038/nature23017

这是一个有点曲折的例子。它不涉及新的成像方式,而是涉及读取和存档图像的新方式。你看到的上面的 GIF 图像是存储在活细菌 DNA 中的图像。这最初是由一群科学家在 2017 年完成的,以作为概念验证,证明活生物体是存档数据的绝佳方式。为此,他们首先将图像值转换为核苷酸代码(著名的 ATCG)。然后,他们使用一种称为 CRISPR 的系统将该序列放入 DNA 中,该系统能够编辑 DNA。然后,他们重新测序 DNA 并重建了你在下面看到的 gif 图像。

这已经非常令人印象深刻了,但请系好安全带。我们也可以看到它的实际效果!好吧,不是这个精确的例子,而是另一组科学家使用高速原子力显微镜来展示它是如何工作的。这种类型的显微镜使用机械连接到扫描的尖锐尖端。尖端与表面的相互作用会生成样品的拓扑描述。所有这些都是在纳米尺度上进行的。下面的视频显示了 CRIPR-cas-9 系统,即 DNA 编辑器,通过咀嚼 DNA 来完成其第一步。美味!

CRIPRS-Cas9 chewing up DNA adapted from https://doi.org/10.1038/s41467-017-01466-8

还有更多。你有没有想过科学家是如何对 DNA 成像的?信不信由你,这个过程也涉及成像。要了解 DNA 序列,科学家首先需要复制它。这些副本是通过用不同的荧光染料标记核苷酸(我们称之为 ATCG 的东西)来创建的。每个核苷酸一次匹配一个序列。当添加它们时,相机会捕捉图像。荧光颜色给出添加了哪个核苷酸。通过跟踪各个位置,我们可以重建 DNA 分子的序列。这种测序技术超越了重建图像。它用于了解不同的生物过程,并在临床环境中有很多应用。医生可以从这些序列中做各种各样的事情。例如,可以对肿瘤样本进行测序,并用于将其归类为侵袭性或非侵袭性。这会生成高维数据。在高维设置中得出任何结论都很困难,因此他们经常将它们简化为 2D 图像。这些 2D 图像可以像任何图像一样进行处理。这意味着你可以使用 CNN 对其进行分类。令人难以置信,对吧?

图像特征取决于采集方式

无论图像类型如何,所有图像都具有相同的基本特征。它们代表空间分量,通常用矩阵表示。但是,认识到图像的创建方式并不相同至关重要。图像的独特特征来自主题和图像采集方法。换句话说,我们不期望黑洞和 DNA 看起来一样。但是,我们也不期望同一个人的照片和 X 射线看起来相同。

理解图像特征是构建计算机视觉模型的一个非常好的第一步。不仅因为它会影响计算机视觉模型的性能,而且因为它会决定哪些模型更适合你的问题。值得注意的是,并非每种图像类型都需要开发新的神经网络架构。有时,你可以通过微调预先存在的模型或操作最后一层来执行不同的任务来调整预先存在的模型。有时不需要这种操作;相反,采用预处理来使你的图像更类似于网络训练的输入。现在不要太担心这些细节,它们将在本课程的后面章节中讨论。在此处提及它们是为了帮助你理解图像的采集环境为何相关。

对于在不同波长但在相同坐标系中采集的图像,它可以像将每次采集视为不同的颜色通道一样简单。例如,在通过 X 射线和近红外线采集的图像中,你可以将它们视为不同的颜色通道。这样,每张图像都处于其自身的灰度中。

虽然这看起来很简单,但某些技术(如雷达和超声波)使用称为极坐标网格的独特坐标系。该网格起源于信号发射的中心。与笛卡尔坐标系不同,像素大小不一致。随着距中心距离的增加,该系统中的坐标也增加。实际上,这意味着随着距中心距离的增加,像素代表更大的区域。有两种不同的方法。第一种方法是将坐标系更改为像素大小相同的坐标系。这将导致大量信息丢失,这些信息可能不是很有趣,并且可能导致次优的存储系统。另一种方法是保持原样,但将距中心的距离添加为模型的另一个输入。

坐标系发挥作用的场景不仅限于此。另一个场景是卫星成像。当在相同坐标下捕获多个波长时,你可以像我们之前看到的那样将它们视为不同的颜色通道。但是,当数据处于不同的坐标系下时,情况会更加复杂。例如,卫星图像和地球图像组合用于给定任务。在这种情况下,坐标将需要重新映射到彼此。

最后,图像采集本身也带有一些偏差。我们可以将偏差粗略地定义为数据集中不需要的特征,因为它可能是噪声,或者因为它会改变模型的行为。偏差有很多来源,但在图像采集方面,一个相关的来源是测量偏差。当用于训练模型的数据集与模型实际看到的数据集差异过大时,就会发生测量偏差,就像我们之前举例的高分辨率小猫图像和保姆摄像头一样。还可能存在其他测量偏差来源,例如来自标注者本身的测量偏差(即,不同的群体和不同的人对图像的标注方式不同),或者来自图像的上下文(即,在尝试对狗和猫进行分类时,如果所有猫的照片都在沙发上,则模型可能会学习区分沙发和非沙发,而不是猫和狗)。

总而言之,识别和解决来自不同仪器的图像特征是构建计算机视觉模型的第一步。在这种情况下,可以使用预处理技术和策略来解决我们识别出的问题,从而减轻其对模型的影响。“计算机视觉任务的预处理”章节将更深入地探讨用于提高模型性能的特定预处理方法。

< > 在 GitHub 上更新