801 N 34th St
Seattle, WA 98103
cbarnes AT adobe.com
Research Interests and Bio
I am a senior research scientist at Adobe in Seattle. My research interests span a variety of computer graphics and vision topics, such as image and video processing, texture, deep learning for image tasks, brush interfaces, and compiler tools. I like to incorporate mathematical insights into research.

For the years 2013-2017, I was an assistant professor of computer science at the University of Virginia.

Please see my C.V. or my publications below for more information.
Internships
I will be recruiting computer science Ph.D. students for Adobe research internships, which typically result in peer-reviewed publications. If you are interested, please apply. I suggest you send myself and any other researchers with overlapping research interest an email. It helps if you can identify shared research interests. For summer internships, it also helps if you do this in November.

I was previously fortunate to mentor the following interns: YiChang Shih, Jonathan Ragan-Kelley, Olga Diamanti, Soheil Darabi, Nima Kalantari, Ning Yu, Amit Raj, Noa Fish, Yi Zhou, Wei Xiong, Utkarsh Singhal, Spandan Madan, Tianshu Yu, Liqian Ma. When I was a professor, I also advised Ning Yu, Yuting Yang, Fuwen Tan, Zackary Verham, Liming Lou, ShanShan He, and Paul Nguyen. In addition, I worked with many great collaborators who are listed on my publications below.
Service
Recently, I served on the ACM SIGGRAPH Asia 2018 technical papers committee and the ACM SIGGRAPH 2019 technical papers committee.
Classes
If you are interested, you can see a list of classes that I taught when I was a professor.
Impact and Press Coverage
The PatchMatch technology that I researched for my Ph.D. was incorporated into Adobe Photoshop CS5 as content-aware fill. This received 8 million views on YouTube [1] [2], and was featured in press such as Popular Science and PC Magazine. In later Photoshop versions, Content-aware Patch, Move, and Color Adaptation were built on this technology [3].

