可智能交互的AR 人体经络模型的设计与实现
作者: 徐宏宁 吕佳珉 石昌龙 丁长松
摘要:为了提高人体经络模型的活性,文章基于AR技术与智能问答技术设计并实现了可智能交互的AR人体经络模型。首先,构建3D人体模型并标注经络穴位;其次,利用Unity的AR Foundation技术实现人体模型在现实环境中的虚拟投放;再次,实现用户与人体模型经络穴位的交互,使用者可以查看经络穴位的视频、图片等多模态信息;最后,构建知识图谱,训练意图识别的BERT模型,实现与人体模型的智能问答交互。实验结果表明,该模型显著提升了经络学习和诊断的效率,为中医药教育提供了新的技术手段。
关键词:人体经络;AR技术;知识图谱;智能问答
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2025)04-0072-04 开放科学(资源服务) 标识码(OSID) :
0 引言
经络学说是《黄帝内经》中的主要内容,也是指导中医各科的理论核心。中医理论科学内涵、中医临床疗效、中医诊疗方法以及中西医结合理论等研究都离不开经络理论。传统的经络研究依赖于二维图谱和静态模型,难以直观地展示其复杂的空间结构和动态变化,需要借助现代医学的技术手段和方法来提高疾病的诊断和治疗水平。增强现实(Augmented Reality,AR) 技术是一种实时计算影像的位置和角度并叠加相应图像的技术,可以将虚拟世界融合到现实世界中,同时支持互动[1]。AR Foundation 是Unity 构建的AR开发平台,为广大用户提供了一种与平台无关的AR开发环境[2]。引入AR技术可以将抽象的经络系统以三维立体可交互的形式呈现,为解决传统经络研究的不足提供了新途径。同时,引入智能问答技术使人体经络模型更具智能性。本研究旨在利用AR技术与智能问答技术,设计并实现一个可智能交互的AR人体经络模型,提升人体经络模型的活性。
1 公众对于智能人体经络模型的需求
1.1 现有人体经络模型无法满足需求
国家高度重视中医药发展,出台了一系列政策鼓励中医药的传承与创新发展。2023年2月10日,国务院办公厅关于印发中医药振兴发展重大工程实施方案的通知[3]指出:“遵循中医药自身发展规律,充分利用现代科学成果和技术方法,巩固和发扬中医药特色优势,推进中医药现代化、产业化,推动中医药走向世界。”关于开展健康中国行动中医药健康促进专项活动的通知[4]指出,“加大小儿推拿健康知识普及,让家长了解小儿推拿适应症和注意事项,传授推广易于家长操作的捏脊、按揉足三里等方法。”经络腧穴理论是中医药理论的重要组成部分,几千年来一直参与指导中医临床实践[5]。在日常针灸推拿研究中,经络学说内容深奥,理论性较强,人体经络的分布非常复杂,且内连脏腑、外连筋肉皮肤,不宜直观观察。然而,目前大多数关于经络的研究采用穴位绘图及文字描述等方式讲解穴位知识,缺少立体形象,无法准确、生动、高效地展示相关经络位置及关联关系,不利于研究者掌握具体经络位置及相关疗效知识,严重影响经络相关知识的学习与研究效率。
1.2 可智能交互人体经络模型
为积极响应国家政策,弘扬中医药文化,促进中医数字化,本研究旨在设计并实现一款可智能交互的AR人体经络模型。该模型为立体生动的3D人体模型,能够在任意现实场景中虚拟投放,支持缩放、旋转等操作;模型上的经络穴位支持选择性展示和点击操作,当某穴位被点击时将高亮显示,并向用户呈现其多模态资源;模型还支持智能问答式交互。模型精准、直观地展示人体经络穴位,结合智能交互功能,为用户带来虚拟场景中的沉浸式学习体验。
2 系统架构
该系统实现可智能交互的3D人体经络模型,交互主要体现在三个方面:一是3D人体模型可以随处投放并可放大、缩小、旋转;二是3D人体模型上的经络穴位可控制显示与隐藏,可点击并获得语音、视频等多模态资源;三是可以与3D模型进行问答式交互。需要实现的功能包括3D人体模型构建、基于AR技术的3D模型投放与控制、经络穴位的显示与交互控制、经络穴位知识的多模态资源管理、常见疾病的推拿与中草药贴敷治疗相关知识的知识图谱构建、基于知识图谱的智能问答等。系统总体架构如图1所示,分为基础层、服务层与应用层。基础层包括基础工具、开发语言、关系数据库、图数据库、AR相关的库、人工智能模型等;服务层包括3D人体模型构建、AR交互、经络穴位知识管理、知识图谱构建、BERT模型训练、智能问答以及文字语音互转等服务;应用层包括基于AR的3D人体模型、与人体模型的经络穴位交互功能以及智能问答交互功能。
3 核心模块设计与实现
3.1 可交互AR 人体模型构建
用Blender工具构建3D人体模型,并将该模型嵌入Unity引擎,结合AR Foundation框架实现3D人体模型在虚拟环境投放,用户通过触摸操作与3D模型进行直观地交互,包括缩放和旋转等功能,操作流程如图2所示。
利用AR技术投放3D人体模型时,应用程序首先打开手机摄像头对准预投放人体模型的现实场景,用户在屏幕上点击场景中的平面后,系统获取触摸信息并检测该触摸点是否在AR平面上。如果触摸点在平面上且尚未生成模型,系统将调用Instantiate()方法在平面上生成一个新的3D模型,并利用Transform.Ro⁃tate()方法进行角度对齐,以确保模型正确展示。生成模型的关键代码如下:
var touch = Input.GetTouch(0);
//检测触摸点是否在平面上,是否已有模型
if ((spawnedObject == null) && mRaycastManager.Raycast(touch.position, Hits, TrackableType.PlaneWith⁃inPolygon | TrackableType.PlaneWithinBounds))
{
var hitPose = Hits[0].pose;
//实例化模型
spawnedObject = Instantiate(spawnPrefab, hitPose.position, hitPose.rotation);
//角度对齐
spawnedObject. transform. Rotate(new Vector3(0,mAngle, 0));
}
模型缩放操作,用户使用两根手指触摸屏幕并滑动,系统计算滑动前后两根手指之间的坐标变化值,并根据坐标变化值计算模型的坐标系缩放值。改变Transform.localScale属性值便可实现模型的缩放。关键代码如下:
if (spawnedObject != null)
{
//获得触摸点的信息,计算坐标变化值
Touch touchZero = Input.GetTouch(0);
Touch touchOne = Input.GetTouch(1);
Vector2 touchZeroPrevPos = touchZero.position -touchZero.deltaPosition;
Vector2 touchOnePrevPos = touchOne. position -touchOne.deltaPosition;
float prevTouchDeltaMag = (touchZeroPrevPos -touchOnePrevPos).magnitude;
float touchDeltaMag = (touchZero. position -touchOne.position).magnitude;
//计算坐标系缩放值
float deltaMagnitudeDiff = touchDeltaMag - prev⁃TouchDeltaMag;
float pinchAmount = deltaMagnitudeDiff * mZoom⁃Speed * Time.deltaTime;
//模型缩放
spawnedObject. transform. localScale += new Vec⁃tor3(pinchAmount, pinchAmount, pinchAmount);
}
模型旋转操作,当用户用一根手指在屏幕上滑动时,系统识别手指移动,计算旋转的欧拉角,调用Transform.Rotate()方法实现模型在本地空间实时旋转。关键代码如下:
3.2 与人体模型的经络穴位交互
用户可以控制3D人体模型中经络穴位的显示与隐藏,也可以调出某一穴位的语音、视频、图片等多模态资源。操作流程如图3所示。
系统生成模型后,界面左侧显示经络列表。当系统检测到经络列表上某经络被点击时,自动在界面右侧显示该经络的穴位列表,方便用户进一步操作。同时,在模型上显示该经络穴位,通过改变人体模型上相应经络穴位位置的材质颜色来控制该经络穴位的显示与隐藏。
当用户点击穴位列表中任意穴位时,系统自动改变人体模型上对应穴位位置的材质颜色,实现对所选穴位的高亮显示。通过这种显著的视觉效果,用户能够轻松定位并识别特定穴位的精确位置。同时,系统通过Unity的UI系统与文本组件在屏幕下方弹出该穴位相关的文本信息,包括穴位的名称、功能、主治病症等关键信息。除文本信息外,系统还显示“语音”与“视频”按钮,用户可以选择语音方式听取穴位详细信息,或进一步观看视频资源。
用户点击“语音”按钮时,系统调用第三方文本转语音接口将穴位详细信息转化为语音进行播报。这一功能由Unity的AudioSource组件完成,不仅保证了语音的流畅播放,还使用户在学习时无须分心阅读大量文字内容,提供了便捷性和沉浸感。
用户点击“视频”按钮时,系统将通过HTTP接口调取该穴位相关的教学视频,如穴位定位视频、穴位功效视频等,并通过VideoPlayer组件控制视频的播放与暂停功能。
图片与视频信息通过Web服务器管理,其访问路径以及经络穴位的文本介绍等信息存储在数据库中,并封装成HTTP接口供Unity的相关控件调用。文本图片信息、语音播报结合视频播放,进一步帮助用户深入理解该穴位在实际应用中的操作方法与效果。
多媒体资源的呈现为用户提供了丰富的学习资源,使中医经络学习更加直观、便捷且生动。用户能够在视觉、听觉和互动的多重体验中获得多感官交互,更加高效地掌握经络和穴位的实际应用知识。交互效果如图4所示。
3.3 问答式交互
本研究采用知识图谱与BERT模型相结合的技术实现智能问答,以提高人体经络模型交互的智能性。首先构建经络穴位、疾病推拿、中草药贴敷等相关数据的知识图谱及问题意图识别的BERT模型,然后基于知识图谱与意图识别模型实现智能问答。
3.3.1 知识图谱构建
采用图数据库存储知识图谱能有效处理复杂的关系问题。Neo4j数据库是应用最广泛的医学知识图谱存储图数据库[7]。三元组是知识图谱的基本构筑单元,其基本形式为“实体-关系-实体”或“实体-属性- 属性值”。实体是知识图谱中的基本元素,关系用来描述两个实体之间的联系,而属性则用来刻画实体内部的特征[7]。知识图谱的构建步骤如下。
1) 整理数据:通过爬虫与人工整理相结合的方式整理数据,数据包括经络穴位信息、疾病的穴位推拿信息以及中草药敷贴信息,数据来源于权威网站以及教材、书籍文献等。