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

论文标题: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/445634.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32学习--4-1 OLED显示屏

接线图 OLED.c #include "stm32f10x.h" #include "OLED_Font.h"/*引脚配置*/ #define OLED_W_SCL(x) GPIO_WriteBit(GPIOB, GPIO_Pin_8, (BitAction)(x)) #define OLED_W_SDA(x) GPIO_WriteBit(GPIOB, GPIO_Pin_9, (BitAction)(x))/*引脚初始化*/ void …

初识数据结构--时间复杂度 和 空间复杂度

数据结构前言 数据结构 数据结构是计算机存储、组织数据的方式(指不仅能存储数据,还能够管理数据-->增删改)。指相互之间存在一种或多种特定关系的数据元素的集合。没有单一的数据结构对所有用途都有用,所以我们要学习各种的数据结构,比…

[单master节点k8s部署]36.ingress 配置https(三)

目前我们的tomcat服务在浏览器上通过http来访问。为了提升安全性,我们将配置TLS secret 证书,从而可以进行https访问。 一对TLS密钥包括一个证书(trs.crt)和一个私钥,证书是公钥证书,用于加密数据并标识服…

音视频入门基础:H.264专题(18)——AVCDecoderConfigurationRecord简介

一、引言 H.264流行的包装方式有两种,一种是AnnexB,另一种是avcC。对于AnnexB包装的H.264码流,其SPS和PPS被当做普通的NALU来处理;而对于avcC包装的H.264码流,其SPS和PPS信息存贮在AVCDecoderConfigurationRecord中&a…

第十五章 RabbitMQ延迟消息之延迟插件

目录 一、引言 二、延迟插件安装 2.1. 下载插件 2.2. 安装插件 2.3. 确认插件是否生效 三、核心代码 四、运行效果 五、总结 一、引言 上一章我们讲到通过死信队列组合消息过期时间来实现延迟消息,但相对而言这并不是比较好的方式。它的代码实现相对来说比…

85 外网用户通过域名访问内网服务器

1. 组网需求 某公司内部对外提供Web服务,Web服务器地址为10.110.10.2/24。 该公司在内网有一台DNS服务器,IP地址为10.110.10.3/24,用于解析Web服务器的域名。 该公司拥有两个外网IP地址&#x…

MySQL(B站CodeWithMosh)——2024.10.12(15)

ZZZZZZ目的ZZZZZZ代码ZZZZZZ重点ZZZZZZ操作(非代码,需要自己手动) 4- WITH OPTION CHECK子句 | THE WITH OPTION CHECK Clause_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1UE41147KC?p66&vd_sourceeaeec77dfceb13d96cce76cc2…

您是否也在寻找免费的 PDF 编辑器工具?10个备选PDF 编辑器工具

您是否也在寻找免费的 PDF 编辑器工具? 如果是,那么您在互联网上处于最佳位置! 本指南中提到的所有 10 大免费 PDF 编辑器工具都易于使用,可以允许您添加文本、更改图像、添加图形、填写表格、添加签名等等。 因此,…

基于IDEA+SpringBoot+Vue+Uniapp的投票评选小程序系统的详细设计和实现

2. 详细视频演示 文章底部名片,联系我获取更详细的演示视频 3. 论文参考 4. 项目运行截图 代码运行效果图 代码运行效果图 代码运行效果图 代码运行效果图 代码运行效果图 5. 技术框架 5.1 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框…

【鸟类识别系统】Python+卷积神经网络算法+人工智能+深度学习+ResNet50算法+计算机课设项目

一、介绍 鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在…

【AI论文精读13】RAG论文综述2(微软亚研院 2409)P5-可解释推理查询L3

AI知识点总结:【AI知识点】 AI论文精读、项目、思考:【AI修炼之路】 P1,P2,P3,P4 五、可解释推理查询(L3) ps:P2有四种查询(L1,L2,L3,…

java生成日历数据列表并按日历格式导出到excel

日历格式输出 日历数据列表导出封装日历格式实体类效果 日历数据列表 /**** 封装日历数据* param year 年份* param month 月份*/public List<InspectionDailyStaffPlanCalendarData> selectCalendarDataList(int year,int month,List<InspectionDailyStaffPlan> …

面试(十)

目录 一. 单元测试 二. FreeRTOS和裸机哪个实时性好&#xff1f; 三. 怎么判断某个程序的运行时间 四. 函数指针 五. 全局变量被线程使用冲突 5.1 使用互斥锁 5.2 使用读写锁 5.3 使用原子操作 六. 局部变量没有初始化是什么值 七. uint_8 n 255 , n等于多少 八. …

Unity UndoRedo(撤销重做)功能

需求 撤销与重做功能 思考 关于记录的数据的两点思考&#xff1a; 记录操作记录影响显示和逻辑的所有数据 很显然这里就要考虑取舍了&#xff1a; 记录操作 这种方案只需要记录每一步的操作&#xff0c;具体这个操作要怎么渲染和实现出来完全需要自己去实现&#xff0c;这…

JAVA-数据结构-排序

1.直接插入排序 1.原理&#xff1a;和玩扑克牌一样&#xff0c;从左边第二个牌开始&#xff0c;选中这个&#xff0c;和前面的所有牌比较&#xff0c;插在合适的位置 public static void insertsort(int[] arr){//直接插入排序for (int i 1; i < arr.length; i) {//此循环…

手撕数据结构 —— 栈(C语言讲解)

目录 1.认识栈 什么是栈 栈的示意图 2.如何实现栈 3.栈的实现 Stack.h中接口总览 具体实现 结构的定义 初始化栈 销毁栈 入栈 出栈 取栈顶元素 获取有效元素的个数 判断栈是否为空 4.完整代码附录 Stack.h Stack.c 1.认识栈 什么是栈 栈是一种特殊的线性表…

学视频剪辑需要电脑吗 学视频剪辑需要什么条件

态度决定成败&#xff0c;学剪辑亦是如此。我们都在学习剪辑的道路上寻找答案&#xff0c;电脑就像指引答案的工具&#xff0c;但它本身并不是答案。所以&#xff0c;好电脑不等于好剪辑师。想要学好视频剪辑&#xff0c;你只需要一个态度端正的自己。有关学视频剪辑需要电脑吗…

Spring Cloud Stream 3.x+kafka 3.8整合

Spring Cloud Stream 3.xkafka 3.8整合&#xff0c;文末有完整项目链接 前言一、如何看官方文档(有深入了解需求的人)二、kafka的安装tar包安装docker安装 三、代码中集成创建一个测试topic&#xff1a;testproducer代码producer配置&#xff08;配置的格式&#xff0c;上篇文章…

基于SpringBoot+Vue的疫苗预约接种管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

DELL R720服务器阵列数据恢复,磁盘状态为Foreign

服务器无法正常进入系统&#xff0c;物理磁盘状态变成了Foreign 虚拟磁盘状态变成了Failed 阵列已经丢失了&#xff0c;需要手工强制导入外部配置 单击 Main Menu 屏幕上的 Configuration Management。单击 Manage Foreign Configuration 单击 Preview Foreign Configurati…