Transformers documentation
PP-OCRv5_mobile_det
该模型于 2026-03-13 贡献至 Hugging Face Transformers。
PP-OCRv5_mobile_det
概述
PP-OCRv5_mobile_det 是一款专为文本检测打造的轻量级模型,专注于在多语言文档和自然场景中高效地检测和理解文本元素。
模型架构
PP-OCRv5_mobile_det 是 PP-OCRv5_det 系列中的一员,该系列是 PaddleOCR 团队开发的最新一代文本检测模型。它旨在高效且准确地支持多种场景下的文本检测,包括手写体、竖排、旋转和弯曲文本,并覆盖简体中文、繁体中文、英语和日语等多种语言。其主要特性包括对复杂版面、不同文本尺寸以及具有挑战性的背景具有强大的处理能力,因此适用于文档分析、车牌识别和场景文本检测等实际应用。
用法
单输入推理
以下示例演示了如何使用 Pipeline 或 AutoModel 通过 PP-OCRV5_Mobile_Det 检测文本。
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
class transformers.PPOCRV5MobileDetForObjectDetection
< source >( config: PPOCRV5MobileDetConfig )
参数
- config (PPOCRV5MobileDetConfig) — 模型配置类,包含模型的所有参数。使用配置文件进行初始化时,不会加载与模型关联的权重,仅加载配置。请查看 from_pretrained() 方法以加载模型权重。
用于目标(文本)检测任务的 PPOCRV5 Mobile Det 模型。封装了核心 PPOCRV5MobileDetModel,并返回与 Transformers 目标检测 API 兼容的输出。
该模型继承自 PreTrainedModel。请查阅父类文档,了解该库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、剪枝头等)。
该模型也是 PyTorch torch.nn.Module 的子类。 请将其作为常规的 PyTorch Module 使用,有关通用用法和行为的所有事项,请参阅 PyTorch 文档。
PPOCRV5MobileDetConfig
class 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") — 在 neck 网络中对特征图进行上采样或下采样时使用的插值模式。支持的模式包括"nearest"(最近邻插值)和"bilinear"(双线性插值)。 - kernel_list (
List[int],可选,默认为[3, 2, 2]) — 头网络中卷积层的核大小列表,用于多尺度特征提取,以检测不同大小的文本区域。 - layer_list_out_channels (
List[int],可选,默认为[12, 18, 42, 360]) — 骨干网络各阶段的输出通道数列表,用于配置颈部网络中 RSE 层的输入通道,以实现多尺度特征融合。
这是用于存储 Pp Ocrv5 Mobile DetModel 配置的类。它根据指定的参数实例化 Pp Ocrv5 Mobile Det 模型,并定义模型架构。使用默认值实例化配置将得到与 PaddlePaddle/PP-OCRv5_mobile_det_safetensors 类似的配置。
配置对象继承自 PreTrainedConfig,可用于控制模型输出。有关更多信息,请参阅 PreTrainedConfig 的文档。
PPOCRV5MobileDetModel
class transformers.PPOCRV5MobileDetModel
< source >( config: PPOCRV5MobileDetConfig )
参数
- config (PPOCRV5MobileDetConfig) — 模型配置类,包含模型的所有参数。使用配置文件进行初始化时,不会加载与模型关联的权重,仅加载配置。请查看 from_pretrained() 方法以加载模型权重。
核心 PP-OCRv5_mobile_det,由 Backbone、Neck 和 Head 网络组成。 为文本检测任务生成二值文本分割图。
该模型继承自 PreTrainedModel。请查阅父类文档,了解该库为所有模型实现的通用方法(例如下载或保存、调整输入嵌入大小、剪枝头等)。
该模型也是 PyTorch torch.nn.Module 的子类。 请将其作为常规的 PyTorch Module 使用,有关通用用法和行为的所有事项,请参阅 PyTorch 文档。