Skip to content

Tracking studio: Process & Export + GCS upload - #81

Merged
dimkab merged 4 commits into
mainfrom
db-trackingstudio-bulk
Jun 22, 2026
Merged

Tracking studio: Process & Export + GCS upload#81
dimkab merged 4 commits into
mainfrom
db-trackingstudio-bulk

Conversation

@dimkab

@dimkab dimkab commented May 14, 2026

Copy link
Copy Markdown
Collaborator

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
dimkab and others added 2 commits May 14, 2026 11:56
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>
@dimkab dimkab linked an issue Jun 18, 2026 that may be closed by this pull request
@dimkab
dimkab requested a review from sjohnsonyu June 18, 2026 15:01

@sjohnsonyu sjohnsonyu left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, from my limited knowledge of this the dashboard and what I could test. (loading video, model, start tracking button, process & export). I did not test upload button.

@dimkab
dimkab merged commit c456d83 into main Jun 22, 2026
4 checks passed
@dimkab
dimkab deleted the db-trackingstudio-bulk branch June 22, 2026 15:41
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.

Video Tracking Studio displays "Connection Lost" when selecting bucket

2 participants