# "I don't even see the top" solution | .776/.733

1st - 2D fast candidates finder trained on provided positives only:
[BYU myUNet2D ResNet34 512](https://www.kaggle.com/code/sacuscreed/byu-myunet2d-resnet34-512)
[BYU myUNet2D ResNet34 640](https://www.kaggle.com/code/sacuscreed/byu-myunet2d-640)
[BYU myUNet2D ResNet18 512](https://www.kaggle.com/code/sacuscreed/byu-myunet2d-512/notebook)
Five fold CV of two ResNet34UNet trained with 640 and 512 patches and one ResNet18UNet trained with 512 patches. So 15 2D models total.
2nd - Obtaining FP as out-of-threshold predictions:
[BYU_myUNet2D_FP](https://www.kaggle.com/code/sacuscreed/byu-myunet2d-fp)
3rd - Final TP/FP 2.5D discrimination:
[BYU myDepthwiseDisc 32x64x64](https://www.kaggle.com/code/sacuscreed/byu-mydepthwisedisc-32x64x64)
[BYU myViTDisc 64x128x128](https://www.kaggle.com/code/sacuscreed/byu-myvitdisc-64x128x128)
[BYU myGRUDisc 64x128x128](https://www.kaggle.com/code/sacuscreed/byu-mygrudisc-64x128x128)
Again five folds of each, but GRU inclusion droped performance. So 10 2.5D models total. The trick here was supposed to be extrapolate voxel spacings from predicted 2D masks and resize samples to a reference of 13.1 (the most populated voxel spacing in train). Even a rough aproximation would work if mask could catch at least ROI properly.
Submission:
[512 BYU General Submission](https://www.kaggle.com/code/sacuscreed/512-byu-general-submission)
Based on
[Speed up inference](https://www.kaggle.com/code/junkoda/speed-up-inference)
from
[@junkoda](https://www.kaggle.com/junkoda)
, thank you very much.
Final thoughs:
May be I should stick with most of public solutions and used YOLO.