Block Shuffle: A Method for High-resolution Fast Style Transfer with Limited Memory
This work addresses a practical bottleneck for deploying Fast Style Transfer on mobile devices and personal computers, offering a plug-in solution without network modifications, but it is incremental as it builds on existing methods.
The paper tackles the memory limitation problem in high-resolution Fast Style Transfer by proposing a block shuffle method that converts high-memory tasks into multiple low-memory subtasks, enabling stylization on devices with limited memory while maintaining better image quality than existing feathering-based methods, though it is an order of magnitude slower.
Fast Style Transfer is a series of Neural Style Transfer algorithms that use feed-forward neural networks to render input images. Because of the high dimension of the output layer, these networks require much memory for computation. Therefore, for high-resolution images, most mobile devices and personal computers cannot stylize them, which greatly limits the application scenarios of Fast Style Transfer. At present, the two existing solutions are purchasing more memory and using the feathering-based method, but the former requires additional cost, and the latter has poor image quality. To solve this problem, we propose a novel image synthesis method named \emph{block shuffle}, which converts a single task with high memory consumption to multiple subtasks with low memory consumption. This method can act as a plug-in for Fast Style Transfer without any modification to the network architecture. We use the most popular Fast Style Transfer repository on GitHub as the baseline. Experiments show that the quality of high-resolution images generated by our method is better than that of the feathering-based method. Although our method is an order of magnitude slower than the baseline, it can stylize high-resolution images with limited memory, which is impossible with the baseline. The code and models will be made available on \url{https://github.com/czczup/block-shuffle}.