参考 ultralytics/models/sam/amg.py
注
このファイルはhttps://github.com/ultralytics/ultralytics/blob/main/ ultralytics/models/ sam/amg .py にあります。もし問題を見つけたら、Pull Request🛠️ を投稿して修正にご協力ください。ありがとうございました!
ultralytics.models.sam.amg.is_box_near_crop_edge(boxes, crop_box, orig_box, atol=20.0)
ボックスがクロップエッジに近いかどうかを示す真偽値tensor を返す。
ソースコード ultralytics/models/sam/amg.py
ultralytics.models.sam.amg.batch_iterator(batch_size, *args)
入力引数からデータのバッチを得る。
ソースコード ultralytics/models/sam/amg.py
ultralytics.models.sam.amg.calculate_stability_score(masks, mask_threshold, threshold_offset)
マスク・バッチの安定性スコアを計算する。
安定性スコアは、予測されたマスクのロジットを高い値で閾値処理することによって得られるバイナリマスク間のIoUである。 の間のIoU である。
備考
- 一方のマスクは常にもう一方のマスクの中に収まっている。
- torch.int64 への不要なキャストを防いでメモリを節約。
ソースコード ultralytics/models/sam/amg.py
ultralytics.models.sam.amg.build_point_grid(n_per_side)
0,1]x[0,1]の範囲の等間隔の点の2次元格子を生成する。
ソースコード ultralytics/models/sam/amg.py
ultralytics.models.sam.amg.build_all_layer_point_grids(n_per_side, n_layers, scale_per_layer)
すべてのクロップレイヤーのポイントグリッドを生成する。
ultralytics.models.sam.amg.generate_crop_boxes(im_size, n_layers, overlap_ratio)
異なるサイズのクロップボックスのリストを生成する。
各レイヤーには、第iレイヤー用に(2i)2個のボックスがある。
ソースコード ultralytics/models/sam/amg.py
ultralytics.models.sam.amg.uncrop_boxes_xyxy(boxes, crop_box)
クロップボックスのオフセットを追加してバウンディングボックスをアンクロップする。
ソースコード ultralytics/models/sam/amg.py
ultralytics.models.sam.amg.uncrop_points(points, crop_box)
クロップボックスのオフセットを追加してポイントをアンクロップする。
ソースコード ultralytics/models/sam/amg.py
ultralytics.models.sam.amg.uncrop_masks(masks, crop_box, orig_h, orig_w)
マスクを元の画像サイズにパディングしてクロップ解除する。
ソースコード ultralytics/models/sam/amg.py
ultralytics.models.sam.amg.remove_small_regions(mask, area_thresh, mode)
マスクの小さな切断部分や穴を取り除き、マスクと修正インジケータを返す。
ソースコード ultralytics/models/sam/amg.py
ultralytics.models.sam.amg.batched_mask_to_box(masks)
マスクの周りのボックスをXYXY形式で計算します。
空のマスクに対しては[0,0,0,0]を返す。入力形状 C1xC2x...xHxW の場合、出力形状は C1xC2x...x4 となる。