一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

OCTA图像中视网膜血管分叉点和交叉点的检测方法与流程

2021-10-20 00:37:00 来源:中国专利 TAG:中视 网膜 交叉点 分叉 血管

octa图像中视网膜血管分叉点和交叉点的检测方法
技术领域
1.本发明涉及生物医学工程领域,特别涉及一种octa图像中视网膜血管分叉点和交叉点的检测方法。


背景技术:

2.视网膜脉管系统是临床病理学的重要组成部分,并且与许多眼部疾病相关。视网膜脉管系统的定量分析可以促进涉及血管异常的疾病的诊断和治疗。光学相干断层扫描血管造影(octa)是近年来发展起来的一种新型眼科检查技术。与传统的荧光素血管造影相比,octa是一种无创、安全的成像技术,无需静脉注射染料,而且操作更快速、更容易。octa可以产生多个视网膜层和脉络膜层的数据,并且能够显示结构和血流信息。目前,octa已成为观察视网膜血管的宝贵成像工具。
3.血管分叉指一根血管分成两根血管,血管交叉指两根血管相互交叉。作为视网膜血管的特殊标志,血管分叉点和交叉点是疾病预测、图像配准、拼接和生物识别安全应用的重要特征。近年来,已经有许多方法用于检测视网膜血管分叉点和交叉点。然而,大多数研究都是基于视网膜眼底图像,只有少数方法与octa图像相关。目前,octa图像中血管特征点的检测基于血管提取,即血管分割和血管骨架直接影响检测结果。
4.由于血管网络复杂以及血管与背景之间的对比模糊,要实现octa图像的精准分割是一个巨大的挑战。使用滤波、阈值化和边缘检测等传统图像处理方法来分割octa图像中的血管会导致毛刺、血管不连续和血管的细节丢失。尽管一些基于深度学习的方法在octa图像分割中是有效的,但人工标注用于训练的血管分割图是相当耗时耗力的。因此,在没有血管分割的情况下对octa图像中的视网膜血管分叉点和交叉点进行检测和分类是一个亟待研究的重要课题。


技术实现要素:

5.本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种octa图像中视网膜血管分叉点和交叉点的检测方法。
6.为了实现本发明的上述目的,本发明提供了一种octa图像中视网膜血管分叉点和交叉点的检测方法,包括以下步骤:
7.s1,使用堆叠沙漏网络提取和融合输入图像的特征;
8.s2,将s1提取的特征输入三个预测分支来预测中心点热图、中心点的局部偏移和目标大小;
9.s3,从三个预测分支中获得分类结果和血管特征点的位置信息。
10.进一步地,所述堆叠沙漏网络包括m个沙漏模块,m为大于等于1的整数;其中上一个沙漏模块的输出输入到下一个沙漏模块,作为下一个沙漏模块的输入。
11.进一步地,所述堆叠沙漏网络包括:
12.每个沙漏模块有5级,每级有两个分支,其中一个分支为下路,使用卷积层对特征
进行下采样,每通过一次下路,特征图的分辨率将会缩小两倍;另一个分支为上路,通过残差模块实现,特征图保持分辨率不变;
13.判断下采样次数是否达到沙漏模块的级数,若是,则网络开始自上而下的上采样处理和特征融合,然后将上下路两组特征输入注意力门;
14.最终实现最佳的关键点估计性能。
15.进一步地,所述注意力门包括:
16.和作为注意力门的输入,其中输入x
l
是l层的输出特征图,g是由更深的网络层上采样得到的门控信号,f
l
、h
x
、w
x
分别表示x
l
的特征图的数量、高度和宽度,f
g
、h
g
、w
g
分别表示g的特征图的数量、高度和宽度,为实数域;
17.s

2,x
l
和g分别通过线性变换θ
x
、线性变换φ
g
的1
×
1卷积映射到一个中间空间之后再相加;
18.s

