Dbrain
Ask or search…
K
Comment on page

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

Проверяем наличие требуемого списка документов в файле и аккуратно раскладываем по типам
«Классификация документов» поможет в обработке многостраничных сканов с поточного сканера или в предварительной обработке заявки на налоговый вычет. Он пригодится и в простых случаях, когда нужно убедиться, что на изображении именно тот документ, который вы запрашивали.

Сервис классификации:

  1. 1.
    Работает и с фотографиями, и со сканами документов.
  2. 2.
    Находит на изображении все документы, даже если на одном скане будет паспорт, СНИЛС и водительские права.
  3. 3.
    Отделяет документы от фона, например от бабушкиного ковра или от ваших рук.
  4. 4.
    Поворачивает и при необходимости зеркально отражает.
  5. 5.
    Присваивает тип каждому найденному документу. Все документы, которые сейчас умеем классифицировать и распознавать перечислили в разделе «Типы документов».
Обратите внимание на специальные типы документов, которые возвращает классификатор:
  • other — документ неизвестного типа;
  • not_document — не документ, например, фото кота;
  • empty — пустая страница.

Как начать работать с сервисом классификации документов

Описали популярные способы взаимодействия с сервисом. Для любого из них вам потребуется ключ лицензии. Чтобы получить ключ, напишите нам в телеграм или на [email protected].
Подготовьте изображение документа для теста. Если у вас такого нет, используйте паспорт РФ из Википедии.
Через терминал
Обратитесь к методу /classify по адресу latest.dbrain.io. В этом способе только два обязательных параметра:
  • token — ваш ключ лицензии
  • image — файл с изображением документа
Таким образом, curl запрос должен выглядеть так:
curl -X 'POST' \
'https://latest.dbrain.io/classify?token=xxx' \
-H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-F '[email protected];type=image/jpeg'
Через Swagger
  • Подготовьте ваш ключ лицензии.
  • Откройте Swagger и нажмите кнопку Authorize в правом верхнем углу
  • Введите свой токен в любое поле и нажмите Authorize
  • Прокрутите вниз до раздела Documents, нажмите на метод /classify
  • В открывшемся разделе нажмите на кнопку Try it out
  • Прокрутите страницу вниз до раздела Request body
  • Нажмите на кнопку Выберите файл пункта image
  • Укажите изображение, которое нужно распознать
  • Нажмите кнопку Execute
  • Ответ сервиса появится в пункте Response body раздела Responses
  • Полученный на этом этапе Curl мы рекомендуем использовать как основу для написания интеграции с API сервиса Dbrain.
Через веб-демо
  1. 1.
    Откройте demo.dbrain.io
  2. 2.
    Введите ключ лицензии в поле «Введите токен»
  3. 3.
    Нажмите кнопку «Выберите файлы для распознавания»
  4. 4.
    Укажите изображение, которое нужно распознать
  5. 5.
    Нажмите кнопку «Классифицировать»
Через Python
import requests
url = 'https://latest.dbrain.io/classify?token=xxx'
files = {'image': open('image.jpg', 'rb')}
headers = {'accept': 'application/json'}
response = requests.post(url, headers=headers, files=files)
Код использует библиотеку requests для отправки POST-запроса с файлом изображения. Функция open() используется для открытия файла изображения в двоичном режиме и передачи его в параметр files. Параметр headers используется для установки заголовка accept в значение application/json. Ответ от сервера сохраняется в переменной response.
Тело запроса передавайте в кодировке UTF-8.

Параметры запроса к API

Возврат найденных областей изображения

return_crops — boolean
Поведение по умолчанию: return_crops=true — сервис возвращает изображения найденных документов в параметре crop.
Если вам не нужны найденные сервисом изображения документов, например, в целях экономии трафика, укажите return_crops=false.
Перед началом работы с сервисами, советуем заглянуть в раздел «Общая информация о сервисах». В нем перечислили форматы файлов, которые поддерживают сервисы, описали общие для всех сервисов параметры API, а также расшифровали коды ошибок.

В ответе API:

  • task_id — string, идентификатор запроса, формат: 32 символа, 16-ричная строка
  • items — массив, который содержит найденные документы
    • document — объект, который содержит один из найденных документов
      • type— string, тип найденного документа, возможные типы перечислены в таблице выше
      • rotation — integer, ориентация документа
      • coords — массив, координаты документа на изображении по четырём точкам: верхний левый угол, верхний правый, нижний левый, нижний правый
      • page — integer, номер страницы, на котором найден документ, актуально для многостраничных форматов, например PDF
      • confidence — number, уровень уверенности алгоритма в корректности определения типа документа
    • crop — $string, изображение документа, отделённое от фона и правильно ориентированное, в бинарном формате
  • task_tags — массив string, теги, если они переданы в параметре task_tags
  • page_count — integer, число страниц в файле, актуально для PDF и DJVU
  • docs_count — integer, число распознанных документов в файле
  • traceback — string, сообщение об ошибке, которое содержит информацию о том, где произошла ошибка в коде и какие функции были вызваны перед ней. Это сообщение может помочь разработчикам понять причину возникновения ошибки и исправить ее. Передайте её нашей службе поддержки.
Остальные поля не несут практического смысла. Оставили их для совместимости со старыми версиями.
Last modified 18d ago