这篇论文的标题为《A TinyML model for sidewalk obstacle detection: aiding the blind and visually impaired people》,发表在《Multimedia Tools and Applications》上。以下是论文的主要内容概述:
摘要:
- 论文介绍了在资源受限的物联网(IoT)设备上实施深度学习进行实际应用的先驱研究。
- 提出了一个TinyML模型,专为辅助视觉障碍人士检测人行道障碍物而设计。
- 研究重点是将传统的计算密集型深度学习模型适应于内存和处理能力显著受限的IoT系统。
- 所提出的模型具有非常小的1.93 MB内存占用和50%的稳健平均精度(mAP),非常适合轻量级IoT设备。
- 在标准CPU上展示了96.2毫秒的卓越推理速度,这标志着在辅助技术中实时处理迈出了重要一步。
关键词:
- 视障人士(BVIP)
- 计算机视觉(CV)
- 深度学习(DL)
- 物联网(IoT)
- 目标检测
- 微型机器学习(TinyML)
1. 引言:
- 机器学习(ML)正成为改变医疗保健景观的关键工具,提高诊断精度,优化治疗路径,并以无与伦比的效率管理患者护理。
2. 相关工作:
- 论文回顾了在计算机视觉和目标识别领域,特别是在自动驾驶汽车和视频监控方面的最新进展。
3. 方法论:
- 论文描述了使用多阶段设计方法开发机器学习模型的过程,这种方法通常被称为机器学习生命周期。
论文中提出的方法是开发一个机器学习模型,使用多阶段设计方法,通常被称为机器学习生命周期。以下是该方法论的详细步骤:
3.1 数据收集和注释
数据收集和注释通常是研究中最耗时的任务之一,由于在积极收集大量数据或从外部来源(如现有的数据集)策划足够大的数据集方面的困难而具有挑战性。同时,解决和最小化数据集中的潜在偏见至关重要。为了满足我们应用的规格,我们创建了一个名为Sidewalk Obstacle Detection (SOD)的个性化图像数据集。SOD数据集收集包括从多个平台(如Pixel、Pixabay和Open Images)来源的图像,此外,我们还通过智能手机积极捕获了新图像。我们在不同的格式(txt、json、xml和csv)中提供了SOD数据集,它包括10,000张图像、30,834个对象实例和22个不同类别。我们使用Roboflow平台进行图像的注释和重新注释,为感兴趣的对象创建了真实的标签。注释过程涉及在图像中的每个对象周围绘制边界框,并将它们分配给相应的类别标签。我们确定了22种可能阻碍视障人士的不同类型障碍物。
3.2 数据预处理
我们执行预处理步骤以准备模型的数据;这通常包括调整图像到特定大小、将像素值归一化到标准化范围,并使用数据增强策略来提高模型的鲁棒性。数据增强是指通过将各种变换应用于现有数据集来从现有数据集中生成新的和多样化的训练样本的过程。这些变换的目标是人为地扩展数据集,并模拟机器学习模型在现实世界场景中可能遇到的变异性,而无需收集更多数据。我们实施了三种操作(BBox剪切、噪声和旋转),这将初始训练子集的大小增加了三倍。
3.3 目标检测方法
目标检测是一项计算机视觉任务,涉及使用深度学习架构来识别和定位数字图像或视频中一个或多个类别的对象实例。这项任务的特点是通过使用边界框或分割掩模同时识别对象是什么(分类)以及它们在图像空间中的位置(定位)。卷积神经网络(CNN)在带有标记示例的大型数据集上进行训练,以学习表明各种对象类别的特征表示和模式。一旦训练完成,这些网络就可以推断新图像中对象的存在和位置,使这项技术成为需要视觉感知的领域的基石,如自动驾驶、监控、医学成像和增强现实。
3.4 训练
我们的研究使用了包含10,000张标记图像的定制图像数据集,我们将这些图像分为训练(7000张图像)、验证(2000张图像)和测试(1000张图像)子集。我们增加了训练子集的大小到21,000张图像来训练四个目标检测模型,然后使用验证和测试集评估系统的性能。使用PyTorch框架,我们在Tesla NVIDIA V100 GPU服务器上训练模型大约100个周期。在训练过程中,我们采用了16的批处理大小、0.937的动量、0.0005的权重衰减、0.01的初始学习率,并使用了SGD优化器。我们根据模型的准确性、复杂性和推理速度来评估模型。我们测量了平均精度(AP)指标,该指标量化了识别对象的精确度和召回率。此外,我们通过检查推理所需的参数和操作数量来评估模型复杂性。最后,我们测量了每个模型的推理时间,特别是在Raspberry Pi 4平台上。
3.5 评估指标
在目标检测领域,通常使用几种性能指标来评估模型的准确性和有效性。这些基本指标包括交并比(IoU)、精确度、召回率、F1分数、平均精度(AP)和平均平均精度(mAP)。
3.6 模型优化
优化技术对于在资源受限的设备上部署机器学习模型尤为重要,如IoT节点、移动电话或边缘设备,这些设备的内存和计算能力有限。在我们的应用场景中,关键是要确保模型能够适应嵌入式设备,同时保持快速响应时间以实现实时交互。我们必须在不牺牲准确性或精度的情况下实现这种平衡。通过使用几种技术,如模型蒸馏、剪枝/稀疏性、量化以及实施无损压缩方法(尤其是霍夫曼编码),可以实现这些目标。
3.7 模型部署
由于其紧凑的外形尺寸和集成功能,微控制器(MCU)是嵌入式机器学习应用的常见选择。微控制器是一个紧凑的集成电路,它控制嵌入式系统中的特定操作或任务。典型的MCU包括处理器(CPU)、内存(SRAM、Flash)和输入/输出(I/O)外设,所有这些都集成在单个芯片上。我们可以扩展其组件,包括数字I/O、模拟I/O、定时器和通信接口。在软件方面,嵌入式框架是一套用于微控制器的开发工具,通常作为低级API、软件开发工具包(SDK)和硬件抽象层(HAL)的某种组合。例如,Arm Cortex Microcontroller Software Interface Standard (CMSIS) 是一个标准化的软件接口,它提供了一种一致的方法来访问Arm Cortex-M微控制器的基本处理器功能、外设和互连。
4. 提出的模型:
- 目标是利用深度学习(DL)和计算机视觉(CV)技术识别和区分人行道上的常见物体,以帮助视障人士安全导航。
论文中提出的模型旨在利用深度学习(DL)和计算机视觉(CV)技术来识别和区分人行道上的常见物体。该模型的主要目标是帮助视障人士在进行日常活动时安全导航,通过检测他们外出时可能遇到的任何潜在障碍物。提出的模型包括四个关键组件:图像提供者、目标检测模型、目标识别器和音频反馈模块。模型的总体设计如图6所示。
图像提供者: 在预处理阶段,图像传感器将从Raspberry Pi相机捕获数据帧。然后,将图像调整和格式化为适合神经网络处理的大小。
目标检测模型: 准备好输入数据后,使用神经网络模型进行预测(推理)。这里调用的模型包括Yolov5n、Yolov5s、Yolov8n和Yolov8s。
目标识别器: 在后处理阶段,目标识别器模块分析来自神经网络模型的数据,生成一个包含识别对象标签、它们的边界框和表示检测准确性的置信度分数的张量对象。
音频反馈模块: 系统还集成了一个音频反馈模块,为用户通过音频信号和非视觉提示提供帮助,以辅助识别和定位检测到的对象。
模型的主要贡献包括:
- 为帮助视障人士检测人行道障碍物的TinyML模型的开发和部署提供一步步的方法。
- 为人行道上的目标检测提供一个新的基准图像数据集,以协助视障和视觉受损人士。
- 对轻量级目标检测模型进行比较研究和性能分析。
- 对各种压缩技术和推理加速运行时进行性能评估。
5. 结果和讨论:
- 论文报告了初步研究结果,分析了数据集和模型的鲁棒性,并比较了不同的优化方法。
6. 结论和未来工作:
- 论文提出了一个用于检测人行道障碍物的TinyML模型,该模型使用YOLOv5和YOLOv8的轻量级版本进行训练和验证。
- 论文还讨论了如何通过使用量化和权重修剪等压缩技术,以及像OpenVINO和ONNX Runtime这样的软件加速框架来提高这些模型的效率。
- 论文指出YOLOv8s实现了最高的平均精度,而YOLOv5n是最紧凑的模型,具有1.93 MB的大小和最快的推理性能。
数据可用性声明:
- SOD-v2图像数据集可在指定的网址获取,训练脚本和部署代码也可在GitHub上获得。
利益冲突声明:
- 作者声明在本文的研究、作者身份或出版过程中没有潜在的竞争利益。
论文的主要贡献包括开发了一个TinyML模型,用于辅助视障人士检测人行道上的障碍物,并通过使用轻量级深度学习模型和优化技术,实现了在资源受限设备上的实时推理。论文还提出了未来的研究方向,包括探索语义图像和视频分割模型以及实时导航系统。