Summary
This paper proposes a post-training logit adjustment method designed specifically for long-tailed object detection. Its novelty lies in incorporating spatial location distributions directly into logit adjustment.
A brief background on logit adjustment: it is primarily used when you have an imbalanced / long-tailed training set but you care about class-balanced accuracy for inference, that is, you have a balanced test set. Suppose you have a trained model f, and you want to predict the category of input x. Normally, you do $\arg\max_y f_y(x)$, where $f_y(x)$ represents the logit for class y for input x. Logit adjustment modifies this by computing $\arg\max_y f_y(x) + \log p_{train}(y) - \log p_{test}(y)$. In short, (log) class priors are factored in at the logit level during inference.
This paper is proposing to integrate object location distribution into logit adjustment. So, it is basically replacing the $\log p$'s above with other distributions that are aware of the spatial distribution of object instances within an image. They achieve this through a multiscale box-counting method where boxes span a coarse-to-fine grid (e.g. from 2x2, 3x3 to NxN).
The authors report improved performance on LVISv1, COCO, V3Det and OpenImages.
Weaknesses
There are three major weaknesses:
1. Clarity: The paper is not well-written. Important pieces of information are not clear.
2. Substantiation of the main claim: I am not sure whether the main claim of the paper, which is incorporating spatial location distributions, is substantiated.
3. Performance comparisons: Experimental comparisons do not provide a clear indication whether we should use this technique with modern object detectors.
I explain them in detail below.
## Clarity:
- Equation 2, which actually presents the mathematical model for class-location dependence, is not explained well. There are certainly some independence assumptions among category, location and generic objectness here. Such a key expression should be explained in sufficient detail.
- L213: “generic object occurrence” -> what does this mean exactly?
- The rule to deal with rare classes (lines 321-330) is not clear to me at all. It is not clear how orange and blue dots are identified.
- Figure 1, at the point where it appears, is not understandable at all. It heavily relies on notation, which is not introduced yet. The right panel of Figure 1 is simply a fancy figure. It doesn’t convey useful/key information to the reader.
- Figure 2 is also not understandable. If the p(hat,u) on the left reflects ground-truth, how come the p(hat,u) on the right is a good prediction? Same with tiara.
- Figure 5 is not understandable. Reading the explanation in the caption and the paragraph in lines 522-528 several times, I still do not know what this figure proves.
- In general, the math notation is lousy. E.g. z_y is called a logit (L251) and z_y,u is called a “predicted proposal” (L296). It would help if the notation is made more rigorous. “Generic object occurrence” is ambiguous. Instead, defining concepts using object proposals (boxes, anchors, etc.) would be more useful.
- Usage of all \cite commands are wrong. Authors should look up how to use \citep and \citet.
- What is “pp”? Percentage points? Should have been explained in text.
## Substantiation of the main claim:
- The main claim of the paper is incorporating location information to the prior. But is there a discrepancy between train and test sets regarding location distributions? In L257, authors themselves write that object location distribution is the same in train and test sets.
- Does the box counting method really reflect the spatial location distribution of instances? I am not sure. It seems like a complicated way of counting instances. For example, it is hinted in Figure 2 that “hat” and “tiara” are objects that occur at the top portion of images. How is this location information taken into account by the box-counting method? A convincing ablation would be as follows: let’s create two classes of objects. For the first one, let all its instances be in the top part of the images, and for the second one, let all its instances be in the bottom part. Would FRACAL perform better than baseline or other detectors?
- Claims made about performance may not hold true if more modern object detectors are used (see below).
## Performance comparisons:
- SOTA comparisons are using old backbones (Resnet50, 101), therefore the performance is limited. On LVIS, the performance is around 50 AP (https://paperswithcode.com/sota/object-detection-on-lvis-v1-0-val). Methods from 2022 report 53.4 AP_b, 48.1 AP_m (Li, Mao, Girshick, He; ECCV2022). Since FRACAL is training free, it should be easy to apply it to more recent detectors and report results. This would give us a better picture on how effective the proposed method is.
- More detailed results on COCO would help, such as AP_small. Also, it should be easy to create AP_rare, AP_freq on COCO.
Questions
- Can you report AP_s, AP_m, AP_l, AP_r, AP_c, AP_f on COCO?
- Can you report results using SOTA object detectors?
- In all the papers I know, AP_box is larger than AP_mask. In your results, they are very similar to each other, and even AP_box<AP_mask in one case (Table 2). How do you explain this?
- How do you explain your assumptions in Eq2?
- Does FRACAL capture the location distribution differences when the number of instances between two classes are the same? (my second point above in the “Substantiation of the main claim”).