Transformers documentation
PP-OCRv5_mobile_det
このモデルは2026年3月13日に Hugging Face Transformers に貢献されました。
PP-OCRv5_mobile_det
概要
PP-OCRv5_mobile_det は、テキスト検出に特化した軽量モデルです。多言語ドキュメントや自然なシーンにおけるテキスト要素の効率的な検出と理解に焦点を当てています。
モデルアーキテクチャ
PP-OCRv5_mobile_det は、PaddleOCR チームが開発した最新世代のテキスト検出モデルシリーズである PP-OCRv5_det の一つです。簡体字中国語、繁体字中国語、英語、日本語など、多様な言語において、手書き文字、縦書き、回転、曲線状のテキストを含む多様なシナリオでのテキスト検出を効率的かつ高精度にサポートすることを目的としています。主な機能として、複雑なレイアウト、異なるテキストサイズ、困難な背景への堅牢な対応があり、文書解析、ナンバープレート認識、シーンテキスト検出などの実用的なアプリケーションに適しています。
使用方法
単一入力推論
以下の例では、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"])バッチ推論
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, 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) — neck ネットワークからの出力チャネル数です。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]) — バックボーンの各ステージの出力チャネル数を指定するリストです。マルチスケール特徴融合のために、ネックネットワーク内の 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() メソッドを参照してください。
Backbone、Neck、Headのネットワークで構成されるコアのPP-OCRv5_mobile_det。 テキスト検出タスク用のバイナリテキストセグメンテーションマップを生成します。
このモデルは PreTrainedModel を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど)については、スーパークラスのドキュメントを参照してください。
このモデルは、PyTorchのtorch.nn.Moduleのサブクラスでもあります。 通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。