该页面收集了整个图像分析过程(从采集到处理再到分析)的原理。
For a thorough introduction to bioimaging specifically, much of which is applicable to scientific imaging as a whole, check out the bioimagingguide.org!
图像获取
简介
并非所有数据都是平等创建的,因此某些图像的分析可以轻松实现自动化,而其他图像的分析则会带来更大的挑战。
本节的目标是收集有关图像采集原理的信息,以简化图像分析的自动化。
使用足够的空间分辨率
空间分辨率是指图像中样本的数量(或密度,如果您愿意的话)。相机和 PMT 等数字探测器可以生成 256 x 256 像素或更少、高达 128 兆像素或更高的样本矩阵。根据经验,样本越多越好。空间分辨率始终可以在事后进行下采样,但永远不会上采样。此外,如果您感兴趣的对象由太少的像素来描述,则许多统计计算的误差将非常高,并且某些形式的分析根本不可能。
避免有损压缩
原始数据应以保留精确样本值的方式保存。不要将原始图像数据存储为使用有损压缩的文件格式,例如 JPEG。有关详细信息,请参阅下面的Why (lossy) JPEGs should not be used in imaging。
照明尽可能均匀
许多形式的成像需要某种形式的照明。您应该确保该照明尽可能均匀分布,而不是在采集后尝试对其进行校正。如果由于某种原因您“必须”容忍不均匀的照明,请尝试获取背景图像,以便可以使用背景减法,但仍然可能存在反射伪影等问题。
避免对象重叠
在许多情况下,不可能避免重叠的对象。但它们更难分析和测量,因为许多算法难以区分对象。通过以某种方式准备环境,例如用荧光染料对细胞膜进行染色,也许可以减轻这些困难。
命名方案
有效的命名方案对于人类和计算机来说都很容易阅读。以下示例概述了创建良好命名方案的原则:
- 示例A:
样品制备
在某些情况下(示例…),向幻灯片添加标记非常有帮助。
图像分析
简介
在科学图像处理和图像分析中,图像不同于您在最近的假期中拍摄的美丽场景的普通数码照片。
在科学背景下,数字图像是信息样本,在 n 维网格的顶点采样。
什么是像素值?
人类的视觉感知在某些任务上非常擅长,例如对比度校正和检测明亮颜色的细微差异,但在其他任务上却表现不佳,例如辨别深色或在没有适当参考的情况下对颜色进行分类。我们的大脑会处理和过滤信息,因此只有在以下情况下我们才能进行视觉感知:1)“看到”进入我们眼睛并与眼睛环境以及最终视网膜中的单个细胞相互作用的光信息,2)在我们的大脑中处理信号。因此,请务必记住,数字图像中的像素值是数字,而不是颜色的主观体验。这些数字代表光或其他类型的信号如何进入我们正在使用的仪器并与其环境相互作用,并最终触发仪器中的传感器,将信息进一步处理为数字输出。
例如,当您使用共焦显微镜等光收集设备记录图像时,您在某个坐标或像素处获得的值不是颜色值,而是与光子计数相关。这是理解该主题的重要起点。
像素不是小方块
而且体素不是立方体!参见whitepaper by Alvy Ray Smith。
为什么(有损)JPEG 不应用于成像
JPEG 代表联合摄影专家组,他们是摄影图像常用有损压缩方法的创建者。这种格式通常用于网页中,并受到绝大多数数码相机和图像扫描仪的支持,因为它可以将图像存储在相对较小的文件中,但会牺牲图像质量。还有无损 JPEG 模式,但这些模式通常没有广泛实施,并且大多数图像可能属于有损类型。
“有损压缩”是指在减小文件大小的过程中丢弃一定量的图像信息。就 JPEG 而言,这对于观察者来说可能并不明显,但对于图像处理目的来说它很重要。 “无损压缩”意味着文件大小减小,但存储的数据与原始数据完全相同。
因此,在 JPEG 有损压缩中,存储的图像与原始图像不同,因此 不适合 进行严肃的成像工作。虽然 JPEG 压缩会丢弃肉眼无法轻易检测到的信息,但这会导致相当大的图像伪影(8x8 像素组中图像的可变“块效应”)。任何处理或量化这些图像的尝试都会因伪影的存在而受到无法控制的影响。这在 JPEG 压缩彩色图像转换为 HSB 色彩空间时的色调通道中尤为明显。
示例:著名的 Mandrill 图像的一部分。从左到右,您可以看到原始图像(带有 8 位色彩图)、原始图像的色调通道以及使用 ImageJ 的默认选项保存为 JPEG 后的色调通道 - 特别注意垂直和水平伪像:



