天天看點

【論文閱讀筆記】Deep Neural Networks for Object Detection

論文背景

  該論文釋出于2013年,此時 DNN D N N 在圖像分類任務上表現很好,但未曾在目标檢測上有建樹。在這論文之前的目标檢測多用DPM(Deformable Part-base Model,基于部件的可變形模型),DPM模型是基于精心設計的表示以及基于流體的對象分解的圖模型,利用判别圖模型去建構檢測的對象。該文章提出了一種基于多尺度推斷的網絡實作目标檢測,但後面一些解決某些問題的方案,在後續發展的網絡中已經不再使用,是以該筆記就不再詳細記錄。

簡介

目标檢測=目辨別别+目标定位 目 标 檢 測 = 目 标 識 别 + 目 标 定 位

  之前的模型都是基于分類模型之後,再進行定位操作,在本文之後,就将目标檢測作為一個回歸問題,輸出目标為一個mask(0-1編碼,非0就1)。本文中大概就是mask為1的部分就是有對象的部分。該論文的目的就是在對象分類的同時盡量定位對象。是以,本文的目的就變為了 在一張圖檔中檢測潛在的大量不同大小的對象執行個體。

  深層網絡算法可以學習比對手動精心設計的對象表示,是以使用DNN可以不用手動設計特征。

  基于DNN的回歸,網絡輸出的是一個二進制掩碼,其輸出向量大小為輸出掩碼網格的大小,為 N=d∗d N = d ∗ d ,每個輸出節點對應一個目标的網格,如圖1所示。其次,利用全圖想以及一些從該圖檢測的圖像,構造一個基于多尺度方法的模型來提高定位的準确率,如圖2所示。

【論文閱讀筆記】Deep Neural Networks for Object Detection

  該論文的網絡架構基于2012年釋出的AlexNet網絡,隻不過将最後一層Softmax層變成了回歸層。

【論文閱讀筆記】Deep Neural Networks for Object Detection

該論文釋出時的背景

  當時最先進的圖像檢測技術是基于可變形部件的模型,這種方法之後再結合訓練模型,稱為圖結構。這種模型可以看成兩部分:第一部分是劃分為部件,第二部分是訓練模型(star model)。相比較DNN這種訓練通用特征的模型,該方法需要專業知識。

  當時已經應用DNN于醫療圖像的分割技術上,但此時的DNN是用于每個像素位置的分類上。該論文提出的應用是用于局部回歸。

DNN回歸的檢測

  直覺上來說,大多數的對象對于圖像大小來說都很小, 是以在生成0-1mask的時候,網絡輸出就容易陷入“平凡解”,即将所有輸出單元都指派為1。是以,在輸出對應Ground True非零解的單元,我們基于更高的權重,以保留該結果,進而間接“懲罰”零解輸出。

通過DNN生成掩碼的精确對象定位

  使用DNN定位存在的三個問題:

  1. 單個對象掩碼不能有效地對彼此接近的歧義對象進行檢測;
  2. 模型輸出的掩碼受到限制,所生成的掩碼相對于原始圖檔較小,如輸出24*24,原始圖像為400*400,則一個掩碼像素格對應16個原始圖像像素格,這導緻不能精确進行定位;
  3. 相對于圖像中的檢測對象,圖檔顯得太大,因而檢測對象對網絡權重的影響可能不夠大,因而很難去識别。

  第一個問題通過産生多個mask解決。文中說的是5個(全圖,包含左上角的子圖,包含右上角的子圖,包含左下角的子圖,包含右下角的子圖)。通過這五個重疊的部分,我們可以減少檢測的不确定性和一些掩碼的錯誤。【其大概意思就是,在部分圖中,重疊的部分(假設是兩個對象重疊)可能會有一個對象不完整,因而網絡隻檢測了其中一個,進而解決重疊對象檢測的問題】

  第二個問題可通過兩種方式解決:(1) 将DNN定位器應用于數個不同尺寸的較大子圖上;(2) 首先推斷一些邊框應用于DNN定位器上,以改進檢測

  第三個問題,沒弄清楚。。。

DNN訓練

  該論文應用的訓練集為Pascal VOC 2007。對其中每張圖檔生成(裁剪)數千個樣本,其中 60% 60 % 個負樣本, 40% 40 % 正樣本。如果一個樣本不和任何對象的邊框相交,則為負樣本;如果一個裁剪得到的樣本有某個(些)圖像至少 80% 80 % 的區域,則為正樣本。裁剪的樣本大小需要在符合的範圍之内,因為DNN的輸入是需要resize成固定的300*300的。【後面使用卷機運算代替了全連接配接層的形式,應該就不用這樣resize了】

  訓練網絡用于定位比分類要難一些,是以我們可以先用網絡實作分類,進而得到預訓練;進而在該參數上訓練,微調得到最後的參數。(卷積層也需要訓練微調)

繼續閱讀