Facebook Surround360 design lands at GitHub
DIY VR cam: only US$30k
Facebook needs VR content for its Oculus Rift VR headset, so it's made good on its March promise to publish its Surround360 camera design and software.
The whole kit and caboodle has landed at GitHub. You'll need your own machinist and around US$30,000 to get started.
The company explains here that the kit isn't “a” camera: it's a circular rig of 14 cameras plus one fisheye on the bottom and two on top, with a hefty aluminium chassis to keep things stable. A global shutter keeps everything synchronised.
The two slabs of software the company released handle camera control, and rendering.
The control software runs on Ubuntu Linux 14.04 64-bit, with the PointGrey Flycapture SDK, CMake, gflags, OpenCV 3.0+ and ffmpeg as its dependencies.
The rendering software will run on Mac as well as Linux.
Facebook writes here that rendering is a challenge of no small heft: at 30 frames per second the raw feed from the camera is 120 GB per minute. That needs to be stitched together accurately, and if the Surround360 is going to be useful for content creators, it needs to run fast.
“[O]ur goal is to generate equirectangular panoramas for the left/right eyes, such that each column of pixels corresponds to a different head orientation. For a given head orientation, there are two virtual eyes spaced 6.4 cm apart (or whatever we specify), which rotate around the centre of the head. From each virtual eye, we consider a ray that goes out in the direction of the nose, and we want to know what colour the light from the real world is along that ray. That is the colour we should use for the corresponding pixel in the equirectangular image.”
That post explains that the RAW data is pipelined through a .png conversion, then each image is run through the equirectangular projection (with lens distortion correction), misalignments between individual images are corrected – and all of that's before we worry about how to deal with the top or bottom views.
Below is a video from Facebook of the camera assembly: have fun. ®