Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Kак узнать, что на фото есть шум. / 25 сообщений из 60, страница 1 из 3
15.10.2013, 14:52
    #38428307
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
К примеру фото как на картинке зашумлено. Как это узнать?
...
Рейтинг: 0 / 0
15.10.2013, 14:56
    #38428316
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Очень просто - на фото всегда есть шум.
...
Рейтинг: 0 / 0
15.10.2013, 16:06
    #38428442
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Не всегда. Даже если и всегда - ответ не полный. Прошу переответить. :)
...
Рейтинг: 0 / 0
15.10.2013, 16:21
    #38428471
rockclimber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Cheerful CalfНе всегда. Даже если и всегда - ответ не полный. Прошу переответить. :)Как отличить фото гладкого помидора с шумами от фото влажного шершавого асфальта без шумов? Прошу перезадать вопрос
...
Рейтинг: 0 / 0
15.10.2013, 16:25
    #38428481
rockclimber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
П. С. Я бы начал с какой-нибудь статистической обработки. Например, разница между двумя пикселями в каждом цветовом канале - насколько равномерно распространена по поверхности? Как Взял бы несколько фото с шумами и несколько без, посмотрел в них закономерности...
...
Рейтинг: 0 / 0
15.10.2013, 16:41
    #38428504
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
rockclimber,

Вопрос вот именно так и стоит :-)

To есть так ?
...
Рейтинг: 0 / 0
15.10.2013, 17:09
    #38428541
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Вот между всеми примерно такая разница. Здесь тот что в первом посте. И как теперь узнать, где шум?
...
Рейтинг: 0 / 0
15.10.2013, 17:21
    #38428560
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Я бы попробовал посчитать среднее арифметическое модуля дельты между соседними пикселями. Если нет изображений, имеющих ярко выраженный горизонтальный характер, то за соседние можно брать пиксель справа. Чем больше шум, тем выше итоговая величина.
...
Рейтинг: 0 / 0
15.10.2013, 17:25
    #38428564
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
miksoft прав. Все фотографии (файлы созданные с помощью цифровика) фиксируют
шум света естественного мира на своей матрице. Поэтому что считать фоткой а что
шумом - вопрос философский. Думаю что многие фотографы не раз снимали дым,
снег или дождь преподавая это с апломбом как некое художественное
творение, и они будут категорически не согласны с нашим топиком.

Чу... я уже слышу как они откручивают штативы чтобы удобнее было нас бить.

P.S. По сабжу можно погуглить по ключевым словам Psnr, Nrms
...
Рейтинг: 0 / 0
15.10.2013, 21:48
    #38428834
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
maytonВсе фотографии (файлы созданные с помощью цифровика) фиксируют
шум света естественного мира на своей матрице.
на аналоговом материале - что характено - тоже

Хотя что есть шум?
...
Рейтинг: 0 / 0
15.10.2013, 22:17
    #38428864
rockclimber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Cheerful Calfrockclimber,

Вопрос вот именно так и стоит :-)

To есть так ?
Да фиг его знает. Все, что я могу сказать о цифровом шуме "на глазок" - то, что фото с шумами от фото без шумов отличается примерно как шершавая поверхность от гладкой. Но у меня нет профильного мат. образования, я не знаю алгоритмов и прочего, я просто написал, с чего бы начал решать задачу. Посчитал бы разные коэффициенты, сравнил бы с тем, что видит глаз. Еще сравнил бы с пестрой фотографией, но без шумов. А так как мне это делать в лом, то больше ничего не могу сказать.
...
Рейтинг: 0 / 0
15.10.2013, 22:41
    #38428881
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
miksoftпосчитать среднее арифметическое модуля дельты между соседними пикселямиСтранно, но это действительно работает... Из 600 фоток 578 распознаются, и фасле детект только для 11.
(асфальт не проверял :) )
...
Рейтинг: 0 / 0
15.10.2013, 22:46
    #38428886
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
rockclimberтак как мне это делать в ломвсё делать буду я ;)
...
Рейтинг: 0 / 0
15.10.2013, 22:49
    #38428888
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Ну... вобщем по формуле Nrms:



Где Е(i)- значения эталонной картинки а N(i) - зашумлённой (Noizy).

В качестве значения можно брать любой цвет из цветовых компонент но точнее взять
яркость (Value) как усреднённое значение триплета RGB



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

Обход пикселов для оценки Nrms можно делать в любом порядке.

Тоесть для оценки уровня шума нужно отделить шум от полезного сигнала.
Как это сделать - ХЗ. Либо мы завадомо имели эталонную картинку либо
мы берём обыкновенный полосовой фильтр и фильруем шумную картинку
в предположении что шум проявлен в диапазоне (например мелкие точки
соответствуют высоким частотам) и получаем почти эталонную. Или подойдет
любой другой фильтр (медана к примеру). В отличие от оценки Nrms
фильтрацию нужно делать в строгом порядке замеров Value пикселов
в соовтетствии с алгоримом. Для медианы берутся 8 пикселов-соседов
а для полосового фильтра я к сожалению невкурсе.
...
Рейтинг: 0 / 0
15.10.2013, 23:01
    #38428894
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
mayton,