I collaborated on the Halide project, which has been used at Adobe and Google. My collaboration on camouflage has been featured on Wired and Gizmodo, with 170,000 views on YouTube.
Research Publications (Google Scholar)
Learning to Generate Textures on 3D Meshes
Amit Raj, Cusuh Ham, Connelly Barnes, Vladimir Kim, Jingwan Lu, James Hays
CVPR Workshops: 3D WiDGET 2019
Foreground-aware Image Inpainting
Wei Xiong, Zhe Lin, Jimei Yang, Xin Lu, Connelly Barnes, Jiebo Luo
CVPR 2019
On the Continuity of Rotation Representations in Neural Networks
Yi Zhou, Connelly Barnes, Jingwan Lu, Jimei Yang, Hao Li
CVPR 2019
Texture Mixer: A Network for Controllable Synthesis and Interpolation of Texture
Ning Yu, Connelly Barnes, Eli Shechtman, Sohrab Amirghodsi, Michal Lukáč
CVPR 2019
Approximate Program Smoothing Using Mean-Variance Statistics, with Application to Procedural Shader Bandlimiting
Yuting Yang, Connelly Barnes
Eurographics 2018
Where and Who? Automatic Semantic-Aware Person Composition
Fuwen Tan, Crispin Bernier, Benjamin Cohen, Vicente Ordonez, Connelly Barnes
IEEE Winter Conference on Applications of Computer Vision (WACV) 2018
Automatic Image Defect Diagnosis
Ning Yu, Xiaohui Shen, Zhe Lin, Radomír Měch, Connelly Barnes
IEEE Winter Conference on Applications of Computer Vision (WACV) 2018
Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Recomputation in Image Processing Pipelines
Jonathan Ragan-Kelley, Andrew Adams, Dillon Sharlet, Connelly Barnes, Sylvain Paris, Marc Levoy, Saman Amarasinghe, Frédo Durand
Communications of the ACM 2018: Research Highlights
A Survey of the State-of-the-art in Patch-based Synthesis
Connelly Barnes, Fang-Lue Zhang
Computational Visual Media 2017
Stable and Controllable Neural Texture Synthesis and Style Transfer Using Histogram Losses
Eric Risser, Pierre Wilmot, Connelly Barnes
arXiv preprint, 2017
VizGen: Accelerating Visual Computing Prototypes in Dynamic Languages
Yuting Yang, Samantha Prestwood, Connelly Barnes
ACM SIGGRAPH Asia 2016
Image Perforation: Automatically Accelerating Image Pipelines by Intelligently Skipping Samples
Liming Lou, Paul Nguyen, Jason Lawrence, Connelly Barnes
ACM Transactions on Graphics 2016 (to appear at ACM SIGGRAPH 2016)
Towards Automatic Band-Limited Procedural Shaders
Jonathan Dorn, Connelly Barnes, Jason Lawrence, Westley Weimer
Pacific Graphics 2015
PatchTable: Efficient Patch Queries for Large Datasets and Applications
Connelly Barnes, Fang-Lue Zhang, Liming Lou, Xian Wu, Shi-Min Hu
ACM SIGGRAPH 2015
Synthesis of Complex Image Appearance from Limited Exemplars
Olga Diamanti, Connelly Barnes, Sylvain Paris, Eli Shechtman, Olga Sorkine-Hornung
ACM Transactions on Graphics 2015 (presented at ACM SIGGRAPH)
RealPigment: Paint Compositing by Example
Jingwan Lu, Stephen DiVerdi, Willa Chen, Connelly Barnes, Adam Finkelstein
NPAR 2014: Symposium on Non-Photorealistic Animation and Rendering
Stylized Keyframe Animation of Fluid Simulations
Mark Browning, Connelly Barnes, Samantha Ritter, Adam Finkelstein
NPAR 2014: Symposium on Non-Photorealistic Animation and Rendering
Style Transfer for Headshot Portraits
YiChang Shih, Sylvain Paris, Connelly Barnes, Frédo Durand, William Freeman
ACM SIGGRAPH 2014
DecoBrush: Drawing Structured Decorative Patterns by Example
Jingwan Lu, Connelly Barnes, Connie Wan, Adam Finkelstein, Paul Asente, Radomír Měch
ACM SIGGRAPH 2014
Camouflaging an Object from Many Viewpoints
Andrew Owens, Connelly Barnes, Alex Flint, Hanumant Singh, Bill Freeman
CVPR 2014 (oral presentation)
Patch-based High Dynamic Range Video
Nima Khademi Kalantari, Eli Shechtman, Connelly Barnes, Soheil Darabi, Dan B Goldman, Pradeep Sen
ACM SIGGRAPH Asia 2013
RealBrush: Painting with Examples of Physical Media
Jingwan Lu, Connelly Barnes, Stephen DiVerdi, Adam Finkelstein
ACM SIGGRAPH 2013
Halide: A Language and Compiler for Optimizing Parallelism, Locality and Recomputation in Image Processing Pipelines
Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand, Saman Amarasinghe
ACM PLDI 2013
Image Melding: Combining Inconsistent Images using Patch-based Synthesis
Soheil Darabi, Eli Shechtman, Connelly Barnes, Dan B Goldman, Pradeep Sen
ACM SIGGRAPH 2012
The PatchMatch Randomized Matching Algorithm for Image Manipulation
Connelly Barnes, Dan B Goldman, Eli Shechtman, Adam Finkelstein
Communications of the ACM: Research Highlights, 2011
PatchMatch: A Fast Randomized Matching Algorithm with Application to Image and Video
Connelly Barnes
Ph.D. Dissertation, Princeton University, 2011
The Generalized PatchMatch Correspondence Algorithm
Connelly Barnes, Eli Shechtman, Dan B Goldman, Adam Finkelstein
ECCV 2010
Video Tapestries with Continuous Temporal Zoom
Connelly Barnes, Dan B Goldman, Eli Shechtman, Adam Finkelstein
ACM SIGGRAPH 2010
PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing
Connelly Barnes, Eli Shechtman, Adam Finkelstein, Dan B Goldman
ACM SIGGRAPH 2009
Video Puppetry: A Performative Interface for Cutout Animation
Connelly Barnes, David E. Jacobs, Jason Sanders, Dan B Goldman, Szymon Rusinkiewicz, Adam Finkelstein, Maneesh Agrawala
ACM SIGGRAPH Asia 2008
Digital Bas-Relief from 3D Scenes
Tim Weyrich, Jia Deng, Connelly Barnes, Szymon Rusinkiewicz, Adam Finkelstein
ACM SIGGRAPH 2007
Education Publications
Enhancement of Student Learning in Experimental Design Using a Virtual Laboratory
Milo Koretsky, Danielle Amatore, Connelly Barnes, Sho Kimura
IEEE Transactions on Education, 2008
Experiential Learning of Design of Experiments Using a Virtual CVD Reactor
Milo Koretsky, Sho Kimura, Connelly Barnes, Danielle Amatore, Derek Meyers-Graham
American Society for Engineering Education Conference, 2006. Award for best paper in Chemical Engineering.
The Virtual CVD Learning Platform
Milo Koretsky, Danielle Amatore, Connelly Barnes, Sho Kimura
Frontiers in Education Conference, 2006.
ThermoSolver: An Integrated Educational Thermodynamics Software Program
Connelly Barnes
Undergraduate honors thesis, 2006. Oregon State University Library
Other Resources
My personal website includes other resources such as: