Press "Enter" to skip to content

Boundary Aware PoolNet:基于PoolNet和BASNet的显着性目标检测

Boundary Aware PoolNet = PoolNet + BASNet : Deeply supervised PoolNet using the hybrid loss in BASNet for Salient Object Detection

 

Boundary Aware PoolNet = PoolNet + BASNet,即使用BASNet中的Deep Supervision和Hybrid Loss改进PoolNet。

 

经过评估,BAPoolNet的性能超过了之前的SOTA方法(注:在DUTS-TE数据集上进行测试,暂未在其它数据集上进行测试)。

 

相关文章汇总:

 

Boundary Aware PoolNet:基于PoolNet和BASNet的显着性目标检测

 

Boundary Aware PoolNet(1):PoolNet模型与代码介绍

 

Boundary Aware PoolNet(2):BASNet模型与代码介绍

 

Boundary Aware PoolNet(3):Boundary Aware PoolNet模型与代码介绍

 

代码链接:

 

https://github.com/chouxianyu/Boundary-Aware-PoolNet

 

BAPoolNet结构

 

在PoolNet中Backbone是ResNet50时,模型自顶向下路径中有5个FUSE操作,我借鉴BASNet中的Deep Supervision和Hybrid Loss使用这5层输出的混合Loss之和进行梯度下降,我将这整个模型称为 BAPoolNet(Boundary Aware PoolNet) ,其结构如下图所示。

 

 

与PoolNet相比,BAPoolNet的不同之处为:

 

 

    1. 添加5个边路输出以进行Deep Supervision

 

    1. 在计算Loss时使用BCE损失、SSIM损失、IOU损失之和

 

 

除了对PoolNet的改进之外,BAPoolNet的其它实现细节和实验细节和PoolNet保持一致。

 

如何实现Boundary Aware PoolNet,具体请看代码。

 

BAPoolNet性能

 

5个边路输出可视化结果

 

 

视觉对比

 

 

量化对比

 

下表中MAE和maxF为各方法在DUTS-TE数据集上的测试结果。

 

MethodConferenceBackboneSize(MB)MAE↓maxF↑
CapSalCVPR19ResNet-1010.0630.826
PiCANetCVPR18ResNet-50197.20.0500.860
DGRLCVPR18ResNet-50646.10.0490.828
BASNetCVPR19ResNet-34348.50.0470.860
U2NetCVPR20RSU176.30.0440.873
CPDCVPR19ResNet-50183.00.0430.865
PoolNetCVPR19ResNet-50260.00.0400.880
BAPoolNetResNet-50260.70.0350.892

 

PR曲线

 

下图为各方法在DUTS-TE数据集上的测试结果。

 

 

F-measure曲线

 

下图为各方法在DUTS-TE数据集上的测试结果。

 

 

BAPoolNet代码

 

传送门:

PoolNet代码: https://github.com/backseason/PoolNet
BASNet代码: https://github.com/xuebinqin/BASNet
BAPoolNet代码: https://github.com/chouxianyu/Boundary-Aware-PoolNet

相比于PoolNet,BAPoolNet代码的改动之处有:

 

 

BCE Loss计算方法

设置为 reduction=mean 而非 reduction=sum ,并且用 sigmoid+BCE 代替 F.binary_cross_entropy_with_logits

 

PoolNet forward() 返回结果

PoolNet类返回了5个边路输出而非最终输出

 

整体Loss计算方法

使用Hybrid Loss和Deep Supervision计算整体Loss

 

 

模型性能评估代码(MAE、F-measure等),我参考了: https://github.com/Hanqer/Evaluate-SOD

 

除了对PoolNet的改进之外,BAPoolNet的其它实现细节和实验细节和PoolNet保持一致。

 

Coding Environments:

 

Python 3.7.3
torch 1.4.0
torchvision 0.5.0
tensorflow  2.0.0
tensorboard 2.0.2
tensorboardX 2.1
……

 

Github(github.com): @chouxianyu

 

Github Pages(github.io):@臭咸鱼

 

知乎(zhihu.com): @臭咸鱼

 

博客园(cnblogs.com): @臭咸鱼

 

B站(bilibili.com): @绝版臭咸鱼

 

微信公众号: @臭咸鱼

 

转载请注明出处,欢迎讨论和交流!

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注