SiamFC、RPN系列中樣本對pair(模板圖和搜索圖)生成方式

準備數據集時,需要exemplar圖和search圖(或稱爲instance圖),對應大小爲exemplar_size(比如127)和search_size(比如255)
這種處理有兩種形式


第一種,處理原始數據集階段:(參考https://github.com/STVIR/pysot/blob/master/training_dataset/vid/par_crop.py)
    對於原圖x中的目標框[cx, cy, w, h],以目標爲中心, 確定一個稍大的正方形, 邊長爲s_z,計算公式如下:
    wc_z = w + context_amount * (w+h)
    hc_z = h + context_amount * (w+h)
    s_z = np.sqrt(wc_z * hc_z)
    context_amount是預設的值,爲0.5
    定義scale_z
    scale_z = exemplar_size / s_z
    計算search圖相當於exemplar圖的pad大小
    d_search = (和search_size - exemplar_size) / 2
    得到s_x
    pad = d_search / scale_z
    s_x = s_z + 2 * pad
    總結:s_x / s_z = search_size / exemplar_size
    
    接着通過以下步驟裁剪模板圖和搜索圖:
    1.使用中心點爲cx, cy邊長爲s_z和s_x的兩個正方形,分別用來crop模板圖exemplar和搜索圖search
    crop的時候,如果正方形區域超出原圖邊界,就用像素均值填充
    2.最後分別resize到exemplar_size和search_size,
    得到exemplar圖imz, 大小爲exemplar_size * exemplar_size
    得到search圖imx,大小爲search_size * search_size
    
如果訓練時不做augmentation,使用第一種就夠了
    


第二種,在代碼中準備dataset階段:(參考https://github.com/STVIR/pysot/blob/master/pysot/datasets/dataset.py)
對於exemplar圖
    對於原圖(這個原圖就是第一種中的搜索圖imx,大小爲255)中的目標框bbox[cx, cy, w, h],以目標爲中心, 確定一個稍大的正方形, 邊長爲s_z,計算公式如下【和第一種中的計算公式一樣】:
    wc_z = w + context_amount * (w+h)
    hc_z = h + context_amount * (w+h)
    s_z = np.sqrt(wc_z * hc_z)
    context_amount是預設的值,爲0.5
    定義scale_z
    scale_z = exemplar_size / s_z
    然後要將目標框的bbox擴展到exemplar的尺度,具體計算如下:
    w_new = w*scale_z
    h_new = h*scale_z
    這樣,到這一步exemplar圖在原圖imx中的稍大點的bbox就是[cx, cy, w_new, h_new]
    總結:exemplar_size / s_z == w_new / w
    【關鍵】最後對[cx, cy, w_new, h_new]在,原圖imx做augmentation得到最終bbox爲[cx, cy, exemplar_size, exemplar_size],模板圖imz'爲用該bbox在imx中crop下的區域
    
對於search圖
      首先在exemplar圖附近幀中隨機選一幀, 所以search圖和exemplar圖的原始bbox可能不一樣
    【前面和exemplar圖的處理一樣】,也是根據exemplar_size和s_z計算scale_z,得到[cx, cy, w_new, h_new]
    只是在最後對[cx, cy, w_new, h_new]在原圖imx做augmentation的時候,目標大小是search_size,得到的搜索圖imx'是用該bbox在imx中crop下的區域

總結
    1.在第二種中,在代碼的dataset中只需要讀取搜索圖imx
    2.兩種方式中的scale_z計算方式一樣,但是用途不一樣

發佈了45 篇原創文章 · 獲贊 88 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章