UnrealCV: Connecting Computer Vision to Unreal Engine
Weichao Qiu, Alan Yuille
TL;DR
The paper introduces UnrealCV, an open-source plugin that extends Unreal Engine 4 with a server–client architecture to access internal game data, control agents, and modify world properties, enabling synthetic data generation with rich ground-truth and integration with deep learning workflows. It argues that virtual worlds offer valuable, controllable environments for training, testing, and evaluating computer-vision algorithms, and demonstrates two applications: synthetic dataset generation and cross-view evaluation of a Faster-RCNN model within a controllable virtual scene. The authors detail the architecture (UE4 plugin server and external client), the vget/vset command protocol, and the system's extensibility and cross-language compatibility, highlighting both the potential and current limitations of synthetic-to-real transfer. They position UnrealCV as a bridge between the game/VR ecosystem and CV research, with open-source availability to foster community-driven expansion and richer virtual content.
Abstract
Computer graphics can not only generate synthetic images and ground truth but it also offers the possibility of constructing virtual worlds in which: (i) an agent can perceive, navigate, and take actions guided by AI algorithms, (ii) properties of the worlds can be modified (e.g., material and reflectance), (iii) physical simulations can be performed, and (iv) algorithms can be learnt and evaluated. But creating realistic virtual worlds is not easy. The game industry, however, has spent a lot of effort creating 3D worlds, which a player can interact with. So researchers can build on these resources to create virtual worlds, provided we can access and modify the internal data structures of the games. To enable this we created an open-source plugin UnrealCV (http://unrealcv.github.io) for a popular game engine Unreal Engine 4 (UE4). We show two applications: (i) a proof of concept image dataset, and (ii) linking Caffe with the virtual world to test deep network algorithms.
