Митя об интересном – Telegram
Митя об интересном
198 subscribers
61 photos
13 videos
2 files
142 links
Люблю писать про 2D/3D генеративные модели, AR/VR, ML фокусы, и вообще про всякое интересное
Автор - 🗿
🗿 - @Xallt

Личное & смешное - @i_laughed_dont_tag_me
Download Telegram
Вот как выглядит разобранный чёрный ящик
5
Пожалуй тоже подключусь к AI кодинг хайпу

Я почти с самого выхода Github Copilot пользуюсь им и расхваливал его, но в основном он был для меня Autocomplete buddy — за меня дописывает что-то что я сам очевидно знал как написать, просто ускоряет процесс.
И только недавно (около недели назад) я осознал что, ах да, вообще его можно промптить, запрашивать целые куски кода создавать / переписывать / пояснять. Было круто, но что-то сложное он всё ещё не до конца справлялся делать сам.

Но внезапно новый чемпион — Cursor — набирает обороты в популярности как THE AI coding buddy, и я решил сегодня тоже опробовать. И ооочень доволен.
Как все и пишут, это то чем изначально копилот должен был быть. Очень умело (и заметно быстрее) генерирует огромные куски кода, и быстро редактирует.

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

Ииии за 4 часа (было бы 2-3 если бы не сложные форматы в Notion API) есть вот это https://github.com/Xallt/obsidian-link-aggregator !!! Там много кода который я бы сам без AI помощи поленился бы писать, и в целом процесс был бы как минимум в 2 раза дольше.

И вот соответственно автоматически созданная табличка: https://rare-save-0fa.notion.site/860ea27b912941c9a467547a9dfb44e9?v=4dfe8bc0e29141248627a8212de90d34

Правда сейчас мне надо руками зайти в Notion на созданную табличку и нажать Publish, поэтому следующим шагом сделать так чтобы это опубликовывалось на мой сайтик https://xallt.github.io/

Короче, валидность хайпа подтверждаю, теперь быть 10x-50x инженером значительно проще. Я раньше был скептичен насчёт всего этого, но сейчас огого как передумал
6🔥4
Помните я вот тут объявлял о выходе на новую работу в Gracia, а вот тут даже писал как доволен своими результатами на ней?

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

Короче, хоть и проработал я в Gracia только 4 месяца, я успел там немало крутого сделать для фотореалистичных Gaussian Splatting сцен для VR шлемов. И до сих пор активно слежу за их dev апдейтами и радуюсь любому релизу.

Однако такой прикол произошел — внезапно Meta без каких-либо предпосылок релизнула Hyperscape который оочень напоминает продукт Gracia, только независимо от них и под очень узнаваемым брендом Meta.

Т.е. гигант-Meta с кучей привлеченных Phd-шников и связью с командами которые непосредственно разрабатывают VR-шлемы, выходит как конкурент достаточно скромной по размеру Gracia.

Они конечно малые-да-удалые, но в любом случае им там наверное тяжко... А я просто грущу что доступ к Hyperscape Beta пока только аккаунтам внутри США 🙃🙃🙃
🔥8😢1
Так вот, после ужасно утомляющего переезда в Израиль, у меня наконец появились силы читать статеечки MLные
(Да, как ни странно, моя работа сейчас не состоит на 50% из чтения статей)

Решил глянуть на Sapiens от Меты, заявившийся как первый Foundational Model для картинок с людьми — и для segmentation, и для pose estimation, и даже для depth estimation / normal estimation.

Как обычно, добывают много картинок — аж 300M (!!! офигеть вообще-то) на которых есть люди, предобучают на нем большой трансформер. Используемый подход называется Masked Auto Encoder, по сути трансформер обучают по супер-испорченной картинке (убили 75% пикселей) восстанавливать исходную. Задача странная и общая, но если научиться делать так для 300M картинок, причем на которых именно много людей, то что-то оно умное про людей в начальных слоях модели выучит. Чуть похоже на I-JEPA.

Так вот, pretraining провели, а осталось обучить непосредственно голову для каждой из задач (segmentation, depth estimation, …). Во-первых, для Pose estimation (т.е. предсказания ключевых точек на теле) они вообще создают новый стандарт с сильно бОльшим количеством точек, так еще и руками размечают новый датасет из 1M картинок??? Звучит абсурдно — это же все-таки Meta, наверняка они там настроили себе пайплайн полу-автоматической разметки наподобие того что было в SAM.

И что-то аналогичное для сегментации — размечают 100К картинок, заявляют что руками, не верю…

Но это не самое интересное — для обучения Depth Estimation / Normal Estimation, хрен там руками разметишь. Зато там на ура работают синтетические данные — т.е. авторы добывают себе супер-детальные 3D сканнеры, делают много сканов людей (базовая фотограмметрия видимо), и потом генерируют картинки, ставя реконструированные модели в рандомные HDRI бэкграунды. Т.к. у нас доступ к 3D модели, мы знаем глубину+нормали, поэтому есть данные высочайшего качества.

