Files
jc-video-recognize/apps/server/models/schemas.py
wwh 8fb58c75fe 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
2026-05-18 10:54:10 +08:00

40 lines
934 B
Python

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)