Transformers documentation
SuperPoint
Bu model 2017-12-20 tarihinde HF papers'ta yayımlanmış ve 2024-03-19 tarihinde Hugging Face Transformers'a katkıda bulunmuştur.
SuperPoint
SuperPoint, ilgi noktası algılama ve betimleme için tam konvolüsyonel bir ağın özdenetimli eğitimle elde edilen sonucudur. Model, homografik dönüşümler altında tekrarlanabilir ilgi noktalarını algılayabilir ve her nokta için bir betimleyici sağlayabilir. Tek başına kullanımı sınırlıdır ancak homografi tahmini ve görüntü eşleştirme gibi diğer görevler için bir özellik çıkarıcı olarak kullanılabilir.
Tüm orijinal SuperPoint checkpoint'lerini Magic Leap Community kuruluşu altında bulabilirsiniz.
Bu model stevenbucaille tarafından katkıda bulunmuştur.
SuperPoint modelleri hakkında farklı bilgisayarla görme görevlerine nasıl uygulanacağına dair daha fazla örnek için sağ kenar çubuğundaki SuperPoint modellerine tıklayın.
Aşağıdaki örnek, AutoModel sınıfı kullanılarak bir görüntüde ilgi noktalarının nasıl algılandığını göstermektedir.
import requests
import torch
from PIL import Image
from transformers import AutoImageProcessor, SuperPointForKeypointDetection
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
processor = AutoImageProcessor.from_pretrained("magic-leap-community/superpoint")
model = SuperPointForKeypointDetection.from_pretrained("magic-leap-community/superpoint", device_map="auto")
inputs = processor(image, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model(**inputs)
# Post-process to get keypoints, scores, and descriptors
image_size = (image.height, image.width)
processed_outputs = processor.post_process_keypoint_detection(outputs, [image_size])Notlar
SuperPoint, görüntü başına dinamik sayıda anahtar nokta üretir; bu da değişken uzunluklu özellik temsilleri gerektiren görevler için uygun olmasını sağlar.
from transformers import AutoImageProcessor, SuperPointForKeypointDetection import torch from PIL import Image import requests processor = AutoImageProcessor.from_pretrained("magic-leap-community/superpoint") model = SuperPointForKeypointDetection.from_pretrained("magic-leap-community/superpoint", device_map="auto") url_image_1 = "http://images.cocodataset.org/val2017/000000039769.jpg" image_1 = Image.open(requests.get(url_image_1, stream=True).raw) url_image_2 = "http://images.cocodataset.org/test-stuff2017/000000000568.jpg" image_2 = Image.open(requests.get(url_image_2, stream=True).raw) images = [image_1, image_2] inputs = processor(images, return_tensors="pt").to(model.device) # Example of handling dynamic keypoint output outputs = model(**inputs) keypoints = outputs.keypoints # Shape varies per image scores = outputs.scores # Confidence scores for each keypoint descriptors = outputs.descriptors # 256-dimensional descriptors mask = outputs.mask # Value of 1 corresponds to a keypoint detectionModel, tek bir ileri geçişte hem anahtar nokta koordinatlarını hem de bunlara karşılık gelen tanımlayıcıları (256 boyutlu vektörler) sağlar.
Birden fazla görüntü için toplu işleme yaparken, her görüntüye ait ilgili bilgileri almak için mask özniteliğini kullanmanız gerekir. Her görüntünün bilgilerini almak için
SuperPointImageProcessor'danpost_process_keypoint_detectionişlevini kullanabilirsiniz.# Batch processing example images = [image1, image2, image3] inputs = processor(images, return_tensors="pt").to(model.device) outputs = model(**inputs) image_sizes = [(img.height, img.width) for img in images] processed_outputs = processor.post_process_keypoint_detection(outputs, image_sizes)Ardından, sonucu görselleştirmek için anahtar noktaları seçtiğiniz görüntü üzerinde yazdırabilirsiniz:
import matplotlib.pyplot as plt plt.axis("off") plt.imshow(image_1) plt.scatter( outputs[0]["keypoints"][:, 0], outputs[0]["keypoints"][:, 1], c=outputs[0]["scores"] * 100, s=outputs[0]["scores"] * 50, alpha=0.8 ) plt.savefig(f"output_image.png")

Kaynaklar
- Çıkarım ve görselleştirme örneği için bu defterine bakın.
SuperPointConfig
sınıf transformers.SuperPointConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneencoder_hidden_sizes: list[int] | tuple[int, ...] = (64, 64, 128, 128)decoder_hidden_size: int = 256keypoint_decoder_dim: int = 65descriptor_decoder_dim: int = 256keypoint_threshold: float = 0.005max_keypoints: int = -1nms_radius: int = 4border_removal_distance: int = 4initializer_range: float = 0.02 )
Parametreler
- encoder_hidden_sizes (
List, isteğe bağlı, varsayılan[64, 64, 128, 128]) — Encoder'daki her konvolüsyon katmanındaki kanal sayısı. - decoder_hidden_size (
int, isteğe bağlı, varsayılan256) — Gizli temsillerin boyutu. - keypoint_decoder_dim (
int, isteğe bağlı, varsayılan 65) — Keypoint decoder'ın çıktı boyutu. - descriptor_decoder_dim (
int, isteğe bağlı, varsayılan 256) — Açıklayıcı çözücünün (descriptor decoder) çıktı boyutu. - keypoint_threshold (
float, isteğe bağlı, varsayılan 0.005) — Anahtar noktaları çıkarmak için kullanılacak eşik. - max_keypoints (
int, isteğe bağlı, varsayılan -1) — Çıkarılacak maksimum anahtar nokta sayısı.-1ise tüm anahtar noktalar çıkarılır. - nms_radius (
int, isteğe bağlı, varsayılan 4) — Non-maximum suppression için yarıçap. - border_removal_distance (
int, isteğe bağlı, varsayılan 4) — Anahtar noktaları kaldırmak için kenardan uzaklık. - initializer_range (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması.
Bu, bir SuperpointModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Superpoint modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, magic-leap-community/superpoint modelinin yapılandırmasına benzer bir yapılandırma üretir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Örnek:
>>> from transformers import SuperPointConfig, SuperPointForKeypointDetection
>>> # Initializing a SuperPoint superpoint style configuration
>>> configuration = SuperPointConfig()
>>> # Initializing a model from the superpoint style configuration
>>> model = SuperPointForKeypointDetection(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configSuperPointImageProcessor
sınıf transformers.SuperPointImageProcessor
< source >( **kwargs: *<class 'transformers.models.superpoint.image_processing_superpoint.SuperPointImageProcessorKwargs'> )
Parametreler
- do_convert_rgb (
bool, kwargs, opsiyonel) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi. - do_resize (
bool, kwargs, isteğe bağlı, varsayılanTrue) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, varsayılan{'height' -- 480, 'width': 640}): Modelin kabul ettiği maksimum giriş boyutlarını açıklar. - default_to_square (
bool, kwargs, isteğe bağlı, varsayılanFalse) — size bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağı. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) —center_cropuygulandıktan sonra çıktı görüntüsünün boyutu. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, varsayılan2) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, isteğe bağlı, varsayılanTrue) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel, varsayılan0.00392156862745098) —do_rescaleTrueolarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü. - do_normalize (
bool, kwargs, opsiyonel, varsayılanNone) — Görselin normalize edilip edilmeyeceğini belirtir. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızcado_normalizeTrueolarak ayarlanırsa etkilidir. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızcado_normalizeTrueolarak ayarlanmışsa etkilidir. - do_pad (
bool, kwargs, opsiyonel) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, partideki en büyük boyuta veya görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut,{"height": int, "width" int}biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır.pad_sizesağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızcado_pad=True.olduğunda uygulanır. - do_center_crop (
bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — YalnızcaChannelDimension.FIRSTdesteklenir. Yavaş işleyicilerle uyumluluk için eklendi. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:"channels_first"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.NONE: (height, width) biçiminde görüntü.
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) —'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır. - do_grayscale (
bool, kwargs, opsiyonel, varsayılanself.do_grayscale) — Görselin gri tonlamaya dönüştürülüp dönüştürülmeyeceğini belirtir.preprocessyöntemindekido_grayscaleile geçersiz kılınabilir.
Bir SuperPointImageProcessor görüntü işleyicisi oluşturur.
ön işleme
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]*argsimage_like_kwargs: dict[str, typing.Any] | None = None**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> ) → ~image_processing_base.BatchFeature
Parametreler
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Ön işleme uygulanacak görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsado_rescale=Falseolarak ayarlayın. - image_like_kwargs (
dict[str, Any], isteğe bağlı) — Ayrıca ön işleme yapılacak ek görüntü benzeri girdiler için geliştirici bayrağı. Girdileri kwarg olarak geçirmek işe yaramadığında yalnızca bu bayrağı kullanın. Örneğin,preprocess(images, masks=masks)tercih edilen seçenektir ancak bazı modellerde argüman öncelik sorunlarına yol açar. Bu durumlarda bunun yerinepreprocess(images, image_like_inputs={"masks": masks})kullanılabilir. - do_convert_rgb (
bool, kwargs, opsiyonel) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi. - do_resize (
bool, kwargs, opsiyonel) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Modelin kabul ettiği maksimum giriş boyutlarını açıklar. - default_to_square (
bool, kwargs, opsiyonel) — Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntüye geçilip geçilmeyeceği. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) —center_cropuygulandıktan sonra çıktı görüntüsünün boyutu. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, opsiyonel) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel) —do_rescaleTrueolarak ayarlanırsa görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü. - do_normalize (
bool, kwargs, opsiyonel) — Görselin normalize edilip edilmeyeceği. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızcado_normalizeTrueolarak ayarlanırsa etkilidir. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızcado_normalizeTrueolarak ayarlanmışsa etkilidir. - do_pad (
bool, kwargs, opsiyonel) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, partideki en büyük boyuta veya görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut,{"height": int, "width" int}biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır.pad_sizesağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızcado_pad=True.olduğunda uygulanır. - do_center_crop (
bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — YalnızcaChannelDimension.FIRSTdesteklenir. Yavaş işleyicilerle uyumluluk için eklendi. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:"channels_first"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.NONE: (height, width) biçiminde görüntü.
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) —'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.
Dönüş değeri
~image_processing_base.BatchFeature
- data (
dict) — call yönteminin döndürdüğü listeler/diziler/tensörler sözlüğü (‘pixel_values’ vb.). - tensor_type (
Union[None, str, TensorType], isteğe bağlı) — Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.
Bir görüntüyü veya bir görüntü grubunu ön işleme tabi tutun.
SuperPointImageProcessorPil
sınıf transformers.SuperPointImageProcessorPil
< source >( **kwargs: *<class 'transformers.models.superpoint.image_processing_pil_superpoint.SuperPointImageProcessorKwargs'> )
Parametreler
- do_convert_rgb (
bool, kwargs, opsiyonel) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi. - do_resize (
bool, kwargs, isteğe bağlı, varsayılanTrue) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs, varsayılan{'height' -- 480, 'width': 640}): Modelin kabul ettiği maksimum giriş boyutlarını açıklar. - default_to_square (
bool, kwargs, isteğe bağlı, varsayılanFalse) — size bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntü kullanılıp kullanılmayacağı. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) —center_cropuygulandıktan sonra çıktı görüntüsünün boyutu. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs, varsayılan2) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, isteğe bağlı, varsayılanTrue) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel, varsayılan0.00392156862745098) —do_rescaleTrueolarak ayarlandığında görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü. - do_normalize (
bool, kwargs, opsiyonel, varsayılanNone) — Görselin normalize edilip edilmeyeceğini belirtir. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızcado_normalizeTrueolarak ayarlanırsa etkilidir. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızcado_normalizeTrueolarak ayarlanmışsa etkilidir. - do_pad (
bool, kwargs, opsiyonel) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, partideki en büyük boyuta veya görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut,{"height": int, "width" int}biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır.pad_sizesağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızcado_pad=True.olduğunda uygulanır. - do_center_crop (
bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — YalnızcaChannelDimension.FIRSTdesteklenir. Yavaş işleyicilerle uyumluluk için eklendi. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:"channels_first"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.NONE: (height, width) biçiminde görüntü.
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) —'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır. - do_grayscale (
bool, kwargs, opsiyonel, varsayılanself.do_grayscale) — Görselin gri tonlamaya dönüştürülüp dönüştürülmeyeceğini belirtir.preprocessyöntemindekido_grayscaleile geçersiz kılınabilir.
Bir SuperPointImageProcessor görüntü işleyicisi oluşturur.
ön işleme
< source >( images: typing.Union[ForwardRef('PIL.Image.Image'), numpy.ndarray, ForwardRef('torch.Tensor'), list['PIL.Image.Image'], list[numpy.ndarray], list['torch.Tensor']]*argsimage_like_kwargs: dict[str, typing.Any] | None = None**kwargs: *<class 'transformers.processing_utils.ImagesKwargs'> ) → ~image_processing_base.BatchFeature
Parametreler
- images (
Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]]) — Ön işleme uygulanacak görüntü. Piksel değerleri 0 ile 255 arasında değişen tek bir görüntü veya görüntü grubu beklenir. Piksel değerleri 0 ile 1 arasında olan görüntüler geçiriliyorsado_rescale=Falseolarak ayarlayın. - image_like_kwargs (
dict[str, Any], isteğe bağlı) — Ayrıca ön işleme yapılacak ek görüntü benzeri girdiler için geliştirici bayrağı. Girdileri kwarg olarak geçirmek işe yaramadığında yalnızca bu bayrağı kullanın. Örneğin,preprocess(images, masks=masks)tercih edilen seçenektir ancak bazı modellerde argüman öncelik sorunlarına yol açar. Bu durumlarda bunun yerinepreprocess(images, image_like_inputs={"masks": masks})kullanılabilir. - do_convert_rgb (
bool, kwargs, opsiyonel) — Görselin RGB'ye dönüştürülüp dönüştürülmemesi. - do_resize (
bool, kwargs, opsiyonel) — Görselin yeniden boyutlandırılıp boyutlandırılmayacağı. - size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Modelin kabul ettiği maksimum giriş boyutlarını açıklar. - default_to_square (
bool, kwargs, opsiyonel) — Boyut bir int ise, yeniden boyutlandırma sırasında varsayılan olarak kare bir görüntüye geçilip geçilmeyeceği. - crop_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) —center_cropuygulandıktan sonra çıktı görüntüsünün boyutu. - resample (
Annotated[Union[int, PILImageResampling, NoneType], None], kwargs) — Görsel yeniden boyutlandırılıyorsa kullanılacak yeniden örnekleme filtresi. Bu,PILImageResamplingenum değerlerinden biri olabilir. Yalnızcado_resizeTrueolarak ayarlanırsa etkilidir. - do_rescale (
bool, kwargs, opsiyonel) — Görselin yeniden ölçeklendirilip ölçeklendirilmeyeceği. - rescale_factor (
float, kwargs, opsiyonel) —do_rescaleTrueolarak ayarlanırsa görüntüyü yeniden ölçeklemek için kullanılan yeniden ölçekleme faktörü. - do_normalize (
bool, kwargs, opsiyonel) — Görselin normalize edilip edilmeyeceği. - image_mean (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü ortalaması. Yalnızcado_normalizeTrueolarak ayarlanırsa etkilidir. - image_std (
Union[float, list[float], tuple[float, ...]], kwargs, opsiyonel) — Normalizasyon için kullanılacak görüntü standart sapması. Yalnızcado_normalizeTrueolarak ayarlanmışsa etkilidir. - do_pad (
bool, kwargs, opsiyonel) — Görselin dolgu (padding) uygulanıp uygulanmayacağı. Dolgu, partideki en büyük boyuta veya görsel başına sabit kare bir boyuta yapılır. Kesin dolgu stratejisi modele bağlıdır. - pad_size (
Annotated[int | list[int] | tuple[int, ...] | dict[str, int] | None, None], kwargs) — Görsellerin doldurulacağı boyut,{"height": int, "width" int}biçiminde. Ön işleme için sağlanan herhangi bir görsel boyutundan büyük olmalıdır.pad_sizesağlanmazsa, görseller batch içindeki en büyük yüksekliğe ve genişliğe doldurulur. Yalnızcado_pad=True.olduğunda uygulanır. - do_center_crop (
bool, kwargs, opsiyonel) — Görselin ortadan kırpılıp kırpılmayacağı. - data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — YalnızcaChannelDimension.FIRSTdesteklenir. Yavaş işleyicilerle uyumluluk için eklendi. - input_data_format (
Union[str, ~image_utils.ChannelDimension], kwargs, isteğe bağlı) — Girdi görüntüsü için kanal boyutu biçimi. Ayarlanmazsa, kanal boyutu biçimi girdi görüntüsünden çıkarılır. Aşağıdakilerden biri olabilir:"channels_first"veyaChannelDimension.FIRST: (num_channels, height, width) biçiminde görüntü."channels_last"veyaChannelDimension.LAST: (yükseklik, genişlik, kanal sayısı) biçiminde görüntü."none"veyaChannelDimension.NONE: (height, width) biçiminde görüntü.
- device (
Annotated[Union[str, torch.device, NoneType], None], kwargs) — Videoların işleneceği cihaz. Ayarlanmamışsa, cihaz girdi videolarından çıkarılır. - return_tensors (
Annotated[str | ~utils.generic.TensorType | None, None], kwargs) —'pt'olarak ayarlanırsa yığılmış tensörler döndürür, aksi takdirde tensör listesi döndürür. - disable_grouping (
bool, kwargs, opsiyonel) — Görsellerin boyuta göre gruplandırılmasını devre dışı bırakıp onları toplu olarak değil, bireysel olarak işlenmesini belirtir. None ise, görseller CPU üzerindeyse True, aksi halde False olarak ayarlanır. Bu seçim, burada ayrıntılandırıldığı üzere ampirik gözlemlere dayanmaktadır: https://github.com/huggingface/transformers/pull/38157 - image_seq_length (
int, kwargs, isteğe bağlı) — Girdideki her görüntü için kullanılacak görüntü jetonlarının sayısı. Geriye dönük uyumluluk için eklendi ancak gelecekteki modellerde bu, bir işlemci özniteliği olarak ayarlanmalıdır.
Dönüş değeri
~image_processing_base.BatchFeature
- data (
dict) — call yönteminin döndürdüğü listeler/diziler/tensörler sözlüğü (‘pixel_values’ vb.). - tensor_type (
Union[None, str, TensorType], isteğe bağlı) — Başlatma sırasında PyTorch/Numpy Tensörlerindeki tamsayı listelerini dönüştürmek için burada bir tensor_type verebilirsiniz.
Bir görüntüyü veya bir görüntü grubunu ön işleme tabi tutun.
post_process_keypoint_detection
< source >( outputs: SuperPointKeypointDescriptionOutputtarget_sizes: transformers.utils.generic.TensorType | list[tuple] ) → list[Dict]
Parametreler
- outputs (
SuperPointKeypointDescriptionOutput) — Noktaların göreli (x, y) biçiminde, puanlar ve tanımlayıcılarla birlikte yer aldığı modelin ham çıktıları. - target_sizes (
torch.Tensorveyalist[tuple[int, int]]) — Her bir görüntünün hedef boyutunu(height, width)içeren(batch_size, 2)biçiminde bir Tensor veya (tuple[int, int]) demetlerinin listesi. Bu, orijinal görüntü boyutu (herhangi bir işlemden önce) olmalıdır.
Dönüş değeri
list[Dict]
Bir sözlükler listesi; her sözlük, modelin tahminine göre, batch içindeki bir görüntü için target_sizes'e göre mutlak biçimde anahtar noktaları, scores ve descriptors değerlerini içerir.
SuperPointForKeypointDetection'ün ham çıktısını, orijinal görüntü boyutlarına göre mutlak koordinatlara sahip anahtar nokta, skor ve tanımlayıcı listelerine dönüştürür.
SuperPointForKeypointDetection
sınıf transformers.SuperPointForKeypointDetection
< source >( config: SuperPointConfig )
Parametreler
- config (SuperPointConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
SuperPoint modelinin anahtar noktaları ve tanımlayıcıları üretmesi.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( pixel_values: FloatTensorlabels: typing.Optional[torch.LongTensor] = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → SuperPointKeypointDescriptionOutput or tuple(torch.FloatTensor)
Parametreler
- pixel_values (
torch.FloatTensor, şekli(batch_size, num_channels, image_size, image_size)) — Girdi görüntülerine karşılık gelen tensörler. Piksel değerleri SuperPointImageProcessor kullanılarak elde edilebilir. Ayrıntılar için SuperPointImageProcessor.call()'a bakın (processor_class, görüntü işleme için SuperPointImageProcessor kullanır). - labels (
torch.LongTensor, şekli(batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler[0, ..., config.vocab_size]aralığında olmalı ya da -100 olmalı (input_idsdocstring'ine bakın). Endeksleri-100olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri[0, ..., config.vocab_size]aralığında olan tokenlar için hesaplanır. - output_hidden_states (
bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakihidden_statesbölümüne bakın. - return_dict (
bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
Dönüş değeri
SuperPointKeypointDescriptionOutput veya tuple(torch.FloatTensor)
SuperPointKeypointDescriptionOutput veya bir torch.FloatTensor demeti (eğer return_dict=False geçirildiyse veya config.return_dict=False ise), yapılandırmaya (SuperPointConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
SuperPointForKeypointDetection forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
- loss (
torch.FloatTensor, şekli(1,), isteğe bağlı) — Eğitim sırasında hesaplanan kayıp. - keypoints (
torch.FloatTensor, şekli(batch_size, num_keypoints, 2)) — Verilen bir görüntüde tahmin edilen anahtar noktaların göreli (x, y) koordinatları. - scores (
torch.FloatTensor, şekli(batch_size, num_keypoints)) — Tahmin edilen anahtar noktaların skorları. - descriptors (
torch.FloatTensor, şekli(batch_size, num_keypoints, descriptor_size)) — Tahmin edilen anahtar noktaların tanımlayıcıları. - mask (
torch.BoolTensor, şekli(batch_size, num_keypoints)) — keypoints, scores ve descriptors içindeki hangi değerlerin keypoint bilgisi olduğunu gösteren maske. - hidden_states (
tuple(torch.FloatTensor), opsiyonel,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her aşamanın çıktısı için birer tane) içeren bir tuple, şekli(batch_size, sequence_length, hidden_size). Modelin her aşamanın çıktısındaki gizli durumları (feature maps olarak da adlandırılır).
Örnekler:
>>> from transformers import AutoImageProcessor, SuperPointForKeypointDetection
>>> import torch
>>> from PIL import Image
>>> from huggingface_hub.utils import httpx
>>> from io import BytesIO
>>> url = "http://images.cocodataset.org/val2017/000000039769.jpg"
>>> with httpx.stream("GET", url) as response:
... image = Image.open(BytesIO(response.read()))
>>> processor = AutoImageProcessor.from_pretrained("magic-leap-community/superpoint")
>>> model = SuperPointForKeypointDetection.from_pretrained("magic-leap-community/superpoint")
>>> inputs = processor(image, return_tensors="pt")
>>> outputs = model(**inputs)