Files
jc-video-recognize/apps/server/models/schemas.py

45 lines
1.0 KiB
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)
class VideoDetectionResult(BaseModel):
success: bool
message: str
data: Dict[str, Any]