objectscope.anchor_bbox_utils ============================= .. py:module:: objectscope.anchor_bbox_utils Classes ------- .. autoapisummary:: objectscope.anchor_bbox_utils.AnchorMiner Functions --------- .. autoapisummary:: objectscope.anchor_bbox_utils.boxes2wh objectscope.anchor_bbox_utils.wh2ratio objectscope.anchor_bbox_utils.best_ratio objectscope.anchor_bbox_utils.fitness objectscope.anchor_bbox_utils.best_recall objectscope.anchor_bbox_utils.estimate_clusters objectscope.anchor_bbox_utils.visualize_clusters objectscope.anchor_bbox_utils.evolve objectscope.anchor_bbox_utils.generate_cell_anchors objectscope.anchor_bbox_utils._wh2size objectscope.anchor_bbox_utils._boxes2wh objectscope.anchor_bbox_utils.get_size_ratio_fitness_score objectscope.anchor_bbox_utils.coco_annotation_to_df Module Contents --------------- .. py:function:: boxes2wh(boxes) .. py:function:: wh2ratio(wh) .. py:function:: best_ratio(ac_wh, gt_wh) .. py:function:: fitness(ac_wh, gt_wh, EDGE_RATIO_THRESHOLD=0.25) .. py:function:: best_recall(ac_wh, gt_wh, EDGE_RATIO_THRESHOLD=0.25) .. py:function:: estimate_clusters(values, num_clusters, iter=100) .. py:function:: visualize_clusters(values, centers) .. py:function:: evolve(sizes, ratios, gt_wh, iterations=10000, probability=0.9, muy=1, sigma=0.05, fit_fn=fitness, verbose=False) .. py:function:: generate_cell_anchors(sizes=(32, 64, 128, 256, 512), aspect_ratios=(0.5, 1, 2)) Generate a tensor storing canonical anchor boxes, which are all anchor boxes of different sizes and aspect_ratios centered at (0, 0). We can later build the set of anchors for a full feature map by shifting and tiling these tensors (see `meth:_grid_anchors`). :param sizes: :type sizes: tuple[float] :param aspect_ratios: :type aspect_ratios: tuple[float]] :returns: Array of shape (len(sizes) * len(aspect_ratios), 4) storing anchor boxes in XYXY format. .. py:function:: _wh2size(gt_wh) .. py:function:: _boxes2wh(boxes) .. py:function:: get_size_ratio_fitness_score(sizes, ratios, gt_wh) .. py:function:: coco_annotation_to_df(coco_annotation_file) .. py:class:: AnchorMiner(coco_annotation_file: str) Bases: :py:obj:`object` .. py:attribute:: coco_annotation_file .. py:attribute:: annotations_df .. py:method:: get_sizes_ratios(num_sizes=5, num_ratios=3) .. py:method:: tune_sizes_ratios(sizes: Union[None, List] = None, ratios: Union[None, List] = None, iterations=10000, include_fitness_score=True)