1. An image processing apparatus comprising: means for inputting a plurality of frame images serving as video images; means for detecting, from each frame image in the plurality of frame images, a horizontal line in a three dimensional space, the horizontal line being parallel to an image plane of the respective video image; means for generating an obstacle candidate area as an image area in a vicinity of the detected horizontal line; means for tracking the obstacle candidate area in an image succeeding each frame image in the plurality of frame images, and producing a tracking result for the obstacle candidate area; means for determining, using the tracking result of three or more obstacle candidate areas, whether the three or more obstacle candidate areas belong to a plane extending in a specific direction in the three dimensional space and producing a determination result; and means for detecting an obstacle based on the determination result, wherein the means for determining includes: means for selecting a candidate area group consisting of three or more obstacle candidate areas; and means for computing a fitness between the candidate area group and a predetermined plane and evaluating whether the candidate area group belongs to the predetermined plane based on the fitness.