社区计算机视觉课程文档

现实生活中的成像

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

现实生活中的成像

你有没有试过给一窝小猫拍照?如果没有,你正在错过一个美丽而混乱的场景。小猫是可爱的生物,它们会以最疯狂的方式四处移动。它们会做出最可爱的事情,但这只会持续半秒钟,然后它们会以更可爱的事情来超越它。不知不觉中,你正在努力弯腰,只为了把那只小猫框进画面,同时改变焦距和相机角度,而与此同时,另一只小猫正在爬你的腿。你完全沉浸在它们的毛茸茸中,没有时间检查照片。当你坐下来检查它们时。它们。都。只。是。一。片。模糊。手机里只有一两张值得保存的照片。你只能留在那里想,我以为小猫更上相。

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

Cat kisses showing distortion based on the distance from the object

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

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

显而易见的解决方案是说我们只要一台拥有更多GPU和更多内存的电脑就行了。这也意味着除了购买相机,你还需要为训练小猫模型所使用的任何服务支付更多费用。更普遍地说,这并不能反映现实世界的情况。有时,计算机模型的实际应用是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的数据。

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

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万光年。这张非凡的图像是事件视界望远镜(Event Horizon Telescope)的成果,该望远镜是一个全球同步射电天文台网络,它们协同工作,共同创建了一个与地球一样大的虚拟望远镜。收集到的数据量巨大,超过了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。

那已经相当令人印象深刻了,但请系好安全带。我们也可以看到它在行动!嗯,不是这个精确的例子,而是另一组科学家使用高速原子力显微镜来展示这是如何工作的。这种显微镜使用机械连接到扫描仪的尖锐探针。探针与表面的相互作用产生样本的拓扑描述。所有这些都在纳米尺度上。下面的视频展示了CRISPR-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 上更新