Zhen Ye commited on
Commit
6f9da27
·
1 Parent(s): 16cab91

Enable throttled fallback tracking for Tab 2 consistency

Browse files
Files changed (1) hide show
  1. LaserPerception/LaserPerception.js +20 -2
LaserPerception/LaserPerception.js CHANGED
@@ -2701,7 +2701,21 @@
2701
  if (isHfMode(mode)) {
2702
  if (!state.detector.hfTrackingWarned) {
2703
  state.detector.hfTrackingWarned = true;
2704
- log("HF mode uses backend processing; local COCO tracking is disabled to avoid GPU leaks. Use External tracker or RAW feed.", "w");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2705
  }
2706
  return [];
2707
  }
@@ -2973,7 +2987,11 @@
2973
  state.tracker.lastFrameTime = tNow;
2974
 
2975
  // detection schedule
2976
- const hz = +detHz.value;
 
 
 
 
2977
  const period = 1000 / Math.max(1, hz);
2978
  if ((tNow - state.tracker.lastDetTime) >= period) {
2979
  state.tracker.lastDetTime = tNow;
 
2701
  if (isHfMode(mode)) {
2702
  if (!state.detector.hfTrackingWarned) {
2703
  state.detector.hfTrackingWarned = true;
2704
+ log("HF mode active: Using local COCO model for live tracking (fallback).", "t");
2705
+ }
2706
+ // Fallback to COCO for live tracking so Radar/Cards aren't empty
2707
+ await ensureCocoDetector();
2708
+ if (state.detector.model) {
2709
+ try {
2710
+ let preds = await state.detector.model.detect(videoEngage);
2711
+ return preds
2712
+ .filter(p => p.score >= 0.45)
2713
+ .slice(0, 18)
2714
+ .map(p => ({ bbox: p.bbox, class: p.class, score: p.score }));
2715
+ } catch (err) {
2716
+ // ignore security error for fallback
2717
+ return [];
2718
+ }
2719
  }
2720
  return [];
2721
  }
 
2987
  state.tracker.lastFrameTime = tNow;
2988
 
2989
  // detection schedule
2990
+ let hz = +detHz.value;
2991
+ // Throttle to ~5Hz (approx every 12 frames) for HF fallback mode to save resources
2992
+ if (isHfMode(state.detector.mode)) {
2993
+ hz = Math.min(hz, 5);
2994
+ }
2995
  const period = 1000 / Math.max(1, hz);
2996
  if ((tNow - state.tracker.lastDetTime) >= period) {
2997
  state.tracker.lastDetTime = tNow;