class_docstr: FoveaBox: Beyond Anchor-based Object Detector
  https://arxiv.org/abs/1904.03797
code: def __init__(
      self,
      num_classes,
      in_channels,
      base_edge_list=(16, 32, 64, 128, 256),
      scale_ranges=(
          (8, 32),
          (16, 64),
          (32, 128),
          (64, 256),
          (128, 512),
      ),
      sigma=0.4,
      with_deform=False,
      deform_groups=4,
      **kwargs,
  ):
      self.base_edge_list = base_edge_list
      self.scale_ranges = scale_ranges
      self.sigma = sigma
      self.with_deform = with_deform
      self.deform_groups = deform_groups
      super().__init__(num_classes, in_channels, **kwargs)
  
imports: import torch
  import torch.nn
  from mmcv.cnn import ConvModule, normal_init
  from mmcv.ops import DeformConv2d
  from mmdet.core import multi_apply, multiclass_nms
  from ..builder import HEADS
  from .anchor_free_head import AnchorFreeHead
label_desc: Use image node_id 1 to create a new FoveaHead object from inherited base classes: AnchorFreeHead with example: obj = FoveaHead(num_classes, in_channels, base_edge_list, scale_ranges, sigma, with_deform, deform_groups)