1-6.物件偵測
前面提到的影像分割,在模型訓練階段,有一個比較麻煩的地方待處理。
我們還記得,在更早前做影像辨識的時候,只需要將輸入圖片的名稱先編號再編碼。例如要辨識5種花朵中的第3種玫瑰,我們是先將它編號為2(從0開始編號),再將其編碼為00100,最後把這個「標記值」連同圖片放進模型訓練。
這個「標記值」的取得,在影像分割這邊可麻煩多了,在這裡稱「標記值」為ground truth,它需描繪標記出圖片裡面的各個物體邊緣輪廓。描繪邊緣輪廓線雖然有軟體可幫忙,但還是要用到不少人工手動作業,並不十分科學。
這時候,物件偵測技術也水到渠成被發展出來了。「物件偵測」(Object detection),同樣可以分類多種物體,還能統計出各類物體的數目,並且它標記的方式比影像分割簡單多了,其中最為人熟知的演算法,叫做YOLO—You Only Look Once。
圖1-6-1. YOLO模型預測圖片中不同物體,及其位置、大小。
上面的圖片是YOLO模型訓練完畢後,用程式來預測未知圖片所顯示的結果。它可以分類框選出不同物體,並大略判斷出這些物體的大小及位置。
但模型還在進行訓練的時候,框選作業是由人為手工來進行的,目的在標記資料集每張已知圖片中的物體種類、位置、大小。看的出來,設定方框是比描繪輪廓線要簡單多了。
有別於早先的技術,YOLO演算法最大的特色,就是它進行CNN運算時,只要做一次就好(You Only Look Once),後續計算的部份都是直接在特徵領域處理了,所以它的速度非常快。
這個特色讓YOLO非常適合做視訊處理,比如交通流量的調查,消費顧客人數的統計,都可得到很好的效果。