AI落地好场景,用米尔RK 3576做无人视力测试仪
随着人工智能技术的快速发展,视觉检测技术在医疗健康领域的应用越来越广泛。传统的 视力检测 需要专业医护人员操作,检测效率较低,且难以实现自动化。本项目基于米尔 RK3576 开发板,设计并实现了一套智能 视力检测 系统,旨在提供一种便捷、高效的 视力检测 方案。 RK3576 是一款高性能ARM架构的开发板,搭载瑞芯微处理器,具备强大的AI推理能力,适合运行手势识别、图像处理等AI任务。
实现自动视力检测 :用户通过简单的手势即可完成左右眼的视力检测
手势识别 :利用MediaPipe实现精准的OK手势检测,作为启动测试的交互方式
智能化流程控制 :自动识别E字方向、判断测试结果、自动切换测试眼别
语音交互 :集成语音播报功能,提供清晰的测试指引和结果反馈
2.1 功能架构
系统架构图说明:
架构说明:
RK3576 开发板 : 核心控制器,运行所有业务逻辑
视频播放模块 : 使用GStreamer进行硬件解码播放引导视频
手势识别模块 : MediaPipe Hands检测OK手势作为启动信号
距离检测模块 : 串口读取TOF传感器数据,检测用户距离
语音播报模块 : ES8388音频编解码,播报欢迎词和检测结果
UI显示模块 : PySide6 Qt开发,HDMI输出到显示屏
数据流向:
摄像头采集图像 → MediaPipe手势识别 → 判断OK手势
TOF传感器检测距离 → 串口通信 → 判断距离是否合适
随机生成E字方向 → 显示在屏幕上
用户手势 → 摄像头采集 → 手势识别 → 对比判断
测试结果 → 语音播报 + 屏幕显示
2.2 核心功能模块
模块
功能描述
视频播放模块
开机播放引导视频,支持GStreamer硬件解码
手势识别模块
使用MediaPipe检测OK手势,作为测试启动信号
距离检测模块
通过串口读取红外测距传感器数据,检测用户距离
视力测试模块
随机显示E字方向,根据用户手势判断是否正确
语音播报模块
播放欢迎语音、测试指引、视力结果等
UI显示模块
使用PySide6显示视频、E字图片、状态信息
2.3 测试流程
流程说明:
系统初始化 - 启动摄像头、手势识别、距离传感器、音频系统
播放引导视频 - 开机自动播放intro_guide.mp4介绍使用方法
等待OK手势 - 视频结束后显示提示,用户做OK手势启动测试
右眼测试 - 随机显示E字方向,用户用手势回答,3次测试后判断结果
左眼测试 - 自动切换到左手,重复右眼测试流程
显示结果 - 播报双侧视力结果,显示在屏幕上
等待重新测试 - 用户可再次做OK手势重新开始测试
3.1 硬件清单
设备
型号/规格
用途
开发板
米尔RK3576
核心控制器,运行AI推理和业务逻辑
摄像头
Intel RealSense D435
采集RGB图像用于手势识别
距离传感器
TOF激光测距模块
检测用户与设备的距离(2cm10m)
音频编解码
ES8388
音频输出(通过ALSA驱动)
显示器
HDMI显示屏
显示UI和视力表
Intel RealSense D435 深度摄像头特点
本项目选用Intel RealSense D435深度摄像头作为视觉采集设备,用于手势图像采集。相比普通USB摄像头具有以下优势:
双流输出
同时支持RGB彩色流和深度流
本项目使用RGB流(640x480)进行手势识别
深度流可用于未来扩展(如手势分割)
高质量图像
RGB分辨率:1920x1080 @ 30fps
采集分辨率:640x480 @ 15fps(用于手势识别)
内置自动白平衡、自动曝光功能
适用于各种光照条件
即插即用
通过USB 3.0接口连接
提供跨平台的librealsense SDK (pyrealsense2)
支持Linux、Windows等操作系统
稳定性强
工业级品质,稳定性好
自动曝光和对焦,适应能力强
在复杂环境下仍能准确识别手势
易于集成
Python绑定支持,易于开发
帧同步机制,确保数据一致性
实时性好,满足手势识别需求
TOF激光测距模块特点
本项目选用TOF(Time of Flight)激光测距模块作为距离检测设备,具有以下优势:
超宽测距范围
测距范围:2cm ~ 10m
覆盖从近到远的各种使用场景
高精度测量
测量精度:±1cm
分辨率高,可检测微小距离变化
快速响应
响应时间:<100ms
实时检测用户距离,适用于动态场景
抗干扰能力强
不受光照变化影响
不受被测物体颜色和材质影响
低功耗
功耗低,发热小
适合长时间运行
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: