Оптическое распознавание символов Azure Cognitive Services дает разные результаты - как исправить?

У Azure CS есть демонстрация OCR (конечная точка westcentralus) на

https://azure.microsoft.com/en-us/services/cognitive-services/computer-vision/?v=18.05

На плохом тестовом изображении (которое, боюсь, я не могу опубликовать, потому что это документ, удостоверяющий личность), я получаю результаты OCR, которые на 100% соответствуют фактическому тексту для трех тестовых случаев - замечательно.

Однако, когда я следую образцу по указанному ниже URL-адресу с конечной точкой westeurope, я получаю худшие результаты распознавания текста - отсутствует какой-то текст:

https://docs.microsoft.com/en-us/azure/cognitive-services/Computer-vision/quickstarts/python-print-text.

Почему это? Более конкретно - как мне получить доступ к конечной точке v = 18.05?

Спасибо за скорую помощь.


person jtlz2    schedule 19.06.2018    source источник
comment
PS Модераторы: Я знаю, что это зависит от службы, но Azure использует stackoverflow для решения технических вопросов. Также: если вопрос неясен, предложите конструктивные улучшения, а не просто голосование против. Спасибо!   -  person jtlz2    schedule 19.06.2018


Ответы (1)


Думаю, я понял вашу точку зрения: вы не используете одну и ту же операцию между двумя упомянутыми вами страницами.

Если вы читаете абзац непосредственно над рабочей демонстрацией, вы упоминаете здесь говорится:

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

И если вы посмотрите другую документацию, на которую указываете (this one), они используют операцию OCR:

vision_base_url = "https://westcentralus.api.cognitive.microsoft.com/vision/v2.0/"

ocr_url = vision_base_url + "ocr"

Поэтому, если вы хотите использовать эту новую предварительную версию, измените операцию на recognizeText

Он доступен в регионе Западной Европы (см. здесь a>), и я сделал быстрый тест: образцы, представленные на демонстрационной странице Azure, работают с этой операцией, а не с другой.

Но на этот раз для операции нужно 2 вызова:

  • Одна операция POST для отправки вашего запроса (recognizeText операция), где вы получите 202 Accepted ответ с operationId
  • Одна операция GET для получения результатов (textOperations операция) с вашим OperationId из предыдущего шага. Например: https://westeurope.api.cognitive.microsoft.com/vision/v2.0/textOperations/yourOperationId

ДЕМО:

Для знака ЗАКРЫТО из Microsoft Demos:

Результат с оптическим распознаванием текста:

{
  "language": "unk",
  "orientation": "NotDetected",
  "textAngle": 0.0,
  "regions": []
}

Результат с RecognizeText:

{
  "status": "Succeeded",
  "recognitionResult": {
    "lines": [{
      "boundingBox": [174, 488, 668, 675, 617, 810, 123, 622],
      "text": "CLOSED",
      "words": [{
        "boundingBox": [164, 494, 659, 673, 621, 810, 129, 628],
        "text": "CLOSED"
      }]
    }, {
      "boundingBox": [143, 641, 601, 811, 589, 843, 132, 673],
      "text": "WHEN ONE DOOR CLOSES, ANOTHER",
      "words": [{
        "boundingBox": [147, 646, 217, 671, 205, 698, 134, 669],
        "text": "WHEN"
      }, {
        "boundingBox": [230, 675, 281, 694, 269, 724, 218, 703],
        "text": "ONE"
      }, {
        "boundingBox": [291, 697, 359, 722, 348, 754, 279, 727],
        "text": "DOOR"
      }, {
        "boundingBox": [370, 726, 479, 767, 469, 798, 359, 758],
        "text": "CLOSES,"
      }, {
        "boundingBox": [476, 766, 598, 812, 588, 839, 466, 797],
        "text": "ANOTHER"
      }]
    }, {
      "boundingBox": [56, 668, 645, 886, 633, 919, 44, 700],
      "text": "OPENS.ALL YOU HAVE TO DO IS WALK IN",
      "words": [{
        "boundingBox": [74, 677, 223, 731, 213, 764, 65, 707],
        "text": "OPENS.ALL"
      }, {
        "boundingBox": [233, 735, 291, 756, 280, 789, 223, 767],
        "text": "YOU"
      }, {
        "boundingBox": [298, 759, 377, 788, 367, 821, 288, 792],
        "text": "HAVE"
      }, {
        "boundingBox": [387, 792, 423, 805, 413, 838, 376, 824],
        "text": "TO"
      }, {
        "boundingBox": [431, 808, 472, 824, 461, 855, 420, 841],
        "text": "DO"
      }, {
        "boundingBox": [479, 826, 510, 838, 499, 869, 468, 858],
        "text": "IS"
      }, {
        "boundingBox": [518, 841, 598, 872, 587, 901, 506, 872],
        "text": "WALK"
      }, {
        "boundingBox": [606, 875, 639, 887, 627, 916, 594, 904],
        "text": "IN"
      }]
    }]
  }
}
person Nicolas R    schedule 19.06.2018
comment
Это абсолютно потрясающе - большое спасибо - работает для меня - я хотел бы проголосовать за это больше одного раза !! - person jtlz2; 20.06.2018