Хоть и есть некоторый domain shift между искусственными картинками и реальными, наличие огромного количества картинок в датасете, плюс то что искусственные данные все-таки не худшего качества, дает модель которая SOTA на реальных данных, хоть и файнтюнилась чисто на искусственных.

Короче, очень мне нравится направление в последнем ресерче что синтетические данные очень помогают. Генерировать данные — имхо веселее, чем их собирать другими способами, плюс в контексте Computer Vision это значит больше востребованности в экспертах в 3D Reconstruction)

Depth Anything V2 / SceneScript / RoboCat примеры работ достигших крутого результата именно засчет хороших синтетических данных.
6🔥2
Пока ресерчил на тему применения синтетических данных в ML решил сначала поглядеть в сторону применения в Reinforcement Learning, т.е. для обучения всяких роботов

Наткнулся на много упоминаний Isaac Gym о котором слышал раньше, но в практическом плане никогда не изучал — это распространенная система как раз для Physical Simulations.

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

Имплементаций physical simulations онлайн можно найти огромное количество, но конкретно Isaac Gym хорош тем, что абсолютно все в процессе RL: сама физическая симуляция, и прогон + обучение нейронки, может проходить очень эффективно на GPU

Общая философия в любой GPU разработке в том, что коммуникация между CPU и GPU очень низкопропускная, соответственно если уж используется GPU, нужно максимизировать его утилизацию (FLOPSы), и минимизировать data transfer CPU<->GPU.
Так что похоже, что в Isaac Gym все из GPU выжали на полную.


Потом выяснил что Isaac Gym уже устарел и Nvidia заменила его на Isaac Labs, который поновее и полноценно вписывается в их огромную систему Nvidia Omniverse. Очень интересный этот Omniverse, хочется как-нибудь потыкать в него и понять где и как его можно применить.

P.S.: Кажется, как следствие изучения книжки про компьютерную графику, про которую рассказывал в Real-time rendering посте, нашел там ссылку на какой-то интересный Real-time Physics Simulation Forum
👍1
Наконец-то догрузил лекцию про Synthetic Data!!

https://www.youtube.com/watch?v=n9rnwrC05EM

Первая лекция в Тель Авиве, с обрубленной записью 🙃
В любом случае получилось тоже хорошо, и тема сама по себе оказалась супер интересной

Презентация: https://docs.google.com/presentation/d/1UauURbh51VmHG9hecc6DFzDP79RF2PgX5v_zerXITGk/edit
4👍4🔥1
Рандомный безумно интересный факт — оказывается, магнитометры ставят в смартфоны / VR/AR устройства потому что они позволяют измерять магнитное поле Земли в точке, что помогает отслеживать позицию/поворот устройства в пространстве

mind blown

(и вообще я не знал про существование такого устройства как магнитометр, но логично)

Source: https://xinreality.com/wiki/Magnetometer

P.S.: Читал статью Project Aria и там наткнулся на упоминание магнитометров но не понимал зачем оно, поэтому загуглил
🔥3
TIL что для съемки The Lion King ремейка, Джон Фавро (да, оказывается он был директором ремейка) организовал использование VR шлемов на съемочной площадке

https://www.youtube.com/watch?v=CupdZeOJus4&t=407s

TLDR (насколько я понял):
Базовые анимации с Motion Capture на персонажей уже насадили, и cameraman'ы, видя некоторую предварительную анимацию в VR, понимают как лучше "снять" сцену, и это движение потом и используется в финальном кадре
👍2
Опубликовал постик про то как я разбирался в том что такое Homography Matrix и почему она линейная

https://xallt.github.io/posts/deriving-homography-matrix/

Оно меня совсем в какой-то момент запутало, но сесть и расписать полный вывод формулы очень помогло
1
Я тут опять HackerNews листал, и наткнулся на достаточно безобидный, но интересный пост про то как интересно работает калькулятор в Android

Мне очень понравилось как чел пишет, поэтому решил порыскать по его сайту, поглядеть другие посты — и на одном из них была ссылка на что-то про Stack is a Monoid что я еле-еле понял, но меня захватили эти слова в самом первом параграфе:
> it’s also well known that GPUs are good at algorithms like prefix sum
wtf? Пошел гуглить, нашел GPU Gem про Prefix Sum, и моя башка просто взорвалась от гениальности алгоритма

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

Короче, очень классно гениально круто мозговзрывающе бомба
🔥6🤩2
Реалити чек по поводу всей темы с AI кодингом

https://deplet.ing/the-copilot-delusion/

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

Любые посты, которые я читаю на эту тему, только малось дают идей
И все, что я напишу — абсолютно не заменит огромного времени проведенного за тюнингом Cursor Rules / пробой MCP серверов / и тд и тп.

