视网膜血管测量

文档序号:39280 发布日期:2021-09-24 浏览:15次 >En<

阅读说明:本技术 视网膜血管测量 (Retinal vascular measurements ) 是由 许为宁 李梦莉 徐德江 黄天荫 张艳蕾 于 2020-02-11 设计创作,主要内容包括:公开了一种用于训练神经网络以量化视网膜眼底图像的血管口径的方法。所述方法包含:接收多个眼底图像;预处理所述眼底图像以使所述眼底图像的图像特征归一化;以及训练多层神经网络,所述神经网络包括卷积单元、与过渡单元交替用于对由所述神经网络确定的图像特征进行下采样的多个密集块、以及全连接单元,其中每个密集块包括一系列装有多个卷积的cAdd单元,并且每个过渡层包括具有池化的卷积。(A method for training a neural network to quantify a vessel caliber of a retinal fundus image is disclosed. The method comprises the following steps: receiving a plurality of fundus images; pre-processing the fundus image to normalize image characteristics of the fundus image; and training a multi-layer neural network comprising a convolution unit, a plurality of dense blocks alternating with a transition unit for downsampling image features determined by the neural network, and a fully-connected unit, wherein each dense block comprises a series of cAdd units fitted with a plurality of convolutions, and each transition layer comprises a convolution with pooling.)

视网膜血管测量

技术领域

本发明涉及用于根据眼底照片进行自动视网膜血管测量的深度学习系统。

背景技术

临床研究已经表明,视网膜血管结构的改变是潜在心血管疾病(CVD)和其他状况——诸如痴呆和糖尿病——的早期预警。这是因为视网膜小动脉和小静脉的状况反映身体其他部位的血管的状况。

当前,由人类评估员对视网膜照片的评分受到实施问题、评估员的可用性和培训以及长期财务可持续性的挑战。深度学习系统(DLS)已经被提出作为对视网膜图像的大规模分析的选择。DLS利用人工智能和表示学习方法(representation-learning method)来处理自然原始数据,从而识别高维信息中的复杂结构。与用以检测特定图像、模式(pattern)和病变的传统模式识别类型软件相反,DLS使用大型数据集来实现有意义的模式或特征的采掘、提取和机器学习。

DLS的性能部分地取决于从图像提取特征的神经网络的层的连通性(connectedness)。可用的特征的数目越大,评估的置信度就越高。然而,这是以存储器(memory,内存)和其他计算机资源为代价的。当寻求训练神经网络以确保误差被反向传播通过神经网络时,也会存在问题——例如消失梯度(vanishing gradient)问题。

因此,期望的是,提供一种通过多种多样的视网膜图像来训练DLS的方法,以解决目前的现有技术中所提到的问题和/或为公众提供有用的选择。

发明内容

本发明涉及一种用于对心血管障碍进行无创观察的用于自动视网膜血管测量的新型深度学习系统。具体地,本发明的实施方案涉及用于获得视网膜图像特性以及基于视网膜血管特性自动计算与医学状况相关的度量(measure)的方法。

本文公开了一种用于训练用于自动视网膜血管测量的神经网络的方法,所述方法包括:

接收多个眼底图像;

预处理所述眼底图像以使所述眼底图像的图像特征归一化;以及

在训练多层神经网络,所述神经网络包括卷积单元(convolutional unit)、与过渡单元(transition unit)交替用于对由所述神经网络确定的图像特征进行下采样的多个密集块(dense block)、以及全连接单元(fully-connected unit),其中每个密集块包括一系列装有多个卷积的cAdd单元,并且每个过渡层包括具有池化(pooling)的卷积。

所述方法还可以包括:将每个cAdd单元的输入通道分组为非重叠群组并且将所述cAdd单元的输出添加到所述非重叠群组中的一个,由此形成到所述系列中的下一个cAdd单元的输入,并且对于所述cAdd单元中的连续的cAdd单元,所述系列中的前一个cAdd单元的输出被添加到所述非重叠群组中的一个不同的群组。在本上下文中,所述cAdd单元形成一个系列。在处理期间,输入被提供给所述系列中的第一cAdd单元,并且该单元处理该输入并且将其传递到所述系列中的下一个cAdd单元,依此类推,直到最后一个cAdd单元。结果,将理解,一个给定的系列中的每个cAdd单元(除了第一cAdd单元以外)将具有“前一个”cAdd单元,该“前一个”cAdd单元是每个cAdd单元从其接收输出的单元。类似地将理解,一个给定的系列中的每个cAdd单元(除了最后一个cAdd单元以外)将具有“下一个”cAdd单元,每个cAdd单元将其输出传递到该“下一个”cAdd单元。

所述方法可以包括:自动检测每个眼底图像中的视神经盘的中心,以及将相应的图像裁剪到以视神经盘中心为中心的预先确定的尺寸的区域。

预处理所述眼底图像可以包括将全局对比度归一化应用于每个眼底图像。预处理所述眼底图像还可以包括使用预先确定的大小的核(kernel)进行中值滤波。

优选地,在所述多个密集块中存在五个密集块。每个密集块可以包括一系列装有两种类型的卷积的cAdd单元。所述两种类型的卷积可以包括1x1卷积和3x3卷积。

