Boundary-Aware-PoolNet
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數據集上進行測試,暫未在其它數據集上進行測試)。
相關文章彙總:
代碼鏈接:
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的不同之處爲:
- 添加5個邊路輸出以進行Deep Supervision
- 在計算Loss時使用BCE損失、SSIM損失、IOU損失之和
除了對PoolNet的改進之外,BAPoolNet的其它實現細節和實驗細節和PoolNet保持一致。
如何實現Boundary Aware PoolNet,具體請看代碼。
BAPoolNet性能
5個邊路輸出可視化結果
視覺對比
量化對比
下表中MAE和maxF爲各方法在DUTS-TE數據集上的測試結果。
Method | Conference | Backbone | Size(MB) | MAE↓ | maxF↑ |
---|---|---|---|---|---|
CapSal | CVPR19 | ResNet-101 | - | 0.063 | 0.826 |
PiCANet | CVPR18 | ResNet-50 | 197.2 | 0.050 | 0.860 |
DGRL | CVPR18 | ResNet-50 | 646.1 | 0.049 | 0.828 |
BASNet | CVPR19 | ResNet-34 | 348.5 | 0.047 | 0.860 |
U2Net | CVPR20 | RSU | 176.3 | 0.044 | 0.873 |
CPD | CVPR19 | ResNet-50 | 183.0 | 0.043 | 0.865 |
PoolNet | CVPR19 | ResNet-50 | 260.0 | 0.040 | 0.880 |
BAPoolNet | - | ResNet-50 | 260.7 | 0.035 | 0.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):@絕版臭鹹魚
微信公衆號:@臭鹹魚
轉載請註明出處,歡迎討論和交流!