Эталонной нет. А вот фильтровать зашумленную, чтобы потом (вариантов куча), надо до поры до времени. Иными словами надо знать когда же картинка станет без шума и надо останавливаться её очищать, а то можно доочищаться до равномерного серого цвета...
И опять таки - выполнил ли конкретный фильтр очистку и надо ли её продолжать узнать можно.. Но может надо пробовать другой?.. А может она уже без шума..
...
Рейтинг: 0 / 0
15.10.2013, 23:16
    #38428906
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Можно пойти по принципу обучения и заставить человека (1 раз) перебрать кучу снимков
и разбить ее на 2 кучки. В одну он будет класть фотки которые считает шумными. А в другую
- не шумные. Потом для шумных замерять коэффициент Nrms и взять его как пороговое значение NrmsMAX.

Далее вывод. Если для произвольной картики Nrms>NrmsMAX то считать ее шумной.
...
Рейтинг: 0 / 0
15.10.2013, 23:20
    #38428909
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Cheerful Calfmiksoftпосчитать среднее арифметическое модуля дельты между соседними пикселямиСтранно, но это действительно работает... Из 600 фоток 578 распознаются, и фасле детект только для 11.
(асфальт не проверял :) )Можно еще попробовать среднее квадратичное и т.п.
Можно поиграть с выбором соседних пикселей, вплоть до не самых соседних.
...
Рейтинг: 0 / 0
15.10.2013, 23:51
    #38428933
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
miksoftпоиграть с выбором соседних пикселей
тут как не очень... первые 3 имеджа

Соседи
Noisy image 1: 7.164451
Noisy image 2: 25.428951
Noisy image 3: 29.718850
Clean image: 2.128019

Соседи через 1
Noisy image 1: 7.785213
Noisy image 2: 25.750640
Noisy image 3: 30.087269
Clean image: 3.792111

Соседи через 2
Noisy image 1: 8.467532
Noisy image 2: 26.160179
Noisy image 3: 30.339670
Clean image: 5.155840


maytonзаставить человека
пробовал такой подход,
когда эти кучки пересматривали другие, больше половины браковали, мол ну тут уж ваш алгоритм (так всем было сказано) совсем не канает :)
...
Рейтинг: 0 / 0
15.10.2013, 23:55
    #38428935
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
кстати, направление соседей и их количество принципиальной разницы не дали. только что комплексити больше.
...
Рейтинг: 0 / 0
16.10.2013, 00:08
    #38428944
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Направление станет важным если картинка будет муаром, фототестом
или текстурой, содержащей мелкую зебру где много чёрно-белых параллельных
полос.
...
Рейтинг: 0 / 0
16.10.2013, 00:16
    #38428949
Cheerful Calf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
mayton,

я имел ввиду, что, допустим, приняв mean дельты как трешxолд равный 4 - происходит ~5% не правильной классификации. И это не меняется при смене направления. Отдельные картинки да, где-то больше, где-то меньше, но в целом результат не меняется.
...
Рейтинг: 0 / 0
16.10.2013, 10:07
    #38429189
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Cheerful Calf,

Попробуйте для ваших картинок построить график плотности распределения значений дельты.
Вероятно, для зашумленных и не зашумленных изображений он будет отличаться и будет более ясно что именно нужно ловить.
...
Рейтинг: 0 / 0
16.10.2013, 12:27
    #38429464
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Я хочу попробовать для тестов с "перцами" определить уровень шума на следующем псевдокоде:

Код: javascript
1.
2.
3.
4.
5.
image1 = loadImage "Pepperz_1.jpg";
image2 = clone image1;
doMedianFilter src->image2, medianRadius->"1 pixel";
nrms = calculateNrms imageA -> image1, imageB-> image2, axisOfDifferrnce-> "Brightness";
print "Nrms = $nrms";



Здесь есть нюансы. Какой фильтр брать? Зачем медиана? Почему радиус медианы 1 пиксел а не 2 не 1.5 e.t.d.
Почему оценка уровня шума идёт по каналу яркости "Brightness" а не по каналу цвета или насыщенности.
На эти я вопросы я пока сам не могу ответить. Просто считаю это экспертным мнением. Дескыть так лучше.
...
Рейтинг: 0 / 0
16.10.2013, 12:39
    #38429484
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Еще один фикс.

Код: javascript
1.
doMedianFilter src->image2, medianRadius->"1 pixel" axisOfMedian->"Brightness";
...
Рейтинг: 0 / 0
16.10.2013, 14:31
    #38429713
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Kак узнать, что на фото есть шум.
Да. Кодить медиану мне лень. Возьму Gimp или Photoshop и эту операцию сделаю там.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Kак узнать, что на фото есть шум. / 25 сообщений из 60, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]