GotAI.NET

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

 

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

 Все темы | Новая тема Стр.21 (23)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Распознавание рукописного текста
covax
Сообщений: 1609
На: Распознавание рукописного текста
Добавлено: 15 май 13 0:55
Цитата:
Автор: Kek

А эта задача общая для распознавания вообще чего угодно...


Чтобы распознавать "что угодно", нужно для начала знать "что угодно".

Цитата:
Автор: Kek
Ну, самый простой пример инвариантного фильтра - это упорядочивание.


Что это значит? Допустим на вход приходит функция описывающая звуковые колебания. Поясните, как будет работать ваш инвариантный упорядочивающий фильтр.
[Ответ][Цитата]
Андрей
Сообщений: 3441
На: Распознавание рукописного текста
Добавлено: 15 май 13 1:35
2 Kek
Если попытатся дополнительно к сказанному обобщить и упростить, то должно получиться что-то вроде такого.
1. Если в над-объекте есть более одного под-объекта, значит есть теоретическая возможность создать фильтр, построить промежуточный уровень абстракции - т.е. синтезировать как минимум ещё один под-объект. Сам этот под-объект конечно становится новым признаком для различения.
Если же в над-объекте всего один под-объект, значит мы достигли предела распознавания и дальше можем довольствоваться только тем, что есть.
2. Если под-объектов у нас несколько, значит надо синтезировать (выбрать, вспомнить) фильтр и по этому фильтру синтезировать под-объект (который станет новым признаком). Чтобы синтезировать фильтр нам надо построить что-то вроде таблицы и определить по каким признакам под-объекты различны, а по каким тождественны. Для этого нужна универсальная мера. Универсальная мера - это количество. Количество чего? Количество под-под-объектов. Если брать вышеприведённый пример, то битмап состоит из "островков", а "островки" состоят из пикселей. Это значит что островки мы можем различать по количеству пикселей.
Чтобы фильтр связывал под-объекты в новый над-объект нам обязательно нужен пространственный фильтр, т.е. мы должны объединять под-объекты в новый над-объект обязательно с наличием фильтра по взаимному пространственному расположению - тут я пока не знаю как быть, слишком много вариантов. Но мне думается должно быть что-то банальное вроде "справа", "слева", "сверху", "снизу" - ведь именно такими признаками мы сами отличаем под-объекты и поясняем другим людям пространственные соотношения.
[Ответ][Цитата]
rrr3
Сообщений: 10715
На: Распознавание рукописного текста
Добавлено: 15 май 13 1:45
Цитата:
Автор: Андрей

1. Мне не понятно почему все под-объекты (элементы) образующие над-объект (систему) должны быть обязательно одинаковы по какому-то одному признаку. В реальности это частный случай вроде бы.
2. А вообще "минимальный" кирпичик распознавания наверное - одинаковый (тождественный, "связанный" и т.п.), не одинаковый сигнал (из разных точек в пространстве или во времени, по цвету, звуку, размеру, по чему угодно), а все сложности распознавания просто дальнейшее "накручивание"...
[Ответ][Цитата]
Андрей
Сообщений: 3441
На: Распознавание рукописного текста
Добавлено: 15 май 13 2:01
1. Если все под-объекты не одинаковы по какому-то одному признаку, то на каком основании Вы объединили их в один над-объект? То есть изначально, сказав что над-объект состоит из под-объектов, Вы уже автоматически признали, что под-объекты тождественны по какому-то признаку. Иначе парадокс. Если не согласны - пример в студию.
[Ответ][Цитата]
covax
Сообщений: 1609
На: Распознавание рукописного текста
Добавлено: 15 май 13 2:07
Цитата:
Автор: Андрей

1. Если все под-объекты не одинаковы по какому-то одному признаку, то на каком основании Вы объединили их в один над-объект? То есть изначально, сказав что над-объект состоит из под-объектов, Вы уже автоматически признали, что под-объекты тождественны по какому-то признаку. Иначе парадокс. Если не согласны - пример в студию.


Кубик рубика на белом фоне. Разноцветные клетки - разноцветные островки пикселей. Пиксели в островках можно обобщить в надобъект "островок" по цветовому признаку, а как обобщить разноцветную грань кубика-рубика. Ведь, признаки подобъектов (разноцветных островков) не совпадают для включения их в надобъект. Как тут поступить?
[Ответ][Цитата]
Андрей
Сообщений: 3441
На: Распознавание рукописного текста
Добавлено: 15 май 13 2:16
Они совпадают по форме - квадратики.
[Ответ][Цитата]
covax
Сообщений: 1609
На: Распознавание рукописного текста
Добавлено: 15 май 13 2:24
Цитата:
Автор: Андрей

Они совпадают по форме - квадратики.


Интересно как вы синтезируете этот признак "квадратик"? А кубик-рубика это кубик с гранями из 9ти квадратиков. Придётся еще синтезировать признаки "кубик" и " квадратная грань".
[Ответ][Цитата]
rrr3
Сообщений: 10715
На: Распознавание рукописного текста
Добавлено: 15 май 13 2:38
Цитата:
Автор: Андрей
1. Если все под-объекты не одинаковы по какому-то одному признаку, то на каком основании Вы объединили их в один над-объект? То есть изначально, сказав что над-объект состоит из под-объектов, Вы уже автоматически признали, что под-объекты тождественны по какому-то признаку. Иначе парадокс. Если не согласны - пример в студию.