Оно не панацея, и нужно много возиться чтобы стабильно получать выгоду без ущерба качеству продукта. Но вклад того стоит, так что рекомендую не отставать.
👍3🔥1🤔1
Расписал несколько заметок про CMake

https://xallt.github.io/posts/cmake-is-a-pain-in-the-ass/

C++ разработку люблю, но почему-то CMake для меня был всегда супер-больным местом — я пытался досконально понять каждую команду, достичь "Thinking from first principles".

Со временем я воистину стал разбираться, но произошло это только после того как я отпустил идею "я должен досконально понимать каждый инструмент".

Тем более стоит это принять когда дело касается Build System'ы, в которой много-много настроек, и черной магии, которая скрывает на самом деле за собой много-много неприятных деталей.
👍5
Расписал пост про то как настраивать разработку на C++ для чайников

https://xallt.github.io/posts/c-programming-setup-for-noobs/

Несколько месяцев назад переквалифицировался на работе на какое-то время в C++ разработчика — мне тыкаться в плюсы не в новинку, но для сурьезного проекта все-таки впервые.
6
TIL есть подходы для привлечения внимания человека к участку картинки засчет колебания цвета, при том что сами эти изменения незаметны

https://augvislab.github.io/projects/chroma-gazer-2025

Естественно много потенциальных применений в UX AR/VR приложений — и тот же подход может использоваться для невидимых QR-кодов!!!

И вообще мне недавно знакомый скинул ссылку на лабу в которой делают много интересностей в теме AR, вот зачитываюсь теперь:
https://augvislab.github.io/projects
🔥6💋1
Прикольное недавно найденное — супер-realtime трекинг объектов в изображении засчет Random Forests вместо этих ваших смузи нейронок

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

Очень актуально для любого XR управления телом, вот я уже делал доклад на тему трекинга рук для VR. А еще есть такие приколы с real-time makeup'ом

А еще присылал уже пример очень классной игры с применением Hand Tracking которая, как мне кажется, может существовать только в VR (ссылка на игру)
🔥5
Meta выпустила yet another 3D Foundation Model — MapAnything — по произвольному набору картинок + optional параметры камер + optional частичные depthmaps, дает все что можно

Имхо побился рекорд по количеству железа и VRAM используемого для обучения computer vision модели, смеюсь с того насколько абсурдно звучит 64 H200-140GB

И мы в рабочем чате такие "хммм а можем ли такие обучить с одной H100"
TIL про Assisted-GPS: https://en.wikipedia.org/wiki/Assisted_GNSS

У любой GPS-системы по сути есть два куска данных нужных для определения позиции устройства:
а) Данные о движении спутников — их точные позиции и скорости/направления движения по орбите (Ephemeris) — чтобы подсчитать их позицию относительно Земли в любой момент времени
б) Расстояние до каждого спутника — заполучается тривиально в real-time, и уже непосредственно используется для подсчета координат самого устройства

В куске (а) прям много данных — но их можно скачать один раз в начале, и дальше автоматом высчитывать состояние спутника в каждый момент времени.
А дальше трюк — чтобы не качать эти данные со спутников с скоростью 50 bit/s (ждать ~10 мин), телефон качает эти закешированные данные по сотовой связи / с спец-серверов.

(Пришлось разбираться потому что чинил GPS на старом телефоне)
🔥1
Готовлюсь к небольшому выступлению на нашей компанийской мини-конфе, буду рассказывать что-то разное про Фотограмметрию / NeRF'ы / Gaussian Splat'ы, впервые за долгое время что-то читал про них

Сборка интересностей:
- Один из авторов NeRFа, Ben Mildenhall, соосновал The World Labs и месяц назад они выпустили вроде дажу неплохую модельку Marble для Environment Generation. Хвастались как это можно использовать для генерации 3D миров для симуляций для роботов.

- Adobe раскрыли свой проект Project New Depths для редактора Gaussian Splatting сцен

- Apple раскрыли что их "Personas" из Apple Vision Pro таки реализованы с Gaussian Splatting

- На какой-то конференции показывали что Google Maps делают Gausssian-Splatting-based реконструкции интерьеров заведений которые можно даже смотреть в VR
🔥4
TIL что p в 1080p / 720p / etc значит progressive scan, т.е. буквально количество линий сверху вниз которые надо отрисовать
А еще когда говорят 2K, могут иметь ввиду 1080p, потому что по факту это 1920x1080, и 2K ~= 1920

- - -

В комментах добавили!!
Что суффикс p добавляли потому что был 1080i / 720i , которые interlaced scan.

Телики были старые, пиксели отрисовывались буквально по линиям — и можно было сделать видео приятнее, отрисовывая сначала линии 0,2,4,6, ... , а потом линии 1,3,5,...
1