虽然大多数数码相机默认以 JPEG 格式保存,但它们很可能也支持某些无损格式(例如 TIFF 或自定义 RAW 格式)。请改用这些格式。创建了一种名为 JPEG2000 的格式,该格式受到各种幻灯片扫描仪的支持并用于“虚拟幻灯片”产品,以提高图像质量和压缩率,但 JPEG2000 格式存在有损和无损版本。仅使用无损格式。
多通道图像尤其受到 JPEG 格式的损害:由于多个通道被误解为红色、绿色和蓝色(而大多数通道集成的不仅仅是一种波长),JPEG 会不知不觉地改变颜色以提高压缩率。在最坏的情况下,这可能会导致 colocalization 没有。
ImageJ/Fiji 中提供的 TIFF 或 PNG 格式是无损格式。 TIFF 保留应用于图像的所有校准,但图像不会被压缩。由于应用了无损压缩,PNG 文件较小,但它们不存储校准数据。
一旦图像被保存为压缩的 JPEG,就无法恢复为原始图像,因此再次保存为 TIFF 或 PNG 的旧 JPEG 压缩图像仍然包含所有原始 JPEG 压缩伪影。
下面是一个 ImageJ 宏,它演示了这个问题。它需要 Glasbey LUT,这是 ImageJ Fiji 发行版的一部分。
// load Boats
run("Boats (356K)");
run("Out [-]");
rename("Original");
// convert to JPEG
run("Duplicate...", " ");
run("Out [-]");
run("Save As JPEG... [j]", "jpeg=85");
run("Revert");
rename("JPEG");
// compute the difference
imageCalculator("Subtract create 32-bit", "Original","JPEG");
run("Out [-]");
rename("Difference");
// display windows side by side
run("Tile");
// highlight artifacts using Glasbey LUT
selectWindow("Original");
run("glasbey");
selectWindow("JPEG");
run("glasbey");
selectWindow("Difference");
图像分割(二值化)时的注意事项
###什么是二值化以及它有什么好处?
这个词已经暗示了这一点,通过二值化,您可以将图像拆分两个(不一定完整)部分,通常称为前景和背景。这是最简单的图像分割方法。 “简单”并不是指轻易就能达到好的效果;然而,用户通常认为它很容易执行。还有一些方法将图像的像素划分为不同的类别。这些大多基于统计方法。有些在斐济实施,例如“Statistical Region Merging”插件或“§§§1§” §§”存在更复杂的分类方法,通常基于机器学习训练和用户使用一组核心测试图像进行的。虽然图像二值化也可以通过包括统计图像的方法来实现,最简单的方法是设置一个或两个(顶部和下限)预备值,将特定像素各自强度独立。这通常称为阈值(值)。如果强度是与对象的空间特征直接相关并定义这些特征的参数,则通过强度来分离图像特征和对象通常是合适的。例如,在低清晰染色的细胞结构和具有背景染色的指标纹章限制中经常出现这种情况。如果参数定义了结构或区域,则简单的阈值通常不会产生令人满意的结果,甚至无法完全完成工作。许多用户都可以有一种方法让他们手动定义这样的阈值,但有几个……
###为什么不简单地选择手动阈值?
“我通常会定义一个手动阈值来提取我的对象……,这样可以吗?”建议……只要有可能,尽量避免作为手动阈值!
手动方法有几个限制:
- 无/低 reproducibility 2.用户偏见高 3.寻找“合适”的价值是令人愉悦且工作的 4.与自动处理不兼容
- 用户内部和用户之间的高度可变性
您可能会考虑确定一个固定的手动阈值,然后确定所有图像的预置值。在这种情况下,您面临从256个值中选择一个决定。这至少会满足满足所有比较的图像的标准,但最终不会让你满意。这是因为单个实验的图像存在一定的变异图像,而重复实验的之间通常存在更高的变异,使得一个固定值不会从不同的图像中产生提取相建立消除可变性的协议当然是数字图像处理的一个目标,但目前这是一个崇高的目标,即使是最勤奋的复制环境的努力通常也无法产生一个固定值设置阈值的图像集。然而,这在大多数领域都不是一个现实的期望。
那么替代方案是什么?
另一个目标是开发克服可变性的分割方法。事实上,分割算法几十年来一直是生物学和其他领域的目标。已经开发了基于大量不同的图像属性的各种算法(见下文),但它们的共同点是基于确定图像属性的阈值,而不是基于增益的实时用户决策。
自动构建突出的优点
基于属性本身并不意味着自动分割方法是严格预测和无偏见的。显然,由于用户可以选择算法,特定相应条件或特定实验下最终决定哪种算法必然是图像的。这本身就是一个重要问题——相反,就本节前面提出的有关从256个可能的预测值中进行选择的方面,可用算法的数量应用也很,并且还在继续增长。
此外,一个同样重要的问题是,分割方法通常存在固有的偏见,因为它们首先是针对人类对从图像中提取的最终信息应该是什么的最初感知进行训练的。当然,这是一个合理的基础,并且在人脸识别软件的示例中很容易理解它的好处,该软件根据人类输入的人脸构成信息来训练阈值人脸。但这个原则本身就带来了偏见。为了理解这种偏见的负面后果,想象一下病理学中的一个场景,其中开发了自动分割,以根据当前的病理学家专家经验产生一定的结果,但完全消除了后来被认为是关键指标的细胞特征。
自动分割在其他方面存在偏见。例如,考虑二元分割中全局阈值和局部阈值之间的差异。在global thresholding期间,将图像作为一个整体来确定截止值,并将该值应用于图像中的每个像素。相反,在local thresholding期间,顾名思义,值是在局部环境中确定的(通常由圆形邻域的半径定义),并且局部截止值局部应用于图像的各个像素。因此,图像中较暗的区域可能与非常亮的区域一样可被提取,但这对于全局阈值是不可能的,其中特别是非常暗的区域转移到背景中或者可能提取不足。
自动分割的好处
尽管有局限性,自动二值化方法的优点是:
1.它们完全reproducible(在同一图像上它们总是会导致相同的二值化结果) 2.它们在阈值处理期间不会引入用户偏差(这与与特定自动算法的选择相关的偏差无关,这种偏差确实存在) 3.他们使用客观确定的截止值来最小化所比较图像中的一些变异性(例如,对每个图像的直方图做出反应的算法通常提取出的特征被认为优于使用固定值提取的特征;但再次,请参阅关于分割方法的先验训练的above note)
- 它们减少了预处理,因为它们很容易应用于单个图像直方图之间或完整堆栈直方图中具有可变性的图像堆栈 5.它们速度快(无需摆弄)并且可以自动化(例如,在宏、插件、批处理作业等中)
在 ImageJ 和 Fiji 中,到目前为止已实现了 16 Global Auto Thresholds 和 9 Auto Local Thresholds(由 Gabriel Landini)。它们非常灵活和实用,可以集成到宏和插件中,并且对于许多基于强度的图像表现出色。
是否有一种更优越的自动算法?
出于上述所有原因,不!但这并不是真正的问题。这类似于问“有一种更好的食物吗?”的问题。与一般生物协议的情况一样,大多数算法都是为特定目的或解决特定提取问题而开发的。因此,性能是相对的,取决于图像内容和质量以及提取的图案的预期用途。最后的陈述可以从单个图像的角度来理解,实验者可能希望在一项研究中提取整体细胞形状,但在另一项研究中提取核纹理。每个基本方法都需要进行测试,以确定其实现是否能够很好地解决每个要回答的新问题。在这方面,还有更多的算法已发布或正在开发中,您可能需要考虑自己在 ImageJ 插件中实现一个算法并将其提供给社区:-)
存在哪些二值化自动方法?
一般来说,有不同组的图像二值化算法。 (以下方法分类取自 Sezgin 和 Sankur,《图像阈值技术和定量性能评估调查》,《电子成像杂志》13(1), 146–165(2004 年 1 月)。)
1.基于直方图形状的方法,例如,分析平滑直方图的峰、谷和曲率。 2.基于聚类的方法,其中灰度样本被聚类为背景和前景(对象)两部分,或者交替地被建模为两个高斯的混合。
- 基于熵的方法产生使用前景和背景区域的熵、原始图像和二值化图像之间的交叉熵等的算法。
- 基于对象属性的方法搜索灰度图像和二值化图像之间的相似性度量,例如模糊形状相似性、边缘重合性等。
- 空间方法使用像素之间的高阶概率分布和/或相关性 6.局部方法使每个像素上的阈值适应局部图像特征。
该列表可能并不全面,但很好地说明了可用的广泛可能性。
在二值化和进一步的对象分析过程中还有什么是关键的?
图像采集
在成像过程中,视野必须均匀照亮,并且必要时进行检查和调整。除了其他缺点(例如,没有可靠的强度测量)之外,不均匀的照明还深刻影响阈值方法的结果,尤其是全局阈值方法。此外,较高的信噪比(例如基于荧光的图像)将对阈值提取产生积极影响。
预处理
由于阈值处理时任何截止值的基础都是像素值,因此图像采集后像素值的任何变化也会影响最终的二值化结果。因此,用户需要明智地应用调整亮度和对比度或任何图像过滤器的方法,以不降低而是增强感兴趣的特征,从而促进二值化过程。对所有图像应用相同的过程可能是不可行的。一般来说,所有预处理都应进行定量和记录,以确保工作符合reproducible。
后处理
通过任何阈值方法进行二值化后,图像可能需要额外的二值运算才能使最终图案可用。这些包括腐蚀、膨胀、打开和关闭(全部在Process › Filters下)、图像过滤器(在Process › Binary下)以及布尔运算的图像组合(例如Process › Binary › Fill Holes)。这里用户需要注意记录所有参数和事件,并且不要显着改变提取,以免降低分段的reproducibility和整体质量。可能需要进行后处理二进制运算来纠正面积或对象计数的进一步测量。例如,可能需要关闭内部孔 (Process › Image Calculator) 以提取正确的颗粒面积(当使用 >Edit › Selection › Create Selection. 时,这也可以在测量过程中直接实现)。当紧密的颗粒融合形成团块或聚集体时,可能需要分水岭(或相关)分离技术。
分段 ROI 以进行额外处理
物体二值化后,可以自动转换为ROI,并将ROI重新应用到原始图像上进行验证,并根据ROI对原始图像进行处理。例如,这可用于识别、分离和分析重叠细胞的特征。从二值图像创建 ROI 的方法是Analyze › Analyze Particles…。当与 RoiManager 以及用于自动化任务的宏或插件一起使用时,此方法非常有用。
如何检查二值化的质量?
一些出版物涉及检查图像分割质量的方法。许多方法首先涉及与所谓的“基本事实”的比较。对于进行二值分割的用户来说,这基本上是用户创建的示例图像的二值化,以测试提取的“质量”。同样,当开发一种方法时,可以通过多种方式创建基准图像,包括拍摄理想化对象的照片并手动阈值或跟踪叠加以产生所需的结果,或者通过生成计算机模拟来形成评估过程的标准。根据方法的不同,原始结构可能包括从简单形式到各种尺寸和形状的复杂生物或合成结构。理想情况下,在验证二值化的质量时,还应包括与不同图像固有测量(例如,对象边缘、结构组件之间的已知角度或比率、特定结构组件的数量、已知伪影的排除、熵等)的独立比较。当然,即使对于一个简单的圆球,也必须批判性地看待整个过程,因为结果的准确性必然由有偏见的“基本事实”来定义,部分由要提取的所需特征来定义。因此,研究人员在评论二值化的质量时通常会提供某种程度的验证,解释其基本原理,并承认其局限性。
一个相关的问题是培训用户。 “Threshold Check”、1 是一项试验,旨在使未经培训的用户更容易决定一个或另一个阈值。其中的半定量评估也有偏差,但可能有助于对不同提取方法进行相当公正的比较(基于用户选择的因此有偏差的参考值)。
我应该如何处理具有不同颜色而不是单一强度标度的真彩色图像(例如组织学染色)?
如果转换为灰度会损坏或扭曲图案所需的信息,则存在许多不同的可能性:
- 与上述手动阈值方法相关的一种选项并不理想,但具有特殊用途。它可以部分地与自动强度阈值结合,并且在这里出于完整性的目的而提及,因为它可能会产生良好的结果(例如,对于某些组织学染色)。 Gabriel Landini 还实现了“颜色阈值”,可以访问真彩色图像的不同颜色空间表示。这意味着用户可以选择特定范围的色调(色调)和颜色饱和度及其亮度(例如,使用 HSB 颜色空间)。在这种情况下,使用色调值滑块对特定色调的限制可以具有相当低的偏差(如果我只想要蓝色,我会排除所有其他颜色,这比强度截止值更容易确定)。在主观性较低的情况下,饱和度的设置已经更加棘手。对于亮度阈值,可以应用标准自动阈值,从而稍微减少偏差。
- 与上述方法类似,但更具可复制性,图像可以分为不同颜色空间(HSB、CIELAB…)的各个通道,然后可以自动对这些通道进行阈值处理,因为所有通道都基于单一强度标度。仅通过对颜色空间通道之一进行阈值处理可能就足以提取所需的信息。如果适用,还可以使用布尔函数(例如 AND、OR、XOR)来组合两个或所有三个通道的提取结果。这种方法对于正确的图像非常有效(例如,它可以识别和分离重叠的细胞)。
- Color deconvolution也可能是一个解决方案。在此方法中,具有单独染色成分的载体定义是重要的一步;它在工具中得到了很好的实现,并且应该为了一致性和准确性而完成。使用 ROI 的定义存在固有的局限性,由于依赖于有偏差的、用户定义的“颜色”区域,这再次引入了低reproducibility。这是一个快速的选择,但这里的问题是,如果在应该分割的图像上完成此操作,则明场图像中的颜色通常以混合方式存在,这意味着用户已经定义了颜色的混合,以便稍后精确地分离这些颜色。这可能会导致不一致的结果,即使它一开始在视觉上看起来不错。
- 基于机器学习的特定工具可能会有所帮助。这里,要求用户对代表性示例图像进行一些训练。这是通过选择应分别分配给前景或背景的区域来实现的。这显然也是有偏差的,通过良好的训练(可能由不同的专家进行),特征提取包含较低的偏差,因为相同的训练分类器应用于不同的图像。可用的相关 ImageJ 插件有 SIOX: Simple Interactive Object Extraction 和 Trainable WEKA Segmentation。 5….