背景与挑战
从事工业自动化 Java 上位机与 YOLO 质检开发近 5 年。前期使用 JDK11 配合 ONNX Runtime CPU 版,单张 640x640 汽车零件图片的推理、预处理及后处理总延迟稳定在 500ms 左右。客户要求流水线节拍从 2 秒/件降至 1 秒/件,质检环节总延迟必须控制在 30ms 以内,这意味着纯推理需压到 20ms 左右。
优化方案
升级至 JDK26,利用虚拟线程优化多帧批量检测的调度,并使用 Vector API 重写 YOLO 的 Letterbox 缩放和归一化预处理。配合 ONNX Runtime 1.20.0 的最新优化,重点优化预处理(占原总延迟的 60%)和多帧批量检测的调度(占原批量检测总延迟的 30%),纯推理的优化主要靠 ONNX Runtime 的升级。
硬件环境与结果
测试环境为 i5-14500F + 16G DDR5 工控机,无 GPU 预算。模型采用 YOLOv26s ONNX 模型,推理引擎为 ONNX Runtime Java 1.20.0 CPU 版。优化后总延迟压至 28ms,纯推理稳定在 19-21ms,完全满足客户的要求。


