feat: merged detection output + parallel model execution
- Multiple models run simultaneously on each frame via ThreadPoolExecutor - Detections merged with IoU deduplication (same class, high overlap → keep highest conf) - Single merged_annotated.mp4 output (not per-model videos) - Single model still uses existing run_pipeline for backward compat - Active jobs banner on upload page (polls every 5s) - GPU warning when selecting 3+ models - 62/62 tests pass
This commit is contained in:
1 parent
163280078f
commit
fc20a521ee
5 files changed
+381
-40
No files matched your search
@@ -257,6 +257,19 @@
|
||||
}
|
||||
.empty-state p { margin-bottom: var(--space-2); }
|
||||
|
||||
/* Active jobs banner */
|
||||
.active-jobs-banner {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--space-3);
|
||||
padding: var(--space-3) var(--space-4);
|
||||
background: #f0f9ff;
|
||||
border: 1px solid #0EA5E9;
|
||||
border-radius: var(--radius-md);
|
||||
margin-bottom: var(--space-6);
|
||||
font-size: var(--text-sm);
|
||||
}
|
||||
|
||||
/* Video delete button */
|
||||
.video-delete-btn {
|
||||
flex-shrink: 0;
|
||||
@@ -291,6 +304,12 @@
|
||||
<p>Upload a video and select detection models to run analysis.</p>
|
||||
</div>
|
||||
|
||||
<div class="active-jobs-banner" id="active-jobs-banner" style="display:none">
|
||||
<span class="badge badge-info">▶</span>
|
||||
<span id="active-jobs-text"></span>
|
||||
<a href="/jobs" class="btn btn-ghost btn-sm">View All</a>
|
||||
</div>
|
||||
|
||||
<form action="/upload" method="post" enctype="multipart/form-data" id="upload-form">
|
||||
<input type="hidden" name="video_path" id="video-path-input" value="">
|
||||
|
||||
|
||||
Reference in new issue
Block a user