Flare Algorithm to Optimize VR Video Transmission

The algorithm is developed by scientists from Indiana University in Bloomington (USA) and AT&T Labs researchers
31 October 2018   284

At the 2018 MobiCom conference, scientists from Indiana University in Bloomington (USA) and AT&T Labs researchers presented the Flare system. It's able to predict the direction of a person’s gaze while watching a streaming VR video and, based on this, show him or her only the necessary frames.

The researchers implemented the Flare prototype in the form of an Android application for smartphones that can be used as a VR helmet screen.

The resolution, and therefore the size of a 360-degree video, is four times larger than that of ordinary videos for viewing on a monitor. In addition, for a more complete immersion requires online transmission with a minimum speed of 60 frames per second. Modern wireless networks can not afford this.

The system with the help of sensors on the smartphone monitors the movement of the user's head in three dimensions. Using the linear regression method, she predicts a future trajectory a second forward, and Tikhonov’s regularization method allows Flare to “look in” even further. After that, the system calculates how much of the video should come into the person’s field of view and downloads only these frames, but with a small margin in case of an error.

Specific frames are calculated on a 4 by 6 grid. In addition to coordinates, a request to the server also contains an indication of the recording quality, determined by the number of frames and the data transfer rate.

The researchers used data from 130 volunteers who watched a dozen VR-videos for several minutes each for the training of the algorithm. Testing showed that when watching a video using an LTE connection, Flare's system helped increase the picture quality by 22%, while reducing the required network bandwidth by 35%.

Facebook to Release PyTorch 1.0

This release added support for large cloud platforms, a C ++ interface, a set of JIT compilers
10 December 2018   125

Facebook has released a stable version of the library for machine learning PyTorch 1.0. This iteration added support for large cloud platforms, a C ++ interface, a set of JIT compilers, and various improvements.

The stable version received a set of JIT compilers that eliminate the dependence of the code on the Python interpreter. The model code is transformed into Torch Script - a superstructure over Python. Keeping the opportunity to work with the model in the Python environment, the user can download it to other projects not related to this language. So, the PyTorch developers state that the code processed in this way can be used in the C ++ API.

The torch.distributed package and the torch.nn.parallel.DistributedDataParallel module are completely redesigned. torch.distributed now has better performance and works asynchronously with the Gloo, NCCL and MPI libraries.

The developers added a C ++ wrapper to PyTorch 1.0. It contains analogs of Python interface components, such astorch.nn,torch.optim, torch.data. According to the creators, the new interface should provide high performance for C ++ applications. True, the C ++ API is still experimental, but it can be used in projects now.

To improve the efficiency of working with PyTorch 1.0, a Torch Hub repository has been created, which stores pre-trained models of neural networks. You can publish your own development using the hubconf.py file, after which the model will be available for download by any user via the torch.hub.load API.

Support for C extensions and the module torch.utils.trainer were removed from the library.

Facebook released the preliminary version of PyTorch 1.0 at the beginning of October 2018, and in two months the developers brought the framework to a stable state.