1. A method of class-unsupervised object segmentation, implemented at least in part by a computing device, the method comprising: converting one or more images to grayscale; forming object shapes with object parts, there being a spatial relationship among the object parts; oversegmenting pixel images into superpixels, wherein the superpixels that are similar in color and texture are grouped into large subregions; and integrating top-down constraints and bottom-up constraints on the object shapes using an algorithm, wherein the algorithm describes a relationship among the object parts and the superpixels.