1. An apparatus, comprising: an input to receive image data including at least color information and depth information for each of a plurality of pixels of an image frame; a computer processor coupled to the input, the processor to: assign pre-segmentation labels to pixels corresponding to three-dimensional (3D) spatial position clusters that satisfy a minimum cluster size; assign pre-segmentation labels to pixels corresponding to color clusters determined for those pixels that failed to satisfy the minimum 3D spatial position cluster size; determine a data cost associated with assigning a segmentation label to each of the pixels based on each pixel's depth, color, pre-segmentation label, and position relative to the nearest pixel assigned the pre-segmentation label equal to the segmentation label; determine a smoothness cost of assigning different labels to neighboring pixels as a function of the pixel depth and the pixel color relative to one or more neighboring pixels; select the segmentation label for each pixel based on a graph-cut that optimizes the data cost and smoothness cost; and output image segmentation data that maps the selected segmentation labels to the corresponding pixels of the image frame; and an electronic memory coupled to the processor to store the image segmentation data.