每个过渡层的卷积可以是1x1卷积。

本文还公开了一种量化视网膜眼底图像的血管口径的方法,所述方法包括:

接收视网膜眼底图像;以及

将根据上文所描述的方法训练的神经网络应用到所述视网膜眼底图像。

本文还公开了一种用于训练神经网络以生成视网膜血管测量结果的计算机系统,所述计算机系统包括:

存储器;以及

至少一个处理器,所述存储器存储多层神经网络和指令,所述指令当由所述至少一个处理器执行时导致所述至少一个处理器:

接收多个眼底图像;

预处理所述眼底图像以使所述眼底图像的图像特征归一化;以及

在经预处理的眼底图像上训练所述神经网络,所述神经网络包括卷积单元、与过渡单元交替用于对由所述神经网络确定的图像特征进行下采样的多个密集块、以及全连接单元,其中每个密集块包括一系列装有多个卷积的cAdd单元,并且每个过渡层包括具有池化的卷积。

所述指令还可以导致所述处理器将每个cAdd单元的输入通道分组为非重叠群组并且将所述cAdd单元的输出添加到所述非重叠群组中的一个,由此形成到所述系列中的下一个cAdd单元的输入,并且对于所述cAdd单元中的连续的cAdd单元,所述系列中的前一个cAdd单元的输出被添加到所述非重叠群组中的一个不同的群组。

所述指令还可以导致所述处理器:

自动检测每个眼底图像中的视神经盘的中心;以及

将相应的图像裁剪到以视神经盘中心为中心的预先确定的尺寸的区域。

所述指令可以导致所述处理器通过将全局对比度归一化应用于每个眼底图像来预处理所述眼底图像。

在所述多个密集块中可以存在五个密集块。每个密集块可以包括一系列装有两种类型的卷积的cAdd单元。两种类型的卷积可以包括1x1卷积和3x3卷积。

每个过渡层的卷积可以是1x1卷积。

可以在经预处理的眼底图像上训练所述神经网络以量化视网膜眼底图像的血管口径。

附图说明

现在将参考附图仅通过非限制性实施例的方式描述一些实施方案,在附图中:

图1例示了用于与根据本教导的系统交互以用于评估视网膜眼底图像的基于云的界面;

图2例示了用于在本方法中使用的神经网络;

图3示意性地示出了元素级相加(element-wise Addition,eAdd)和通道级拼接(channel-wise Concatenation,cCon)的传播机制;

图4例示了使用cAdd的深度神经网络的总体架构;

图5示出了具有包括四个cAdd单元的cAdd级的传播机制的一个实施例;

图6示出了通过替换不同的传播机制、cAdd到现有架构内的可移植性;

图7例示了使用不同的传播机制的瓶颈单元(bottleneck unit);

图8示出了在CIFAR-10上ResNet与cResNet的性能对比;

图9示出了cResNet-1224的训练曲线和测试曲线;

图10示出了在CIFAR-10上Wide-ResNet(WRN)和cWRN的训练曲线;

图11示出了在CIFAR-10上CondenseNet与cCondenseNet的训练曲线对比;

图12示出了使用cAdd、eAdd和cCon的架构的卷积层中的神经元权重;

图13例示了用于训练神经网络以对眼底图像分类并且用于随后对眼底图像分类的方法;以及

图14示意性地例示了用于执行图13的方法的系统,或可以访问实施图13的方法的基于云的平台所通过的系统。

具体实施方式

本文描述了一种利用深度学习来估计视网膜血管参数的系统,所述视网膜血管参数是例如血管口径和其他测量结果,诸如例如,血管密度。此方法已经被开发并且使用来自各种基于人群的研究的~10,000个视网膜图像进行测试。它可以被有效地用于基于人群的研究的大规模评分。这对于临床医生研究员来说代表显著的时间和成本节省。此外,由于所使用的训练数据的广度,该系统不受限于特定人群/种族。它可以按原样用于一般人群。这去除了对临床医生研究员的地域限制,从而使该系统能够被有用地应用在可从任何地方访问的基于云的平台。

该方法和执行该方法的系统的实施方案采用预处理来使图像因子(imagefactor)归一化。从而该方法不受限于特定型号/类型的视网膜眼底摄像机。该方法可以按原样用于具有足够视场的任何以视神经盘为中心的视网膜图像。

先前的系统,诸如在WO 2019/022663——其全部内容通过引用并入本文——中描述的系统,提供了用于对视网膜图像大规模评分的半自动平台。然而,常常需要人工输入来定位视神经盘、校正血管类型以及编辑追踪的血管和段宽度。本文所公开的实施方案消除了这样的人工输入,因此允许对视网膜图像更容易并且快速地评分并且对于基于人群的研究产生显著的时间节省。此自动评分系统具有以下优点:可按需使用并且保证可完美复制的结果。

在图13中阐述了实现这一点的方法100。方法100被用于训练用于自动视网膜血管测量的神经网络并且广泛地包括:

步骤102:接收多个眼底图像;

步骤104:预处理所述眼底图像以使所述眼底图像的图像特征归一化;以及

