如何基于人体人脸跟踪实时监测心率?

您所在的位置:网站首页 用手机检测心率 如何基于人体人脸跟踪实时监测心率?

如何基于人体人脸跟踪实时监测心率?

2024-07-16 17:15| 来源: 网络整理| 查看: 265

华为AR Engine是什么?

华为AR Engine服务是一个用于在Android上构建增强现实应用的引擎。基于芯片平台整合AR核心算法,提供了运动跟踪、环境跟踪、人体和人脸跟踪等AR基础能力,通过这些能力可以让您的应用实现虚拟世界与现实世界的融合,为您的应用提供全新的视觉体验和交互方式。AR Engine拥有可实现人体健康检测的能力,包括心率、呼吸率、面部健康状态、心率波形图信号等健康信息。

基于华为AR Engine三大类能力: 运动跟踪、环境跟踪、人体和人脸跟踪之一的人体人脸跟踪,在运动过程中可以实时监测并呈现您的身体健康。

具体的使用场景 健身房:运动健身实时查看身体状态医疗:实时查看病人身体状况护理: 实时监测老年人的各项指标 AR监测的优势 实时计算人脸健康信息,同时计算人体关键健康信息(心率等)。AR Engine的人体和人脸跟踪让您的终端设备具备了对人的理解能力。通过定位人的手部位置和对特定手势的识别,可将虚拟物体或内容特效放置在人的手上;结合深度器件,还可精确还原手部的21个骨骼点的运动跟踪,做更为精细化的交互控制和特效叠加;当识别范围扩展到人的全身时,可利用识别到的23个人体关键位置,实时的检测人体的姿态,为体感和运动健康类的应用开发提供能力支撑。 Demo应用介绍

为了让开发者更好的了解华为AR健康检测的实现,快速高效的集成,这里提供了一个简单的集成案例,让你用高效的方式,简单的代码实现demo的运行。

ENABLE_HEALTH_DEVICE启用健康检测。FaceHealthCheckStateEvent作为ServiceListener.handleEvent(EventObject eventObject)的参数,向应用传递健康检测状态信息。HealthParameter健康检测参数。包括心率,呼吸率,人脸属性:年龄·男性比重·女性比重,心率波形图信号等。 开发实战 开发准备

1. 工具准备

华为P30  Android 11开发工具 Android Studio

2. 注册成为开发者

注册成为华为开发者。创建一个应用:参考AR Engine开发准备在华为应用市场创建一个您的应用。构建Demo应用:导入源代码到Android Studio将华为应用市场上新建应用的agconnect-services.json文件下载到本地,并将其替换示例代码的app目录下(\app)。 关键步骤说明

1.  在项目级gradle里添加华为maven仓

AndroidStudio项目级build.gradle文件,增量添加如下maven地址:

buildscript { repositories { maven { url 'http://developer.huawei.com/repo/'} } dependencies { ... // 增加agcp配置。 classpath 'com.huawei.agconnect:agcp:1.4.2.300' } }allprojects { repositories { maven { url 'http://developer.huawei.com/repo/'} } }

2.  在应用级的build.gradle里面加上SDK依赖

dependencies { implementation 'com.huawei.hms:arenginesdk: 2.15.0.1' }

3.  在AndroidManifest.xml文件里面声明系统权限

需要使用的权限包括相机权限和网络权限。

相机权限:android.permission.CAMERA,AR Engine Server能力依赖相机。 网络权限:android.permission.INTERNET,网络访问权限,用于分析接口调用情况,牵引能力持续优化。

关键代码说明

1.  运行前验证 检查当前设备是否安装了AR Engine,若已经安装则正常运行,若没有安装,App应主动跳转应用市场,请求安装AR Engine。具体实现代码如下

boolean isInstallArEngineApk = AREnginesApk.isAREngineApkReady(this); if (!isInstallArEngineApk) { // ConnectAppMarketActivity.class为跳转应用市场的Activity。 startActivity(new Intent(this, com.huawei.arengine.demos.common.ConnectAppMarketActivity.class)); isRemindInstall = true; }

2.  创建ARFaceTrackingConfig场景

// 创建ARSession。 mArSession = new ARSession(this); // 根据要使用的具体场景,选用具体的Config来初始化ARSession。 ARWorldTrackingConfig config = new ARWorldTrackingConfig(mArSession);

3.  添加监听应用传递健康检测状态和进度等信息

mArSession.addServiceListener(new FaceHealthServiceListener() { @Override public void handleEvent(EventObject eventObject) { //FaceHealthCheckStateEvent 向应用传递健康检测状态信息 if (!(eventObject instanceof FaceHealthCheckStateEvent)) { return; } //获取健康检测状态。 final FaceHealthCheckState faceHealthCheckState = ((FaceHealthCheckStateEvent) eventObject).getFaceHealthCheckState(); runOnUiThread(new Runnable() { @Override public void run() { mHealthCheckStatusTextView.setText(faceHealthCheckState.toString()); } }); } //handleProcessProgressEvent 健康检测进度 @Override public void handleProcessProgressEvent(final int progress) { mHealthRenderManager.setHealthCheckProgress(progress); runOnUiThread(new Runnable() { @Override public void run() { setProgressTips(progress); } });

运行示例应用

1.  将Demo应用安装到测试机。 2.  应用开启之后进入人脸识别,识别过程中会实时将您的识别进度反馈到界面上。 3.  识别成功后将展示您的心率,呼吸率及实时刷新心率波形图信号。

>>访问华为AR-Engine官网,了解更多相关内容 >>获取华为AR-Engine开发指导文档 >>华为机器学习服务开源仓库地址:GitHub、Gitee

点击右上角头像右方的关注,第一时间了解华为移动服务最新技术~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3