Transformers documentation
PP-OCRv5_mobile_det
تمت مساهمة هذا النموذج في Hugging Face Transformers في 2026-03-13.
PP-OCRv5_mobile_det
نظرة عامة
PP-OCRv5_mobile_det هو نموذج خفيف مخصص لكشف النصوص، يركّز تحديداً على الكشف الفعّال وفهم عناصر النص في المستندات متعددة اللغات والمناظر الطبيعية.
بنية النموذج
يُعدّ PP-OCRv5_mobile_det أحد نماذج سلسلة PP-OCRv5_det، وهي أحدث جيل من نماذج كشف النص التي طوّرها فريق PaddleOCR. يهدف هذا النموذج إلى دعم كشف النص بكفاءة ودقة في سيناريوهات متنوعة — بما في ذلك النصوص المكتوبة بخط اليد، والنصوص العمودية، والمائلة، والمنحنية — عبر لغات متعددة مثل الصينية المبسطة، والصينية التقليدية، والإنجليزية، واليابانية. وتشمل الميزات الرئيسية معالجة قوية للتخطيطات المعقدة، وأحجام النص المتغيرة، والخلفيات الصعبة، مما يجعله مناسبًا للتطبيقات العملية مثل تحليل المستندات، والتعرف على لوحات السيارات، وكشف النص في المشاهد.
الاستخدام
الاستدلال على مدخل واحد
يُبيّن المثال أدناه كيفية اكتشاف النص باستخدام PP-OCRV5_Mobile_Det من خلال Pipeline أو AutoModel.
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)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"])الاستدلال المجمّع
إليك الطريقة التي يمكنك من خلالها القيام بذلك باستخدام PP-OCRV5_Mobile_Det مع Pipeline أو AutoModel:
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)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
< source >( config: PPOCRV5MobileDetConfig )
المعاملات
- config (PPOCRV5MobileDetConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نموذج PPOCRV5 Mobile Det الخاص بمهام كشف الكائنات (النص). يغلّف النموذج الأساسي PPOCRV5MobileDetModel ويعيد مخرجات متوافقة مع واجهة برمجة تطبيقات كشف الكائنات في Transformers.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
PPOCRV5MobileDetConfig
فئة transformers.PPOCRV5MobileDetConfig
< 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 = Nonebackbone_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonereduction: int = 4neck_out_channels: int = 96interpolate_mode: str = 'nearest'kernel_list: list[int] | tuple[int, ...] = (3, 2, 2)layer_list_out_channels: list[int] | tuple[int, ...] = (12, 18, 42, 360) )
المعاملات
- backbone_config (
Union[dict, ~configuration_utils.PreTrainedConfig], اختياري) — إعدادات نموذج الهيكل العظمي. - reduction (
int، اختياري، القيمة الافتراضية 4) — معامل الاختزال لأبعاد قنوات الميزات، ويُستخدم لتقليل عدد معاملات النموذج والتعقيد الحسابي مع الحفاظ على قدرة الميزات على التمثيل. - neck_out_channels (
int، اختياري، القيمة الافتراضية 96) — عدد قنوات الإخراج من شبكة العنق، وهي المسؤولة عن دمج الميزات وتحسينها قبل تمريرها إلى شبكة الرأس. - interpolate_mode (
str، اختياري، القيمة الافتراضية"nearest") — وضع الاستيفاء المستخدم لتكبير أو تصغير خرائط الميزات في شبكة العنق. تشمل الأوضاع المدعومة"nearest"(استيفاء الجار الأقرب) و"bilinear". - kernel_list (
List[int]، اختياري، القيمة الافتراضية[3, 2, 2]) — قائمة أحجام النوى للطبقات التلافيفية في شبكة الرأس، وتُستخدم لاستخراج الميزات متعددة المقاييس لكشف مناطق النص ذات الأحجام المختلفة. - layer_list_out_channels (
List[int]، اختياري، القيمة الافتراضية[12, 18, 42, 360]) — قائمة قنوات الإخراج لكل مرحلة من مراحل الهيكل العظمي (backbone)، وتُستخدم لضبط قنوات الإدخال لطبقات RSE في شبكة العنق (neck) من أجل دمج الميزات متعددة المقاييس.
هذه فئة الإعدادات المخزنة لإعدادات نموذج Pp Ocrv5 Mobile DetModel. تُستخدم لاستحداث نموذج Pp Ocrv5 Mobile Det وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ PaddlePaddle/PP-OCRv5_mobile_det_safetensors
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
PPOCRV5MobileDetModel
فئة transformers.PPOCRV5MobileDetModel
< source >( config: PPOCRV5MobileDetConfig )
المعاملات
- config (PPOCRV5MobileDetConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
نواة PP-OCRv5_mobile_det، وتتكون من شبكات Backbone وNeck وHead. تولّد خرائط تجزئة ثنائية للنص لمهام كشف النص.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.