×

机器学习模型:用于使用边缘脉冲软件预测大象的行为

消耗积分:0 | 格式:zip | 大小:0.04 MB | 2023-06-29

分享资料个

描述

1800 年,仅在非洲就可能有 2600 万头大象,尽管很难精确。

 

大象被毁的原因

  • 去年大约有 20,000 头非洲象因长牙而死亡,比出生的还多
  • 由于人口繁盛,大象因占用土地而被杀。一群大象可以摧毁许多小农的一年生作物。人的生命也处于危险之中。在印度,恐慌或愤怒的大象每年会杀死 400 多人(pdf)。
  • 亚洲象的象牙、肉和身体部位也被偷猎,而小象则被从野外捕获并出售给旅游业。在世界范围内,亚洲象被训练、交易并用于旅游公园和马戏团的娱乐活动,也用于非法采伐活动。

关键解决方案:

我开发了一个机器学习模型,用于使用边缘脉冲软件预测大象的行为这些模型将预测大象附近的偷猎者活动、大象进入村庄时的人类冲突、大象防止人类接触大象的必须行为以及玩耍、睡觉、性和母子等正常活动跟踪。在我训练有素的模型中,我涵盖了以下这些条件。

硬件部分将是大象的项圈,将由智能公园部署。在这个项目中,我只专注于机器学习模型。我添加了测试数据,可用于评估我的模型。

pYYBAGN6XlKAVByjAAB6BwaUj9o175.png
Hackster 的 ElephantEdge 竞赛
 

数据采集

我基于两个不同的数据输入在边缘脉冲中创建了两个不同的 TinyML 模型。我使用音频输入、三轴加速度计来训练模型并进行部署。

poYBAGN6XliAGrNdAAAxDK4B6QQ272.png
 

项圈有以下配置:

pYYBAGN6Xl2AanUNAADthc_Fqh8002.png
来自大象边缘比赛
 

所以我决定用这两个数据输入(音频,3 轴)来训练我的模型。所以它可以部署在衣领中以备将来使用。

模型架构

根据数据输入,我将机器学习模型分为三类。

  • 模型 1 -> 数据集将是音频输入
  • 模型 2 -> 数据集将是三倍加速度计轴
模型1
poYBAGN6XmCAJwb6AAA4uKhrriU659.png
模型 1 用例
 

模型 1 将涵盖模型中提到的所有用例。大象在各种各样的情况下发声。他们呼吁宣传生理或荷尔蒙状态,警告他人和威胁,表现出强烈的情绪,宣布需求或愿望,提出、谈判或讨论行动计划,协调群体运动,确保群体防御,关心对小牛来说,寻求关心或支持,加强家人和朋友之间的联系,调和分歧,并保持统治地位。

模型 1 能够在大多数情况下以最小的误差和更高的准确度预测大象的行为。在我的机器学习模型中,模型 1 和模型 2 将主要用于预测大象的行为。
模型2
pYYBAGN6XmKAfusqAAA6tqEu_y4114.png
模型 2 用例
 

模型 2 还将涵盖模型 1 中提到的相同用例。大象的行为会根据防御、警告部队、攻击、玩耍等情况而有所不同。因此,根据加速度计数据,我们可以预测行为。

模型 1 - 数据集将是音频

在 Edge Impulse 中创建项目

步骤1:

要在边缘脉冲中创建新帐户,您需要提供新帐户的电子邮件 ID 和密码。它非常直接和简单,因为它不会询问出生日期、姓名、地址等。

创建边缘脉冲后,将定向到创建项目页面。

pYYBAGN6XmWAb5bhAABYIGyZ6Bg895.png
创建新项目
 

对于模型 1,我为项目输入了一个唯一名称。

poYBAGN6XmiABIJ-AAA_5tDtpSE373.png
型号1
 

第2步:

创建帐户后,您可以在页面顶部看到您的项目名称,在左侧您会注意到要遵循的步骤。截至目前,它没有突出显示,说明步骤尚未完成。

