The code for the paper "Adaptive Vision Detection of Industrial Product Defects".
python 3.8
pytorch 1.10.10
cuda 11.2
l2l 0.1.7
- Our homemade dataset BC defetcs is placed in the dataset folder
- Our MAML dataset contains 30 different categories of industrial products, sourced from MVTec, DAGM and our own BC defects dataset. The remaining two datasets are available for download at MVTec AD:https://www.mvtec.com/company/research/datasets/mvtec-ad/๏ผ DAGM:https://hci.iwr.uni-heidelberg.de/content/weakly-supervised-learning-industrial-optical-inspection.
carpet
sidewalks
BC defects
pill
...
- Run maml.python file for maml training First remove the target task from the dataset by the following code, then set the maml related parameters
tasknames1=["cable"]
...
argparser.add_argument('--epoch', type=int, help='epoch number', default=1000)
argparser.add_argument('--meta_lr', type=float, help='meta-level outer learning rate', default=0.001)
argparser.add_argument('--fast_lr', type=float, help='task-level inner update learning rate', default=1e-5)
argparser.add_argument('--meta_bsz', type=int, help='task_batch', default=1)
argparser.add_argument('--adaptation_steps', type=int, help='inner loop iter', default=1)
argparser.add_argument('--task_num', type=int, help='meta batch size, namely task num', default=29)
argparser.add_argument('--n_way', type=int, help='n way', default=2)
1.After maml training, add in the weights for basic training to run basetrain.py, data loading and parameter settings are as follows:
argparser.add_argument('--update_step_test', type=int, help='update steps for finetunning', default=2000)
argparser.add_argument('--update_lr', type=float, help='task-level inner update learning rate', default=1e-5)
argparser.add_argument('--n_way', type=int, help='n way', default=2)
Load the training results for evaluation and display the results as a pdf file