LINUX.ORG.RU

Как отличить картинку от случайного набора пикселей


0

1

Вот есть такая ч/б картинка: http://imageshack.us/photo/my-images/208/dotsr.png/

на ней серые кружочки на сером фоне. Иногда кружочки светлее фона, иногда - наооборот. А есть другая картинка: на ней те-же самые пиксели, которые частично (или полностью) были перемешаны (переставленны местами). Какие существуют методы, при помощи которых можно разлечить такие картинки?

★★
Ответ на: комментарий от anonymous

Тебе повезло что ты анонимус, был бы регистрант — пришлось бы перерегистрироваться чтобы смыть позор.

anonymous
()
Ответ на: комментарий от anonymous

Для того чтобы показать тебе твоё заблуждение, задам наводящий вопрос:

Есть две картинки: 1, 2. Вопрос: какая из них сгенерирована датчиком случайных чисел, а какая является фотографией?

anonymous
()
Ответ на: комментарий от anonymous

Случайный набор пикселей может совпасть с любой картинкой.

Ага, а энтропия может уменьшиться.

baverman ★★★
()
Ответ на: комментарий от anonymous

Критерием Пирсона можно сравнивать пары картинок. Мне это не подходит, так как моя задача - узнать случайные-ли пиксели на картинке или нет смотря только на одну картинку.

phrm ★★
() автор топика

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

anonymous
()

Blur, потом считаешь средний цвет, а потом считаешь отличие от среднего. Если после blur все превратилось почти в однородную картинку - PROFIT!!1

vertexua ★★★★★
()

По гистограмме можно определить, картинка это, или же подозрение на шум. В вашем случае гистограмма не поможет (т.к. у вас не шум, а просто случайно разбросанные пиксели изображения). Можно попробовать поискать 8-связанные области.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от vertexua

Как однородность картинки фиксировать будешь, наркоман? Гауссовый блюр при некотором значении дисперсии и из шума сделает однородную картинку.

Тут важен именно спектр частот, по его границе можно оценить энтропию картинки.

anonymous
()

хм... А квадрат с ободком другого(схожего) цвета это картинка или случайные пикселы ?

Jetty ★★★★★
()

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

Deleted
()
Ответ на: комментарий от phrm

Абсолютно точно узнать все равно не получится, т.к. как уже было сказано, пиксели с вероятностью 0,000000(.....)1℅ могут сложиться в картинку, так что придется оценивать вероятность, что данное конкретное изображение не картинка (понятно, что на практике вероятность 99,99999 можно будет рассматривать как достоверное знание). Сравнивай распределение цветов/частот/медианных значений с каким-нибудь эталонным изображением.

prischeyadro ★★★☆☆
()

Все кроме двух(Eddy_EM, halturin ну и конечно анон) адово не правы в этом треде!

Сейчас пытаются пилить сожные вероятностные модели: авторы заявляют что они даже позволяют отличить картинку с фотоаппарата от картики сгенерированной в крузисе. Я за это не ручаюсь, так как те статьи дальше рецензий не видел. Похожая шняга есть тут если кому интересно(статья уже старая, новые впадлу сейчас искать) http://www-dept.cs.ucl.ac.uk/staff/s.prince/Reading/roth_black_cvpr2005.pdf

В твоем случае

1)Либо смотри частотный спектр(fft) просто пропали его для шума и своих картинок — там примерно разберешься как их делить.

2)Можно смотреть градиенты: в случайной картинке, они будут адовые, в отличии от нормальной(если она не сильно зашумлена).

Ну а теперь методы, которые на самом деле могут сработать...

3)Берешь значит N картинок настоящих, M случайных(чем боле тем краще). Берешь набор(словарь) фильтров(типа габора разный скейл, разный угол). Получаешь набор откликов кажого изображения на каждый фильтр ==> получаешь вектор признаков каждой картинки. После чего, не вникая в суть обучаешь Random Forest, или SVM. Вот тебе и классификатор.

4) Ну самый простой и скорее всего работающий, но по мне так не красивый вариант:

*Немного сглаживаеь изображение

*считаешь морфологические признаки у каждой картинки типа: кол-во связанных областей, периметр кажой области, экстреснти*тфубля_забыл*, оси инерции. Опять тренерушь Random Forest или SVM.

maggotroot
()
Ответ на: комментарий от maggotroot

Ладно, не буду так категоричен... у многих нормальные идеи, главное что мозг шевелится.

И кстати вполне известный лол: я тут 10 раз подкинул монетку мне выпали ОРРРОРООРР. Пошол к дружбану он сказал, что я нагло гоню, так как вероятность этого события меньше 0.00001% Обещал дать в табло...

maggotroot
()
Ответ на: комментарий от Deleted

> выработать алгоритм исходя из частоты(кол-во смены цвета на n-пикселов)

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

иначе, если [псевдо]случайность отсутствует. это может быть просто мазня обезьяны по полотну или нечто подобное. тогда весьма затруднительно выделить осмысленное изображение от других изображений. это уже ИИ :)

taker
()
Ответ на: комментарий от anonymous

> Узнай уже что-нибудь про автокорреляцию, троглодит.

А ты в курсе, что автокорреляция - величина случайная? ОП ничего не говорил про вероятности вообще, он спросил - «как узнать». Ответ единственный - никак. Для любого «честного» случайного распределения существует ненулевая вероятность того, что изображение совпадет с любой изначально заданной картинкой. Единственное, что мы можем сделать - оценить вероятность того, что картинка «случайна», но для этого надо, по крайней мере, знать класс распределения.

anonymous
()

Да, еще можно простенькое вейвлет-преобразование изображения сделать и посмотреть на гистограмму HH. В общем, вроде этого (там, правда, с фокусировкой, но общие принципы, думаю, будут понятны).

Eddy_Em ☆☆☆☆☆
()

Можно ещё посчитать корреляцию значений яркостей пикселей в парах соседних строк или столбцов.

anonymous
()

если картинку еще несколько раз перемешать, то можно смотреть насколько спектр пространственных частот перемешанной нами отличается от исходной (или её случайных фрагментов).

ну а сделав так много раз для «случайных» и «неслучайных» картинок можно построить правило чем спектры одних отличаются от перемешанных спектров иначе чем это происходит у их антагонистов...

psv1967 ★★★★★
()
Ответ на: комментарий от anonymous

>>автокорреляция - величина случайная. Существует ненулевая вероятность того, что изображение совпадет с любой изначально заданной картинкой

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

ОП ничего не говорил про вероятности вообще, он спросил - «как узнать»

«Как узнать» - это ВСЕГДА про вероятность, дошкольничек.

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

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

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

anonymous
()
Ответ на: комментарий от anonymous

s/Потрудить/Потрудись

s/Автокорелляция/Автокорреляция

s/,\ /,\ дошкольничек,\

anonymous
()
Ответ на: комментарий от anonymous

>>Критерий согласия Пирсона

Идиот. Как ты представляешь себе использование критерия Пирсона в вероятностном пространстве размерностью N^2, да ещё при единичной выборке?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.