Initial commit: Video detection platform with YOLO models
Features: - Fire detection (YOLOv10) - Helmet detection (YOLOv8) - Crowd detection (YOLOv8) - Smoking detection (YOLOv8) - Loitering detection (YOLOv8) Tech Stack: - Frontend: Vue 3 + Vite + Element Plus - Backend: FastAPI + WebSocket - Monorepo: pnpm workspace + Turbo - Docker support included
This commit is contained in:
39
apps/server/models/schemas.py
Normal file
39
apps/server/models/schemas.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import List, Optional, Dict, Any
|
||||
from enum import Enum
|
||||
|
||||
class ModelInfo(BaseModel):
|
||||
id: str
|
||||
name: str
|
||||
description: str
|
||||
classes: List[str]
|
||||
labels: Dict[str, str]
|
||||
size: str
|
||||
type: str
|
||||
|
||||
class Detection(BaseModel):
|
||||
class_name: str
|
||||
label: str
|
||||
confidence: float
|
||||
bbox: List[int]
|
||||
|
||||
class DetectionStats(BaseModel):
|
||||
total_detections: int
|
||||
avg_confidence: float
|
||||
processing_time: float
|
||||
model_used: str
|
||||
|
||||
class ImageDetectionResult(BaseModel):
|
||||
success: bool
|
||||
message: str
|
||||
data: Dict[str, Any]
|
||||
|
||||
class VideoDetectionRequest(BaseModel):
|
||||
model_id: str
|
||||
confidence: float = Field(default=0.5, ge=0.1, le=1.0)
|
||||
iou: float = Field(default=0.45, ge=0.1, le=0.9)
|
||||
|
||||
class DetectionConfig(BaseModel):
|
||||
model_id: str
|
||||
confidence: float = Field(default=0.5, ge=0.1, le=1.0)
|
||||
iou: float = Field(default=0.45, ge=0.1, le=0.9)
|
||||
Reference in New Issue
Block a user