地瓜机器人 · 3月14日

RDK加持的导盲眼镜:视障人士的“眼睛外挂”

我国有超1700万视障人士,如何让他们更安全、自主地出行?别担心,智能瞳行来啦!这是一款“自带外挂”的导航神器,集成了高精度视觉传感和YOLO算法,实时识别障碍物、行人、交通标志,并通过语音播报精准指路,让视障朋友走哪都心里有数。
智能瞳行不仅让视障人士自由穿梭于大街小巷,还让他们更好地感受世界的变化和精彩——昆明理工大学津桥学院:智能瞳行团队
一、 核心功能:

YOLO识别:像开了透视一样,精准捕捉周围环境信息。
语音导航:贴心播报,让障碍物无所遁形,走路更安心。
智能反馈:个性化指引,轻松适应各种场景,出行更自信!
image.png
二、特色与创新:
2.1.1 技术优势
a、YOLOv8: YOLOv8 作为最新一代目标检测算法,在实时性、准确性和模型轻量化方面均表现出色。相比前代模型,YOLOv8 在保持高检测精度的同时,显著提升了推理速度,适用于智能瞳行设备等对实时性要求较高的应用场景。此外,其优化后的模型结构使其更轻量化,更适合嵌入式设备和移动端部署。同时,YOLOv8 支持端到端训练和部署,降低了开发和应用成本,并具备较强的灵活性和可扩展性,可根据不同应用需求进行优化。
b、YOLOv8 与其他 YOLO 模型对比: 相较于 YOLOv5、YOLOv6 和 YOLOv7,YOLOv8 在相近的参数量下提供了更高的吞吐量和检测性能,在目标检测、实例分割和图像分类等任务上均表现更优。Ultralytics 在 YOLOv8 的设计中进一步优化了模型结构,使其在精度、速度和计算效率之间达到了更优的平衡,为智能瞳行设备提供了更可靠的视觉感知能力。
c、ROS2: ROS2 作为 ROS 的新一代架构,针对通信机制、同步策略、工具链及安全性等方面进行了全面优化。相较于 ROS1,ROS2 采用了去中心化的 DDS(Data Distribution Service)通信机制,提高了数据传输的实时性和可扩展性,能够更好地适应复杂的机器人系统需求。同时,ROS2 引入了更灵活的节点管理方式、改进的同步执行模型,并支持多种编程语言,提升了开发效率。此外,ROS2 进一步优化了性能,降低了系统延迟,提高了吞吐能力,并增强了安全特性,使其在高可靠性应用场景中更加适用。
综合而言,智能瞳行设备结合 YOLOv8 先进的目标检测能力与 ROS2 高效稳定的通信架构,实现了高精度、低延迟的数据处理与环境感知,为智能化应用提供了坚实的技术基础。
2.1.2轻量小巧
智能瞳行团队通过市场调研,发现目前市场上有一类科技助盲的机械犬,但是体型较为庞大,外出携带极其不方便。
智能瞳行设备,采用3D打印技术,外壳进行轻量化设计,整体重量仅为1.7KG,佩戴更为方便,小巧,便于携带。
image.pngimage.png

2.2创新点
在YOLOv8原模型上,团队技术成员还引入了神经网络算法- EfficientNetV2,通过引入渐进式学习策略、自适反正则强度调整,提升YOLOv8的检测效果。通过引入NA5技术去搜索MBConv和Fused-MBConv的最佳组合大幅提高了训练速度,减小模型大小。提高了YOLOv8的检测效率。
(1)首先是一个 1×1 卷积用于升维,其输出 channel 是输入 channel 的 n 倍。
(2)紧接着通过一个 DW 卷积。
(3)然后通过一个 SE 模块,使用注意力机制调整特征矩阵。
(4)之后再通过 1×1 卷积进行降维。注意这里只有 BN,没有 swish 激活函数(其实就是对应线性激活函数)。
(5)最后跟一个dropout层
三、硬件和软件
3.1硬件介绍
A基于YOLO模型的智能瞳行设备设计使用了 地瓜机器人RDK X3机器人开发者套件(下文统称RDK X3),搭载了旭日3智能计算芯片,具有5TOPs端侧推理算力,兼容树莓派4B、CM4接口,方便开发者快速集成。结合地瓜机器人的高性能AI工具链与机器人开发平台,助力智能瞳行设备快速落地解决方案。

B、M260C环形六麦语音模块
M260C 环形麦克风阵列由 6 个麦克风环形排列组成,远场拾音实验室环境 下可达 10m,唤醒角度的分辨率为 1°,可进行 360°全方位声源定位。
智能瞳行设备采用该语音模块,实现人机交互,通过特定的语音指令,唤醒语音助手,通过特定语音,操作智能瞳行设备完成相应操作。

