In Detectron2, What is a proposal?

Hi all, I’ve been using detectron2 and I was wondering what a ‘proposal’ was. Here’s where they use the term:

batch_size_per_image (int): number of proposals to sample when training

cfg.SOLVER.IMS_PER_BATCH = 2
cfg.SOLVER.BASE_LR = 0.00025  # pick a good LR
cfg.SOLVER.MAX_ITER = 300    # 300 iterations seems good enough for this toy dataset; you may need to train longer for a practical dataset
cfg.MODEL.ROI_HEADS.BATCH_SIZE_PER_IMAGE = 128   # faster, and good enough for this toy dataset (default: 512)

Many object detection algorithms (sometimes known as 2 phase detection) extract multiple patches that might contain a relevant entity. These proposals are then refined to identify the ones that actually contain an object and label that patch, etc.
I haven’t seen the code and usage within Detectron2 specifically, but it’s almost certainly that.