2012-03-29 2 views
3

Я видел несколько вопросов по выбору лучшего результата распознавания, полученного на выходе из разных двигателей, и ответ, как правило, «выбирает лучший движок», , Я хочу, однако, захватить несколько кадров текстовых изображений, с возможными временными окклюзиями или временными сбоями. Я использую tesseract-ocr с python-tesseract.OCR: выберите лучшую строку на основе последних результатов N (адаптивный фильтр для OCR)

Принимая во внимание выходы OCR из последних N кадров, я хочу решить, что является лучшим результатом (по очереди, для простоты).

Например, для N = 3, мы могли бы использовать медианной фильтрации:

ABXD 
XBCX 
AXCD 

Когда есть 2 из 3 одинаковых символов, большинство выиграет, так что результат будет ABCD. Однако это не так просто с разными размерами строк. Если я ожидаю заданный размер M (при сканировании ценовой таблицы, строки, как правило, XX.XX), я всегда могу оштрафовать за строки, большие, чем M.

Если бы мы говорили номера, медианная фильтрация работала бы неплохо (простое вычитание фона в компьютерном зрении) или адаптивная фильтрация наименьших средних квадратов. Есть также проблема с аналогичными символами: l и 1 могут быть очень похожими, в зависимости от шрифта.

Я также думал об использовании строковых расстояний между каждой строкой. Например, выберите строку с наименьшей суммой расстояний с другими.

Кто-нибудь обращался к этой проблеме раньше? Есть ли какой-нибудь известный алгоритм для такого рода проблем, который я должен знать?

+1

Для работы с различными строками длины вы можете попробовать найти самую длинную общую подстроку, например, для 'blended 'и' blencled' LCS является 'blen * ed', поэтому конкурс находится между' d' и 'cl'. Интересная проблема в любом случае, слишком плохо, у меня нет ничего более конкретного :) –

+0

@ RafałDowgird Не будет ли LCS 'blen'? – jpimentel

+0

Нет, LCS может пропустить индексы (в обеих строках.) –

ответ

2

Эта проблема называется множественным выравниванием последовательности, и вы можете прочитать об этом here

+0

Спасибо! Я изучу эту проблему. Надеюсь, я смогу придумать простое решение для небольших размеров струн. – jpimentel