步骤106:在经预处理的眼底图像上训练多层神经网络,所述神经网络包括卷积单元、与过渡单元交替用于对由所述神经网络确定的图像特征进行下采样的多个密集块、以及全连接单元,其中每个密集块包括一系列装有多个卷积的cAdd单元,并且每个过渡层包括具有池化的卷积。

方法100和实施它的系统使得能够计算视网膜图像中的可量化的测量用于对视网膜眼底图像大规模评分。结果:

a)实现输入的视网膜图像的预处理的步骤使视网膜图像的有害方面最小化并且使视网膜图像评分标准化;

b)多层神经网络形成一种用于对视网膜血管参数进行量化的深度学习架构;以及

c)该方法可以在基于云的平台上实施以便于随着时间的推移进行大规模的人群研究。

预处理步骤104意在去除眼底图像中由光照、摄像机、角度和其他因素的改变导致的方差。换句话说,预处理步骤102意在去除眼底图像中噪声特征的混杂作用(confoundingeffect)。

视网膜图像中的血管宽度是基于像素的数目测量的。然而,诸如CRAE和CRVE的血管参数的单位是以微米为单位。每个图像具有图像转换因子(Image Conversion Factor,ICF),该图像转换因子给出了从像素的数目到微米的映射。由于放大效应、图像分辨率和其他原因,来自不同的眼底摄像机的图像可以具有不同的ICF。

本方法通过调整每个图像的大小来使每个图像标准化。在一个实施方案中,使用比率cf/16.38来调整大小,其中cf是图像的ICF并且16.38是标准化图像的ICF。从而使图像全都处于相同的尺寸以及像素到微米的映射。

本预处理步骤104还涉及自动检测每个眼底图像中的视神经盘的中心,以及将相应的图像裁剪到以视神经盘中心为中心的预先确定的尺寸的区域。具体地,步骤104涉及区域裁剪以将神经网络训练和视网膜眼底的任何后续评估集中在视神经盘的特征上。视神经盘检测算法在WO 2019/022663中被描述并且通过引用并入本文。该视神经盘检测算法被应用于ICF标准化图像以定位视神经盘中心。图像然后被裁剪到以视神经盘为中心的预先确定的尺寸的区域——例如512*512的区域。

一旦视神经盘已经被识别并且图像被裁剪到标准区域大小,图像就被归一化以去除由例如摄像机校准和摄像机类型的变化而产生的噪声。为了实现这一点,在所裁剪的图像上应用全局对比度归一化,以减少来自不同种族的视网膜图像之间的颜色变化。整个图像的对比度的总范围按一个缩放因子缩放,以使对比度变化归一化,并且然后使用相同的缩放因子缩放每个像素对比度。

在对比度归一化之后,对图像进行滤波以去除噪声。目前,与预先确定的大小——例如5个像素——的核一起使用中值滤波。

在根据步骤104预处理图像之后,在训练中使用它们以量化视网膜血管参数。一种深度学习架构被用于该量化。尤其,步骤106涉及一种被称为通道级相加(channel-wiseaddition)的传播机制。如上文所提及的,输入被预处理以产生512*512裁剪图像。然后经预处理的图像被传递到神经网络以训练神经网络——步骤106。神经网络的输出是具有预测口径(craeB、craeC、crveB、crveC)或输入图像的其他测量结果的全连接层。神经网络可以具有各种组成,但是至少包括卷积单元、之后是与过渡单元交替以对特征进行下采样的多个密集块(目前有五个)、以及全连接单元。每个密集块包括或是一系列装有多个卷积(目前两种类型的卷积——在所示出的实施例中它们是1x1和3x3)的通道级相加(cAdd)。每个过渡单元目前包括具有池化的卷积(在所示出的实施方案中,它是1x1)。

在神经网络中,通道级相加(cAdd)被应用于每个图像,之后图像传递通过卷积层和最大池化——目前,卷积层使用7x7窗口和为2的步幅(stride),并且最大池化层使用具有为2的步幅的3x3窗口。

本实施方案中的卷积层之后是一系列与过渡层/单元交替的五个密集块。过渡单元对特征——即由神经网络中的先前的层/单元检测到的特征——进行下采样。每个密集块包括一系列单元。每个过渡层包括卷积、之后是平均池化——目前卷积是1x1卷积,之后是2x2平均池化。最后,输出是具有一个输出节点的回归层。

表1:神经网络的详细架构

在图2的流程中例示了此架构,其中,在使用中,所裁剪的视网膜图像200被传递到卷积单元202、之后是与过渡层206交替的密集块204(最后一个密集块之后可能没有过渡单元)、之后是输出血管口径(输出210)的全连接单元208。每个密集块包括一系列装有两种类型的卷积的cAdd单元212,如表1中详细说明的。输出大小通过过渡单元逐渐减小,并且全连接单元的输出是1x1。

为了使误差传播通过神经网络,可以使用任何合适的误差函数。目前,平均绝对误差被用作损失函数(loss function)。

然后使用具有0.9的牛顿动量、无阻尼和10-4的权重衰减的随机梯度下降来训练模型。在测试期间,使用80的批量大小,具有余弦形的学习速率和0.2的丢弃率(dropoutratio)。

最近的深度神经网络(DNN)利用涉及元素级相加(eAdd)或通道级拼接(cCon)的恒等映射(identity mapping,身份映射)用于这些恒等映射的传播。与cCon不同,cAdd能够消除存储特征图的需要,因此减少存储器要求(memory requirement,内存要求)。