1. Я объединил элементы разные по их признаку принадлежности к системе (принадлежность системе как признак).
2. Объединение под-объектов по одному признаку (не по принадлежности системе, а допустим по цвету) дает всего лишь набор элементов, который впрочем конечно можно назвать над-объектом при условии если будет дан признак объединяющий и ограничивающий эту систему-набор (над-объект) по отношению других систем, образно скажем того же уровня.
3. И вновь без того что уже было сказано будет трудно (если вообще возможно)
"А вообще "минимальный" кирпичик распознавания наверное - одинаковый (тождественный, "связанный" и т.п.), не одинаковый сигнал (из разных точек в пространстве или во времени, по цвету, звуку, размеру, по чему угодно), а все сложности распознавания просто дальнейшее "накручивание"..."
Просто немного уточню, что одинаковый/не-одинаковый с точки зрения Системы (проги). От этого будет зависеть и выбор "чувствительности" ("разрывность", шаг чувствительности и т.п.) сенсоров (и элементов) системы. Т.е. фактически распознавание всегда "относительно", не абсолютно!

p.s. Если я правильно понял, то пока Вы ищете разные алгоритмы распознавания сами и хотите эти алгоритмы включить в прогу. А должно быть так, что прога сама создаст эти алгоритмы-фильтры, причем скорее всего разные для разных случаев, а не универсальные (да и еще тождественные изначально проги могут в конечном итоге создать разные свои индивидуальные фильтры)...
[Ответ][Цитата]
Kek
Сообщений: 1118
На: Распознавание рукописного текста
Добавлено: 15 май 13 3:14
Цитата:
Автор: covax
Что это значит? Допустим на вход приходит функция описывающая звуковые колебания. Поясните, как будет работать ваш инвариантный упорядочивающий фильтр.


При распознаваниии всегда происходит сравнение паттерна и текущих данных. Паттернов бывает многовато.
У каждого паттерна индекс (0...много). Если паттерн встречается часто в потоке, ему присваивается индекс = 0. Он сравнивается с данными первый.
[Ответ][Цитата]
Андрей
Сообщений: 3441
На: Распознавание рукописного текста
Добавлено: 15 май 13 4:17
Цитата:
Автор: covax
как вы синтезируете этот признак "квадратик"? А кубик-рубика это кубик с гранями из 9ти квадратиков. Придётся еще синтезировать признаки "кубик" и " квадратная грань".
Не я - программа синтезирует.
Характерные (часто встречающиеся) фильтры это и есть образы, которые мы используем в своём восприятии. Это значит, что часто встречающиеся комбинации фильтров сами должны становиться фильтрами (из-за близости по признаку "одновременность").
В примере я просто показал программе один раз образ и заставил её (с моей помощью) запомнить его на самом абстрактном уровне фильтров. После этого она сравнивает то, что "видит" с тем, что "помнит".

Цитата:
Автор: rrr3
по их признаку принадлежности к системе (принадлежность системе как признак).
Вы путаете причину и следствие. Система возникает в восприятии по тождественности признаков у её элементов. Наверное Вы удивитесь, но в "мире" нет никаких систем. Мир - это одна система. И только наше восприятие в силу своей дискретности и ограниченности делит её. Будь у нас другие принципы восприятия мы бы дробили (объединяли) мир в под-системы совершенно по другому.

Например, наше представление о целостных и монолитных "жёстких" системах (предметах) происходит от объединения в восприятии в один объект точек по признаку синхронного движения. Если полистаете топик там были проведены соответствующие эксперименты. Если не забуду, вечером выложу ещё одну тестовую прогу для иллюстрации этого факта.

Цитата:
Автор: rrr3
пока Вы ищете разные алгоритмы распознавания сами и хотите эти алгоритмы включить в прогу
Меня распознавание символов не интересует. Я хочу на простых примерах понять принцип и автоматизировать его, а для этого надо перебрать вручную критическое количество вариантов, внимательно изучить и увидеть общность. Т.е. научиться распознавать принципы распознавания.
[Ответ][Цитата]
rrr3
Сообщений: 10715
На: Распознавание рукописного текста
Добавлено: 15 май 13 4:40
Цитата:
Автор: Андрей
Вы путаете причину и следствие...Наверное Вы удивитесь, но в "мире" нет никаких систем. Мир - это одна система. И только наше восприятие в силу своей дискретности и ограниченности делит её. Будь у нас другие принципы восприятия мы бы дробили (объединяли) мир в под-системы совершенно по другому.

Не путаю. А с второй частью цитаты - согласен и на дискретность обратил бы особое внимание.
Цитата:

...Система возникает в восприятии по тождественности признаков у её элементов....

НЕТ! Это Вы просто так для себя задали (договорились сами с собой).
Объяснения - http://www.gotai.net/forum/default.aspx?postid=72850#72850
Цитата:

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

