xpwen1993 / Al_surface_defect_detection

My code for Tianchi competition-Aluminum surface defect detection(held by Alibaba Cloud). My final rank is 10/2972(top 0.3%).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Al_surface_defect_detection

This includes my code for Tianchi competition: Al surface defect detection. (held by Alibaba company)

The competition is aimed at using computer vision techniques to help workers check whether their Al surface products have any defects such as spots, scratches and so on.

Season1(clasification) rank: 96/2972

What I found very useful:
  • InceptionV4(pytorch)
  • combine vote(similar to bagging)
  • good iteration steps
Just so so:
  • data augmentation(horizontal flip)
  • Ensemble(Xception, Resnet50, InveptionV3)
Decrease my test acc
  • All other augmentation. especially random rotation(0~8, the larger angle, the worse acc))

Season2(localization) rank:10/2972

What I found very useful:
  • FasterRcnn&FPN(detectron)
  • Larger resize size(960 for maskrcnn, 800 for FasterRcnn)
  • bbox vote
  • Adam instead of SGD
  • lower the thresh
Just so so:
  • Mask-Rcnn(keras tf)
  • YoloV3
  • FasterRcnn(tf)
  • Emsemble(FPN, faster-rcnn, mask-rcnn)
  • Soft-nms(since few defects have overlap)
  • bbox-vote strategy(ID, AVG, IOU_AVG)
  • Delete mini batch(since spots are super small)
  • Data augmentation( train&test scales, flip, small rotation)
Decrease my test acc:
  • my own bbox vote( similar to softer-nms, a combination of iou and confidence)
  • bbox combination ( similar to this from kaggle big bowl 2018)
  • Use larger size(1920x2560), more data augmentation(5 scales etc.)...
What I didn't have time to try:
  • SNIPER
  • Cascade-rcnn
  • maskrcnn(X152 backbone)

Possible useful links:

About

My code for Tianchi competition-Aluminum surface defect detection(held by Alibaba Cloud). My final rank is 10/2972(top 0.3%).


Languages

Language:Python 98.5%Language:Dockerfile 0.6%Language:Makefile 0.4%Language:Shell 0.4%