复现和改进Cascade Pyramid Network(CPN)时总结的经验和心得

1.由于该网络是多任务训练,分别对难检测点和易检测点进行了loss 计算,同时采用了Feature Pyramid Network(FPN)主结构(U-shape)提取特征,因此训练时间比较长,当我对该网络进行了改进时,发现完整从头训练一次需要24~26个epoch,而一个epoch就需要3个半小时,耗时特别长,因此把开始的学习率从0.0001调到了0.0005,缩短了训练时间,赶论文所迫,总共有5个对比实验要做,而且还有两个数据集。

2.在对网络训练的过程中发现,没有迁移学习的网络确实训练的epoch比迁移学习的网络epoch要多,在我的实验中,先是对CPN网络进行训练,直接迁移的是resnet50的权重,在earlystopping=5,lr=0.0005的情况下,总共只需6个epoch,相当于1个epoch就学习完成,但是在lr=0.0001的情况下,总共需要10个epoch,并且效果还没有lr=0.0005的好。

3.我对CPN进行改进用的是pytorch深度学习框架,发现容易犯的一个错误,就是在__init__函数中定义卷积模块时,一定是用几个卷积,定义几个卷积,不能说把一个3*3卷积要重复3次,就只定义一个3*3卷积,这样在forword函数中如果调用三次的话,权重就会是共享的一个3*3卷积的权重,与初衷相悖。

开了一个技术交流的公众号,里面记录一些在学习有关深度学习,推荐系统与机器学习过程中的笔记与心得,欢迎关注~

                                                                            

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: Cascade RCNN 是 Mask RCNN 和 Faster RCNN 的改进版本,它通过分级的形式提高了检测精度和速度。 与 Faster RCNN 相比,Cascade RCNN 在检测每个目标物体前,先进行多次预测,这样可以逐步缩小搜索范围,从而提高速度和准确率。 与 Mask RCNN 相比,Cascade RCNN 可以更快地对目标物体进行识别和分割,同也能提高分割精度。 因此,Cascade RCNN 是一个更快、更准确的目标检测模型,能够更好地适用于实际场景。 ### 回答2: Cascade RCNN是目标检测算法中的一种改进方法,相较于Mask RCNN和Faster RCNN,它有以下改进: 首先,Cascade RCNN引入了级联结构,通过级联多个分类器来逐步提高目标检测的准确性。具体而言,Cascade RCNN使用了三个级联的分类器,每个分类器都是在前一个分类器的基础上进行训练和改进。这种级联结构使得Cascade RCNN能够通过多个阶段的训练和筛选,逐渐剔除误检目标,提高最终的检测准确率。 其次,Cascade RCNN还引入了IoU(Intersection-over-Union)掩码融合技术,用于进一步提升检测的准确性。具体而言,当一个检测框被某个分类器接受后,该分类器将会生成一个IoU掩码,用于与下一个级联分类器进行融合。这样,级联分类器之间可以共享和利用更多的IoU信息,从而提高目标的定位和分类准确性。 此外,在训练过程中,Cascade RCNN还采用了一种动态采样策略,用于平衡正负样本之间的比例。具体而言,Cascade RCNN在每个级联分类器中根据不同的IoU阈值动态选择正负样本,使得每个分类器都能够针对不同难度的样本进行训练。这种动态采样策略有效地改善了样本不平衡问题,提高了目标检测算法的鲁棒性和泛化能力。 综上所述,Cascade RCNN相较于Mask RCNN和Faster RCNN在目标检测的准确性上进行了改进,通过引入级联结构、IoU掩码融合和动态采样策略,能够提高检测的准确率,并且适用于不同难度的场景。 ### 回答3: Cascade RCNN是一种用于目标检测的模型,它在Mask RCNN和Faster RCNN的基础上做出了一些改进。 首先,Cascade RCNN基于级联的思想,将目标检测任务分解为多个级联的子任务。它通过连续级联的检测器来提高检测器的精度。每个级联检测器都专注于解决特定的问题,如检测物体的小尺寸、难以分辨的物体以及物体之间的重叠等。 其次,Cascade RCNN引入了一种新的训练策略,即级联训练。它将输出预测结果的阈值设定为一个动态阈值,而不是固定的阈值。在级联训练中,第一个级联的检测器使用较宽松的阈值进行训练,以尽可能多地检测出目标。然后,第二个级联的检测器使用第一个级联的输出作为输入,并使用较严格的阈值进行训练,以减少误检率。通过这种级联的训练策略,Cascade RCNN能够同保持较高的召回率和较低的误检率。 另外,Cascade RCNN还引入了IoU(Intersection over Union)损失函数来进一步优化模型。IoU损失函数可以衡量检测预测框与真实框之间的相似度,通过最小化IoU损失,可以提高目标检测的准确性。 综上所述,Cascade RCNN相较于Mask RCNN和Faster RCNN的改进包括:引入级联的思想和训练策略、使用动态阈值和IoU损失函数来提高目标检测的精度。通过这些改进Cascade RCNN在目标检测任务中具有更高的准确性和鲁棒性。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值