The goal of this project was to use DCP to distribute velocity calculation of an object from video footage. This involves the detection, center point calculation, depth mapping, and velocity calculations for an object within a video.
The process followed involves sending two pre-processed video frames and their corresponding LiDAR data at consistent intervals to each worker slice. Each worker performs object detection on both frames received, and creating a bounding box to find the center point of the object within the frame. The center point is then mapped to the intensity of the corresponding pixel of the LiDAR data, and (x, y, z) coordinates for the center point of the object in each frame are determined. The distance between the pair of center point coordinates is calculated, providing the three dimensional distance between the object over time. This distance was divided by the time between each frame to determine the velocity of the object between the two frames. The final output indicates the average velocity of the detected object between each frame.
3D object tracking is highly parallelizable, and the use of DCP proved to increase efficiency of the solution as it is scaled to include larger videos. DCP allows for pairs of frames to be processed simultaneously, whereas regular processing would require each calculation to happen in succession.