收藏 分享(赏)

融合图像识别算法的中医药知识推广系统_李果恩.pdf

上传人:哎呦****中 文档编号:2582535 上传时间:2023-08-01 格式:PDF 页数:5 大小:864.98KB
下载 相关 举报
融合图像识别算法的中医药知识推广系统_李果恩.pdf_第1页
第1页 / 共5页
融合图像识别算法的中医药知识推广系统_李果恩.pdf_第2页
第2页 / 共5页
融合图像识别算法的中医药知识推广系统_李果恩.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2023.6电脑编程技巧与维护1概述为更好地弘扬中医药文化,基于现有的图像识别技术、中医药数据知识及微信小程序开发技术,设计开发了一款普及中医药知识的微信小程序“慧眼识药”,帮助用户了解中药材的药性、药效、忌用人群、注意事项等,同时针对用户关注的内容,就有关的穴位按摩、养生技巧等内容实现算法推荐,提升用户体验。1.1用户分析中医在疾病预防、养生保健、身体调节等方面有着显著的优势2。对中医感兴趣、愿意继承并发扬中医药文化的人很多。“慧眼识药”微信小程序可以帮助中医初学者辨别中药、了解药材药性;为中医大夫分享中药知识提供途径;帮助人们学习如何养生。1.2功能需求系统采用前后端分离模式开发,分为微信

2、小程序端、管理员端和服务器端。其中,微信小程序端为用户展示中药资料及相关文章,提供中药材识别与药单分析功能,提供文章、中药、处方信息的检索等功能;管理员端通过浏览器即可完成文章、中药等信息的增删改查等功能,方便其维护数据库中的数据;服务器端实现各种数据的增删改查、热门数据缓存、图像识别、文字提取、用户行为分析及文章推荐,与前端发送请求进行交互。“慧眼识药”功能模块如图1所示。2系统设计2.1系统架构系统整体架构图如图2所示。后端使用SpringBoot框架开发;前端的网络请求经过Nginx代理和网关并且校验了JWT Token后,NACOS会为其提供服务。服务调用涉及到的数据库包含MySQL、

3、Redis、MongoDB。图像识别服务依赖Java端的深度学习库(DJL),通过调用Pytorch训练好的torchscript模型文件完成识别任务。全文检索、中文分词服务借助ElasticSearch、IK分词器实现。2.2系统模块系统分为中药模块与用户模块,其中,中药模块可划分为中药数据模块、文章讨论模块及识别模块;用户模块可划分为登录注册模块、检索模块及文章推荐模块。2.2.1 中药数据模块当用户对系统中的中药、处方等数据进行检索,或进入数据展示页请求查询中药数据时,服务器将根据用户的筛选条件对数据进行查询,并将结果返回前端界面,以列表分页形式展示或以图文形式展示。融合图像识别算法的中

4、医药知识推广系统李果恩,梁颖,王淑琴,邓玥(天津师范大学软件学院,天津300387)摘要:中医药文化是宝贵的传统文化之一。为了弘扬中医药文化、方便大众了解相关知识,开发了一款融合图像识别算法的中医药知识推广系统。该系统前端基于微信小程序和 Vue 框架搭建;后端基于SpringBoot 框架完成开发,可为用户提供中药及处方资料查询、中药材识别、中药单分析、文章推荐、讨论等功能。该系统致力于中医药知识的科普,方便大众了解中草药材的药性、药效等,为大众学习中医药文化带来便利,为中医药文化的推广普及做出贡献。关键词:中医药;微信小程序;深度学习;中药识别;ElasticSearch 工具图1“慧眼识

5、药”功能模块图2系统整体架构慧眼识药微信小程序端中药、药方浏览内容检索文章浏览参与讨论中药识别、药单分析后台管理网页端中药管理药方管理功效、归经管理文章、讨论管理Nginx外网部署内网部署服务注册服务发现图像识别中文分词消息通讯NettyApacheLuceneDeepJavaLibrary网关SpringCloudGatewayJWTFeignFeign服务集群ElasticSearch缓存RedisCaffeine本地缓存持久化对象存储CI/CDMongoDBgiteeJenkinsdockerAliyunOSS配置中心、注册中心mongoDB3DOI:10.16184/prg.2023.

