AI落地好场景,用米尔RK3576做无人视力测试仪 端侧AI视力检测系统,基于米尔RK3576落地实战
随着人工智能技术的快速发展,视觉检测技术在医疗健康领域的应用越来越广泛。传统的视力检测需要专业医护人员操作,检测效率较低,且难以实现自动化。本项目基于米尔RK3576开发板,设计并实现了一套智能视力检测系统,旨在提供一种便捷、高效的视力检测方案。RK3576是一款高性能ARM架构的开发板,搭载瑞芯微处理器,具备强大的AI推理能力,适合运行手势识别、图像处理等AI任务。
一、项目背景与目标
• 实现自动视力检测:用户通过简单的手势即可完成左右眼的视力检测
• AI手势识别:利用MediaPipe实现精准的OK手势检测,作为启动测试的交互方式
• 智能化流程控制:自动识别E字方向、判断测试结果、自动切换测试眼别
• 语音交互:集成语音播报功能,提供清晰的测试指引和结果反馈
二、系统功能设计
2.1 功能架构
系统架构图说明:
架构说明:
· RK3576开发板: 核心控制器,运行所有业务逻辑
· 视频播放模块: 使用GStreamer进行硬件解码播放引导视频
· 手势识别模块: MediaPipe Hands检测OK手势作为启动信号
· 距离检测模块: 串口读取TOF传感器数据,检测用户距离
· 语音播报模块: ES8388音频编解码,播报欢迎词和检测结果
· UI显示模块: PySide6 Qt开发,HDMI输出到显示屏
数据流向:
· 摄像头采集图像 → MediaPipe手势识别 → 判断OK手势
· TOF传感器检测距离 → 串口通信 → 判断距离是否合适
· 随机生成E字方向 → 显示在屏幕上
· 用户手势 → 摄像头采集 → 手势识别 → 对比判断
· 测试结果 → 语音播报 + 屏幕显示
2.2 核心功能模块
2.3 测试流程
流程说明:
· 系统初始化 - 启动摄像头、手势识别、距离传感器、音频系统
· 播放引导视频 - 开机自动播放intro_guide.mp4介绍使用方法
· 等待OK手势 - 视频结束后显示提示,用户做OK手势启动测试
· 右眼测试 - 随机显示E字方向,用户用手势回答,3次测试后判断结果
· 左眼测试 - 自动切换到左手,重复右眼测试流程
· 显示结果 - 播报双侧视力结果,显示在屏幕上
· 等待重新测试 - 用户可再次做OK手势重新开始测试
三、硬件与电路说明
3.1 硬件清单
Intel RealSense D435 深度摄像头特点
本项目选用Intel RealSense D435深度摄像头作为视觉采集设备,用于手势图像采集。相比普通USB摄像头具有以下优势:
Ÿ 双流输出
o 同时支持RGB彩色流和深度流
o 本项目使用RGB流(640x480)进行手势识别
o 深度流可用于未来扩展(如手势分割)
Ÿ 高质量图像
o RGB分辨率:1920x1080 @ 30fps
o 采集分辨率:640x480 @ 15fps(用于手势识别)
o 内置自动白平衡、自动曝光功能
o 适用于各种光照条件
Ÿ 即插即用
o 通过USB 3.0接口连接
o 提供跨平台的librealsense SDK (pyrealsense2)
o 支持Linux、Windows等操作系统
Ÿ 稳定性强
o 工业级品质,稳定性好
o 自动曝光和对焦,适应能力强
o 在复杂环境下仍能准确识别手势
Ÿ 易于集成
o Python绑定支持,易于开发
o 帧同步机制,确保数据一致性
o 实时性好,满足手势识别需求
TOF激光测距模块特点
本项目选用TOF(Time of Flight)激光测距模块作为距离检测设备,具有以下优势:
Ÿ 超宽测距范围
o 测距范围:2cm ~ 10m
o 覆盖从近到远的各种使用场景
Ÿ 高精度测量
o 测量精度:±1cm
o 分辨率高,可检测微小距离变化
Ÿ 快速响应
o 响应时间:<100ms
o 实时检测用户距离,适用于动态场景
Ÿ 抗干扰能力强
o 不受光照变化影响
o 不受被测物体颜色和材质影响
Ÿ 低功耗
o 功耗低,发热小
o 适合长时间运行
3.2 硬件接线
3.3 系统环境
· 操作系统: Buildroot Linux (ARM64)
· Python版本: 3.10+
· AI框架: MediaPipe (Google)
· 视觉库: Intel RealSense SDK (librealsense)
· GUI框架: PySide6
· 多媒体: GStreamer + ALSA
· 音频格式: WAV (44.1kHz, 16bit, stereo)
四、关键技术说明
4.1 AI手势识别
使用Google的MediaPipe框架进行手势识别,主要特点:
· 模型: MediaPipe Hands (预训练模型)
· 输入: RGB图像 (640x480)
· 输出: 21个关键点坐标、手势分类
· 性能: 实时推理 (30fps)
4.1.1 MediaPipe Hands 21个关键点
MediaPipe Hands 模型输出21个手部关键点,编号从0到20:
关键点索引说明:
· 0: 手腕
· 1-4: 拇指 (掌骨→近节指骨→远节指骨→指尖)
· 5-8: 食指
· 9-12: 中指
· 13-16: 无名指
· 17-20: 小指
4.1.2 手势识别核心代码
4.1.3 实时手势处理流程
4.1.4 手势在视力测试中的作用
本系统中,手势识别用于以下场景:
Ÿ OK手势启动测试
o 用户做OK手势表示准备开始测试
o 系统检测到OK手势后自动启动
Ÿ 方向手势回答
o 测试过程中,用户通过伸手指方向来回答E字方向
o 系统检测食指方向,判断用户回答是否正确
Ÿ 左右手切换
o 右眼测试用右手,左眼测试用左手
o 通过multi_handedness判断用户使用的是哪只手
4.2 视频播放技术
使用GStreamer实现视频播放,支持硬件解码:
技术要点:
· 使用 mppvideodec 调用RK3576硬件解码器
· 通过AppSink将视频帧传递给Qt UI显示
· 音频使用独立管道通过ALSA播放
4.3 状态机设计
系统使用有限状态机管理测试流程:
4.4 距离检测
通过串口读取红外测距传感器数据:
五、调试过程与问题解决
5.1 主要问题与解决方案
六、项目亮点总结
6.1 技术创新
• 端侧AI推理: 利用RK3576的NPU实现实时手势识别,无需云端支持
• 多模态交互: 结合视频、语音、手势等多种交互方式
• 硬件加速: 使用GStreamer硬件解码播放视频,效率高
6.2 工程亮点
• 模块化设计: 清晰的分层架构,易于维护和扩展
• 状态机管理: 完善的测试流程状态控制
• 容错处理: 丰富的异常处理和恢复机制
• 用户友好: 语音引导+视频演示,操作简单
6.3 应用价值
· 可部署于社区健康站、学校、商场等场所
· 无需专业人员辅助,用户可自主完成检测
· 检测结果实时语音播报,方便快捷
· 成本可控,易于推广普及
七、技术参数
八、文件结构
九、运行说明
9.1 依赖安装
9.2 运行步骤
• 连接硬件设备(摄像头、传感器、音频设备)
• 启动开发板
• 运行主程序:
• 按照屏幕提示和语音指引进行测试
十、总结与展望
本项目成功实现了一套基于RK3576的AI视力检测系统,通过MediaPipe实现精准的手势识别,结合PySide6实现友好的用户界面,利用GStreamer实现流畅的视频播放。系统运行稳定、操作简便,具有良好的用户体验。
效果展示:米尔RK3576开发的无人视力测试仪
未来可进一步优化:
· 增加更多视力测试模式
· 支持云端数据存储和分析
· 添加更多健康检测功能
· 优化AI模型提升识别准确率





