Spermatozoa motion detection and trajectory tracking algorithm based on orthogonal search

This paper presents a new algorithm for object motion detection and trajectory tracking. This method was developed as part of a machine vision system for human fertility analysis. Fertility analysis is based on the amount of spermatozoa in semen samples and their type of movement. Two approaches were tested to detect the movement of the spermatozoa, image subtraction, and optical flow. Image subtraction is a simple and fast method but it has some complications to detect individual motion when large amounts of objects are presented. The optical flow method is able to detect motion but it turns to be computationally time expensive. It does not generate a specific trajectory of each spermatozoon, and it does not detect static spermatozoa. The algorithm developed detects object motion through an orthogonal search of blocks in consecutive frames. Matching of two blocks in consecutive frames is defined by square differences. A dynamic control array is used to store the trajectory of each spermatozoon, and to deal with all the different situations in the trajectories like, new spermatozoa entering in a frame, spermatozoa leaving the frame, and spermatozoa collision. The algorithm developed turns out to be faster than the optical flow algorithm and solves the problem of the image subtraction method. It also detects static spermatozoa, and generates a motion vector for each spermatozoon that describes their trajectory.