Классификация документов

Метод /classify

Классификатор находит на изображении документы и присваивает им тип. Список поддерживаемых типов документов.

Алгоритм работы метода API /classify

  1. Алгоритм ищет на входящем изображении прямоугольные области, похожие на документы, и вырезает их.

  2. Классификатор присваивает каждой вырезанной области класс: главный разворот паспорта России, водительское удостоверение образца 2011 года, СНИЛС и так далее. По ссылке доступен список поддерживаемых типов документов.

  3. Алгоритм оценивает ориентацию документа в пространстве. При необходимости, классификатор поворачивает или зеркально отражает документ.

Типы вырезанных областей, которые классификатор не поворачивает и не отражает зеркально:

  • other — документ неизвестного типа;

  • not_document — не документ, например, фото кота;

  • empty — пустая страница.

API-спецификация

Ниже представлена API-спецификация для метода классификации документов. Подробнее о том, как составить запрос на классификацию, в разделе Подключение и тестирование.

post
classify

https://latest.dbrain.io/classify
Request
Response
Request
Query Parameters
min_shape
optional
integer
>0, по умолчанию 256. Минимальный размер изображения в пикселях по короткой стороне. Если размер меньше, параметр low_image_weight в ответе вернётся со значением true. Если больше — false.
min_filesize
optional
integer
>0, по умолчанию 10240. Минимальный вес изображения в байтах. Если вес меньше, параметр low_image_weight в ответе вернётся со значением true. Если больше — false.
max_exposure_score
optional
number
>0, по умолчанию 0.4. Максимальная экспозиция (яркость) изображения. Если яркость больше, параметр image_exposure в ответе вернётся со значением overexposed. Если меньше — normal.
min_exposure_score
optional
number
>0, по умолчанию 0.05. Минимальная экспозиция (яркость) изображения. Если яркость меньше, параметр image_exposure в ответе вернётся со значением underexposed. Если больше — normal.
max_blur_score
optional
number
>0, по умолчанию 2. Минимальный коэффициент чёткости изображения. Если чёткость меньше, параметр image_blured в ответе вернётся со значением true. Если больше — false.
doc_type
optional
array
Перечень типов документов, которые нужно найти во входящем файле. Используется для детерминированных процессов, например, если в потоке требуется найти только главный разворот паспорта, а на все остальные типы ответ не требуется. По умолчанию выбраны все значения параметра (все типы, имеющиеся в классификаторе).
priority
optional
integer
>0, по умолчанию — 1. Приоритет асинхронной задачи в очереди на обработку.
simple_cropper
optional
boolean
false (по умолчанию) — упрощённый алгоритм вырезания документов из изображений не используется true — используется упрощённый алгоритм вырезания документов из изображений: он работает быстрее, но даёт менее точный результат. На изображениях со сложным фоном документы могут быть вырезаны менее аккуратно.
async
optional
boolean
true — асинхронный режим обработки запросов. false — синхронный режим обработки запросов.
check_fake_experimental
optional
boolean
устарело и не используется
check_fake
optional
boolean
true — алгоритм ищет в метаданных файла признаки модификации в цифровых редакторах, результат возвращается в отдельном поле fake. false — алгоритм проверки метаданных отключен.
pdf_raw_images
optional
boolean
true — алгоритм оставляет решение о растеризации PDF параметру auto_pdf_raw_images. false — любой PDF будет принудительно растеризован, значение параметра auto_pdf_raw_images будет проигнорировано.
auto_pdf_raw_images
optional
boolean
true — алгоритм ищет текстовый слой в PDF. Если он найден, PDF будет принудительно растеризован. false — алгоритм никогда не растеризует PDF.
dpi
optional
integer
>0, по умолчанию 300 — устанавливает число пикселей на дюйм при растеризации PDF. Рекомендуется 300. Более высокие значения, как правило, не дают прироста качества, но увеличивают вес изображения.
quality
optional
integer
0-100, по умолчанию 75 — устанавливает степень сжатия JPEG при растеризации PDF. Рекомендуется 75 для баланса между весом изображения и его качеством.
gauss
optional
number
устарело и не используется
with_hitl
optional
boolean
true — отправляет изображения документов на классификацию людьми, работает только для отдельных документов в сборках для конкретных клиентов false — ручная классификация изображений отключена
mode
optional
string
classify_crop и classify_only — отключает вырезание документов из изображения, классификацию проходит изображение целиком. Рекомендуется применять только для полностью контролируемого потока файлов, например, с поточного сканера. default — стандартный режим работы классификатора
Body Parameters
image
required
object
Файл, содержимое которого нужно классифицировать
Response
200: OK
Запрос успешно обработан. В атрибуте "crop" представлено извлеченное и корректно ориентированное изображение найденного документа в бинарном формате. В атрибуте "type" указан тип найденного документа.
{
"detail": [ // техническая информация
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
],
"items": [
{
"document": {
"type": "bank_card", // тип документа
"page": 0, // номер страницы входного файла, на которой найден документ
"rotation": 0, // 4 варианта поворота документа на 90 градусов х 2 варианта отзеркаливания
"coords": [ // координаты изображения документа во входном файле
[
0
]
]
},
"crop": "string", // изображение документа в бинарном формате
"image_exposure": "normal", // экспозиция изображения документа
"image_blured": false, // чёткость изображения документа
"low_image_resolution": true, // разрешение изображения документа
"low_image_weight": true // вес изображения документа
}
],
"task_id": "string", // внутренний id задачи
"code": 0, // код ответа
"message": "string", // сообщение об ошибке в рамках объекта
"errno": 0, // номер ошибки
"traceback": "string", // сообщение об ошибке в рамках объекта
"fake": true, // ответ при параметре check_fake = "true"
"pages_count": 1, // кол-во страниц во входном файле
"docs_count": 1 // кол-во документов во входном файле
}
422: Unprocessable Entity
Запрос содержит недопустимые входные параметры
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}