基于内容的医学图像检索方法综述
2018-03-20崔少国熊舒羽陈默语
崔少国,熊舒羽,刘 畅,陈默语
(重庆理工大学 计算机科学与工程学院, 重庆 400054)
基于内容的视觉信息检索(CBVIR)或基于内容的图像检索(CBIR)一直是计算机视觉领域较热门的研究方向之一。在医疗领域,用于诊断和治疗的多模态数字图像在不断增加,其中包括核磁共振成像(MRI)、计算机断层扫描(CT)、光子发射断层成像(PET)、超声波等。这些医学图像在帮助医生诊断和病情分析中扮演着至关重要的角色。医学图像不同于自然图像,一是因为医学图像的分辨率高;二是因为大多数是灰度图像,其重要信息都集中在小区域,并且在医学图像领域,视觉相似的图像之间语义内容相差很大,所以对于医学图像的处理方法不同于自然图像。西门子2014年发布报告称,医疗成像系统市场将从2014年的32.3亿增长到2020年的49亿[1]。因此,如何高效地管理和存储这些海量的医学图像(医学图像检索系统)成为当前的研究热点之一。
近20 年来,人们主要研究基于内容的医学图像检索方法(content-based medical image retrieval,CBMIR),这种方法不需要文本方式的标注。一般CBMIR系统利用算法(SIFT、LBP、HOG等)提取图像的特征(颜色、形状、纹理等),并从大型特征库中检索图像[5]。CBMIR系统通常有2个阶段,第一个是离线阶段,另一个是在线阶段。在离线阶段,从大量图像集中提取特征并建立本地特征数据库。离线阶段通常比较耗时,取决于特征提取的方法和图像的数量。在在线阶段,用相同的特征提取方法提取查询图像的特征,并计算查询图像的特征和数据库图像的特征之间的相似性度量,然后将具有高度相似性的图像作为检索结果呈现给用户。在这2个阶段中,预处理和特征提取的过程和方法相同,因此图像检索方法的研究点主要集中在特征提取和特征匹配2个阶段,然而CBMIR方法在图像的高级语义与低层特征之间一直存在着语义鸿沟的问题。
随着大数据时代的到来,深度学习在计算机视觉中取得了一系列成功的应用[2],已有一些学者将机器学习算法应用到医学图像检索中[3-5]。本文主要结合深度学习从特征表达和特征匹配两方面,概述了深度学习方法在医学图像检索领域方面的应用,讲述了深度学习在医学图像检索领域中的发展历史,并预测了深度学习在医学图像检索中的发展前景和挑战。
1 特征提取方法
在医学图像检索过程中,最重要的一步是视觉特征提取,即使用特征向量来表示每个数字图像。良好的特征提取方法是在医学图像检索中取得良好性能的先决条件。具体而言,特征表示被分为2类,即传统特征和高级语义特征(通过学习所获得的)。传统特征可直接从图像内容获得,包括图像的颜色、纹理、形状等特征,而高级语义特征主要通过机器学习方法所获得。近年来,出现了许多基于计算机视觉和机器学习的特征表示方法。本节回顾了医学图像中特征提取方法的最新进展。
1.1 传统特征
传统特征在参考文献[8]中被归类为原始特征,如颜色或形状、逻辑特征和抽象特征。目前所有的手工特征都属于原始特征。通常,传统特征是专家根据图像特征所设计的算法,然后利用算法从每个图像中获取模拟特定信息的特征[6],例如,颜色、纹理、形状特征。在大量使用深度学习之前,传统特征提取方法在特征提取领域中发展了数10年。目前,大多数的医学检索系统仍然使用传统特征方法,本小节主要回顾在医学图像检索中,使用的比较典型的传统特征提取方法。
用于图像检索的最广泛的传统特征是基于尺度不变特征变换特征(scale-invariant feature transform,SIFT)[7]。SIFT通过在高斯差分(difference-of-Gaussian,DoG)空间中找到局部极值来检测比例不变的关键点。它用128维梯度方向图来描述每个关键点。随后,所有的SIFT描述符都使用词袋(bag-of-words,BoW)进行建模/量化。每个图像的特征向量通过计算图像中生成的视觉词的频率来计算。SIFT是一种在医学图像检索中取得成功的局部特征。除了SIFT描述符之外,许多局部描述符可以使用BoW来生成用于医学图像的局部特征,诸如SURF(speeded up robust features)[9]、LBP(local binary patterns)[10]等。与局部特征相比,全局特征也广泛应用于医学图像检索,全局特征可以直接表示整个图像的全局信息。例如,GIST[11]是一个全局特征,是基于场景的低维表示,不需要任何形式的分割,通过感知维度(自然度、开放度、粗糙度、膨胀度、险峻度)来表示图像中场景的主要空间结构[12]。GIST已经应用于许多医学图像检索问题中[13-15]。其他全局特征如HOG(高斯直方图)[16]、颜色直方图[17]也常用于医学图像检索[18-19]。
除去这些常见的特征提取方法之外,一些学者专门针对特定医学图像数据设计了特征表示方法。在组织病理学图像分析中,形状和纹理信息在细胞/细胞核的表达中起着重要的作用。Basavanhally等[20]设计了3个基于图的特征来描述淋巴细胞。 Filipczuk等[21]采用25种特征来模拟细胞学图像的特征,包括核的大小,以及图像中核的分布。一般来说,这些特定的特征算法比一般的特征更具有区别性。在细胞和细胞核的检测、检索和分析方面取得了很好的效果[22]。这类特定特征还广泛用于3D医学图像数据中,诸如3D脑肿瘤、神经元形态学。Cai等[23]为3D神经图像检索开发了基于PCM的体积纹理特征;Wan等[24]采用定量测量和几何矩作为三维神经元形态数据的特征,并在检索任务中都取得了不错的成果。
为了得到更好的检索性能,许多学者将多种传统特征通过一定的算法进行特征融合,例如,宋等[25]采用HOG和LBP特征来检索和识别肺部病变。与单一特征系统相比,结合多个特征可以获得更好的性能[26],在ImageCLEF医学检索任务中的许多小组都采用了这种方法。然而,融合特征方法对于大规模图像检索来说,计算量太大,并且对检索效率也会产生不利影响。尽管已经讨论了各种特征,但对于医学图像检索问题,没有适用于各种医学图像的通用特征。因为医学图像是由不同的成像技术生成的,组织/器官通常具有特定的颜色、纹理和形状。即使是相同的组织/器官,特征也可能在多个维度和形式上有所不同[27]。因此,在给定类型的图像数据中使用合适的特征是医疗检索过程中的一个具有挑战性的问题。
尽管传统特征在医学图像检索中取得了许多良好的效果,但在医学数据规模比较大时仍然存在缺陷。首先,当数据集很大时,传统特征通常不能很好地解决问题,因为可能存在异常值和未被标准化的情况;其次,使用传统方法进行特征提取非常耗时且计算上耗费大,特别是当处理大量的图像时;最后,许多传统特征提取方法只针对特定的医学图像数据,不能扩展到其他领域。因此,大规模医学图像检索需要更多自动化、高效和可扩展的特征表示方法。
1.2 语义学习特征
近年来,深度学习已经成为计算机视觉领域的热点话题,在特征表示、图像分类、检索、检测等相关领域取得了很好的成果。与传统方法相比,深度学习只需要一套训练数据,以自学方式发现特征,耗费时间低且高效[28-29]。各种深度神经网络的设计是非线性的,也就是说,通过神经网络的多层网络结构(例如数十到数百)和大量的参数(例如数千至数百万)来学习图像特征。一般来说,深度学习的发展主要受益于可以优化参数的大型训练数据集。因此,由于目前大规模的医学图像数据库的出现,深度学习也可以用来解决医学图像的分析任务。具体而言,在医学图像的特征表示方法中,主要分为有监督和无监督的深度神经网络。
LeCun等在文献[30]中提出了一个有监督的深度神经网络框架,即卷积神经网络(CNN)。固定大小的输入图像与使用共享权重的多个卷积核相关联。然后,池化层对输入特征进行下采样,并保留每个子区域中的特征信息。之后,将提取的特征加权并组合到全连接的层中,接着将这些特征送到分类器用于预测。最后,将输出类与图像标签进行比较,在每次迭代中更新CNN参数(例如权重、偏差)。近年来,大规模视觉识别挑战(ILSVRC)已经出现了非常深的神经网络结构[31],并且性能优异,一方面使用了比以前更深的卷积层,另一方面创造了更复杂的网络结构,例如AlexNet、 GoogLeNet、 VGGNet和ResNet等。
有监督的深度神经网络需要大量的标签图像来训练每一层的参数。但是,在医疗领域,标签图像的数量是有限的。仅用小型标签数据从头开始训练深度神经网络容易导致过拟合[32]。因此,研究人员为适应深度神经网络的医学图像分析,提出了几种方法。例如,Bar等[33]使用预先训练的CNN模型学习了胸部病理学检测的特征,并且参数是从诸如ImageNet的非医学数据集迁移过来的。在2016年ImageCLEFmed上,NovaSearch[34]仅使用医疗图像数据从头开始训练CNN模型,采用了多种技术(如Dropout、数据扩充)来处理小数据集。Shin等[35]提出了CNN学习医学图像特征的3种主要技术:第一,采用迁移学习思想,用医学图像在自然图像上预先训练的CNN模型进行微调;第二,仅使用医学图像从头开始训练CNN模型,采取多种措施避免过度拟合;第三,使用预先训练好的CNN模型提取特征,将这些特征用作补充信息与传统特征相融合。
尽管有监督的深度神经网络在特征表示中性能优异,但是需要大量的人力手动给训练数据作标签。然而,与自然图像的标注不同,许多医学图像的标注只能由医生或领域专家标注。很多情况下,这些标注存在不确定因素和主观因素。为了克服有监督特征学习的局限性,于是出现了无监督深度神经网络。Bengio等在文献[36]中给出了典型的无监督神经网络,即自动编码器[37]。尽管单层自动编码器对于学习特征来说太浅,但是当几个自动编码器堆叠在一起形成深度自动编码器(SAE)时,其表达能力显著提高。例如,文献 [38-39]开发了一种无监督的特征选择方法,使用卷积堆叠自动编码器来识别图像块中的语义特征。该方法在脑部MR图像上得到证实,说明无监督特征学习对于脑部MR配准是有效的。除了自动编码器之外,受限玻尔兹曼机(restricted boltzmann machines,RBM)也可以构造无监督的深度神经网络,例如,文献[41]通过减少大脑图像的维度,利用一个深度信念网络,发现图像组中相似的模式,从而进行多方面的学习。曹等[42]开发了一种基于深度玻尔兹曼机的医学图像检索的多模态方法。实验结果表明,基于深度玻耳兹曼机的多模态学习模型是下一代医学图像索引和检索系统的一种有效的解决方案。
对于大规模的医学图像分析,语义学习特征具有明显的趋势,因为有越来越多的图像可以用来训练深度神经网络。然而,深度学习在医学图像检索中的使用并不常见。一个原因是,以前大多数的医学图像检索任务只需要处理小规模的数据集,这种条件不满足深度神经网络的训练。另一个原因是,对于一些特定的医学图像,传统特征在数据集不太大的情况下可以获得很好的性能(例如,组织病理学图像的全局特征[20])。由于多种形式的医学成像技术,以及快速变换的图像采集设备,传统特征在许多医学图像检索场景中仍然有用。此外,与传统特征提取方法相比,基于深度学习的方法能够学习不同类型的特征。因此学习的特征在医学图像的特征表示中也起着关键性作用,特别是当数据集很大时。在ImageCLEF挑战赛中[43],许多小组不仅使用了传统的特征提取方法,还使用了基于深度学习的特征提取方法。然后,融合这些特征以获得更精确的检索和分类结果。
2 特征索引和匹配
每个图像通过特征提取之后,由特征向量表示。医学图像检索问题就可以视为这些特征向量中的最近邻搜索,即计算和排列出查询图像与数据库中的所有图像之间的距离。但是,在处理大规模图像数据库时,依次计算数百万个高维特征向量的距离,不但计算量很大,还非常耗时。在本章节中,我们将概括大规模医学检索中的特征索引方法。
2.1 词汇树
词汇树最初由Nistér和Stewénius[44]提出。词汇树已经广泛应用于大规模医学图像检索。它们不仅提高了计算效率,而且与传统的检索方法相比更精确。例如,Jiang等[45-46]在基于词汇树的框架下,提出了一种自适应加权策略来处理乳房X线照片的图像检索。由于乳房X线照片中的高频特征低于低频特征,将乳房X线照片特定的节点频率纳入IDF方案,以降低高频特征。自适应加权技术对于检索这些特定的图像(如:乳房投影肿块)非常有效。Wang等[47]为手指静脉图像的认证和识别设计了一个区分性和生成性的词汇树。该方法既考虑到局部图像块的判别性,又考虑到其生成的空间布局。训练过程与构建常规词汇树相同,而预测过程使用点集匹配方法来支持非参数图像块布局匹配。这种联合辨识和生成模型可以在手指静脉图像中取得良好的效果,因为所采用的词汇树模型可以保证整个系统的效率。更重要的是,点集匹配策略考虑了局部图像块的几何布局,比之前仅考虑局部关键点描述的词汇树方法更准确。
通过改变特征匹配策略,基于词汇树的方法在大型数据库中实现了高效的检索。由于这些方法直接采用局部特征描述符,因此可以应用于大多数医学图像,包括可以检测和描述局部关键点的二维和三维图像。但是,基于树的词汇方法也有一些限制。例如,仅仅使用局部特征不足以表示和区分一些特定的医疗图像;对于一些肺部图像,在检索期间应该考虑全局形状。另外,建立分层词汇树的训练阶段通常是耗时的,特别是在处理非常大的图像数据库时。在实际应用中,为了取得良好的效果,基于词汇树的方法在很大程度上依赖于参数调整,即调整每个聚类中心k的数量、分层树L的总层次等。因此,需要为大规模医学图像检索开发更高效、更准确的方法。
2.2 深度哈希
近年来,展开了大量的哈希算法在机器学习和计算机视觉领域的研究[48]。哈希算法不是从原始数据集中直接搜索最近的距离,而是先通过定义好的哈希函数将原始数据压缩成短的二进制编码。然后,通过计算二进制编码的汉明距离,来表示数据之间的相似程度,因此这种方法的检索效率更好。
2.2.1 哈希框架
假设数据库中有n张医学图像,在特征表示后,这些图像用d维特征向量表示,X={x1,x2,…,xn}⊂Rd×n。对于图像xi⊂Rd×1,其特征空间可以用一组哈希函数H={h1,h2,…,hK}表示,并且每个哈希函数将xi编码成一个二进制码hK(xi)。因此,xi的K位编码可以表示为:
yi=H(xi)={h1(xi),h2(xi),…,hK(xi)}
(1)
实际应用中,为了便于计算,上述哈希函数通常投影为矩阵w⊂Rd×K和截距向量b⊂RK×1:
yi=sgn(f(WTxi+b))
(2)
其中f(·)是预先指定的函数,可以是线性或非线性的。然后,数据库中的所有图像都由二进制编码表示。查询图像xq也可以通过公式(2)映射成二进制编码。随后,查询图像与数据库中每个图像之间的相似性搜索转换为相应二进制代码的汉明距离排序,其速度非常快。哈希算法的关键是如何获得好的哈希函数,它不仅能够将原始的特征空间映射到二进制汉明空间内,而且能够保持原始数据之间的相似性和多样性。
2.2.2 哈希算法分类
计算哈希函数的方法大致可以分为2类,即数据独立的和数据依赖的。数据独立的方法是指能够将给定的任意数据集压缩成二进制代码的广义哈希函数。局部敏感哈希(LSH)是最流行的数据独立的方法[49-51]。基于LSH的方法通过最大化相似项的概率来计算哈希函数,这可以将原来接近的数据点映射为高概率的相同位。然而,这种方法通常需要很长的二进制代码和许多哈希函数来确保所需的检索精度,大大增加了存储成本和查询时间。更重要的是,由于这些哈希函数是独立于训练数据集而设计的,因此很难确保任何给定数据集的检索性能。
另一类是依赖数据的方法,其从给定的训练数据集中学习哈希函数。一般来说,与数据无关的方法相比,数据相关的方法可以用较短的二进制码实现更好的检索精度。目前,许多基于学习的哈希方法已应用于大规模医学图像检索,包括迭代量化(ITQ)、基于核的监督哈希(KSH)、Anchor Graph Hashing(AGH)、不对称内积二值编码(AIBC)等。因此,依赖于数据的哈希方法的分类可以从多个维度来定义。例如,根据训练数据集是否有标签,哈希方法可以分为有监督方法、无监督方法和半监督方法。监督方法采用先进的机器学习技术,如核学习、度量学习和深度学习,从标记的训练数据中计算哈希函数。许多监督哈希方法已经取得了良好的性能,因为它们可以缩短二进制代码和图像标签之间的语义鸿沟[52-54]。无监督方法探索训练数据集的性质,如根据分布和流形结构来设计有效的哈希函数。具有代表性的方法包括谱哈希法、图哈希法、偏向哈希法等。此外,半监督方法设计哈希函数同时使用标签和非标签数据。这些类型的方法可以通过利用有限的图像标签的语义相似性来提高二进制编码性能,同时保证过拟合的稳健性。数据依赖方法也可以根据哈希函数的形式分为线性和非线性。线性哈希函数用简单的投影来分离和映射原始特征空间。它们计算效率高,易于优化。然而,当图像数据之间的差异细微且线性不可分时,线性哈希函数不适应这种情况。因此,非线性哈希就用来解决这种情况。这种方法通过学习基于核矩阵或流形结构的哈希函数,可以将内在结构嵌入到高维空间中,并将特征向量非线性映射为二进制编码[55-57]。
2.3 二级检索
通过相似度匹配后,可以有效地度量计算出排名靠前的医学图像。然而,这些检索结果可能并不是人们想要的,由于使用不同的特征,检索精度的变化较大。因此,对粗略结果的重新排序有望进一步提高检索性能,从而进行更精确的检索。二级检索方法可以对初始检索的图像进行重新排序,将最相关的图像移动到最前面或优化检索结果。
近年来,在不同的图像检索应用中提出了多种方法用于二级检索。在医学图像领域,二级检索方法大致可以分为基于文本视觉、基于多特征和基于用户反馈3个类别。下面我们简要概述这3类方法:
1) 基于文本视觉:这种方法首先通过文本索引检索相关医学图像,然后通过考虑视觉相似性对初始结果进行重新排序[58-60]。
2) 基于多特征:这种方法首先计算多种特征的检索结果,然后通过对上述检索到图像进行融合并重新排序得到最终结果。文献[61]在从多种特征中获得一些排名靠前的相关图像之后,采用基于图的查询融合方法,得到重新排列出的多个检索结果。一般而言,这种重新排序方法可以显著提高检索性能,因为它们使用多个特征(如局部和整体特征)考虑图像的相似性和区分性。
3) 基于用户反馈:在接收到初始结果后,这种方法根据用户的相关反馈对检索到的图像进行重新排序。相关性反馈可以指定哪个图像是相关/不相关的。文献[62]将视觉和文本特征组合起来用于初始索引。然后,检索系统采用用户提供的反馈来执行重新排序。这个重新排序的过程将系统精度从0.8提高到了0.89。
在大多数情况下,重排序方法只需要考虑排名靠前的初始检索结果,例如,大多数真正相关的图像包含在前K个结果中,而K远小于整体图像的数量数据库。因此,对初始检索结果重新排序是非常有效的,因为它只需要处理一部分图像。更重要的是,通过考虑和比较使用多种信息源的相似性,可以改进检索的精度。
3 结束语
在回顾了大规模医学图像检索的上述方法之后,我们将在本节中展望未来发展趋势。尽管采用了各种先进的大规模计算技术进行检索,但仍然需要许多技术来提高检索性能。首先,在特征方面,需要一种算法适合多模态、不同器官的语义特征表达,虽然有一部分学者试着用深度学习来解决这类问题,但是深度学习需要大量的训练数据和标签数据,所以这是一个很大的挑战;而另一部分学者融合多种特征作为检索依据,但是目前却没有一种特征融合方法适合所有的医学图像。其次,在特征匹配方面,特征匹配是影响图像检索效率的关键步骤,高效的特征匹配方法可以有效解决医学图像检索的实时性问题。最后,实时更新,由于医学图像在不断地产生,目前的检索方案中并没有提及实时更新图像数据库。所以一个好的医学图像检索系统,在提高图像检索精度的同时,也能提高图像检索的效率,并且能够随时更新数据库,把最新的、最好的检索结果呈现给医务工作者。因此,基于深度学习和大数据并行计算技术的医学图像特征高效表示和图像检索效率将成为医学图像检索领域未来研究的主要趋势。