Posts

Posts

Pinned

PeRFception: Perception using Radiance Fields

Authors Yoonwoo Jeong, Seungjoo Shin, Junha Lee, Christopher Choy, Anima Anandkumar, Minsu Cho, Jaesik Park NeurIPS, 2022 Abstract The recent progress in implicit 3D representation, ie, Neural ...

Deep Global Registration

We present Deep Global Registration, a differentiable framework for pairwise registration of real-world 3D scans. Deep global registration is based on three modules: a 6-dimensional convolutional ...

Fully Convolutional Geometric Features

Authors Christopher Choy, Jaesik Park, Vladlen Koltun International Conference on Computer Vision (ICCV), 2019 Speed vs. Accuracy Pareto optimal frontier of previous methods and ours. Abstrac...


All Posts

CuTe DSL Basics: A Practical Introduction

CuTe DSL Basics — From Hello to Tiled Kernels This tutorial turns the CuTe DSL script snippets into a connected story: we start with a first GPU kernel, learn how dynamic printing and data types w...

Monocular Dynamic View Synthesis: A Reality Check

Authors Hang Gao, Ruilong Li, Shubham Tulsiani, Bryan Russell, Angjoo Kanazawa, Christopher Choy NeurIPS, 2023 Abstract Indoor scene reconstruction from monocular images has long been sought af...

Self-Calibrating Neural Radiance Fields

Authors Yoonwoo Jeong, Seokjun Ahn, Christopher Choy, Animashree Anandkumar, Minsu Cho, Jaesik Park ICCV, 2021 Abstract In this work, we propose a camera self-calibration algorithm for generic ...

Faster Neural Radiance Fields Inference

The Neural Radiance Fields (NeRF) proposed an interesting way to represent a 3D scene using an implicit network for high fidelity volumetric rendering. Compared with traditional methods to generate...

Setting Class Attributes in Python

Setting class attributes in python can be tedious. In this post, I want to summarize a trick that I’ve been using to simplify this process. Class Attributes in init In many cases, we have to save...

Misconceptions about Memory and Good Documentation

Documentation probably is one of the most important tasks that no one has time for. I also overlook the importance as I get swept by a series of projects and requests. Recently, however, I learn mo...

Pytorch Extension with a Makefile

Pytorch is a great neural network library that has both flexibility and power. Personally, I think it is the best neural network library for prototyping (advanced) dynamic neural networks fast and ...

Short Note on Matrix Differentials and Backpropagation

Mathematical notation is the convention that we all use to denote a concept in a concise mathematical formulation, yet sometimes there is more than one way to express the same equation. For example...

Regression vs. Classification: Distance and Divergence

In Machine Learning, supervised problems can be categorized into regression or classification problems. The categorization is quite intuitive as the name indicate. For instance, if the output, or t...

Learning Gaussian Process Covariances

A Gaussian process is a non-parametric model which can represent a complex function using a growing set of data. Unlike a neural network, which can also learn a complex functions, a Gaussian proces...

Scene Graph Generation by Iterative Message Passing

Understanding a visual scene goes beyond recognizing individual objects in isolation. Relationships between objects also constitute rich semantic information about the scene. In this work, we expli...

SegCloud: Segmantic Segmentation of 3D Point Clouds

Abstract 3D semantic scene labeling is fundamental to agents operating in the real world. In particular, labeling raw 3D point sets from sensors provides fine-grained semantics. Recent works lever...

Dirichlet Process Mixtures and Inference (Part 1)

Statistical inference often requires modeling the distribution of data. There are two branches of statistical modeling: parametric and non-parametric methods. The former one specifies the data dist...

Universal Correspondence Network

We present a deep learning framework for accurate visual correspondences and demonstrate its effectiveness for both geometric and semantic matching, spanning across rigid motions to intra-class sha...

Caffe Python Layer

Python layer in Caffe can speed up development process Issue1703 Compile WITH_PYTHON_LAYER option First, you have to build Caffe with WITH_PYTHON_LAYER option 1. Run make clean to delete all the ...

Gentle Introduction to Gaussian Process Regression

Parametric Regression uses a predefined function form to fit the data best (i.e, we make an assumption about the distribution of data by implicitly modeling them as linear, quadratic, etc.). Howev...

Reading protobuf DB in Python

Caffe uses Google Protocol buffer and LMDB or LevelDB to save data in a single unified database file. This allows faster data loading. Saving Database in LMDB I will not cover this step. If you a...

Barycentric Coordinate for Surface Sampling

To convert a mesh into a point cloud, one has to sample points that can uniformly cover the surface. To do so, one must choose the number of samples proportional to the area of a face (polygon). F...

Making a Caffe Layer

Caffe is one of the most popular open-source neural network frameworks. It is modular, clean, and fast. Extending it is tricky but not as difficult as extending other frameworks. Files to modify o...

Computing Neural Network Gradients

Computing the neural network gradient requires very simple calculus, yet can be tedious. Affine Transformation (Fully Connected Layer) Gradients For a simple fully connected layer with batch size...