Ввод данных из серии изображений, соответствующих шаблонному документу
Иллюстрации
Показать всеГруппа изобретений относится к технологиям оптического распознавания символов (OCR). Техническим результатом является повышение качества извлекаемых данных и обеспечение шумоусточивости. Предложен способ извлечения данных из серии изображений шаблонного документа. Способ содержит этап, на котором осуществляют получение обрабатывающим устройством вычислительной системы текущего изображения из серии изображений копии шаблонного документа, где шаблонный документ имеет по крайней мере один статический элемент и по крайней мере одно информационное поле. Далее, согласно способу, выполняют оптическое распознавание символов (OCR) текущего изображения для получения распознанного текста и соответствующих координат каждого символа распознанного текста. А также, определяют параметры преобразования координат для преобразования координат текущего изображения в координаты шаблона на основании координат опорных точек текущего изображения и шаблона. При этом шаблон содержит текст и координаты как минимум одного статического элемента шаблонного документа и координаты как минимум одного информационного поля шаблонного документа. 6 н. и 21 з.п. ф-лы, 6 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ
[001] Настоящее изобретение в целом относится к вычислительным системам и способам, в частности к системам и способам оптического распознавания символов (OCR), включая системы и способы OCR для извлечения информации из структурированных документов (жестких форм).
УРОВЕНЬ ТЕХНИКИ
[002] Оптическое распознавание символов (OCR) представляет собой реализованное вычислительными средствами преобразование изображений текстов (включая типографский, рукописный или печатный текст) в машиночитаемые электронные документы.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[003] Одним из вариантов реализации изобретения является способ, включающий: (а) получение устройством обработки вычислительной системы текущего изображения из серии изображений копии шаблонного документа при этом созданный по шаблону документ имеет по крайней мере один статический элемент и по крайней мере одно информационное поле; (b) выполнение оптического распознавания символов (OCR) текущего изображения для получения распознанного текста и соответствующих координат каждого символа распознанного текста; (с) определение параметров преобразования координат для преобразования координат текущего изображения в координаты шаблона, при этом шаблон содержит i) текст и координаты как минимум одного статического элемента шаблонного документа и ii) координаты как минимум одного информационного поля шаблонного документа; (d) определение в распознанном тексте для текущего изображения в системе координат шаблона, фрагмента текста, который соответствует информационному полю как минимум одного информационного поля; (е) связывание в системе координат шаблона текстового фрагмента, который соответствует информационному полю, с одним или более кластерами последовательностей символов, при этом текстовый фрагмент получен путем обработки текущего изображения, и при этом последовательности символов получены путем обработки ранее полученных изображений из серии изображений; (f) создание для каждого кластера из одного или более кластеров медианной строки, соответствующей кластеру последовательностей символов информационного поля; и (g) создание с помощью медианной строки каждого из одного или более кластеров итогового распознанного текста, который соответствует исходному тексту информационного поля копии шаблонного документа.
[004] Другим вариантом осуществления изобретения является способ, включающий: (а) получение с помощью устройства обработки вычислительной системы текущего изображения из серии изображений копии шаблонного документа при этом текущее изображение по крайней мере частично совпадает с предыдущим изображением из серии изображений, и шаблонный документ имеет по крайней мере один статический элемент и по крайней мере одно информационное поле; (b) выполнение оптического распознавания символов (OCR) текущего изображения для получения распознанного текста и соответствующих координат для каждого символа распознанного текста; (с) определение параметров преобразования координат для преобразования координат предыдущего изображения в координаты текущего изображения; (d) привязка по крайней мере части распознанного текста к одному или более кластерам последовательностей символов, при этом распознанный текст получен при обработке текущего изображения, и при этом последовательности символов получены путем обработки одного или более ранее полученных изображений из серии изображений; (е) определение параметров преобразования координат для преобразования координат текущего изображения из серии изображений в координаты шаблона шаблонного документа, и при этом шаблон содержит i) текст и координаты как минимум одного статического элемента шаблонного документа и ii) координаты как минимум одного информационного поля шаблонного документа; (f) определение в системе координат шаблона одного или более кластеров последовательностей символов, которые соответствуют информационному полю, как минимум для одного информационного поля; (g) получение для каждого из одного или более кластеров, соответствующих информационному полю, медианной строки, представляющей кластер последовательностей символов информационного поля; и (h) получение с помощью медианной строки каждого из одного или более кластеров итогового распознанного текста, который соответствует исходному тексту информационного поля в копии шаблонного документа.
[005] Другим вариантом реализации изобретения является система, включающая: А) память, выполненную с возможностью сохранения шаблона шаблонного документа, который состоит по крайней мере из одного статического элемента и по крайней мере из одного информационного поля, так что шаблон содержит i) текст и координаты как минимум одного статического элемента шаблонного документа и ii) координаты как минимум одного информационного поля шаблонного документа; В) устройство обработки, соединенное с памятью, причем устройство обработки выполнено с возможностью: (а) получения текущего изображения из серии изображений копии шаблонного документа; (b) выполнения оптического распознавания символов (OCR) текущего изображения для получения распознанного текста и соответствующих координат каждого символа распознанного текста; (с) определения параметров преобразования координат для преобразования координат текущего изображения в координаты шаблона; (d) определения в распознанном тексте для текущего изображения в системе координат шаблона фрагмента текста, который соответствует информационному полю для как минимум одного информационного поля; (е) привязки в системе координат шаблона фрагмента текста, который соответствует информационному полю, к одному или более кластерам последовательностей символов, где фрагмент текста получен при обработке текущего изображения и где последовательности символов получены путем обработки одного или более ранее полученных изображений из серии изображений; (f) создания для каждого кластера из одного или более кластеров медианной строки, представляющей кластер последовательностей символов информационного поля; и (g) создания с помощью медианной строки каждого из одного или более кластеров итогового распознанного текста, который соответствует исходному тексту информационного поля копии шаблонного документа.
[006] Другим вариантом реализации изобретения является система, включающая: А) память, выполненную с возможностью сохранения шаблона шаблонного документа, который состоит по крайней мере из одного статического элемента и по крайней мере из одного информационного поля, так что шаблон содержит i) текст и координаты как минимум одного статического элемента шаблонного документа и ii) координаты как минимум одного информационного поля шаблонного документа; В) устройство обработки, соединенное с памятью, причем устройство обработки выполнено с возможностью: (а) получения текущего изображения из серии изображений копии шаблонного документа; (b) выполнения оптического распознавания символов (OCR) текущего изображения для получения распознанного текста и соответствующих координат для каждого символа распознанного текста; (с) определения параметров преобразования координат для преобразования координат предыдущего изображения в координаты текущего изображения; (d) привязки по крайней мере части распознанного текста к одному или более кластерами последовательностей символов, где распознанный текст получен путем обработки текущего изображения и где последовательности символов получены путем обработки одного или более ранее полученных изображений в серии изображений; (е) определения параметров преобразования координат для преобразования координат текущего изображения из серии изображений в координаты шаблона; (f) определения в системе координат шаблона одного или более кластеров последовательностей символов, которые соответствуют информационному полю для как минимум одного информационного поля; (g) получения для каждого из одного или более кластеров, соответствующих информационному полю, медианной строки, представляющей кластер последовательностей символов информационного поля; и (h) получения с использованием медианной строки каждого из одного или более кластеров итогового распознанного текста, который соответствует исходному тексту информационного поля копии шаблонного документа.
[007] Еще одним из вариантов осуществления изобретения является машиночитаемый постоянный носитель данных, содержащий исполняемые команды, которые при выполнении в обрабатывающем устройстве заставляют это обрабатывающее устройство выполнять операции, включающие: (а) получение устройством обработки вычислительной системы текущего изображения из серии изображений копии шаблонного документа при этом шаблонный документ имеет по крайней мере один статический элемент и по крайней мере одно информационное поле; (b) выполнение оптического распознавания символов (OCR) текущего изображения для получения распознанного текста и соответствующих координат каждого символа распознанного текста; (с) определение параметров преобразования координат для преобразования координат текущего изображения в координаты шаблона, при этом шаблон содержит i) текст и координаты как минимум одного статического элемента шаблонного документа и ii) координаты как минимум одного информационного поля шаблонного документа; (d) определение в распознанном тексте для текущего изображения в системе координат шаблона фрагмента текста, который соответствует информационному полю как минимум одного информационного поля; (е) связывание в системе координат шаблона фрагмента текста, который соответствует информационному полю, с одним или более кластерами последовательностей символов, при этом фрагмент текста получен путем обработки текущего изображения, и при этом последовательности символов получены путем обработки ранее полученных изображений из серии изображений; (f) создание для каждого кластера из одного или более кластеров медианной строки, соответствующей кластеру последовательностей символов информационного поля; и (g) создание с помощью медианной строки каждого из одного или более кластеров итогового распознанного текста, который соответствует исходному тексту информационного поля копии шаблонного документа.
[008] И еще одним из вариантов осуществления изобретения является машиночитаемый постоянный носитель данных, содержащий исполняемые команды, которые при выполнении в обрабатывающем устройстве заставляют это обрабатывающее устройство выполнять операции, включающие: (а) получение текущего изображения серии изображений копии шаблонного документа причем текущее изображение по крайней мере частично совпадает с предыдущим изображением серии изображений, и шаблонный документ имеет по крайней мере один статический элемент и по крайней мере одно информационное поле; (b) выполнение оптического распознавания символов (OCR) текущего изображения для получения распознанного текста и соответствующих координат для каждого символа распознанного текста; (с) определение параметров преобразования координат для преобразования координат предыдущего изображения в координаты текущего изображения; (d) привязка как минимум части распознанного текста к одному или более кластерам последовательностей символов, причем распознанный текст получен путем обработки текущего изображения, и последовательности символов получены путем обработки одного или более ранее полученных изображений из серии изображений; (е), определение параметров преобразования координат для преобразования координат текущего изображения из серии изображений в координаты шаблона шаблонного документа при этом шаблон содержит i) текст и координаты как минимум одного статического элемента шаблонного документа и ii) координаты как минимум одного информационного поля шаблонного документа; (f) определение в системе координат шаблона одного или более кластеров последовательностей символов, которые соответствуют информационному полю как минимум одного информационного поля; (g) получение для каждого из одного или более кластеров, соответствующих информационному полю, медианной строки, соответствующей кластеру последовательностей символов информационного поля; и (h), получение с использованием медианной строки каждого из одного или более кластеров итогового распознанного текста, который соответствует исходному тексту информационного поля копии шаблонного документа.
ЧЕРТЕЖИ
[009] На Фиг. 1 схематично изображено сопоставление результатов оптического распознавания символов (OCR) для каждого из изображений 102, 104, 106 и 108 серии изображений шаблонного документа с шаблоном 112 шаблонного документа.
[0010] На Фиг. 2 изображена блок-схема одного иллюстративного примера способа автоматизированного извлечения данных из одного или более информационных полей шаблонного документа с использованием серии изображений документа.
[0011] На Фиг. 3 схематично изображено соответствие результатов оптического распознавания символов (OCR) для пар изображений в последовательности изображений шаблонного документа и последующее сопоставление комбинированного результата OCR для последовательности изображений шаблонного документа с шаблоном шаблонного документа.
[0012] На Фиг. 4 изображена блок-схема другого иллюстративного примера способа автоматизированного извлечения данных из одного или более информационных полей шаблонного документа с использованием серии изображений документа.
[0013] На Фиг. 5 схематически изображены водительские права штата Калифорния в качестве иллюстративного примера шаблонного документа, который имеет один или более статических элементов и одно или более информационных полей.
[0014] На Фиг. 6 схематически изображена вычислительная система, которая может использоваться для реализации способов, раскрываемых в настоящем изобретении.
ПОДРОБНОЕ ОПИСАНИЕ
Сопутствующие документы
[0015] Следующие документы, полностью включенные в данный документ посредством ссылок, могут быть полезны для понимания раскрытия настоящего изобретения: а) Патентная заявка США №15/168,548, подана 31 мая 2016 г. и b) Патентная заявка США №15/168,525, подана 31 мая 2016 г.
Раскрытие сущности изобретения
[0016] В этом разделе описаны способы и системы для осуществления оптического распознавания символов (OCR) серии изображений, содержащих символы определенной системы письменности. Системы письменности, символы которых могут быть обработаны с помощью систем и способов, описанных в этом документе, включают алфавиты с отдельными символами, или глифами, соответствующими отдельным звукам, а также иероглифические системы письменности с отдельными символами, соответствующими более крупным блокам, таким как слоги или слова.
[0017] Предлагаемые способы могут быть особенно полезны для оптического распознавания символов в шаблонных документах. В некоторых вариантах реализации изобретения предлагаемые способы позволяют производить автоматический ввод данных из информационных полей физических копий документов, например бумажных копий документов, в информационные системы и (или) базы данных с помощью вычислительных систем, оборудованных или соединенных с камерой. В отдельных вариантах реализации изобретения вычислительная система может представлять собой мобильное устройство, например планшет, сотовый телефон или карманный персональный компьютер, оборудованный камерой. В некоторых вариантах реализации изобретения автоматический ввод данных может производиться в интерактивном режиме. Большинство или все этапы способов настоящего изобретения могут выполняться непосредственно вычислительной системой, например мобильным устройством.
[0018] Существующие способы извлечения данных из бумажных документов, такие как ABBYY FlexiCapture, обычно используют только одно изображение документа. Отдельное изображение может содержать один или более дефектов, таких как цифровой шум, расфокусировка или низкая резкость изображения, блики и т.д., которые обычно вызваны дрожанием камеры, недостаточным освещением, неправильно выбранной выдержкой или диафрагмой и (или) другими условиями и затрудняющими обстоятельствами. По этой причине данные, извлеченные из одиночного изображения документа, могут содержать ошибки оптического распознавания символов. Способы извлечения данных, раскрываемые в настоящем изобретении, используют серию изображений документа. В то время как отдельное изображение в серии может содержать один или более дефектов, в результате чего соответствующие результаты OCR (извлеченные данные) отдельного изображения могут содержать ошибки, комбинированные результаты OCR (извлеченные данные) нескольких изображений серии могут значительно повысить качество извлекаемых данных по сравнению с данными, извлекаемыми из одного изображения документа, благодаря уменьшению или устранению статистических ошибок и фильтрации случайных событий. Таким образом, способы извлечения данных, раскрываемые в настоящем изобретении, исключительно шумоустойчивы, поскольку случайные ошибки при распознавании отдельных символов документа, которые могут быть при обработке отдельных изображений, не повлияют на итоговый результат оптического распознавания символов и (или) извлечения данных.
[0019] В некоторых вариантах реализации изобретения с точки зрения пользователя процесс получения данных из документа выглядит следующим образом. Пользователь может запустить приложение, в основе которого лежит один из раскрываемых способов, на вычислительной системе, например на мобильном устройстве, и активировать режим приложения, который может запустить процесс получения серии изображений документа с помощью камеры, которая является неотъемлемой частью вычислительной системы или подключена к вычислительной системе. Во многих вариантах реализации раскрываемого способа вычислительная система, такая как мобильное устройство, не сохраняет полученные изображения в своей памяти. Активация режима может инициировать получение и обработку изображений серии процессором вычислительной системы, например мобильного устройства. В некоторых вариантах реализации изобретения пользователь может выбрать сканируемую часть документа, наводя на эту часть документа перекрестье видоискателя, который может быть виден на экране вычислительной системы. Например, пользователь может установить перекрестье видоискателя, видимое на экране мобильного устройства, на нужную часть документа. Отдельные изображения серии не обязательно должны содержать весь документ. Таким образом, в некоторых вариантах реализации изобретения как минимум некоторые отдельные изображения серии могут содержать только части документа, частично перекрывающие друг друга. В некоторых вариантах реализации изобретения камера может двигаться над документом, сканируя его. Рекомендуется, чтобы при таком сканировании захватывались все фрагменты или части документа. Во многих вариантах реализации изобретения такое сканирование выполняется пользователем вручную. Процессор, выполняющий один из способов настоящего изобретения, может определять соответствующие информационные поля, из которых следует получить или извлечь данные/информацию/текст с помощью оптического распознавания символов, в каждом из полученных изображений серии на постоянной основе. В интерфейсе приложения результат такого определения может быть показан следующим образом: процессор, выполняющий один из способов раскрываемого изобретения, может обмениваться информацией с экраном или дисплеем вычислительной системы, выделяя на экране или дисплее отдельные фрагменты изображения, на которых были определены информационные поля, и демонстрировать пользователю полученные или извлеченные данные/информацию/текст для подтверждения верности данных. Процессор также может предоставлять пользователю на экране или дисплее указания о том, в каком направлении следует перемещать камеру для получения следующих изображений.
[0020] Термин «шаблонный документ» может относиться к документу, который включает шаблон или разметку, не изменяющиеся для отдельных документов, относящихся к определенному типу шаблонных документов. Примеры шаблонных документов включают, но не ограничиваются, формы для заполнения, анкеты, счета-фактуры и документы, удостоверяющие личность, такие как паспорта и водительские права. Шаблонные документы обычно содержат одно или более информационных полей. Количество информационных полей, их дизайн и положение неизменны для отдельных документов, относящихся к одному типу шаблонных документов.
[0021] В некоторых вариантах реализации изобретения шаблонный документ может иметь не менее одного статического элемента и не менее одного информационного поля. Термин «статический элемент» относится к элементу, который остается одинаковым как по содержанию, так и по положению, для всех отдельных документов, которые относятся к конкретному типу шаблонного документа. Термин «информационное поле» относится к полю, которое содержит различную информацию для каждого отдельного документа, который относится к конкретному типу шаблонного документа. На Фиг. 5 в качестве примера шаблонного документа приведены водительские права штата Калифорния. На Фиг. 5 элементы 512, 514 и 516 являются статическими, они присутствуют на всех водительских правах штата Калифорния, использующих этот шаблон. С другой стороны, элементы 502, 504 и 506 представляют информационные поля, они содержат информацию, которая является индивидуальной для каждых конкретных водительских прав. В некоторых вариантах реализации изобретения информационное поле может иметь соответствующий ему статический элемент, который может, например, определять тип информации, представленной в этом информационном поле. Например, на Фиг. 5 каждое из информационных полей 502, 504 и 506 имеет соответствующий статический элемент (512, 514, 516 соответственно). В некоторых вариантах реализации изобретения информационное поле может не иметь соответствующего статического элемента. На Фиг. 5 примером такого информационного поля является запись о домашнем адресе.
[0022] Раскрываемые в этом изобретении способы могут использовать шаблон шаблонного документа. Использование шаблона может позволить автоматически определить, относится ли обрабатываемый документ к известному типу шаблонных документов для этого шаблон сохраняется в памяти вычислительной системы, например мобильного устройства. Использование шаблона также может позволить определить положение текущего изображения (из серии изображений) шаблонного документа относительно шаблона шаблонного документа в ситуации, когда текущее изображение содержит только часть или фрагмент шаблонного документа.
[0023] Шаблон шаблонного документа может содержать: а) информацию, например текст и информацию о положении, например координаты одного или более статических элементов документа, и b) информацию о положении, например координаты, одного или более информационных полей документа. Рекомендуется, чтобы шаблон содержал информацию о текстовом содержимом и координатах всех статических элементов документа, а также о координатах всех информационных полей. Рекомендуется, чтобы шаблон представлял собой не изображение части документа, а изображение всего документа.
[0024] Шаблон шаблонного документа можно получить различными способами. Например, шаблон шаблонного документа можно подготовить из электронной версии шаблонного документа. Если электронная версия шаблонного документа недоступна, шаблон можно подготовить с помощью методов оптического распознавания символов из физической копии, например бумажной копии шаблонного документа. Копия шаблонного документа для шаблона может быть пустой копией шаблонного документа, то есть копией шаблонного документа с незаполненными (не содержащими текста/информации) информационными полями, или заполненной копией шаблонного документа, то есть копией шаблонного документа с заполненными (содержащими текст/информацию) информационными полями. В некоторых вариантах реализации изобретения получение шаблона шаблонного документа из физической копии шаблонного документа может включать: а) получение копии всего шаблонного документа; b) выполнение оптического распознавания символов (OCR) полученного изображения для получения результатов OCR, которые включают распознанный текст и соответствующую информацию о разметке, включая координаты каждого символа и группы символов в распознанном тексте; с) определение из результатов OCR координат одного или более информационных полей шаблонного документа. Определение в пункте с) может включать идентификацию одного или более информационных полей в результатах OCR. В некоторых вариантах реализации изобретения подобная идентификация может выполняться вручную. Идентифицированным полям может быть назначена соответствующая идентификация. Например, на Фиг. 5 полям 502, 504 и 506 может быть назначена идентификация «номер водительских прав», «фамилия» и «имя» соответственно. Для каждого нового типа шаблонных документов шаблон можно получить из первого изображения копии шаблонного документа, которая обработана в вычислительной системе.
Способ один
[0025] В одном из вариантов реализации изобретения способ OCR может включать а) сравнение каждого изображения из серии изображений копии шаблонного документа с шаблоном шаблонного документа для обнаружения стека данных (кластера последовательностей символов), который соответствует определенному информационному полю шаблонного документа; и b) определение наилучшего (наиболее точного) результата OCR в серии изображений с использованием медианной строки и медианной перестановки кластеров последовательностей символов, собранных из разных изображений серии, для определенного информационного поля шаблонного документа.
[0026] На Фиг. 1 схематично изображено сопоставление или сравнение каждого изображения 102, 104, 106 и 108 из серии изображений копии шаблонного документа с шаблоном 112 шаблонного документа. Для каждого изображения из серии оптическое распознавание символов (OCR) может предоставить распознанный текст и соответствующую ему разметку, включая координаты каждого символа распознанного текста. На Фиг. 1 элемент 132 иллюстрирует распознанный текст с изображения 102. Шаблон может содержать следующую информацию: текст, который соответствует одному или более статическим элементам, таким как заголовок документа, названия соответствующих информационных полей, примеры заполнения информационных полей и т д., координаты каждого символа одного или более статических элементов и координаты одного или более информационных полей. На Фиг. 1 на шаблоне 112 элементы 142 соответствуют статическим элементам, а элемент 144 соответствует информационному полю. Сопоставление или сравнение изображения из серии с шаблоном может включать проективное преобразование для пары «каждое изображение из серии/шаблон». На Фиг. 1 показано такое проективное преобразование как элементы 122, 124, 126 и 128.
[0027] На Фиг. 2 приведена блок-схема одного иллюстративного примера способа оптического распознавания символов для серии изображений шаблонного документа. Способ и (или) каждая из его отдельных функций, процедур, подпрограмм или операций может выполняться одним или более процессорами компьютерной системы, выполняющей этот способ. В некоторых вариантах реализации способ 200 может выполняться в одном потоке обработки. Кроме того, способ 200 может выполняться с использованием двух или более потоков обработки, причем каждый поток выполняет одну или более отдельных функций, процедур, подпрограмм или операций способа. В качестве иллюстративного примера потоки обработки, реализующие способ 200, могут быть синхронизованы (например, с использованием семафоров, критических секций и (или) других механизмов синхронизации потоков). В качестве альтернативы реализующие способ 200 потоки обработки могут выполняться асинхронно по отношению друг к другу. Таким образом, несмотря на то, что Фиг. 2 и соответствующее описание содержат список операций для способа 200 в определенном порядке, в различных вариантах реализации способа как минимум некоторые из описанных операций могут выполняться параллельно и (или) в случайно выбранном порядке.
[0028] Для ясности и краткости настоящее описание предполагает, что обработка каждого изображения шаблонного документа начинается после получения изображения вычислительной системой, реализующей способ, и что эта обработка в значительной степени завершается до получения следующего изображения. Однако в различных альтернативных реализациях изобретения обработка последовательных изображений может совпадать по времени (например, может выполняться в различных потоках или процессах, которые выполняются на одном или более процессорах). Кроме того, два или более изображений могут быть помещены в буфер и обрабатываться асинхронно с учетом получения других изображений из множества изображений, поступающих в вычислительную систему, реализующую способ.
[0029] В некоторых вариантах реализации изобретения два последовательных изображения серии могут не перекрываться.
[0030] Кроме того, в некоторых вариантах реализации изобретения два последовательных изображения из серии могут пересекаться по крайней мере частично.
[0031] В некоторых вариантах реализации изобретения изображения из серии могут отображать по крайней мере частично перекрывающиеся фрагменты документа и отличаться масштабом изображения, углом съемки, выдержкой, диафрагмой, яркостью изображения, наличием бликов, присутствием внешних объектов, которые по крайней мере частично закрывают оригинальный текст, и (или) другими особенностями изображения, визуальными артефактами и параметрами процесса визуализации.
[0032] Изображение, называемое далее в тексте «текущим изображением», на Фиг. 2 отмечено как «i-тое изображение».
[0033] На шаге 210 вычислительная система реализует способ, которым можно получить текущее изображение (из серии изображений) копии шаблонных документов. Текущее изображение может быть, например, получено с помощью камеры. В некоторых вариантах реализации изобретения камера может быть неотъемлемой частью вычислительной системы. В других вариантах реализации изобретения камера может быть отдельным устройством, выполненным с возможностью передачи изображений в вычислительную систему.
[0034] На шаге 215 вычислительная система может выполнять распознавание текущего изображения, что позволит получить результаты OCR, т.е. распознанный текст (текст OCR) и соответствующую информацию о разметке, которая может содержать координаты каждого символа распознанного текста. Информация о разметке может связывать один или более символов распознанного текста и (или) одну или более групп символов распознанного текста.
[0035] На шаге 220 вычислительная система может определить один или более совпадающих текстовых артефактов, например один или более символов и одну или более групп символов, в результатах OCR текущего изображения и шаблона шаблонного документа, который может храниться в памяти вычислительной системы. Текстовые артефакты могут быть представлены последовательностью символов (например, словами), имеющими низкую частоту появления в текстах, полученных в результате OCR (например, частоту, не превышающую определенного порога частоты, который может быть установлен равным 1 для указания на уникальную последовательность символов). В иллюстративном примере редко встречающееся слово может быть определено путем сортировки слов, полученных в результате OCR в зависимости от частоты и выбора наиболее редко встречающихся слов. В некоторых реализациях способа могут использоваться только последовательности символов, длина которых превышает определенный порог длины, потому что более короткие последовательности символов создают менее надежные опорные точки.
[0036] На шаге 225 вычислительная система может использовать информацию о разметке, привязанную к идентифицированным текстовым артефактам, чтобы распознать по крайней мере одну опорную точку, относящуюся к каждому текстовому артефакту, в пределах пары «каждое изображение из серии/шаблон». В иллюстративном примере опорная точка, привязанная к идентифицированной последовательности символов, может быть представлена центром минимального описывающего прямоугольника последовательности символов. В другом иллюстративном примере две или более опорные точки, привязанные к идентифицированной последовательности символов, могут быть представлены углами минимального описывающего прямоугольника последовательности символов.
[0037] На шаге 230 вычислительная система может проверить идентифицированные опорные точки и отбросить по крайней мере некоторые из них, используя выбранные критерии фильтрации. Фильтрация опорных точек раскрыта, например, в заявках на патенты США №№15/168,548 и 15/168,525, включая Фиг. 2А-2В, 3 и 4, а также соответствующий текст, который полностью включен в настоящий документ посредством ссылки.
[0038] На шаге 235 вычислительная система может выполнить преобразование координат, преобразующее координаты текущего изображения в координаты шаблона. Описанный в настоящем документе способ предполагает, что как минимум для выбранных пар «каждое изображение из серии/шаблон» координаты произвольной выбранной точки на первом изображении могут быть получены применением проективного преобразования к координатам той же точки на втором изображении.
[0039] Под «проективным преобразованием» здесь подразумевается преобразование, переводящее линии в линии, но не обязательно сохраняя параллельность. Проективное преобразование может быть описано следующими уравнениями:
где (x, y) и (X, Y) представляют собой координаты случайно выбранной точки на первом изображении (текущем изображении) и втором изображении (шаблоне) соответственно. Коэффициенты преобразования Ax1, Ах2, Ах3, Ах4, Ay1, Аy2, Аy3 и Аy4 могут определяться, исходя из известных координат не менее чем четырех опорных точек на каждом из двух изображений, которые должны создавать систему из восьми уравнений с восемью неизвестными. После определения коэффициентов преобразования уравнения (1) и (2) можно применить к координатам случайно выбранной точки первого изображения, чтобы получить координаты той же точки на втором изображении.
[0040] В некоторых реализациях настоящего изобретения в ходе операций, относящихся к шагам 225-230, для данной пары «каждое изображение из серии/шаблон» могут быть определены более чем четыре пары опорных точек, в этом случае определенная с избыточностью система может быть решена методами регрессионного анализа, такими как метод наименьших квадратов. Преобразование координат между изображениями с использованием опорных точек раскрыто, например, в заявках на патенты США №№15/168,548 и 15/168,525, включая Фиг. 5А, а также соответствующий текст, который полностью включен в настоящий документ посредством ссылки.
[0041] На шаге 240 вычислительная система может накладывать шаблон на текущее изображение (преобразуя его в координаты шаблона), чтобы идентифицировать один или более текстовых фрагментов, которые соответствуют одному или более информационным полям шаблонного документа. Таким образом, вычислительная система может отбросить статическую часть (т.е. часть, которая соответствует одному или более статическим элементам шаблонного документа) текущего изображения, и формируя из части фрагмента текста, которая соответствует одному или более информационным полям текущего изображения, стек данных, который может содержать одну или более последовательностей символов, таких как слово.
[0042] На шаге 245 компьютер может привязать одну или более последовательностей символов, например слов, в части текстового фрагмента, которые соответствуют одному или более информационным полям текущего изображения, к кластеру совпадающих последоват