My main research interest is in developing machine learning models and algorithms suitable for solving problems arising in computer vision. High-level computer vision tasks are a unique source of hard machine learning problems for three reasons. First, in contrast to physics-based processes, for many tasks we currently do not have accurate predictive models, which means we have to work in situations with high model uncertainty and misspecification. Second, humans excel at high-level vision tasks that were beneficial to our evolutionary survival and therefore humans can provide accurate ground truth data and model criticism (ground truth oracle). Third, image and video data is available for free at an enormous scale (data availability) with inexpensive cameras enabling novel consumer applications. These properties make computer vision a particularly attractive area for machine learning research. In terms of methodology I am particularly interested in structured prediction, that is, using statistical models to address structured decision tasks. In terms of industrial applications of my work, I have worked in image processing (denoising, demosaicing, deblurring), time-of-flight imaging, gesture recognition, cloud-based machine learning, and optimization.