pYYBAGN6XmuASqLqAAEelvyS_bg694.png
项目视图
 

连接设备并获取数据

转到设备选项,然后单击连接新设备

poYBAGN6Xm6AOYUKAABLTuiJyE0721.png
连接新设备
 

您有四个选项来获取数据。

  • 开发板
  • 使用您的手机
  • 移植指南
  • 导入预构建数据集
pYYBAGN6XnmAc2onAABK3rt1QaY272.png
 

在这里,我更喜欢手机来收集数据。

pYYBAGN6XnyAVf-EAAB0d5afNKQ946.png
二维码连接手机
 

它将显示一个唯一的二维码来连接您的手机,扫描此二维码以获取链接并在您的手机中打开像谷歌浏览器一样的网络浏览器,自动连接以获取数据。

现在手机已连接到您的项目。

poYBAGN6Xn-AIwLXAAA7KOwxVrM015.png
 

第 3 步:数据采集

确保设备连接为电话并为音频数据选择麦克风。您可以将样本长度从 1 秒到 60 秒不等,并给出唯一的名称标签。

pYYBAGN6XoKABFofAACej_N5d7c804.png
数据采集
 

第 4 步:标签 - 模型 1

标签在机器学习中对数据样本进行分类起着重要作用,它有助于根据可用标签的数量训练模型。

在我们的模型 1 -> 数据集将是音频输入项目,标签将分类如下图。这是基于野生动物地区的用例和环境噪声。

poYBAGN6XoSADHhKAABhSK34leY978.png
模型 1 的标签概述
 

在每个数据集标签中,都会添加背景噪音。因此,我们需要捕获音频数据以及背景噪声以获得更好的准确性。由于在实时数据中,噪声肯定是可用的,因此在训练自身时,我们需要将这些数据与所有现有标签一起添加。

4.1偷猎者攻击

偷猎者通常使用卡拉什尼科夫冲锋枪或毒箭,”世界自然基金会西非协调员 Pauwel De Wachter 在新闻周刊发表的一份声明中说。“这些武器会伤害动物,但不要立即杀死它们。大象一落地,偷猎者就会割断他的肌腱以固定它,让它们痛苦地死去。为了让大象更快地排出血液,他们割断了它的鼻子。”

所以从以上信息可以看出,偷猎者使用卡拉什尼科夫冲锋枪和毒箭作为猎杀大象的武器。

pYYBAGN6XoeAQGEgAAA5K_wkx1o463.png
偷猎者攻击武器
 

为卡拉什尼科夫冲锋枪收集一分钟样本

poYBAGN6XomAE2MnAACPCQdCo2g222.png
 

雨林声音可以上传为 wav 格式,如下所示。

poYBAGN6XoyAPdAWAABkW5iyHVw131.png
 

将卡拉什尼科夫冲锋枪与森林背景噪音混合

pYYBAGN6Xo-ANZ8TAABoXB5xhKc146.png
上传带有噪音的偷猎者攻击
 

模型 2:数据集将是三轴加速度计

步骤 1 和步骤 2 将与模型 1 方法相同。所以step1&2请参考Model1中提到的步骤。

第 3 步:数据采集

请确保设备连接为电话并选择加速度计以获取 3 轴数据。给出唯一的名称标签。

第 4 步:标记 - 模型 2

标签在机器学习中对数据样本进行分类起着重要作用,它有助于根据可用标签的数量训练模型。

在我们的模型 2 -> 数据集将是三轴加速度计项目,标签将分类如下图。这是基于野生动物地区的用例和环境噪声。

模型 2 的标签

  • 慢走
  • 跑步
  • 好斗的
  • 坐姿
  • 闲置的
poYBAGN6XpGAN--dAAA3jGe_3sI596.png
模型 2 数据标注
 

4.1 捕获三轴加速度计数据

捕捉大象的动作是该项目中最艰巨的任务。开源中提供了非常罕见的 3 轴数据。因此,模拟各种大象动作的肚轴数据是非常不可能的。

