Transformers documentation
PP-OCRv5_mobile_det
Эта модель была добавлена в Hugging Face Transformers 13.03.2026.
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 и возвращает выходные данные, совместимые с API обнаружения объектов в 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) — Количество выходных каналов нейросети neck, которая отвечает за слияние и уточнение признаков перед их передачей в нейросеть head. - interpolate_mode (
str, необязательный, по умолчанию"nearest") — Режим интерполяции, используемый для увеличения или уменьшения размерности карт признаков в neck-сети. Поддерживаемые режимы включают"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 по всем вопросам, связанным с общим использованием и поведением.