I found it interesting that all of the rendering is done server side. If you turn your phone into airplane mode, the app no longer works. I suppose it makes sense -- a server provides more flexibility in how you do the heavy lifting (is it in fact a neural network?).
It always irks me when I discover that an ’app’ for an apparently ’computational’ (and localisable) task is nothing but a client for logic that resides and runs elsewhere: it means that the idea of having a free-standing program is an illusion and that if something happens to the company the app will stop working rather than merely become abandonware.
So yes, it might make sense, but it is at some level disappointing.
Eh.. in this particular case it really makes sense to do it server-side. A beefy core i7 can take a couple of hours to do the style transfer and you ideally want a farm of GPUs to handle the client requests. Doing it client-side on the phone would absolutely drain your entire battery and take half a day or more.
They are probably using a newer approach, where they pre-train a neural network and use forward propagation only. With this technique, applying the effect can take less than one second. See https://github.com/DmitryUlyanov/texture_nets for more details. You can also try it here: http://turbo.deepart.io/
IIRC you only get to choose from a fixed set of styles to process your image, right? Then they're probably using this algorithm to precompute the style model and seriously speed up rendering: http://arxiv.org/abs/1603.08155
I am really amazed by the results on the article! Eagerly waiting for Android version! There is also one open-source lib like this https://github.com/jcjohnson/neural-style
8 comments
[ 16.9 ms ] story [ 813 ms ] threadSo yes, it might make sense, but it is at some level disappointing.
It was only a few months ago that this involved grabbing a repo off github, and working out how to process it yourself.
Now I'm seeing this stuff being posted by non-technical friends on my facebook feed.
I want to see how well the video works, as it seems that's only been solved recently.
http://arxiv.org/abs/1604.08610 https://www.youtube.com/watch?v=Uxax5EKg0zA