7,651
社区成员
发帖
与我相关
我的任务
分享高通 AI Edge Box 运行多路工业缺陷检测,高并发场景下出现检测框坐标抖动,同一缺陷连续帧位置偏移,如何稳定检测输出结果?
问题根因
高并发算力紧张,单帧推理存在微小随机误差;工业工件轻微震动、图像噪声造成单帧检测结果波动;无时序平滑机制,直接输出原始推理坐标,表现为检测框来回抖动。
完整稳定化方案
目标追踪时序平滑
使用卡尔曼滤波对检测框坐标做时序平滑,Python 简易实现:
python
运行
class BoxKalmanFilter:
def __init__(self):
self.last_box = None
self.P = np.eye(4) * 0.05
def smooth(self, current_box):
if self.last_box is None:
self.last_box = np.array(current_box)
return current_box
# 预测与更新
predict = self.last_box
smoothed = 0.7 * np.array(current_box) + 0.3 * predict
self.last_box = smoothed
return smoothed.tolist()
并发任务调度优化
限制同一时刻并发推理路数,避免 NPU 满载时算力调度波动;为工业缺陷检测任务设置最高优先级。
输入图像预处理稳定化
固定图像增益、曝光参数,消除帧间亮度波动带来的检测偏差;统一图像缩放、填充逻辑。
结果后处理约束
增加帧间 IOU 匹配,前后帧匹配到同一目标时,限制坐标单次最大偏移距离,过滤异常跳变结果。
参考资料
《Multi-Channel Defect Detection Temporal Smoothing Best Practice》
高通开发者社区文章《工业视觉检测框抖动问题滤波方案》