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

基于深度学习的手机端静脉显像方法与流程

2021-11-15 17:30:00 来源:中国专利 TAG:


1.本发明涉及图像处理与深度学习技术领域,具体涉及一种基于深度学习的手 机端静脉显像方法。


背景技术:

2.在医疗领域,静脉穿刺是当今医疗救治和护理中必不可少的操作,用以进行 临床给药输液和输血。进行静脉穿刺的前提是要确定静脉位置,通常有经验的医 护人员通过眼睛观察和手指触摸来确定患者的静脉位置。由于病毒传染性强,在 对感染患者进行救治时,医护人员必须佩戴防护手套、防护服和护目镜。密不透 风的防护服使得身体产生的热量无法排除加之呼吸产生的水蒸汽附着在护目镜 内表面,会使视觉受到很大影响,同时防护手套会使触觉的灵敏度下降,这使得 医护人员确定静脉位置进而实施静脉穿刺的难度大大增加。
3.为了降低静脉穿刺的难度,提高静脉穿刺的成功率,此前已经有许多静脉穿 刺辅助设备或者方法出现,其中包含基于近红外光线特性的显像方法,基于超声 波特性的显像方法和基于光学成像原理的显像方法。基于近红外光线特性的静脉 显像方法主要利用血液中血红蛋白对780nm到960nm波长范围的近红外光吸收 率较其他身体组织更高的特性。当受到相同强度的近红外光线照射时,在近红外 相机的帮助下,可以观察到静脉位置较其他皮肤区域更暗,从而确定出静脉的位 置。基于超声波特性的显像方法利用静脉组织与其他身体组织的声学特性区别, 对超声波的反射强度不同,区分出静脉与其他身体组织,通常超声波静脉显像方 法还会结合超声造影剂使用,提高显像的清晰度与准确度。基于光学成像原理的 静脉显像方法使用k

m理论来模拟皮肤的光学行为,并结合大量的生物物理参 数、数字相机传感器的光谱信息和照亮皮肤的光源信息来模拟肤色的形成。将该 过程作为一种正向模型。在正向模型中输入一系列皮肤参数,包括黑色素浓度、 血红蛋白浓度和真皮深度,以获得相应的可见光图像rgb值,随后利用这些对 应关系训练一个浅层前向神经网络,该网络以rgb值作为输入来预测皮肤参数。 收集输出的预测皮肤参数形成三个分布图:黑色素及血红蛋白的空间分布和真皮 深度的变化。最后,通过这些分布图可以提取出表皮下静脉的纹路信息。基于近 红外光线特性与超声波特性的显像方法需要依赖近红外光源和超声波发射器等 特定的外部设备,便携性欠佳。基于光学成像原理的显像方法则存在基于单像素 计算导致最后显像结果噪声偏大的问题。


技术实现要素:

4.本发明针对现有技术中存在的问题,采用基于深度学习的手机端静脉显像方 法,是基于深度学习方法及手机端开源神经网络推理框架,该方法克服现有静脉 显像方法依赖特定外部设备,便携性欠佳及显像结果噪声大的问题。
5.本发明是这样实现的:
6.步骤一、静脉图像数据集处理;深度学习方法需要真实数据作为训练集用 以训练
网络模型,对于原始采集得到的同帧可见光图像和近红外图像,需要对其 进行一定的预处理操作,包括以下内容:
7.1)对近红外图像进行限制对比度自适应直方图均衡化(clahe),用以提 升近红外图像的对比度,使得图中的静脉信息得到加强;
8.2)对经过限制对比度自适应直方图均衡化处理后的近红外图像进行中值滤 波,去除前一步中因clahe引入的少量噪点;中值滤波器以滤波器包围的图像 区域中所包含的像素灰度级的中值来代替中心像素的值,如公式(1)所示:
[0009][0010]
其中为计算得出的该区域像素灰度级的中值,s
xy
为滤波器包围的图 像区域,g(m,n)为滤波器区域内的像素值;
[0011]
3)图像数据集数据增强,对可见光图像进行随机色度变化,用以模拟不同 人之间肤色的差异;对可见光图像逆时针随机旋转15
°
至45
°
,以及进行水平和 垂直翻转用以模拟拍摄角度的变化,除色度变化外,对可见光图像所作的空间变 化对其同帧的近红外图像也要实行同等变化,以保证同帧的一对图像之间各像素 始终是一一对应的;
[0012]
4)对图像数据归一化,统计训练集中各图像的像素分布规律,选出一幅像 素值接近均值的图像作为基准图像,对训练集中的所有图像进行直方图规定化, 以避免由于图像间像素数据分布差异大导致模型训练难以收敛;
[0013]
5)将原始图像切成192*128大小的图像块作为训练集数据,一来可去除皮 肤区域即待显像区域以外的无用背景信息,二来可减少设置较大批处理值时出现 显存不足的情况。
[0014]
步骤二、静脉显像网络的构建与训练;卷积神经网络在对图像进行处理时可 保留像素间的位置关系,对图像的旋转、平移与比例缩放具有高度的不变性,适 合对二维图像进行特征提取。选用卷积神经网络作为基础的神经网络架构构建静 脉显像网络。网络构建与训练部分内容如下:
[0015]
1)网络主要分为三个部分:特征提取器部分,联合上采样部分和上采样还 原部分。特征提取器部分对输入图像进行卷积操作提取图像特征图,其中部分卷 积层会对图像进行下采样操作,用来生成不同尺度的特征图;联合上采样部分将 特征提取器部分所得到的尺寸大小不同的特征图上采样到相同尺寸进行拼接,并 使用扩张卷积对拼接的特征图再一次提取特征,以期望不同尺寸的特征之间能够 得到融合,获得静脉的尺度及形状信息;上采样还原部分对联合上采样部分输出 的特征图上采样使最终输出的结果图与输入图像在尺寸上相同。
[0016]
2)期望的输出结果是一张与输入图像同尺寸的显示出静脉信息的图像,所 以显像网络采用全卷积的结构,直接以最后一个卷积层的特征图作为输出;且输 出图像应尽可能接近近红外图像的值,所以网络训练时以输入图片对应的近红外 图片作为真值图,采用均方误差损失作为损失函数,衡量输出结果与真值图像的 差异大小。损失函数分为两个部分,第一部分为网络输出结果与真值图像均方误 差损失,记为a;第二部分为使用vgg16网络对网络输出结果图像和真值图像 提取特征图,并对两者的特征图做均方误差损失,记为b。最终,损失函数确定 为:loss=0.8*a 0.2*b。
[0017]
3)训练采用5折交叉验证。将训练集中图像的90%划分为训练集,10%划 分为验证集;记学习率为lr,训练总轮数为epochs,当前训练轮次为epo,学习 率执行如式(2)所示的变化:
[0018][0019]
步骤三、网络模型轻量化;静脉显像网络的训练是在服务器端进行的,但手 机端的内存及计算性能显然不能与服务器端相比,为了能够使得最终的模型在手 机端正常运行并一定程度上缩短网络的前向计算时间,对服务器端训练所得的网 络模型进行轻量化改造,减少网络的参数量与计算量。
[0020]
采用深度可分卷积代替原网络模型中所使用的普通卷积可以减少网络的参 数量和计算量,起到模型轻量化的作用。设输入通道数为m,输出特征图尺寸 为:d
f
*d
f
*n,卷积核尺寸为:d
k
*d
k
*m,一个卷积层的滤波器中共包含n 个卷积核。普通卷积的参数量为d
k
*d
k
*m*n,深度可分卷积的参数量为分组 卷积的参数量加上逐点卷积的参数量。其中分组卷积的参数量为d
k
*d
k
*m,逐 点卷积的参数量为m*n,故深度可分卷积总参数量为(d
k
*d
k
n)*m。普通 卷积的计算量为d
k
*d
k
*m*d
f
*d
f
*n,深度可分卷积的计算量包含分组卷积 的计算量和逐点卷积的计算量。其中分组卷积的计算量为:d
k
*d
k
*m*d
f
* d
f
*1,逐点卷积的计算量为1*1*m*d
f
*d
f
*n,所以深度可分卷积总计算量 为d
f
*d
f
*m*(d
k
*d
k
n)。普通卷积与深度可分卷积的参数量与计算量之比 如式(3)和式(4)所示:
[0021][0022][0023]
在卷积层中,n往往较大,取常见的卷积核尺寸d
k
=3,可知在使用深度 可分卷积代替普通卷积后,该卷积层的参数量约为之前的1/9。在实际操作中, 并未将原显像网络中的所有卷积层都替换为深度可分卷积,且在将卷积层替换为 深度可分卷积之后,在分组卷积前增加了一组逐点卷积用来对输入特征图进行升 维,扩展该卷积层的宽度,生成更多的特征图,但得益于之后的深度可分卷积, 这样依旧可以对网络模型的参数量和计算量进行较好的压缩。
[0024]
步骤四、网络模型手机端部署;为了能很好地解决静脉显像应用中所存在的 便携性不足的问题,最好的方法就是将静脉显像算法部署到手机上。智能手机几 乎是如今每个人不离身的物品,用手机实现静脉显像不会造成任何外加的携带成 本。
[0025]
我们选择带有android系统,cpu基于arm架构的智能手机作为部署实 例中的硬件平台。由于芯片的架构不同,服务器端的神经网络训练框架不能部署 到手机端,因此,我们选择腾讯公司开源的移动端神经网络推理框架ncnn作 为手机端的推理框架,此外,为方便对图像数据进行处理,配置了计算机视觉开 源库opencv。
[0026]
1)网络模型文件转换:由于服务器端使用的是pytorch框架训练得到网络 模型,
而ncnn框架与pytorch框架所需权重文件的格式不同,所以需要将 pytorch框架下保存的参数权重文件转换为ncnn框架所能加载的格式。可调用 torch.onnx.export()方法将原先的pytorch模型权重文件转为onnx格式,进而转 为ncnn所需的格式;
[0027]
2)应用项目构建:使用android studio作为开发环境,以转换得到的模型 权重文件和编译得到的ncnn_android和opencv_android库构建项目,以app 的形式将静脉显像算法部署到手机端。
[0028]
本发明与现有技术相比的有益效果在于:
[0029]
本发明基于深度学习方法、语义分割、手机端的组合,深度学习方法在计算 机视觉领域取得了极大的成功,语义分割便是该领域常见的一项任务。语义分割 为图像中的每一个像素分配一个预先定义好的表示其语义类别的标签,检测出图 像中某一类别的物体信息并将其分割出来,可以用来提取图像中的特定信息。静 脉显像一定程度上可以理解为一种语义分割任务,将静脉纹路从皮肤图像中分割 出来以增加其可视化程度。此外,如今智能手机已经普及,几乎是人们不离身的 物品,将基于深度学习的静脉显像方法部署到手机端实现,因此,本发明可以很 好地解决静脉显像问题中的便携性问题;
[0030]
本发明搭建了轻量化的显像网络模型,并部署到手机端运行,很好地解决了 静脉显像问题对于外部设备的依赖,如近红外光源,乃至是嵌入式开发板等,由 于当今智能手机已经成为人们的随身之物,所以几乎不产生任何的携带成本;同 时相比于光学原理的显像方法,所得静脉显像结果更加光滑,噪声大大减少。
附图说明
[0031]
图1是本发明实施例中采集到的原始近红外图像;
[0032]
图2是本发明实施例中经过限制对比度直方图均衡化(clahe)处理后的近红 外图像;
[0033]
图3是本发明实施例中中值滤波处理后的clahe增强图像;
[0034]
图4是本发明实施例中显像网络结构示意图;
[0035]
图5是本发明实施例中显像网络中联合上采样模块的结构示意图;
[0036]
图6是本发明显像网络在电脑端运行的第一组示例,其中(a)为可见光图像,(b) 为(a)对应的显像结果;
[0037]
图7是本发明显像网络在电脑端运行的第二组示例,其中(a)为可见光图像,(b) 为(a)对应的显像结果;
[0038]
图8是本发明实施例中普通卷积与深度可分卷积的对比图;
[0039]
图9是本发明实施例中普通卷积转换为深度可分卷积后的基本模块结构示意图;
[0040]
图10是本发明实施例中第一组手机端运行显像结果图;其中(a)为选择可见光图 像界面,(b)为(a)中所选可见光图像对应的显像结果界面;
[0041]
图11是本发明实施例中第二组手机端运行显像结果图;其中(a)为选择可见光图 像界面,(b)为(a)中所选可见光图像对应的显像结果界面。
具体实施方式
[0042]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本 发
明的技术方案,而不能以此来限制本发明的保护范围。在本发明专利的描述中, 需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包 含,除了包含所列的那些要素,而且还可包含没有明确列出的其他要素。
[0043]
本发明基于深度学习的手机端静脉显像方法包括静脉图像数据集处理,静脉 显像网络的构建与训练,网络模型轻量化和网络模型手机端部署四个部分,具体 实现步骤如下:
[0044]
步骤一:静脉图像数据集处理;本发明中的静脉显像算法是基于深度学习的 方法。深度学习离不开真实数据的支撑,因此首先要做的就是采集与任务需求相 关的数据作为真实数据供深度网络“学习”其内在特征,然后泛化到与之同类型的 问题上。考虑到手臂区域的静脉往往比较丰富且日常的医疗输液时也多在手部区 域,所以选择手臂区域作为图像采集区域。具体采集时,选用双ccd相机 jai