然后我决定用四足动物模拟类似的数据。对于我的项目,我选择了我的哈巴狗。我为我的狗制作了定制的腰带来固定手机。
pYYBAGN6XpmAOetUAAGDMPUV5pY015.png
移动支架狗带
 
poYBAGN6Xp2AdcxOAAC2m-iBmAg536.png
捕获狗运动的加速度计数据
 

已经把手机放在狗身上,做了如下的标签动作,捕捉到了超过 4 分钟的数据。

 

4.2 创建脉冲部分

在创建脉冲部分,窗口大小为 3000 毫秒,增加窗口大小为 500 毫秒。对于学习块,选择神经网络 (keras) 和 k-means 异常检测。

poYBAGN6XqOAZO9jAAC9yLu5We0167.png
创造冲动 - 模型 2
 

NN分类器中的最小置信度选择为65%。

poYBAGN6XqWAcJ_AAAAz2Zu9YV8706.png
 

5. 测试模型

实时分类中,连接手机并测试数据。

pYYBAGN6XqeAUCwMAACSlOXOegM415.png
 

这里是一些测试数据的快照。

poYBAGN6Xq2AU6OjAABM4X4aSSs340.png
坐姿直播分类
 
pYYBAGN6Xq-AX-MIAABMeqBjgaE690.png
跑步直播分类
 

准确性

准确度定义了训练模型的质量。在这里,我在输入数据为音频的模型 1 中实现了 87.2%。在模型 2(加速度计数据)中,我达到了 77%。

模型 1 精度
poYBAGN6XrKAZDZ2AABql-d_E-w832.png
模型 1 精度 - 音频输入
 

 

模型 2 精度
poYBAGN6XrWAL5FtAAB4iWRTxHw957.png
 

在模型 2 中,准确性损失是由于通过真狗捕获数据造成的。将来我计划收集更多数据来训练模型。

部署

部署是项目的最终过程。训练后的模型可以根据需要以不同的格式部署。部署选项列表如下:

poYBAGN6XsyAQt03AADFDdRGAzM869.png
部署模型 2
 

Model1 的过程将相同。我已将该模型部署为 C++ 库。

这两个模型以 C++、Arduino 格式部署,并添加了 GitHub 存储库链接。

基于两种模型的活动分类

根据这两个模型的结果,活动可以分为三类。

pYYBAGN6Xs6AREvIAABBy5uNWns328.png
基于两个边缘脉冲模型的活动分类
 

红色警报

红色警报表示需要从护林员一侧立即进行检查。只要有偷猎活动,就可以通过大象的运动来识别。大象大多处于防御模式或攻击性。在大象的动作【奔跑、进取】中可以清楚地表现出来。

除此之外,如果通过模型1(音频输入)识别偷猎者攻击。因此,如果检测到•卡拉什尼科夫冲锋枪的声音或灌木箭头攻击的声音,那么大象就有被偷猎的风险。需要为行动部署护林员。

poYBAGN6XtGAIxaVAABcCHZHMqg196.png
红色警戒分类
 

警告:

最近几天,偷猎者使用毒箭攻击大象,当他们用毒箭攻击大象时,大象不会立即死亡。取而代之的是,偷猎者将跟随受伤的大象。几个小时后,大象就会被搁浅。

上述情况可以作为警告通知给仪表板。监测灌木箭头的撞击声或大象的动作长时间闲置,则可以作为对护林员的警告。

pYYBAGN6XtaAG-jTAABNcczs_Bk251.png
警告分类
 

正常活动:

每当模型 1 中没有检测到偷猎者活动(音频输入)并且大象活动正常,如空闲、行走、坐姿和很少的跑步动作(嬉戏的情绪)。它可以标记为正常活动。

poYBAGN6XtiAcBxoAABKaqjCUdg418.png
正常活动
 
通过这两个边缘脉冲模型,可以监测大象的活动并帮助保护濒危物种免受风险。
 

 

 


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !