Photometric Stereo (PS) techniques have been developed accounting for several material and surface characteristics. While various methods have achieved high accuracy, this has come at the cost of large datasets or intricate reflectance models. Statistical PS methods attempt to estimate the normals robustly, however, they are limited to sparsely specular surfaces. In this paper, we introduce a novel Adaptive Principal Component Analysis (APCA) based PS approach that can estimate the normals of surfaces with heterogeneous reflectance properties with a minimal number of images. The proposed approach adaptively estimates the dominant reflectance characteristic at each individual pixel and solves an optimization problem to estimate the surface normals. The effectiveness of the method is validated using both simulated and real-world data comparing it against representative past methods. The ability of the proposed method to handle heterogenous reflectance was verified. The proposed method shows improvement for surfaces with dominant heterogeneous reflectance. The repeatability and applicability of the proposed method are also verified using data collected by the authors.