liuliuOD / Selective-Search

Implement Selective Search in traditional computer vision. 手刻實作電腦圖像辨識領域中的經典算法 - Selective Search

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Selective-Search

  • This approach is used to get region proposals in Fast-RCNN.
  • for more detail

Setup

  • Windows 10
  • Python 3.6

Result

Detail

1. Selective Search uses graph-based image segmentation to get initial regions, first.
In my practice, I just used the function of graph-based image segmentation in openCV.

2. Calculate similarities between each neighboring region.

Following are 4 similarity approaches in this paper.

A. color similarity:

  In order to measure the similarity in color, this approach can measure color distribution  
  of each region.  
  Calculate color histogram of each region, than sum up the minimize interval between both  
  neighboring regions.  

  We can easily get the color similarity after merge two region by using following algorithm.

B. texture similarity:

  Similar objects have more similar texture features, so we measure the texture similarities  
  between each neighboring region to merge complete object.  
  In this paper, they use SIFT to get image textures.  
  In my practice, I used LBP instead.  

C. size similarity:

  To avoid all regions be merged by a big region.  

D. fill similarity:

  Merge the regions which has the least hole after merging.  

Following are two bounding boxes with same widths and heights, show what is the least hole.

3. Merge the highest similarity of two regions, iteratively.

About

Implement Selective Search in traditional computer vision. 手刻實作電腦圖像辨識領域中的經典算法 - Selective Search


Languages

Language:Python 100.0%