top of page

Spherical Clustering of users navigating in VR content



In Virtual Reality (VR) applications, understanding how users explore omnidirectional content is important to optimise content creation, develop user-centric services, or even detect disorders in medical applications. Clustering users based on their common navigation patterns is the first direction to understanding users' behaviour. However, classical clustering techniques fail to identify common paths, since they are usually focused on minimising a simple distance metric. In this paper, we argue that minimizing the distance metric does not necessarily guarantee to identify users that experience similar navigation paths in the VR domain. Therefore, we propose a graph-based method to identify clusters of users attending the same portion of the spherical content over time. The proposed solution considers the spherical geometry of the content and aims at clustering users based on the actual overlap of displayed content among users. Our method is tested on real VR user navigation patterns. Results show that our solution leads to clusters in which at least 85% of the content one user displays are shared among the other users of the same cluster.

Clique-Based clustering


Proposed algorithm


Silvia Rossi | Francesca De Simone | Pascal Frossard | Laura Toni

Code available

The proposed implementation has been made publicly available here.


Please cite our paper in your publications if it helps your research:


In this paper, we propose a novel graph-based clustering strategy able to detect meaningful clusters, i.e., a group of users consuming the same portion of a virtual reality spherical content. First, we derived a geodesic distance threshold value to reflect the similarity among users, and then we built a clique-based clustering based on this metric. In graph theory, a set of nodes that are all connected to each other is called a clique. A clique perfectly matches with our definition of a meaningful cluster: a set of users all having signifi- cant pairwise viewport overlap, thus attending a common portion of the video.

bottom of page