智慧應用 影音
DForum0507機房
科技大勢5G

產品化物件偵測技術(一)

  • 徐宏民

物件偵測在各種訊號來源(攝影機、光達、雷達等)提供精準的感測能力,標定物件位置。法新社

在深度學習影像研究中,最時常被拿來展示的,應是「物件偵測」(object detection)技術,其目的為在給定的影像中標定出有興趣的(目標)物件,提供物件位置邊框以及類別(如人、車、單車、巴士、號誌等)。

物件偵測在各種訊號來源(攝影機、光達、雷達等)提供精準的感測能力,標定物件位置,這樣的核心技術關乎所有的智慧應用,包括ADAS、自動駕駛、安全監控、人機互動、交通控制、運動、醫學影像判斷、瑕疵檢測、AR/VR等。

跟影像分類相比,這是更具挑戰的工作,因為必須從影像或是視訊中標定出多種物件的位置。物件的尺寸可能差異甚大、被其他物件遮蔽(只能看到部分外觀),環境的光影變化(逆光、陰影),同類差異(不同品種、顏色的狗)、視角差異(平視、空照、俯角等),或是得在有限資源(耗能、時間)內完成大量物件偵測。

幾十年來電腦視覺研究試著在這關鍵的物件偵測技術上帶來突破。可以想像一下,電腦如何在由一堆影像畫素值中標定可能的物件?框列出可能位置,再逐一判斷是否有物件存在,是工程上「較容易」實現的方式。一般而言有三個主要步驟:候選區域(region proposal)計算、物件分類、以及後處理。

窮舉出所有大大小小的候選區域是不敷成本的,早期策略是參考畫面的線條、紋理等推估出可能的物件位置。例如目前還時常被使用的效率算法Selective Search,它考量了同個物件可能具有類似的顏色紋理,並使用階層的方式判斷可能物件的位置。另一個快速方式EdgeBox,則是考量邊緣的分布來標定可能的物件邊框。

在深度學習帶來突破前,都是使用低階特徵值,進行初略的推估,為了怕有缺漏,一般會使用大量(數千)的候選區域,進行接下來的物件判斷。可以想像絕對會耗費非常多的計算資源,所以這個步驟對於偵測品質以及效率至關重要。

而一系列深度學習技術的開始,則是讓候選區域的推估更加準確,因為使用了多層卷積之後更具有語意的特徵值來推估可能的物件區域,就像是考量附近的(高階)畫面特性來猜測物件的可能範圍,更加有效率以及準確,不需要「盲目」測試大量候選區域。

有了候選物件區域之後,接下來得判斷是否有特定的物件存在。在早期大都使用區域內紋理的分布做為特徵值,接著使用分離器,例如SVM,來做判斷。常有的方法有HoG,利用剃度(影像數值相鄰的差異)的量級以及變化方向來描述紋理。

另一個時常使用的方法為區域特徵值,找出小區塊內特殊點的位置,然後計算這些特殊點的編碼分布(如BoW)來最為判斷依據。這些方法看似簡單,但在十年前已經可以在某些應用領域成為實際產品,例如ADAS中的車輛偵測等。當然深度學習興起之後,採用更具有語意的特徵值來判斷特定物件,大大提升偵測效能。

至於物件偵測的評定方式,最常使用則是IoU(Intersection over Union),來計算偵測出來的物件標的和真實位置有都少重疊,所以物件邊框的位置跟類別判斷的準確度,會大大影響效能。同樣的,如果物件較小,或是稠密排列,都是物件偵測的極大挑戰。

深度學習技術崛起,利用龐大的參數,對於候選區域選取、物件判斷等都更準確,而且不再被切割為無關的執行步驟,而是端對端的一起優化,讓這些技術在今日產業應用逐漸擴展。

接下來我們要面對產品化的實際問題:直接使用開源的深度學習物件偵測演算法就可以直接做為產品?應用場域會遇到什麼問題?效能(速度、正確率)如何提升?還得收集訓練資料嗎?在新的感測器(雷達、光達)如何做物件偵測?一系列的討論,瞭解物件偵測研究成為實際產品得跨過那些陷阱。

徐宏民(Winston Hsu)現任台大資工系教授及NVIDIA AI Lab計畫主持人。哥倫比亞大學電機博士,專精於機器學習、大規模影像視訊搜尋與辨識。為訊連科技研發團隊創始成員,慧景科技(工業智能新創)共同創辦人;曾任IBM華生研究中心客座研究員、美國微軟研究院客座研究員。習慣從學術及產業界的角度檢驗技術發展的機會;十餘年產學合作及新創經驗,近年致力將深度學習技術落實到產業,並協助成立研究開發團隊。曾獲2018 IBM Research Pat Goldberg Memorial Best Paper Award 、2018偽裝人臉辨識冠軍、傑出資訊人才獎、吳大猷先生紀念獎等國內外研究獎項。