社区计算机视觉课程文档

现实生活中的成像

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 纤维组成的晶体凝胶进行成像。这张照片是由雷蒙德·戈斯林拍摄的,他是在罗莎琳德·富兰克林的指导下工作的研究生,拍摄于 1952 年 5 月。它是沃森和克里克在 1953 年构建的双螺旋模型的关键部分。这张照片引发了很多争议。其中一部分原因是罗莎琳德·富兰克林早期工作的贡献没有得到认可,以及照片在何种情况下与沃森和克里克分享。尽管如此,它对我们对 DNA 结构的理解以及此后开发的技术做出了重大贡献。

暗淡蓝点

The Pale Blue Dot By Voyager 1

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

黑洞

M87 by Event Horizon Telescope 2019 年 4 月,另一个具有重大天文意义的事件发生了,研究人员首次捕捉到了黑洞的图像!这是室女座星系 M87 中心超大质量黑洞的图像,距离地球约 5500 万光年。这张非凡的图像是事件视界望远镜的产物,这是一个全球同步射电天文台网络,它们协同工作,创建了一个与地球一样大的虚拟望远镜。收集到的数据量巨大,超过 PB,由于数据量庞大,必须进行物理传输才能进行处理。他们需要结合来自近红外、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 上更新