GotAI.NET

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

 

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

 Все темы | Новая тема Стр.3 (8)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Распознавание символов
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 01 июн 07 3:19
>Если все символы дают что-то около 1-3% вероятности, значит мы "не распознали", а не "распознали с вероятностью 3%".

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

>Я еще поищу, но пока давайте я Вам помогу ее с нуля составить? Там все очень просто.

Мне полностью хватило возни со своей собственной программой Кроме того есть же программа с исходными кодами на НС из статьи http://gotai.net/documents/doc-imp-006.aspx на которой можно проводить испытания.
[Ответ][Цитата]
anatoli
Сообщений: 249
На: Распознавание символов
Добавлено: 01 июн 07 4:23
> Впрочем даже при 3% вероятности есть неплохая вероятность угадать символ, тогда почему (для демонстрации алгоритма) не воспользоваться этой возможностью?

Ну что ж.. можно.. человеки некоторые тоже на кофейной гуще гадают.. Во! Идея! Научить OCR, в случае нераспознавания, разложить пасьянс.. пожужжать, с умным видом, жестким диском, а потом выдать типа: "звезды говорят, это у нас "О"".


> Мне полностью хватило возни со своей собственной программой Кроме того есть же программа с исходными кодами на НС из статьи http://gotai.net/documents/doc-imp-006.aspx на которой можно проводить испытания.

Нуу.. как знаете.. Просто думал, если интересно.. А та прога что-то у меня доверия не вызывает. Как-то она странно работает. Проще самому с нуля написать.

А Вы не хотите выложить код своей проги? Кстати, вот эту с нуля можно написать очень быстро.

Берем сносный пример персептрона из инета, модифицируем и затачиваем его под работу с изображениями (или ищем уже заточенный), прикручиваем GUI, обработку файлов, добавляем разумные улучшения (вроде групп символов), грамотно обрабатываем результаты распознавания и все готово.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 04 июн 07 15:52
>Проще самому с нуля написать.

Ну если есть много свободного времени, то проще.

>А Вы не хотите выложить код своей проги?

Как я писал, прога получилась достаточно корявой. Про код вообще умолчу. Даже я в нем путаюсь. Сомневаюсь что он может представлять интерес у стороннего пользователя (тем более что ничего кардинально нового там не использовалось).

>Берем сносный пример персептрона из инета, модифицируем и затачиваем его под работу с изображениями (или ищем уже заточенный), прикручиваем GUI, обработку файлов, добавляем разумные улучшения (вроде групп символов), грамотно обрабатываем результаты распознавания и все готово.

Пожалуйста, дайте ссылку на статью в научном журнале, где сказано что персептрон хорошо подходит для распознания текста, написанного несколькими видами шрифтов. А то
Цитата:
Автор: anatoli
ваши утверждения выглядят ничем не подтвержденными словами, т.е. потенциально ошибками и выдумками.
[Ответ][Цитата]
anatoli
Сообщений: 249
На: Распознавание символов
Добавлено: 04 июн 07 21:29
> Ну если есть много свободного времени, то проще.

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


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

На это подтверждений из журналов не надо. Для этого достаточно продемонстрировать рабочий пример. Тем более, персептрон в данном случае - это техническая деталь, а не общее понятие. Кстати, ссылки нужны, когда высказываются мнения. А тут я предложил способ имплементации, ничего не утверждая. Разница есть.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 04 июн 07 22:12
>Пока разберешься в чужом коде...

Ну что же. Я тоже предпочитаю писать свои программы с нуля. Но написание НС для проверки качества ОСР считаю тратой времени, поскольку сомневаюсь в качестве результатов и просто не заинтересован в написании такой программы. Впрочем если бы было больше свободного времени, возможно бы и занялся этим вопросом. На даный момент удовлетворен результатами получеными от вышеобсуждаемой программы.

>На это подтверждений из журналов не надо. Для этого достаточно продемонстрировать рабочий пример.

Учитывая что результаты полученые от примера программы на НС Вас не удовлетворяют, то для начала будет достаточно хотябы теоретического подтверждения что персептрон (или НС) способен качественно распознать текст написаный несколькими шрифтами. Тем более, если Вы говорите что все так просто и эфективно то документации по этому вопросу должно быть достаточно.
[Ответ][Цитата]
anatoli
Сообщений: 249
На: Распознавание символов
Добавлено: 05 июн 07 15:26
> Ну что же. Я тоже предпочитаю писать свои программы с нуля. Но написание НС для проверки качества ОСР считаю тратой времени

Правильно, я поэтому и предложил "Берем сносный пример персептрона из инета"..


> Учитывая что результаты полученые от примера программы на НС Вас не удовлетворяют..

Меня более чем удовлетворили результаты той программы, что получилась у меня (результаты примерно соответствовали человеческим, если не сидеть 5 минут не рассматривать и не думать "что бы это могла бы быть за буква?"). А была она на НС. Но так как я ее до сих пор найти не смог, я предложил создать такую же новую. А то, что один пример показал плохие результаты - еще ни о чем не говорит.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 05 июн 07 17:35
>Меня более чем удовлетворили результаты той программы, что получилась у меня

Честно говоря меня не удовлетворило то как Вы тестировали свою программу (об этом я уже писал раньше). Есть серьезные подозрения что при большем количестве и разнообразии примеров, подобная сеть или не сможет обучится или будет давать плохие результаты. Впрочем можно попробовать написать НС и более детально исследовать ее работу. Хотя мне кажется что все уже достаточно исследовано и без нас с вами
[Ответ][Цитата]
anatoli
Сообщений: 249
На: Распознавание символов
Добавлено: 06 июн 07 3:34
ыы.. новая картинка..

> Хотя мне кажется что все уже достаточно исследовано и без нас с вами

