自駕車要同時辨識物件類別又區分個體,該用哪種分割技術?
在自駕車影像辨識系統中,開發團隊希望模型能同時辨識每個像素所屬的物件類別(例如道路、建築、行人),又能區分出同類物件的不同個體(例如多位行人)。此時最適合採用下列哪一項電腦視覺技術?
一輛自駕車的攝影機拍到路上的畫面。開發團隊對每個像素(畫面上的每個點)有兩個要求:
- 知道這個點「屬於什麼類別」:是路面?建築?行人?
- 如果同類別有多個個體,能區分出「第幾個個體」:這個點是第 1 個行人還是第 2 個行人?
問你:哪種電腦視覺技術同時滿足這兩個要求?
一句話總結
同時要「每個像素都知道是什麼類別」又要「同類個體能分開」,答案是全景分割(Panoptic Segmentation)。它是語義分割(辨識類別)和實例分割(區分個體)的聯集,兩個任務一次解決。
先感受問題:自駕車需要兩種「知道」
假設「星駕科技」開發的自駕車在路口拍到這張畫面:
三個人,其中兩個並排走、一個在右側
一台公車停在右側
遠方有幾棵樹
自駕車需要知道兩件事:
第一種「知道」:類別層面
這片路面的每個像素都是「道路」,這棟建築的每個像素都是「建築」,這棵樹的每個像素都是「植被」。像素級別的類別標記,才能讓車子知道「我能不能走這個方向」。
第二種「知道」:個體層面
左邊這個行人是「行人 #1」,中間是「行人 #2」,右邊是「行人 #3」。如果全部標成「行人」但分不清誰是誰,車子就沒辦法追蹤每個行人的移動軌跡,也無法預測「行人 #2 要往右走了,我需要煞車」。
這兩種「知道」缺一不可,全景分割就是同時做這兩件事的技術。
其他技術為什麼各只解決一半
四種技術各自的能力範圍,以及在自駕車場景的不足之處:
- 語義分割(Semantic Segmentation)只做類別,不分個體:每個像素都被標記為「行人」,但三個行人的像素全部標成同一個顏色,無法知道誰是誰。道路、建築這類「背景型物件」標得很好,但可數個體分不清。
- 物件偵測(Object Detection)只畫框,不做像素分割:三個行人各有一個矩形框(Bounding Box),能區分個體,但框裡面的像素沒有精確的輪廓,框的邊界是矩形,不是行人的真實形狀。
- 實例分割(Instance Segmentation)只做可數個體,不管背景:三個行人各有精確的像素遮罩,能區分個體,但道路、天空、建築這類「不可數背景」沒有逐像素標記。
- 全景分割合并上面所有能力:可數個體(行人、車)逐像素分開;不可數背景(道路、建築、天空)也逐像素標類別。
- 混用技術增加推論延遲:過去工程師嘗試把語義分割和實例分割的輸出在後處理階段手動合併,結果兩套模型各跑一遍,延遲加倍,還要額外處理兩套輸出的像素衝突(同一個像素被兩個模型分別標記不同標籤),整合複雜度高、效能差。
全景分割怎麼同時做兩件事
回到「星駕科技」的路口畫面。全景分割的輸出是這樣的:
類別標籤(Category ID):道路、行人、建築、車輛、植被…
個體標籤(Instance ID):行人#1、行人#2、行人#3(背景類別只有類別標籤,沒有 ID)
處理邏輯:
- 「可數物件」(Things):行人、車輛、自行車 → 給每個個體獨立的 Instance ID,同時保留 Category ID
- 「不可數背景」(Stuff):道路、天空、建築 → 只有 Category ID,沒有 Instance ID(因為「第幾條道路」沒有意義)
星駕科技的自駕車因此同時知道:整條路面在哪(語義層)、每個行人在哪並且能追蹤(實例層)。
這就是選項 D 講的:全景分割(Panoptic Segmentation)。
技術版:全景分割的架構與 Things / Stuff 分工
本題沒有程式碼,但全景分割的架構原理值得了解。
四種分割技術的能力矩陣:
每像素類別 區分個體 背景逐像素
語義分割 ✓ ✗ ✓
實例分割 ✓ ✓ ✗
物件偵測 ✗(只框) ✓ ✗
全景分割 ✓ ✓ ✓
全景分割的核心概念:Things vs Stuff:
- Things(可數物件):行人、車、自行車、動物。可以數出「幾個」,每個個體有獨立邊界,需要 Instance ID。
- Stuff(不可數背景):道路、天空、草地、建築外牆。延伸在整個場景,沒有明確個體邊界,只需要 Category ID。
全景分割典型架構(以 Panoptic FPN 為例):
輸入影像
↓
FPN (Feature Pyramid Network) — 多尺度特徵提取
↓ ↓
Instance 分支 Semantic 分支
(Mask R-CNN 風格) (FCN 風格)
↓ ↓
每個個體的遮罩 每像素類別標籤
↓ ↓
融合(Panoptic Head)
↓
每像素 (Category ID, Instance ID)
評估指標:PQ(Panoptic Quality):
PQ = SQ × RQ
SQ(Segmentation Quality)= 正確分割的像素精確度(IoU)
RQ(Recognition Quality)= 正確辨識的個體比例(F1 Score)
PQ 同時衡量「分割得多精確」和「辨識得多完整」
代表性模型:
- Panoptic FPN(Facebook AI Research, 2019):首個端對端全景分割架構
- MaskFormer / Mask2Former:用 Transformer 統一處理 Things 和 Stuff
- OneFormer:一個模型同時支援語義、實例、全景三種分割
為什麼其他選項是錯的
A語義分割(Semantic Segmentation)
對每個像素標記它屬於哪個類別。道路的每個像素標「道路」,行人的每個像素標「行人」。
語義分割只解決了第一個要求(辨識類別),沒有解決第二個要求(區分個體)。三個行人的像素全部標成「行人」,但無法區分哪個像素屬於第幾個行人。自駕車看到三個行人全部標成同一個類別,就無法追蹤每個行人的移動方向,安全風險很高。
只記住「語義分割就是對每個像素分類」、沒注意到題目還要求「區分個體」的人。關鍵是題目同時要兩件事:類別 AND 個體區分。語義分割只給了類別。
B物件偵測(Object Detection)
在影像裡框出物件的位置,輸出矩形框(Bounding Box)加上類別標籤和信心分數。
物件偵測的輸出是矩形框,不是像素級別的分割。題目要求「辨識每個像素所屬的物件類別」,這代表需要精確的輪廓,而不只是一個矩形框。此外,物件偵測對道路、建築這類背景型物件也不適合(很難用矩形框框住整條道路)。
聽到「自駕車辨識行人車輛」就聯想到物件偵測的人。物件偵測確實是自駕車的核心技術之一,但它只做「在哪裡」(框),不做「每個點是什麼」(像素分割)。題目明確說「辨識每個像素所屬的物件類別」,這是分割任務,不是偵測任務。
C實例分割(Instance Segmentation)
對每個「可數個體」做精確的像素遮罩,三個行人各有獨立的分割輪廓,能區分個體。
實例分割解決了第二個要求(區分個體),但對背景型物件(道路、建築、天空)沒有提供逐像素分類。題目要求同時辨識「道路、建築、行人」這些類別(包含背景),只有行人、車輛這類可數個體被實例分割覆蓋到,道路和建築是背景,實例分割不處理這部分。
知道「實例分割能區分多個行人個體」的人,看到題目要求區分個體就選 C,但忽略了題目還要求「道路、建築」這類背景也要逐像素辨識。實例分割只管 Things(可數物件),不管 Stuff(不可數背景)。
同個考點下次怎麼變形
全景分割遇到行人遮擋時(一個行人擋住另一個),能正確分開嗎?
兩個行人的像素重疊區域,要怎麼決定屬於哪個 Instance ID?
這是全景分割的主要挑戰。通常處理方式:1. 以信心較高的個體優先取得遮擋區域的像素;2. 深度估計輔助(近的個體優先);3. 加入時序資訊(影片中追蹤上一幀的個體邊界)。完全重疊時準確度確實會下降,這也是為什麼自駕車通常還要搭配 LiDAR(光達)等 3D 感測器,光靠 2D 影像分割不夠。
衛星影像分析土地利用,需要全景分割嗎?
衛星影像要分辨農田、森林、建設用地,這也需要「區分個體」嗎?
通常不需要全景分割,語義分割就夠了。衛星影像土地利用分析的目標是「每個像素屬於哪種土地類型」,農田就是農田,不需要區分「第幾塊農田」。全景分割的個體區分能力在這個場景沒有意義,反而增加計算成本。只有在需要計數(例如「這個城市有多少棟建築」)時,才需要加入實例分割能力。
影片版本的全景分割(Video Panoptic Segmentation)多了什麼挑戰?
自駕車拍的是連續影片,不是單張照片,全景分割要做哪些調整?
影片版本多了「跨幀一致性」問題:行人 #1 在第 1 幀是紅色遮罩,第 2 幀也必須還是紅色遮罩(同一個 Instance ID),不能第 2 幀突然變成行人 #3。這需要多目標追蹤(Multi-Object Tracking)技術整合進來。另外,相鄰幀之間的光流(Optical Flow)資訊可以輔助分割邊界的時序平滑,避免遮罩每幀閃爍。
醫療影像(手術室場景辨識)也需要全景分割嗎?
手術機器人需要辨識器械、組織、出血區域,這個場景的需求跟自駕車一樣嗎?
是的,而且更複雜。手術場景的 Things(可數個體):多支手術器械(各自 ID 不能搞混)、縫合針、夾子。Stuff(背景):各種組織類型(肌肉、脂肪、神經、血管)、出血區域。手術機器人需要精確知道每把器械的位置(實例),也需要知道周圍組織是什麼(語義),全景分割是合適的框架。實際上已有研究將全景分割用於腹腔鏡手術影像分析。
PQ(Panoptic Quality)跟 IoU 有什麼關係?
評估分割好壞通常用 IoU,全景分割用 PQ,怎麼換算?
PQ = SQ × RQ,其中 SQ(分割品質)是所有正確匹配的個體的 IoU 平均值,RQ(辨識品質)是 F1 Score(True Positive / (TP + 0.5×FP + 0.5×FN))。IoU 衡量「單一個體分割多精確」,PQ 同時考慮「所有個體有沒有被找到(RQ)」和「找到的個體分割多精確(SQ)」。PQ 更全面,因為即使每個找到的個體 IoU 都 100%,如果漏偵測了一半個體,RQ 還是很低,PQ 也會很低。
想再往下看,這 5 個
- 影像分割(Image Segmentation)對影像中每個像素做分類,分為語義分割(按類別)和實例分割(按個體),全景分割是兩者的結合,也是本題的正解技術。
- 遮罩區域卷積網路(Mask R-CNN)在 Faster R-CNN 上加入像素遮罩分支,是實例分割的代表性架構,也是全景分割的常用骨幹網路之一。
- 物件偵測(Object Detection)在影像中定位並分類物件的任務,輸出邊界框而非像素遮罩;與分割任務的關係:偵測是「框出來」,分割是「摳出來」。
- 交並比(Intersection over Union)衡量預測遮罩與真實遮罩重疊程度的指標,全景分割的 PQ 指標計算以 IoU 為基礎,是評估分割品質的核心。
- 自動駕駛技術(Autonomous Driving)本題情境的應用場景,需同時辨識道路、建築等背景(Stuff)和行人、車輛等個體(Things),驅動了全景分割技術的發展。