3,在加法运算之后应用线性整流函数,为了获得注意力系数α
l
,再应用一个1
×
1卷积,然后是sigmoid激活函数;对于每个像素i,其注意力系数用以下公式表示:
[0019][0020]
其中为l层的输出特征图的第i个像素对应的向量,为深层网络层上采样得到的门控信号的第i个像素对应的向量,
·
t表示转置,σ1(
·
)表示relu函数,σ2(
·
)表示sigmoid激活函数,)表示sigmoid激活函数,和是线性变换,和是偏置项,为实数域;f
l
×
f
int
、f
g
×
f
int
、f
int
×
1分别为神经网络学习得到的权重θ
x
、φ
g
、ψ的权重维度;
[0021]
s

4,每个注意力门的输出是输入特征图x
l
与注意力系数α
l
逐元素相乘得到的新特征:其中表示输入特征图位于c通道的第i个像素对应的值,表示第i个像素的注意力系数,表示输出特征图位于c通道的第i个像素对应的值。
[0022]
进一步地,所述relu函数包括σ1(x)=max(0,x),所述sigmoid激活函数包括其中x为函数自变量。
[0023]
进一步地,还包括损失函数:
[0024]
采用focal loss来计算关键点热图的损失:
[0025][0026]
其中α和β是超参数,n为输入图像中关键点的个数;在我们的实验中,设置α=2,β
=4;y
xyc
表示当横坐标为x,纵坐标为y,通道为c时真实关键点热图上对应的值,表示当横坐标为x,纵坐标为y,通道为c时预测关键点热图上对应的值;
[0027]
由于输出步长引起了离散误差,因此为每个关键点预测了局部偏移其中r
s
是输出步长,w为宽度,h为高度;该偏移量由所有类共享,并使用l1损失进行训练:
[0028][0029]
其中l
off
是偏移量损失函数,表示为p点预测的偏移量,n表示输入图像中关键点的个数,p为类别c的一个真实关键点,r
s
是输出步长,为p在真实关键点热图y中的映射点,|
·
|表示绝对值。
[0030]
进一步地,还包括:
[0031]
设目标k的真实边界框坐标为那么k的中心点坐标为大小为其中分别表示真实边界框左上角的横坐标、左上角的纵坐标、右下角的横坐标、右下角的纵坐标;
[0032]
为所有类别的目标预测的大小为并用l1损失对其进行训练:
[0033][0034]
其中表示为目标k预测的大小,s
k
表示目标k的真实大小;
[0035]
l
k
,l
off
和l
size
构成了整体损失函数:
[0036]
l=l
k
λ
off
l
off
λ
size
l
size
[0037]
其中r
s
是输出步长,w为宽度,h为高度,l
k
是关键点热图的损失,l
off
是偏移量损失函数,l
size
是预测目标大小的损失函数,λ
off
和λ
size
分别是l
off
和l
size
的权重,按照centernet中的设置,取λ
off
=1,λ
size
=0.1。
[0038]
进一步地,还包括采用ap和map进行评估:
[0039]
采用全插值,每个类的ap记为:
[0040][0041]
n表示插值点数量,如果当前的recall值为r
n
(从0开始),那么下一个recall值为r
n 1

[0042]
其中
[0043][0044]
是precision

