The robust detection of ships is one of the key techniques in coastal and marine applications of synthetic aperture radar (SAR). Conventional SAR ship detectors involved multiple parameters, which need to be estimated or determined very carefully. In this paper, we propose a new ship detection approach based on multi-scale heterogeneities under the a contrario decision framework, with a few parameters that can be easily determined. First, multi-scale heterogeneity features are extracted and fused to build a heterogeneity map, in which ships are well highlighted from backgrounds. Second, a set of reference objects are automatically selected by analyzing the saliency of local regions in the heterogeneity map and then are used to construct a null hypothesis model for the final decision. Finally, the detection results are obtained by using an a contrario decision. Experimental results on real SAR images demonstrate that the proposed method not only works more stably for ships with different sizes, but also has better performance than conventional ship detectors.