An algorithm to detect moving objects captured by a moving video camera is presented. The algorithm is based on detection of motion on video frames taken by a moving video camera, as well as on finding and analyzing the trajectories of moving objects. A feature of the algorithm is detection on frames of connected areas (clusters) of possible object motion. Then moving points on the detected clusters are found, and those points trajectories are built with help of the optical flow. The trajectories are used as features of moving objects. Only smooth trajectories are exploited for detection of moving objects, and the remaining ones are removed from consideration. An object is considered as moving on the current frame if it contains ends of a sufficient number of trajectories of moving points found on previous frames. The presented algorithm has a low computational complexity, which allows it to be used in real or near real time on small computers that have only a few processors of the ARM architecture without powerful parallel computing tools such as GPUs or neural network processors NPU.
Read full abstract