GotAI.NET

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

 

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

 Все темы | Новая тема Стр.5 (12)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: распознавание каптчи 2
гость
94.25.174.*
На: распознавание каптчи 2
Добавлено: 15 май 09 12:17
такс, шу у нас там по плану?

"4.1. Исходный шаблон для сравнения максимальный по размеру, статический из базового набора, промассштабированного до размера матрицы.

То есть, про растяжение шаблона весь размер исследуемой матрицы я прав?"


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



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

это и есть команды.

"Я же интересовался тем, исходя из чего выработается команда."

есть АСУ, принципы давно известны.
Всякая команда вырабатывается для достижения некоторой цели (в данном случае это подцель распознавания).

"4.3. Как логично следуя сигналу рассогласования выбрать правильный шаблон (если допустить, что на начальном этапе у нас имеется НЕ функция, а таблица типа:
аргумент (сигнал рассогласования) => следующий шаблон для рассмотрения."

ну, во-первых, сначала все имеющиеся стандартные шаблоны перебором подставляются к исходной матрице. Из всей кучи шаблонов выбирается самый подходящий (наименьший сигнал рассогласования) и если совпадений в нем меньше 50%, исходная матрица разбивается пополам. Если совпадений менее 30%, то исходная матрица разбивается на 3 части и т.д. Далее к каждой части матрицы применяется тот же алгоритм, а шаблоны автоматически перемассштабируются согласно новым размерам.
Таким образом, паралельно решаются 2 задачи: определение границ объектов, их числа, и распознавание объектов.

Если совпадений больше 50%, то применяются генерированные шаблоны.
Сигналы рассогласования для каждого из шаблонов ранжируются. Сначала используются для генерации смещенных шаблонов только того символа, который подошел больше всего, затем который меньше (следующий по убыванию). Если сходимость при переборе вариантов первого символа больше сходимости второго, значит символ получает флаг, который будет использован при решении о том, что символ выбран верно.
Другой флаг получается из поворотных сравнений. В зависимости от глубины анализа, количество факторов и флагов может быть увеличено, каждому флагу соответствует свой вес.
В рассматриваемом упрощенном примере мы берем только 2 флага, вес которых равнозначен: поворот,позиционирование.
Если флаги соответствуют разным символам, то глубина анализа увеличивается (из ранжированного списка). Проверяется другая пара символов. У кого больше сходимость получиться, за тем и будет приоритет у первой пары.

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

Следующая итерация не использует вырезанные куски исходной матрицы. части матрицы, разграниченные шаблонами делятся на 2 равные части. Шаблон этого символа также дробится на 2 части, верхнюю и нижнюю.
Далее из базовых шаблонов генерируются верхние половинки и подставляются.
Создается проранжированный список из сходимостей этих частей, далее все также, как и при первой итерации.
В итоге может получиться, что сходимости верхних половинок покажут положительную динамику, а нижние не покажут. В этом случае ничего страшного нет. Другое дело, если одна из половинок покажет отрицательную динамику.
Это говорит либо о намеренных искажениях в каптче (либо помехе), либо о схожести символов, к примеру 1 и I (которые в проранжированном списке предыдущей итерации стоят рядом).
В этом случае, нет оснований делать откат, а есть основания увеличить глубину проверки, накапливать флаги и хранить их до следующей итерации.

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






"Я же и не тороплю. А вот немаловажные пункты, оставшиеся без ответа:

4.4. Можно ли сказать, что шаблон для сравнения является частью конкретного символа, определённым образом искаженного?"

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

"4.4.1. Если п. 4.1. правильный, то какой исходный символ брать - какой тип шрифта, размер, цвет и т.д. ?"

написал выше.

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

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

для работы с надстройками необходимо вводить дополнительные факторы в обратную связь.

т.е. кроме позиционирования и верчения, нужны факторы рассогласования КЛАССОВ.

Определять нужно соответствие класса изображения: ЧБ, контурное, жирное, графити.

Каптча яндекса имеет одинаковый класс: средняя жирность, контурный, ЧБ.

