# PP-OCRv6 (ppocr-v6)

`ppocr-v6`（PP-OCRv6 small）识别截图和裁剪区域中的文字。每一行返回文字、置信度、外接框和四边形，默认还返回字级框。每次调用处理一张图片，与行数无关。

| | |
|---|---|
| 模型 ID | `ppocr-v6`（接口的默认模型） |
| 模型 | PP-OCRv6 small（PaddlePaddle） |
| 权重 | PaddleOCR 官方 PP-OCRv6 small 检测与识别模型 |
| 用例 | [文字识别（OCR）](https://stack.foldbun.com/zh/docs/use-cases/text-recognition/) |
| 接口 | `POST /v1/ocr` |
| 模型池 | 公共池：所有已注册账户可用，每个 UTC 日包含 100 次调用 |
| 计费单位 | `image`。单位与价格：[计费](https://stack.foldbun.com/zh/docs/billing/#价目表) |
| 许可证 | Apache-2.0 |

## 工作原理

一次调用在图片上依次运行两个阶段：文字检测和文字行识别。计费对应的是图片，而不是这两个阶段。

**检测。** 检测模型找出图片中含有文字的区域。每个区域是一个四角形状，因此倾斜的文字行和水平的文字行一样能被定位。结果以该行的 `quad` 和与坐标轴对齐的 `bbox` 返回。

**文字行识别。** 识别模型把每个检测到的区域作为一行读取，返回文字和置信度。低于 `options.minConfidence`（默认 0.5）的行在构建响应前被丢弃。

**字级框。** `options.words`（默认 `true`）开启时，识别器还会定位每一行的各个片段，每一行都带有字级框。模型不为单个字单独打分，因此每个字携带其所在行的置信度。`options.words` 为 `false` 时不返回字级框，响应更小。

该模型不做版面分析：文字行按识别结果原样返回，归并为段落或分栏由调用方自行处理。需要版面时请使用 [`paddleocr-vl`](https://stack.foldbun.com/zh/docs/models/paddleocr-vl/)。两个阶段每次调用各运行一次，且不依赖缓存，因此无论找到多少行或多少个字，一次调用都计为一次 `image`。

## 各用例下的特性

### 文字识别（OCR）

`ppocr-v6` 是 `POST /v1/ocr` 的默认模型，是截图、界面截屏、小票、代码窗口和裁剪区域，以及需要原样复制文字的场景的低成本选择。

- 每次调用一张图片。找到的每一行文字都返回 `text`、`confidence`、`bbox` 和 `quad`；对倾斜文字，`quad` 比 `bbox` 更贴合。
- 字级框默认开启，用于定位行内的单个词元，例如高亮搜索命中，或确定点击位置。空白字符可能单独作为一个字出现。
- `options.minConfidence`（0 至 1，默认 0.5）用于丢弃置信度低的行。
- 不返回版面、阅读顺序、表格和公式。
- 坐标为摆正后的原图的像素：见[限制与说明](#限制与说明)。

用例说明与调用示例：[文字识别（OCR）](https://stack.foldbun.com/zh/docs/use-cases/text-recognition/)。

### 文档解析

`ppocr-v6` 不提供：它返回纯文字行，没有区块、阅读顺序、表格和公式。需要结构的页面请使用 [`paddleocr-vl`](https://stack.foldbun.com/zh/docs/models/paddleocr-vl/#文档解析)。

## 限制与说明

- 每次调用一张图片。图片限制：详见[图片](https://stack.foldbun.com/zh/docs/images/)。
- Stack 在识别前会为模型缩放图片。所有坐标均为摆正后的原图的像素，其尺寸由 `image.width` 和 `image.height` 返回。
- 页面方向校正和展平均已关闭：图片按发送时的样子读取。
- 延迟：录制的调用（用例页面中的调用示例）中 `timing.processingMs` 为 753 ms。该数值取决于图片、排队情况和节点负载，不构成保证。