如参考图6和图7所描述的,所提出的cAdd机制更通常与卷积神经架构兼容,并且与cCon和eAdd相比,可以使用更少的参数加深和加宽神经架构。为了例示,cAdd已经被并入当前现有技术的架构——诸如ResNet、WideRes-Net和CondenseNet,并且如下所讨论的,对CIFAR-10、CIFAR-100和SVHN进行实验以证明基于cAdd的架构与它们的对应的基本架构相比能够以少得多的参数实现高得多的准确度。

尤其,更深并且更宽的神经网络常常产生更好的性能。然而,深并且宽的网络遭受消失梯度以及参数的数目的二次增长的问题。此外,计算复杂性和存储器要求在这些架构中也逐步升高,这使得可扩展学习在现实世界应用程序中更难以实现。

神经架构的深度是其性能的关键。当前的神经架构使用呈跳跃连接(skipconnection)的形式的恒等映射来增加它们的深度。这允许梯度被直接地向后传递,因此允许深度的增加而没有消失梯度的问题。如上文所提及的,经由eAdd或cCon实现这些恒等映射从一个块到下一个块的传播。

图3示出了eAdd和cCon传播机制。在eAdd 200中,对对应的元素执行加法,因此每个单元的输入大小保持相同——例如六个输入通道202产生六个输出通道204。另一方面,cCon 206拼接来自所有在前的单元的输入208,因此为每个后续单元二次增加输入大小210。结果,cCon可以学习更复杂的特征,然而,它需要更多存储器来存储拼接的输入。

为了维持例如cCon的特征复杂性,同时通过避免输入大小的二次增加来节省存储器,cAdd可以被容易地并入任何现有技术的神经架构。结果,在实现高准确度的同时减少了计算和存储器要求。

为了保持存储器要求小,小残差部分被顺序地产生并且被添加到一个单元中的恒等部分的通道的部分中。该单元被重复多次直到所有通道都被添加。通过这,增加了网络的深度并且减少了参数。

图4示出了使用cAdd的神经网络的总体架构300。它具有若干个级302、304、306,并且每个级内的cAdd单元对于输入和输出特征图具有相同的分辨率——这允许通道级相加。在一些实施方案中,跨级的分辨率可能变化——这将使得能够通过过渡单元进行下采样。

此cAdd设计具有若干个优点。cAdd提供了允许梯度直接绕过单元的快捷方式。这减轻了消失梯度。cAdd添加回输出特征而不是拼接。结果,对于每个单元,输入被保持在相同的大小,并且需要更少的存储器。因为cAdd显著增加卷积神经网络(CNN)的宽度和深度,所以还可以生成更复杂的特征。此外,当与具有相同的宽度和高度的现有的神经网络相比时,需要更少的参数。

这些优点通过在CIFAR-10、CIFAR-100和SVHN上的实验结果被验证,所述实验结果证明了所提出的传播机制的效力。如参考图8至图12所讨论的,基于cAdd的神经网络与它们的对应的网络相比,始终以较少的参数实现较高的准确度。

关于使用eAdd传播机制的神经网络,深度对于基于eAdd的神经网络实现更高性能至关重要。然而,难以优化深度神经网络。eAdd被引入ResNet中以显著加深神经网络并且还使训练过程容易。它已经被广泛用在许多深度神经网络中,所述深度神经网络包括Inception-ResNet、Wide-ResNet、ResNeXt、PyramidNet、Shake-ShakeNet以及ShuffleNets。它也被AlphaGo和自动设计的架构——像NASNet、ENAS和AmoebaNets——采用。

神经网络的宽度对获得准确度也至关重要。与ResNet——其通过简单地堆叠元素级相加来实现较高的性能——不同,Wide-ResNet通过沿着深度增加输入通道来加宽网络。实验结果表明,16层的Wide-ResNet在准确度和效率上都可以胜过千层的ResNet。对于Wide-ResNet,宽度的增加仅发生在级之间,并且级内的输入大小保持相同。PyramidNet使用加宽步长因子(size factor)以像金字塔形的形状逐渐增加其宽度,这已经被实验证明提高了泛化能力。ResNext使用多分支元素级相加——通过用一组小同类(homogeneous)分支替换唯一的分支。简单地添加更多分支可以改进ResNext的性能。代替直接将所有的小分支总计,Shakeshake Net使用随机仿射组合来显著提高泛化能力。

与需要人类专业知识的手动设计不同,自动设计的架构搜索整个架构空间以寻找最好的设计。尽管所学习的架构具有许多不同的小分支,但是明显的特性是它们都使用eAdd来将分支总计。

由于eAdd要求输出大小至少与输入大小相同或大于输入大小,因此当参数的数目有限时,神经网络可以变为更深或更宽,但是不能二者兼得。因此在神经网络宽度和深度之间存在权衡。

关于使用cCon的神经网络,诸如DenseNet,来自所有在前的单元的特征被用作输入以生成少量输出,这些输出被传递到后续单元。虽然这加强了特征传播和重用,但是没有必要将所有现有的特征用作每一个后续层的输入。

