GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.5 (8)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Распознавание символов
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 24 янв 08 3:31
>Ну там я смотрю проценты вообще не слабые, или там все-таки другое эксперименты были?

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

Кстати обнаружил интересный глюк в последней программе. Оказывается в картинки куда отрисовываются изображения забыл выставить PixelFormat. В результате изображения сравнивались только в вертикальную решетку (||||) и гдето 50% пикселей не сравнивалось. Когда поправил этот недосмотр (сделал что-бы все пиксели сравнивались) качество распознания в среднем упало. Занятный глюк
[Ответ][Цитата]
daner
Сообщений: 4593
На: Распознавание символов
Добавлено: 24 янв 08 4:06
нда... более чем занятный. И вообще слышится подозрительно.
как говориться "ищите баги"
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 25 янв 08 2:53
Зачем их искать? Пускай живут Ведь кушать они пока не просят...
[Ответ][Цитата]
daner
Сообщений: 4593
На: Распознавание символов
Добавлено: 25 янв 08 4:31
Цитата:
Автор: Corwin
Зачем их искать? Пускай живут Ведь кушать они пока не просят...

Это в смысле... ну знаете как говорят "Cherchez la Femme", т.е. "Ищите женьщину"
Ну а в вашем случае "Cherchez la Bugs" если шум дает результат лучще исправленного алгоритма
[Ответ][Цитата]
гость
89.189.134.*
На: Распознавание символов
Добавлено: 04 мар 08 23:41
Здравствуйте!
Не уверен жива ли еще эта тема, но думаю стоит попробовать)
У меня возникла необходимость написать алгоритм распознавания символов. Начал искать информацию, но мне постоянно попадались англоязычные и малопонятные ресурсы. Теперь, когда я нашел эту тему, я надеюсь, дело сдвинется с мертвой точки...
Конкретно о моей задаче: есть определенный набор символов (скажем первые 10 букв алфавита); используется только 3 шрифта. Сложностью пожалуй является то, что символы очень небольшого размера, и повернуты на случ. угол (напр-р от -15 до 15 градусов).

А теперь собственно вопрос: подскажите пожалуйста в каком направлении будет правильней работать? На сколько я понимаю существует два варианта: пытаться векторизовать эти символы либо сравнивать их с шаблонами (НС, очевидно, тоже сюда относится).

Очень надеюсь на вашу помошь!
[Ответ][Цитата]
daner
Сообщений: 4593
На: Распознавание символов
Добавлено: 05 мар 08 0:22
Ну, если букв не много, шума нет и разворот всего на -15:15 гр., то я бы начал с НС. Просто покрутил бы символ (двумерная ротация картинки делается элементарно). Так как все величины у вас не большие, то все будет достаточно быстро. Знаете, даже прежде НС, просто покрутите и при повороте вычисляйте хеммингово расстояние (сколько пикселей отличается) от идеала. Это супер просто и такая проверка не отнимет у вас кучу времени. А если не прокатит, то уже и другие методы пробуйте, здесь думаю Корвин лучше посоветует.
[Ответ][Цитата]
гость
89.189.134.*
На: Распознавание символов
Добавлено: 05 мар 08 0:50
Спасибо за такой скорый ответ)
Често говоря я с НС мягко говоря не знаком. Хватит ли мне того примера (который выше был), чтобы разобраться или придется что-то еще изучать? Если надо, то что...

