Использование нескольких камер для выполнения оптического распознавания символов
Иллюстрации
Показать всеИзобретение относится к области оптического распознавания символов, а именно к способам распознавания символов на изображениях из видеопотока. Технический результат заключается в повышении качества распознавания изображений документов за счет объединения нескольких кадров. Способ включает получение одного или более первых изображений с первой камеры, содержащих первый вид физического объекта из первого пространственного положения, при этом физический объект содержит множество символов, получение одного или более вторых изображений со второй камеры, содержащих второй вид физического объекта из второго пространственного положения, при этом первое пространственное положение отличается от второго пространственного положения, выполнение оптического распознавания символов первых изображений для выявления одного или более первых символов из символов, изображенных на физическом объекте, выполнение оптического распознавания символов вторых изображений для выявления одного или более вторых символов из символов, изображенных на физическом объекте, объединение первых символов со вторыми символами путем сопоставления первых символов со вторыми символами и сохранение объединенных символов. 3 н. и 27 з.п. ф-лы, 9 ил.
Реферат
ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее описание относится к использованию нескольких камер для выполнения оптического распознавания символов (OCR) на изображениях физических объектов.
УРОВЕНЬ ТЕХНИКИ
[0002] Оптическое распознавание символов - это механический или электронный перевод изображения машинописного, написанного от руки или печатного текста в машиночитаемый текст, будь то сканированный документ, фотография документа, фотография места (например, текст вывески или рекламного щита на пейзажной фотографии) или текст субтитров, наложенных на изображение (например, из телепередачи). OCR может использоваться как вариант ввода информации с напечатанных на бумаге записей данных, например, документов, удостоверяющих личность, счетов, банковских выписок, компьютеризованных чеков, визитных карточек, писем, распечаток статических данных или других документов. OCR может использоваться для оцифровки печатных текстов, чтобы их можно было редактировать в электронном виде, производить поиск, сохранять в более компактном виде и демонстрировать в сети.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0003] На Фиг. 1 представлена схема примера системы использования нескольких камер для выполнения оптического распознавания символов на изображениях физического объекта.
[0004] На Фиг. 2 представлена блок-схема примера системы для использования нескольких камер для выполнения оптического распознавания символов на изображениях физического объекта.
[0005] На Фиг. 3А-В приведены примеры нескольких изображений физического объекта.
[0006] На Фиг. 4 представлена блок-схема примера системы использования нескольких камер для выполнения оптического распознавания символов на изображениях одного или более физических объектов.
[0007] На Фиг. 5А-В представлены блок-схемы примеров систем использования нескольких камер для выполнения оптического распознавания символов на изображениях физического объекта.
[0008] На Фиг. 6 представлена блок-схема примера процесса использования нескольких камер для выполнения оптического распознавания символов на изображениях физического объекта.
[0009] На Фиг. 7 представлена схема примера вычислительной системы.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0010] В настоящем документе описаны системы и методики использования нескольких камер для выполнения оптического распознавания символов на серии изображений (например, последовательность видеокадров или фотоснимков). Оптическое распознавание символов (OCR) можно использовать для распознавания текста в сериях видеокадров для получения машиночитаемого текста, например, в виде символов Юникод. Некоторые кадры могут содержать одинаковые сцены или элементы, например, изображения документа, части документа или другие элементы, содержащие текст или символы, поддающиеся распознаванию. Однако условия создания видеокадров, такие как освещенность, дрожание / раскачивание камеры или угол камеры, могут меняться от кадра к кадру из видео. В результате качество кадров может быть различным. Например, часть некоторых кадров может содержать различные дефекты, такие как цифровой шум, блик, смаз или дефекты расфокусировки.
[0011] Результаты распознавания нескольких кадров могут объединяться, чтобы повысить качество распознавания изображений документов по сравнению с результатами распознавания любого отдельного кадра. Однако если время между объединяемыми кадрами слишком мало, изменение корректируемых условий невелико и получаемые кадры имеют качество, близкое к исходному низкому качеству кадров. Распознавание этих кадров может дать сходные результаты с похожими ошибками. В частности, может быть невозможно эффективно устранить такие дефекты кадров, как блики, что может привести к невозможности обнаружить и распознать фрагмент текста на месте блика или засвеченных областей кадров. В результате для получения качества, необходимого для распознавания текста с помощью OCR, следует увеличить время между объединяемыми кадрами так, чтобы освещение или угол камеры, например, изменились настолько, чтобы блик или засвеченная область исчезли. Таким образом, время с момента наведения камеры на документ до отображения результатов распознавания на экране, которые пользователь может подтвердить как верные, при объединении кадров видео для исправления дефектов кадров, полученных с одной камеры, может быть неприемлемо велико.
[0012] В настоящем документе описана система, машиночитаемый носитель данных и способ использования нескольких камер для выполнения оптического распознавания символов на изображениях из видеопотока. Использование нескольких камер снижает количество времени, необходимого системе для распознавания текста на изображениях на кадрах видео. Например, вместо того чтобы перемещать распознаваемые объекты, камеру и(или) источник света, что требует дополнительного времени, можно использовать для получения видеопотока или изображений несколько камер и выполнять комбинированное распознавание, не ожидая перемещения объекта, камеры или источника света для изменения условий, приводящих к появлению дефектов. Система, машиночитаемый носитель данных и способ, описываемые в этом документе, позволяют устранять систематические ошибки распознавания, проявляющиеся в первом месте расположения или при угле как минимум первой камеры и не проявляющиеся во втором месте расположения или при угле как минимум второй камеры. Это означает, что изображения, получаемые с первой камеры, могут иметь первый дефект или блик, а изображения, получаемые со второй камеры, могут иметь второй дефект или блик. Если первый дефект / блик и второй дефект / блик не совпадают, результаты распознавания изображений с двух камер могут совмещаться для обнаружения и распознавания фрагментов текста на месте двух дефектов / бликов. Положения камеры и положение источника освещения могут выбираться так, чтобы дефекты / блики от двух камер не совпадали. В некоторых вариантах реализации совмещение результатов распознавания вместо объединения изображений до выполнения распознавания может приводить к лучшим результатам распознавания, может требовать меньше вычислительных ресурсов и(или) может требовать меньше времени на обработку.
[0013] Подробности одного или более вариантов реализации изложены в прилагаемых чертежах и в описании ниже. Другие особенности и преимущества будут ясны из описания и чертежей, а также из пунктов патентной формулы.
[0014] На Фиг. 1 представлена схема примера системы 100 для использования нескольких камер 102a-b для выполнения оптического распознавания символов на нескольких изображениях 104a-b физического объекта 106. Физический объект 106 может быть в значительной степени двумерным реальным объектом, например, распечаткой документа, или трехмерным реальным объектом, например, пакетом. Физический объект 106 имеет символы, отображаемые на физическом объекте 106, например, символы документа или этикетка с символами на пакете. Система распознавания 108 может получать первое изображение 104а от первой камеры 102а и второе изображение 104b от второй камеры 102b. Система 108, изображенная на Фиг. 1 как настольное вычислительное устройство, может быть серверным устройством (например, установленным в серверной стойке) или карманным устройством (например, смартфоном). Изображенные на Фиг. 1 отдельно от системы распознавания 108 первая камера 102а и(или) вторая камера 102b могут быть интегрированы в систему распознавания 108, такую как смартфон или другое вычислительное устройство с двумя камерами или двумя объективами. Система распознавания 108 отдельно выполняет оптическое распознавание символов каждого из изображений 104a-b, получая соответствующий текст (распознанные символы) и информацию о разметке (разметка). Разметка может связывать распознанные символы и(или) группы (наборы) символов с их соответствующим расположением на изображениях 104a-b. Одно или более изображений 104a-b, например, первое изображение 104а, может иметь один или более дефектов, например, блик от источника света, освещающего физический объект 106, что не позволяет системе распознавания 108 распознать один или более символов, изображенных на физическом объекте 106. Система распознавания 108 может сравнивать распознанные символы и разметку, получаемую при OCR изображений 104a-b, и совмещать распознанные символы с изображений 104a-b для создания объединенного набора символов 110. Объединенный набор символов 110 может обеспечивать распознавание символов, которые невозможно распознать на первом изображении 104а, путем объединения распознанных символов первого изображения 104а с распознанными символами второго изображения 104b, которые соответствуют символам, которые невозможно распознать на первом изображении 104а. Например, символы, которые невозможно распознать на первом изображении 104а, могут занимать на первом изображении 104а места, которые соответствуют позициям символов, распознанных на втором изображении 104b. Объединение распознанных символов с одного или более изображений представлено, например, в заявках на патент США №№15/168548 и 15/168525, которые явно включены в этот документ посредством ссылок.
[0015] Система 108 распознавания может содержать интерфейс 112 для получения изображений 104a-b с камер 102a-b. Система распознавания 108 может содержать хранилище данных 114, в котором хранятся изображения 104a-b и(или) объединенный набор символов 110. Система распознавания 108 может содержать инструкции для модуля оптического распознавания символов 116, который выполняется обрабатывающим устройством, чтобы распознавать символы и разметку символов в изображениях 104a-b. Система распознавания 108 может содержать инструкции для модуля объединения 118, который выполняется обрабатывающим устройством для сравнения распознанных символов и разметки для объединения распознанных символов с изображений 104a-b.
[0016] На Фиг. 2 представлена блок-схема примера системы 200 для использования нескольких камер 202a-b для выполнения оптического распознавания символов на нескольких изображениях 204a-b физического объекта 206. Система 200 содержит источник света 208, который освещает физический объект 206 так, что камеры 202a-b могут захватывать изображения 204a-b физического объекта 206, но источник света 208 также создает один или более дефектов 210a-b на изображениях 204a-b, таких как блики или засвеченные области от одного или более лучей света 212a-b, излучаемых источником света 208, отражающихся от физического объекта 206 и напрямую попадающих в камеры 202a-b.
[0017] Изображения 204a-b содержат перекрывающуюся область 214. Перекрывающаяся область 214 содержит первый дефект 210а на первом изображении 204а и второй дефект 210b на втором изображении 204b. В некоторых вариантах реализации дефекты 210a-b не перекрываются между собой. Система распознавания 108 может выполнять оптическое распознавание символов на изображениях 204a-b для распознавания символов в перекрывающейся области 214 изображений 204a-b и объединять распознанные символы первого изображения 204а с соответствующими распознанными символами второго изображения 204b для определения символов, которые система 108 не смогла распознать на первом изображении 204а из-за первого дефекта 210а и на втором изображении 204b из-за второго дефекта 210b. В некоторых вариантах реализации камеры 202a-b могут быть настроены так, чтобы перекрывающаяся область 214 захватывала весь отображаемый физический объект 206. В некоторых вариантах реализации камеры 202a-b могут включать больше двух камер, чтобы перекрывающиеся области для пар камер захватывали весь отображаемый физический объект 206.
[0018] На Фиг. 3а-b приведены примеры нескольких изображений 300a-b физического объекта. Этот физический объект представляет собой чек из ресторана, однако могут быть использованы и другие физические объекты, например, другие двухмерные объекты (например, распечатки документов) или трехмерные объекты (например, пакеты с этикетками). Эти изображения содержат один или более дефектов 302a-b, например, блики от источника света 208. Блики могут быть вызваны отражающей способностью поверхности физического объекта, материалом, которым покрыт физический объект, и(или) изогнутой поверхностью физического объекта. Вместо этого или в дополнение к этому дефекты 302a-b могут быть вызваны другими свойствами камер и(или) физического объекта, такими как пятно или крупинка материала на объективах камер.
[0019] Физический объект содержит символы, например, список блюд, цены на блюда, налоги и сведения о ресторане. Система распознавания 108 выполняет оптическое распознавание первого изображения 300а для распознавания символов, включая:
так как первый дефект 302а не позволяет системе распознавания 108 распознать символы «inger» в слове «Ginger». Система распознавания 108 также распознает разметку распознанных символов на первом изображении 300а, как например абсолютное положение символов на первом изображении 300а или положения символов относительно других объектов на первом изображении 300а (например, относительно других символов, слова, строки текста, абзаца или знака). Разметка может связывать распознанные символы и(или) группы символов с их относительным положением на первом изображении 300а. Система распознавания 108 выполняет оптическое распознавание второго изображения 300b для распознавания символов, включая:
так как второй дефект 302b не позволяет системе распознавания 108 распознать символы «ver» в слове «Lover». Система распознавания 108 также распознает разметку распознанных символов на втором изображении 300b, как например абсолютное положение символов на втором изображении 300b или положения символов относительно других объектов на втором изображении 300b (например, относительно других символов, слова, строки текста, абзаца или знака). Разметка может связывать распознанные символы и(или) группы символов с их относительным положением на втором изображении 300b.
[0020] Система распознавания 108 связывает распознанные символы из изображений 300a-b, которые, вероятно, представляют одинаковые серии символов, изображенных на физическом объекте. Например, система распознавания 108 может определить один или более символов с первого изображения 300а, которые соответствуют одному или более символам со второго изображения 300b, например символам , путем сравнения положений символов в разметке изображений 300a-b. Исходя из совпадений между разметками двух наборов распознанных символов система распознавания 108 определяет, что два набора распознанных символов представляют собой одну серию символов, изображенных на физическом объекте. В ответ система распознавания 108 может объединить два набора распознанных символов для создания объединенного набора, содержащего Система распознавания 108 может объединять два набора распознанных символов, сохраняя относительное положение символов в наборах распознанных символов.
[0021] Система распознавания 108 может определять совпадающие символы или последовательности символов (например, слова) в текстах, полученных в результате OCR, представляющих изображения 300a-b, которые имеют низкую частоту встречаемости в текстах, полученных в результате OCR (например, частоту, не превышающую определенного порога частоты, который может быть установлен в значение 1 для указания на уникальную последовательность символов). В иллюстративном примере редко встречающееся слово может быть определено путем сортировки слов, полученных в результате OCR, в зависимости от частоты и выбора наиболее редко встречающихся слов. В некоторых вариантах реализации система распознавания 108 использует последовательности символов, которые имеют предельную длину, поскольку более короткие последовательности символов генерируют менее надежные опорные точки для совмещения символов.
[0022] Система распознавания 108 может использовать информацию о разметке, например, координаты, связанные с распознанными символами, для идентификации как минимум одной опорной точки, соответствующей каждому символу для каждого из изображений 300a-b. В иллюстративном примере опорная точка, связанная с последовательностью символов, может быть представлена центром минимального описывающего прямоугольника последовательности символов. В другом иллюстративном примере две или более опорные точки, связанные с идентифицированной последовательностью символов, могут быть представлены углами минимального описывающего прямоугольника последовательности символов.
[0023] Система распознавания 108 может проверять идентифицированные опорные точки и отбросить по крайней мере некоторые из них, используя выбранные критерии фильтрации. В одном из иллюстративных примеров система распознавания 108 может проверять, что случайно выбранные группы совпадающих опорных точек демонстрируют определенные геометрические признаки, инвариантные относительно изображений 300a-b, например, инвариантный геометрический признак может быть представлен направлением обхода как минимум трех совпадающих опорных точек. Система распознавания 108 может выявлять редко встречающиеся слова в последовательности символов, чтобы создавать опорные точки. Центры минимальных описывающих прямоугольников соответствующих последовательностей символов в каждом из изображений 300a-b создают серии слов. Если направление обхода опорных точек изображений 300a-b дает одну и ту же серию слов, то опорные точки, вероятно, соответствуют совпадающим последовательностям символов на изображениях 300a-b, а значит, могут быть взяты за основу для выполнения последующих операций.
[0024] Вместо этого или в дополнение к этому система распознавания 108 может представить инвариантный геометрический признак посредством направления обхода векторов, соединяющих случайно выбранную точку (например, начало координатной плоскости, ассоциированной с изображениями 300a-b) с каждой из опорных точек в порядке распознавания слов. Кроме того, система распознавания 108 может представлять инвариантный геометрический признак посредством топологии геометрических фигур, образованных линиями, соединяющими случайно выбранный набор опорных точек распознанных символов или слов.
[0025] Как было описано выше, система распознавания 108 может выявить один или более опорных объектов, таких как опорные точки на первом изображении 300а и на втором изображении 300b. Эти опорные объекты могут представлять собой один или более символов рядом с дефектами 302a-b (например, выше и(или) ниже дефектов 302a-b), которые совпадают среди распознанных символов первого изображения 300а и второго изображения 300b. Вместо этого или в дополнение к этому опорные объекты могут представлять собой один или более графических признаков, совпадающих на первом изображении 300а и на втором изображении 300b (например, граница или угол физического объекта, приведенного на изображениях 300a-b, или одинаковые фигуры на изображениях 300a-b).
[0026] Система распознавания 108 может также связывать распознанные символы с изображений 300a-b, которые, вероятно, представляют одни и те же серии символов, изображенных на физическом объекте, путем построения преобразования координат, которое конвертирует координаты одного изображения из изображений 300a-b в координаты другого изображения из изображений 300a-b. Система распознавания 108 может выявлять проективное преобразование из точек на первом изображении 300а в точки второго изображения 300b исходя из первой точки каждого из опорных объектов на первом изображении 300а относительно второй точки каждого из опорных объектов на втором изображении 300b. Например, система распознавания 108 может вычислить правила трансформации, которые отображают первую точку во вторую точку, и использовать эти правила трансформации для отображения точек одного из изображений 300a-b в точки второго из изображений 300a-b для совмещения точек распознанных символов первого изображения 300а с точками распознанных символов второго изображения 300b.
[0027] Система распознавания 108 затем может отображать случайно выбранную точку первого изображения 300а на второе изображение 300b, применяя проективное преобразование к координатам той же точки на первом изображении 300а. Под «проективным преобразованием» здесь подразумевается преобразование, которое отображает линии в линии, но не обязательно сохраняет параллельность. Проективное преобразование может быть описано следующими уравнениями:
где (х, у) и (X, Y) представляют собой координаты случайно выбранной точки на первом изображении 300а и втором изображении 300b соответственно. Коэффициенты преобразования Ax1, Ах2, Ах3, Ах4, Ay1, Ау2, Ау3 и Ау4 могут определяться исходя из известных координат не менее чем четырех опорных точек на каждом из двух изображений 300a-b, которые должны создавать систему из восьми уравнений с восемью неизвестными. После определения коэффициентов преобразования, уравнения (1) и (2) можно применить к координатам случайно выбранной точки первого изображения 300а, чтобы получить координаты той же точки на втором изображении 300b. В некоторых вариантах реализации для данной пары изображений могут быть определены более четырех пар опорных точек, и в этом случае чрезмерно определенная система может быть решена методами регрессионного анализа, такими как метод наименьших квадратов.
[0028] Система распознавания 108 может связывать одну или более последовательностей символов, полученных в результате OCR второго изображения 300b, с кластером совпадающих последовательностей символов, полученных в результате OCR одного или более ранее обработанных изображений, например первого изображения 300а. Система распознавания 108 может использовать указанные выше преобразования координат, чтобы сравнить положения распознанной последовательности символов на изображениях 300a-b и таким образом определить группы последовательностей символов, которые, вероятно, представляют один и тот же фрагмент исходных символов, изображенных на физическом объекте. В одном из иллюстративных примеров для случайно выбранной последовательности символов из текста, полученного при оптическом распознавании символов второго изображения 300b, система распознавания 108 может выявить один или более совпадающих последовательностей символов, полученных при оптическом распознавании символов на других изображениях из изображений 300a-b. Следует заметить, что «совпадающие последовательности символов» в настоящем документе соответствуют как точно совпадающим, так и нестрого совпадающим последовательностям символов.
[0029] В некоторых вариантах реализации система распознавания 108 может создавать граф, вершины которого соответствуют последовательностям символов с изображений 300a-b, а дуги соединяют последовательности символов, определенные как совпадающие (то есть соответствующие одному и тому же фрагменту исходного текста), путем применения указанного выше преобразования координат между изображениями. Полученный граф может содержать множество кластеров вершин, таких, что каждый кластер соответствует двум или более совпадающим последовательностям символов. Вершины в каждом кластере соединены соответствующими ребрами, при этом отдельные кластеры могут быть изолированы или слабо связаны друг с другом.
[0030] Система распознавания 108 может выявлять медианную строку каждого кластера совпадающих последовательностей символов, такую что выявленная медианная строка должна соответствовать результату OCR соответствующего фрагмента изображения. Каждый кластер должен содержать множество совпадающих последовательностей символов, а результат OCR соответствующего фрагмента изображения должен быть представлен медианной строкой. В некоторых вариантах реализации система распознавания 108 может выявлять медианную строку как последовательность символов, имеющую минимальную сумму расстояний редактирования между ней и всеми символьными последовательностями кластера. Расстояние редактирования, которое в одном из иллюстративных примеров может быть представлено расстоянием Левенштейна, между первой последовательностью символов и второй последовательностью символов может быть равно минимальному количеству редактирований единичных символов (например, вставок, удалений или замен), необходимых для преобразования первой последовательности символов во вторую последовательность символов. В некоторых вариантах реализации система распознавания 108 может понизить вычислительную сложность выявления медианной строки, используя некоторые эвристические методы. В одном из иллюстративных примеров система распознавания 108 может эвристически выявить аппроксимацию нулевого порядка медианной строки. Затем система распознавания 108 может выровнять последовательности символов, используя точно совпадающие символы в каждой последовательности. В другом иллюстративном примере система распознавания 108 может связывать с каждой последовательностью символов кластера весовой коэффициент, отражающий положение последовательности символов в изображении или метрику уверенности OCR.
[0031] Система распознавания 108 может выявлять порядок, в котором указанные выше последовательности символов, представляющие указанный выше кластер, должны располагаться в итоговом тексте. Как было указано выше в этом документе, изображения 300a-b, представляющие исходный документ, могут содержать как минимум частично перекрывающиеся фрагменты физического объекта, но могут отличаться масштабом изображения, углом съемки, скоростью срабатывания затвора, диафрагмой, яркостью изображения, наличием бликов, внешних объектов, которые как минимум частично перекрывают исходных текст, и(или) другими свойствами изображения, визуальными артефактами и параметрами процесса съемки. Таким образом, тексты, созданные при OCR каждого отдельного изображения из изображений 300a-b, могут отличаться одним или более имеющимися или отсутствующими символами и(или) словами в каждом результате OCR, вариациями в последовательностях символов, представляющих слова исходного текста, и(или) порядком последовательностей символов.
[0032] В некоторых вариантах реализации система распознавания 108 может сравнивать множество перестановок последовательностей символов, которые соответствуют обнаруженным кластерам. Система распознавания 108 может определить медианную перестановку как перестановку, имеющую минимальную сумму тау-расстояний Кендалла по сравнению со всеми другими перестановками. Тау-расстояние Кендалла между первой и второй перестановками может быть равно минимальному числу операций перестановок, необходимых в алгоритме пузырьковой сортировки для преобразования первой перестановки во вторую перестановку символов.
[0033] Вместо этого или в дополнение к этому система распознавания 108 может объединять две или более совпадающих последовательностей символов, соответствующих одному и тому же фрагменту исходного текста, удаляя дублирующиеся символы (например, множественные экземпляры одного и того же символа, находящиеся в одном и том же месте физического объекта) и конфликтующие символы (например, разные символы, находящиеся в одном и том же месте физического объекта) исходя из уверенности распознавания и(или) синтаксической и(или) семантической согласованности с соседними символами, а также объединяя символы в слова, фразы, строки, предложения и(или) другие синтаксические и(или) семантические группировки символов.
[0034] Система распознавания 108 затем может сохранять объединенные символы, например, в хранилище данных 114 или в другое хранилище данных. Система распознавания 108 или другая система может далее использовать сохраненные объединенные символы, например, для индексирования и(или) выполнения поиска среди символов, изображенных на физическом объекте (например, отправляя поисковый запрос службе поиска для поиска в копии изображенных символов), для создания физической копии символов, изображенных на физическом объекте (например, для печати копии выводимых символов с помощью печатающего устройства), и(или) для изменения редактируемой копии символов, изображенных на физическом объекте (например, в приложении для редактирования файлов, в котором сохранена копия изображенных символов).
[0035] На Фиг. 4 представлена блок-схема примера системы 400 для использования нескольких камер 402а-с для выполнения оптического распознавания символов на изображениях одного или более физических объектов 404a-b. Физические объекты 404a-b могут быть трехмерными объектами, имеющими неправильную форму и(или) отличающимися по форме один от другого. Камеры 402а-с могут быть установлены так, что изображения с камер 402а-с будут охватывать все поверхности физических объектов 404a-b, имеющие изображенные символы, поддающиеся распознаванию. Система 400 содержит источник света 406, который освещает физические объекты 404a-b так, что камеры 402а-с могут получить изображения физических объектов 404a-b. Физические объекты 404a-b могут содержать символы, например в определенной области, такой как одна или более этикеток 408a-b. Этикетки 408a-b могут быть размещены на различных поверхностях физических объектов 404a-b, например на передней стороне, задней стороне, верхней стороне, нижней стороне, левой стороне и(или) правой стороне, таким образом, что одна или более или несколько из них будут присутствовать на изображениях этикеток 408a-b, полученных камерами 402а-с, хотя одна или более камер 402а-с могут быть не в состоянии получить изображения этикеток 408a-b. Источник света 406 может создавать один или более дефектов 410а-с на изображениях соответствующих объектов, полученных камерами 402а-с. Второй дефект 410b может не позволить системе распознавания 108 распознавание символов на первой этикетке 408а на изображениях, полученных второй камерой 402b. Система распознавания 108 может объединить распознанные символы с первой этикетки 408а из изображений, полученных первой камерой 402а и третьей камерой 402с, с распознанными символами с первой этикетки 408а из изображений, полученных второй камерой 402b, чтобы найти символы, которые система распознавания 108 была не в состоянии определить из-за второго дефекта 410b.
[0036] В некоторых вариантах реализации физические объекты 404a-b остаются неподвижными в поле зрения камер 402а-с, когда камеры 402а-с получают изображения физических объектов 404a-b. Вместо этого или в дополнение к этому физические объекты 404a-b могут быть установлены на конвейер 412. Конвейер 412 может перемещать каждый из физических объектов 404a-b в поле зрения камер 402а-с. Камеры 402а-с могут получать изображения каждого из физических объектов 404а-b по мере того, как физический объект перемещается в поле зрения камер 402а-с.
[0037] Камеры 402а-с могут по отдельности получать изображения каждого из физических объектов 404a-b, когда физический объект будет перемещен в поле зрения камер 402а-с. Вместо этого или в дополнение к этому камеры 402а-с могут непрерывно или регулярно получать изображения (например, в случае видеозаписи) каждого из физических объектов 404a-b, независимо от того, находится ли физический объект в поле зрения камер 402а-с.
[0038] Каждая камера 402а-с может получить одно изображение каждого из физических объектов 404a-b. Вместо этого или в дополнение к этому каждая камера 402а-с может получить несколько изображений каждого физического объекта 404a-b. Система распознавания 108 может затем распознать символы на нескольких изображениях с каждой камеры 402а-с и объединить распознанные символы с нескольких изображений с каждой камеры 402а-с. Например, система распознавания 108 может распознать символы на части первой разметки с изображений, полученных с первой камеры 402а. Система распознавания 108 может не распознать ни одного символа на соответствующей части разметки на изображениях, полученных второй камерой 402b и третьей камерой 402с. Система распознавания 108 может назначить распознанным символам с первой камеры 402а больший вес, чем отсутствию распознанных символов со второй камеры 402b и третьей камеры 402с. Это может позволить системе распознавания 108 использовать распознанные символы для объединения, даже если суммарное количество изображений полученных со второй и третий камер (402b и 402с), где не было распознано ни одного символа больше, чем суммарное количество изображений с первой камеры (402а), где есть распознанные символы.
[0039] На Фиг. 5a-b представлены блок-схемы примеров различных систем 500a-b для использования нескольких камер 502a-f для выполнения оптического распознавания символов на изображениях физического объекта. Первая система 500а демонстрирует вид сверху вниз, когда камеры 502а-с установлены в одну линию, например, для получения изображений двухмерных физических объектов. Вторая система 500b демонстрирует вид сверху вниз, когда камеры 502d-f установлены напротив друг друга, чтобы получить изображения нескольких поверхностей трехмерного объекта.
[0040] Использование нескольких камер может позволить получать изображения одновременно и(или) параллельно, чтобы уменьшить время, затрачиваемое на распознавание символов, изображенных на физическом объекте, если один или более дефектов на полученных изображениях препятствуют распознаванию некоторых символов на некоторых изображениях. Использование нескольких камер, установленных под разными углами относительно физического объекта, может позволить получать изображения текста на трехмерных физических объектах, независимо от ориентации физического объекта относительно камер 502a-f.
[0041] На Фиг. 6 представлена блок-схема примера процесса 600 использования нескольких камер для выполнения оптического распознавания символов на изображениях физического объекта в соответствии с некоторыми вариантами реализации того же изобретения. Процесс 600 может выполняться, например, такой системой, как системы 100, 200, 400 и(или) 500a-b. Для удобства представления в приведенном описании системы 100, 200, 400 и(или) 500 используются как примеры для описания процесса 600. Однако для осуществления процесса 600 может использоваться другая система или сочетание систем.
[0042] В прямоугольнике 602 процесс 600 включает получение как минимум одного первого изображения с первой камеры, содержащего первый вид физического объекта из первого пространственного положения относительно физического объекта. Физический объект содержит множество символов. Например, первая камера 202а может получить первое изображение 300а чека из ресторана из первого пространственного положения относительно физического объекта 206.
[0043] В прямоугольнике 604 процесс 600 включает выполнение оптического распознавания символов первого изображения для выявления одного или более первых символов из символов, изображенных на физическом объекте. Например, система распознавания 108 может выполнять инструкции модуля 116 оптического распознавания символов для распознавания символов на первом изображении 300а, например символов, включающих:
[0044] Выполнение оптического распознавания символов может также включать выявление первой разметки первых символов первого изображения. Например, система распознавания 108 может выполнять инструкции модуля оптического распознавания символов 116 для выявления первой разметки первых символов на первом изображении 300а. Первая разметка может включать положения (например, абсолютные положения) первых символов на первом изображении 300а. Первая разметка может включать положения (например, относительные положения) первых символов на первом изображении 300а относительно других символов или элементов (например, относительно слова, строки текста, абзаца или столбца текста) на первом изображении 300а.
[0045] В прямоугольнике 606, если существует другое изображение, процесс 600 включает повторение прямоугольников 602 и 604, где процесс 600 включает получение как минимум одного второго изображения от второй камеры, содержащего второй вид физического объекта из второго пространственного положения относительно физического