Most techniques for reconstructing 3D shapes from multi-view 2D photographic images require a large number of images. In this paper, we present a new method for reconstructing 3D surfaces, represented by sets of polygons, using a small number, e.g. 10, of 2D photographic images with full prior knowledge of camera configurations. The method is automatic. Unlike most currently available silhouette-based multiview reconstruction methods, 3D surface points and surfaces are reconstructed directly from 2D edges without costly intermediate voxel reconstruction. The surfaces reconstructed by the proposed method are self-optimized. More surface points and polygons are automatically generated on highly curved parts of a surface. Experiments on computer generated objects and real physical objects were conducted to verify the method.