GotAI.NET

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

 

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

 Все темы | Новая тема Стр.20 (22)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Распознавание рукописного текста
Kek
Сообщений: 1133
На: Распознавание рукописного текста
Добавлено: 14 май 13 23:49
Цитата:
Автор: Андрей
задача - нащупать общий принцип синтеза новых фильтров.

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

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


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

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


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

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

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


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

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


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

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

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


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

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

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

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

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

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

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

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

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


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



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

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

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

Следующий этап очевиден и неизбежен - автоматический синтез фильтров для выделения под-объектов меньшего размера и опознание объектов по характерной совокупности всех под-объектов с учётом их размеров.
[Ответ][Цитата]
 Стр.20 (22)1  ...  16  17  18  19  [20]  21  22<< < Пред. | След. > >>