recall曲线上大于等于r
n 1
的所有recall值,表示的取值范围,是值所对应的所有precision值,p
interp
(r
n 1
)是要进行插值的precision值,取中的最大值;
[0045]
map衡量所有类别的准确性,公式如下:
[0046][0047]
其中n
c
为类别的数量,ap
j
为第j类的ap值。
[0048]
进一步地,所述ap和map是基于两点之间的欧氏距离计算:
[0049][0050]
其中(x
p
,y
p
)为检测到的点的坐标,(x
g
,y
g
)为真实点的坐标;给定一个距离阈值d
t
,当d
min
≤d
t
时,预测点为tp,否则为fp。
[0051]
综上所述,由于采用了上述技术方案,本发明的有益效果是:可以直接同时对octa图像中的血管分叉点和交叉点进行检测和分类;使用注意力门改进了centernet中的堆叠沙漏网络,注意力门可以突出octa图像中有价值的特征,并抑制不相关的特征激活,提高了检测性能。
[0052]
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0053]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0054]
图1是本发明血管分叉点和交叉点的手工标注示例图;
[0055]
图2是本发明的整体流程示意图;
[0056]
图3是本发明二维注意力门的示意图;
[0057]
图4是本发明堆叠沙漏网络中沙漏模块的示意图;
[0058]
图5是本发明两个边界框中心点重合的示意图。
具体实施方式
[0059]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0060]
我们的目标是在没有血管分割的情况下对octa图像中的血管分叉点和交叉点进行检测和分类。
[0061]
基于深度学习的目标检测可以直接同时完成检测和分类,满足我们的需求。目标检测器一般可以分为基于锚框的和无锚框的。在目标检测中,锚框需要根据检测任务和数据集来精心设计,恰当的锚框设计可以带来优异的性能,反之则会导致检测结果不佳。此外,还需要考虑锚框带来的计算量和超参数。面对这些问题,无锚框的检测器因其更简单的设计和更快的速度而逐渐流行起来。一些无锚框的检测器如cornernet、extremenet,将目标的边界框看作一组关键点进行检测。它们都需要对关键点进行分组,但分组错误会导致错误的检测结果。而centernet将每个目标建模为其边界框的中心点。与其他检测器相比,centernet不需要关键点分组或后处理。
[0062]
据前文所述,我们提出了一种基于无锚框的目标检测器centernet的方法,用于octa图像中血管分叉点和交叉点的检测和分类。我们将注意力门添加到堆叠沙漏网络的跳跃连接中,以增强复杂而模糊的血管网络中有价值的特征。centernet是一种有监督的深度学习算法,需要手工标注的真实数据标签。因此,我们构建了一个octa数据集,其中每张图像都手工标注了视网膜血管分叉点和交叉点。与人工血管分割相比,人工特征点标注更简单、耗时更少。为了评估所提方法的准确性,特别是血管特征点的坐标,我们利用两点间的欧氏距离替换两个边界框的iou,对传统的ap和map进行了修改。我们在构建的octa数据集上评估了所提出的方法。实验结果表明,该方法具有优越的性能。
[0063]
1.数据集
[0064]
我们的视网膜octa数据集是为血管分叉点和交叉点检测而建立的,其详细信息如下。
[0065]
本研究中所有的octa图像均来自中国重庆陆军军医大学西南医院眼科。我们的数据集包含2017年3月至2020年7月期间采集的151张octa图像,每张图像通过蔡司三维高清光学相干断层扫描仪获取。所有图像均为6
×
6mm2的浅层毛细血管网正面造影图,分辨率统一调整为512
×
512。
[0066]
视网膜血管分叉点和交叉点以pascal voc数据集的格式进行标注。如图1所示,一根血管在分叉点被分成两根血管,两根血管在交叉点相互交叉。将每个分叉点或交叉点视为边界框的中心点。边界框左上角和右下角的坐标分别为(x
min
,y
min
)和(x
max
,y
max
),那么中心点的位置为
[0067]
在151张octa图像中,共有9548个人工标注的血管特征点,其中9542个是小目标(面积小于322像素),只有6个是中等目标(面积介于322至962像素之间)。平均每张图像包含63个目标,其密度大于pascal voc和ms coco。每张图像中的目标数量超过20个,最多的有110个。
[0068]
2.方法
[0069]
首先,目标检测不仅可以同时完成视网膜血管分叉点和交叉点的检测和分类,还可以避免血管分割。其次,基于关键点的centernet将目标建模为其边界框的中心点,可以直接预测中心点的坐标。第三,centernet没有精细复杂的锚框设计,并使用了比其他传统检测器更大的输出分辨率,有利于小而密集的血管分叉点和交叉点的检测。因此,我们提出了基于centernet的octa血管特征点检测方法,该方法使用关键点估计提取每个目标的中心点,并将每个峰值关键点作为分叉点或交叉点。
[0070]
本文方法的总体流程如图2所示。首先,我们使用堆叠沙漏网络提取和融合输入图像的特征,堆叠沙漏网络通常可以实现最佳的关键点估计性能。其次,我们设置了三个分支来预测中心点热图、中心点的局部偏移和目标大小。最后我们可以从三个预测分支中获得分类结果和血管特征点的位置信息。本文中的堆叠沙漏网络由两个连续的沙漏模块组成,与centernet类似,但每个沙漏模块都用注意力门进行了改进,这与centernet不同。
[0071]
2.1注意力门(attention gates)
[0072]
在编码