Сие можно определить, замерив коэффициент заполнения матрицы. У контурного класса, заполнение черными пикселями минимальное, относительно белых. С фоном однотонным сложнее, проще с цветным.
Однотонные помехи (пятна, кляксы, того же цвета, что и объекты) будут приняты за полезные объекты. Нужно вводить ограничения по величине объекта (я об этом сразу упоминал). если объекты окажутся сопоставимы размерами с кляксами, то ситуацию разрулит флаг контура. Достаточно сравнить контур с контуром кляксы, чтобы выкинуть объект из анализа. Алгоритм сравнения контуров отдельная тема и она не кажется мне сложной.
[Ответ][Цитата]
гость
94.25.174.*
На: распознавание каптчи 2
Добавлено: 15 май 09 12:20
"генерированный шаблон зависит от его (оригинала символа) характеристик,"

примечание
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: распознавание каптчи 2
Добавлено: 15 май 09 13:54
Цитата:
Автор: гость
знаеьш, это похоже на классическое: мы проверяли и эфира не нашли...

а он таки есть. Просто не там искали. Также и вы, проверяли да не то, н не там.

зачем нам ваш ефир, если у нас есть наши собственные атомные бумбы, а у вас ваще никуя даже чужего нету
[Ответ][Цитата]
Павел Фоменко
Сообщений: 1081
На: распознавание каптчи 2
Добавлено: 15 май 09 13:54
Продолжаю редактировать и задавать вопросы.

4.1. Исходный шаблон для сравнения максимальный по размеру, статический из базового набора. Шаблон должен массштабироваться пропорционально, даже если по одному из размеров он выходит за рамки исходной матрицы для распознавания.

4.2...

4.3. Как логично следуя сигналу рассогласования выбрать правильный шаблон (если допустить, что на начальном этапе у нас имеется НЕ функция, а таблица типа:
аргумент (сигнал рассогласования) => следующий шаблон для рассмотрения."

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

4.3.2. Из набора шаблонов выбирается самый подходящий (наименьший сигнал рассогласования) и если совпадений в нем меньше 50%, исходная матрица разбивается пополам.
P.S. Ты понимаешь, что шаблон можно прилепить в любое место исследуемой капчи? И даже если мы взяли НУЖНЫЙ шаблон, то он может быть просто НЕ ТАМ размещён. Понимаешь?

4.3.3. Из набора шаблонов выбирается самый подходящий (наименьший сигнал рассогласования) и если совпадений менее 30%, то исходная матрица разбивается на 3 части и т.д.
4.3.4. Далее к каждой части матрицы применяется тот же алгоритм, а шаблоны автоматически перемассштабируются согласно новым размерам.

Заметка:
а) Изначально берётся шаблон с символом, так сказать, в полную величину.
б) При совпадении к примеру 50% исходный шаблон мы делим пополам - вдоль или поперёк? Или как вообще?
Или имеется ввиду что именно МАТРИЦА делится на части и уже на ЭТИ части мы пытаемся прикладывать шаблон?

4.3.5. Если совпадений больше 50%, то применяются генерированные шаблоны.
То есть? Почему при меньшем проценте совпадения мы упорно пользуем "стандартные" шаблоны, а при бОльшем начинаем их генерировать? о_О

4.3.6. Сигналы рассогласования для каждого из шаблонов ранжируются...

4.4. Генерированный шаблон зависит от характеристик исследуемого объекта.
но спрашивал я вот что:
За ОСНОВУ шаблона берётся стандартный символ из какого-то шрифта?

[Ответ][Цитата]
Павел Фоменко
Сообщений: 1081
На: распознавание каптчи 2
Добавлено: 15 май 09 14:19
Rfg.JPG

1. Капча
2. "Прложили" шаблон
3. Поделили пополам. Шо дальше?
[Ответ][Цитата]
Corwin
Сообщений: 1324
На: распознавание каптчи 2
Добавлено: 15 май 09 14:40
Павел на Вашем изображении, даже если бы шаблон идеально наложился на изображение "3" - по Хеммингу из этого ничего не получиться. Оригинальная цифра (в отличие от шаблона) ведь состоит только из контура - процент не совпавших пикселей между цифрой и шаблоном будет слишком большой.
[Ответ][Цитата]
daner
Сообщений: 4593
На: распознавание каптчи 2
Добавлено: 15 май 09 14:47
чем дальше в лес, тем больше дров.
теперь еще и по процентам дробление делаем.
смысл сево действия покрыт тайной за 7мю печатями.

Цитата:
Автор: Павел Фоменко
Смею заметить, Данер, что порядок множителей, ЕСЛИ ЭТО МАТРИЦЫ,- на результат весьма влияет

