Spaces:
Paused
Paused
Commit History
-
chore: clean up dead code, stale comments, and misleading names
Zhen Ye +1: Claude Opus 4.6 (1M context)- Rename gpt_data -> metadata on STrack (tracker.py) - Remove dead inject_metadata method and phantom METADATA_SYNC_KEYS - Fix _sync_data to sync depth_rel (the key actually written) - Remove dead _build_display_label and gpt_distance_m checks - Remove no-op add_no_cache_header middleware - Remove unused get_segmenter_detector import - Cache index.html at module load instead of reading per request - Extract _parse_queries helper to deduplicate query parsing - Remove empty set_track_data calls in segmentation writer loop - Remove sentence-transformers semantic matching from coco_classes - Clean stale GPT/mission references from docstrings - Update CLAUDE.md to reflect stripped-down architecture Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>2e2a601 -
refactor: remove GPT/mission/relevance system, keep CV-only base
Zhen Ye +1: Claude Opus 4.6 (1M context)Strip all GPT threat assessment, mission parsing, relevance gating, and enrichment logic to create a reusable detection base. All computer vision functionality preserved: detectors, segmenters, depth estimation, object tracking, multi-GPU pipeline, async jobs, and MJPEG streaming. Deleted: utils/{gpt_reasoning,openai_client,threat_chat,relevance, enrichment,mission_parser,schemas}.py Removed: enable_gpt, mission_spec, first_frame_gpt_results params from inference pipeline, jobs, and API endpoints. Removed: /detect/analyze-frame, /reason/track, /chat/threat endpoints. Removed: sentence-transformers, python-dotenv dependencies. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>9574811
-
Eliminate redundant JPEG frame loading via shared frame store
Zhen Yec97a5f9
-
chore(yolo11): update yolo naming comments
Zhen Ye0719ba5 -
refactor: rename hf_yolov8 → yolo11 across codebase
Zhen Ye +1: Claude Opus 4.6Rename file yolov8.py → yolov11.py, class HuggingFaceYoloV8Detector → Yolo11Detector, and registry key "hf_yolov8" → "yolo11" in all 11 files. Loads YOLO11m COCO-pretrained via hf://Ultralytics/YOLO11. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>f89fa0b -
feat(segmentation): add YSAM2 variants and mission-aware detector mapping
Zhen Ye6268ac2 -
chore: remove dead code and unused frontend modules
Zhen Yed74c718 -
refactor(gsam2): make SAM2 detector-agnostic
Zhen Ye21c29ae -
perf: increase production keyframe step from 20 to 60
Zhen Ye +1: Claude Opus 4.6Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>97b3a45
-
feat: expose num_maskmem parameter in benchmark profile/analysis endpoints
Zhen Ye +1: Claude Opus 4.6Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>afbbf27 -
feat: add benchmark profiler & roofline analysis system
Zhen Ye +1: Claude Opus 4.6Add hardware extraction, per-frame GPU/CPU profiling with CUDA events, and automated roofline analysis for detection and segmentation modes. New endpoints: - GET /benchmark/hardware — cached hardware specs - POST /benchmark/profile — per-frame timing breakdown - POST /benchmark/analysis — full roofline with bottleneck ID Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>078b447
-
feat(frontend): improve UI for detection and chat interaction
Zhen Yed257dcc -
feat(backend): enhance inference pipeline with GLM logic and structured outputs
Zhen Yebb6e650
-
Handle GPT refusal paths and preserve assessment status
Zhen Yeaadca27
-
Refine Grounded-SAM2 tracking behavior and video frame handling
Zhen Ye032b60f -
Remove SAM3 and standardize segmentation on Grounded-SAM2
Zhen Ye3fde4e4
-
Add diagnostic logging to pinpoint tracker dropping detections
Zhen Ye +1: Claude Opus 4.64 targeted log points across inference.py and utils/tracker.py to diagnose why first-frame preview shows bounding boxes but the processed video has none — the tracker is the prime suspect. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>a70bcf5
-
Fix Grounding DINO detections dropped by ByteTracker threshold mismatch
Zhen Ye +1: Claude Opus 4.6Lower ByteTracker new_track_thresh from 0.40 to 0.30 so DINO scores (≥0.35) can spawn tracks. Harden DINO _post_process to remove bare fallback that silently dropped to HuggingFace default threshold of 0.25. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>0d3be57
-
Refine GPT enrichment logic, add relevance badges to UI, and fix minor model/logging issues
Zhen Ye2c4431d -
Add StreamingVideoWriter (ffmpeg pipe), reuse first-frame GPT results in inference pipeline
Zhen Ye4977275 -
GPT reasoning: add in-memory frame encoding, image_b64 support, use gpt-4o-mini for relevance
Zhen Ye55e372a
-
Refactor ByteTracker: add min_hits confirmation, split thresholds, associate unconfirmed tracks
Zhen Ye7e7e04e -
Tune ByteTracker: lower track_thresh to 0.3, increase track_buffer to 60
Zhen Yefb5e94d -
Add vision-grounded mission parsing: send first frame to GPT for object class refinement
Zhen Ye98a4ff6 -
Update overlays, tracker, GPT reasoning, and threat chat improvements
Zhen Ye0c01887 -
feat: Add LLM post-processing relevance gate for broad detection
Zhen Ye +1: Claude Opus 4.6Move LLM's role from pre-processing (choosing detector classes) to post-processing (filtering detected objects against mission intent). Fast-path (comma-separated labels) is unchanged. LLM-path now detects broadly (all COCO classes or domain-expanded queries), then asks GPT once on frame 0 which labels are mission-relevant, caching the result for deterministic filtering on all subsequent frames. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>624478a -
feat: Add mission-driven object relevance abstractions
Zhen Ye +1: Claude Opus 4.6Introduces MissionSpecification extraction, object relevance gating, domain-aware GPT prompts, assessment provenance/staleness tracking, and UNASSESSED status distinct from score 0. Mission text is now parsed into structured intent before reaching the detector, and only mission-relevant objects are sent to GPT for threat assessment. Key changes: - MissionSpecification + RelevanceCriteria schemas (utils/schemas.py) - Mission text parser with fast-path and LLM extraction (utils/mission_parser.py) - Deterministic relevance gate between detection and GPT (utils/relevance.py) - Domain-aware GPT system prompts with mission context injection - Temporal validity tracking (ASSESSED/UNASSESSED/STALE) in tracker - LEGACY mode when no mission text provided (GPT auto-disabled) - Frontend: deterministic sort, UNASSESSED/STALE badges, range qualifiers Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>a2ca6f9
-
fix: Remove chat emojis, improve tracker GPT metadata sync
Zhen Ye- Remove emojis from threat chat UI (use text labels YOU/TAC/SYS) - Fix GPT reasoning to use track_id instead of index-based IDs - Add inject_metadata() to ByteTracker for post-update GPT sync - Add GPT_SYNC_KEYS for all threat intelligence fields - Reset track ID counter on new ByteTracker instance - Minor fixes to overlays, cards, and main.jsd2acfa9 -
feat: Add threat chat feature for Q&A about detected threats
Zhen Ye- Add utils/threat_chat.py with chat_about_threats() function - Add POST /chat/threat endpoint to app.py - Add frontend chat panel to Tab 1 (index.html) - Add js/ui/chat.js UI module - Add chatAboutThreats() API function to client.js - Add chat panel CSS styles to style.css0effcd5
-
feat(threat-assessment): implement naval threat analysis with GPT-4o\n\n- Rename utils/gpt_distance.py to utils/gpt_reasoning.py and update logic for 15 naval threat features\n- Add Pydantic schemas for NavalThreatAssessment in utils/schemas.py\n- Update backend (app.py, inference.py) to use new threat estimation and pass full metadata\n- refactor(frontend): render threat level badges and detailed feature table in UI
Zhen Ye8094b21
-
Fix: IndexError in ByteTracker
Zhen Ye0834617 -
feat: replace SimpleTracker with ByteTrack
Zhen Ye6896025
-
Add granular logging for frame processing and ffmpeg
Zhen Yebbef397
-
fix: Switch to gpt-4o-mini and verified queue safety
Zhen Ye68bac29
-
feat: Implement SAHI Tiling for 4K video detection
Zhen Ye- Added utils/tiling.py for image slicing and NMS - Updated DroneYolo and HFYoloV8 to auto-tile images > 3000px width - Uses 1280x1280 tiles with 20% overlap for maximum small object recallaf29397 -
feat: Implement AsyncVideoReader for parallel video decoding
Zhen YeAddresses CPU bottleneck during inference by moving video decoding to a background thread with a prefetch buffer. Integrated into inference pipeline.356dce8
-
fix: Handle empty GPT responses and log outputs
Zhen Ye1eea4fe
-
Feature: GPT distance integration, Radar Map, and optional legacy depth
Zhen Ye0eeb0d9
-
update:inference pipeline optimization
Zhen Ye9606129
-
inital commit
Zhen Yeb30e7a3