點擊上方「計算機視覺life」,選擇「星標」
快速獲得最新乾貨
本文轉自AI公園
作者:Nathan Zhao
編譯:ronghuaiyang
在本文中,我們將討論目標檢測模型和Objectness的基礎知識。
什麼是物體檢測模型?物體檢測模型本質上,正如其名稱所示,檢測物體。這意味著給定一個圖像,它可以告訴你物體在哪裡,以及這個物體是什麼。例如,在上面的圖像中,我們有許多物體,並且使用物體檢測模型,我們已經檢測出不同的物體在圖像中的位置。
這類模型有很多應用。舉幾個例子,物體檢測在以下方面很有用:
自動駕駛汽車,可以檢測到乘客、其他車輛、紅綠燈和停車標誌。安保,模型可以探測到公共區域的槍枝或炸彈,並向附近的警察報警。總的來說,這類模型非常有用,在過去幾年裡,機器學習社區已經對它們進行了大量的研究。
物體檢測中區域建議的介紹首先,讓我們了解一下物體檢測模型是如何工作的。首先,我們必須給出一個物體的建議位置。我們把這個建議的位置稱為我們感興趣的區域,通常顯示在一個邊界框(也稱為圖像窗口)中。根據物體檢測模型的類型,我們可以通過許多不同的方式來實現這一點。
樸素方法:我們將圖像分割成多個部分,並對每個部分進行分類。這種方法效率低下是因為必須對每個生成的窗口應用分類網絡(CNN),導致計算時間長。
滑動窗口方法:我們預先確定好窗口比例(或「錨」),然後滑過圖像。對於每個窗口,我們處理它並繼續滑動。與樸素方法類似,這種方法生成的窗口較多,處理時間也比較長。
選擇性搜索:使用顏色相似度,紋理相似度,和一些其他的圖像細節,我們可以用算法將圖像分割成區域。雖然選擇性搜索算法本身是耗時的,但這使得分類網絡的應用需求較少。
區域建議網絡:我們創建一個單獨的網絡來確定圖像中感興趣的區域。這使得我們的模型工作得更快,但也使得我們最終模型的準確性依賴於多個網絡。
上面列出的這些不同選項之間有一些區別,但一般來說,當我們加快網絡的處理時間時,我們往往會犧牲模型的準確性。
區域建議機制的主要問題是,如果建議的區域不包含物體,那麼你的分類網絡也會去分類這個區域,並給出一個錯誤的標記。
那麼,什麼是Objectness?Objectness本質上是物體存在於感興趣區域內的概率的度量。如果我們Objectness很高,這意味著圖像窗口可能包含一個物體。這允許我們快速地刪除不包含任何物體的圖像窗口。
如果一幅圖像具有較高的Objectness,我們期望它具有:
例如,在上面的圖像中,我們期望紅色框具有較低的Objectness,藍色框具有中等的Objectness,綠色框具有較高的Objectness。這是因為綠色的框「緊密」地圍繞著我們的物體,而藍色的框則很鬆散,而紅色的框根本不包含任何物體。
有大量的參數影響圖像窗口的objectness。
多尺度顯著性:這本質上是對圖像窗口的外觀獨特性的度量。與整個圖像相比,框中唯一性像素的密度越高,該值就越高。
顏色對比度:框內像素與建議圖像窗口周圍區域的顏色對比度越大,該值越大。
邊緣密度:我們定義邊緣為物體的邊界,這個值是圖像窗口邊界附近的邊緣的度量值。一個有趣的算法可以找到這些邊緣:https://cv-tricks.com/opencv-dnn/edge-detection-hed/。
超像素跨越:我們定義超像素是幾乎相同顏色的像素團。如果該值很高,則框內的所有超像素只包含在其邊界內。
超像素區域以不同顏色顯示。請注意,框內的超像素大部分不會洩漏到圖像窗口之外。因此,這個「超素跨界」值將會很高。以上參數值越高,objectness越高。試著將上述參數與我們前面列出的具有高objectness的圖像的期望聯繫起來。