6、06.0242023.6电脑编程技巧与维护2.2.2文章讨论模块文章讨论模块的首页将展示一些文章的图片、标题及部分正文,并且提供进入用户讨论界面的按钮,用户可进入对应文章或讨论界面进行留言评论。除此以外,用户还可以选择发布文章或发起讨论。编辑器为富文本编辑器,可以在任意位置插入图片来丰富文章内容。2.2.3识别模块识别模块包含中药识别和药单识别。在中药材识别界面,用户可调用手机摄像头或手机相册,上传包含中药材的图片。服务器对图片里的中药材进行识别后,返回多个可能的结果,包括中药名、中药图片及可信度。中药识别界面如图3所示。药单识别可以识别用户上传药单图片上的文字,自动提取其中的中药名,将识别的

7、中药成分放到分析界面进行分析。用户根据自己的需要对中药成分进行修改和添加。分析结果包括选取的中药组合起来可能产生的功效、主治病症,以及这些成分组成的具体药方。药单分析界面如图4所示。2.2.4 登录注册模块用户在首次登录小程序时,需要授权系统访问用户的头像等信息,系统将根据标识微信用户身份的号码(OpenID)自动创建账号来完成注册功能。若该OpenID已被注册,则会进行登录操作。2.2.5检索模块当用户单击首页上方的搜索栏,会进入搜索界面,界面上将展示用户的搜索历史,以及当前的热门搜索。在搜索框内输入搜索内容后,搜索框下方将展示推荐搜索的词条,单击即可进行搜索。用户可以单击搜索框左侧的下拉按

8、钮,选择检索的内容是文章、中药材还是处方。在搜索中药材时,系统支持拼音搜索、模糊搜索、中药材别名搜索。进行搜索操作后,用户将进入搜索结果展示界面,可看到以列表形式展示的结果。2.2.6 文章推荐模块文章推荐界面首页的下方为推荐文章展示区,下拉即可查看更多文章。推荐区内的文章是系统根据用户前期的搜索内容、浏览文章、药单分析等行为进行推荐的,系统会尽可能为用户推荐其可能感兴趣的内容,方便用户了解中医药知识、丰富养生经验、查询治疗疾病的方法。2.3数据库设计系统中所使用的数据库表主要有11个,具体如下。(1)t_article。文章数据库,记录文章正文、关键词、浏览量等内容。(2)t_comment

9、。文章、讨论评论数据库,记录用户在文章和讨论下的评论,发布时间。(3)t_discussion。讨论数据库,记录内容类似的文章数据库。(4)t_function。功效数据库,记录父功效ID、功效名称、详情和主治症状。(5)t_function_herb。中药材功效关联数据库,记录中药材对应的功效。(6)t_herb。中药材数据库,记录中药名、别名、图片等内容。(7)t_prescription。药方数据库,记录药方名、出处、配料等内容。(8)t_text。长文本数据库,记录中药材的详情内容,例如,生产地、服用方法、禁忌人群等。(9)t_tropism。归经数据库,记录归经名。(10)t_tro

10、pism_herb。中药材归经关联数据库,记录中药材所属的归经。(11)t_user。用户信息数据库,记录用户OpenID、昵称、头像数据。3系统实现3.1技术系统以前后端分离的模式开发,前端涉及微信小程序技术和Vue技术;后端开发使用编程语言为Java。微信小程序使用微信开发者工具开发;管理界面和后端SpringBoot搭建的服务器使用IDEA开发;数据库使用MySQL、Redis来存储数据,通过MyBatisPlus完成Java对MySQL数据的增删改查,通过RedisTemplate访问Redis缓存数据;深度学习模型在Pytorch框架中的部署和训练,使用Pycharm。3.2前后端通

11、信前后端通信方式如图5所示。微信小程序端通过微信小程序自带的wx.request发送GET和POST请求,同时会在请求头中附带标识用户身份的标头TICKET,内图3中药识别界面图4药单分析界面42023.6电脑编程技巧与维护容为在用户登录后服务器为用户生成的一个JWT To-ken,经过解码后可从中获取用户的OpenID。管理员端通过Axios发送HTTP请求,检测基于Promise对象链式处理成功和失败的情况。服务器端处理网络请求,在业务层执行一系列业务后返回JSON格式数据,包括响应状态码status、附带消息message和数据data。3.3上传功能保存用户头像、文章图片、中药图片等功

