機器人視覺與感知
目標偵測
目標偵測是這樣一種視覺任務:在一張影像裡把各種東西找出來,並同時說出每樣東西「是什麼」以及「在哪裡」。「在哪裡」通常畫成一個框——一個緊緊套在每個物體外面的矩形,叫做邊界框——而「是什麼」則是貼在這個框上的一個標籤,比如「人」「杯子」或「堆高機」。於是,一張廚房的照片回傳時,可能會被標上:一個框套住馬克杯、另一個框套住水壺、第三個框套住檯面上的貓,每個框都標著它的名字。
這和單純給一張圖分類不一樣。普通的影像分類只回答「這張照片裡有沒有貓,有還是沒有?」,並且假定整張圖基本上就是一樣東西。偵測更難,因為真實場景裡同時有許多物體,大小各異,有時還相互重疊或被遮住一半,系統必須把每一個都單獨定位出來。對機器人來說,這一點至關重要:機械臂沒法去抓一個只被籠統地判斷成「畫面裡某處存在」的瓶子——它需要瓶子的確切位置才能伸手去夠,而且還得把這個瓶子和旁邊的玻璃杯區分開。
現代的目標偵測器幾乎都建立在神經網路之上,靠從海量帶標註的示例影像中學習而來,著名的家族包括 YOLO、SSD 和 Faster R-CNN。對於它所考慮的每一個候選位置,網路都會預測出一個類別標籤、一個信心分數(它有多確定),以及定義那個框的四個數字。它的輸出,是對「我面前有什麼、在哪裡」這個問題逐幀、快速給出的答案,而這正是抓取、避障、計數和追蹤的起點。
倉庫機器人的攝影機看到一個貨架,回傳了三個框:「箱子,0.97」「箱子,0.95」和「人,0.88」——這就告訴機器人該到哪裡去抓、又該在哪裡停下,才不會撞到那位工人。
每個框都帶著一個標籤和一個從 0 到 1 的信心分數。
偵測是給每個物體畫一個框;它並不勾勒物體精確的輪廓——那項更精細的任務是分割。
又稱
另見