ad080cl拍摄手臂图像。该相机内置分光棱镜,可将入射光线同时送入两 个单独的通道——可见光通道(400nm至700nm)和近红外通道(750nm至 920nm),提供不同光谱的同步图像。这样可以采集到手臂区域完全对应的可见 光图像和近红外图像。采集所得的原始近红外图像如图1所示。原始图片尚不适 合直接作为训练数据,因此对采集所得的原始数据进行一定的预处理。
[0045]
(1)原始近红外图像中已经可以看出静脉的位置,但是有些图片中的静脉 痕迹较浅,对此为了突出这些不够明显的静脉,对原始近红外图像进行限制对比 度直方图均衡化(clahe),加强静脉部位与皮肤部位的对比度,突出静脉位置, 如图2所示;
[0046]
(2)经过clahe处理后的图像会出现一些椒盐噪声,对这些图像施加中 值滤波可以很好的抑制这些噪声,如图3所示;
[0047]
(3)将前述所得的近红外图像与其对应的可见光图像切成192*128的图像 块以排除无关背景并减小输入训练图像的大小;
[0048]
(4)对图像块进行数据增强,包括随机色度变换,逆时针随机旋转15
°
至 45
°
以及水平和垂直翻转,扩充数据集;
[0049]
(5)深度学习中数据归一化是十分重要的操作,不同相机拍摄所得的图像 其像素分布规律会有所区别,当不同图像的像素分布规律差异过大时,会使得模 型难以收敛。对此,计算出数据集中可见光图像各通道的像素平均值,挑选出与 平均值最接近的一幅可见光图像及其对应的近红外图像作为基准图像,对数据集 中的其他图像进行直方图规定化,使其他图像的像素分布规律与基准图像相仿。
[0050]
步骤二:显像网络的构建与训练:
[0051]
(1)选用卷积神经网络作为基础的神经网络架构。网络结构示意图如图4 所示。网络分为特征提取器部分,联合上采样部分和上采样还原部分。考虑到最 终的网络模型要部署到手机端,网络模型要避免参数过多,计算量过大。在网络 设计之初便应控制网络规模,避免过分依赖之后的模型轻量化,所以在特征提取 器部分没有直接使用vgg16、resnet50等目前应用广泛的网络模型,而是以卷 积为基础操作构建了浅层的特征提取器,特征提取器部分包含三次下采样操作, 用以提取不同尺寸的特征图。联合上采样部分将特征提取器部分得到的三种尺寸 不同的特征图上采样到统一尺寸后进行拼接,并对拼接得到的特征图进一步进行 扩张卷积,将扩张卷积后的特征图作为该部分的输出,如图5所示。上采样还原 部分则对前一部分的输出特征图进行上采样和进一步卷积,使得最终的输出结果 图与
输入图像具有相同的尺寸。卷积层后使用批归一化层加快训练收敛速度,抑 制梯度消失。激活函数选用prelu,其定义如式(5)所示:
[0052][0053]
其中a初始值通常取小于1的正数,如a=0.25,且在训练过程中a的取值可 更新。prelu不将负轴信息全部抛弃而是赋予其一个较小权重,一定程度上可 以提高非线性因素。
[0054]
(2)网络训练在具有因特尔至强(xeon)中心处理器和英伟达泰坦x plus (titan xp)图形处理单元的服务器上进行。选用python3.6版本搭建训练环境, 借助opencv

