当前位置: 首页 > news >正文

使用机器学习边缘设备的快速目标检测

论文标题:Fast Object Detection with a Machine Learning Edge Device

中文标题:使用机器学习边缘设备的快速目标检测

作者信息:

  • Richard C. Rodriguez, MSDA Information Systems and Cyber Security Department, The University of Texas at San Antonio, San Antonio, Texas, USA
  • Jonah Elijah P. Bardos, MS Electrical and Computer Engineering Department, The University of Texas at San Antonio, San Antonio, Texas, USA

论文出处:arXiv:2410.04173v1 [cs.RO] 5 Oct 2024

摘要: 这项机器学习研究探讨了一种低成本的边缘设备,该设备与具有计算机视觉功能的嵌入式系统集成,以提高目标检测和分类的推理时间和精度。研究的主要目标是减少推理时间并降低功耗,以支持一个竞技型类人机器人的嵌入式设备,并实现实时目标识别、场景理解、视觉导航、运动规划和机器人的自主导航。本研究比较了中央处理单元(CPU)、图形处理单元(GPU)和张量处理单元(TPU)在推理时间性能上的差异。TPU在推理时间上比GPU减少了25%,与CPU相比则大幅减少了87.5%。本文的许多信息都有助于最终选择谷歌的Coral品牌Edge TPU设备。虽然也考虑了Arduino Nano 33 BLE Sense Tiny ML Kit进行比较,但由于初始的不兼容性和完成研究的时间限制,决定在未来的实验中审查该套件。

引言: 机器学习是人工智能(AI)的一个子集,它使计算机能够从图像中提取特征并学会识别模式。这对于图像质量、照明和其他因素的广泛变化非常重要。AI擅长基于图像定义概率,这使其成为目标检测和识别等任务的理想选择。除了目标检测和识别,计算机视觉还使类人机器人能够导航和与环境互动。AI为机器人提供了感知周围环境和理解对象之间空间关系的能力。这使它们能够检测和跟踪目标,估计深度,并重建3D场景。

CPU、GPU和TPU的比较: CPU是通用处理器,可以用于许多不同的应用,但它们在机器学习任务上的速度不如GPU或TPU快。在这项处理器比较中使用的CPU是第13代Intel Core i9-13900H 2.60 GHz。GPU是专为矩阵乘法设计的专用处理器,这是神经网络中的常见操作。GPU在机器学习任务上的速度比CPU快,但仍然不如TPU快。在这项处理器比较中使用的GPU是NVidia品牌的GEFORCE RTX 4070。TPU是专为神经网络工作负载设计的专用处理器,如用于计算机视觉推理的卷积神经网络(CNN)。TPU是机器学习任务中速度最快的处理器类型。在这项处理器比较中使用的TPU是谷歌Coral品牌的Edge TPU。

假设: 假设1:将张量处理单元(TPU)与嵌入式设备或微处理器(无论是否带有图形处理单元GPU)集成,将显著提高推理时间和目标检测,为嵌入式设备提供低成本和低功耗的选项。 假设2:使用机器学习并配备单目相机的嵌入式设备在目标检测性能上显著提高,成本更低,与立体视觉相机相比。

方法论: A. 卷积神经网络 图2描述了用于图像识别的卷积神经网络(CNN)架构的概述。来自具有三通道RGB输入的彩色相机的图像,在卷积神经网络的卷积主干部分,通过卷积+激活函数(例如,修正线性单元ReLU)和最大池化操作反复执行,直到它们到达分类器,这是架构的头部,是一个完全连接的多层人工神经网络。 B. 训练和部署 使用卷积神经网络进行目标检测是一种强大且多功能的技术,用于识别和定位图像中的对象。使用CNN进行目标检测的一般过程可能包括以下步骤:图像预处理、特征提取、目标分类和边界框回归、后处理。

硬件: A. 实验套件选项 考虑了两种设备进行实验,Arduino Nano 33 BLE Sense ML Kit和谷歌Coral Edge TPU设备。由于软件版本的问题和无头连接的困难,选择了TPU设备作为本研究的主要设备。 B. 谷歌Coral Edge TPU 图3展示了谷歌Coral TPU。谷歌Coral Edge TPU在CPU和GPU之上提供了最佳的推理时间性能。以下是本研究使用的关键硬件组件。

软件: 以下是支持本研究中使用的硬件的软件产品列表。

