给我们留言
91学术服务平台

您好,欢迎来到91学术官网!业务合作:91xueshu@sina.com,站长邮箱:91xszz@sina.com

发布论文

论文咨询

基于SK-UNet网络的背部腧穴自动定位方法

  2024-11-12    41  上传者:管理员

摘要:目的:通过语义分割的方法实现人体背部腧穴的自动定位。方法:采集178名志愿者的1317张人体背部图片,以大椎穴、天柱穴、臑俞穴、肩贞穴、关元俞穴和脊柱棘突为特征腧穴对人体背部图片进行标注,制作人体背部腧穴数据集。通过人体背部腧穴数据集对体背部分割网络SK-UNet网络进行训练,构建预测模型。通过预测模型对人体背部进行分割,依据分割的结果结合传统中医身寸法,最终实现人体背部腧穴的自动定位。结果:SK-UNet网络(selective Kernel convolution-UNet)对人体背部分割效果较好,其MIoU和MPA指标分别达到82.12%和86.62%。依据SK-UNet网络框架的分割结果对人体背部部分腧穴进行定位,在不同精度要求下,定位准确率分别可以达到:在误差范围为5mm时的准确率为57%,在误差范围为10mm时的准确率为93%,在误差范围为15mm时的准确率为97%,在误差范围为20mm时的准确率为99%,腧穴定位平均误差为7.3mm。结论:该方法实现了一定准确率下的不同用途腧穴自动定位,对机器人辅助中医按摩、艾灸以及针刺等系统开发提供较为重要的基础。

  • 关键词:
  • 神经网络
  • 腧穴
  • 自动定位
  • 语义分割
  • 针刺
  • 加入收藏

腧穴自动定位是基于腧穴的针刺、艾灸、按摩以及相关机器人开发的重要基础和关键环节,人体背部穴位集中,但视觉特征却不明显,是腧穴自动定位的难点和热点,很多研究机构进行了相关尝试。王聪等[1]使用多个深度相机,采用先整体后局部的方法,实现了某一条经络上的腧穴定位,但此方法具有特殊性,只能解决特定经络上的腧穴定位问题,不具有普遍意义;Tao Wang等[2]设计了一种基于机器视觉的腧穴定位仪器,该仪器需要由专业医师对患者腧穴位置进行彩色标定,通过机器视觉的方法对颜色进行识别,从而实现腧穴定位,此方法需要专业医师的手动定位辅助;崔丹等[3]采用模板匹配的方法,并通过计算机实现目标人体与预制腧穴定位片的重合,以达到人体腧穴定位的效果,该方法操作方便、原理较为简单,但当人体姿态不符合预制腧穴定位片时,腧穴定位效果较差。

基于上述文献可以看出,国内外对人体背部腧穴的自动定位还存在定位过程中需要专业医师较多参与、自动定位方法不具备普遍性以及准确率较低的问题。因此,本文提出了一种基于选择性内核卷积的U形网络模型(selective Kernel convolution-UNet,SK-UNet)的背部腧穴自动定位方法,可减少对专业医师的经验依赖、保证一定准确率的情况下实现人体背部常见腧穴的自动定位。基于采集到的大量背部图像,对人体背部腧穴位置进行标定并制作训练数据集和测试集,采用语义分割技术对人体背部进行分割[4],基于分割结果的特征提取,同时结合传统中医同身分寸法提出一种腧穴自动定位方法;考虑到人体背部特征不明显、目标大小尺度不一的特点,为了提高语义分割的准确度,采用SKC模块对U-Net进行优化,构建了SK-UNet网络框架。考虑到针刺、艾灸、按摩等对腧穴定位准确率的不同需求,使用该方法对人体背部27个常见腧穴进行定位,分别得到了在误差范围为5mm、10mm、15mm、20mm时的定位准确率,具体为:误差范围为5mm时的腧穴定位准确率为57%,误差范围为10mm时的腧穴定位准确率为93%,误差范围为15mm时的腧穴定位准确率为97%,误差范围为20mm时的腧穴定位准确率为99%。此外,腧穴定位平均误差为7.3mm,起到了较好的定位效果。


1、制作背部语义分割数据集


1.1数据收集与准备

人体背部数据采集是自动定位的前提和基础。本数据集的图片采集于178名志愿者,其中男性92名,女性86名,年龄区间为18—65岁,一共采集到1317张人体背部图片。综合考虑到穴位识别的准确度要求和实验平台的性能限制,图片尺寸统一缩放为720×720。本数据集制作由项目团队医师标定出人体腧穴的准确位置,再由标注人员结合腧穴标定结果通过标注软件对人体背部进行标注。

