Skip to content

Tracking studio: Process & Export + GCS upload#81

Open
dimkab wants to merge 3 commits into
mainfrom
db-trackingstudio-bulk
Open

Tracking studio: Process & Export + GCS upload#81
dimkab wants to merge 3 commits into
mainfrom
db-trackingstudio-bulk

Conversation

@dimkab
Copy link
Copy Markdown
Collaborator

@dimkab dimkab commented May 14, 2026

Summary

  • Replace the playback-end CSV download with a dedicated Process & Export button that runs the full video and writes results in the format matching full_pipeline.ipynb: detect_csv (one row per frame with JSON predictions) for detection-only, tracked_bboxes.csv (one row per tracked detection) for tracking.
  • Add an Upload button on the results card (visible only for GCS-sourced videos) that uploads the resulting CSV next to the original video in GCS, with overwrite confirmation when the destination already exists.

Test plan

  • Load a video from GCS + a model, click Process & Export with Detection-only OFF — a <video>_bboxes.csv is downloaded with track_id,frame,x1,y1,x2,y2,confidence,class columns.
  • Same flow with Detection-only ON — a <video>_detections.csv is downloaded with count_objects,output_image,predictions columns (predictions is a JSON blob compatible with output_tracked_bboxes_csv).
  • Click Upload after a GCS-sourced run — file lands at gs://<bucket>/<folder>/<video_stem>_bboxes.csv (or _detections.csv).
  • Re-run Upload on an existing destination — overwrite-confirm dialog appears and Cancel aborts.
  • Upload a video via the local Upload widget and run Process & Export — the Upload button stays hidden.
  • Run Start Tracking (live preview) — no CSV is produced or downloaded.

🤖 Generated with Claude Code

dimkab and others added 2 commits May 14, 2026 11:39
Replace the playback-end CSV download with a dedicated "Bulk Convert"
button that processes the full video and writes results in the format
matching the full_pipeline notebook: detect_csv (JSON predictions per
frame) for detection-only, tracked_bboxes.csv (one row per tracked
detection) for tracking.

Add an "Upload" button on the results card (visible only for
GCS-sourced videos) that uploads the CSV next to the original video,
with overwrite confirmation when the destination already exists.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bulk implied batch-over-many; this button operates on a single video.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@dimkab dimkab requested a review from ralphpeterson May 14, 2026 15:54
ultralytics 8.4.50 removed the frame_rate parameter from BYTETracker;
omitting it preserves prior behavior (30 was the previous default).
Also apply ruff format on app.py.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant