# PP-OCRv5_mobile_det

## Genel Bakış

**PP-OCRv5_mobile_det**, çok dilli belgelerde ve doğal sahnelerde metin öğelerinin verimli algılanması ve anlaşılmasına odaklanan, metin algılama için özel olarak geliştirilmiş hafif bir modeldir.

## Model Mimarisi

PP-OCRv5_mobile_det, PaddleOCR ekibi tarafından geliştirilen en yeni nesil metin algılama modelleri olan PP-OCRv5_det serisinin bir üyesidir. Basitleştirilmiş Çince, Geleneksel Çince, İngilizce ve Japonca gibi birden fazla dilde; el yazısı, dikey, döndürülmüş ve eğri metinler dahil olmak üzere çeşitli senaryolarda metin algılama işlemini verimli ve doğru bir şekilde desteklemeyi hedefler. Öne çıkan özellikleri arasında karmaşık yerleşimlerin, değişken metin boyutlarının ve zorlu arka planların sağlam bir şekilde işlenmesi yer alır; bu da modeli belge analizi, plaka tanıma ve sahne metni algılama gibi pratik uygulamalar için uygun kılar.

## Kullanım

### Tek girişli çıkarım

Aşağıdaki örnek, [Pipeline](/docs/transformers/main/tr/main_classes/pipelines#transformers.Pipeline) veya [AutoModel](/docs/transformers/main/tr/model_doc/auto#transformers.AutoModel) kullanarak PP-OCRV5_Mobile_Det ile metin algılamanın nasıl yapılacağını göstermektedir.

```python
import requests
from PIL import Image

from transformers import pipeline

image = Image.open(
    requests.get(
        "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_001.png", stream=True
    ).raw)
detector = pipeline(
    task="object-detection",
    model="PaddlePaddle/PP-OCRV5_mobile_det_safetensors",
    device_map="auto",
)
results = detector(image)

for result in results:
    print(result)
```

```python
import requests
from PIL import Image

from transformers import AutoImageProcessor, AutoModelForObjectDetection

model_path="PaddlePaddle/PP-OCRv5_mobile_det_safetensors"
model = AutoModelForObjectDetection.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)

image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_001.png", stream=True).raw).convert("RGB")
inputs = image_processor(images=image, return_tensors="pt").to(model.device)
outputs = model(**inputs)

results = image_processor.post_process_object_detection(outputs, target_sizes=inputs["target_sizes"])

for result in results:
    print(result["boxes"])
    print(result["scores"])
```

### Toplu çıkarım

PP-OCRV5_Mobile_Det ile bunu [Pipeline](/docs/transformers/main/tr/main_classes/pipelines#transformers.Pipeline) veya [AutoModel](/docs/transformers/main/tr/model_doc/auto#transformers.AutoModel) kullanarak şu şekilde yapabilirsiniz:

```python
import requests
from PIL import Image

from transformers import pipeline

image = Image.open(
    requests.get(
        "https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_001.png", stream=True
    ).raw)
detector = pipeline(
    task="object-detection",
    model="PaddlePaddle/PP-OCRV5_mobile_det_safetensors",
    device_map="auto",
)
results = detector([image, image])

for result in results:
    print(result)
```

```python
import requests
from PIL import Image

from transformers import AutoImageProcessor, AutoModelForObjectDetection

model_path="PaddlePaddle/PP-OCRv5_mobile_det_safetensors"
model = AutoModelForObjectDetection.from_pretrained(model_path, device_map="auto")
image_processor = AutoImageProcessor.from_pretrained(model_path)

image = Image.open(requests.get("https://huggingface.co/datasets/hf-internal-testing/transformers-synthetic-assets/resolve/main/images/paddle_general_ocr_001.png", stream=True).raw).convert("RGB")
inputs = image_processor(images=[image, image], return_tensors="pt").to(model.device)
outputs = model(**inputs)

results = image_processor.post_process_object_detection(outputs, target_sizes=inputs["target_sizes"])

for result in results:
    print(result["boxes"])
    print(result["scores"])
```

## PPOCRV5MobileDetForObjectDetection[[transformers.PPOCRV5MobileDetForObjectDetection]]

#### transformers.PPOCRV5MobileDetForObjectDetection[[transformers.PPOCRV5MobileDetForObjectDetection]]

```python
transformers.PPOCRV5MobileDetForObjectDetection(config: PPOCRV5MobileDetConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pp_ocrv5_mobile_det/modeling_pp_ocrv5_mobile_det.py#L296)

**Parametreler:**

config ([PPOCRV5MobileDetConfig](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_det#transformers.PPOCRV5MobileDetConfig)) : 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()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine bakın.

Nesne (metin) algılama görevleri için PPOCRV5 Mobile Det modeli. Çekirdek PPOCRV5MobileDetModel sınıfını sarar ve Transformers nesne algılama API'siyle uyumlu çıktıları döndürür.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.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 ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#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.

## PPOCRV5MobileDetConfig[[transformers.PPOCRV5MobileDetConfig]]

#### transformers.PPOCRV5MobileDetConfig[[transformers.PPOCRV5MobileDetConfig]]

```python
transformers.PPOCRV5MobileDetConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, backbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, reduction: int = 4, neck_out_channels: int = 96, interpolate_mode: str = 'nearest', kernel_list: list[int] | tuple[int, ...] = (3, 2, 2), layer_list_out_channels: list[int] | tuple[int, ...] = (12, 18, 42, 360))
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pp_ocrv5_mobile_det/configuration_pp_ocrv5_mobile_det.py#L31)

**Parametreler:**

backbone_config (`Union[dict, ~configuration_utils.PreTrainedConfig]`, *isteğe bağlı*) : Omurga modelinin yapılandırması.

reduction (`int`, *opsiyonel*, varsayılan 4) : Özellik kanal boyutları için indirgeme çarpanı; özellik temsil edilebilirliğini korurken model parametre sayısını ve hesaplama karmaşıklığını azaltmak için kullanılır.

neck_out_channels (`int`, *isteğe bağlı*, varsayılan 96) : Özellikleri baş ağına iletmeden önce özellik füzyonu ve iyileştirmesinden sorumlu olan boyun ağından gelen çıktı kanalı sayısı.

interpolate_mode (`str`, *isteğe bağlı*, varsayılan `"nearest"`) : Boyun ağındaki özellik haritalarının büyütülmesi veya küçültülmesinde kullanılan interpolasyon modu. Desteklenen modlar arasında `"nearest"` (en yakın komşu interpolasyonu) ve `"bilinear"` yer alır.

kernel_list (`List[int]`, *opsiyonel*, varsayılan `[3, 2, 2]`) : Baş ağında bulunan konvolüsyon katmanları için çekirdek boyutlarının listesi; farklı boyutlardaki metin bölgelerini tespit etmek için çok ölçekli özellik çıkarımında kullanılır.

layer_list_out_channels (`List[int]`, *opsiyonel*, varsayılan `[12, 18, 42, 360]`) : Çok ölçekli özellik füzyonu için boyun ağındaki RSE katmanlarının giriş kanallarını yapılandırmak kullanılan, her omurga aşaması için çıktı kanalları listesi.

Bu, bir Pp Ocrv5 Mobile DetModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Pp Ocrv5 Mobile Det modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneği oluşturmak, [PaddlePaddle/PP-OCRv5_mobile_det_safetensors](https://huggingface.co/PaddlePaddle/PP-OCRv5_mobile_det_safetensors) yapılandırmasına benzer bir yapılandırma üretir.

Yapılandırma nesneleri [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) sınıfından türetilir ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için [PreTrainedConfig](/docs/transformers/main/tr/main_classes/configuration#transformers.PreTrainedConfig) belgesini okuyun.

## PPOCRV5MobileDetModel[[transformers.PPOCRV5MobileDetModel]]

#### transformers.PPOCRV5MobileDetModel[[transformers.PPOCRV5MobileDetModel]]

```python
transformers.PPOCRV5MobileDetModel(config: PPOCRV5MobileDetConfig)
```

[Kaynak](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pp_ocrv5_mobile_det/modeling_pp_ocrv5_mobile_det.py#L258)

**Parametreler:**

config ([PPOCRV5MobileDetConfig](/docs/transformers/main/tr/model_doc/pp_ocrv5_mobile_det#transformers.PPOCRV5MobileDetConfig)) : 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()](/docs/transformers/main/tr/main_classes/model#transformers.PreTrainedModel.from_pretrained) yöntemine bakın.

Backbone, Neck ve Head ağlarından oluşan temel PP-OCRv5_mobile_det. Metin algılama görevleri için ikili metin segmentasyon haritaları üretir.

Bu model [PreTrainedModel](/docs/transformers/main/tr/main_classes/model#transformers.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 ayarlama, başları budama vb.) için üst sınıf belgelendirmesine bakın.

Bu model aynı zamanda bir PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#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.