C、N10P激光雷达
N10 Plus系列激光雷达采用 TOF(time of flight)方案,能够对周围360°环境进行二维扫描探测。该系列激光雷达内部使用无线供电和光通讯,测量重频为5.4KHz。采用 TOF(time of flight)测距原理,通过测量调制激光的发射、返回时间差来测量物体与传感器的相对距离。激光发射器发出调制脉冲激光,内部定时器开始从t1时刻计算时间,当激光照射到目标物体后,部分能量返回,当雷达接收到返回的激光信号时,在t2时刻停止内部定时器计时,光速C,激光雷达到达物体的距离D为:D=C*(t2-t1)/2
经过N10 Plus系列激光雷达内嵌的信号处理单元的实时解算得到探测物体的距离值,结合高精度自适应角度测量模块输出的角度信息,可以得到量程内周围 360°环境的二维平面信息。

D. Gemini-Datasheet深度相机
智能瞳行设备采用激光N10P雷达和深度相机,通过激光雷达建立二维障碍物模型,深度相机建立三维空间模型,两个技术相结合,构建一个实时的周围环境模型。

e. N100N惯导模块
N100N惯导模块是具有一个强大的 Sigma-Point 卡尔曼滤波器 (SPKF),以及一套高性能算法,高达 1000Hz 的传感器采样频率和圆锥和划船运动补偿,有较强的抗磁干扰能力。内部算法提供高精度的位置,速度和姿态估计连同在10hz和200hz之间的补偿惯性测量,可方便的接入外部视觉、雷达等速度、位置、航向辅助设备进行组合导航。
智能瞳行运用此惯导模块,判断视障人士行走路线以及行走方位是否发生偏移,以及结合北斗定位模块,实现导航。

f. G60 GPS北斗双定位模块
G60 模块是基于 ATGM336H-5N 的高性能 BDS/GNSS 定位导航模块。模块支持多种卫星导航系统,包括中国的北斗二号和北斗三号全部卫星,美国的 GPS,俄罗斯的 GLONASS,日本的 QZSS,可以同时接收以上卫星导航系统的卫星信号,支持 A-GNSS 辅助定位,并且实现联合定位、导航与授时,模块具有高灵敏度、低功耗、低成本等优势,适用于车载导航、手持定位、可穿戴设备。
智能瞳行设备应用北斗高精度定位,精准定位视障人士的位置,以及对接收到的指令进行定位导航
3.2软件介绍
基于YOLO模型的智能瞳行设备设计一个实时检测系统,YOLO系列作为非常重要且具有影响力的目标检测算法常常被使用。YOLO v8作为YOLO系列的最新版本,相比过去有了很多明显的研究进展。YOLO v8在精度方面进行了进一步的提升。它采用了更深、更复杂的网络结构,可以更好地捕捉目标的细节和特征。此外,还引入了一些新的技术和算法,例如更强大的骨干网络和更有效的多尺度特征融合方法,从而进一步提高了目标检测的精度。YOLO v8不仅在提高精度方面有了很大的进展,还依然保持了YOLO系列一贯的特点,即快速的检测速度。仍然通过单次前向传播的方式进行目标检测,避免了复杂的区域生成和候选框筛选过程。YOLO v8相比于过去YOLO系列具有更高的检测精度、更快的检测速度、更好的适应性和通用性,以及更强大的预测能力。这些优势和特点使得YOLO v8成为目标检测领域的一种重要算法,并在各种实际应用场景中发挥着重要作用。同时,使用pycharm为系统提供了软件支持,同时python3.11和python-opencv的开放码源和可拓展的特性大大提高了本系统的开发的可操作性,是该系统的开咋在软件方面具有可能性。
3.3系统实现原理
a.数据采集:通过深度相机的摄像头实时捕获前方环境的视频流数据。
b.图像预处理阶段:收集到的原始视频流数据经过灰度处理、帧读取等一系列预处理操作,输入至YOLO模型。
c.实时目标检测:YOLO模型基于训练好的权重参数,在单个图像帧中一次性预测出所有类别的物体边界框和相应的置信度得分。
d.slam建图与深度相机3D建图:通过激光雷达与深度相机结合的视觉模型实时构建3D立体图,完成路径规划和障碍物规划避障。
e.目标识别分类:模型输出的边界框和置信度得分经过后处理步骤,筛选出置信度阈值以上的障碍物、行人、交通标志等目标,并对其进行精确分类。
f.播报信息生成:根据激光雷达和深度相机计算视障人士和障碍物之间的距离,并生成播报信息。
g.反馈:将识别出的环境信息转化为易于理解的声音指令,通过语音播报模块反馈给视障人士。
h.人机交互:视障人士可以通过语音唤醒智能语音助手,让其播报周围有什么,以及导航到想要去的目的地。
i.用户响应:用户根据接收到的反馈调整自己的行走路径或动作,智能瞳行设备系统根据用户行为和环境变化动态更新检测结果和导航建议。
j.通过连贯的操作流程,基于YOLO模型的设计能够实时帮助视障人士了解周围环境情况,从而实现安全、自主的移动。

