- 🔍 实时识别回路:
PreviewActivity搭配自研MyCamera使用 CameraX 捕获 1280×1018 画面,ImageBufferQueue维护生产者/消费者线程,确保原始帧按顺序投喂至 RKNN/NCNN 推理管线。 - 🧠 多引擎 YOLO 推理:
RkYolo在 rk356x NPU 上加载yolov8n.rknn,NcnnYolo提供 CPU 兜底,两者通过统一接口输出液面位置、容器类型、置信度及时间戳。 - 📊 输液全生命周期管理:
InfusionManager为每个InfusionDevice维护计时器、低液位阈值(Constants.low_surface_thred)与丢失判定(track_num、surface_preserve_second),结合历史状态生成当前瓶/袋的健康度与预警标签。 - 🖥️ 双视图可视化:
DetectView在预览层实时绘制检测框、颜色编码与标签;BottleAdapter以列表展示全部设备状态,支持在首屏与详单屏之间切换,帮助护士快速定位异常点。 - 🌐 事件上报与远程控制:
InfusionMonitoringService持续运行采集/推理线程,MyMqttService使用 Eclipse Paho 推送低液位、输液完成等事件,并监听护士站指令(如订阅新设备话题),实现床旁终端与后台系统的闭环联动。
- 📱 Android 平台:Java 17、Gradle Managed Devices,目标 API 34;ViewBinding 和 AndroidX Lifecycle 协调 Activity、Service 与线程的生命周期,保障推理与 UI 同步。
- 📷 Jetpack CameraX 生态:
camera-core、camera-camera2、camera-view组合实现 HDR 级别取景、连续自动对焦、曝光补偿;MyCamera扩展触摸对焦、分辨率评估与相机翻转。 🅿️ 高吞吐缓冲:ImageBufferQueue采用ArrayBlockingQueue,配合多把锁实现空闲、就绪、使用三状态转换,满足多线程模型推理的实时性需求。- 🤖 AI 推理后端:Rockchip RKNN Toolkit (C++17/CMake) 为 NPU 推理提供高性能;腾讯 NCNN 作为跨硬件 CPU 引擎;JNI 桥层统一导出
initModel、detect、release等接口。 - ☁️ 通信与日志:Eclipse Paho MQTT Android Service 负责多 topic 订阅、QoS 管控;
Timber记录摄像头、缓冲、推理与 MQTT 生命周期事件,辅助现场运维调试。
- 🏥 提升护理效率:自动识别输液状态,替代人工巡房中的大量重复检查,护士可将时间投入到护理决策。
⚠️ 减少漏警风险:低液位、输液完成等事件实时推送至护士站,避免因人手不足导致的延迟处理。- 🧩 灵活适配终端:同一代码库兼容 RK356x NPU 与通用 Android 平台,支持多病区、移动推车等多元部署形态。
- 📈 可持续扩展:统一的 MQTT 协议与模块化设计,为后续叠加滴速估计、输液器识别、设备资产管理等能力铺平道路。