To ensure proper use of self check-in systems, support staff were required to monitor the process and verify the items being checked in. Passengers could inadvertently—or intentionally—place unsuitable items on the conveyor belts, such as backpacks with loose straps or strollers. These items could become stuck or fall during transport, potentially causing system faults and operational delays.
The primary challenge was the development of an algorithm capable of analyzing low-resolution 3D point cloud data. The system needed to accurately identify and filter a wide range of object types, while also verifying whether passengers complied with instructions—such as placing items in trays (tubs).
Additionally, the algorithm had to detect and filter out:

Using a combination of statistical and numerical techniques, we successfully developed an algorithm to detect trays within point cloud data—our initial objective.
We achieved this by constructing an “average” tray model using a sequence of filtering functions. Incoming scans were then evaluated against this model using a composite cost function, allowing the system to determine how closely each scan matched the expected tray structure.
This approach resulted in a 98% detection rate, significantly exceeding the required 90%. One of the main challenges was handling incomplete scan data caused by high conveyor speeds, which occasionally led to partial tray edge detection.
Following tray detection, the algorithm was extended to identify non-conveyable items, including:
For strap detection, we developed a volume distribution function that analyzes object geometry across multiple directions. This enabled the system to distinguish between structured shapes (e.g., suitcases) and irregular forms (e.g., bags with straps). Notably, even suitcases with large labels were correctly differentiated from backpacks.
Detection of cylindrical, round, and upright objects was implemented using efficient geometric analysis techniques. Identifying multiple objects—especially when touching or arranged in complex configurations such as a “V” shape—proved more challenging, but was ultimately solved through advanced mathematical modeling.
C++, Python, OpenCV, PCL (Point Cloud Library), Mathematics, Machine Learning, Algorithms