数据源: 作为该项目数据源的计算机视觉数据集来自RoboFlow.com,包含4000张图像。

结果: A. 类型1和类型2错误的含义 类型1错误是假阳性,类型2错误是假阴性。这对于利益相关者来说很重要,他们需要了解使用基于ML的决策和设计的错误类型,以避免最严重的后果。 B. 精确度和召回率 精确度是检测结果为真阳性的比率。换句话说,它是实际正确的阳性识别的比例。例如,如果精确度为0.8,则80%的时间你识别某物为阳性,它实际上是阳性的。召回率是检测结果正确的比率。换句话说,它是实际阳性被正确识别的比例。例如,如果召回率为0.9,则90%的时间有某物为阳性,你将正确识别它。 C. 训练和验证 程序被设置为运行50个周期,直到训练过程达到可接受的准确度水平。训练和测试数据的80/20分割确保神经网络不会意外地在稍后用于评估的数据上进行训练。我们利用迁移学习或使用预训练的网络并重新利用它。TensorFlow被用来帮助提高准确度并最小化框损失、分类损失(CLS)和双重焦点损失(DFL)。 D. 推理时间处理器性能 表II显示了每个处理器的推理时间性能结果。

结论和未来工作: 我们的研究得出结论,拥有强大的CPU对于目标检测并没有显著优势。将机器学习推理边缘设备(Edge TPU)与嵌入式设备集成,证明了在低功耗和最低成本下运行的可行选项。此外,使用单目视觉相机与立体视觉相比没有显著差异。未来的工作将是将Coral Edge TPU设备与竞技型类人机器人的主板处理器集成,以检测足球。

GitHub代码链接: Richard Rodriguez和Jonah Elijah Bardos的该项目和编程代码的GitHub仓库链接如下。 https://github.com/ThinkFastAI/AI Practicum

相关文章:

使用机器学习边缘设备的快速目标检测

论文标题:Fast Object Detection with a Machine Learning Edge Device 中文标题:使用机器学习边缘设备的快速目标检测 作者信息: Richard C. Rodriguez, MSDA Information Systems and Cyber Security Department, The University of Tex…...

Anthropic的CEO达里奥·阿莫迪(Dario Amodei)文章传达他对AI未来的乐观展望

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

Human-M3 多模态姿态估计数据集-初步解读

文章概述(个人总结):该论文重点提出一个用于人体姿态估计的RGB+点云数据集,针对该多模态数据集,作者阐述了数据集的收集、数据标注以及该数据集的特点。并提出了一个简单的多模态3D人体姿态估计算法,对比其他模型,该方法性能较好。最后总结了该数据集和该方法的限制。 …...

python爬虫 - 进阶正则表达式

🌈个人主页:https://blog.csdn.net/2401_86688088?typeblog 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、匹配中文 (一)匹配单个中文字符 (二…...

静态路由和nqa 联动实验

nqa 配置 1 test 断端口 很明显是切换到备机上了...

golang用any类型去接收前端传的数字类型的值,类型断言为float64

在 Go 中,使用 any 类型接收前端传来的数字时,通常会发现其被类型断言为 float64。这是因为在 JSON 解码的过程中,Go 的 encoding/json 包会将数字解析为 float64。但如果你在结构体中指明字段为 int 类型,框架会根据字段类型进行…...

5、Spring Boot 3.x 集成 RabbitMQ

一、前言 本篇主要是围绕着 Spring Boot 3.x 与 RabbitMQ 的集成,这边文章比较简单,RabbitMQ 的集成没有太大的变化,这篇文章主要是为了后续的 RabbitMQ 的动态配置做铺垫。 1、Docker 安装 RabbitMQ 2、Spring Boot 3.x 集成 RabbitMQ二、D…...

ENSP搭建基础网络拓扑图

一、ENSP的基本操作 1、配置网关 进入系统视图与退出 <Huawei>system-view [Huawei]quit 进入G0/0/0接口后配置ip [R1]interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24查询所有接口的ip配置 [R1]display ip interface brief…...

尚硅谷rabbitmq 2024 消息可靠性答疑二 第22节

returnedMessage()只有失败才调用&#xff0c;confirm()成功失败了都会调用&#xff0c;为什么&#xff1f; 在RabbitMQ中&#xff0c;消息的确认和返回机制是为了确保消息的可靠传递和处理。confirm和returnedMessage方法的调用时机和目的不同&#xff0c;因此它们的行为也有…...