第四章 系统实现
4.1 感知层技术

M260C环形六麦语音模块:六麦克风环形阵列,10m远场拾音,360°声源定位。通过固定波束拾取特定方向的声音,用于语音交互,转换指令数据至控制层。
N10P激光雷达:基于TOF测距原理,360°环境扫描,实时输出障碍物信息至控制层。
Gemini深度相机:采用3D结构光技术,获取深度与彩色图像,结合YOLOv8模型进行目标识别,并与激光雷达数据融合,提供障碍物方位及距离信息。
N100N惯导模块:具备高精度惯性测量,结合北斗定位,判断行走路径与方位偏移,辅助导航。
G60 GPS北斗双定位模块:支持多星座联合定位,精准获取用户位置,实现高精度导航。
4.2 传输层技术

USB:主数据传输方式,连接各感知模块,将语音、雷达、视频流等数据传输至控制层。
TTL:用于激光雷达与语音模块数据传输,经串口转换为USB信号。
WiFi:设备与PC端共享局域网,便于远程调试。
北斗CDMA:实现多用户在同一频段通信,获取位置信息并传输至控制层。
DDS(数据分发服务):基于ROS2的通信协议,支持分布式数据传输,提高数据实时性与灵活性。
4.3 控制层技术
智能瞳行设备以地瓜机器人RDK X3机器人开发者套件作为整个系统架构的主控制层之一,具有5TOPs端侧推理算力,在此基础上安装了Ubuntu20.04系统,同时搭配了ROS2-humble版本,感知层负责接受各种来源的数据。而传输层通过ttl,USB传输给控制层,控制层通过内置程序、算法,计算出周围环境情况,规划处一条安全、可靠的路径,分析出播报内容,例如正前方道路平坦,可以直行的播报内容,通过传输层,传输给另一控制层- M260C环形六麦语音播报模块播报出相应语音指令,指引视障人士安全出行,让视障人士拥有第六感。
4.4软件开发技术
ROS2-humble版本的应用, ROS1的通信机制基于TCPROS实现,这意味着所有节点(即机器人系统中的各个组件)之间的通信都需要经过一个中心节点——Ros Master。一旦Ros Master出现故障,整个系统的通信都会受到影响。相比之下,ROS2的通信机制则采用了更为先进的DDS(Data Distribution Service)技术。DDS是一种发布/订阅模型的消息传递中间件,它支持节点之间的去中心化通信,有效提高了系统的可靠性和稳定性。智能瞳行设备的感知层中语音模块接收的语音指令,激光雷达距离、角度等数据、深度相机视频流数据利用 DDS 发布对应节点,然后通过程序获取节点中的有用数据,并传输给控制层程序处理,确保了数据的高效流转和系统的稳定运行。
Python 语言语法简洁,易于学习和理解,适用于快速开发原型和数据处理任务,如图为处理激光雷达数据的部分代码。

智能瞳行设备各模块底层驱动都由C和C++来完成,如图为激光雷达底层驱动部分代码。

Pycharm 是一款优秀的 Python 开发集成环境(IDE),提供了代码编辑、调试、项目管理等一系列功能,大大提高了开发效率,智能瞳行设备程序通过该软件进行的代码编写、调试。
4.5数据挖掘和可视化应用
数据读取:
1.初始化 DDS 环境:创建参与者(Participant),建立与 DDS 域的连接。
2.查找主题:使用主题名称来查找感兴趣的数据主题。
3.创建订阅者(Subscriber):用于接收数据。
4.创建数据读取器(DataReader):与找到的主题关联,准备读取数据。
5.处理接收到的数据:通过回调函数或主动读取的方式获取数据,并进行相应的处理。
6.设备通过接收节点数据,通过程序处理,激光雷达为例,如图,通过订阅激光雷达腹部的话题lslidar_driver_node,以及其中的节点/sacn,就能够读取其中的数据,对数据进行处理,就能获取到距离,以及角度信息。
Python中Matplotlib的使用:
通过获取节点中的数据,通过numpy库对数据进行相应处理,转换为可视化图形数据,通过内置函数进行动画处理,实现实时的动画数据。
以获取激光雷达数据为例,通过获取节点中激光雷达数据的处理,将数据处理为图形数据,实时的显示在图形页面上,方便对数据进行处理与判断。
Rviz2是ROS2中常用的可视化工具,通过订阅各模块发布的节点数据来实现图形可视化,为开发者提供了直观的方式来理解和调试系统。智能瞳行设备通过Rviz2 可订阅这些节点,将激光雷达数据以点云的形式展示,摄像头数据以图像的形式呈现,北斗、GPS数据则以地图上的位置标记显示。

推荐阅读
关注数
1272
文章数
91
加速机器智能进化,促进人机和谐伴生
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息