Ray casting for incremental voxel colouring O.W. Batchelor, R. Mukundan, R. Green University of Canterbury, Dept. Computer Science& Software Engineering. Email: {owb13, mukund}@cosc.canterbury.ac.nz, richard.green@canterbury.ac.nz Abstract Image based volumetric reconstruction from multiple views is an interesting challenge. Recently several methods of optimisation–based voxel colouring have appeared, which make use of incremental visibility. Culbertson et al. presented a way of determining visibility incrementally by using layered depth images as a data structure (GVC-LDI). We present an alternative algorithm which provides the same outputs. We use ray casting which is simpler and more efficient than using layered depth images. We make some simple comparisons using rasterized images and look at how it can be applied to optimisation based carving as well as level of detail. Keywords: Scene reconstruction, Voxel colouring, Visibility, Ray-tracing 1 Introduction Voxel coloring [1] and derivatives are methods for reconstructing a scene from a set of calibrated im- ages. A scene is represented by voxels, which are defined to be a unit of volume - in most cases a cube or cuboid. Voxel colouring involves traversing a voxel space from front to back with respect to a group of cameras. A voxel is declared solid . The primary characteristics of voxel colouring are its explicit handling of visibility and it’s local decision function for solidity, colour consistency. Space carving [2] introduced the idea of progres- sively carving voxels to use an intermediate model as a conservative estimate for the true scene vis- ibility information. Space carving is used to sup- port arbitrary view configurations by using a plane sweep method where a mask is used in each image behind the carving plane, to record occlusion. Generalised Voxel Colouring [3] built on this idea, extending it to support full use of all scene views throughout, with arbitrary view placement. They show two algorithms for computing visibility, the first most simple method (GVC) uses rasterization and depth buffering of surface voxels to update visibility. The second (GVC-LDI) uses layered depth images of surface voxels as a data structure. As the voxel model is updated the layered depth images are also updated. The key point is that the visibil- ity is updated incrementally and only as required. The basic GVC algorithm suffers from needless re-calculation as the algorithm becomes close to converging. We look at an extension of Generalised Voxel Colouring [3] as an alternative to using lay- ered depth images we consider a data structure of image rays, which is efficiently updated as a voxel model is carved. We make use of voxel raytracing to update voxel visibility. Voxel raytracing is a well known tech- nique and there exist algorithms for traversing var- ious structures, a regular grid [4] as we make use of here or an octree [5]. Voxel raytracing is typically used to traverse spacial subdivision structures in raytracing or collision detection, or for volumetric ray tracing. Voxel colouring has distinct advantages over sil- houette based reconstruction, it can take into ac- count ”interior” silhouettes, as well as texture in- formation. Optimisation–based colour consistency is an attempt to make better use of texture infor- mation, as threshold parameters are highly depen- dant on the scene texture. Optimisation–based colour consistency involves evaluating if a carving operation will improve some global function (e.g.. reduce reprojection error). If a carving improves the global function then the voxel is carved. This can be reduced to a local decision once again by assuming the pixels in projections of each voxel are independent. Recently two methods based on this idea have arisen, one using a framework for adding and removing voxels to attempt to improve reprojection error [6], another using a pixel centered statistical model with carving [7]. Both methods use GVC-LDI to evaluate visibility. 2 Voxel ray casting The basic idea is to use an image of rays as a data structure. The rays passing through an image plane can be sampled at discrete intervals - one