训练的分离loss设计

(03-16) 21d
这个方法本身可能不起效

实验方法

资源:
192@pengxk/TOV_mmdetection/

1、按实例分离loss

  • \color{blue}{目标: 改loss,实现不同size的目标实例用不同loss}
    --> algorithm: 根据dr修改bboxes_weight、labels_weight
  • \color{red}{Bug: mAP只有2}
    理论分析:原算法bboxes_gt, lables = filter(bboxes_gt, lables)导致大量漏检。因scale被滤掉的gt,导致其区域原本的正例被匹配为负例。
    \color{blue}{新算法: } 1)gt_valid = filter(bboxes_gt, lables)2)filter(sampling_result, gt_valid)
def get_targets(gt_inds_valid_list=None,):
        ### add by fei ##
        if gt_inds_valid_list is None:
            gt_inds_valid_list = [None for i in range(num_imgs)]
        ### add by fei ##

def _point_target_single(gt_inds_valid=None,):
        ### filter code here ##

RepPointsHead Pipline: loss() --invoke->get_target()--invoke-> _point_target_single()

  • \color{red}{Bug: mAP只有10}
    实验分析:将filter(dr=[0.25, 0.33, 0.5])的保留区间都设为全部(即不过滤),性能与之前一致。说明代码实现应该正确,可能是算法策略本身的问题。
    解决:尝试区间调参(按数量划分>>直接按\frac{1}{2}scale划分),性能上升至20+。

改进:filter改为soft方式(weight[filtered] = 0>>weight[filtered] = soft

2、按图片分离loss

原则:图片不同dr对应loss的权值,与图里目标的尺度分布有关。
要求:一张图片里的所有目标的权值处理一致,最终效果相当于给loss加了权值(pos_ins与neg_ins对应的权值都要同步修改)。\color{blue}{[TODO]}\ \color{red}{no}
Bug注意:由于两个stage(initrefine)assigner不同、匹配策略不同,造成它们输出的匹配上的(matched)proposals数量不同。


细节proposal: valid_flagsunmap_outputs==True:由于生成的anchor可能不在图片里(inside_flag==False),因此匹配前先去掉这些proposal,匹配完返回前再映射回最初的proposals。

  • mmAP 提升惊喜
  • 疑问:效果!=给loss加权值 \color{red}{???}
  • \color{red}{Bug: 区间外\ losses\_pts\_refine\ 全0},在跟loss的过程发现
    FocalLoss
    origin

    weight: 0.7098
  • 区间外losses_pts_refine全0 [Bug]

用什么区间、mean or median、什么soft_weight函数形式、...都是消融实验的问题,首先能肯定是:这是有性能提升的
而现在最需要验证的是:分离loss与FPN分层相结合,是否有效

3、FPN assigned by layers

[\color{blue}{TODO:} Here]

4、Predictor

卡住没啥进展,就会感觉抑郁


实验记录 (倒序)

Separate-instance
0.01\_2b8g epoch
1

2
...
9

10

11

12
mmAP mmAP_{s} mmAP_{m} mmAP_{l}
soft(258.5)_{(wrong)} 23.2 23.3 ... 27.9 28.1 28.0 28.5 29.6
soft(258.5)_{(3e-1)} 23.4 23.5 ... 27.9 28.2 28.2 28.6
FPN 29.4
FPN+wrong 24.0 24.3 ... 27.9 28.2 28.1 28.7 29.3

说明:1)instance:对soft_weight敏感,0.3优于0.9
2)似乎FPN与soft此消彼长 1+1<1

Separate-image
0.01\_2b8g epoch
1
2 3 4 5 6 7 8 9 10 11 12 上界
median_{(95)} 25.0 24.8 25.0 23.7 24.4 23.5 23.3 23.9 28.4 29.0
median_{(258.5)} 24.9
24.8
24.6
25.4
24.9
25.2
24.6
23.8
24.7
24.6
24.5
23.9
23.6
23.8
24.2
23.7
28.2
27.4
28.0
27.4
28.1
27.4
28.4
-
29.0
median_{(258.5)}+0.25 28.4 29.0

说明:image:对soft_weight不敏感

0.01\_2b\color{blue}{4g} epoch
1
2 3 4 5 6 7 8 9 10 11 12
\color{brown}{median_{(258.5)}} 21.7 21.7 21.7 21.1 22.2 22.0 21.4 21.7 27.0 27.3 27.3 28.0
\color{brown}{median_{(95.084)}} 21.0 21.6 21.5 21.2 21.5 24.6 24.1 23.7 27.5 27.6 27.7 28.0
mean_{(258.5)}
mean_{(114.951)} 21.1 21.1 20.7 - - - - - - - - -
min_{(258.5)}

说明:区间95比258将样本集合划分地更松散,区间95对应小目标(dr=0.5)的范围更小,猜测具有更好的区分度

AP:PR面积
mAP:某iou_thr下所有类别的AP
mmAP:所有iou_thr
\color{blue}{GPU越多,学习率设置越大}

  • 修改pth文件的epoch

  • 按图片分开算loss

  • env对了 0.5h

  • 首次功能实现 24h

  • debug 24h *n
    \color{red}{爆显存} --> 新建多个不必要的高维tensor
    \color{red}{loss\ nan} --> loss\_cls, loss\_pts\_refine同步异常变大--> num_total_samples_refine=0?
    训几轮后出\color{red}{bug} --> if None: pass

  • \color{red}{Bug: mAP只有5,依旧低的离谱}
    分析:评测代码有bug?No 依赖的模型正确导入?算法本身bug(一张图多个实例共享一个dr)?

  • 算法:

input: dr in [0.25, 0.33, 0.5]

key: 根据dr,选出对应的proposals
    [x] 从backbone传dr至head.loss
        or 计算f_map得dr
    [] label,gt_weights = filter_weights(dr, label_weights: (b, w, h), bbox_weights: (???))

key1: 算dr
    # 传dr
    # AnchorFreeHead :: BaseDenseHead.forward_train()
    # ResNet_DR.forward(x, dr) ??? dr from who
key2: for layer in 多层:



参考:
[1] 多尺度训练 web
[2] python区间 interval(1,2)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容