правда? вот это новость. шучу.
И к чему это было, если мы кол-во вариантов скалярным умножением подсчитываем?
[Ответ][Цитата]
Павел Фоменко
Сообщений: 1081
На: распознавание каптчи 2
Добавлено: 15 май 09 14:53
Цитата:
Автор: daner

И к чему это было,..

Это было к матрице вращения.
[Ответ][Цитата]
daner
Сообщений: 4593
На: распознавание каптчи 2
Добавлено: 15 май 09 15:20
Цитата:
Автор: Павел Фоменко
Это было к матрице вращения.

ооооооооооокей. и что?
[Ответ][Цитата]
Павел Фоменко
Сообщений: 1081
На: распознавание каптчи 2
Добавлено: 15 май 09 16:05
Цитата:
Автор: daner

ооооооооооокей. и что?

Данер, скажите: есть разница - собака вращает хвостом, или хвост вращает собакой?
[Ответ][Цитата]
daner
Сообщений: 4593
На: распознавание каптчи 2
Добавлено: 15 май 09 16:09
Цитата:
Автор: Павел Фоменко
Данер, скажите: есть разница - собака вращает хвостом, или хвост вращает собакой?

разница с какой точки зрения? двух физических объектов? НЕТ. А вот с точки Контроллер-Манипулятор -- ЕСТЬ. К чему этот вопрос?
Говоря о вращении двух матриц относительно друг друга... я не вижу как это сократит кол-во вариантов. Да, матрицу трансформации надо применять правильно, с нужной стороны и к нужной матрице, но какое это имеет отношение к кол-ву вариантов?
[Ответ][Цитата]
Павел Фоменко
Сообщений: 1081
На: распознавание каптчи 2
Добавлено: 15 май 09 16:17
Цитата:
Автор: daner
...Да, матрицу трансформации надо применять правильно, с нужной стороны и к нужной матрице, но какое это имеет отношение к кол-ву вариантов?

Да ёлы-палы!
История этого вопроса началась так:
"Поворачивать можно и просто матрицей трансформации."
...
"Какая разница чего вращать? шаблон или картинку. Это все-равно пойдет в умножение.
А то что порядок множителей на произведение не влияет,... "

Так вот как раз для вращения картинки с помощю матрицы трансформации (поворота) важен порядок умножения матриц. Только это лишь хотел сказать.
К вариантам перебора это никакого отношения не имеет.
[Ответ][Цитата]
daner
Сообщений: 4593
На: распознавание каптчи 2
Добавлено: 15 май 09 16:23
Цитата:
Автор: Павел Фоменко


Да ёлы-палы!
История этого вопроса началась так:
"Поворачивать можно и просто матрицей трансформации."
...
"Какая разница чего вращать? шаблон или картинку. Это все-равно пойдет в умножение.
А то что порядок множителей на произведение не влияет,... "

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


Ладно... замяли. Но правы ради, история была несколько в другом контексте (разница и умножение относилось исключительно к кол-ву вариантов).
[Ответ][Цитата]
Павел Фоменко
Сообщений: 1081
На: распознавание каптчи 2
Добавлено: 15 май 09 17:00
Цитата:
Автор: daner
Ладно... замяли. Но правы ради, история была несколько в другом контексте (разница и умножение относилось исключительно к кол-ву вариантов).


Про умножение вариантов - тут конечно - не важно что и куда крутить.
Тарасов пока ещё не осознал эту пропасть вариантов/расположений/вращений...
[Ответ][Цитата]
shuklin
Сообщений: 2053
На: распознавание каптчи 2
Добавлено: 15 май 09 17:23
Цитата:
Автор: daner

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

Для полноты картины давайте еще уточним, что только в теории не влияет, а на самом то деле влияет Например согласно http://msdn.microsoft.com/en-us/library/e7s85ffb.aspx
"Expression optimizations that are invalid for special values (NaN, +infinity, -infinity, +0, -0) will not be allowed. The optimizations x-x => 0, x*0 => 0, x-0 => x, x+0 => x, and 0-x => -x are all invalid for various reasons (see IEEE 754 and the C99 standard). "
[Ответ][Цитата]
 Стр.5 (12)1  2  3  4  [5]  6  7  8  9  ...  12<< < Пред. | След. > >>