在 Ubuntu 上安装 Whisper 支撑环境(ffmpeg、PyTorch)的教程(2024亲测可用)

在 Ubuntu 上安装 Whisper 的教程 以下是如何在 Ubuntu 系统上安装 Whisper 以进行视频转录的详细步骤。 步骤 1&#xff1a;更新系统 首先更新你的 Ubuntu 系统&#xff0c;确保安装最新的软件包&#xff1a; sudo apt update && sudo apt upgrade -y步骤 2&#…...

vue+echarts实现雷达图及刻度标注

文章目录 前言代码实现实现效果总结 前言 最近项目有做数据可视化 大屏 不免再次使用些echarts应用 记录下其中echarts雷达图的实现 代码实现 先上代码 <template><div class"container"><div ref"chart" style"width: 500px; heig…...

【进阶OpenCV】 (9)--摄像头操作--->答题卡识别改分项目

文章目录 项目&#xff1a;答题卡识别改分1. 图片预处理2. 描绘轮廓3. 轮廓近似4. 透视变换5. 阈值处理6. 找每一个圆圈轮廓7. 将每一个圆圈轮廓排序8. 找寻所填答案&#xff0c;比对正确答案8.1 思路8.2 图解8.3 代码体现 9. 计算正确率 总结 项目&#xff1a;答题卡识别改分 …...

实时从TDengine数据库采集数据到Kafka Topic

实时从TDengine数据库采集数据到Kafka Topic 一、认识TDengine二、TDengine Kafka Connector三、什么是 Kafka Connect&#xff1f;四、前置条件五、安装 TDengine Connector 插件六、启动 Kafka七、验证 kafka Connect 是否启动成功八、TDengine Source Connector 的使用九、添…...

Linux -- 初识动静态库

目录 为什么要有库&#xff1f; 静态库 什么是静态库&#xff1f; 特点 优点 缺点 动态库 什么是动态库&#xff1f; 优点 缺点 编译器会选择哪个库&#xff1f; 为什么要有库&#xff1f; 库的存在是为了提高软件开发的效率、促进代码复用以及简化维护工作。通过使用…...

vite 打包前请求接口和打包后的不一致

在使用 Vite 进行项目打包时&#xff0c;如果发现打包前请求接口和打包后的行为不一致&#xff0c;这可能是由于多种原因导致的。以下是一些可能的原因和相应的解决方案&#xff1a; 1. 代理配置问题 开发环境&#xff1a;在开发环境中&#xff0c;Vite 通常使用 vite.config…...

fairseq 安装包python

背景&#xff1a; Collecting fairseq Using cached https://pypi.tuna.tsinghua.edu.cn/packages/d7/0f/b7043b451a97eb9b4cfb1b1e23e567b947d9d7bca542403228bd53b435fe/fairseq-0.12.1.tar.gz (9.6 MB) Installing build dependencies ... done Getting requirements…...

使用Mockaroo生成测试数据

使用Mockaroo生成测试数据 最近在学习【Spring Boot & React】Spring Boot和React教程视频的P51.Generating 1000 students一课中&#xff0c;看到了https://www.mockaroo.com/网站可以用来模拟生成测试数据&#xff0c;觉得还不错&#xff0c;特此记录一下。感觉每次看老…...

使用频率最高的 opencv 基础绘图操作 - python 实现

以下是 opencv-python 基本操作绘制示例&#xff0c;绘制&#xff1a; 1&#xff09;圆&#xff0c;2&#xff09;矩形&#xff0c;3&#xff09;线段&#xff0c;4&#xff09;文本。 安装 opencv-python pip install opencv-python 在图上绘制圆的操作&#xff0c;示例如…...

Python 在Excel中添加数据条

在Excel中添加数据条是一种数据可视化技巧&#xff0c;它通过条形图的形式在单元格内直观展示数值的大小&#xff0c;尤其适合比较同一列或行中各个单元格的数值。这种表示方式可以让大量的数字信息一目了然。本文将介绍如何使用Python在Excel中的指定单元格区域添加数据条。 …...

Unity中搜索不到XR Interaction Toolkit包解决方法

问题&#xff1a; 针对Unity版本2020.3在中PackageManager可能搜素不到XR Interaction Toolkit包 在Package Manager中未显示XR Interaction Toolkit包 解决方法&#xff1a; Package manager左上角&#xff0c;点加号&#xff0c;选择 Add package from git URL..&#xff0c;…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...