feat(compressors): add SAM+DINO+Hash pipeline for object feature extraction

This commit is contained in:
2026-03-02 14:22:44 +08:00
parent 370c4a6588
commit a7b01cb49e
7 changed files with 753 additions and 8 deletions

View File

@@ -2,6 +2,10 @@ model:
name: "facebook/dinov2-large"
compression_dim: 512
device: "auto" # auto-detect GPU
sam_model: "facebook/sam2.1-hiera-large" # SAM model name
sam_min_mask_area: 100 # Minimum mask area threshold
sam_max_masks: 10 # Maximum number of masks to keep
compressor_path: null # Path to trained HashCompressor weights (optional)
output:
directory: "./outputs"

View File

@@ -1,6 +1,7 @@
"""Pydantic data models for feature compressor configuration."""
from pathlib import Path
from typing import Optional
from pydantic import BaseModel, ConfigDict, Field, field_validator
@@ -15,6 +16,19 @@ class ModelConfig(BaseModel):
default=512, gt=0, description="Output feature dimension"
)
device: str = "auto"
sam_model: str = Field(
default="facebook/sam2.1-hiera-large",
description="SAM model name from HuggingFace",
)
sam_min_mask_area: int = Field(
default=100, gt=0, description="Minimum mask area threshold"
)
sam_max_masks: int = Field(
default=10, gt=0, description="Maximum number of masks to keep"
)
compressor_path: Optional[str] = Field(
default=None, description="Path to trained HashCompressor weights"
)
class OutputConfig(BaseModel):