12、能都需要图片上传操作,上传文件操作的流程如图6所示。进行上传操作时,(1)会判断上传文件是否为空、文件大小及格式是否符合要求,若不符合要求,则上传失败;如果上传文件合格,则会获取文件的后缀名。(2)使用通用唯一识别码(UUID)生成全局唯一的文件名。(3)根据上传时的日期将上传文件放到对应的目录下,记录文件的全路径,以方便储存和访问,完成上传操作。操作中所提及的UUID是开源软件基金会应用在分布式计算环境领域的标准组件,能够保证每个分布式环境中的节点所生成的标识都不会重复,在大多数实际应用中可以认定每个UUID是唯一的3,通过使用UUID可以保证文件名不会重复。3.4识别功能在系统设计中已提及

13、识别功能,识别功能模块包括对中药的识别和对药单的识别,它们分别属于图像分类任务和文字识别任务。3.4.1 中药识别中药识别模块采用卷积神经网络对图片进行处理识别,采用交叉熵函数作为损失函数,采用Adam优化器进行训练,在Pytorch平台上进行模型的定义与训练。进行训练前,系统会将输入图片的尺寸统一改为380380,若图片过长或过宽(长比宽或宽比长大于1.4),则保持原横纵比,将较长的边修改为380后,空缺的部分用RGB(128,128,128)的颜色填充。在训练时会将图片进行局部放大或缩小、水平翻转、正则化等一系列transform操作,以达到数据增强、丰富训练集内容的目的。对数据进行预处理

14、后,不仅能提高模型泛化的能力,防止模型过拟合,还能提高模型的鲁棒性。项目使用图像识别能力较强、训练速度和推理速度较快的EfficientNet-b4作为中药材识别的模型。Effi-cientNet-b4是在EfficientNet-b0的基础网络上修改部分层的参数得来的,EfficientNet-b0的网络结构如图7所示。EfficientNet使用网络搜索技术,探索输入图像的分辨率、模型网络深度和宽度对识别的影响,增加输入图像的宽度、深度、分辨率,从而得到更丰富、更复杂、细粒度更高的特征,突破对某方面单一增强的局限,推理出更准确的结果4。图8为EfficientNet与一些常见图像识别模型在

15、ImageNet数据集上的准确率对比。Ima-geNet是一个计算机视觉数据集,包含图片超过千万张,分为1 000个类别。从图7中可以看出,EfficientNet的识别率是非常出色的。图5前后端通信方式图6上传文件操作流程图7EfficientNet-b0网络结构微信小程序wx.request服务器后台管理页面axios.requststatus:200,message:成功,data.开始文件校验不合格上传失败合格获取后缀名生成文件名保存文件结束1324321outputPooling,FCMBConv6(k33)MBConv6(k55),SEMBConv6(k33),SEMBConv6(

16、k33)MBConv3(k55),SEMBConv6(k33)SepConv(k33)Conv33Images(a)总体框架Conv11,BNSE(Pooling、FC、Relu、FC、Sigmoid、MUL)DWConv55,BN,ReluConv11,BN,Relu(b)MBConv3(k55)Conv11,BNDWConv33,BN,ReluConv11,BN,Relu(c)MBConv6(k33)Conv11,BNDWConv33,BN,Relu(d)SepConv(k33)52023.6电脑编程技巧与维护仙灵脾藿香党参前胡薄荷厚朴麦芽山楂木香当归独活当归肉苁蓉Accuracy:93.75%全蝎滑石干姜项目的中药数据集共有80个类别,数据集内图片均来自百度图片搜索,共包括1 584张图片,其中80%属于训练集、20%属于测试集。训练阶段,设置Adam优化器学习率为0.01、批处理数量为32、训练迭代次数为200;训练结束后,模型在测试集上的准确率达到97.643%。随机识别16张图片的识别测试结果如图9所示。每张图片识别结果后面的“”和“”分别表示识别正确和识别错误。经过大量测

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 专业资料 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2