解码网络中,通常使用跳跃连接来融合编码阶段和解码阶段生成的特征。然而,初始网络层中的低层特征表达不充分,有些对于最终任务来说是多余的。考虑到这个问题,我们可以在跳跃连接中添加注意力门以增强有价值的特征并抑制与任务不相关的特征。
[0073]
注意力门(attention gate,ag)不同于一般的注意力模块,它有两个输入,而其他模块通常只有一个输入。我们用图3来说明本文中使用的二维注意力门模块。和作为注意力门的输入,其中f
l
、h
x
、w
x
分别表示x
l
的特征图的数量、高度和宽度,f
g
、h
g
、w
g
分别表示g的特征图的数量、高度和宽度。输入x
l
是l层的输出特征图,g是由更深的网络层上采样得到的门控信号,具体来说,g是由一个深层神经网络层的输出(高层特征)上采样得到的,高层特征的分辨率比低层特征的分辨率低,经过上采样之后分辨率与低层特征的分辨率一样;另一个输入x
l
是低层特征。x
l
和g分别通过线性变换θ
x
、线性变换φ
g
的1
×
1卷积映射到一个中间空间之后再相加。在加法运算之后应用线性整流函数(rectified linear unit,relu)。为了获得注意力系数α
l
,再应用一个1
×
1卷积,然后是sigmoid激活函数。对于每个像素i,其注意力系数可以用以下公式表示:
[0074][0075]
其中为l层的输出特征图的第i个像素对应的向量,为深层网络层上采样得到的门控信号的第i个像素对应的向量,
·
t表示转置,σ1(x)=max(0,x)表示relu函数(x为函数自变量),表示sigmoid激活函数,表示sigmoid激活函数,和是线性变换,和是偏置项;f
l
×
f
int
、f
g
×
f
int
、f
int
×
1分别为神经网络学习得到的权重θ
x
、φ
g
、ψ的权重维度。最后,每个注意力门的输出是输入特征图x
l
与注意力系数α
l
逐元素相乘得到的新特征:其中表示输入特征图位于c通道的第i个像素对应的值,表示第i个像素的注意力系数,表示输出特征图位于c通道的第i个像素对应的值,c表示特征图的通道。
[0076]
2.2改进的沙漏模块
[0077]
如图4所示,每个沙漏模块是一个自底向上、自顶向下的对称的5级卷积网络包括5次下采样和对应的5次上采样。每级有两个分支,其中一个分支为下路,使用卷积层对特征进行下采样,每通过一次下路,特征图的分辨率将会缩小两倍;另一个分支为上路,通过残
差模块实现(残差模块也是卷积层),特征图保持分辨率不变;
[0078]
如果下采样次数达到沙漏模块的级数(5级),网络开始自上而下的上采样处理和特征融合(融合的是相邻尺度的特征)即对下采样之后的特征进行最近邻上采样,然后将上路特征和上采样之后的特征输入注意力门。为了整合不同尺度的信息,将上采样之后的特征和注意力门的输出逐元素相加。最终实现最佳的关键点估计性能。
[0079]
2.3损失函数
[0080]
输入图像为其中w为宽度,h为高度,为实数域。全卷积网络用于预测关键点热图其中r
s
是输出步长,c是关键点种类的数量。本文中,我们设置r
s
=4,c=2。如果则检测到关键点;如果则检测到背景,表示当横坐标为x,纵坐标为y,通道为c时预测关键点热图上对应的值。设为类别c的一个真实关键点,(向下取整)为其在热图中的映射点。所有的真实关键点通过一个高斯核映射到热图y,其中分别表示的x,y坐标,σ
p
是一个与目标大小相关的标准差。在我们的任务中,待检测的目标是相似的小点,所以我们设定5为固定的高斯核半径。在训练阶段,只取目标的中心像素为正样本,其他像素为负样本,导致正负样本不平衡。为了解决这个问题,我们用focal loss来计算关键点热图的损失:
[0081][0082]
其中α和β是超参数,n为输入图像中关键点的个数。在我们的实验中,设置α=2,β=4。
[0083]
由于输出步长引起了离散误差,我们为每个关键点预测了局部偏移该偏移量由所有类共享,并使用l1损失进行训练:
[0084][0085]
其中l
off
是偏移量损失函数,表示为p点预测的偏移量,n为输入图像中关键点的个数,p为类别c的一个真实关键点,r
s
是输出步长,为p在真实关键点热图y中的映射点。
[0086]
设目标k的真实边界框坐标为那么k的中心点坐标为大小为其中分别表示真实边界框左上角的横坐标、左上角的纵坐标、右下角的横坐标、右下角的纵坐标。我们为所有类别的目标预测的大小为并用l1损失对其进行训练:
[0087][0088]
其中表示为目标k预测的大小,s
k
表示目标k的真实大小;
[0089]
l
k
,l
off
和l
size
构成了整体损失函数:
[0090]
l=l
k
λ
off
l
off
λ
size
l
size
[0091]
其中r
s
是输出步长,w为宽度,h为高度,l
k
是关键点热图的损失,l
off
是偏移量损失函数,l
size
是预测目标大小的损失函数,λ
off
和λ
size
分别是l
off
和l
size
的权重,按照centernet中的设置,取λ
off
=1,λ
size
=0.1。
[0092]
3实验
[0093]
3.1数据增强
[0094]
本文将octa数据集中的91张图像用于训练,30张用于验证,30张用于测试。由于可用数据有限,对训练集进行离线数据增强。离线数据增强的具体内容如下。我们对每张训练图像随机应用多个增强操作,包括添加噪声、缩放、旋转、平移等。高斯噪声由[0,0.05*255]之间的随机标准差产生。我们分别通过[0.1,0.5]、[0.9,1.2]、[0.5,1.0]、[1,1.5]、[

180,180]和[

20,20]随机生成的因子进行锐化、缩放、亮度调整、对比度调整、旋转和平移。图像还随机水平或垂直翻转。此外,我们通过向图像中的所有像素添加从10到50的随机值来执行通道变换。所有增强图像的分辨率为512
×
512。
[0095]
3.2实验设置
[0096]
本文实验环境为:ubuntu 18.04操作系统、nvidia geforce gtx 1080ti gpu、python 3.7、pytorch 1.1.0、cuda 9.0和cudnn 7.5。对于带有注意力门的堆叠沙漏网络(hourglass

ag),我们使用adam优化器以1.25e

