Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отделение текста от рисунков, на отсканированном изображении страницы 
:(
    Опции темы
Y-Vladimir
Дата 16.1.2007, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



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

Изображение равномерно разбивается на квадратные сегменты с условием, чтобы в сегменте помещалось 2-5 строк текста. Вот 3 признака того, что в данном сегменте содержится текст:

1). Доля черных пикселей от 0.1 до 0.4
2). В пределах сегмента все элементы (точки, линии) примерно равной толщины
3). Есть пустые (или почти пустые) горизонтальные полосы — это типа междустрочья

Все это я реализовал, результаты есть, но пока далеко от идеала.

Что можете порекомендовать по сабжу?


--------------------
PM MAIL WWW   Вверх
maxim1000
Дата 16.1.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



хм... а не связан ли обычно этот этап с самим распознаванием символов?
грубо говоря, там , где не получается распознать, там и картинка
(ну, скорее всего распознавание не полное, а какое-нибудь "оценочное" - получитсяч/не получится)


--------------------
qqq
PM WWW   Вверх
Y-Vladimir
Дата 16.1.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



Например FineReader анализ макета страницы и выделение блоков с текстом и рисунками делает до этапа распознавания. Потом блоки, помеченные как текст передаются на распознавание.


--------------------
PM MAIL WWW   Вверх
maxim1000
Дата 16.1.2007, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



можно попробовать померять самые разнообразные статистические показатели
например, автокорреляционную функцию построить для текста и посмотреть...

Это сообщение отредактировал(а) maxim1000 - 16.1.2007, 19:24


--------------------
qqq
PM WWW   Вверх
Y-Vladimir
Дата 16.1.2007, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



Цитата(maxim1000 @  16.1.2007,  19:24 Найти цитируемый пост)
например, автокорреляционную функцию построить для текста и посмотреть...

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


--------------------
PM MAIL WWW   Вверх
DENNN
Дата 16.1.2007, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Рассматривать изображение страницы как "шум" и попытаться выделить "кластеры" на этом изображении. Т.к. рисунок - это почти всегда обособленная область, отджеленная пустым пространством от блоков текста.
Только не спрашивай алгоритм, сам не знаю smile
PM ICQ   Вверх
maxim1000
Дата 16.1.2007, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(Y-Vladimir @  16.1.2007,  18:30 Найти цитируемый пост)
Проблема еще в том, что изображение бинарное... Поэтому применять какие-либо функции затруднительно.

ну ничего не мешает заменить false на 0, а true на 1 и получить тем самым обычное серое изображение (ну и что, что только два значения используются)

а, например, для оптимизации это вообще не проблема, а, скорее, возможность...

кстати, вполне можно надеяться на то, что для букв вертикальная составляющая АКФ даст какие-то более высокие значения, чем, например, для диагональных (впрочем, это при условии приблизительно горизонтальных строк)

к тому же, АКФ - всего лишь одна из возможных статистических характеристик
можно, например, выискивать часто встречающиеся паттерны...


--------------------
qqq
PM WWW   Вверх
Y-Vladimir
Дата 17.1.2007, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



Выложил прогу:  http://old-book.ksu.ru/page_analizer.rar (470 кб)
На интерфейс просьба не ругаться — чисто технологическая программа для отработки алгоритма smile 

Работать следующим образом:
1). "Открыть" — выбираем файл с изображением
2). Подвигать ползунок порога бинаризации пока не получится приемлемый бинарный вид
3). "Анализ" — ждем пару секунд, результат в нижнем окошке. Зеленые сегменты — текст, красные — изображение.

Если поставить галочку "Гистограммы", то отобразятся гистограммы каждого блока в горизонтальном направлении.
Необходимо еще сделать доводку границ найденных блоков, т.к. пока пока границы определяются слишком грубо.


--------------------
PM MAIL WWW   Вверх
VictorTsaregorodtsev
Дата 18.1.2007, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



Y-Vladimir, Еще можно посмотреть на формат djvu - он при компрессии сканированной страницы разделяет области текста и графики и каждую из них жмет своим алгоритмом. Каков при этом разделении баланс между строгой математикой и эмпирикой - фиг знает, надо спецификации формата смотреть (где-нибудь на djvuzone.org)

PM MAIL WWW   Вверх
Y-Vladimir
Дата 18.1.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



VictorTsaregorodtsev, про этот формат я знаю - он разделяет текст от фона. Текст сжимает алгоритмом без потерь типа LZW, фон - вейвлетами. Я уже сделал нечто подобное, только для других целей - очистка изображение. Можете глянуть, как это работает здесь: http://old-book.ksu.ru/restoration/index.php


--------------------
PM MAIL WWW   Вверх
Bitter
Дата 20.1.2007, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 4
Всего: 27



Люди, а вы не пробовали использовать нейросеть Хопфилда (или Хопвилда, не помню точно), а лучше Хемминга. На них же FineReader работает. Заполнили базу символов, расчитали (очень просто) веса сети, а дальше всё, что похоже на, скажем, букву А будет распознано как буква А (во как сказанул...). А сеть Хемминга просто выдаст номер распознанной буквы в базе.

Добавлено @ 02:36 
smile после того, как перечитал вопрос, понял что фигню сказанул... Извиняюсь. Я подумал, что уже распознается текст...

Добавлено @ 02:39 
Хотя... может можно использовать для эталонов сети не буквы, а куски текста областью 50х50, например?
PM MAIL ICQ Skype   Вверх
Y-Vladimir
Дата 22.1.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 16.7.2004
Где: Казань

Репутация: 1
Всего: 6



Цитата(Bitter @  20.1.2007,  02:29 Найти цитируемый пост)
Люди, а вы не пробовали использовать нейросеть Хопфилда (или Хопвилда, не помню точно), а лучше Хемминга. На них же FineReader работает

FineReader, судя по http://ocrai.narod.ru/fr.html работает немного на другом принципе. Нейронку он конечно использует, но на вход ей подается не растровое изображение, а набор признаков.


Цитата(Bitter @  20.1.2007,  02:29 Найти цитируемый пост)
Хотя... может можно использовать для эталонов сети не буквы, а куски текста областью 50х50, например? 

Тогда нейронка будет слишком чувствительна к типу шрифта и размерам букв. Как уже сказал, перед подачей на вход нейронки, нужно провести предобработку и/или преобразование исходного изображения.


--------------------
PM MAIL WWW   Вверх
Bitter
Дата 22.1.2007, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 4
Всего: 27



Y-Vladimir, народ.ру весьма сомнительный портал. Так как там и 10-ти летний может написать всё, что хочет. Хотя я сам не уверен в том, какие сети использует FineReader.

Цитата

будет слишком чувствительна к типу шрифта и размерам букв


не будет, если использовать сеть Хопфилда, так как она распознаёт всё, что похоже на запомненные ею эталоны. А так как все шрифты друг на друга похожи, то соответственно сеть их распознАет.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0677 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.