1. An image classification apparatus, comprising: a computer; and programming executable on the computer for shape classifying an input image by performing steps comprising: (a) performing subscene modeling by: (i) segmenting a training image, from an image training set, into one or more training subscenes based on an input pool of N training subscene categories; (ii) extracting a set of training subscene feature vectors for each of the subscenes corresponding to the input pool of N training subscene categories; and (iii) forming a subscene model pool comprising training subscene feature vectors for each of the input pool of N training subscene categories; (b) performing subscene recognition by: (i) segmenting the input image into a set of input subscenes; (ii) extracting shape features corresponding to each of the input subscenes to form a set of extracted subscene shape feature vectors; (iii) filtering the set of extracted subscene shape feature vectors against the subscene model pool to form a filtered output; (iv) setting a working subscene selected from the group consisting of the training subscenes, and the input subscenes; (v) dividing the working subscene into a set of divisions; and (vi) describing the working subscene by a concatenated subscene shape feature vector {right arrow over (V)} subscene =({right arrow over (V)} Top ,{right arrow over (V)} Division ) comprising: a top level feature vector {right arrow over (V)} Top ; and a division level feature vector {right arrow over (V)} Division ; (c) wherein the top level feature vector {right arrow over (V)} Top is calculated for each working subscene by performing steps comprising: (i) forming a bounding box surrounding the working subscene; (ii) detecting a set of working subscene edge points and their associated gradients within the bounding box in the luminance channel (Y domain); and (iii) calculating a 5-dimensional (5D) top level feature vector, comprising: 
 {right arrow over (V)} Top =( f Compactness ,f Horizontal ,f 45° ,f Vertical ,f 135° ), where, in the bounding box, f Compactness is calculated by f Compactness = N  X A - X B  *  Y a - Y B  , f Horizontal is a normalized number of horizontal edge points f Horizontal = N Horizontal N Normalization , f 45° normalized number of 45° edge points f 45 ⁢ ° = N 45 ⁢ ° N Normalization , f vertical is a normalized number of vertical edge points f Vertical = N Vertical N Normalization , f 135° is a normalized number of 135° edge points f 135 ⁢ ° = N 135 ⁢ ° N Normalization , and N Normalization is a normalization factor that is the larger of a length of a height or width of the bounding box N Normalization = {  X A - X B  if ⁢ ⁢  X A - X B  ≥  Y A - Y B   Y A - Y B  if ⁢ ⁢  X A - X B  <  Y A - Y B  where N denotes the total number of pixels of the working subscene in the bounding box, (X A , Y A ) denotes an upper left corner position of the bounding box; and (X B , Y B ) denotes a lower right corner position of the bounding box.