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

Метод /classify

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

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

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

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

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

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

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

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

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

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

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

classify

POST https://latest.dbrain.io/classify

Query Parameters

NameTypeDescription

min_shape

integer

>0, по умолчанию 256. Минимальный размер изображения в пикселях по короткой стороне. Если размер меньше, параметр low_image_size в ответе вернётся со значением true. Если больше — false.

min_filesize

integer

>0, по умолчанию 10240. Минимальный вес изображения в байтах. Если вес меньше, параметр low_image_weight в ответе вернётся со значением true. Если больше — false.

max_exposure_score

number

>0, по умолчанию 0.4. Максимальная экспозиция (яркость) изображения. Если яркость больше, параметр image_exposure в ответе вернётся со значением overexposed. Если меньше — normal.

min_exposure_score

number

>0, по умолчанию 0.05. Минимальная экспозиция (яркость) изображения. Если яркость меньше, параметр image_exposure в ответе вернётся со значением underexposed. Если больше — normal.

max_blur_score

number

>0, по умолчанию 2. Минимальный коэффициент чёткости изображения. Если чёткость меньше, параметр image_blured в ответе вернётся со значением true. Если больше — false.

doc_type

array

Перечень типов документов, которые нужно найти во входящем файле. Используется для детерминированных процессов, например, если в потоке требуется найти только главный разворот паспорта, а на все остальные типы ответ не требуется. По умолчанию выбраны все значения параметра (все типы, имеющиеся в классификаторе).

priority

integer

>0, по умолчанию — 1. Приоритет асинхронной задачи в очереди на обработку.

simple_cropper

boolean

false (по умолчанию) — упрощённый алгоритм вырезания документов из изображений не используется true — используется упрощённый алгоритм вырезания документов из изображений: он работает быстрее, но даёт менее точный результат. На изображениях со сложным фоном документы могут быть вырезаны менее аккуратно.

async

boolean

true — асинхронный режим обработки запросов. false — синхронный режим обработки запросов.

check_fake_experimental

boolean

устарело и не используется

check_fake

boolean

true — алгоритм ищет в метаданных файла признаки модификации в цифровых редакторах, результат возвращается в отдельном поле fake. false — алгоритм проверки метаданных отключен.

pdf_raw_images

boolean

true — алгоритм оставляет решение о растеризации PDF параметру auto_pdf_raw_images. false — любой PDF будет принудительно растеризован, значение параметра auto_pdf_raw_images будет проигнорировано.

auto_pdf_raw_images

boolean

true — алгоритм ищет текстовый слой в PDF. Если он найден, PDF будет принудительно растеризован. false — алгоритм никогда не растеризует PDF.

dpi

integer

>0, по умолчанию 300 — устанавливает число пикселей на дюйм при растеризации PDF. Рекомендуется 300. Более высокие значения, как правило, не дают прироста качества, но увеличивают вес изображения.

quality

integer

0-100, по умолчанию 75 — устанавливает степень сжатия JPEG при растеризации PDF. Рекомендуется 75 для баланса между весом изображения и его качеством.

gauss

number

устарело и не используется

with_hitl

boolean

true — отправляет изображения документов на классификацию людьми, работает только для отдельных документов в сборках для конкретных клиентов false — ручная классификация изображений отключена

mode

string

classify_crop и classify_only — отключает вырезание документов из изображения, классификацию проходит изображение целиком. Рекомендуется применять только для полностью контролируемого потока файлов, например, с поточного сканера. default — стандартный режим работы классификатора

task_tags

array

Массив строк, который позволяет присваивать запросу дополнительные идентификаторы. Например можно передавать id пакета документов для биллинга на стороне Dbrain

return_crops

boolean

false — сервис перестаёт возвращать изображения. Функцию можно использовать для экономии трафика и для удобства отладки — с ней ответ сервиса становится более читабельным.

true (по умолчанию) — сервис возвращает в ответе изображения в бинарном формате.

Request Body

NameTypeDescription

image

object

Файл, содержимое которого нужно классифицировать

{
  "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 // кол-во документов во входном файле
}

Last updated