Авторы сегодняшней статьи предлагают альтернативу LSS. Для этого от задачи классификации распределения глубины они переходят к регрессии параметров распределения (среднего и дисперсии). В результате точно так же предсказывается распределение, но лоссы считаются иначе.
В GaussianLSS вместо BEVPool или BEVPoolv2 используется классическая растеризация через diff-gaussian-rasterization (как в компьютерных играх: проецируем полигоны/гауссианы на камеру/BEV). Именно так авторы получают BEV-фичи для прикладных задач, при этом увеличивая FPS за счёт diff-gaussian-rasterization. По FPS они побеждают всех конкурентов на бенчмарках, не сильно теряя в качестве.
Распределение вероятности по бинам предсказывается аналогично стандартному LSS. Но затем авторы считают среднее, поскольку знают, на каком расстоянии находится каждый бин, и дисперсию. Получаются точки в системе координат камеры (каждый пиксель — u,v и глубина для него — d). Они перегоняются в мировые координаты через внешние и внутренние матрицы калибровок.
Откуда вообще берётся распределение глубины? Как мы помним, в классическом LSS есть волшебный DepthNet, который предсказывает распределение глубины каждого пикселя и новые фичи. Авторы ещё немного модифицируют его так, чтобы получать ещё и opacity. Кажется, это сделано, потому что того требуют библиотеки для растеризации гауссиан. Но этот параметр можно как-нибудь использовать. Например, вы не хотите видеть бесполезное для ваших задач небо на BEV-фичах — благодаря opacity от него можно избавиться.
Итого, авторы получают в 3D-пространстве точки, у каждой из которых есть координата, матрица ковариаций (на самом деле немного вырожденная, потому что гауссиана растянута вдоль «луча», проходящего через пиксель камеры), а кроме того — opacity и фичи. Дальше можно просто взять и отрендерить гауссианы. У оригинальной diff-gaussian-rasterization не очень хорошая лицензия, но есть и «народная» реализация этой библиотеки.
После растеризации получаются стандартные BEV-фичи, которые можно использовать привычным способом.
Разбор подготовил
404 driver not found