Не совсем понял, что вы понимаете под идеалом. С чем нужно сравнивать?
[Ответ][Цитата]
гость
89.189.134.*
На: Распознавание символов
Добавлено: 05 мар 08 1:03
Похоже я упустил очень важную деталь... Символы разного размера. На сколько я понимаю это усложняет сверку с шаблонами(
[Ответ][Цитата]
daner
Сообщений: 4593
На: Распознавание символов
Добавлено: 05 мар 08 1:29
идеал -- это и есть шаблон

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

Ну в таком случае, жите Кровина и будете пробовать с векторизацией .

Да, кстати, как-то я уже предлагал здесь... я сам не пробовал, но это просто и вам стоит испытать (ИМХО).
Попробуйте трансформацию всей картинки вообще в другое пространство.
Ну скажем пробегитесь по картинке и постройте вектор соседства. Ну просто запишите в ряд кол-во соседей каждого пикселя. а после отсортируйте вектор и тоже самое сделайте с шаблонами и ... с помощью какой-нибудь эвристики (ну т.е. как-нибудь) сравните эти векторы.
Ну в общем что-то в этом роде. Такую программку легко написать, и вы быстро поймете, может с этого быть какой-нибудь толк или нет.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 05 мар 08 3:43
>Начал искать информацию, но мне постоянно попадались англоязычные и малопонятные ресурсы.

Ознакомьтесь хотябы с ocrai.narod.ru, впрочем я довольно много находил материалов с исходниками и на других рус/укр ресурсах.

>Сложностью пожалуй является то, что символы очень небольшого размера

Так конкретнее можно? Какого размера? 10 пикселей по высоте?
С векторизацией при небольших символах явные проблемы. Поскольку предполагается что символы имеют неровную поверхность, то векторный скелет поддается корректировке. При небольших символах эта корректировка явно вылезает боком. Хотя конечно можно подстроить векторизацию на большую точность при работе с мелкими символами. Но так же чем меньше символ тем проблемнее просчитать отличия в углах векторов... Ну и другие проблемы векторизации которые здесь описаны.

>Символы разного размера. На сколько я понимаю это усложняет сверку с шаблонами

Ну если символы не зашумлены и определить точную описывающую рамку не сложно, тогда почему бы не подмасштабировать символ (или шаблон) под нужный размер?
[Ответ][Цитата]
гость
81.30.181.*
На: Распознавание символов
Добавлено: 05 мар 08 10:19
Цитата:
Автор: Corwin
Ну если символы не зашумлены и определить точную описывающую рамку не сложно, тогда почему бы не подмасштабировать символ (или шаблон) под нужный размер?

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

Цитата:
Автор: Corwin
Так конкретнее можно? Какого размера? 10 пикселей по высоте?

Да примерно 8-12 пикселей в высоту.

Еще у меня вопрос. Сейчас я отделяю символы от фона след образом: те пиксели, цвет которых существенно отличается от фона я сохраняю как черные, все остальные - белые. Тем самым я теряю полупрозрачность пикселей. Надо ли мне изменить этот алгоритм (т.е. чтоб распознаваемый символ был не монохромным, а содержал оттенки серого) или для распознавания это не нужно?
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 06 мар 08 3:28
>При распознавании берем символ, увеличиваем его высоту до шаблонной и сверяем со всеми образцами, после чего исходный образец поворачивают на некий угол и все повторяется. Так?

В принципе я такого не пробовал так что сложно что-то конкретное сказать. Если символы не такие уже и большие тогда вы можете хранить в БД кроме обычных шаблонов, еще и шаблоны с искривлениями т.е. которые уже повернуты.
И еще кажеться для подстройки величины символа лучше изменять размеры того изображение которое больше. Т.е. если распознаваемый символ больше, то мы его уменьшаем. Если же шаблон больше - то уменьшаем именно шаблон. Просто при увеличении мелких символов они как бы деформируются относительно идеала (появляются лишние углы, дуги становяться прямыми и т.д.) что может плохо сказаться на некоторых шаблоных сравнениях. Ну и для уменьшение использовать не тип "ближайший сосед", а хотябы билинейную или бикубическую интерполяцию.
А вообще мне понравился последний описанный в этом топике подход с подстройкой (натягиванием) неизвестного символа на шаблон. Думаю если его проработать то он вполне может дать более лучшие результаты для шаблонного сравнения.

>Тем самым я теряю полупрозрачность пикселей. Надо ли мне изменить этот алгоритм (т.е. чтоб распознаваемый символ был не монохромным, а содержал оттенки серого) или для распознавания это не нужно?

Насколько я понимаю то это зависит от алгоритма сравнения. Для шаблонного сравнения оттенки серого могут пригодиться (кроме того при увеличении-уменьшении изображения эти оттенки могут сыграть существенную роль), а для векторизации - врядли. В том методе что я использовал проводилась бинаризация и скелетизация, так что полутонны особой роли не играли.
[Ответ][Цитата]
gAMLET
Сообщений: 11
На: Распознавание символов
Добавлено: 06 мар 08 9:50
2Corwin
Спасибо за советы. Сегодня начну писать. О результатах сообщу здесь)
[Ответ][Цитата]
гость
87.230.88.*
На: Распознавание символов
Добавлено: 06 мар 08 18:47
Опять каптчу ломать собирается кто-то?! Фтопку этих долбаных спамеров!!!! Господа форумчане, зачем вы помогаете этой недоросли засирать в последствии наши ящики?! У него даже ума разобраться в проблеме у самого не хватает!!! Сначала напомогаете, а потом плакать будете!!! Долой спам!!!!
[Ответ][Цитата]
gAMLET
Сообщений: 11
На: Распознавание символов
Добавлено: 06 мар 08 18:55
Цитата:
Автор: гость
Опять каптчу ломать собирается кто-то?! Фтопку этих долбаных спамеров!!!! Господа форумчане, зачем вы помогаете этой недоросли засирать в последствии наши ящики?! У него даже ума разобраться в проблеме у самого не хватает!!! Сначала напомогаете, а потом плакать будете!!! Долой спам!!!!

Откуда такие резкие заявления? Я и не думал ничем подобным заниматься. И уверяю никому не принесу никакого вреда и неудобства.
Это действительно капча. Но находится она не на почтовом сайте и не на странице с отправкой смс. Она из игры)

P.S. А вам, не знаю как к вам обращаться, не стоит так грубить. Это еще никогда ни к чему хорошему не приводило.
[Ответ][Цитата]
 Стр.5 (8)1  2  3  4  [5]  6  7  8<< < Пред. | След. > >>