For this approach, we follow [1]}, i.e., we first produce a segmentation map \(S = f_\theta (I) \in [0,1]^{H \times W}\)  for the input image \(I\)  having height \(H\)  and width \(W\) .
\(S\)  is then thresholded and further processed to extract connected components.
The centroids of those components form the output localizations \(L\) .
This solution can accommodate variable-shaped objects, but segmentation annotations are usually very expensive to produce.
Here, we generate the target segmentation maps \(\hat{S} \in [0,1]^{H \times W}\)  by imposing a disc centered in the dot-annotated position.
The radius of the disc is fixed and depends on the typical object size in the dataset.
A narrow ridge separates overlapping discs.
In case of multiple object classes, the network outputs one segmentation map per class, and target generation is performed independently for each class.
An example of a target segmentation map is reported in tab:datasets.
The model is trained to minimize the weighted binary cross-entropy between pixels of the output and target maps;
more weight is assigned to more important pixels of the map, such as background ones near foreground objects.
More details of the generation procedure of segmentation targets are available in [1]}.
As in [1]}, we implement \(f_\theta \)  as a standard U-Net [4]}. In the following, we will refer to this method as S-UNet.
