×

使用机器学习的森林动物计数器

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

李莉

分享资料个

描述

在我们的动物检测项目中,我们旨在解决猎人在管理和保护野生动物种群方面面临的挑战,尤其是在不断扩张的城市附近的森林中。森林砍伐、栖息地破碎化和退化导致森林野生动物栖息地丧失,导致种群数量下降,在某些情况下甚至灭绝。

我们正在解决的一个具体问题是当动物难以获得食物时的补充喂养。目前,谷物或种子喂食器设置为每天分发一定数量的食物,以及干草架中存在的干草数量。然而,猎人无法知道是一群大鹿或麋鹿会吃掉它,还是只会吃掉一只狍子。缺乏信息通常会导致提供的食物量不足或过多,从而影响野生动物的健康和栖息地的可持续性。

使用边缘脉冲的机器学习

在我们的动物检测项目中,通过 Edge Impulse 的无缝集成,我们很高兴能够利用尖端技术促进有效的野生动物管理并为保护我们的自然生态系统做出贡献。Edge Impulse 是一个提供工具和资源的平台,用于在嵌入式设备上开发和部署机器学习模型。

在我们的案例中,我们正在使用摄像头识别模型,该模型可以检测由 Arduino Nano BLE 33 Sense 及其摄像头捕获的喂食器附近的动物。Arduino Nano BLE 33 Sense 是一款功能强大的微控制器板,具有内置传感器和无线连接功能,适用于摄像头识别、执行设备上处理和发送结果。

首先,我们收集了一组不同的图像,其中包含我们希望模型检测到的不同动物。这些图像用作训练数据集。通过在 Arduino Nano BLE 33 Sense 上部署我们经过训练的模型,它现在可以实时处理设备摄像头捕获的图像。该模型分析动物并提供有关动物存在与否的预测。

 

poYBAGSBKjqAc2J3AABqSZifYeg951.png
机器学习训练结果
 

 

模型训练

我们使用 MobileNetV1 架构训练我们的模型,图像大小为 96x96,比例因子为 0.25。该模型经过训练,可将图像分为六种不同的动物类别:熊、野猪、鹿、狐狸、狍子和没有动物的图像的空类。我们的培训过程的结果令人印象深刻。该模型的总准确率为 90.5%,这意味着它正确分类了 90.5% 的测试图像。此外,衡量模型预测误差的损失仅为 25%,表明其稳健性。一个值得注意的方面是我们模型的有效资源利用。推理期间的峰值 RAM 使用量仅为 124KB,展示了其轻量级的特性。此外,衡量模型存储要求的闪存使用量仅为 308KB。

LoRa 连接

我们的解决方案是利用 LoRa(远程)连接来实现与中央网关的远距离高效低功耗通信。

LoRa 是一种无线通信技术,可实现远距离、低功率的数据传输。它在亚千兆赫兹频段运行,允许扩大覆盖范围,同时消耗最少的能量。该技术在传统蜂窝网络因功率限制或长距离不可用或不实用的情况下特别有利。

借助 LoRa,我们的检测解决方案可以将已经处理过的数据(例如白天出现的动物数量)远距离传输到中央猎人办公室。然后可以进一步分析这些数据,以确定动物数量或通​​知猎人有关动物移动的信息,从而实现有效的监测和保护工作。

在线数据平台

xxxx

 

 

 

poYBAGSBKkKANmE7AAA0Wwhv0D022.jpeg
在森林中可能的实际应用
 

 

凭借这些令人信服的结果和高效的资源利用,我们训练有素的模型有望提供可靠和准确的动物检测能力,为有效的野生动物监测和保护工作做出贡献。


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

评论(0)
发评论

下载排行榜

全部0条评论

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

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'使用机器学习的森林动物计数器',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);