Result of AcfNet
November 10, 2020 · View on GitHub
Model Info
- Note: Test on GTX1080Ti, with resolution 384x1248.
| Model Name | FLOPS | Parameters | FPS | Time(ms) |
|---|---|---|---|---|
| AcfNet(uniform) | 1080.0G | 5.227M | 1.66 | 600.8 |
| AcfNet(adaptive) | 1239.0G | 5.559M | 1.38 | 723.1 |
Experiment
hints
- batch size: n * m, n GPUs m batch/GPU
- pass: clean pass or final pass of Scene Flow dataset, default clean pass
- weight init: initialize the convolution/bn layer while training from scratch, default no initialization
- synced bn: weather use synced bn provided by apex, default False
- float16: weather use mixture precision training with level 01 provided by apex, default False
- scale loss: the loss scale factor when using apex
- time: time consuming including the training and evaluating time, in format: x h(hour) y m(minute)
- EPE: end-point-error for SceneFlow
- xPE (1PE, 2PE, 3PE, 5PE): pixel error where (GroundTruth - Estimation) <= x
- D1(all): 3PE(px) & 5% for KITTI 2015
SceneFlow
10 epoch
RMSProp, lr(10 epochs) schedule: 1-10 with lr*1
| model name | lr | batch size | weight init | synced bn | float16 | loss scale | EPE(px) | time | BaiDuYun | GoogleDrive |
|---|---|---|---|---|---|---|---|---|---|---|
| adaptive | 0.001 | 4*3 | ✗ | ✓ | ✗ | ✗ | 0.8308 | 68h18m | link, pw: qxxr | link |
| uniform | 0.001 | 4*3 | ✗ | ✓ | ✗ | ✗ | 0.8511 | 26h50m | link, pw: 9s4e | link |
Disparity Predictor Ablation
If we alternate the disparity predictor from FasterSoftArgmin to LocalSoftArgmin only for reference
| model name | predictor | 1PE | 2PE | 3PE | 5PE | EPE(px) |
|---|---|---|---|---|---|---|
| adaptive | Faster | 7.905 | 5.125 | 3.991 | 2.873 | 0.8308 |
| adaptive | Local | |||||
| uniform | Faster | 8.626 | 5.544 | 4.291 | 3.061 | 0.8511 |
| uniform | Local | 5.983 | 3.620 | 2.838 | 2.164 | 0.8216 |
Analysis
-
Little difference for
EPE, but make significant effect onxPE. -
Therefore, to get better result on KITTI, alternate the disparity predictor from
FasterSoftArgmintoLocalSoftArgmin -
LocalSoftArgminonly works when cost volume supervised with uni-modal distribution, worse result for PSMNet
20 epoch
RMSProp, lr(20 epochs) schedule: 1-20 with lr*1
| model name | lr | batch size | weight init | synced bn | float16 | loss scale | EPE(px) | time | BaiDuYun | GoogleDrive |
|---|---|---|---|---|---|---|---|---|---|---|
| adaptive | 0.001 | 4*3 | ✗ | ✓ | ✗ | ✗ | 0.7172 | 134h31m | link, pw: qxxr | link |
| uniform | 0.001 | 4*3 | ✗ | ✓ | ✗ | ✗ | 0.7440 | 56h53m | link, pw: 9s4e | link |
Disparity Predictor Ablation
If we alternate the disparity predictor from FasterSoftArgmin to LocalSoftArgmin only for reference
| model name | predictor | 1PE | 2PE | 3PE | 5PE | EPE(px) |
|---|---|---|---|---|---|---|
| adaptive | Faster | 6.918 | 4.480 | 3.485 | 2.498 | 0.7172 |
| adaptive | Local | |||||
| uniform | Faster | 7.647 | 4.917 | 4.381 | 2.693 | 0.7440 |
| uniform | Local | 5.338 | 3.232 | 2.536 | 1.927 | 0.7161 |
KITTI-2015
| model name | lr | batch size | weight init | synced bn | float16 | loss scale | D1(all) | time | BaiDuYun | GoogleDrive |
|---|---|---|---|---|---|---|---|---|---|---|
| adaptive | 0.001 | 4*3 | ✗ | ✓ | ✗ | ✗ | ||||
| uniform | 0.001 | 4*3 | ✗ | ✓ | ✗ | ✗ |
How TO
Alternate the disparity predictor from FasterSoftArgmin to LocalSoftArgmin
In config file, change
disp_predictor=dict(
# default FasterSoftArgmin
type="FASTER",
# the maximum disparity of disparity search range
max_disp=max_disp,
# the start disparity of disparity search range
start_disp=0,
# the step between near disparity sample
dilation=1,
# the temperature coefficient of soft argmin
alpha=1.0,
# whether normalize the estimated cost volume
normalize=True,
),
to
disp_predictor=dict(
# LocalSoftArgmin
type="LOCAL",
# the maximum disparity of disparity search range
max_disp=max_disp,
# the radius of window when local sampling
radius=3,
# the start disparity of disparity search range
start_disp=0,
# the step between near disparity sample
dilation=1,
# the step between near disparity index when local sampling
radius_dilation=1,
# the temperature coefficient of soft argmin
alpha=1.0,
# whether normalize the estimated cost volume
normalize=True,
),