In this paper we propose a surface reconstruction method for highly noisy and non-uniform data based on minimal surface model and tensor voting method. To deal with ill-posedness, noise and/or other uncertainties in the data we processes the raw data first using tensor voting before we do surface reconstruction. The tensor voting procedure allows more global and robust communications among the data to extract coherent geometric features and saliency independent of the surface reconstruction. These extracted information will be used to preprocess the data and to guide the final surface reconstruction. Numerically the level set method is used for surface reconstruction. Our method can handle complicated topology as well as highly noisy and/or non-uniform data set. Moreover, improvements of efficiency in implementing the tensor voting method are also proposed. We demonstrate the ability of our method using synthetic and real data.