1)BFM檢測器能夠根據目標的形狀而不是表觀來進行檢測;
2)對錶觀信息很接近的目標(bottle,cup),BFM性能穩定。
1. Learning boundary fragments
1) 訓練模型需要的數據
訓練集(training data):用方框(bounding box)標出目標的圖片。訓練集中都是正樣本。
驗證集(validation data):訓練圖片只是被標記是否含有目標,並標出目標的矩心,但是不用框圖框出目標。驗證集中有正樣本,也有負樣本。
訓練集用於提取出邊緣片段(boundary fragment),驗證集用於驗證、提取具有辨別能力的邊緣片段。
2) 提取到的邊緣片段的綜合能力包括:
辨別能力:將目標區分於其他物體的能力;
預測能力:能夠準確的估計目標距心的位置。
3) 每一個候選的邊緣片段(candidate boundary fragment)必須滿足:
匹配能力:often可以跟正樣本的邊緣匹配成功,而且,less often能跟負樣本的邊緣匹配成功;
預測能力:在正樣本中,邊緣片段距心的位置跟實際距心的位置很接近。
圖1.判斷邊緣片段的優劣。第一行表示的是好的邊緣片段。這個邊緣片段often可以跟正樣本的邊緣匹配的很好,less often能跟負樣本匹配成功。同時,它很好地預測到距心的位置。第二行表示的是負樣本。
4) 評判邊緣片段(scoring a boundary fragment)
首先,使用Canny邊緣檢測算子得到圖片的邊緣。對於圖片的邊緣,要求比較低,不要求很perfect,有斷層、錯誤的 邊緣是允許的。
評判標準:
(公式詳情見論文)
5) 邊緣片段的選擇
候選邊緣片段的獲取:在訓練樣本上,隨機的播散seed,在每個seed上提取邊緣片段。每個seed上的邊緣片段一開始是20個像素,之後以步長30pixels進行增長,直至邊緣片段長度達到520個像素。
邊緣片段的選擇:在每個增長階段都計算其。在這個seed上選擇最小的邊緣片段,但若最小的比閾值大,則 在這個seed上不選擇邊緣片段。如此在每個seed上進行操作。
6) Codebook的創建
爲了減少codebook中數據的冗餘,對選取的邊緣片段進行凝聚聚類操作。
圖2.(a)表示候選邊緣片段的增長過程(從右至左)。(b)表示邊緣片段聚類效果,其中第一列,表 示codebook的entries。
2. Training an object detector using Boosting
爲了提高匹配成功的可信度和距心的預測能力,將邊緣片段組合起來使用。選擇在驗證集正樣本匹配效果好的邊緣片段組合成弱分類器(week detector),然後根據boosting框架,選擇在訓練集匹配效果好的弱分類,構建強分類器(strong detector)。
1) 弱分類器
一個弱分類器一般由2-3個邊緣片段組成。弱分類器需要滿足:
形狀匹配:弱分類器中的邊緣片段具有很好的邊緣匹配能力;
距心一致:弱分類器中的邊緣片段預測的距心具有一致性。
距心準確性:弱分類器預測的距心與實際的距心具有一致性。
(弱分類器的匹配效果評判規則詳見論文)
2) 強分類器
選擇在驗證集正樣本中匹配效果好,距心預測準確的弱分類器,組成強分類器。圖3.左邊表示一個由6個弱分類構成的強分類器,每個弱分類器中有兩個邊緣片段。右邊表示一個三個弱分類構成的強分類器,每個強分類器包含三個邊緣片段。
3. Object detection
圖4.從左至右,第一列表示原始圖片;第二列表示使用Canny邊緣檢測算法得到的邊緣圖片;第三列表示使用強分類器匹配的結果;第四列表示使用Houghvoting方法,計算得到距心;第五列表示對第三列圖片進行處理得到更接近目標邊緣的圖片,這個處理主要是去處像素小於30的邊緣片段,進行一定的擬合。第六列表示檢測結果,用矩形框框出目標;最後一列表示匹配效果。
4. Conclusion
BFM模型可以用於分類,具有一定的旋轉不變性,即目標旋轉之後,BFM 檢測器仍然可以檢測出物體。
圖5.BFM用於瓶子的檢測,可以發現在背景比較混亂,瓶子進行旋轉的情況,仍然能夠檢測出瓶子。