jetson
07289a419a
perf: throttle tracker to every 2nd frame, sup interval 10, 720p output option
...
- detect_interval=2 on both pipelines; stabilizer 10-frame hold bridges
skipped frames (GPU inference cut ~half during active batch)
- sup_det_interval 5 -> 10 (still <= stabilizer hold / synthetic max_age)
- preview_every_n default 2 -> 5
- AnnotatedVideoWriter: codec auto-chain gstreamer_nvenc -> avc1 -> mp4v,
max_height downscale (even dims, INTER_AREA); backend logged
- output_max_height plumbed Job -> web checkbox (720p) -> CLI --output-height
- README: 720p option, CLI flag
- 153 tests pass (+13)
2026-09-29 15:58:55 +07:00
jetson
ad41bf01e1
feat: stabilize secondary-model detections, box-wins suppression, port 9050
...
- SyntheticIdAssigner: track_id=None dets get stable negative IDs so the
stabilizer hold bridges sup_det_interval gaps -> no flicker, boxes count
- apply primary model class filter in merged path (UI checkboxes work)
- _suppress_sacks_under_boxes: sack dets overlapping box dets dropped
(models without box class label boxes as sack; stops double counting)
- default web port 9000 -> 9050 (WEB_PORT env still overrides)
- README: port refs, counting zone modes section, project tree
- 140 tests pass (+13)
2026-09-29 15:32:07 +07:00
jetson
4bd9de58e1
feat: freeze ROI mode, deadband+sticky jitter fix, explicit fixed/frozen ROI flags
...
- zone_mode=freeze: TruckROITracker locks box after 3 consecutive truck
detections; geometry stays fixed while presence stays live (truck
departure -> confidence 0 -> batch transitions keep working)
- jitter: 10px deadband skips EMA on tiny bbox noise; sticky main-truck
pick (IoU>=0.3) prevents ROI jumps between parked trucks
- TruckROI.fixed/frozen flags replace dashboard confidence>=1.0 heuristic
- gate truck_centroid on truck_present in both pipelines
- +22 tests (test_truck_roi.py, test_freeze_plumbing.py); 127 pass
2026-09-28 14:36:21 +07:00
jetson
9a276b21f2
fix: isolate tests from real output/ dir via conftest autouse fixture
...
Tests imported the global job_queue (bound to real OUTPUT_DIR), creating
8 junk job-* dirs per pytest run (test_app x3, test_download_compress x4,
test_preview x1). Fixture redirects _output_dir to tmp_path and clears
the job registry before each test.
2026-09-28 13:55:47 +07:00
jetson
f878110c3c
fix: atomic compression writes, enforce size limit, job status guard
2026-09-28 13:38:24 +07:00
jetson
6f86bca204
feat: compress downloads to max 250MB via ffmpeg
2026-09-28 09:39:56 +07:00
jetson
7932119e17
feat: propagate sack vs box counts to results and UI
2026-09-28 09:36:27 +07:00
jetson
d38375986e
fix: exclude truck class from counting, use MultiClassLineCounter, real class labels
2026-09-28 09:30:13 +07:00
jetson
35cccd03b3
fix: absolute OUTPUT_DIR, resolution scaling for zones, full reference repo values
2026-09-22 14:30:05 +07:00
jetson
ad3e7a7e9e
feat: add fixed_zone param to pipelines, skip truck detection when set
2026-09-22 13:01:40 +07:00
jetson
4ad4284d9a
feat: zone config loader and static ROI builder
2026-09-22 12:57:36 +07:00
jetson
6783ff3970
feat: add abort button for job cancellation
2026-09-21 09:40:57 +07:00
jetson
f779f05190
feat: add video reuse — re-analyze previous uploads without re-uploading
2026-09-21 09:35:29 +07:00
jetson
22c78429cf
feat: add ModelGroup and scan_model_groups() for grouped model display
2026-09-18 11:42:27 +07:00
jetson
f487b5cf03
feat(pipeline): emit live annotated frames for preview
2026-09-17 16:12:35 +07:00
jetson
dca6f6b335
feat(api): video preview endpoints — thumbnail, sample frames, live frame
2026-09-17 16:00:02 +07:00
jetson
2b54cc3353
fix: final review wave — CLI kwargs, class filter, job locks, upload order, tests
2026-09-16 15:14:44 +07:00
jetson
05bdac5515
test: integration tests for Flask web app routes
2026-09-16 15:08:50 +07:00
jetson
f14f3b51cb
fix: relax racy PENDING assertion in test_queue_add_job
2026-09-16 14:56:08 +07:00
jetson
e13926d57d
feat: async job queue with thread-safe add/get/cancel/list
2026-09-16 14:55:24 +07:00
jetson
5a04cc595f
feat: pipeline runner processes video through counting pipeline
2026-09-16 14:53:39 +07:00
jetson
61c9868ca1
feat: annotated video writer wraps OpenCV VideoWriter
2026-09-16 14:51:47 +07:00
jetson
f5982a4222
feat: model registry scans models/ directory with known class map
2026-09-16 14:50:35 +07:00
jetson
7fb017488c
init: project skeleton with pyproject.toml, config, tracker.yaml, README
2026-09-16 13:12:59 +07:00