JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

是什麼、在哪裡:偵測與分割

現代機器人如何叫出場景中物體的名字、並勾出它們的精確輪廓——靠的是在數百萬張標註影像上訓練出來的深度神經網路。

從彩色像素到含義

相機交給機器人的,是一張數字網格。每個像素只說「這裡有一小塊紅褐色」——它從不會說「這一塊屬於一隻咖啡杯,杯子就放在你左邊的桌子上」。知道一個像素的顏色很容易;難而有用的,是知道這個像素屬於什麼、以及那東西在世界裡的位置。

彌合這道鴻溝,靠的是兩個密切相關的任務。一個用粗略的方框回答「是什麼、在哪裡」;另一個則逐像素地回答,給出精確的輪廓。兩者都由卷積神經網路驅動——它們已經研讀過海量的示例影像;兩者都在機器人規劃抓取或繞開障礙之前,先把它需要的標籤餵給它。

物件偵測:一個框加一個名字

物件偵測會在它認出的每樣東西外面畫一個緊貼的矩形——「邊界框」——並打上類別標籤和一個信賴度分數:「杯子,0.93」或「人,0.88」。在一次掃過影像的過程中,它就能同時找出許多物體,哪怕它們彼此重疊,並大致告訴你每個物體在畫面中的位置。

機器人幾乎總是需要這個答案的兩半。類別告訴它該怎麼做——杯子可以拿起,遇到人要停下,影子可以忽略。位置告訴它把手臂指向哪裡、或該往哪個方向轉。有標籤沒位置,只是一句傳聞;有位置沒標籤,只是一團模糊。偵測把兩者都給你,而且快到足以在即時影片上執行。

語意分割:給每個像素貼標籤

語意分割是把同一個問題推到極致:它給每一個像素都指派一個類別。你得到的不再是一個說「杯子大概在這塊裡」的方框,而是一張隨著杯柄和杯口精確勾邊的杯子形模板,周圍還填上了「桌面」和「牆」。它的輸出,是一張給場景配色的圖,每種顏色代表一個類別。

這種精確,在兩件機器人的日常工作中很值。對於抓取,精確的輪廓告訴夾爪到底哪些像素是物體、哪些是它背後的桌面,於是它能把手指落在真正的邊緣上。對於導航,「地面」與「障礙」之間像素級精準的遮罩,讓移動機器人能沿著門口或路緣的真實邊界行進,而不必繞開一個臃腫的方框。

網路是怎麼學會的——又會怎樣出錯

這兩個任務都是學出來的,不是寫死的。一個卷積神經網路讓一些小濾波器在影像上滑動;淺層對邊緣和斑塊起反應,深層把這些線索層層疊成「像把手」「像杯子」的模式。這些濾波器沒人是手工寫的——它們是被訓練塑造出來的,這正是現代深度學習的核心。

  1. 收集數百萬張影像,上面已經由人畫好了方框或塗好了像素遮罩——這就是標準答案。
  2. 把一張影像給網路看,讓它猜,再衡量它的猜測離人給的答案有多遠。
  3. 把每個濾波器都微調一點點,好讓誤差變小,然後在整個資料集上反覆這樣做很多遍。
  4. 當它在訓練中從沒見過的影像上畫出的方框和遮罩,能與人會畫的對上時,就停下來。

因為模型只知道它被展示過的東西,這套同樣的配方支撐著更廣義的機器學習——它也解釋了感知會在哪裡崩。一個在白天城市街道上訓練的模型,到了夜裡或農場可能就亂了套;訓練集裡沒有的物體,會被硬塞進最接近的熟悉類別,或者乾脆被漏掉。