11 лет назад 10 декабря 2007 в 17:22 39

Вместо сканера – фотоаппарат

Автор: Роберт Басыров

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

Сканер к ней везти бесполезно, поскольку самая сложная техника в ее каморке – телевизор “Рубин” советского выпуска, и подключать сканер, собственно, не к чему. Притащить ноутбук вместе со сканером? Можно сделать и так. А можно поступить проще: переснять эти древние книжки цифровиком, а потом запихнуть их в новый ABBYY FineReader 9 – для распознавания.

Возможность использования фотографии вместо отсканированного изображения поддерживалась официально еще в восьмой версии ABBYY FineReader (www.abbyy.ru/finereader). А с помощью бесплатного для пользователей распознавалки ABBYY ScreenshotReader это можно было делать и раньше. Но именно в девятой версии возможность распознавания текста с фотографии заявлена как одна из основных. Вот почему с этой функции мы и начнем.

Оговоримся, что для успешного распознавания фотографии в программе ABBYY FineReader 9 необходимо соблюсти ряд условий. Одно – техническое, остальные касаются съемки. Для беспроблемного распознавания необходимо использовать фотоаппарат с матрицей не ниже 4 Мпикс. Если все сделать правильно, то распознавание даже необработанных дополнительно фотографий не вызовет никаких проблем. У нас FineReader с ходу “подхватывал” картинки и распознавал их с коэффициентом неуверенности всего в 1-2% – так же, как и при сканировании.

Сканирование – это, в принципе, та же цифровая фотография, только сделанная в “льготных” условиях. Когда лист равномерно освещен, плоскость листа и матрицы сканера совпадают, сам лист прижат к стеклу и не изогнут. Чтобы использовать фото в качестве источника текста, нужно максимально приблизить съемку фотоаппаратом к условиям сканирования. Добейтесь равномерного освещения, постарайтесь расположить лист ровно и параллельно матрице фотоаппарата. И ни в коем случае не пользуйтесь вспышкой! Тогда распознать текст для ABBYY FineReader 9 – плевое дело!

Если же матрица вашего фотоаппарата меньше 4 Мпикс, то при этом от вас потребуются дополнительные усилия по обработке фотографий в графическом редакторе. Надо будет перевести фото в тона серого, изменить разрешение (довести минимум до 400 dpi), повысить контрастность и резкость. После этого распознавание у нас происходило с коэффициентом неуверенности в 6-9 %. При большем проценте ошибок программа просто говорила, что не может распознать текст. Но мы не расстраивались, поскольку всегда могли воспользоваться ABBYY ScreenshotReader, и для небольших объемов текста это допустимо по трудозатратам. Для больших объемов приходилось пользоваться инструментами FineReader для выделения зон картинок, текста, таблиц. Если помочь программе в определении таких зон, она справляется и с распознаванием некачественных фотографий.

Впрочем, есть ситуации, когда придется править полученный текст ручками, не зависимо от того, фотографируете вы или сканируете. Например, если фоном текста служит фото или рисунок. Тут FineReader допускает много ошибок, и проблема не в нем, а в самой идеологии распознавания – в таких условиях ни одна программа OCR качественно не сработает.

Однако если у вас есть качественные снимки или сканы, то вы сможете воспользоваться другим новшеством девятой версии: технологией Adaptive Document Recognition Technology – адаптивного распознавания документов. Это автоматическое форматирование документа в соответствии с оригиналом. Если на странице часть текста – курсив, то и в электронном виде будет курсив, если жирный подчеркнутый, то и в электронном виде будет жирный подчеркнутый.

Но и это не все. Технология ADRT в состоянии самостоятельно определять элементы структуры документа и транслировать их на весь документ! Вам останется только проконтролировать, как она это сделала, и при необходимости подправить. Но при больших документах есть еще один момент, который помогает разрешить технология ADRT – это объединение абзацев и таблиц в единое целое.

Если на одной странице книги или журнала начало таблицы, а на другой конец, то в прежних версиях FineReader формировал две отдельные страницы и вставлял между ними как минимум номер страницы, а то и сноску из текста. А бедный пользователь потом вручную правил эту смысловую неточность. Теперь это в прошлом. Все разделенные таблицы и абзацы автоматически объединяются.

Для тех же случаев, когда программа ошиблась или когда надо просто сделать иное форматирование текста, есть инструменты форматирования. В новом интерфейсе, созданном на основе опросов пользователей предыдущих версий, эти инструменты очень удобно расположены на панелях Текста и Изображения.

Еще одна интересная функция – автоматическое распознавание языка документа. При выставлении в свойствах языка создаваемого документа режима “Авто” программа самостоятельно определит языки, используемые в тексте, и распознает их. На трехъязыковых текстах мы это проверяли – все распознавалось правильно. Но поскольку для нас в обычной работе самая частая ситуация – это русский и английский текст, то и в настройках мы поставили по умолчанию “русский и английский”. Для автоматизации рутинной работы можно создать свой сценарий и сохранить его в “Менеджере сценариев”.

Сканирование – достаточно долгий процесс, особенно если в настройках сканера выставлено большое разрешение. В девятой версии можно вести сканирование в фоновом режиме, проводя одновременно работу по распознаванию и форматированию уже распознанного текста.

Кроме того, в девятой версии программы появилась поддержка многоядерных процессоров. При тестировании ABBYY FineReader показал вполне приемлемое распараллеливание нагрузки на процессоры. Правда, иногда разница в нагрузке на ядра достигала 25%, но трудно сказать, за счет чего это получалось: в системе много фоновых процессов, которые тоже грузили процессор.

Ну и разумеется, “девятка” поддерживает “Висту”. В общем, FineReader сохраняет за собой лидирующие позиции в этом классе программ, предоставляя максимально удобные условия для работы и отличный функционал.