We have worked on basic algorithmic building blocks that support visual data processing. Our algorithms have advanced the state of the art in optical flow estimation, visual odometry, bottom-up segmentation, intrinsic image decomposition, and other low-level vision problems.