A computer implemented method for determining whether there is a moveable object that is located in a captured scene at least a predetermined portion of a given period of time, the method comprising: receiving a plurality of feature vectors for moveable objects in a first sequence of image frames captured during the given period of time, wherein the plurality of feature vectors is received from a machine learning module trained to extract similar feature vectors for the same moveable object in different image frames; assigning an indicator having an initial value to a first feature vector extracted for a moveable object in a first image frame starting the first sequence of image frames, wherein the initial value is greater than a first threshold value, and wherein a value of the indicator greater than the first threshold value indicates that the first feature vector is alive, and a value of the indicator equal to or less than the first threshold value indicates that the first feature vector is not alive; for each image frame subsequent to the first image frame in the first sequence of image frames and captured within the given period of time from the first image frame, iteratively updating the indicator by: reducing the value of the indicator by a first amount; for each feature vector of the plurality of feature vectors for moveable objects in the image frame: determining a second amount based on a similarity between the feature vector and the first feature vector, and increasing the value of the indicator by the second amount; and on condition that the value of the indicator indicates that the first feature vector is alive upon completing the iterative updating, determining that there is a moveable object that is located in the captured scene at least the predetermined portion of the given period of time. receiving a plurality of feature vectors for moveable objects in a first sequence of image frames captured during the given period of time, wherein the plurality of feature vectors is received from a machine learning module trained to extract similar feature vectors for the same moveable object in different image frames; assigning an indicator having an initial value to a first feature vector extracted for a moveable object in a first image frame starting the first sequence of image frames, wherein the initial value is greater than a first threshold value, and wherein a value of the indicator greater than the first threshold value indicates that the first feature vector is alive, and a value of the indicator equal to or less than the first threshold value indicates that the first feature vector is not alive; for each image frame subsequent to the first image frame in the first sequence of image frames and captured within the given period of time from the first image frame, iteratively updating the indicator by: reducing the value of the indicator by a first amount; for each feature vector of the plurality of feature vectors for moveable objects in the image frame: determining a second amount based on a similarity between the feature vector and the first feature vector, and increasing the value of the indicator by the second amount; and reducing the value of the indicator by a first amount; for each feature vector of the plurality of feature vectors for moveable objects in the image frame: determining a second amount based on a similarity between the feature vector and the first feature vector, and increasing the value of the indicator by the second amount; and on condition that the value of the indicator indicates that the first feature vector is alive upon completing the iterative updating, determining that there is a moveable object that is located in the captured scene at least the predetermined portion of the given period of time.