45 lines
1.0 KiB
Python
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]
|