1.2背部腧穴标定标准

结合传统中医腧穴知识,制定如下标定标准:考虑到大椎穴位于第七颈椎棘突下凹陷,是人体颈椎和胸椎的分界点,所以选取大椎穴并沿人体脊柱的垂直方向作为人体颈部和胸椎的分界线。同理,选取左右两个天柱穴的连线作为人体头部和颈部的分界线,选取臑俞穴与肩贞穴的连线作为人体背部和手臂的分界线,选取左右两个关元俞穴的连线作为人体背部和臀部的分界线,选取人体脊柱棘突的连线作为左右背部的分界线。

1.3背部关键腧穴标定

按照以上标定标准,由专业医师对1317张人体背部图片的大椎穴、天柱穴、臑俞穴、肩贞穴、关元俞和脊柱棘突的连线进行标定,之后依据穴位的位置画出人体各个部位的分界线,对人体背部进行初步分割。标定过程如图1所示。

1.4标注背部数据集

图1人体分割过程

本数据集制作采用EISeg 0.5.0软件的高精度模型HRNet18_OCR64辅助进行语义分割,它是以RITM及EdgeFlow算法为基础的交互式分割标注软件。运行环境为飞浆2.3,Anaconda 4.12.0,Python3.6,CUDA 11.6。

图像语义分割是将所有像素点按照事物不同性质进行划分并统一上色的过程,具体的做法是:将需要标注的区域周围使用点构成封闭多边形,再在封闭多边形内部区域生成对应掩码[5],流程如图3所示,本文采用黄色代表头部,红色代表颈部,绿色代表手臂,蓝色代表左背部,褐色代表右背部,紫色代表臀部,背景统一用黑色进行标注。图4展示了语义分割标注的典型样例。

数据标定完成后,在其中随机选择1100张图片作为训练集,命名为back_train,其余217张作为测试集,命名为back_test。


2、构建SK-UNet网络模型


2.1 U-Net模型改进

本文采用的神经网络以U-Net对称结构架为基础,编码和解码都采用4个卷积层组成,并且编码的卷积操作都采用3×3的卷积核完成,相邻的卷积层之间采用最大池化操作提取目标特征。相对应的,解码使用反卷积操作使特征图恢复到原图分辨率,以达到把语义分割的结果回归到原图上进行腧穴定位的效果。此外,考虑到人体背部特征不明显、目标大小尺度不一的特点,为起到更好的分割效果,在U-Net框架内引入SKC模块,以达到强化有利特征和抑制不利特征的目的[6]。

SKC通道选择模块的结构如图4所示。SKC模块操作主要分为split(分组),fuse(融合)和select(选择)三个部分。

(1)split:对于输入特征图X∈RH×W×C,其中H、W、C分别表示特征图的高、宽和通道数,默认做以下两个操作:

其中卷积核大小为3×3,输出特征图为U1。

其中卷积核大小为5×5,输出特征图为U2。为了进一步提高效率,可以用扩张率rate=2的3×3空洞卷积代替5×5卷积。

(2)fuse:分为求和、全局平均池化和全连接三个操作。

对3×3和5×5卷积得到的特征图U1和U2进行elementwise求和,得到特征图U∈RH×W×C,计算公式表达为:

对C维特征图U进行全局平均池化,压缩为长宽都为1,通道数为C的列向量s∈R1×1×C,计算方法为:

式中Fsq——对特征图进行压缩操作

Uc——特征图中的第维特征

图2标注过程

图3语义分割的标注样例

i、j——特征图在长宽维度的对应坐标

将压缩后的C维向量s∈R1×1×C进行激励操作Ffc,结果为d维向量z∈R1×1×d,其中要求d

式中σ——使用RELU函数

B——进行Batch Normalization操作

WS——向量s对应的权重矩阵

式中r——是一个超参数,用于控制z的维度

L——是一个常数,表示z的最低维度,通常设置为L=32

(3)select:对不同卷积核进行加权操作,达到强化有利特征和抑制不利特征的目的。

首先进行权重计算,计算方法如下:

其中A,B∈Rc×d这两个矩阵是端到端训练出来的,对于只有两个分支的情况,有ac+bc=1,所以只需训练矩阵A,矩阵B可以根据矩阵A求得。a、b为对应特征图的权重矢量。