CondenseNet通过所学习的群卷积仅选择最相关的输入。它通过在压缩阶段期间修剪掉不重要的滤波器来使卷积层稀疏化,并且在训练过程的后半部分优化稀疏化的模型。由于修剪多余的滤波器,CondenseNet比紧凑型MobileNes和ShuffleNets更有效率,所述紧凑型MobileNes和ShuffleNets是为使用深度级(depth-wise)可分离卷积的移动设备特别设计的。

对于自动设计的架构,cCon被完全用在它们的最准确的模型中,特别是对于所有单元输出(cell output)的组合。然而,由于拼接使输入大小线性增加,因此这也使参数的数目和存储器要求增加。相反,所提出的cAdd能够通过将输出添加回到所选择的输入来保持输入大小恒定。此外,eAdd使得神经网络能够被加深或加宽,但是不能二者兼得。相反,对于相同数目的参数,cAdd既可以加深神经网络又可以加宽神经网络。

结果,cAdd结合eAdd和cCon传播机制的益处,以便以较少的参数加深和加宽网络。图5示出了跨四个使用cAdd的单元的一个cAdd级400的传播。每个单元必须生成少量的输出通道,由此生成的输出然后被添加回到对应的跳过连接以形成为到下一个单元的输入。在图5中所示出的实施例中,第一cAdd单元402生成输出404,所述输出404然后被添加作为用于后续cAdd单元406的跳过连接的输入。具体地,cAdd单元402生成三个输出404。所述三个输出404然后被添加回到前三个跳过连接408(即被cAdd 402跳过的)以形成到第二cAdd单元406的输入。

假设M是输入通道的数目。为了确保覆盖所有跳过的连接,每个单元的输入通道被分组为非重叠部分或群组。对于每个cAdd单元,所有输入通道的输出被添加到非重叠群组中的一个,其中,对于连续的cAdd单元,输出群组是所述非重叠群组中的不同的一个。

每个部分(即,非重叠群组)的大小由参数α控制,使得除了最后的部分414之外,每个部分410、412恰好具有个通道,该最后的部分414具有个通道,其中R是剩余的通道。进一步参考图5,第二输入部分412具有个通道。这些通道通过添加到cAdd2单元406的输出而被覆盖。第三并且最后的输入部分414具有个通道,所述通道在cAdd 402和cAdd 404中被跳过,并且通过添加到cAdd3单元416的输出而被覆盖。结果,每个cAdd单元跳过除一个非重叠群组以外的所有非重叠群组,并且在一个cAdd单元中被跳过的每个非重叠群组被连接在至少一个其他cAdd单元中。事实上,在图5中所示出的实施例中,在每个cAdd级400中的α个非重叠群组410、412、414和α+1个cAdd单元402、406、416、418中,除了一个非重叠群组414以外,每个非重叠群组被连接在恰好一个cAdd单元中,所述非重叠群组414被连接在接收至cAdd级400的输入通道的第一cAdd单元402和提供来自cAdd级400的输出的第二cAdd单元418。

为了使加法运算有意义,来自一个单元的生成的输出的数目必须与下一个单元中待被覆盖的通道的数目匹配。在数学上,第k cAdd单元的输出通道的数目由下式给出:

为了分析传播机制,令X=[x1,x2,…,xM]是到cAdd单元的输入,并且Y=[y1,y2,…,yN]是X在传递通过卷积块的非线性变换函数F(·)之后的输出,该卷积块可以具有由批量归一化(batch normalization,BN)、修正线性单元(rectified linear units,ReLU)和卷积层(Conv)组成的不同的层,换言之,

cAdd单元将其输出Y添加回到其输入X的一部分以形成下一个单元的输入X',如下:

X′=X+TY (3)

其中T是M×N稀疏矩阵,如果yj将被添加到xi,Tij=1。

根据等式2和等式3:

现在考虑从cAdd单元s到cAdd单元e的传播,它们的对应的输入分别是XS和Xe。这产生:

令E是误差损失。则Xs上的梯度可以被表达为:

一个批次内的所有训练样本不可能使等式(6)中的分量始终等于-1。因此,这表明cAdd传播机制能够缓解消失梯度问题。

为了分析参数,预先确定的参数α被用来控制每个cAdd单元的复杂性。大的α将意味着输出通道的数目显著减少,从而导致神经网络的参数的数目减小。因此,使用cAdd来分析神经架构中的参数的数目非常重要。

图6——包括图6(a)至图6(d)——示出了使用不同传播机制的神经架构的基本单元。符号是:

·Conv(I,O,L,L)。具有I个输入通道、O个输出通道和核大小L×L的卷积层。

·BN(I)。具有I个输入通道的批量归一化。

·ReLU。修正线性单元。

在这些实施例中,简单的替换已经被应用,其中在图6(a)和56b)中,批量归一化层500、502的输出分别被馈送到eAdd 504和cAdd 506,并且每个采用相同的输入通道。类似地,在图6(c)和图6(d)中,输入通道508和卷积层输出510、516可以与cCon 514相同的方式被馈送到cAdd 512。在每种情况下,非重叠群组被传播通过网络。

