#AEAI03016. 滑动窗口目标稳定确认

滑动窗口目标稳定确认

题目描述

执行抓取前,目标检测结果需要在最近几帧内足够稳定。具身智能部用一个滑动窗口统计目标是否连续可见、平均分数是否可靠,以及框中心是否漂移过大。

给定窗口内 W 帧的检测状态和稳定性阈值。请根据有效帧数、缺失帧数、平均分数和中心漂移判断目标是否稳定,并在稳定时输出平均检测框。

输入格式

  • 第一行输入整数 W
  • 第二行输入 Mmin Gmax Smin Dmax
  • 随后 W 行,每行输入 frame_id seen score x1 y1 x2 y2

输出格式

  • 若目标稳定,输出 STABLE avg_score avg_x1 avg_y1 avg_x2 avg_y2 drift,所有浮点数保留 6 位小数。
  • 若目标不稳定,输出 UNSTABLE reason_code

判定规则

使用标准输出比较。

  • seen=1 的帧为有效帧,参与平均分数、平均框和漂移计算;seen=0 的帧只计入缺失帧数。
  • 若有效帧数 < Mmin,输出 UNSTABLE TOO_FEW
  • 否则若缺失帧数 > Gmax,输出 UNSTABLE TOO_MISSING
  • 否则计算有效帧的平均分数与平均框。
  • 漂移 drift 为第一帧有效框中心到最后一帧有效框中心的欧氏距离。
  • 若平均分数 < Smin,输出 UNSTABLE LOW_SCORE
  • 否则若 drift > Dmax,输出 UNSTABLE DRIFT
  • 否则输出稳定结果。

样例

输入样例 1

3
2 1 0.5 5
1 1 0.8 0 0 2 2
2 0 0 0 0 0 0
3 1 0.7 1 0 3 2

输出样例 1

STABLE 0.750000 0.500000 0.000000 2.500000 2.000000 1.000000

样例解释 1

两帧有效、缺失一帧,满足阈值;平均框为两个有效框坐标的均值,中心漂移为 1

输入样例 2

3
2 2 0.5 5
1 0 0 0 0 0 0
2 1 0.9 0 0 1 1
3 0 0 0 0 0 0

输出样例 2

UNSTABLE TOO_FEW

样例解释 2

窗口内只有一帧有效,少于 Mmin=2,失败原因优先为 TOO_FEW