4的初始学习率进行训练,批量大小(batch size)设置为4,共训练80轮。在第25和50轮时,学习速率下降10倍。在测试阶段,我们选择置信度大于或等于0.5的中心点作为参与性能评估的有效检测。
[0097]
3.3评价指标
[0098]
与大多数目标检测一样,我们使用ap(average precision)和map(mean average precision)来评估检测器的性能。然而,我们的ap和map是基于两点之间的欧氏距离计算的,而不是两个边界框的交并比(iou)。
[0099]
在目标检测中,检测到的目标可能被判断为真阳性(true positive,tp)、假阳性(false positive,fp)或假阴性(false negative,fn)。通常将iou与给定的阈值t进行比
较,以判断检测结果是tp还是fp。如果iou≥t,则检测结果为tp,否则为fp。在我们的检测任务中,我们主要关注的是血管特征点的坐标,但是使用iou可能会导致对检测结果的误判。如图5所示,标记的中心点为预测边界框a和真实边界框b的共同中心点,a的高度为13像素,a的宽度为13像素,b的高度为9像素,b的宽度为9像素,那么a和b的iou为:图5中,两个边界框中心点是重合的,即检测到的血管特征点与标注的血管特征点是重合的,我们认为检测结果是tp(正确的)。但是计算得到的iou小于给定的iou阈值(目标检测评价指标中通常给定iou阈值大于等于50%),此时检测结果被认为是不正确的,是对检测结果的误判。我们要检测的目标很小,且最终是提取边界框的中心点作为血管特征点,如果直接计算两点之间的欧式距离,那么衡量的是检测到的血管特征点与实际标注的点之间的距离,再与距离阈值比较就更符合血管特征点检测这个任务。
[0100]
设(x
p
,y
p
)为检测到的点的坐标,(x
g
,y
g
)为真实点的坐标,那么两点之间的欧氏距离为:
[0101][0102]
对于每一类,将检测结果按置信度降序排列。每个预测点与对应图像中所有真实点之间的最小欧氏距离记为d
min
。我们给定一个距离阈值d
t
。当d
min
≤d
t
时,预测点为tp,否则为fp。在本文中,除非另有说明,否则我们设置d
t
=3.0。
[0103]
precision和recall是目标检测评价指标中的重要概念,分别定义为:
[0104][0105][0106]
其中all detections是通过神经网络模型检测到的某一类的所有目标,all ground truths是图像中人工标注的某一类目标数量(每个类别的血管特征点数量)。
[0107]
我们可以进一步根据precision