对不同卷积得到的特征图U1和U2进行加权和elementwise求和,计算方法如下:

式中V∈RH×W×C——是SKC操作的输出特征图,与输入特征图U长、宽和通道数量保持一致

改进后的网络SK-UNet结构如图5所示,实验输入图像尺寸为256×256×3,输入图像经过两个SKC模块,它通过学习提升特征表达能力强的卷积核的权重,降低特征表达能力弱的卷积核的权重。然后是一个校正线性单元(Re LU)和一个用于下采样的2×2最大池化操作,其中最大池化步长为2。在每层激活层之前加入BN(Batch normalization)层防止训练中网络的过拟合现象,提升整体网络训练的稳定性[9]。下采样结束后再经过上采样获得高分辨率特征图,同时通过低分辨率特征图和高分辨率特征图融合的方式提升分类精度。最后使用softmax作为分类层,使用1×1卷积操作把特征向量映射到不同的类中,本文中把图像分为头部、颈部、左背部、右背部、臀部、手臂6类以及背景类,共7类。

2.2分割准确度指标

使用平均交并比(mean intersection over union,MIo U)和平均像素精度(mean pixel accuracy,MPA)作为人体背部分割准确度的评价指标,指标越大,说明人体背部分割越准确[10]。

图4 SKC模块结构示意图

图5 SK-UNet网络结构示意图

2.3损失函数

使用交叉熵损失函数作为人体背部分割的损失函数,多标签二分类的交叉熵损失函数的计算公式为:

其中,y为标签实际值,p为预测概率值。考虑到实际任务人体背部相对于背景占比较小,导致负样本的数量一般远大于正样本,为了解决正负样本分布不均的问题,采用Focal loss函数作为损失函数,计算公式为:

其中,∂用于调节正负样本权重的系数,(1-pt)y为调节难以样本权重的系数。通常取∂=0.25,y=2,达到更关注正样本和平衡正负样本的目的,提升学习效果[11]。


3、人体背部分割实验


3.1实验环境与模型训练

本文的实验环境采用基于Python的Pytorch深度学习框架,具体为Python3.6和Pytorch1.5,GPU为NVIDIA GTX1650,CUDA 11.6。初始学习率为0.0002,迭代次数为200,步长为5,同时通过图片反转、平移等方法进行数据增强[12—13]。

3.2实验结果

为了验证本模型在人体背部分割的效果,采用传统U-Net网络、Deep Lab V3网络和Grab Cut网络作为对比模型,同时对比模型与本模型均使用相同的训练和测试数据。利用训练好的网络对测试集中人体背部图片进行预测,不同网络模型对应的准确度如表1所示,对比实验可视化结果如图6所示。


4、背部腧穴定位


本文基于人体语义分割结果,结合国家标准[7]对腧穴位置的定义,并且考虑到人体的个异性,采用同身寸法进行辅助定位。

4.1同身寸采集

国家标准中对背部穴位的定位采用中指同身寸法,即中指第一、二指节横纹桡侧端间距离为1寸量取穴位。本文在采集志愿者背部照片的同时也进行了中指同身寸采集[8]。

4.2背部关键腧穴定位

根据人体语义分割结果,结合上文腧穴标定标准,可知人体颈椎和胸椎的分界线与脊柱的交点为大椎穴、人体头部和颈部的分界线为两个天柱穴的连线、背部和手臂的分界线为臑俞穴与肩贞穴的连线,背部和臀部的分界线为两个关元俞穴的连线,结合国家标准对腧穴位置的定义,可得到大椎穴、天柱穴、臑俞穴、肩贞穴、关元俞穴、脊柱的具体位置,识别过程如图7所示。

4.3其他腧穴定位

对于人体背部的其他常见腧穴,其大多集中于足太阳膀胱经和督脉上,少部分位于手太阳小肠经,此外还有一些为经外奇穴,所以本文采用先定位经络再进行腧穴定位的方法。其中足太阳膀胱经在人体背部分为4条,关于脊柱对称每边各两条,具体位置为脊柱旁开1.5寸和旁开3寸,督脉1条,位于人体背部脊柱棘突连线上,经外奇穴定位比较特殊,大多为脊柱旁开0.5寸、1.5寸、2寸、3寸和3.5寸的位置。

根据以上对应关系,结合之前已经得到的大椎穴、天柱穴和脊柱的位置,可以得到足太阳膀胱经、督脉和经外奇穴中的夹脊中其他腧穴的位置。

4.4定位准确度评价