为了公平比较,假设cCon单元的增长速率g是M/α,使得cCon单元具有与cAdd相同的数目的输出。表2给出了具有M个输入通道和U个基本单元的神经网络所要求的参数的数目。

表2.所要求的参数的比较

与使用eAdd的网络相比,使用cAdd的神经网络具有少了大约2α倍的参数。换言之,在参数的数目相同的情况下,与使用eAdd相比,使用cAdd的神经网络的深度可以增加2α,或宽度可以增加这样的增加可以改进神经网络的泛化能力,因此导致较高的准确度。

表2中cCon所要求的参数的数目大于cAdd。(M/α)2*L2*(U2-U)/2的残差部分通过拼接操作而被引入。

除了当与eAdd相比时使用cAdd加宽和加深网络以及当与cCon相比时减少参数要求的能力之外,cAdd单元可以被容易地并入现有的神经网络中——通过替换它们的对应的eAdd和/或cCon单元。

对于使用eAdd的神经网络,存在两种单元——基本单元和瓶颈单元。在eAdd基本单元中,对于元素级相加,输出通道的数目必须与输入通道的数目相同。当我们用cAdd替换eAdd时,不再是这种情况。在cAdd操作下,输出通道的数目O基于等式1来确定。换句话说,对于cAdd,我们简单地将eAdd的基本单元的初始卷积层从Conv(M,M,L,L)改变为Conv(M,O,L,L),O<<M。

eAdd的瓶颈单元使用具有核大小1x1的卷积层来将大量的输入特征图与很少的参数进行空间组合(参见图7(a)的瓶颈单元600)。由于元素级相加要求602,因此需要附加的卷积层604来将输出通道的大小扩展回到M。然而,对于通道级相加,这不是必需的。图7(b)示出了具有cAdd 608的修改的cAdd瓶颈单元606。类似的适应性可以被应用于变体,诸如预激活和在PyramidNet中使用的那些。

适配基于cCon的神经网络以使用cAdd是简单的,由此使用等式1而不是通过增长速率来确定用于基本单元和瓶颈单元的输出通道的数目。

cAdd的效力在实验上与eAdd和cCon进行比较。三种广泛使用的CNN架构——ResNet、WRN和CondenseNet——被适配以使用cAdd,如先前部分所描述的。经适配的架构分别被称为cResNet、cWRN和cCondenseNet。每个架构具有3个级。

使用具有0.9的牛顿动量、无阻尼和10-4的权重衰减的随机梯度下降来训练网络。为了公平比较,除非另有说明,否则所有训练设置(学习速率、批量大小、时期(epoch)和数据扩增)都与原始论文中的相同。使用以下数据集:

·CIFAR-10:它具有10个对象类,每个类具有6000个32x32彩色图像。存在50,000个图像用于训练和10000个用于测试。

·CIFAR-100:它具有100个类,每个类具有600个32x32彩色图像。训练集和测试集分别包含50,000个和10,000个图像。

·SVHN:这具有超过600,000个32x32的现实世界房屋号码的图像。存在73,257个图像用于训练,26,032个用于测试,并且附加的531,131个用于额外训练。

在这组实验中,检查了ResNet与cResNet的性能。像ResNet一样,使用128的批量大小在300个时期内训练所有cResNet(α=7)。学习速率从0.1开始,并且在第150个时期和第225个时期之后减少了10。对于1224层cResNet,在前20个时期内初始学习速率是0.01,并且然后恢复到0.1以继续训练。

表3给出了在CIFAR-10、CIFAR-100和SVHN数据集上ResNet、预激活ResNet和cResNet的结果。具有27万个参数的ResNet-20具有20的深度,并且三个级的宽度分别是16、32和64。相反,具有相当数目的参数(21万个)的cResNet-86具有86的深度,并且其对应的宽度是84、112和140。cResNet-86比ResNet-20增加的宽度和深度使得它能够在CIFAR-10上具有高得多的准确度。事实上,在CIFAR-10、CIFAR-100和SVHN数据集上cResNet-86的准确度超过了ResNet-56,所述数据集具有四倍数目的参数。

表3.ResNet和cResNet的Top-1错误率。宽度是三个级中的输入通道的数目。*和+指示结果来自已接受的参考。cResNet的结果以“mean±std”的格式在5次运行中取平均值。

当cResNet-86的宽度增加到168-196-308使得其具有与ResNet-56相当的参数数目(84万个)时,准确度的差距显著扩大。在实验中,cResNet-86也胜过ResNet-110、ResNet-164和预激活ResNet-164,所述ResNet-110、ResNet-164和预激活ResNet-164具有两倍的参数数目。看到,具有165万个参数的cResNet-170在所有ResNets和预激活ResNets中给出了最好的结果。

图8示出了随着参数的数目的变化在CIFAR-10数据集上cResNet和ResNet的top-1错误率。明显地,对于相同数目的参数,cResNet的错误率总是低于ResNet。图8的曲线图还示出ResNet在其最低错误率处具有的参数是cResNet的8倍。

相对于eAdd,cAdd具有的另一个优点是它减少过拟合的能力。ResNet-1202具有1940万个参数,并且由于过拟合,其错误率高于ResNet-110。另一方面,cResNet-1224——其比ResNet-1202宽得多并且深得多——在CIFAR-10(参见表3)过拟合上实现了4.06的最低top-1错误率,如由图9中的其训练曲线和测试曲线所展示的。

