Основной вопрос сложности — свертка

Я пытаюсь оценить сложность некоторых основных алгоритмов фильтрации изображений. Мне было интересно, можете ли вы проверить эту теорию;

Для базового попиксельного фильтра, такого как Inverse, количество операций растет линейно с размером входных данных (в пикселях) и

Пусть S = длина стороны изображения Пусть M = # входных пикселей

Обратный имеет порядок O (M) или O (S ^ 2).

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

Пусть R = радиус фильтра свертки

Свертка имеет порядок O (M * ((R + R * 2) ^ 2) = O (M * (4R ^ 2) = O (MR ^ 2)

Или я должен позволить N = размер фильтра свертки (окрестности) в пикселях?

O(M*(N)) = O(MN)

В конечном счете сверточный фильтр линейно зависит от произведения количества пикселей на количество пикселей в окрестности.

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

С уважением,

Гэвин


person gav    schedule 06.06.2009    source источник
comment
Домашнее задание? В любом случае, ваши последние громкие "О" выглядят хорошо для меня.   -  person Blair Conrad    schedule 06.06.2009
comment
Это предыстория для диссертации, которую я пишу об ограничениях мобильных устройств. Я делаю приложение для фильтрации изображений для телефона Android, и я надеюсь, что это определит, где будут узкие места. Я использую 20 базовых узлов, построенных в виде деревьев, 20 узлов включают множество точечных операций, таких как «Сложение», «Или» и «Вычитание». У меня также есть фильтр свертки и медианный фильтр, в которых возникают узкие места, я просто хочу формализовать это. Входными данными для листьев дерева всегда является одно и то же изображение, которое преобразуется и комбинируется для получения вывода в корне. Ваше здоровье   -  person gav    schedule 06.06.2009
comment
Перекрываются ли ваши районы в итерациях?   -  person Aiden Bell    schedule 06.06.2009
comment
Районы пересекаются, но я пока не пользуюсь этим фактом, это следующий шаг :)   -  person gav    schedule 06.06.2009
comment
Если окрестности сосредоточены вокруг P, то P+1 ... Pn, то O(MN) верно. Если центр не для каждого P в наборе пикселей, то нет.   -  person Aiden Bell    schedule 06.06.2009
comment
Первое действительно имеет место, я нахожу медиану окрестности для каждого пикселя.   -  person gav    schedule 06.06.2009


Ответы (1)


O(MN) кажется правильным, если я понимаю, что для каждого пикселя изображения свертка — это корректировка значений пикселей в окрестности N, независимо от того, является ли N квадратным. N может быть треугольником наилучшего соответствия ... но при условии, что пиксели по соседству настраиваются для каждого пикселя изображения, тогда O (MN) имеет больше смысла, потому что зависимость находится в пикселях, скорректированных для каждого пикселя в исходном изображении.

Интересно, что в нерегулярной окрестности некоторые пиксели могут быть скорректированы маской окрестности больше, чем другие, но O(MN) все равно останется.

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

person Aiden Bell    schedule 06.06.2009
comment
Спасибо за зеленый ... Удачи в ваших исследованиях ... Надеюсь, вы найдете их плодотворными - person Aiden Bell; 07.06.2009