In principle, the key idea behind counting objects using Computer Vision-based techniques is elementary: density times area. However, objects are not localized regularly across the scene. Instead, they cluster in certain regions and are spread out in others. Another factor of complexity is represented by perspective distortions created by different camera viewpoints in various scenes, resulting in considerable variability of scales of objects. Other challenges to be considered are inter-object and intra-object occlusions, the high similarity of appearance between objects and background elements, different illuminations, and low image quality. Several machine learning-based approaches (especially supervised) have been suggested in the last years to overcome these challenges. In particular, significant improvements have been made through extensive use of dl-based strategies [1]}, especially exploiting cnns (CNNs) [2]}, a type of artificial neural network inspired by biological processes in that the connectivity pattern between neurons resembles the organization of the animal visual cortex. cnns revolutionized feature engineering and visual understanding, outperforming handcrafted models on multiple vision tasks; they were recently made feasible, mainly thanks to the availability of powerful hardware and software infrastructure, as well as the increasing size of the datasets.
This latter point is particularly crucial. The success of dl-based methods often assumes the availability of a well-labeled and representative set of training images. However, the annotation process is an extremely costly, tedious, and error-prone procedure that requires a great human effort, especially in tasks such as the counting one, where the raters (i.e., the annotators) have to manually label tens of thousands of objects, often characterized by non-trivial patterns. Furthermore, it is not only a matter of quantity of labeled data to have in place but also of quality. Training data should be error-free and cover the highest number of different scenarios and contexts to ensure that the algorithm can generalize to new data at inference time.
As a result, considering the limited labeling budget, data scarcity still represents an open problem that prevents the scalability of current dl-based solutions.
Moreover, cnn-based techniques pose non-trivial engineering challenges in their adoption mainly due to the high computational budget that drastically limits their applications in environments with limited power resources, which currently delegate complex data analysis to a centralized server.
