PROVIDENCE, R.I. [Brown University] -- We may not be able control the weather outside, but thanks to a new algorithm being developed by Brown University computer scientists, we can control it in photographs.
The new program enables users to change a suite of "transient attributes" of outdoor photos -- the weather, time of day, season, and other features -- with simple, natural language commands. To make a sunny photo rainy, for example, just input a photo and type, "more rain." A picture taken in July can be made to look a bit more January simply by typing "more winter." All told, the algorithm can edit photos according to 40 commonly changing outdoor attributes.
The idea behind the program is to make photo editing easy for people who might not be familiar with the ins and outs of complex photo editing software.
"It's been a longstanding interest on mine to make image editing easier for non-experts," said James Hays, Manning Assistant Professor of Computer Science at Brown. "Programs like Photoshop are really powerful, but you basically need to be an artist to use them. We want anybody to be able to manipulate photographs as easily as you'd manipulate text."
A paper describing the work will be presented next week at SIGGRAPH, the world's premier computer graphics conference. The team is continuing to refine the program, and hopes to have a consumer version of the program soon. The paper is available at http://transattr.
Editing by machine learning
Changing the weather in a photo involves much more than simply turning a blue sky gray. There are subtle changes in color and contrast that happen across the entire photo -- changes that would normally require a skilled photo editor to fully replicate. This new algorithm uses machine learning to make all those subtle changes in one swoop.
To start the project, Hays and his team defined a list of transient attributes that users might want to edit. They settled on 40 attributes that range from the simple -- cloudy, sunny, snowy, rainy, or foggy -- to the subjective -- gloomy, bright, sentimental, mysterious, or calm.
The next step was to teach the algorithm what these attributes look like. To do that, the researchers compiled a database consisting of thousands of photos taken by 101 stationary webcams around the world. The cameras took pictures of the same scenes in varying of conditions -- different times of day, different seasons and in all kinds of weather. The researchers then asked workers on Mechanical Turk -- a crowdsourcing marketplace operated by Amazon -- to annotate more than 8,000 photos according to which of the 40 attributes are present in each. Those annotated photos were then fed through a machine learning algorithm.
"Now the computer has data to learn what it means to be sunset or what it means to be summer or what it means to be rainy--or at least what it means to be perceived as being those things," Hays explained.
Armed with the knowledge of what each attribute looks like, the algorithm can apply that knowledge to new photos. It does so by making what Hays refers to as "local color transforms." It splits the picture into regions -- clusters of pixels -- and draws on the database to determine how colors in those regions should change with a given attribute.
"If you wanted to make a picture rainier, the computer would know that parts of the picture that look like sky need to become grayer and flatter," Hays explained. "In regions that look like ground, the colors become shinier and more saturated. It does this for hundreds of different regions in the photo."
The results are pretty convincing. In a lab study, the researchers asked participants to rate the manipulated photos on how well they expressed given attributes. The participants preferred the new results around 70 percent of the time compared to the output of traditional approaches to automated editing that make more uniform color changes across the entire photo.
There are limitations to what the program can do at this point, however. It can't reproduce attributes that require new structures to be added to the photo. "We can't turn winter into summer generally, because that would involve adding structure--putting grass where there's snow," Hays said. "We can't synthesize that detail at this point."
Nonetheless, Hays says he's pleased that advances in his field of computer vision have helped to make this kind of application possible.
"To be able to manipulate an image better, you need to be able to understand the image better -- to understand the material objects in the image and the boundaries of those objects," he said. "All the progress in computer vision helps us do these things, and enables this progress in image editing."
The research was supported by the Intelligence Advanced Research Projects Activity (IARPA) via Air Force Research Laboratory, contract FA8650-12-C-7212, and the National Science Foundation.