YI Home Camera can do many great things. Motion detection is a feature that many people rely on. When the camera detects movement (motion) in the front of the camera, the system will send a push notification to the user’s mobile phone, alerting the user that something has happened. In the meantime, the camera captures a picture, and 6s motion video to the cloud for safe record. User can look at view the alert picture and videos from the YI Home Camera alert tab. Those alerts (along with the pictures/videos) are stored in the cloud for 7 days and deleted automatically after that.
Motion detection algorithm
The camera determines that there are movements in the video, by comparing the adjacent video frames. If there are significant changed between those frames, a motion is detected.
Why 6s for the video length
This is a compromise for the alert notification delay. The longer we choose for the video, the longer the delay will be for the user to receive the notification. 6s seems a good compromise, that the alert won’t be delayed for long, while user can still see what happened.
Advanced motion detection features
More advanced motion detection features are available to different camera models, depending on the camera’s processing capabilities. Examples including, but not limited to: Detection Zone, motion sensitivity, human detection, baby crying detection.
Today, the detection zone feature, is only available to non-rotating cameras. The justification was, for rotating cameras, the viewing angle is moving around, thus the detection zone is not well defined.
Alert Reporting algorithm
One of frequently asked questions is, when does the camera reports a moving event?
Obviously, if the camera reports every movements detection, user will be notified too many times, thus consider it abusive. To avoid this, the system introduces two parameters to control when to report a motion.
The first parameter is called motion block grace period threshold.
Continuous movements are considered as a moving block. A moving block is counted as one reportable event. The system will only report once, for the whole block.
The window between the end time of the last moving block, and the start time of the next moving block, is the motion block grace period.
If the motion block grace period is longer than a pre-defined threshold, the new moving block is considered as report candidate.
The motion block grace period threshold, is set at 60s by default. It is configurable by the server.
The second parameter is called motion report minimum interval.
A report candidate will be reported, only if last report happened before the motion report minimum internal ago.
The internal is set to 10minutes by default and is configurable by the server.
Let’s use a few examples to illustrate the algorithms above.
Say, at 8:00:00am, the camera detected movement, and reported the event to the user. The movement stopped at 8:01:00am.
The second movement is detected at 8:01:30am and stopped at 8:02:00am.
The motion block grace period is 30s (between 8:01:00am and 8:01:30), which is less than the 60s threshold. This moving block is not considered as report candidate, thus will not be reported.
The third movement is detected at 8:05:00am, lasted for 30s. The grace period is 3minutes (8:02:00am to 8:05:00am), which is longer than 60s. This is a report candidate.
However, this event will not be reported. The last event report happened at 8:00:00am. This report candidate happened only 5 minutes later (8:00:00am to 8:05:00am), which is less than the 10 minutes internal.
The fourth movement is detected at 8:15:00am, lasted for 30s. This is a report candidate and will be reported.