An image processing device comprising: an input unit configured to receive a recognized image representing an object extracted from a reference image (Ia) by clustering processing; a detecting unit configured to detect at least one surface of the object from a corresponding recognized image corresponding to the recognized image, the corresponding recognized image being on a U-disparity map of the recognized image; a calculating unit configured to calculate an angle of the at least one surface with respect to a predetermined direction; and a determining unit configured to determine, based on the at least one surface detected by the detecting unit and the angle calculated by the calculating unit, whether or not the recognized image is to be rejected, wherein the input unit is further configured to receive a distance image including the distance values corresponding to the pixels of the recognized image; and the image processing device further comprises a first generating unit configured to generate the U-disparity map from the distance image received by the input unit, characterized in that the detecting unit is configured to: identify, on the U-disparity map two first pixels where straight lines representing viewing angle directions contact the corresponding recognized image; identify, based on pixel values of pixels of two predetermined areas each including one of the two first pixels, second pixels in respective ones of the two predetermined areas; set a semicircle passing through the two second pixels; determine, based on pixel values of pixels on two line segments each joining an arbitrary pixel on the semicircle to one of the two second pixels, a pixel on the semicircle as a third pixel; and detect the at least one surface, the at least one surface each including one of two line segments each joining the third pixel to one of the two second pixels. an input unit configured to receive a recognized image representing an object extracted from a reference image (Ia) by clustering processing; a detecting unit configured to detect at least one surface of the object from a corresponding recognized image corresponding to the recognized image, the corresponding recognized image being on a U-disparity map of the recognized image; a calculating unit configured to calculate an angle of the at least one surface with respect to a predetermined direction; and a determining unit configured to determine, based on the at least one surface detected by the detecting unit and the angle calculated by the calculating unit, whether or not the recognized image is to be rejected, wherein the input unit is further configured to receive a distance image including the distance values corresponding to the pixels of the recognized image; and the image processing device further comprises a first generating unit configured to generate the U-disparity map from the distance image received by the input unit, identify, on the U-disparity map two first pixels where straight lines representing viewing angle directions contact the corresponding recognized image; identify, based on pixel values of pixels of two predetermined areas each including one of the two first pixels, second pixels in respective ones of the two predetermined areas; set a semicircle passing through the two second pixels; determine, based on pixel values of pixels on two line segments each joining an arbitrary pixel on the semicircle to one of the two second pixels, a pixel on the semicircle as a third pixel; and detect the at least one surface, the at least one surface each including one of two line segments each joining the third pixel to one of the two second pixels. <EOS>