基于EdgeAI的实时LiDAR房间检测
基于2D dToF LiDAR与Arduino UNO Q的房间分类
该项目展示了如何利用激光雷达实现边缘人工智能环境分类,而无需传统SLAM(同步定位与建图)或计算机视觉的计算开销。
通过使用二维直接飞行时间(dToF)LiDAR,我们从周围环境中提取出“距离指纹”。这些360度的距离剖面被处理为时序特征向量,随后用于在Edge Impulse Studio中训练神经网络。最终生成的模型被部署回Arduino UNO Q,以实现实时、低延迟的推理。
硬件规格
•Arduino UNO Q
•DFRobot DTOF STL-19P 激光雷达开发套件
•USB集线器
克隆此应用程序,使用您自己的设备进行测试。
实施细节
LDRobot D500 LiDAR传感器采用dToF技术,可实现连续360°扫描,测距范围可达12米。
Arduino UNO Q 运行着一个基于 Python 的应用程序,用于采集来自 LiDAR 的数据,并且还可以使用 Edge Impulse 推理引擎进行推理。
Edge Impulse Studio 作为数据摄取、数据分割、特征提取、神经网络分类训练、量化和模型部署的协调层。
为了将这些数据用于分类推理任务,首先需要采集一段指定时长的扫描数据,例如10秒,并通过Ingestion API将其发送到Edge Impulse Studio。
然后将数据分割成每秒一个窗口。每个窗口代表一个由360个维度组成的独特特征向量,其中每个维度的值表示对应角度的距离。
机器学习流水线(Edge Impulse)
该模型架构经过优化,以最小的计算资源需求确保与边缘硬件兼容。在此案例中,我们使用Arduino UNO Q板。我们生成一个脉冲信号,并利用原始数据处理模块和分类模块,将这些360维的输入向量映射到特定的空间标签,例如走廊或房间等。
部署与边缘推理
训练完成后,模型将被导出为 `.eim`(Edge Impulse 模型)文件。该文件会被部署到 Arduino UNO Q 的文件系统中,并授予必要的执行权限(chmod +X)。
在运行过程中,Python推理引擎将模型加载到内存中,当新的LiDAR扫描数据到来时,`ImpulseRunner`会快速对当前特征向量进行前向传播。
结果与分析
初步测试表明,在受控环境中,该方法具有较高的分类准确率和极低的延迟。这种方法的主要优势在于,能够仅通过几何特征来区分空间,而无需依赖视觉系统或其他类似技术。
本文编译自hackster.io





