Быстрый и быстрый алгоритм сопоставления пикселей - PullRequest
1 голос
/ 31 мая 2011

Я застрял в алгоритме сопоставления пикселей для поиска символов на изображении. У меня есть 2 изображения символов, которые я собираюсь найти на изображении с большим разрешением.

Вместо алгоритма попиксельного сопоставления существует быстрый алгоритм, который дает тот же результат, что и алгоритм сопоставления пикселей. результат должен быть похож на: (процент совпадения пикселей) делится на (общее количество пикселей). Моя проблема в том, что я хочу найти определенные символы в 1-битном изображении. символ появляется с точным сходством на целевом изображении, и 95% общего пикселя совпадают с целевым блоком на изображении. но для итераций требуются часы. изображение имеет размер 10k x 10k, а размер символа - 20 x 20, поэтому он будет в 10 раз больше 10 вычислений, что слишком много для обработки. Существует ли какая-либо комбинация фильтр / NN или какой-либо другой алгоритм, который может дать те же результаты, что и сопоставление пикселей за несколько минут? Дело в том, что пиксели почти одинаковы, но проблема в том, что размер очень большой. Я не хочу сложных функций для обработки шума или краев, нечетких и т. Д. Просто простой алгоритм для быстрого сопоставления пикселей, и результат должен быть похож на: (процент совпадения пикселей) делить на (общее количество пикселей)

Любая помощь приветствуется.

- Спасибо, Анкит

Ответы [ 2 ]

2 голосов
/ 01 июля 2011

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

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

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

К сожалению, это не очень хорошо масштабируется, поэтому вам, возможно, придется поискать сверточные NNs длялучшая производительность.

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

0 голосов
/ 27 июля 2013

Может быть, сеть ART-1 (Адаптивная Резонансная Теория) могла бы помочь.

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

...