Limited processing power and memory in embedded smart camera nodes necessitate the design of light-weight algorithms for computer vision tasks. Considering the memory requirements of an algorithm and its portability to an embedded processor should be an integral part of the algorithm design in addition to the accuracy requirements. This paper presents a light-weight and efficient background modeling and foreground detection algorithm that is highly robust against lighting variations and non-static backgrounds including scenes with swaying trees, water fountains, rippling water effects and rain. Contrary to many traditional methods, the memory requirement for the data saved for each pixel is very small, and the algorithm provides very reliable results with gray-level images as well. The proposed method selectively updates the background model with an automatically adaptive rate, thus can adapt to rapid changes. As opposed to traditional methods, pixels are not always treated individually, and information about neighbors is incorporated into decision making. The algorithm differentiates between salient and non-salient motion based on the reliability or unreliability of a pixel's location, and by considering neighborhood information. The results obtained with various challenging outdoor and indoor sequences are presented, and compared with the results of different state of the art background subtraction methods. The experimental results demonstrate the success of the proposed light-weight salient foreground detection method.