Search

22.01.06: SemiSeg 코드 분석

Paper Title

Authors (Affliates) [paper][blog][code][project]
Dataset: SpaceNet6

Overall Flow

Content

Detailed Flow

Dynamic_Copy_paste

특정 클래스 (query_cat)
코드 전체 보기
# 이미지와 label을 2장 겹쳐놓은 것을 반으로 나눔 images_sup, paste_imgs = torch.chunk(images_sup, 2, dim=1) labels_sup, paste_labels = torch.chunk(labels_sup, 2, dim=1) for idx, batch in enumerate(zip(paste_labels, images_sup, labels_sup)): paste_label, image_sup, label_sup = batch
Python
복사
image_sup[0]
label_sup
paste_img[0]
paste_label
# torch.unique(paste_label) = [0,1,255] alpha = torch.zeros_like(paste_label).int() for cat in query_cat: # query_cat = [0] alpha = alpha.__or__((paste_label == cat).int()) alpha = (alpha > 0).int()
Python
복사
alpha
Tensor.__or__((condition).int()) 는 처음 보는데, bitwise 연산이라고 한다.
간단한 텐서를 정의해 실험을 해봤다.
compose_img = (1 - alpha) * image_sup + alpha * paste_img compose_label = (1 - alpha) * label_sup + alpha * paste_label ... return compose_imgs, compose_labels
Python
복사
덮어쓰기 연산.
compose_img
compose_label
즉, paste_img 에서 alpha의 하얀 부분대로 오려 image_sup에 덮어씌워 준 것이다.
SAR 영상에 적용을 해보니 상당히 난해하다.

acm: Adaptive Cutmix

UNSUPERVISED 기반이므로 어느정도 학습이 된 후 따라가야 할듯
코드: acm
코드: generate_cutmix_mask
코드: generate_cutmix
코드: update_cutmix_bank

Consistency loss

with torch.no_grad(): if acp or acm or sample: category_entropy = cal_category_confidence( preds_student_super[0].detach(), preds_student_unsup[0].detach(), labels_super, preds_teacher_unsup, num_classes ) # perform momentum update :: category_entropy = tensor([0.4116, 0.6009]) | class_momentum = 0.999 (Hyperparameter) class_criterion = class_criterion * class_momentum + category_entropy * (1 - class_momentum) ... elif sample: # True loss_consistency1 = criterion_consistency(preds_student_super[0], confid_teacher_super, output_teacher_super, class_criterion[0]) loss_consistency2 = criterion_consistency(preds_student_unsup[0], confid_teacher_unsup, output_teacher_unsup, class_criterion[0]) loss_consistency = loss_consistency1 + loss_consistency2
Python
복사
코드: cal_category_confidence