如何基于人体人脸跟踪实时监测心率? |
您所在的位置:网站首页 › 用手机检测心率 › 如何基于人体人脸跟踪实时监测心率? |
华为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 Studio2. 注册成为开发者 注册成为华为开发者。创建一个应用:参考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 |