In order to improve the accuracy and computational efficiency of change detection of multi-temporal remote sensing images, a change detection algorithm based on nonsubsampled contourlet transform (NSCT) and independent component analysis (ICA) is proposed. The flexibility of NSCT in image decomposition and the effectiveness of ICA in image separation are used comprehensively. Firstly, multi-scale decomposition of remote sensing images is performed by NSCT. Then the decomposed low-frequency components and high-frequency components form into partitioned vectors. ICA is carried out for the partitioned vectors and separates mutual independent components. Next the separated components are transformed into image components which include the change image. Finally, change detection result is achieved by threshold segmentation and filtering of the change image. The experimental results show that, compared with the algorithm based on ICA, the algorithm based on wavelet transform and ICA, the proposed algorithm separates change information more effectively and reduces computational complexity. The obtained change image has higher accuracy and stronger robustness to the background.