1.本发明涉及血糖控制领域,特别是指一种糖尿病人食糖监控系统。
背景技术:2.根据世界卫生组织(who)的数据,2019年,20岁至79岁的人群中约有4.63亿人患有糖尿病,其中,有4.7万儿童和青少年患有1型糖尿病。目前主流的糖尿病治疗方法是闭环胰岛素控制系统,包括:连续血糖监测系统、胰岛素泵和血糖闭环控制算法。其中,血糖闭环控制算法是最为重要的部分,算法的好坏直接影响闭环胰岛素控制系统对糖尿病人的控制效果。算法主要解决饮食和运动等因素等血糖控制的干扰,而饮食是最难以避免的干扰因素。因此,如何处理饮食的干扰对评价一套血糖控制系统的控制效果至关重要。
3.目前市场上最为普遍的治疗糖尿病的产品是半闭环胰岛素泵,它能实现基础的血糖监控和高低血糖报警功能,但是胰岛素泵输出的基础胰岛素则需要手动设置。美国美敦力公司研制有用于连续输注基础胰岛素的产品—混合闭环胰岛素泵系统,它的基础胰岛素注射量会根据监控的血糖水平自动调整,但是病人进餐后的血糖控制需要提前手动公布餐食量,用来调整注射的胰岛素量,其过程繁琐。因此亟需一套能实现全自动控制的血糖控制系统。
4.现有技术中,主要的血糖闭环控制算法包括以下几种:
5.1)、pid控制:pid控制作为最早实用化的控制器,发展历史悠久,控制效果较优,目前应用范围广泛。pid设计的胰岛素输注速度可以看作比例项(kp)、积分项(ki)和微分项(kd)这三部分的加权和。pid算法运用三个分量尽可能地模拟人体β细胞分泌胰岛素的生理传输过程。shen指出具有参数自适应调整的pid控制在血糖控制领域具有一定的优势。此外,li等提出了基于神经网络的pid控制算法进行血糖控制,该算法能够自适应地调整kp、ki,kd参数。但是,当患者的新陈代谢、身体活动或情绪状态发生显著变化时,必须重新调整生理模型的参数。由于血糖浓度的动力学因主体而异,还会随时间而变化,因此血糖浓度的动力学中每个重大变化都必须重新调整这些控制器参数,这些都使得难以找到最优的增益kp、ki和kd。例如,进餐时血糖会产生较大波动,适用空腹状态的控制器参数在进餐时控制效果会不够理想。如何在糖尿病患者进餐时也实现良好血糖控制是更需要关注的问题。另外pid算法存在着不准确的剂量或过量的胰岛素会带来低血糖的症状。
6.2)、模型预测控制(mpc):mpc算法是一种基于模型的控制算法,其使用预测模型对胰岛素泵输出在测量血糖值变化下的未来行为进行预测,通过在每一时间步长优化问题的求解保证得到优化的胰岛素输注。hovorka等提出了带贝叶斯参数预测的模型预测控制,通过参数预测不断调整预测模型,减小模型与真实人体对象的不匹配问题带来的误差影响。另外,研究学者们考虑到mpc模型的非线性化带来的影响以及患者个体差异,纷纷提出了将神经网络辨识、多参数模型的预测控制、pid控制等算法与mpc模型预测控制相结合进行血糖闭环控制。feng等还将gpc控制算法整合了基于模型预测和自适应控制用于闭环胰岛素的控制。但是,近年来,研究学者发现不同患者在胰岛素敏感度、胰岛素作用效果等方面存
在着个体差异,这导致采用固定预测模型的mpc方法在控制不同患者时,控制效果会出现差别。
7.3)、模糊逻辑控制算法(fuzzy logical,fl):该算法是智能控制的主要研究领域之一,其在闭环式人工胰腺中应用的原理是首先对临床糖尿病治疗长期实践积累的经验进行较为全面的总结,建立专家知识库,然后把临床治疗经验规则的条件以及操作用模糊集表示,并把这些模糊控制规则作为知识存入专家知识库中,最后根据实时监测的血糖数据,运用模糊推理,得出相适应的胰岛素输注剂量参数。但是,模糊逻辑控制算法依托临床专家将临床糖尿病治疗长期实践积累的经验知识建立为专家知识库,转化为模糊逻辑控制规则,符合临床治疗的常规经验,易于为临床医生所理解。但是归纳模糊规则和选取模糊隶属度函数主要依靠经验,具有较大的主观性。
8.此外,目前的闭环控制系统不能使患者直观的感受到血糖控制效果,更不能实时显示血糖的变化曲线。目前各种针对糖尿病人的血糖控制系统只能实现单一的控制功能,不能让患者实时了解自己的血糖变化,以根据血糖变化自我调节进食、运动等生理活动。
技术实现要素:9.本发明实施例提供了糖尿病人食糖监控系统,能够实现糖尿病人餐后血糖的精准控制。所述技术方案如下:
10.本发明实施例提供了一种糖尿病人食糖监控系统,包括:
11.重量检测模块,用于获取糖尿病人餐食中各种食物的重量;
12.图像识别模块,用于基于深度学习的图像识别算法,确定糖尿病人餐食中食物的种类;
13.食物成分分析模块,用于基于餐食中食物的种类、每种食物对应的重量以及食物各营养成分占比信息确定餐食中cho,其中,cho为碳水化合物总的含量;
14.血糖控制模块,用于根据确定的餐食中cho,采用神经网络与模糊pid算法预测糖尿病人血糖波动曲线并提供胰岛素注射量。
15.进一步地,所述重量检测模块,用于在糖尿病人的食物做成餐食之前,确定各种食物的重量。
16.进一步地,所述图像识别模块,用于在重量检测模块检测食物重量的同时,获取食物的图像,利用训练好的基于深度学习的食物图像识别模型对获取的图像进行识别,得到该种食物的种类。
17.进一步地,所述食物图像识别模型的训练过程包括:
18.利用tensorflow 2搭建resnet50残差神经网络并根据迁移学习方法对图像数据集中的图像进行训练,得到训练好的食物图像识别模型;其中,所述图像数据集包括:果蔬类食物图像和非果蔬类食物图像。
19.进一步地,在食物图像识别模型训练好之后,利用tensorflow serving技术将训练好的食物图像识别模型通过互联网为媒介进行服务发布。
20.进一步地,所述神经网络包括:narx神经网络和dbn;利用所述神经网络构建血糖-胰岛素模型,其中,所述血糖-胰岛素模型用于预测血糖值;
21.所述血糖控制模块,用于将餐食中cho输入构建的血糖-胰岛素模型,得到血糖值,
根据得到的血糖值采用模糊pid算法预测胰岛素注射量。
22.进一步地,利用粒子群优化算法来优化dbn隐含层的结点数。
23.进一步地,所述系统还包括:
24.cho显示模块,用于显示餐食中的cho。
25.进一步地,所述系统还包括:
26.血糖曲线显示模块,用于显示预测到的糖尿病人血糖波动曲线。
27.本发明实施例提供的技术方案带来的有益效果至少包括:
28.本发明实施例中,重量检测模块,用于获取糖尿病人餐食中各种食物的重量;图像识别模块,用于基于深度学习的图像识别算法,确定糖尿病人餐食中食物的种类;食物成分分析模块,用于基于餐食中食物的种类、每种食物对应的重量以及食物各营养成分占比信息确定餐食中cho,其中,cho为碳水化合物总的含量;血糖控制模块,用于根据确定的餐食中cho,采用神经网络与模糊pid算法预测糖尿病人血糖波动曲线并提供胰岛素注射量。这样,能够实现糖尿病人餐后血糖的精准控制。
附图说明
29.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1为本发明实施例提供的糖尿病人食糖监控系统的结构示意图;
31.图2为本发明实施例提供的糖尿病人食糖监控系统工作原理示意图;
32.图3为本发明实施例提供的stc89c52rc电路结构示意图;
33.图4为本发明实施例提供的复位电路结构示意图;
34.图5为本发明实施例提供的液晶显示电路结构示意图;
35.图6为本发明实施例提供的蓝牙通信电路结构示意图;
36.图7为本发明实施例提供的hx711工作原理示意图;
37.图8为本发明实施例提供的伯格曼胰岛素吸收模型示意图;
38.图9为本发明实施例提供的narx神经网络基本结构示意图;
39.图10为本发明实施例提供的模糊pd控制系统结构示意图。
具体实施方式
40.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
41.如图1所示,本发明实施例提供了一种糖尿病人食糖监控系统,包括:
42.重量检测模块11,用于获取糖尿病人餐食中各种食物的重量;
43.图像识别模块12,用于基于深度学习的图像识别算法,确定糖尿病人餐食中食物的种类;
44.食物成分分析模块13,用于基于餐食中食物的种类、每种食物对应的重量以及食物各营养成分占比信息确定餐食中cho,其中,cho为碳水化合物总的含量;
45.血糖控制模块14,用于根据确定的餐食中cho,采用神经网络与模糊pid算法预测糖尿病人血糖波动曲线并提供胰岛素注射量。
46.与现有技术相比,本实施例通过重量检测结合图像识别技术计算出糖尿病人每餐摄入的cho量,根据cho量决定前馈控制的胰岛素注射量,实现糖尿病人餐后血糖的精准控制。
47.本实施例中,如图2所示,所述图像识别模块、食物成分分析模块集成在app中,app可以安装在移动终端上,例如,智能手机。app的制作在android studio中进行。移动终端,除了图像识别模块、食物成分分析模块外,还包含:欢迎用户模块、账户信息管理模块(包含两个子模块:账户注册和账户登录)、血糖曲线显示模块、cho显示模块、称重显示模块;其中,
48.欢迎用户模块是一个进入app停顿两秒钟的显示有欢迎字样的splash界面;
49.账户注册和登录部分则是调用比目后端云功能,在build.gradle文件中添加依赖指令:
50.implementation'cn.bmob.android:bmob-sdk:3.7.8'
51.implementation"io.reactivex.rxjava2:rxjava:2.2.8"
52.implementation'io.reactivex.rxjava2:rxandroid:2.1.1'
53.implementation'com.squareup.okhttp3:okhttp:5.0.0-alpha.2'
54.implementation'com.squareup.okio:okio:3.0.0-alpha.1'
55.implementation'com.google.code.gson:gson:2.8.6'.
56.在图像识别之前需要对手机的相机和图库(存储)权限进行调用,为方便用户调用权限,此处选取动态授权的方式,在androidmainifest.xml中加入授权指令;若动态调取权限失败,为了保障用户能够正常使用功能,特在主程序文件mainactivity.java中加入了手动授权指令,授权完成后,录入图片,进行图像识别;
57.cho显示模块,用于显示餐食中的cho;
58.血糖曲线显示模块,用于显示预测到的糖尿病人血糖波动曲线。
59.在前述糖尿病人食糖监控系统的具体实施方式中,进一步地,所述重量检测模块,用于在糖尿病人的食物做成餐食之前,确定各种食物的重量。
60.本实施例中,所述重量检测模块包括:单片机、ad转换单元、压力传感器、液晶显示模块以及蓝牙通信模块,其中,蓝牙通信模块用于单片机与app之间的数据传输。
61.本实施例中,所述压力传感器可以在食物做成餐食之前,获取到被称食物的重量,但是该压力传感器测出来的是一个模拟量,所以需要ad转换单元将不能传输的模拟量信号转变成可以传输的数字量信号(即:重量数据),数字量信号可以在单片机中进行传输,单片机将重量数据分别传输给液晶显示模块和蓝牙通信模块,液晶显示模块可以将重量数据显示出来,重量数据传给蓝牙通信模块后,发送给app,用户就可以在手机应用上查看该食物的重量。
62.本实施例中,为了保证低功耗和低成本,单片机选用了stc89c52rc,stc89c52rc系统电路如图3所示;
63.为了防止单片机中电路出现问题时不会造成更大影响,设计了复位电路如图4所示;
64.本实施例中,液晶显示模块选用lcd1602液晶显示功能模块,其电路图如图5所示。
65.本实施例中,选择hc06蓝牙模块作为蓝牙通信模块,hc06蓝牙模块需要与单片机进行通信连接,hc06蓝牙模块的txd、rxd引脚与单片机的txd、rxd引脚交叉连接。也就是将hc06蓝牙模块的3引脚连接到单片机上的rxd引脚上,4引脚连接到单片机上的txd引脚上,当处于待连接模式时,hc06蓝牙模块快速闪灯,处在at模式时,也是快速闪灯,等到连接完成时,一直长亮灯。在配对的过程中,需要用串口调试助手进行控制指令的发送,以完成配对,需要设置好各项条件,当给hc06蓝牙模块供上电时,蓝牙进行配对,打开我们的调试软件,设置好条件后,将hc06蓝牙模块的txd跟rxd短接,发送数据,软件将回复一样的数据,这样就说明hc06蓝牙模块已经正常连接了。蓝牙通信模块电路图如图6所示。
66.本实施例中,a/d转换单元选用hx711芯片,hx711是一种具有极高精度的24位a/d转换芯片,工作原理如图7所示。
67.在前述糖尿病人食糖监控系统的具体实施方式中,进一步地,为了判断糖尿病人的餐食的种类,所述图像识别模块,用于在重量检测模块检测食物重量的同时,获取食物的图像(包括:利用相机拍照获取图片和本地图库获取图片两种方式),利用训练好的基于深度学习的食物图像识别模型对获取的图像进行识别,得到该种食物的种类。
68.在前述糖尿病人食糖监控系统的具体实施方式中,进一步地,所述食物图像识别模型的训练过程包括:
69.利用tensorflow 2搭建resnet50残差神经网络并根据迁移学习方法对图像数据集中的图像进行训练,得到训练好的食物图像识别模型;其中,所述图像数据集包括:果蔬类食物图像和非果蔬类食物图像;
70.本实施例中,图像数据集选用开源数据集fruits-360为基础,并扩充入大量非果蔬类食物图像,将该图像数据集分为训练集和验证集;其中,图像数据集中至少包括200种以上的食物,使得食物图像识别模型至少能识别200种以上的食物。
71.本实施例中,利用tensorflow 2搭建resnet50残差神经网络,对于搭建好的resnet50残差神经网络进行基于迁移学习的训练的实现方法:先将输入图片(包括:训练集和验证集中的图片)r、g、b通道分别减去一个均值分量以保证与resnet50残差神经网络的输入通道参数一致,对resnet50残差神经网络初始化分类类别为图像数据集中食物种类数,设置参数include_top=false表示不使用预训练模型的全连接层,以防止网络创建平均池化下采样层和全连接层,然后载入tensorflow官方提供的预训练模型的模型参数(包括图片尺寸、运行次数和学习率等)并冻结原预训练模型所有训练参数,最后利用keras提供的sequential(序贯)类在resnet50残差神经网络结尾添加两层全连接层,这样只需要训练这两个全连接层即可完成食物图像识别模型训练,这种训练方法可以节省大量的模型训练时间且图像识别准确率并不会因训练的减少而降低。
72.在前述糖尿病人食糖监控系统的具体实施方式中,进一步地,在食物图像识别模型训练好之后,利用tensorflow serving技术将训练好的食物图像识别模型通过互联网为媒介进行服务发布。
73.本实施例中,在食物图像识别模型训练完成后,如何将这个食物图像识别模型植入到app程序中便成为了关键性问题,本实施例中,使用tensorflow serving技术来解决这一关键性问题,tensorflow serving实现了已训练模型的发布服务,这个服务随后会被访
5蛋白质dbzvarcharnot null 6脂肪zfvarcharnot null 7维生素wssvarcharnot null 8胆固醇dgcvarcharnot null 9钙cavarcharnot null 10镁mgvarcharnot null 11铁fevarcharnot null 12锌znvarcharnot null 13钠navarcharnot null 14钾kvarcharnot null 15硒sevarcharnot null 91.本实施例中,用户信息表用于记录使用者账户的一些必要信息,这些信息具体为昵称,账号,密码,创建时间和修改时间五个字段,其中昵称字段是用户信息表的主键,如表3所示。
92.表3用户账户信息表
93.序号字段中文名字段英文名类型是否为空备注1昵称nickrnamevarchar(11)not null主键2账号numbervarchar(20)not null 3密码passwordvarchar(20)not null 4创建时间created timedatenot null 5修改时间modifiedtimedatenot null 94.本实施例中,将app中的食物成分分析模块传来的餐食中cho作为前馈,输入血糖控制模块;血糖控制模块根据确定的餐食中cho,采用神经网络与模糊pid算法预测糖尿病人血糖波动曲线并提供胰岛素注射量;其中,每单位胰岛素所对应碳水化合物克数是由每个人的胰岛素敏感性所决定,一般为10-15克/u,超重或肥胖可达5克/u,消瘦者可达20克/u。
95.由于,人体血糖-胰岛素之间的动态特性是一种较为复杂的生化反应过程,为了能准确的进行血糖控制,需要一套仿生物学的人体血糖-胰岛素模型,这套生理模型用来预测糖尿病人输出的血糖值。这套模型的准确度直接影响到控制效果。bergman最小模型经过了大量学者和医师的实验,已经证明了其有效性。图8为bergman胰岛素吸收模型示意图,其动态方程如下:
[0096][0097][0098][0099]
其中,t表示时间,x(t)是远程胰岛素室,g(t)是血糖浓度,u1(t)是来自胰岛素系
统的胰岛素流,i(t)是血浆胰岛素浓度,分别表示x(t)、i(t)、g(t)对时间t的一阶导数,ib是基础胰岛素,u
1b
表示输入的基础胰岛素值,u2(t)是来自静脉或来自胃肠系统的外源性葡萄糖流。参数n是血浆胰岛素消失的速率常数。远程胰岛素隔室中胰岛素的消失和出现速率分别由参数p2和p3控制。gb代表基础葡萄糖浓度。葡萄糖分布空间由volgg表示。葡萄糖从血浆空间移除的速率,独立于胰岛素的影响,由参数p1表示。类似地,参数p4表示在胰岛素的影响下葡萄糖摄取的组合速率。
[0100]
本实施例中,利用神经网络构建血糖-胰岛素模型,所述神经网络包括:非线性自回归模型(nonlinear autoregressive models with exogenous inputs,narx)神经网络和深度置信学习网络(dbn)。本实施例中,可以使用历史数据(包括:cho、bolus)进行训练建立血糖-胰岛素模型,训练好的血糖-胰岛素模型能够预估下一时刻病人的血糖值。所述血糖控制模块,用于将餐食中cho输入训练好的血糖-胰岛素模型中,得到血糖值,根据得到的血糖值采用模糊pid算法预测胰岛素注射量输入给糖尿病人,此时的胰岛素注射量为大剂量胰岛素(不同于基础胰岛素)。
[0101]
在一般情形下,narx神经网络的预测性能要好于全回归神经网络,而且能够随时转换成全回归神经网络,所以在非线性动态系统中经常使用,narx神经网络基本结构如图9所示,其中,b为指定的阈值;x(t)表示神经网络的外部输入;w为连接权值;y(t)表示神经网络的输出;“1:2”表示输入和输出的延时阶数。narx神经网络主要由第一层输入层、中间隐含层和最后输出层以及输入和输出延时构成,在得到预处理后的数据后,首先需要确定narx神经网络的输入和输出的延时阶数、隐含层神经元个数等。由于血糖-胰岛素模型中,胰岛素的控制作用一般会延迟二十分钟左右,而数据的采样周期为5分钟,所以将输入、输出时延设定为1:4,而隐含层神经网络个数设定为10。narx神经网络训练算法选择rtrl算法,这种算法每迭代一次就会计算一下各个节点的误差梯度,从而可以获得相应精确的误差梯度解。
[0102]
本实施例中,在训练血糖-胰岛素模型前,首先需要对建模数据进行预处理,具体可以包括以下步骤:
[0103]
1)重采样
[0104]
本实施例使用了由美国弗吉尼亚大学(virginia university)和意大利帕多瓦大学(padova university)联合开发的一款uva/padova糖尿病仿真平台,从仿真平台获得了5个虚拟糖尿病病人5天的血糖仿真数据,仿真数据包括:g、injection、basal、sensor和cho,其中,“g”表示血糖数据;“injection”表示胰岛素数据,其值为基础胰岛素(basal)输注速率和大剂量胰岛素(bolus)之和,basal表示每分每秒都在注射胰岛素的基础注射率,而bolus只有在摄入碳水化合物时才会注射胰岛素的注射率;“sensor”表示选择的传感器测量到的血浆血糖值数据;“cho”表示摄入的所有食物中碳水化合物总的含量。uva/padova仿真平台输出采样周期为1分钟的cho数据,采样频率过高,得到的数据密度过大,而且短时间内血糖的变化速度比较慢,胰岛素的注射速率变化率也比较小,所以为了便于利用,对仿真平台直接输出的数据进行采样周期为5分钟的重采样。
[0105]
2)提取大剂量胰岛素
[0106]
由于基础胰岛素(指:basal)是24小时连续不间断注射的,而大剂量胰岛素(指:bolus)则是依据患者摄入的碳水化合物量来确定注射量,所以所建立的血糖-胰岛素模型
中胰岛素外源输入部分指的是bolus的值,而仿真平台输出值是下面等式中的values值,values=basal+bolus,单位为pmol/min,而bolus的单位多用u,其中6000pmol=1u,因为注射基础胰岛素的时间极短,可以看成是脉冲信号,提取公式为:
[0107][0108]
3)饮食补偿
[0109]
本实施例中,由于对摄入的餐食的cho数据进行了重采样操作,使得碳水化合物的总量变为原先的1/5,所以重采样后的碳水化合物量要乘以5。
[0110]
4)外源输入平滑处理
[0111]
外源输入信号胰岛素(指:bolus)和碳水化合物(指:cho)通过平滑处理后,有助于提高血糖-胰岛素模型的预测精度。它的主要方法就是将以脉冲形式输入的胰岛素(指:bolus)和碳水化合物(指:cho)信号,经过简单的传递函数输出连续平滑的时序信号。大剂量胰岛素(指:bolus)和碳水化合物(指:cho)采用的传递函数表达式分别如下:
[0112][0113][0114]
其中,h1和h2表示反馈通道传递函数,s是由拉普拉斯变换得到的变量,为传递函数的固有格式;本实施例中,对虚拟糖尿病病人的血糖仿真数据进行上述预处理操作后,得到了两个含有1440个监测点的时间序列数据,其中cbinputs为一个1*1440维的元包数组,代表了1440个监测时间点cho、bolus的数据值,作为选用的神经网络(包括:narx神经网络和dbn)的输入数据,cbtargets为1*1440维的元包数组,代表sensor检测到的血糖浓度值,作为神经网络的期望输出,同时选择血糖仿真数据数量中的70%作为训练集用来训练血糖-胰岛素模型,15%作为验证集,15%作为测试集用来测试血糖-胰岛素模型精度。
[0115]
本实施例中,dbn是一种有效的预训练技术,用于获取保留在最后一个隐藏层中的特征表示向量。由于hn是输入的最佳特征向量,因此将hn视为fnn(模糊神经网络)模型的输入是合适且有效的。fnn学习模型可以理解有效的监督学习,而不受bp算法梯度扩散的影响,输入是来自dbn的有效特征向量。
[0116]
本实施例中,利用粒子群优化算法(pso)对dbn的隐藏层节点数进行优化确立。根据pso算法的个体最优位置与群体最优位置来寻得使dbn重构误差平方和最小时所对应的节点个数。当重构误差平方和较小时,说明此时的受限玻尔兹曼机(rbm)层的结构较好。dbn的预训练网络结构选择四个堆叠的隐藏层。在无监督预训练阶段执行的迭代次数是100。
[0117]
本实施例中,血糖控制模块中闭环控制算法采用模糊pid(比例、积分、微分)算法,仿真在uva padova t1dm simulator软件中进行;其中,pid控制算法对大多数过程都具有较好的控制效果和适应性,至今仍为控制过程所广泛采用而参数的人工调整不仅需熟练的技巧也十分费时。同时,即使pid参数调整的很好用同一组固定的pid参数去适应系统的全过程当控制对象参数变化后系统的性能必然也会受到影响。因此,pid参数的在线自动调整就非常重要。fuzzy-pid调节器对输出响应的波形进行在线监控求出作为控制性能的指标,并用专家调整知识建立调整规则if-then模型利用fuzzy逻辑推理,实时调整pid参数,使
pid调节器适应被控对象的变化,并获得良好的控制性能。
[0118]
如图10所示,模糊pid控制算法对应的系统包括一个常规pid调节器和一个模糊推理的参数校正部分。偏差error作为pid调节器的输入,三个pid参数k
p
、ki和kd的变化值作为模糊推理的输出。根据事先确定好的模糊控制规则对三个参数进行在线修改。以满足不同的偏差error和偏差的变化率de/dt对控制器参数的要求不同。设偏差error和偏差的变化率de/dt的模糊论域为[-3,+3],
△kp
、
△ki
和
△
kd的模糊论域为[-0.3,+0.3][6]。图10中,输入rin为设定的血糖值,输出为实际血糖值。
[0119]
本实施例中,使用模糊pid控制算法进行血糖控制,在有前馈cho时,病人餐后无低血糖状态,高血糖时间不超过总的仿真时间的百分之四。
[0120]
患者在某个时间段内进食,在此时间段内,应该根据糖尿病人的实时血糖来调整胰岛素注射速率,具体的:在血糖控制模块中可以选择使用训练好的血糖-胰岛素模型预测血糖输出,进行高低血糖报警,例如,设置上限报警值为180mg/dl,下限报警为70mg/dl,当预测血糖值大于上限值,或者小于下限值,系统提供报警功能,且当大于上限值时,减小注射速率。
[0121]
本实施例中,结合图像识别和神经网络等人工智能技术开发了一款应用于糖尿病人血糖控制的“食糖”监控系统,其着重考虑糖尿病人的餐后血糖控制,主要包含app与血糖控制两部分,大大的方便了病人观察自己的血糖变化和医生对病人的治疗,至少具有以下技术效果:
[0122]
1)、血糖-胰岛素模型参数繁多,且因状态和个体的不同会有一些差别。本实施例在使用神经网络(narx和dbn)建模时,其只需要历史数据,不需要考虑病人的一些特异性参数;
[0123]
2)、进餐时病人的血糖波动会很大,现存算法要不是需要提前公布餐食量(即由医生给定病人的进食量),限制了病人的饮食。要不就是把餐食当作干扰处理,控制效果差。为了解决病人的餐后血糖控制问题,使用基于深度学习的图像识别算法识别病人进餐的食物种类,并对病人摄入的食物进行称重,建立后台数据库,基于食物种类和重量计算出糖尿病人食物中的cho;
[0124]
3)、app向血糖控制模块传输餐食中的cho,uva仿真软件根据接收到的cho,能提前进行补偿,即前馈控制,再使用模糊pid控制提高系统的抗干扰能力。
[0125]
4)、能够显示患者饮食情况与血糖波动曲线,实现患者身体状况的全面、直观掌握。
[0126]
5)、对糖尿病病人的饮食、血糖、胰岛素实现全方位的监控与管理,为医生与患者更好地控制血糖做到有益指导。同时该发明能够通过图像识别、食物成分分析以及神经网络建模等技术实现人工智能和糖尿病诊疗的交叉融合。
[0127]
6)、着重于实际应用,基于糖尿病人的胰岛素注射方案与餐后血糖控制,提出了建设性的解决方案。不仅方便糖尿病人实时观察自己的血糖状况,更使大大便捷了医生对病人的治疗流程。
[0128]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:1.一种糖尿病人食糖监控系统,其特征在于,包括:重量检测模块,用于获取糖尿病人餐食中各种食物的重量;图像识别模块,用于基于深度学习的图像识别算法,确定糖尿病人餐食中食物的种类;食物成分分析模块,用于基于餐食中食物的种类、每种食物对应的重量以及食物各营养成分占比信息确定餐食中cho,其中,cho为碳水化合物总的含量;血糖控制模块,用于根据确定的餐食中cho,采用神经网络与模糊pid算法预测糖尿病人血糖波动曲线并提供胰岛素注射量。2.根据权利要求1所述的糖尿病人食糖监控系统,其特征在于,所述重量检测模块,用于在糖尿病人的食物做成餐食之前,确定各种食物的重量。3.根据权利要求1所述的糖尿病人食糖监控系统,其特征在于,所述图像识别模块,用于在重量检测模块检测食物重量的同时,获取食物的图像,利用训练好的基于深度学习的食物图像识别模型对获取的图像进行识别,得到该种食物的种类。4.根据权利要求1所述的糖尿病人食糖监控系统,其特征在于,所述食物图像识别模型的训练过程包括:利用tensorflow 2搭建resnet50残差神经网络并根据迁移学习方法对图像数据集中的图像进行训练,得到训练好的食物图像识别模型;其中,所述图像数据集包括:果蔬类食物图像和非果蔬类食物图像。5.根据权利要求1所述的糖尿病人食糖监控系统,其特征在于,在食物图像识别模型训练好之后,利用tensorflow serving技术将训练好的食物图像识别模型通过互联网为媒介进行服务发布。6.根据权利要求1所述的糖尿病人食糖监控系统,其特征在于,所述神经网络包括:narx神经网络和dbn;利用所述神经网络构建血糖-胰岛素模型,其中,所述血糖-胰岛素模型用于预测血糖值;所述血糖控制模块,用于将餐食中cho输入构建的血糖-胰岛素模型,得到血糖值,根据得到的血糖值采用模糊pid算法预测胰岛素注射量。7.根据权利要求6所述的糖尿病人食糖监控系统,其特征在于,利用粒子群优化算法来优化dbn隐含层的结点数。8.根据权利要求1所述的糖尿病人食糖监控系统,其特征在于,所述系统还包括:cho显示模块,用于显示餐食中的cho。9.根据权利要求1所述的糖尿病人食糖监控系统,其特征在于,所述系统还包括:血糖曲线显示模块,用于显示预测到的糖尿病人血糖波动曲线。
技术总结本发明提供一种糖尿病人食糖监控系统,属于血糖控制领域。所述系统包括:重量检测模块,用于获取糖尿病人餐食中各种食物的重量;图像识别模块,用于基于深度学习的图像识别算法,确定糖尿病人餐食中食物的种类;食物成分分析模块,用于基于餐食中食物的种类、每种食物对应的重量以及食物各营养成分占比信息确定餐食中CHO,其中,CHO为碳水化合物总的含量;血糖控制模块,用于根据确定的餐食中CHO,采用神经网络与模糊PID算法预测糖尿病人血糖波动曲线并提供胰岛素注射量。采用本发明,能够实现糖尿病人餐后血糖的精准控制。尿病人餐后血糖的精准控制。尿病人餐后血糖的精准控制。
技术研发人员:宋睿卓 徐进 魏庆来 夏丽娜 邢适 刘路 曹槐 卢想 陈文泽
受保护的技术使用者:北京科技大学
技术研发日:2022.06.24
技术公布日:2022/11/1