Pull to refresh
12
0
Сергей Смирнов @sergehog

Пользователь

Send message

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

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

Ну строго говоря, вы правы, для супер-резолюшена нужно больше чем одна картинка. Для вашей задачи наверное, правильней было-бы говорить об апсамплинге + деконволюшене. Но, по-большому счету, это похожие обратные задачи, которые решаются одинаковыми методами. А в случае BM3D так и вообще совпадают.

С точки зрения математики так это вообще частный случай классической задачи линейной алгебры, где решается задача y = Ax с некими дополнительными условиями на x.

Обычно, проблема, которой вы занялись, называется Super-Resolution (супер-резолюция). Погуглите, много информации найдете. То что вы называете "звоном", это Gibbs ringing artefacts. Извините, по-русски не знаю как называется. Эх, горячая была тема лет 10 тому назад. "Условие среднего" вы называете непосредственно постановку задачи, которую вы правда не довели до конца.

Представте, что у вас подряд идут значения пикселей в оригинальной картинке (рассматриваем как бы одномерный случай):

x_1, x_2, x_3, ... , x_n

А в текущей (известной) картинке у вас другие значения:
 y_1 = (x_1+x_2)/2, y_2 = (x_3+x_4)/2, ... , y_{n/2}=(x_{n-1}+x_n)/2. И их в 2 раза меньше чем иксов. У вас, как я понимаю, чуть более сложное представление, и не в 2 раза а больше, но его, все-равно, можно привести в подобный вид. Для простоты пусть будет в 2.

И теперь задача теперь сводится к тому чтобы найти иксы, при заданных игреках. Задача линейная, значит её можно решить матричными методами, а поскольку количество неизвестных больше чем известных, то 100% восстановить удаленную информацию невозможно. Отсюда и ringing artefacts появляются. Как вы возможно заметили, в моём уравнении игреки независимы друг от друга, и вроде как могут решаться независимо, но поскольку мы все-таки в 2Д и плюс мы ходим выудить что-то еще из данных (те-же производные), то они перестают быть независимы и становятся "сцеплены" друг с другом. Это все можно записать в виде большой прямоугольной матрицы n x (n/2), и добавлять кучу разных условий туда. И что-бы производные хорошо подходили, а можем и вторые производные запихнуть. Но вся мякотка в том что можно еще кучу интересных условий надобавлять. Например, мы знаем что градиенты в натуральных изображениях распределены по Гауссу, а может даже и Лапласу. Это значит что разница между соседними пикселями чаще всего мала, а если нужен резкий переход он должен проходить как можно чётче. С помощью хитрых способов это все можно завернуть в ту самую матрицу.

Есть еще другие трюки, типа BM3D. Утверждаем что в каждой картинке для кажного блока пикселей 8x8 пожно найти еще несколько очень похожих блоков. Почти в любых текстурах можно найти много повторений. Это значит что для восстановления иксов можно пользоваться информацией не только от соседних пикселей, но и пикселей что в похожих блоках. Тут уже не матричные методы правда.

Потом, Compressive Sensing, это уже десерт. Мы знаем что натуральные изображения очень хорошо сжимаются всякими преобразованиями типа Фурье или Косинусного. А почему бы тогда не искать неизвестные иксы не в пиксельном представлении, а прямо в спектральном? Оказывается что нам нужно найти не так уж и много неизвестных, а остальные компоненты спектра будут нули. Это ваще бомба.

Для больших картинок матричные методы со временем становятся слишком тяжелыми. Хотя, всегда можно сказать что информация о пикселе не может слишком уж далеко от него быть, поэтому все эти иксы можно икать по очереди в независимых окнах, и распараллелить даже. Но потом пришли нейросети и заменили всю эту математику практически везде. Теперь super-resolution делается на StableDiffusion и миллионе похожих архитектур. Ха-ха, без видео-карты от NVidia теперь уже и пернуть нельзя ))

Лет 5 тому назад все (самые умные) предсказывали что self-driving машины вот уже совсем скоро будут, и все таксисты помрут. До этого виртуальная реальность должна была заменить обычную, а до этого каждый второй хотел купить 3D телевизор, поскольку все фильмы теперь только в 3D будут.. А бум дот-комов кто помнит? А сколько было хайпов которых мы даже не запомнили или не заметили? Прогресс какой-то будет, это несомненно. Модельки/ЛЛМки улучшаться будут. Но никакой экспонентой уже и не пахнет, тут уже даже не логарифм, а сигмойд какой-то. Угрохают в 10 раз больше компьюта, а выхлоп выростет на пару процентов.

