انتقل إلى المحتوى

مرجع ل ultralytics/models/sam/modules/sam.py

ملاحظه

هذا الملف متاح في https://github.com/ultralytics/ultralytics/ نقطة / الرئيسية /ultralytics/نماذج/sam/وحدات/sam.py. إذا اكتشفت مشكلة ، فيرجى المساعدة في إصلاحها من خلال المساهمة في طلب 🛠️ سحب. شكرا لك 🙏!



ultralytics.models.sam.modules.sam.Sam

قواعد: Module

Sam تم تصميم (نموذج تقسيم أي شيء) لمهام تجزئة الكائن. يستخدم برامج تشفير الصور لإنشاء صورة التضمينات ، ومطالب التشفير لتشفير أنواع مختلفة من مطالبات الإدخال. ثم يتم استخدام هذه التضمينات بواسطة القناع وحدة فك ترميز للتنبؤ بأقنعة الكائنات.

سمات:

اسم نوع وصف
mask_threshold float

قيمة العتبة للتنبؤ بالقناع.

image_format str

تنسيق صورة الإدخال ، الافتراضي هو "RGB".

image_encoder ImageEncoderViT

العمود الفقري المستخدم لترميز الصورة في عمليات التضمين.

prompt_encoder PromptEncoder

ترميز أنواع مختلفة من مطالبات الإدخال.

mask_decoder MaskDecoder

يتنبأ بأقنعة الكائنات من الصورة ويطالب بالتضمينات.

pixel_mean List[float]

متوسط قيم البكسل لتسوية الصورة.

pixel_std List[float]

قيم الانحراف المعياري لتسوية الصورة.

شفرة المصدر في ultralytics/models/sam/modules/sam.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 3536 37 38 3940 41 42434445 4647 4849505152 53 54 55 56575859606162636465
class Sam(nn.Module):
    """
    Sam (Segment Anything Model) is designed for object segmentation tasks. It uses image encoders to generate image
    embeddings, and prompt encoders to encode various types of input prompts. These embeddings are then used by the mask
    decoder to predict object masks.

    Attributes:
        mask_threshold (float): Threshold value for mask prediction.
        image_format (str): Format of the input image, default is 'RGB'.
        image_encoder (ImageEncoderViT): The backbone used to encode the image into embeddings.
        prompt_encoder (PromptEncoder): Encodes various types of input prompts.
        mask_decoder (MaskDecoder): Predicts object masks from the image and prompt embeddings.
        pixel_mean (List[float]): Mean pixel values for image normalization.
        pixel_std (List[float]): Standard deviation values for image normalization.
    """

    mask_threshold: float = 0.0
    image_format: str = "RGB"

    def __init__(
        self,
        image_encoder: ImageEncoderViT,
        prompt_encoder: PromptEncoder,
        mask_decoder: MaskDecoder,
        pixel_mean: List[float] = (123.675, 116.28, 103.53),
        pixel_std: List[float] = (58.395, 57.12, 57.375),
    ) -> None:
        """
        Initialize the Sam class to predict object masks from an image and input prompts.

        Note:
            All forward() operations moved to SAMPredictor.

        Args:
            image_encoder (ImageEncoderViT): The backbone used to encode the image into image embeddings.
            prompt_encoder (PromptEncoder): Encodes various types of input prompts.
            mask_decoder (MaskDecoder): Predicts masks from the image embeddings and encoded prompts.
            pixel_mean (List[float], optional): Mean values for normalizing pixels in the input image. Defaults to
                (123.675, 116.28, 103.53).
            pixel_std (List[float], optional): Std values for normalizing pixels in the input image. Defaults to
                (58.395, 57.12, 57.375).
        """
        super().__init__()
        self.image_encoder = image_encoder
        self.prompt_encoder = prompt_encoder
        self.mask_decoder = mask_decoder
        self.register_buffer("pixel_mean", torch.Tensor(pixel_mean).view(-1, 1, 1), False)
        self.register_buffer("pixel_std", torch.Tensor(pixel_std).view(-1, 1, 1), False)

__init__(image_encoder, prompt_encoder, mask_decoder, pixel_mean=(123.675, 116.28, 103.53), pixel_std=(58.395, 57.12, 57.375))

تهيئة Sam فئة للتنبؤ بأقنعة الكائنات من صورة ومطالبات الإدخال.

ملاحظه

تم نقل جميع عمليات Forward () إلى SAMPredictor.

البارامترات:

اسم نوع وصف افتراضي
image_encoder ImageEncoderViT

العمود الفقري المستخدم لترميز الصورة في تضمينات الصور.

مطلوب
prompt_encoder PromptEncoder

ترميز أنواع مختلفة من مطالبات الإدخال.

مطلوب
mask_decoder MaskDecoder

يتوقع الأقنعة من تضمينات الصور والمطالبات المشفرة.

مطلوب
pixel_mean List[float]

متوسط القيم لتسوية وحدات البكسل في صورة الإدخال. الإعدادات الافتراضية إلى (123.675, 116.28, 103.53).

(123.675, 116.28, 103.53)
pixel_std List[float]

قيم الأمراض المنقولة جنسيا لتطبيع وحدات البكسل في صورة الإدخال. الإعدادات الافتراضية إلى (58.395, 57.12, 57.375).

(58.395, 57.12, 57.375)
شفرة المصدر في ultralytics/models/sam/modules/sam.py
37 38 39 40 41 42 43 44 45 46 4748 49 50 51 52 53 54 55 5657 5859606162636465
def __init__(
    self,
    image_encoder: ImageEncoderViT,
    prompt_encoder: PromptEncoder,
    mask_decoder: MaskDecoder,
    pixel_mean: List[float] = (123.675, 116.28, 103.53),
    pixel_std: List[float] = (58.395, 57.12, 57.375),
) -> None:
    """
    Initialize the Sam class to predict object masks from an image and input prompts.

    Note:
        All forward() operations moved to SAMPredictor.

    Args:
        image_encoder (ImageEncoderViT): The backbone used to encode the image into image embeddings.
        prompt_encoder (PromptEncoder): Encodes various types of input prompts.
        mask_decoder (MaskDecoder): Predicts masks from the image embeddings and encoded prompts.
        pixel_mean (List[float], optional): Mean values for normalizing pixels in the input image. Defaults to
            (123.675, 116.28, 103.53).
        pixel_std (List[float], optional): Std values for normalizing pixels in the input image. Defaults to
            (58.395, 57.12, 57.375).
    """
    super().__init__()
    self.image_encoder = image_encoder
    self.prompt_encoder = prompt_encoder
    self.mask_decoder = mask_decoder
    self.register_buffer("pixel_mean", torch.Tensor(pixel_mean).view(-1, 1, 1), False)
    self.register_buffer("pixel_std", torch.Tensor(pixel_std).view(-1, 1, 1), False)





تم إنشاء 2023-11-12, اخر تحديث 2023-11-25
المؤلفون: جلين جوشر (3)