Pepe 🐸
Ну то есть корреляция, потому что это на самом деле две дисперсии
Нет, не корреляция тут же квадрат каждого элемента есть
Pepe 🐸
Корреляция это только свертка
Constantine
Нет, не корреляция тут же квадрат каждого элемента есть
Ну блин, ну ты суммируешь (a_i - b_i)^2 по всем i, ежу же понятно что \sum a_i^2 + \sum b_i^2 - 2 * \sum a_i * b_i, последнее корреляция, остальное изи вычисляется
Constantine
Тебе нужно расстояние прямо или под порог потом?
Pepe 🐸
Ну блин, ну ты суммируешь (a_i - b_i)^2 по всем i, ежу же понятно что \sum a_i^2 + \sum b_i^2 - 2 * \sum a_i * b_i, последнее корреляция, остальное изи вычисляется
Все правильно, последний член корреляция я так и сказал. Задача теперь понять как ее быстро считать предложено через ффт
Pepe 🐸
Тебе нужно расстояние прямо или под порог потом?
Это расстояние я именно такое, так дано
Constantine
В смысле, опять же по XY запрос, нафига тебе это значение
Pepe 🐸
В смысле, опять же по XY запрос, нафига тебе это значение
Значение надо, так в статье, я пока не в состоянии придумывать как это улучшить
Constantine
Значение надо, так в статье, я пока не в состоянии придумывать как это улучшить
В смысле тебе на вывод твоей программы нужно для каждого отсчета вывести статистику отклонения по норме 2?
Constantine
На этом твоя программа заканчивается?
Pepe 🐸
Меня собственно интересует практика таких вещей
Pepe 🐸
Это студенческая лаба или что? :)
Нет, алгоритм пытаюсь закодить и посмотреть как работает
Constantine
Ну то есть лаба, потому что на практике дальше будет стоять порог срабатывания
Constantine
А если дальше стоит порог срабатывания, есть супер оптимизация: прошкалить блоки 24*24 до 6*6 через усреднение перед расчетом
Constantine
И отсечь 99% вычислений по порогу
Constantine
Это значит, что интересуют встречающиеся с вероятностью 0.1% отсчеты с маленьким расстоянием
Pepe 🐸
Мне все эти расстояния нужны
Pepe 🐸
Я их все сравниваю
Constantine
Так ты их сравниваешь а не выводишь?
Pepe 🐸
Так ты их сравниваешь а не выводишь?
Выводить не надо. И сравнивать не 3000 сразу, а по 9
Constantine
или как там это
Constantine
ну я тебя спрашиваю, что ты собираешься делать со значениями
Constantine
ты говоришь "мне просто нужны значения"
Constantine
а потом выясняется, что ты их с чем-то сравниваешь
ep
Надо статью посмотреть, думаю. :)
Constantine
Так как это влияет?
Потому что если уменьшить предварительно картинку и образец в 4*4 раза, можно мгновенно и элементарно получить достаточно точную оценку всех этих чисел
Pepe 🐸
Надо статью посмотреть, думаю. :)
https://www.google.com.tw/url?sa=t&source=web&rct=j&url=http://graphics.stanford.edu/papers/hdrp/hasinoff-hdrplus-sigasia16-supp.pdf&ved=0ahUKEwi_u93JoY7WAhVFJZQKHUArCuAQFghXMAs&usg=AFQjCNEv-VYZypveFN4eI_GlVN8MzW9lEg
Constantine
И таким образом отсеять 99% неба, когда ты самолет ищешь на фоне голубого неба
Pepe 🐸
И таким образом отсеять 99% неба, когда ты самолет ищешь на фоне голубого неба
Это понятно, это уже другие оптимизации и кстати там так и делается
Constantine
Так как только ты это сделал, о чем дальше речь
Pepe 🐸
Если я тебя правильно понимаю
Constantine
У тебя порог применен на уменьшенной картинке, теперь у тебя нет задачи вычислить все отсчеты корреляции с 24*24
Constantine
И в любом случае нужна статистическая модель того, что ты там пытаешься оптимизировать
Constantine
Например, что это распознавание самолетов на фоне неба с видеокамеры
Pepe 🐸
И в любом случае нужна статистическая модель того, что ты там пытаешься оптимизировать
Нет смотри , вопрос такой: 1) как считать свертку маленьких массивов? 2) как их хранить в большом массиве чтобы это не вызывало промахов в кэшэ или чего нибудь такого
Constantine
Тебе не нужно много раз считать свертку маленьких массивов
Constantine
Но это не нужно никогда
Constantine
Если у тебя образец 24*24, объем свертки через FFT будет минимум 48*48
Constantine
24 это нерегулярное основание, чтобы я помнил декомпозиции mod 6
Constantine
И самое главное - это задача pattern matching, там не нужно фурье проводить
Andrei
Предположим что нужно
Нафига, я тоже не понимаю :( объясни подробнее, что ты хочешь получить в конечном итоге?
Pepe 🐸
Нафига, я тоже не понимаю :( объясни подробнее, что ты хочешь получить в конечном итоге?
Я статью дал выше, но это совершенно не относится же, говорю, хочу в лоб сделать, интересует именно имплементация
Pepe 🐸
Не хочу ничего в статье менять
Pepe 🐸
Я уже сделал все в матлабе так наивно, теперь хочу на С++ и относительно быстро
Constantine
Ну если тебе надо быстро, грузи GPU и реализацию фурье с куды
Pepe 🐸
2 вопроса: 1)готовые решения (подсказали fftw смотрю) 2) наивная оптимизация -- а именно расположение подмассивов в массиве
Constantine
я очень не уверен, что оконное фурье с размером 48 будет работать хоть немного быстро
Pepe 🐸
То есть ты хочешь по квадратикам вырывать из большого массива нормально ли это?
Constantine
Но я не знаю размер оригинального изображения
Pepe 🐸
То есть ты хочешь по квадратикам вырывать из большого массива нормально ли это?
Или надо делать чтобы каждый квадратик был развернут
Constantine
3 мегапикселя за сколько тебе надо отработать?
Михаил
Кинь код в матлабе, чтобы понятнее что к чему было и что ты хочешь
Constantine
До свидания)
Pepe 🐸
Ну две может
Constantine
Я видел на ведроид-планшетках через reverse-фурье попытки реализовать оптимальные фильтры
Constantine
Не очень работало
Constantine
Что у тебя по каналам?
Pepe 🐸
Я видел на ведроид-планшетках через reverse-фурье попытки реализовать оптимальные фильтры
В принципе в статье что я дал это все реализовано и секунды 2 как раз занимает вместе с пост обработкой.
Constantine
Ну так и возьми их код рофль 😆
Pepe 🐸
Но там ни слова конечно о том как имлементировано
Pepe 🐸
Ну так и возьми их код рофль 😆
Так он же недоступен
ep
Так он же недоступен
Напиши авторам, обычно дают
Constantine
У меня со студенческих была поделка с реализацией split-radix методом индусятины
Constantine
Надо еще выяснить, что за 24*24 объект ищется на фотке
Pepe 🐸
Там кстати размер свертки 24-16+1
Constantine
?
Pepe 🐸
Я уже забыл. Но сами тайлы 24
Constantine
Ой все, я сдаюсь
Pepe 🐸
Ой все, я сдаюсь
Не думой об алгоритме)