目標檢測iou loss

2021-10-06 08:58:45 字數 1589 閱讀 7563

giou loss

解決 iou loss 為1 時不優化的缺陷

增加c項,表示為**框與標籤框最小矩形

缺陷,當兩個框相交時,尤其乙個框包含另乙個的時候,退化為iou loss,收斂會變慢

直接最小化anchor和目標框之間的歸一化距離以達到更快的收斂速度

b、bgt分別是anchor、groundtrueth中心點座標,p為其歐式距離,c為其包含最小矩形對角線長度

解決giou loss 退化iou loss的情況

回歸損失在與目標框有重疊甚至有包含關係時更準確,收斂更快

a是平衡係數引數,v為衡量anchor和目標框比例一致性引數

class iouloss(nn.module):

def __init__(self,pred_mode = 'center',size_sum=true,variances=none,losstype='giou'):

super(iouloss, self).__init__()

self.size_sum = size_sum

self.pred_mode = pred_mode

self.variances = variances

self.loss = losstype

def forward(self, loc_p, loc_t,prior_data):

num = loc_p.shape[0]

if self.pred_mode == 'center':

decoded_boxes = decode(loc_p, prior_data, self.variances)

else:

decoded_boxes = loc_p

if self.loss == 'iou':

loss = torch.sum(1.0 - bbox_overlaps_iou(decoded_boxes, loc_t))

else:

if self.loss == 'giou':

loss = torch.sum(1.0 - bbox_overlaps_giou(decoded_boxes,loc_t))

else:

if self.loss == 'diou':

loss = torch.sum(1.0 - bbox_overlaps_diou(decoded_boxes,loc_t))

else:

loss = torch.sum(1.0 - bbox_overlaps_ciou(decoded_boxes, loc_t))

if self.size_sum:

loss = loss

else:

loss = loss/num

return loss

目標檢測 目標檢測通用框架總結

目標檢測框架個人總結 以下是筆記中包含的內容 目標檢測網路框架總結 yolov4中有圖 從最開始的神經網路到現在深度更深,模組更多的目標檢測深度學習神經網路,如今大致可以分為two stage detector 典型的為rcnn系列 和 one stage detector 典型為yolo系列 每個...

目標檢測入門 目標檢測基本概念

目標檢測關注影象中特定的物體目標,要求同時獲得這一目標的類別資訊和位置資訊。檢測給出的是對前景和背景的理解,需要從背景中分離出感興趣的目標,並確定這一目標的描述 類別和位置,常用檢測框表示 與影象分類的區別,目標檢測更具難度 影象分類只需要判斷輸入的影象中是否包含感興趣物體,而不需要定位具體位置 如...

運動目標檢測

目錄 檢測方法 背景模型 目標檢測 後處理 檢測方法 基於統計背景模型的運動目標檢測方法 問題 1 背景獲取 需要在場景存在運動目標的情況下獲得背景影象 2 背景擾動 背景中可以含有輕微擾動的物件,如樹枝 樹葉的搖動,擾動部分不應該被看做是前景運動目標 3 外界光照變化 一天中不同時間段光線 天氣等...