1. A system for filtering, segmenting and recognizing objects, comprising: one or more processors and a memory, the memory having executable instructions encoded thereon, such that upon execution of the instructions, the one or more processors perform operations of: down sampling a three-dimensional (3D) point cloud having a plurality of data points in 3D space to generate a down-sampled 3D point cloud P with reduced data points in the 3D space; identifying and removing a ground plane in the down-sampled 3D point cloud to leave non-ground data points in the down-sampled 3D point cloud; generating a set of 3D candidate blobs by clustering the non-ground data points to generate a plurality of 3D blobs, each of the 3D blobs having a cluster size; extracting features from each 3D candidate blob, the features being vectors that represent morphological characteristics of each 3D candidate blob; and classifying at least one of the 3D candidate blobs as a pre-defined object class based on the extracted features by assigning a semantic meaning to a segmented real-world individual object.