还在实验上检查了WRN与cWRN的性能。类似于WRN,使用128的批量大小在200个时期内训练cWRN(α=7)。学习速率从0.1开始,对于CIFAR-10和CIFAR-100数据集在第60个、第120个和第160个时期之后退火(anneal)5倍。对于SVHN数据集,使用128的批量大小在160个时期内训练cWRN,并且在第80个和第120个时期之后通过将0.01的初始学习速率除以10来优化cWRN。

表4给出了结果。与对应的WRN相比,所有的cWRN都宽得多并且深得多,并且能够在所有三个数据集上以较少的参数实现较低的top-1错误率。具体地,cWRN-130-2在所有三个数据集上以一半的参数(39万个对76万个)胜过WRN-52-1。总的来说,cWRN-88-13给出了最好的性能。

表4.WRN和cWRN的Top-1错误率。宽度是三个级中的输入通道的数目。cWRN的结果以“mean±std”的格式在5次运行中取平均值。

图10示出了随着参数的数目的在CIFAR-10数据集上cWRN和WRN的top-1错误率。cWRN被示出对于相同的错误率具有比WRN少1.4倍的参数。

最后,检查了在CondenseNet中cAdd的性能。所有的cCondenseNet(α=6)是使用64的批量大小在300个时期内训练的,并且使用从0.1到0的余弦形的学习速率。使用0.1的丢弃率在600个时期内训练cCondenseNet-254以确保与CondenseNet-182进行公平比较。

表5示出了在CIFAR-10和CIFAR-100二者上cCondenseNet-254给出最好的性能的结果。它具有是CondenseNet-182的宽度的38倍的456个输入通道,以及是CondenseNet-182的深度的1.4倍的254个卷积层。cCondenseNet-146和cCondenseNet-110与它们的对应物CondenseNet-86和CondenseNet-50相比以更少的参数显然宽得多并且深得多。具体地,尽管cCondenseNet-110具有的参数比CondenseNet-50少于3万个,但是它的top-1错误率比CondenseNet-50的错误率更小,5.74对6.22。

表5.CondenseNet和cCondenseNet的Top-1错误率。宽度是三个级中的输入通道的数目或增长速率。cCondenseNet的结果以“mean±std”的格式在5次运行中取平均值。

图11比较了CIFAR-10上的top-1错误率。明显地,对于相同的错误率,cCondenseNet具有的参数比CondenseNet少1.4倍。

为了确定神经网络中正在发生什么,可以使用权重范数(Weight Norm)来测量在特征学习期间神经元的活跃度。图12示出了使用cAdd(从ResNet-26和DenseNet-28适配的)、eAdd(ResNet-26)和cCon(DenseNet-28)训练的神经网络的每个卷积层内的神经元权重的均值和标准偏差。如所示出的,基于cAdd的网络中的神经元比基于eAdd和cCon的网络具有更大的权重。这表明,在特征学习期间,与eAdd和cCon神经元相比,cAdd神经元更活跃。这可能是由于eAdd和cCon引入了大量的学习权重,所述学习权重中的许多接近于零并且可以被修剪而不牺牲准确度。使用cAdd,可以减少权重的数目,从而导致如表2中所陈述的较少的参数,以及如表3至表5中所示出的较高的准确度。

如参考图3至图6所讨论的,深度和宽度是神经网络实现较高的性能的重要维度。深度控制学习的特征的复杂性。较深的神经网络可以学习更复杂的特征,而较宽的网络使得更多的特征能够参与到最终的分类中。

对于基于cAdd的架构,我们具有增加深度或宽度或二者的灵活度,并且仍然保留大约相同数目的参数。因此,研究基于cAdd的架构的深度和宽度对其分类准确度的影响是有用的。为了做到这一点,使用具有85万个参数的ResNet-56和具有52万个参数的CondenseNet-86作为基线,并且不同的cResNet和cCondenseNet被设计为在不同深度和宽度具有大约相同数目的参数。表6示出了在CIFAR-10和CIFAR-100数据集二者上的结果。

表6.在CIFAR-10和CIFAR-100数据集上cResNet和cCondenseNet的Top-1错误率。

如表6中所示出的,当深度的增加与宽度的增加平衡时获得最好的性能,表明深度和宽度二者同等重要。这是有意义的,因为神经网络的性能取决于特征的数目以及这些特征的复杂性。

如上文所陈述的,当与其他传播机制相比时,通道级相加传播机制可以被使用以便以显著更少的参数来加深和加宽神经网络。

上文然后可以被用在步骤106中,以通过将经预处理的眼底图像传递到cAdd级的输入通道、之后将(cAdd级的)输出传递到神经网络的卷积层来训练多层神经网络。

为了便于访问系统,可以使用基于云的Web系统,该基于云的Web系统提供图1中所示出的一站式界面,允许用户管理研究性学习和处理数字眼底照片用于对视网膜血管参数进行客观评估。此平台被设计为满足所有级别参与用户的需要,从而为跨组织的不同团队的研究性学习的管理提供简单的解决方案。也可以从大多数支持互联网的(internet-enabled)设备访问基于云的平台,从而减少由于地域限制而导致的系统的使用的影响。图1示出了平台108的关键功能:登录的用户可以经由界面110登录到平台,并且通过界面112、114和116查看和修改研究细节、上传图像、生成血管参数数据。