Это Вы правильно заметили.. я, собственно, поэтому больше и не трогал тот пример..

Хотя, конечно, что касается тестирования, я считаю, что тестирование было выполнено качественно, и прога давала бы такие же результаты на всем алфавите. Такой вывод я делаю исходя из того, что в базе отсутствовали лишь те буквы, которые распознавались бы без проблем в любых случаях. А вот те, которые бы могли ввести систему в заблуждение (типа "О" и ноль), те я тестил практически все..

В прочем, не суть важно..
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 09 авг 07 20:53
Недавно нашел программку для форматирования паскалевского (делфийского) кода. Хотя форматирует она не очень, но всеравно лучше моего стиля написания
Посему решил выложить исходники моей распознавалки. Хотя и не рекомендую их где то использовать в виду их массивности и в принципе ненужности
Итак сами исходники здесь:
http://filesexchange.narod.ru/OCRSourceExport.rar (118 кб)
Для тех кто всеже рискнет в них разобраться:
- Желаю успеха в столь безнадежном предприятии
- На форме есть еще куча компонентов которые скрыты в релизной версии. Просто растяните форму по высоте. В основном эти компоненты использовались для дебага и по мере написания программы их оказалось много, а чистить их у меня желания нет
[Ответ][Цитата]
MEDVED
Сообщений: 2
На: Распознавание символов
Добавлено: 13 сен 07 17:42
Добрый день. Будьте добры, если не сложно, скиньте ссылочки на эти алгоритмы MB2 и Зонга-Суня. Вся инфа, которую нашел дает ответы не на все вопросы, а по Зонгу-суню получаются разрывы. Заранее спасибо
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 14 сен 07 0:37
Добрый вечер.
Возможно Вам пригодятся следующие файлы:
Зонга-Суня на С
Зонга-Суня на Pas
MB2 на Pas
Примечание: Pas файлы вырезаны с кода моей OCRки, так что если что-то не понятно можете посмотреть в ее исходники.
[Ответ][Цитата]
MEDVED
Сообщений: 2
На: Распознавание символов
Добавлено: 17 сен 07 20:17
Спасибо
[Ответ][Цитата]
Vlad7
Сообщений: 31
На: Распознавание символов
Добавлено: 07 окт 07 15:47
Corwin
Основные стадии обработки графического символа в моей программе (в упрощенном варианте) состоит из:
1. Создание векторного скелета.
Наиболее популярными методами векторизации символов являются векторизация методом волны и векторизация растрового скелета (мной на практике был испытан именно второй вариант). Оба метода имеют свои преимущества и недостатки. Векторизация методом волны создает векторный скелет на основании середины фронта волны которая проходит по пикселям символа.
Векторизация растрового скелета включает в себя скелетизацию растрового изображения (утоньшение всех линий). Для этого существуют несколько разных алгоритмов которые могут отличатся по некоторым параметрам (скорость/ шумоустойчивость/ поворотоустойчивость ). После скелетизации готовое изображение проходит векторизацию. Я пробовал реализовать алгоритмы скелетизации Зонга-Суня и МВ2. Поскольку алгоритм Зонга-Суня показал лучшую шумостойкось, на практике решил использовать именно его. Примеры скелетизации можно посмотреть здесь:


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

Corwin
Собственно после векторизации получаем набор ключевых точек которые связаны между собой. Ключевыми точками могут быть:
- конечные точки
- Точки стыка и пересечений линий
- Точки где линия «переламывается»


Не работает при большом зашумлении, мне известен случай, когда пришлось закрыть работы по разработке OCR именно в этом направлении.

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

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

daner
SUPER!!!! Вот такие топики и должны быть на форуме по ИИ. хотя лично мне OCR не интересна.

Может это и интересно для предварительного знакомства с темой, для тех, кто хотя бы несколько месяцев занимался OCR – неинтересно. Описываются тупиковые ветви OCR.

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

Кому интересно, могут посмотреть программу OCR на ИНТЕРПОЛИТЕХ-2007" (ЭкспоКрокус, ф. Элвис), имеющую в два раза выше качество распознавания на том же тестовом задании, чем победитель прошлогоднего конкурса.
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: Распознавание символов
Добавлено: 07 окт 07 17:57
Vlad7> В принципе неработоспособен при большом уровне шума – когда буква различима глазом при разрешении 1:1, и с трудом восстанавливается при больших увеличениях изображений.

Про шум согласен система имеет очень низкую шумостойкость. Проблемы скелетизации увеличенного изображения можно более/менее исправить с помощью коррекции ключевых точек скелета.

Vlad7> Не работает при большом зашумлении

Опять же согласен

Vlad7> С такой ситуацией, которая встречается на грязных автомобильных номерах, фильтры не помогут.

Это факт. Хотя при небольших шумах (пылинках, волосках) которые могут появиться при сканировании изображений подобные фильтры неплохо помогают.

Vlad7> Может это и интересно для предварительного знакомства с темой

Для предварительного знакомства эта тема и создавалась.

Vlad7> Описываются тупиковые ветви OCR.

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

В целом спасибо за отзыв.
[Ответ][Цитата]
daner
Сообщений: 4593
На: Распознавание символов
Добавлено: 08 окт 07 3:05
Цитата:
Автор: Corwin
Но тем не менее публикация и обьяснение тупиковых веток ОЦР, а также описание их недостатков, также является весьма ценым если человек решил впервые заняться этой областю. Можно даже сказать что такие описания могут быть ценнее описаний систем "с высоким уровнем распознания", поскольку могут предотвратить неправильный подход к задаче.

Да, Да и еще раз ДАААА!!!!
[Ответ][Цитата]
 Стр.3 (8)1  2  [3]  4  5  6  7  8<< < Пред. | След. > >>