An image processing device mounted on a vehicle , comprising: a reference detecting unit configured to detect a road surface serving as a reference for detecting the height of each object, using a first map generated by using a virtual line corresponding to the road surface detected in a state where the vehicle is standing still and mapping only the pixels within a predetermined distance from the virtual line, characterized by a layer U-disparity map generating unit configured to generate a real U-disparity map where the horizontal axis indicates an actual distance and where the vertical line indicates the disparity value, wherein a point on the real U-disparity map corresponds to a point that has the same distance and the same disparity value on a disparity image, to calculate a real height of a point from the road surface on the disparity image wherein voting of the point is to be cast, to determine a layer to which the calculated real height corresponds out of plurality of layers set in advance, and to generate a layer map corresponding to the determined layer by casting vote of a preset height range on the real U-disparity map of the determined layer, and repeating the generation for a plurality of layer U-disparity maps; an aggregated region detecting unit configured to detect an aggregated region adapted to serve as a region of a cluster of disparity values equal to or larger than a predetermined threshold from the layer U-disparity maps; and a classifying unit configured to determine the object types corresponding to the respective aggregated regions based on the distribution of the aggregated regions on the layer U-disparity maps. a reference detecting unit configured to detect a road surface serving as a reference for detecting the height of each object, using a first map generated by using a virtual line corresponding to the road surface detected in a state where the vehicle is standing still and mapping only the pixels within a predetermined distance from the virtual line, characterized by a layer U-disparity map generating unit configured to generate a real U-disparity map where the horizontal axis indicates an actual distance and where the vertical line indicates the disparity value, wherein a point on the real U-disparity map corresponds to a point that has the same distance and the same disparity value on a disparity image, to calculate a real height of a point from the road surface on the disparity image wherein voting of the point is to be cast, to determine a layer to which the calculated real height corresponds out of plurality of layers set in advance, and to generate a layer map corresponding to the determined layer by casting vote of a preset height range on the real U-disparity map of the determined layer, and repeating the generation for a plurality of layer U-disparity maps; an aggregated region detecting unit configured to detect an aggregated region adapted to serve as a region of a cluster of disparity values equal to or larger than a predetermined threshold from the layer U-disparity maps; and a classifying unit configured to determine the object types corresponding to the respective aggregated regions based on the distribution of the aggregated regions on the layer U-disparity maps. <EOS>