考虑到腧穴定位缺乏统一的准确率评价指标,并且针灸、艾灸、按摩等对腧穴定位的准确度有不同需求,本文设定5mm、10mm、15mm、20mm五个误差范围作为评价腧穴定位准确率的基准。通过机器视觉和神经网络结合的方法,对人体背部27个常见腧穴共进行了1620次定位,腧穴定位的部分实际效果如图8所示,并分别计算在不同允许误差范围的定位准确率,部分腧穴定位准确率如表2所示,部分定位准确率随误差范围的变化趋势如图11所示。据此可以得到本方法在误差范围为5mm时的准确率为57%,在误差范围为10mm时的准确率为93%,在误差范围为15mm时的准确率为97%,在误差范围为20mm时的准确率为99%,同时得到腧穴定位平均误差为7.3mm。

依据图9可以看出,腧穴定位准确率在误差范围为0—10mm时变化较大,在允许误差范围为10mm时为93%,达到较好的效果,之后再扩大允许误差范围对定位结果准确率提升并不明显。对此现象本文进行更深入的定量分析,考虑到定位准确率和允许误差范围所对应的面积直接相关,分别计算随误差范围扩大对应的面积变化量和腧穴定位准确率的提升量,并计算准确率随面积变化量的提升率,计算结果如表3所示。

图6对比实验可视化结果

图7关键腧穴识别过程

图8部分腧穴进行20次定位的实际效果图

可以看出随允许误差范围的扩大,本方法对腧穴定位的准确率提升率越低,所以不应过度扩大误差范围来提升准确率,同时综合考虑到针灸、艾灸、按摩等对腧穴定位误差范围的需求,本文认为误差范围为10mm时达到的效果较好,其定位准确率可达93%。当然依据不同的治疗方法对误差范围的不同需求,可以根据本文方法得到不同的定位准确率。


5、结论


针对机器人辅助实现中医按摩、艾灸、针刺等需求以及部分仍需专业医师参与、定位速度慢等缺陷,为了提高腧穴定位的自动化、智能化程度,采用语义分割的方法进行腧穴自动定位。在U-Net网络中添加SKC模块,充分考虑了不同卷积核所提取的特征,改善了人体背部的分割效果,其MIOU和MPA指标分别达到82.12%和86.62%,从而保证了人体背部腧穴定位的准确度。

图9部分腧穴定位准确率随误差范围的变化趋势

表1不同模型的分割准确度

表2不同误差范围下腧穴定位的准确率

表3随误差范围面积变化量腧穴定位准确率的提升率

为了实现背部腧穴自动定位,提出一种基于大椎穴、天柱穴、臑俞穴、肩贞穴、关元俞和脊柱棘突为特征腧穴的人体背部分割方法,并依据该分割方法制作人体背部腧穴数据集。实验表明,该数据集SK-UNet网络框架中表现良好,依据SK-UNet网络框架的预测结果对背部腧穴进行定位,定位结果在误差范围为5mm、10mm、15mm、20mm时的准确率分别达到57%、93%、97%、99%,其平均定位误差为7.3mm。


基金资助:国家重点研发计划项目(2020YFC2007601);北京市属高校分类发展项目(11000023T000002199202);


文章来源:曹莹瑜,赵震玺,包仁人,等.基于SK-UNet网络的背部腧穴自动定位方法[J].中国康复医学杂志,2024,39(11):1662-1667.

分享:

91学术论文范文

相关论文

推荐期刊

网友评论

我要评论

中医康复

期刊名称:中医康复

期刊人气:1710

期刊详情

主管单位:广东省中医药局

主办单位:广东省第二中医院(广东省中医药工程技术研究院)

出版地方:广东

专业分类:医学

国际刊号:2097-3128

国内刊号:44-1757/R

邮发代号:46-114

创刊时间:1985年

发行周期:月刊

期刊开本:大16开

见刊时间:4-6个月

论文导航

查看更多

相关期刊

热门论文

【91学术】(www.91xueshu.com)属于综合性学术交流平台,信息来自源互联网共享,如有版权协议请告知删除,ICP备案:冀ICP备19018493号

400-069-1609

微信咨询

返回顶部

发布论文

上传文件

发布论文

上传文件

发布论文

您的论文已提交,我们会尽快联系您,请耐心等待!

知 道 了

登录

点击换一张
点击换一张
已经有账号?立即登录
已经有账号?立即登录

找回密码

找回密码

你的密码已发送到您的邮箱,请查看!

确 定