At my internship, I participated in a project to develop a method that utilizes thermal imaging and drone technology to survey a solar panel farm and detect individual panel failures. The software of this project mainly consists of :

Which are achieved through the implementation of machine learning and computer vision techniques. Upon starting my involvement in the project, the team had already made progress in these areas, and I was tasked with implementing a tracking component.

Previously, the system had been detecting and classifying panels in each individual frame of the video. However, this approach is not efficient as it does not account for the persistence of detected objects from one frame to the next. A tracking algorithm, also known as a tracker, addresses this issue by associating detected objects between consecutive frames. There are various types of tracking algorithms available, some of which are sophisticated enough to handle occlusion and re-entering objects.

The simplest form of a tracker was implemented, it works as follows:

Given the the bounding boxes of the detected objects in a given frame F(n), the tracker calculates the center of mass (COM) of each object, it then checks if the Euclidean distance between the COM of each detected object and the COM of objects of the last frame F(n-1) is greater than a certain threshold.

As a result we have a newly generated video with the unique IDs of each panels. and also we have a list of the unique panels on which the classifier can be applied once.

Helpful References: