roi_align¶
- torchvision.ops.roi_align(input: Tensor, boxes: Union[Tensor, List[Tensor]], output_size: None, spatial_scale: float = 1.0, sampling_ratio: int = - 1, aligned: bool = False) Tensor [原始碼]¶
執行感興趣區域 (RoI) 對齊運算子與平均池化,如 Mask R-CNN 中所述。
- 參數:
input (Tensor[N, C, H, W]) – 輸入張量,即具有
N
個元素的批次。每個元素包含C
個維度為H x W
的特徵圖。如果張量已量化,我們預期批次大小為N == 1
。boxes (Tensor[K, 5] 或 List[Tensor[L, 4]]) – 框坐標,格式為 (x1, y1, x2, y2),將從中提取區域。坐標必須滿足
0 <= x1 < x2
和0 <= y1 < y2
。如果傳遞單一張量,則第一欄應包含批次中對應元素的索引,即[0, N - 1]
中的數字。如果傳遞張量清單,則每個張量將對應於批次中元素 i 的框。output_size (int 或 Tuple[int, int]) – 池化執行後的輸出大小(以 bin 或像素為單位),格式為 (高度, 寬度)。
spatial_scale (float) – 將框坐標映射到輸入坐標的縮放比例因子。例如,如果您的框定義在 224x224 影像的比例上,而您的輸入是 112x112 特徵圖(由原始影像的 0.5 倍縮放產生),則您會希望將此設定為 0.5。預設值:1.0
sampling_ratio (int) – 插值網格中用於計算每個池化輸出 bin 的輸出值的採樣點數量。如果 > 0,則每個 bin 使用精確的
sampling_ratio x sampling_ratio
個採樣點。如果 <= 0,則使用自適應數量的網格點(計算為ceil(roi_width / output_width)
,高度也一樣)。預設值:-1aligned (bool) – 如果為 False,則使用舊版實作。如果為 True,則將框坐標像素位移 -0.5,以便更好地與兩個相鄰像素索引對齊。此版本用於 Detectron2
- 傳回值:
池化的 RoI。
- 傳回類型:
Tensor[K, C, output_size[0], output_size[1]]