УЛУЧШЕНИЯ КАЧЕСТВА РАСПОЗНАВАНИЯ ЗА СЧЕТ ПОВЫШЕНИЯ РАЗРЕШЕНИЯ ИЗОБРАЖЕНИЙ
RECOGNITION QUALITY ENHANCEMENTS BY INCREASING IMAGE RESOLUTION

ОБЛАСТЬ ТЕХНИКИ
[0001] Настоящее изобретение относится способу обработки изображений, компьютерного зрения и анализа видеоданных. Одной из целей изобретения является существенное улучшение результатов Оптического (или Интеллектуального) распознавания символов на основе анализа и обработки набора исходных изображений.
УРОВЕНЬ ТЕХНИКИ
[0002] В настоящее время электронные устройства, такие как смартфоны, мобильные телефоны, портативные компьютеры, планшетные компьютеры, персональные компьютеры (ПК), персональные цифровые секретари и т.д., стали доступными по всему миру. Более того, мобильные устройства становятся все более портативными и производительными, так как всегда находятся под рукой и их производительность становятся сравнимой с производительностью персональных компьютеров, вычислительных центров и серверов. На рынке мобильных приложений и программного обеспечения существует множество программ, связанных со способами обработки снятых готовых изображений или записанных при помощи камер видеосигналов, встроенных в мобильные устройства. Среди упомянутых выше программ существуют программы для Оптического (или Интеллектуального) распознавания символов. Однако существующие приложения имеют ряд недостатков.
[0003] В большинстве случаев в процессе распознавания может возникнуть ситуация, в которой исходное изображение имеет недостаточное разрешение для того, чтобы быть идеально распознанным. Низкое разрешение исходного изображения может быть вызвано различными причинами: ограниченным разрешением матрицы камеры, встроенной в электронное устройство; недостатками оптической системы электронного устройства, алгоритмами кодирования данных или другими возможными факторами. Недостатки камеры электронного устройства, дрожание руки при съемке, неидеальные условия освещения также могут стать причинами возникновения дефектов на изображении, таких как оптические искажения, размытости, вызванные ограниченной скоростью затвора; зашумленности; эффект сглаживания; расфокусировка; блики на изображении и т.д. Дефекты на изображении могут помешать процессу дальнейшей его обработки. Однако в виду того, что существует потребность в получении точных результатов Оптического (или Интеллектуального) распознавания символов, существует спрос на изображения более высокого или улучшенного разрешения. Детали на изображении являются зачастую критически важными для выполнения известных способов компьютерной обработки изображения. Современные электронные устройства позволяют получить изображения одной и той же сцены с помощью встроенной камеры. Однако подобные изображения зачастую имеют низкое разрешение, но могут содержать критически важную информацию для пользователя. Например, в качестве объекта съемки может служить документ с контактами деловых партнеров (визитка). Или в другой ситуации, пользователь не имеет возможности сделать серию снимков одного документа в виду нехватки времени. Однако пользователь может записать (небольшое) видео, где в качестве интересующего объекта съемки выступает необходимый текстовый документ.
Данное изобретение позволяет существенно улучшить процесс последующего распознавания текстового изображения. Согласно описанному изобретению некоторое множество изображений, обладающих рядом искажений и низким разрешением, полученных при помощи камеры электронного устройства, используются для создания изображения высокого разрешения. При этом данное изобретение помогает избежать ряда недостатков, существующих в известных программных приложениях, описанных выше.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0004] Изобретение предоставляет собой метод, который включает в себя команду для устройства, операционной системы, программно-аппаратных средств и программного обеспечения, позволяющий получить идеально распознанное изображение высокого разрешения на основе некоторого множества изображений низкого разрешения, обладающих некоторыми искажениями, полученных при помощи камеры электронного устройства.
[0005] Для съемки изображения или видео, содержащего объект интереса, может использоваться камера, встроенная в электронное устройство. В описываемом изобретении объектом интереса является текстовая информация либо любая другая информация, содержащая символы. Согласно одному из способов реализации, изображение может быть получено из памяти электронного устройства либо из любых других доступных источников.
[0006] Данный раздел «Раскрытие изобретения» содержит в упрощенной форме набор неисключительных аспектов или понятий о настоящем изобретении, которые дополнительно описаны ниже в подробном описании. Эта часть не предназначена для идентификации ключевых или существенных признаков заявленного предмета изобретения и не предназначена для сужения области заявленного объекта изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0007] Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
[0008] Фиг.1 иллюстрируют пример получения множества изображения одной и той же сцены, отображаемой на дисплее электронного устройства в соответствии с реализацией настоящего изобретения;
[0009] Фиг.2 является блок-схемой алгоритма, иллюстрирующего реализацию описанного изобретения;
[0010] Фиг.3А и 3Б иллюстрируют один и тот же участок изображения документа. Фиг.3А иллюстрирует исходное изображение в серии кадров, полученных с помощью камеры электронного устройства. Фиг.3Б иллюстрирует изображение, полученное на основе применения описываемого изобретения.
[0011] Фиг.4 иллюстрирует результаты эксперимента по распознаванию исходных кадров и распознаванию изображений, полученных при помощи накопления сигнала.
[0012] Фиг.5 иллюстрирует пример компьютерной системы, на которой может быть реализовано настоящее изобретение.
[0013] ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0014] Настоящее изобретение предназначено для улучшения результатов распознавания текстового изображения, которое основано на воссоздании изображения высокого разрешения из множества изображений или последовательности видеокадров, полученных при помощи камеры электронного устройства, обладающих низким разрешением и рядом искажений (недостатков).
[0015] На первом этапе все текстовые изображения (например, визитные карточки) могут быть получены при помощи камеры, встроенной в электронное устройство, и могут быть сохранены в памяти устройства. Видеопоследовательность кадров может быть записана заранее или загружена из внешних источников (например, Интернет) в хранилище памяти электронного устройства. Вследствие низкого разрешения полученных снимков (или кадров видеопоследовательности) текстовых документов, многие их них не приемлемы для дальнейшей обработки, в частности для Оптического (или Интеллектуального) распознавания символов. В большинстве случаев текстовые изображения, полученные камерой портативных устройств, обладают низким разрешением и могут содержать в различной степени всевозможные виды дефектов, таких как размытость, шум, расфокусировка, блики и т.д. Низкое разрешение и дефекты могут стать причиной ошибок распознавания. Поэтому для получения идеальных (значительно улучшенных) результатов распознавания, требуется повышенное качество изображения.
[0001] Обычно для целей распознавания текста на изображении электронное устройство пользователя может включать модуль, выполняющий Оптическое (или Интеллектуальное) распознавание символов локально на устройстве. Оптическое (или Интеллектуальное) распознавание символов может быть выполнено на сервере, доступ к которому может быть осуществлен при помощи некоторых стандартов и протоколов, таких как WiFi, Zigbee, Bluetooth и т.д.
[0016] Оптическое распознавание символов предназначено для преобразования изображений или отображений бумажных документов (фотографий) в машиночитаемый редактируемый и доступный для поиска электронный файл. Типичная система оптического распознавания символов включает в себя устройство визуализации или компонент, воссоздающий изображение документа и программное обеспечение, обрабатывающее изображение. Как правило, данное программное обеспечение включает программы распознавания либо набор алгоритмов, выполняющие распознавание символов, букв, знаков, цифр и других единиц и сохраняющие их в машинно-редактируемом формате, т.е. в закодированном формате.
[0017] Например, возможна такая ситуация, когда пользователь хочет получить на свое электронное устройство изображение визитной карточки для последующего ее распознавания, извлечения текста и сохранения информации в памяти электронного устройства. В соответствии с описанием настоящего изобретения пользователю доступны как минимум два возможных варианта действий. Одним из вариантов действий может служить последовательная съемка одной и той же сцены (в нашем случае сценой является тестовый документ) с наличием некоторого смещения камеры от кадра к кадру, называемого относительным движением кадров. Вторая возможность, предоставляемая пользователю - это запись видеосъемки, содержащей необходимый документ.
[0018] Предполагается, что объект интереса (сцена) отличается от кадра к кадру незначительно. Изменения в искажении текстового документа (например, визитной карточки) можно считать пренебрежимо малыми при фотографировании этого объекта на твердой устойчивой поверхности (например, на столе). Незначительные искажения могут быть вызваны несовершенствами поверхности или дефектами самого документа, такими как складки, пятна, царапины и т.д. Такие несовершенства не изменяются при переходе от кадра к кадру, или от изображения к изображению. Считается, что они могут присутствовать на каждом кадре.
[0019] Также предполагается, что движение в сцене вызвано в основном движением камеры электронного устройства в руках пользователя. Движения, вызванные естественным дрожанием рук пользователя при осуществлении съемки, могут быть компенсированы различными известными алгоритмами стабилизации.
[0020] В одной из реализации описываемого изобретения серия изображений (или кадров), содержащих один объект интереса, или сцену (в нашем случае сценой является документ с тестовой информацией), на шаге 201 (Фиг.2) загружаются в электронное устройство. Предполагается, что полученные изображения (кадры) могут содержать различные виды искажений (размытость, расфокусировку, блик и т.д.) и обладают низким разрешением. Далее полученное множество фотографий с искажениями и низким разрешением обрабатываются для воссоздания изображения с высоким разрешением (или как минимум изображения, обладающего более высоким разрешением по сравнению с исходными снимками). Так как последовательность кадров в видеосигнале можно принять за некоторое множество фотографий, то данный способ может быть применен к видеопоследовательности кадров видеосигнала. Восстановленное конечное изображение с высоким изображением подвергается оптическому (или интеллектуальному) распознаванию символов. Результаты распознавания становятся более точными вследствие повышения разрешения изображения.
[0021] Классические методы повышения изображения или воссоздания изображения, обладающего высоким разрешением, на основе обработки одного или нескольких наборов изображений сцены предполагают, что сцена содержит большое разнообразие изображаемых объектов, например людей, природу, архитектуру и т.д. Данное изобретение предназначено именно для обработки изображений, которые содержат текстовую информацию, символы, знаки и т.д. Например, такими документами могут быть визитные карточки, чеки, текстовые документы, счета, анкеты, бланки и т.д. Таким образом, изображения документов могут содержать текстовые блоки, таблицы, сепараторы, диаграммы, графики, печати и т.д. Таким типам документов характерна модель кусочно-постоянного сигнала, содержащего значительные по площади участки для фона (бумаги) и участки со ступенчатым сигналом для текста.
[0022] Фиг.1 представляет пример электронного устройства 102, имеющего дисплей 104 и кнопку камеры 106 для запуска и выполнения камерой съемки (или записи видео) сцены 108, где согласно описываемому изобретению сцена может быть представлена в виде текстовых документов, например в виде визитных карточек, чеков, счетов, анкет, форм и т.д. Цифровое представление сцены 108 на экране 104 может быть снято или записано камерой, встроенной в электронное устройство. В результате получена серия из N изображений (или кадров) 110 сцены 108, которая может быть сохранена в памяти (304) электронного устройства 102. Кнопка 106 может быть отображена на экране электронного устройства в виде виртуальной кнопки, в зависимости от интерфейса устройства, или реально существующей (т.е. физическая кнопка на экране связана с системным блоком электронного устройства 102). Контент, отображаемый на экране электронного устройства 104, может быть получен при помощи видоискателя камеры, который передает изображение документа на экран дисплея 104.
[0023] Электронное устройство 102 может представлять собой компьютер общего назначения, воплощенный в различных конфигурациях, таких как мобильный телефон, смартфон, сотовый телефон, цифровая камера, портативный компьютер или любое другое устройство, имеющее экран и камеру, или осуществляющий доступ к изображению либо устройству/компоненту, генерирующему изображение.
[0024] На Фиг.2 изображена блок-схема последовательных операций, выполняемых в соответствии с основным способом реализации изобретения - способом повышения разрешения изображения (или воссоздания изображения с высоким разрешением) для улучшения качества последующего распознавания. На шаге 201 цифровое представление объекта интереса (сцены) загружается в электронное устройство, например, в форме изображений или кадров видеопоследовательности.
[0025] Далее начинается обработка серии полученных изображений или кадров (110). Как можно точно на шаге 202 оценивается движение, или другими словами, перемещение, сцены (или объекта интереса) от одного изображения (кадра) к другому. Способ, описывающий перемещение объектов при переходе от одного изображения (или соседних кадров в видеопоследовательности) к другому изображению называется оценкой движения. Для этого могут использоваться различные модели движения. Рассмотрим как минимум две из них, использование которых предусматривает данное изобретение.
[0026] Согласно одному из способов реализации изобретения, снятое изображение (или кадры видео) разбиваются на непересекающиеся блоки пикселей, образуя матрицу блоков таким образом, что анализируемые изображения разделены на некоторую сетку. Параметры блоков из пикселей (ширина и длина) могут быть предварительно заданы. В большинстве случаев макроблоки из пикселей квадратные, например 16×16 пикселей.
[0027] Процесс анализа всех полученных изображений (кадров) в серии происходит попарно, то есть в каждый некоторый момент t два изображения сравниваются между собой и обрабатываются в соответствии с описанным ниже способом. В результате попарного анализа на выходе получается одно результирующее изображение. Это результирующее изображение аккумулирует информацию из двух обработанных ранее изображений. Обычно первое изображение (или кадр) в серии считается аккумулятором. Далее изображение-аккумулятор, полученное на предыдущем шаге, и следующее изображение в последовательности анализируются для добавления информации из этого текущего изображения к изображению-аккумулятору и т.д. Для удобства два изображения, анализируемые в некий момент t, могут быть обозначены как текущее изображение (или кадр) и опорное изображение (или кадр). Опорное изображение может быть предыдущим или последующим во времени.
[0028] После того как анализируемое изображение (или кадр) разделено на некоторую сетку, макроблоки текущего изображения сравниваются с соответствующим макроблоком опорного изображения и его ближайшими соседями для того, чтобы вычислить вектор перемещения. Вектор перемещения, описывающий сдвиг блока между двумя (последовательными) кадрами, вычисляется на основе множества всех возможных кандидатов в вектора перемещения. Число кандидатов векторов перемещения зависит от области поиска в текущем изображении. Чем больше область поиска в текущем изображении, тем большее число кандидатов в вектора перемещения для обрабатываемого блока в опорном изображении (или кадре). Полученный сдвиг для всех макроблоков в изображении (кадре) является оцененным перемещением в текущем анализируемом кадре.
[0029] Из всех кандидатов в вектора перемещения для макроблока выбирается один вектор, который обеспечивает наилучшее совмещение блоков в соответствии с одной из выбранных метрик отличий. Для этого используются различные алгоритмы совмещения блоков, например спиральный поиск, перекрестный поиск (CSA), трехуровневый алгоритм поиска, алгоритм полнового поиска (FSA), двухмерный алгоритмический поиск (TDL) и т.д.
[0030] Согласно нашему изобретению для уменьшения вычислительных затрат алгоритма, предлагается использовать многомасштабный способ поиска векторов перемещения. Его суть состоит в следующем: для изображений (кадров) строятся пирамиды многомасштабного представления изображения, например пирамиды гауссианов, из которых создаются изображения с уменьшенным вдвое (вчетверо и т.д.) разрешением. Соответствующие блоки в уменьшенных изображениях имеют во столько же раз меньшие размеры и вектора перемещения. Следовательно, на поиск приблизительного значения вектора перемещения потребуется гораздо меньше вычислений метрики отличий. После предварительной оценки векторов перемещения на изображениях с низким разрешением, вектора перемещения увеличиваются в два раза и уточняются для блоков на изображении с большим разрешением путем перебора возможных кандидатов в небольшой окрестности этих блоков. Процесс уточнения повторяется до тех пор, пока не будет произведено уточнение на изображении в оригинальном масштабе.
[0031] Алгоритмы согласования описывают процесс совмещения блока в текущем изображении с соответствующим блоком из опорного изображения. Совмещение основано на выходном значении некоторой метрики отличий, или другими словами некоторой функции затрат. Существует множество метрик отличий, например метод наименьших квадратов (МНК или MSE), сумма абсолютных разностей, сумма квадратов ошибок, сумма абсолютных преобразованных разностей и т.д. Формулы для подсчета MSE и MAD следующие:
<mrow><mi>M</mi><mi>S</mi><mi>E</mi><mo>=</mo><mfrac><mn>1</mn><mrow><msup><mi>N</mi><mn>2</mn></msup></mrow></mfrac><munderover><mo>∑</mo><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><munderover><mo>∑</mo><mrow><mi>y</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mrow><mo>(</mo><mrow><msub><mi>I</mi><mi>C</mi></msub><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mtext> </mtext><mi>y</mi></mrow><mo>)</mo></mrow><mo>−</mo><msub><mi>I</mi><mi>R</mi></msub><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mtext> </mtext><mi>y</mi></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup></mrow>
<mrow><mi>M</mi><mi>A</mi><mi>D</mi><mo>=</mo><mfrac><mn>1</mn><mrow><msup><mi>N</mi><mn>2</mn></msup></mrow></mfrac><munderover><mo>∑</mo><mrow><mi>x</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><munderover><mo>∑</mo><mrow><mi>y</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo>|</mo><mrow><msub><mi>I</mi><mi>C</mi></msub><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mtext> </mtext><mi>y</mi></mrow><mo>)</mo></mrow><mo>−</mo><msub><mi>I</mi><mi>R</mi></msub><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mtext> </mtext><mi>y</mi></mrow><mo>)</mo></mrow></mrow><mo>|</mo></mrow></mrow>
C
R
Где I(x, y) и I(x, y) - интенсивности обрабатываемых пикселей в текущем блоке и опорном блоке соответственно, N - размер блока (в пикселях) в сетке, например N=4 для блока 4×4 пикселей.
Считается, что некоторый блок в текущем изображении, имеющий наименьшее значение метрики отличий, наиболее точно согласуется с соответствующим блоком в опорном изображении. Например, согласно описываемому способу оценки, из всех кандидатов в вектора перемещения может быть выбран тот вектор перемещения, у которого значение метрики отличия MSE наименьшее.
[0032] Несмотря на использование метрик отличий (или функции затрат) некоторые вектора движения могут быть выбраны ошибочно. Поэтому, чтобы удалить ошибочно найденные вектора перемещения из текущего рассмотрения и анализа, все вектора перемещения тестируются. Для этого используется различные критерии надежности, которые могут быть применены к макроблокам, каждый из которых имеет свои собственные вектора перемещения. Некоторые критерии надежности представлены ниже:
<mrow><mi>V</mi><mi>α</mi><mi>r</mi><mrow><mo>(</mo><mi>I</mi><mo>)</mo></mrow><mo>≥</mo><mi>k</mi><mi>σ</mi><mtext> </mtext><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>
Вышеприведенная формула (1) означает, что дисперсия интенсивности пикселей I анализируемого блока не должна быть меньше порогового значения, который определяется уровнем шума (kσ), где k - адаптивный параметр, который может быть установлен эмпирически для каждого типа камеры, имеющей свои уникальные оптические характеристики.
[0033] Ввиду специфики сцены, содержащей текст или символы, в изображении или кадре существует множество блоков, содержащих только фон. Термин «блок, содержащий только фон» обозначает, что блок не содержит текст или другие символы и имеет относительно однородный цвет заливки. Макроблоки, содержащие только фон, должны быть удалены из последующего анализа. Причина тому следующая: после удаления блоков, содержащих только фон, результирующее поле векторов перемещения становится более гладким. Иначе, последующая интерполяция векторов перемещения для каждой точки может быть ошибочной. Поэтому только «надежные» блоки с текстом или символами должны обрабатываться в последующем анализе.
Другим критерием надежности, который использует свойство связности текстового документа (изображения), является следующее неравенство:
<mrow><mrow><mo>|</mo><mrow><msub><mi>V</mi><mi>C</mi></msub><mo>−</mo><mrow><mo>〈</mo><mi>V</mi><mo>〉</mo></mrow></mrow><mo>|</mo></mrow><mo><</mo><mi>T</mi><mo>,</mo><mtext> </mtext><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>
C
C
где V - вектор перемещения текущего анализируемого блока, 〈V〉 - средний вектор среди смежных соседних блоков текущего блока, T - заранее заданное пороговое значение. Формула (2) означает, что вектор перемещения текущего анализируемого блока V не должен сильно отличаться от среднего вектора перемещения соседних блоков 〈V〉 на величину, превосходящую заранее заданное пороговое значение.
Если макроблоки и вектора движения не удовлетворяют описанным выше критериям надежности, то такие блоки считаются «ненадежными» и удаляются из дальнейшего анализа изображения (кадра).
[0034] Обнаружение «ненадежных» блоков непосредственно учитывает тип анализируемого изображения (кадра). Существенной разницей от фотографических сцен, содержащих людей, природу или архитектуру, является то, что сцены в описываемом изобретении содержат текстовую информацию, символы, цифры, знаки и т.д. Текстовые изображения могут быть представлены при помощи кусочно-постоянного сигнала, который наиболее подходит для изображений подобного типа. Это означает, что сигнал (функция) содержит значительные участки фона (бумаги) и участки со ступенчатым сигналом (текст). Использование критериев (1) и (2) полностью оправдано спецификой сцены, содержащей текстовую информацию, поэтому они обеспечивают более точную оценку движения и компенсацию движения, что отличает этот метод от других методов, используемых для обработки сцен на фотографии или видео, на которых объекты представлены в виде людей, природы, архитектуры и т.д.
[0035] Чтобы уменьшить вероятность ошибки во время оценки перемещения между кадрами, макроблоки, находящиеся на границе изображения вдоль его периметра, считаются «ненадежными» и удаляются из последующего анализа. Это связано с тем, что граничные блоки имеют значительные оптические искажения, вызванные существенными сдвигами в сцене, которые могут привести к значимым ошибкам в оценке перемещения объекта между изображениями (или кадрами). Более того, удаляются не только граничные блоки изображения, но и удаляется из дальнейшего анализа некоторая полоса шириной в несколько блоков вдоль периметра изображения. Для различных типов изображений ширина такой полосы может варьироваться от 5 до 10 блоков. Поэтому процесс оценки движения и процесс сопоставления блоков выполняется только на основе внутренних блоков изображения.
[0036] Как было указано выше, процесс анализа выполняется только на основе «надежных» блоков. Информация в надежных макроблоках интерполируется на ту часть изображения, откуда блоки были удалены на предыдущем шаге как «ненадежные». Для этого создаются квадратные окна из макроблоков таким образом, что «ненадежные» блоки с отсутствующими (неопределенными) значениями векторов перемещения находятся в центре таких окон, в результате чего они носят название центрированных окон. Компоненты вектора в отсутствующем центральном «ненадежном» блоке внутри окна (например, размером 3×3 блока) рассчитываются на основе компонент векторов соседних смежных «надежных» блоков в итеративном порядке. Например, компоненты вектора центрального удаленного блока могут быть вычислены как среднее значение всех соответствующих компонент векторов, окружающих «надежных» блоков. Если соседние блоки тоже являются «ненадежными», то вектор компонент в центральном блоке остается неизменным. Описанный выше метод выполняется итеративно до тех пор, пока всем частям изображения, откуда были удалены «ненадежные» блоки, будут присвоены некоторые значения вектора, рассчитанные на основе окружающих смежных «надежных» блоков.
[0037] В результате описанной выше процедуры строится поле векторов перемещения для текущего и опорного изображений, которое описывает двухмерное перемещение для каждого блока. Однако поле выбранных векторов перемещения может быть зашумленным. Поэтому поле векторов перемещения сглаживается. Сглаживание выполняется независимо для каждой компоненты вектора. Чтобы удалить шум с поля векторов перемещения, могут применяться различные типы фильтров, например свертка с центрированным окном большего размера. Такой тип сверки косвенно учитывает модель сцены, на которой объектом интереса является текстовый документ. Вектора движения смежных соседних блоков не должны значительно отличаться.
[0038] После оценки перемещения сцены между двумя изображениями (или кадрами) на шаге 203 выполняется процесс компенсации движения второго изображения (или кадра) к первому (опорному или аккумулирующему) для того, чтобы получить новое изображение, скомпенсированное по движению относительно опорного изображения. Если процедура выполняется независимо для каждого блока, то в полученном изображении возникнет главный недостаток этого метода. Недостаток заключается в возникновении неоднородности на границах между блоками, т.е. проявятся «блочные артефакты». «Блочные артефакты» представлены резкими вертикальными и горизонтальными краями, которые могут быть легко обнаружены человеческим глазом. Чтобы избежать описанный выше недостаток оценки перемещения, для векторов перемещения может быть применена билинейная интерполяция. Значения векторов перемещения, вычисленные для соответствующих блоков, интерполируются для конкретных пикселей внутри изображения с помощью билинейной интерполяции.
[0039] В альтернативной реализации описываемого изобретения может быть использована другая предлагаемая модель движения. Эта модель движения использует вектора перемещения, полученные только на основе надежных блоков. Вектора перемещения могут быть рассчитаны на основе способа, описанного в первой реализации изобретения. Согласно второй модели движения, перемещение в сцене хорошо описывается перспективным преобразованием. Параметры данного перспективного преобразования надежным образом подбираются. В результате вектора перемещения из «надежных» блоков образуют переопределенную систему нелинейных уравнений, решением которой является оптимальный вектор параметров перспективного преобразования. Для решения этой системы может быть использована алгоритм Левенберга-Маркварда (LMA). В качестве начального вектора параметров задается тождественное преобразование, что значительно ускоряет процедуру поиска. Получаемые в результате параметры перспективного преобразования определяют вектор перемещения для каждого пикселя изображения. Использование модели перспективного преобразования полностью подбирается для специфики сцены, а именно текстового документа на твердой поверхности. Движение в изображении вызвано только движением камеры. Это обуславливает точность оценки движения в описываемой модели и делает невозможным для применения ее в общем случае, где сцена содержит не текстовую информацию.
[0040] Максимум надежности достигается в оценке движения объекта межу кадрами при применении двух описанных моделей совместно. Каждая из этих моделей учитывает отличительную черту сцены, которая содержит текстовый документ. Поэтому модели движения, представленные в описании выше, могут быть объедены в одну модель. Объединенная модель может описываться уравнением (3), в котором каждая из моделей движения имеет свои веса. Эти веса могут зависеть от нескольких параметров: от типа документа, параметров камеры и т.д. В этом случае вектор движения для каждой точки определяется как взвешенная сумма векторов перемещения из первой и второй модели для каждой точки изображения:
<mrow><mi>V</mi><mo>=</mo><mi>k</mi><mo>∗</mo><msub><mi>V</mi><mn>1</mn></msub><mo>+</mo><mrow><mo>(</mo><mrow><mn>1</mn><mo>−</mo><mi>k</mi></mrow><mo>)</mo></mrow><mo>∗</mo><msub><mi>V</mi><mn>2</mn></msub><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mtext> </mtext><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>
1
2
где k - весовой параметр, который подбирается эмпирически для различных типов исходных документов, V, V - вектора перемещения из первой и второй модели движения соответственно. Другие модели движения также могут быть применены и включены в уравнение для вычисления взвешенного вектора перемещения. Полученный взвешенный вектор перемещения более надежен, так как содержит информацию, полученную из различных моделей.
[0041] В результате применения билинейной интерполяции каждый пиксель на изображении (кадре) имеет свой уникальный вектор перемещения, слегка отличающийся от соседей. В другой реализации результирующее изображение получается путем бикубической интерполяции сигналов каждой точки, определенной при помощи векторов перемещения. После процесса компенсации движения второго изображения (или кадра) к первому изображению (или кадру) создается скомпенсированное изображение.
[0042] Алгоритм улучшения качества может включать процедуру повышения пространственного разрешения, т.е. процесс изменения размера изображения (или кадра). Повышение пространственного разрешения может быть достигнуто несколькими методами на различных этапах описываемого изобретения. Одним из способов является геометрическое увеличение одного исходного изображения (или кадра). Второй способ заключается в геометрическом увеличении при попиксельной компенсации движения с использованием бикубической интерполяции. Процедура бикубической интерполяции в более высокое разрешение производится один раз для каждого кадра перед этапом накопления сигнала. Первое анализируемое изображение (или кадр) увеличивается без движения, последующие - с учетом векторов перемещения. «Шумоподобные» артефакты бикубической интерполяции в процессе накопления усредняются и подавляются путем аккумулирующих процедур. Поэтому результирующее текстовое изображение становится более «гладким», имеет улучшенное качество. Это означает, что символы в текстовых блоках результирующего изображения фильтруются от шума, края символов сглаживаются.
[0043] Процедура накопления (аккумулирования) сигнала на шаге 204 заключается в добавлении сигнала (информации) из текущего обрабатываемого изображения в опорное изображение-аккумулятор. Например, первое изображение (или кадр) из серии снимков может считаться аккумулятором. Аккумулятором также может считаться наилучшее по качеству изображение в серии снимков. Процедура накопления сигнала может осуществляться одним из следующих способов.
[0044] Согласно первому способу реализации накопление сигнала происходит после того, как на шаге 203 каждое изображение из серии снимков было скомпенсировано по движению относительно опорного изображения. То есть для каждого изображения в серии были выполнены процедуры оценки движения и компенсации по движению относительно выбранного опорного изображения. В результате создается новый набор изображений, включающий в себя одно опорное изображение и изображения, скомпенсированные по движению относительно данного опорного изображения. Далее все скомпенсированные по движению изображения и опорное изображение усредняются, в итоге формируется одно результирующее изображение с накопленным сигналом.
[0045] Согласно второму способу реализации накопление сигнала происходит последовательно на каждом шаге после осуществления компенсации движения. Для этого также выбирается изображение-аккумулятор, по отношению к которому будет проводиться компенсация движения остальных изображений в серии снимков. Далее из серии снимков выбирается другое изображение, не являющееся аккумулятором. К нему применяется процедура компенсации движения. В результате чего на выходе создается новое скомпенсированное изображение. Далее информация из полученного скомпенсированного изображения добавляется в аккумулятор. Аккумулятор обновляется. Далее выбирается следующее изображение из серии снимков, аналогичным образом создается скомпенсированное по отношению к аккумулятору изображение. Снова происходит усреднение нового скомпенсированного изображения и обновленного аккумулятора. Таким образом, данная процедура накопления сигнала продолжается до тех пор, пока не будет обработано достаточное количество исходных изображений. В результате такого способа накопления сигнала формируется единственное накопленное изображение.
[0046] Накопление сигнала может выполняться путем простого усреднения сигнала, полученного из аккумулятора и текущего изображения (или кадра) с различными весами. Для равномерного усреднения между всеми кадрами в серии вес добавляемого кадра может вычисляться как:
<mrow><msub><mi>W</mi><mi>n</mi></msub><mo>=</mo><mfrac><mn>1</mn><mi>n</mi></mfrac></mrow>
где n - номер добавляемого кадра.
a
Вес аккумулятора W может быть вычислен в соответствии со следующим уравнением:
a
n
W=1-W
В других альтернативных реализациях для накопления сигнала могут быть использованы более сложные методы. Эти методы учитывают для каждого элемента (пикселя) добавляемого изображения информацию о его окружении, а также информацию, полученную из аккумулятора (значение дисперсии, локального контраста и т.д.).
[0047] Результат обработки аккумулятора и очередного текущего обрабатываемого кадра перемещается и накапливается в аккумуляторе. Далее процедура накопления информации повторяется для последующих изображений (кадров) в серии.
[0048] В результате накопления обработанных N изображений (кадров) получается изображение, имеющее высокое разрешение (или повышенное) 205. Качество конечного изображения может быть оценено, например, при помощи отношения полезного сигнала к шуму или на основе результатов последующего оптического распознавания символов.
[0049] Результат накопления сигнала носит экспоненциальный характер. Это означает, что наибольший прирост качества происходит при накоплении нескольких первых, например, 5-7 изображений (кадров). Далее процесс замедляется, после некоторой итерации, например на 20 кадре, прирост оказывается несущественным и дальнейший процесс накопления не имеет смысла. Для более быстрого и эффективного накопления полезного сигнала можно отсортировать имеющиеся кадры по предварительной интегральной оценке их качества. Оценка качества учитывает различные типы дефектов (например, смаз, расфокусировка, блики и т.д.). После сортировки изображений (кадров) процесс накопления сигнала начинается с изображения, обладающего наилучшим качеством, который далее будет выполнять роль аккумулятора сигнала.
[0050] На Фиг.4 приведены результаты эксперимента по распознаванию исходных кадров, полученных с мобильного устройства, позволяющего делать фотографии с разрешением 1280×720 пикселей, и кадров, полученных в результате накопления сигнала с увеличением в 2 раза. Использовались обе модели движения. Видно, что процесс накопления полезного сигнала носит экспоненциальный характер, наибольший прирост качества распознавания происходит при накоплении информации из первых 5-8 кадров, далее процесс замедляется, после 20 кадра прирост оказывается несущественным и дальнейший процесс накопления не имеет смысла.
[0051] На заключительном шаге 206 к полученному изображению, обладающему высоким разрешением, применяется Оптическое или Интеллектуальное распознавание символов. За счет повышенного качества конечного изображения, результаты распознавания становятся точнее. Результирующее изображение также может быть подвергнуто любым другим известным способам обработки текстовых изображений.
[0052] Так Фиг.3А и Фиг.3Б демонстрируют один и тот же участок изображения документа. На Фиг.3А показано одно из исходных изображений в серии кадров, полученных с помощью камеры электронного устройства. Фиг.3Б иллюстрирует изображение, полученное на основе применения описываемого изобретения, а именно повышения разрешения изображения методом «Super Resolution». Как можно видеть, качество изображения существенно возросло. Улучшенное качество изображения значительно сокращает ошибки при распознавании.
[0053] На Фиг.5 приведен возможный пример вычислительного средства 500, которое может быть использовано для внедрения настоящего изобретения, осуществленного так, как было описано выше. Вычислительное средство 500 включает в себя, по крайней мере, один процессор 502, соединенный с памятью 504. Процессор 502 может представлять собой один или более процессоров, может содержать одно, два или более вычислительных ядер. Память 504 может представлять собой оперативную память (ОЗУ), а также содержать любые другие типы и виды памяти, в частности устройства энергонезависимой памяти (например, флэш-накопители) и постоянные запоминающие устройства, например жесткие диски и т.д. Кроме того, может считаться, что память 504 включает в себя аппаратные средства хранения информации, физически размещенные где-либо еще в составе вычислительного средства 500, например кэш-память в процессоре 502, память, используемую в качестве виртуальной и хранимую на внешнем либо внутреннем постоянном запоминающем устройстве 510.
[0054] Вычислительное средство 500 также обычно имеет некоторое количество входов и выходов для передачи информации вовне и получения информации извне. Для взаимодействия с пользователем вычислительное средство 500 может содержать одно или более устройств ввода (например, клавиатура, мышь, сканер и т.д.) и устройство отображения 508 (например, жидкокристаллический дисплей). Вычислительное средство 500 также может иметь одно или более постоянных запоминающих устройств 510, например привод оптических дисков (CD, DVD или другой), жесткий диск, ленточный накопитель. Кроме того, вычислительное средство 500 может иметь интерфейс с одной или более сетями 512, обеспечивающими соединение с другими сетями и вычислительными устройствами. В частности, это может быть локальная сеть (LAN), беспроводная сеть Wi-Fi, соединенные со всемирной сетью Интернет или нет. Подразумевается, что вычислительное средство 500 включает подходящие аналоговые и/или цифровые интерфейсы между процессором 502 и каждым из компонентов 504, 506, 508, 510 и 512.
[0055] Вычислительное средство 500 работает под управлением операционной системы 514 и выполняет различные приложения, компоненты, программы, объекты, модули и т.д., указанные обобщенно цифрой 516.
[0056] Вообще программы, исполняемые для реализации способов, соответствующих данному изобретению, могут являться частью операционной системы или представлять собой обособленное приложение, компоненту, программу, динамическую библиотеку, модуль, скрипт либо их комбинацию.
[0057] Настоящее описание излагает основной изобретательский замысел авторов, который не может быть ограничен теми аппаратными устройствами, которые упоминались ранее. Следует отметить, что аппаратные устройства прежде всего предназначены для решения узкой задачи. С течением времени и с развитием технического прогресса такая задача усложняется или эволюционирует. Появляются новые средства, которые способны выполнить новые требования. В этом смысле следует рассматривать данные аппаратные устройства с точки зрения класса решаемых ими технических задач, а не чисто технической реализации на некой элементной базе.