还提供了一种用于执行图13的方法并且用于使用该方法对眼底图像分类的系统。就这一点而言,本方法将被理解为在这样的系统上被执行、被访问或被实施——即该系统包括存储器和处理器(其可以分布在多个服务器上),该存储器包括指令,所述指令当由处理器执行时导致该方法的执行。该系统可以是独立的系统,或在一个优选的实施方案中,被部署在云平台上。无服务器计算模型也可以被用来构建和托管神经网络以及用于访问它的界面。这允许该系统在无需人工干预的情况下即时可扩展。

图14是示出了可以在其中实践本发明的实施方案的示例性移动计算机设备1000的块图。移动计算机设备1000可以是诸如智能电话、个人数据助理(PDA)、手持式计算机和支持多媒体互联网的蜂窝电话的移算机设备。为了易于描述,下文参考例如由AppleTM公司制造的呈iPhoneTM的形式的移动设备或由LGTM、HTCTM和SamsungTM制造的移动设备通过非限制性实施例的方式描述了移动计算机设备1000。

如所示出的,移动计算机设备1000包括以下经由总线1006进行电子通信的部件:

(a)显示器1002;

(b)非易失性(非暂时性)存储器1004;

(c)随机存取存储器(“RAM”)1008;

(d)N个处理部件1010;

(e)包括N个收发器的收发器部件1012;以及

(f)用户控制件1014。

尽管图11中所描绘的部件表示物理部件,但是图11并非意在是硬件图。因此,图11中所描绘的部件中的许多可以通过公共构造来实现或分布在附加的物理部件之中。此外,当然可以设想的是,利用其他现有的以及尚未开发的物理部件和架构来实施参考图11所描述的功能部件。

显示器1002通常运行以向用户提供内容的表示,并且可以通过各种各样的显示器(例如,CRT、LCD、HDMI、微型投影仪和OLED显示器)中的任何一种来实现。

通常,非易失性数据存储装置1004(也被称为非易失性存储器)起作用以存储(例如,持续地存储)数据和可执行代码。

例如,在一些实施方案中,非易失性存储器1004包括本领域普通技术人员所公知的引导加载程序代码、调制解调器软件、操作系统代码、文件系统代码以及便于实施部件的代码,为了简单起见未描绘或描述所述代码。

在许多实施方式中,非易失性存储器1004由闪存(例如,NAND或ONENAND存储器)来实现,但是当然也设想的是同样可以利用其他存储器类型。尽管有可能执行来自非易失性存储器1004的代码,但是非易失性存储器1004中的可执行代码通常被加载到RAM 1008中并且由N个处理部件1010中的一个或多个执行。

与RAM 1008连接的N个处理部件1010通常运行以执行存储在非易失性存储器1004中的指令。本领域普通技术人员应理解,N个处理部件1010可以包括视频处理器、调制解调器处理器、DSP、图形处理单元(GPU)和其他处理部件。

收发器部件1012包括N个收发器链,所述收发器链可以被用于经由无线网络与外部设备通信。N个收发器链中的每个可以表示与特定的通信方案相关联的收发器。例如,每个收发器可以对应于特定于局域网、蜂窝网络(例如,CDMA网络、GPRS网络、UMTS网络)和其他类型的通信网络的协议。

应认识到,图11仅是示例性的,并且在一个或多个示例性实施方案中,本文所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,则功能可以作为编码在非暂时性计算机可读介质1004上的一个或多个指令或代码而被存储或被传输。非暂时性计算机可读介质1004包括计算机存储介质和通信介质,该通信介质包括任何便于将计算机程序从一个地方到另一个地方的传送的介质。存储介质可以是计算机可以访问的任何可用介质。

在一些实施例中,移动计算机设备1000由诸如智能手表(例如Apple Watch)或健身追踪器(例如FitBit)的可穿戴设备体现。替代地,移动计算机设备1000与智能手表或健身追踪器连接。

本方法的实施方案可以具有特定的工业应用,例如:

作为自动工具,用于在大型基于人群的研究中测量视网膜血管口径。

作为自动助手,用于临床医生和评分者以获得第二意见。

作为通过互联网对心血管疾病的独立的按需风险评估。

应理解,所描述的实施方案的各个方面的许多进一步修改和排列是可能的。因此,所描述的方面意在包含落入所附权利要求的精神和范围内的所有这样的更改、修改和变化。

贯穿本说明书和随后的权利要求书,除非上下文另有要求,否则词语“包括(comprise)”以及诸如“包括(comprises)”和“包括(comprising)”的变化将被理解为意味着包括所陈述的整数或步骤或整数或步骤的群组,但是不排除任何其他整数或步骤或整数或步骤的群组。

本说明书中对任何在先公开物(或从其得到的信息)或任何已知事项的提及,不被视为并且不应被视为认可或承认或以任何形式暗示该在先公开物(或从其得到的信息)或已知事项形成本说明书所涉及的努力的领域的公知常识的一部分。

32页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于提供多维人力资源配置顾问的方法和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!