Zhen Ye
Implement Batch Inference & Queue Backpressure Fixes
5c36daa
raw
history blame contribute delete
887 Bytes
from typing import NamedTuple, Sequence, List
import numpy as np
class DepthResult(NamedTuple):
"""Result from depth estimation inference."""
depth_map: np.ndarray # HxW float32 depth in meters
focal_length: float # Estimated focal length in pixels
class DepthEstimator:
"""Base interface for depth estimation models."""
name: str
supports_batch: bool = False
max_batch_size: int = 1
def predict(self, frame: np.ndarray) -> DepthResult:
"""
Run depth estimation on a single frame.
Args:
frame: Input image as numpy array (HxWxC, BGR format from OpenCV)
Returns:
DepthResult with depth_map and focal_length
"""
raise NotImplementedError
def predict_batch(self, frames: Sequence[np.ndarray]) -> Sequence[DepthResult]:
return [self.predict(f) for f in frames]