影像分割
實例分割
實例分割是帶有身分的語意分割。它不只說「這些像素是汽車」,還說「這輛是 1 號車、那輛是 2 號車、第三輛是 3 號車」,為每一個個別物體賦予自己像素級精確的遮罩。實際上它把物件偵測(找到並框出每個東西)與遮罩預測(精確描出輪廓)融合在一起。每當「計數」或「追蹤不同物體」很重要時就需要它——顯微影像中的細胞、人群中的人、輸送帶上的水果。
主流設計分三大家族。先偵測再分割(兩階段),以 Mask R-CNN 為代表:先提出物體方框,再於每個框內預測一張二值遮罩。單階段方法如 YOLACT、SOLO、SOLOv2 略過明確的提議框、直接預測遮罩,以些許準確率換取速度。以查詢為基礎的 transformer 方法如 MaskFormer 與 Mask2Former,把分割視為集合預測問題(承襲 DETR 的精神):固定數量的可學習查詢(query)各自輸出一張遮罩加一個類別,再用二分匹配(bipartite matching)將它們指派給真實物體。最後這個家族值得注意,因為同一個模型可同時做語意、實例與全景分割。
其評估方式與語意分割大不相同。由於輸出是一組分開、可能彼此重疊、各帶信賴分數的實例遮罩,度量採用遮罩平均精度(mask AP),做法是掃過一個信賴度閾值與一個遮罩 IoU 閾值(常見做法是對 0.5 到 0.95 的 IoU 取平均,即 COCO 規範)。唯有當一個預測同時類別正確、且與某真實實例的重疊高於 IoU 閾值時,才算正確。
兩個彼此重疊的人:語意分割回傳一團合併的「人」;實例分割則回傳兩張遮罩「人 1」與「人 2」,連在相接處也分得開。