Тогда надо искать принципы образования "фильтров", а не фильтры. Критическое и закритическое количество фильтров не поможет. Сами фильтры и механизмы их образования - разные вещи, причем, как правило из любого количество самых самых простых и сложных фильтров вытащить то как они образуются очень очень сложно (если вообще возможно).
[Ответ][Цитата]
covax
Сообщений: 1609
На: Распознавание рукописного текста
Добавлено: 15 май 13 8:21
Цитата:
Автор: Kek
При распознаваниии всегда происходит сравнение паттерна и текущих данных. Паттернов бывает многовато.


А в случае параллельных вычислений паттернов вообще нет. Как пример - ПФ, которое вы реализовывали в своём агенте. Алгоритм разбивает поток на гармоники без всяких сравнений с паттернами. Вас это не наводит на мысли? Беспереборные преобразования (фильтры) существуют!
[Ответ][Цитата]
Kek
Сообщений: 1118
На: Распознавание рукописного текста
Добавлено: 15 май 13 9:00
Цитата:
Автор: covax



А в случае параллельных вычислений паттернов вообще нет. Как пример - ПФ, которое вы реализовывали в своём агенте. Алгоритм разбивает поток на гармоники без всяких сравнений с паттернами. Вас это не наводит на мысли? Беспереборные преобразования (фильтры) существуют!

Наводит... И вот мысль. Фильтр для каждой фонемы. Именно фильтр, который представляет из себя адаптивный набор типа мел-шкалы, только для фонемы. Я близок к тому, чтобы показать такой инструмент. Но пока подбираю я сам, а не комп. Не знаю, может это и не бред...
[Ответ][Цитата]
Андрей
Сообщений: 3441
На: Распознавание рукописного текста
Добавлено: 24 май 13 8:47
Продолжаю опыты в рамках вышеописанной концепции.
Улучшил процедуру сравнения двух контуров. Теперь у каждого найденного объекта выделяется контур, далее контур векторизируется, сглаживается, подгоняется по размерам к эталонным контурам, поворачивается на 360° с шагом 1° и разбивается на 200 опорных точек с равным шагом. При каждом повороте вычисляется расстояние между опорными точками эталонного контура и тестируемого контура. Сумма этих расстояний (пронормированная по длине эталонного контура) даёт меру отличия. Такая громоздкая процедура привела к существенному замедлению опознания, но я предполагаю, что можно смело сократить количество опорных точек до нескольких десятков и уменьшить шаг вращения до нескольких градусов, так что метод вполне практичный.
Теперь программа удовлетворительно узнаёт все цифры кроме 6, ибо 6 - это перевёрнутая 9. Программу и исходники можно скачать здесь.

Процесс можно сравнить с обходом высокого забора по набору карт. У нас есть некая опорная точка забора и мы начинаем обходить его против часовой стрелки, сверяя пройденный маршрут с картами. Та карта, которая лучше всех совпадает с пройденным маршрутом (лучше предсказывает маршрут!) та и является правильной.
Несмотря на все ухищрения, программа всё-равно делает ошибки, например иногда опознаёт 9 как 3, потому что длина контура у 3 больше, чем длина контура 9 и нормированное значение вводит программу в заблуждение.

Следующий этап очевиден и неизбежен - автоматический синтез фильтров для выделения под-объектов меньшего размера и опознание объектов по характерной совокупности всех под-объектов с учётом их размеров.
[Ответ][Цитата]
гость
31.181.11.*
На: Распознавание рукописного текста
Добавлено: 24 май 13 9:04
Вместо вращения используй наклоны в две стороны меньше чем на 90 градусов. Например на 75 - 80 и тогда переворачиваться шестёрка до девятки и девятка до шестёрки не будет.
Опорные точки я не понимаю зачем нужны, можно и без них обойтись, не знаю как это скажется на рукописи написанной по дуге.
Повышение скорости распознавания нужно делать за счёт многопоточности иначе точность распознавания значительно упадёт при незначительных увеличениях шага.
Также буквы можно немножко размывать, увеличивая площадь контура вместо его поиска.
Чтобы отделить девятку от тройки ищи просветы в кружочках, у тройки они обязательно должны быть, иначе подчерк хреновый а не программа фуфло.
Размеры объектов можно перебирать диапазоне, опять же заюзай многопоточные библиотеки использующие видеокарту, думаю в 1000 потоков ты распознаеш страницу за пару секунд. Что ещё.. Изображения все приводи к одному размеру(минимальному из читаемых), тогда тебе меньше будет галиматьи с размерами текста рукописного и меньше прийдётся распознавать количественном соотношении тактов.
И в топку контуры, распознавай пиксели модифицируя контуры и прикладывая к изображению. Тоесть под координатами контура всё должно быть темнее фона и распознаваться как одна бука, если будет похоже более чем на 1 букву, распознавание в данных координатах можно признать ошибочным и шагать дальше.
[Ответ][Цитата]
 Стр.21 (23)1  ...  17  18  19  20  [21]  22  23<< < Пред. | След. > >>