python、numpy等用于图像处理和矩阵操作的工具库,提高图像数 据的加载和处理效率。深度神经网络训练框架选用pytorch。训练采用5折交叉 验证。将经裁剪和增强后得到的共计1200张图像块中的90%划分为训练集,10% 划分为验证集;batchsize设置为4,训练总轮次设置为100。网络训练时初始学 习率设置为4
×
10
‑4,经过10轮训练后学习率衰减为2
×
10
‑4,经过20轮训练后学 习率衰减为1
×
10
‑4,训练轮次达30轮之后,学习率按指数衰减,每轮学习率衰 减为上一轮学习率的0.9次方。损失函数采用均方误差损失函数,包含两部分主 要内容:第一部分为网络输出的结果图像与真值图像的逐像素损失,记为a; 第二部分为使用vgg16网络对网络输出的结果图像和真值图像提取特征,对 两者提取得到的特征图再做逐像素损失,记为b,总的损失函数可记为 loss=0.8
×
a 0.2
×
b。网络显像结果如图6和图7所示。
[0055]
步骤三:显像网络轻量化
[0056]
使用深度可分卷积代替显像网络中的一些卷积层,起到减少网络参数量和计 算量的作用。普通卷积与深度可分卷积的示意图如图8所示。在分组卷积前使用 逐点卷积对特征图升维,扩展对应卷积层的宽度,生成更多的特征图。将普通卷 积替换为深度可分卷积后基本模块结构示意图如图9所示。
[0057]
步骤四:网络模型手机端部署
[0058]
(1)编译安装windows端ncnn以及ncnn_android、opencv_android;
[0059]
(2)将pytorch训练所得的网络权重文件转换为ncnn框架加载所需格式。 调用torch.onnx.export()方法可将原先保存的pytorch模型转换为开放神经网络 交换(open neural network exchnage,onnx)格式。onnx格式使用protobuf 二进制格式序列化模型,是一种多框架兼容的模型交换格式,可以充当多种框架 模型格式转换的桥梁。在转换得到onnx格式模型后,使用编译所获得的 windows端ncnn工具,将onnx格式的模型转换为供ncnn加载与调用的 权重存储格式,得到后缀名为.param的网络结构文件和后缀名为.bin的网络权 重文件。
[0060]
(3)在android studio开发环境下构建项目。使用c 语言调用相关的 ncnn框架接口函数,加载网络模型进行模型的前向推理,实现可见光图像的 静脉显像。使用java语言构建应用的主要活动,包括图片的读入与显示,并借 助java本地接口(java native interface,jni)调用包含模型加载与推理的c 文件实现应用的完整功能。创建项目时,项目模板选择native c 。新建项目文 件夹src/main路径下会出现cpp与java两个同级目
录,其中cpp文件夹下存放着 cmakelists.txt和native

lib.cpp文件,分别为项目的构建文件与源文件,源文件 中存放着调用ncnn框架前向计算的函数,java文件夹下则保存着 mainactivity.java文件,用于构建应用的主要活动,包括读入图片,调用显像函 数和显示结果图像等。项目构建完成后,可选择手机相册中的图像,随后点击显 像按钮,即可得到显像结果图。手机端运行静脉显像算法的结果如图10和图11 所示。本实施例中图10和图11为手机端运行的两组显像示例。其中图10(a)与 图6(a)是同一张可见光图像,图11(a)与图7(a)是同一张可见光图像,用以与电脑 端运行示例比对,说明手机端运行结果与电脑端相同。图10(a)和图11(a)为手机 端选择可见光图像的界面,图10(b)和图11(b)分别为对应图10(a)和图11(a)中所 选可见光图像的手机端显像结果界面。
[0061]
经过上述多组图片对比,手机端的显像结果与服务器端的显像结果完全一致, 证明静脉显像方法可在手机端正常部署运行。
[0062]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技 术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进也 应视为本发明的保护范围。
再多了解一些

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

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

相关文献