recall曲线计算ap。目标检测中,ap可以用11点插值和全插值定义。本文采用全插值,每个类的ap记为:
[0108][0109]
n表示插值点数量,如果当前的recall值为r
n
(从0开始),那么下一个recall值为r
n 1

[0110]
其中
[0111][0112]
是precision

recall曲线上大于等于r
n 1
的所有recall值,表示的取值范围,是值所对应的所有precision值,p
interp
(r
n 1
)是要进行插值的
precision值,取中的最大值。
[0113]
map衡量所有类别的准确性,公式如下:
[0114][0115]
其中n
c
为类别的数量,ap
j
为第j类的ap值。
[0116]
3.4实验结果和对比
[0117]
我们在包含30张octa图像的测试集上评估了我们提出的方法。为了证明所提出的hourglass

ag的改进,我们将其与centernet中的不同骨干网进行了对比。表1报告了欧式距离阈值为3.0时各骨干网的ap和map。从表1中看到hourglass

ag实现了最佳性能,分叉点的ap为80.81%,交叉点的ap为85.86%,map为83.34%,这表明注意力门在我们的任务中是有效的。
[0118]
表1.不同骨干网的检测结果.
[0119]
骨干网ap(分叉点)ap(交叉点)maphourglass

ag80.8185.8683.34hourglass

10478.0985.0081.55dla

3475.6782.9979.33resnet

10166.1368.2567.19resnet

1850.4459.8155.13
[0120]
我们将本文中的方法与其他目标检测器进行了比较,结果如表2所示。本文所提方法以其简单的架构设计和有效的特征提取而实现了最高的map。faster r

cnn是一种基于锚框的两阶段检测器,没有多尺度特征融合,无法很好地进行小目标检测。我们在retinanet的特征金字塔中加入p2级,p2级为retinanet中底层分辨率较大的一层,以提高其对小目标的检测能力。以resnet

101

fpn为骨干网的retinanet的map达到了78.17%。cornernet(65.62%map)和另一个centernet(70.48%map)是无锚框的检测器,需要角点检测和关键点分组。然而,关键点分组错误会影响检测结果。
[0121]
表2不同检测器的对比
[0122][0123][0124]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