In this paper, we present an algorithm for the detection of local illumination changes due to shadows in real world sequences. The algorithm is designed to be able to work when camera, illumination and scene s characteristics are unknown. This feature is highly desirable for a wide range of applications, such as video production, immersive gaming, and visual surveillance. The algorithm operates as follows. First colour information is exploited, then multiple constraints from physical knowledge are embedded to define the shadow detection algorithm. Colour information is exploited by means of the RGB colour space and by means of photometric invariant features. After colour analysis, a spatio-temporal verification stage is introduced to refine the results. Experimental results show that the proposed algorithm outperforms state-of-the-art methods and can be applied on both indoor and outdoor image sequences.