What is the best algorithm for image comparison in terms of speed? Problem domain - I'm implementing a home monitoring system using smart phones. At regular intervals rear camera of the phone takes images and compare them for a change detection. This change detection is done inside the android app itself. Only after a change is detected, image is sent to server.

I want to know a fast algorithm to compare two images and detect whether a significant change is occurred. I want to avoid changes due to light effects and negligible changes. So far I have come up with multiple options 
 1. Feature matching using SIFT
 2. Comparing histograms
 3. Template matching

But I'm not sure which one is more appropriate to my problem domain or whether there are better options.
I want to avoid changes due to light effects


A similarity measure based on binary descriptor can deal with this issue since it designed for multimodal images.

Also, you can try correlation coefficient since it cloud be used for real-time applications. for more information visit this page. Hence this algorithm in Matlab as a function called corr2 to find the degree of similarity between 2 images.