А разве Винт и Мотор это (почти) одно и то же? Screw = log (Motor); Motor = exp(Screw);

привет. Если HashSet отсортирован то можно хранить самое первое число и последовательность разниц между следующим и предыдущим. Почти наверняка окажется что маленьких "диффов" будет гораздо больше чем больших, а значит их можно эфективно скомпрессировать. Даже простенького Хаффмана хватит, ну или арифметическое кодирование, если таблицы Хаффмана хранить негде.

Я думаю чтобы понять ГА нужно обязательно написать свою библиотеку для ГА :) Иначе не получается.

STA: https://www.youtube.com/watch?v=e7aIVSVc8cI

Доклад Хестенеса про электрон, статьи пока не вышло: https://www.youtube.com/watch?v=TC9Cz3Rmnws

https://en.wikipedia.org/wiki/Gauge_theory_gravity (там есть пара ссылок)

Собственно, эти три чувака Anthony Lasenby; Chris Doran; Stephen Gull + Steven De Keninck как раз и стоят за bivector.net коммьюнити.

Матрицы Паули кодируются обычными кватернионами, т.е. бивекторами в пространстве G(3,0,0). А если пойти дальше и изучать SpaceTime Algebra (STA), так там вообще чудеса творятся. Один только SpaceTime Split чего стоит. Они сейчас переписали всю стандартную модель на STA, создали Gauge Theory of Gravity, тоже в терминах STA. Короче великое объединение физики не за горами. Дэвид Хестенес (старичку 90! лет) описал электрон (а заодно и фотон) в ГА, и избавился от этой неопределенности которая мучала физиков почти 100 лет.

Слышал люди работают над SpaceTime Projectivе Algebra. Вот это будет бомба если доведут до ума. Будем программировать как сигналы со спутников доходят до кораблей/самолетов/ракет/других планет/чего угодно сразу со всеми заморочками теории относительности в простой и элегантной алгебре. Представляю какой-нибудь Ray-Tracing на уровне распространения волн!

Здравствуйте, коллега :-). Вижу что вам ГА тоже зашла. Надеюсь вы отличаете Plane-based GA от Projective GA. У их коммьнити (bivector.net) была небольшая битва кого как называть, ибо кто-то другой уже застолбил имя Projective GA.

А можно вычитать статью? Читать же невозможно. Пойду читать оригинал

Совсем недавно David Hestenes сумел создать модель электрона без использования вероятности и случайности. Я как фанат геометрической алгебры посмотрел лекцию этого столпа науки, но мало что понял. В кратком изложении он моделирует электрон как заряд вращающийся вокруг центра масс. И сам заряд бегает со скоростью света, тогда как вся конструкция уже имеет массу и поэтому не может так быстро. Очень интересно на самом деле. Ждём пару лет на проверку предложенной модели другими физиками, а там глядишь и до Нобелевской недалеко. Хотя и Дэвид уже не молод. https://youtu.be/TC9Cz3Rmnws?si=9IztmXFUlMJTLPmC

для любителей геометрической алгебры, вот вам решение в PGA. Работает в любых измерениях>=2.

l1 = P00 v P01
l2 = P10 v P11
Px = l1 ^ l2
if <Px*Px,0> > 0
  // пересекаются
  len01 = len1 . len1  // dot-product
  len0x = (P00 v Px) . l1
  if same_sign(len01, len0x)  and len0x < len01
      // точка внутри отрезка P00-P01

Полностью согласен, хотя можно ли говорить о качестве кластеризации с K-Means..

На ютубе полно англоязычного материала. Вот здесь много лекций https://www.youtube.com/@bivector Вот эта моя любимая - простой физический движок за 10 мин https://www.youtube.com/watch?v=5R2sv9GCwz0

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

Я не знаю что Вы потом делаете с треугольниками, но на мой взгляд, в последней картинке оригинальная геометрия гораздо лучше. После "фильтрации" у вас появились остроконечные треугольники с тупыми углами. Ужас для последующей обработки.

Крутой чувак. Как то присутствовал на его лекции, рассказывал про сознание и под-сознание у машин.

Коль речь идет про дизеля - если залить бензин они тоже не заведутся. Знаю на личном опыте ))

1
23 ...

Information

Rating
Does not participate
Location
Tampere, Western Finland, Финляндия
Date of birth
Registered
Activity