×

用HASA保护您的家

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

陈伟

分享资料个

描述

学习曲线和挑战!

我最初参加自适应计算挑战赛时的想法是在您的房屋周围创建情境意识:家庭辅助情境意识 (HASA)。使用对象检测模型、流式摄像头和 Kria KV260 Vision AI 套件,其目的是识别房子周围感兴趣的事件(汽车/货车/卡车出现在您的车道上,一个人正在走向您的房子或正在在您的车道上,校车到达等),然后在该事件发生时通过短信通知您。我已经用 Jetson Nano(用 Python 编写)做过类似的事情,所以我认为用 Kria KV260 进行模拟并不难。是不是让我大吃一惊!

作为自适应计算挑战赛的一部分,我是获得 Kria KV260 Vision AI Starter Kit 的幸运者之一。它由威廉希尔官方网站 板和附件包组成,其中包括 USB 电缆、HDMI 电缆、以太网电缆、MicroSD 卡、相机模块和电源适配器。

poYBAGNYlR6AVizeAAChNlJF9nA456.png
Kria KV260 Vision AI 入门套件,带附件包
 

我遇到的第一个挑战是使用哪种操作系统?比赛开始后不久,Xilinx 宣布Ubuntu现在是 Kria KV260 的一个选项。鉴于我以前从未使用过 Petalinux,我认为 GUI 是安全的选择。这样做的缺点是操作系统太新了,大多数赛灵思文档都提到了 Petalinux 操作系统,而且许多示例仅与 Petalinux 兼容(即 Smartcamera)。我想我可以使用自己的模型并开发自己的可执行文件。

第二个挑战是硬件没有配备 Wifi!无论好坏,我的房子都是用无线的,而且我要工作的区域并不靠近路由器或接入点,所以我必须想办法实现无线!我从另一个硬件中借了一个 Realtek USB Wifi 适配器,并寻找可以与 Kria 一起使用的驱动程序。经过几个小时的网络搜索和一些死胡同,我终于有了一个可以工作的 USB Wifi 适配器!是的!

pYYBAGNYlSCAH7L-AAAZBRD5y4A162.png
Kria 上的 Wifi,耶!
 

一旦我加载了操作系统并启动了 Wifi,我的下一步就是测试 NLP Smartvision 示例。该示例相当集中在其自己的目录中,因此使用起来相当简单。这是有道理的,因为交通模型的意图是驾驶汽车的视角。

 

 

 

 

 

 

 

我尝试了 RGB 颜色输入和黑白(用于阳光漂白的条件),模型在两者中都表现良好。当检测到感兴趣的对象时,会发送一条短信提醒房主:

poYBAGNYlSOAGebfAABDtcMhVnQ134.png
检测到事件时发送文本消息。
 

结论

这个项目对我来说是一个挑战,花了很多时间。我对 FPGA 没有太多经验,这是我第一次涉足 AMD-Xilinx 硬件。我花了很多时间和研究来学习 Vitis AI 库的结构和功能。浏览Vitis AI 模型动物园并测试与这些模型兼容的示例 真的很巧妙。

未来的能力将是根据我的确切需求增加或定制模型。我尝试使用自己的模型,但未能成功使其与 Kria 一起使用。我很高兴我能够从 SSD 流量模型转移到 SSD Mobilenet V2 模型并获得更好的结果。我希望你喜欢这个,并随时与任何问题联系。谢谢!

 

 


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

评论(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:'用HASA保护您的家',//标题 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);