class_docstr: Proposal regions are generated by calling this object.
  
  The :meth:`__call__` of this object outputs object detection proposals by
  applying estimated bounding box offsets
  to a set of anchors.
  
  This class takes parameters to control number of bounding boxes to
  pass to NMS and keep after NMS.
  If the paramters are negative, it uses all the bounding boxes supplied
  or keep all the bounding boxes returned by NMS.
  
  This class is used for Region Proposal Networks introduced in
  Faster R-CNN [#]_.
  
  .. [#] Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun.     Faster R-CNN: Towards Real-Time Object Detection with     Region Proposal Networks. NIPS 2015.
  
  Args:
      nms_thresh (float): Threshold value used when calling NMS.
      n_train_pre_nms (int): Number of top scored bounding boxes
          to keep before passing to NMS in train mode.
      n_train_post_nms (int): Number of top scored bounding boxes
          to keep after passing to NMS in train mode.
      n_test_pre_nms (int): Number of top scored bounding boxes
          to keep before passing to NMS in test mode.
      n_test_post_nms (int): Number of top scored bounding boxes
          to keep after passing to NMS in test mode.
      force_cpu_nms (bool): If this is :obj:`True`,
          always use NMS in CPU mode. If :obj:`False`,
          the NMS mode is selected based on the type of inputs.
      min_size (int): A paramter to determine the threshold on
          discarding bounding boxes based on their sizes.
code: def __init__(
      self,
      nms_thresh=0.7,
      n_train_pre_nms=12000,
      n_train_post_nms=2000,
      n_test_pre_nms=6000,
      n_test_post_nms=300,
      force_cpu_nms=False,
      min_size=16,
  ):
      self.nms_thresh = nms_thresh
      self.n_train_pre_nms = n_train_pre_nms
      self.n_train_post_nms = n_train_post_nms
      self.n_test_pre_nms = n_test_pre_nms
      self.n_test_post_nms = n_test_post_nms
      self.force_cpu_nms = force_cpu_nms
      self.min_size = min_size
  
file_path: chainercv/chainercv/links/model/faster_rcnn/utils/proposal_creator.py
imports: import numpy
  import chainer
  from chainer.backends import cuda
  from chainercv.links.model.faster_rcnn.utils.loc2bbox import loc2bbox
  from chainercv.utils.bbox.non_maximum_suppression import non_maximum_suppression
label_desc: Use image node_id 1 to create a new ProposalCreator object from inherited base classes: object with example: obj = ProposalCreator(nms_thresh, n_train_pre_nms, n_train_post_nms, n_test_pre_nms, n_test_post_nms, force_cpu_nms, min_size)