전체 글 110

Day11 학습정리

강의 복습 1. Object Detection Overview Previous Method Sliding Window Selective Search Object Detection in Deep Learning 2 stages 1 stages 2. 2 Stage Models RCNN Pipeline Selective Search를 통해 약 2000개의 RoI(Region of Interest)를 추출 RoI의 크기를 조절해 모두 동일한 사이즈 로 변형 RoI 를 CNN에 넣어, feature 를 추출 1) CNN을 통해 나온 feature를 SVM에 넣어, 분류 진행 2) CNN을 통해 나온 feature를 regression을 통해 bounding box 를 예측 Shortcomings 2000개의 Ro..

Day10 학습정리 - Image Segmentation 마무리

Image Segmentation 대회가 마무리되었다. 최종 점수는 다음과 같다. Public: LB점수 0.6625, 72등 / Private: LB 점수 0.6388, 76등 오늘 멘토링시간에 이번 프로젝트를 하면서 아쉬웠던 점을 이야기해봤는데 나를 비롯한 팀원들 모두 실험 내용 공유가 잘 안 된 것이랑 깃허브를 제대로 활용하지 못한 것을 가장 아쉬워했다. 다음 Object Detection 프로젝트 할 때에는 깃허브를 제대로 활용하기로 했다.

Day9 학습정리

프로젝트 회고 DeepLabV3 + resnext50_32x4d에 HorizontalFlip을 적용했을 때 점수가 0.5743으로 가장 좋았고 Rotate를 추가하니까 오히려 떨어졌다. 토론게시판에 올라온 loss 코드를 가져와서 Focal + Dice + SSIM loss를 사용해봤는데 점수가 약간 떨어졌다. 마지막으로 팀원들의 모델을 앙상블하여 최종 제출을 했다. 나의 최고 점수보다 거의 0.1이나 올랐다.

Day7 학습정리

프로젝트 회고 Decoder: deeplabv3+, Encoder: resnext101_32x16d / 8d / 4d 조합을 사용해봤는데 셋 다 성능이 매우 안 좋았다. 분명히 피어세션에서는 다들 이 조합을 쓰니까 점수가 잘 나왔다고 했는데 왜 나는 안 좋게 나오는지 모르겠다. Decoder: deeplabv3, Encoder: resnext101_32x4d을 사용했을땐 점수가 안 좋았는데 Encoder를 resnext50_32x4d로 바꿔보니까 괜찮게 나오는 것 같다. 내일은 여러가지 augmentation도 적용해보고 optimizer랑 loss function도 바꿔보는 등 다양한 시도를 해봐야겠다.

Day6 학습정리

프로젝트 회고 DeepLabV3+efficientnet-b3에 randomcrop을 적용하니까 성능은 2프로정도 떨어졌지만 학습시간이 줄어들었다. vertical flip을 적용해봤는데 성능이 많이 떨어졌다. DeepLabV3+resnet101을 epoch 40까지 돌려봤는데 overfitting때문인지 오히려 epoch 20까지 돌렸을때보다 성능이 떨어졌다. 오늘 피어세션에서 DeepLabV3Plus+resnext 조합을 사용했을때 결과가 좋았다는 이야기를 들어서 나도 시도해봤는데 성능이 많이 떨어졌다.

Day5 학습정리

강의 복습 1. EfficientUnet baseline segmentation을 위한 DataLoader 준비 Shape of Images : (batch, 3, height, width) Shape of targets : (batch, height, width) cv2.COLOR_BGR2RGB: OpenCV에서는 컬러 이미지를 BGR 순서로 저장하는데 matplotlib에서는 RGB 순서로 저장 255로 나눠서 0~1 사이로 정규화 DataLoader 적용 albumentations library를 활용한 transform (ToTensorV2) CustomDataLoader 적용 data_dir: image files, json file 저장된 폴더의 디렉토리 mode: train / test tr..

Day4 학습정리

강의 복습 1. U-Net Contracting Path와 Expanding Path가 대칭인 U자 형을 이룸 Contracting Path: 입력 이미지의 전반적인 특징 추출(Context 포착), 차원을 줄이는 Down-sampling 3x3 Conv - BN - ReLU 2번씩 반복 Zero-padding 적용하지 않아서 featurer map 크기 감소 Expanding Path: Localization 가능하게 함, 차원을 늘리는 Up-sampling 작업, 얕은 layer의 feature map 결합 2x2 Up-Conv 사용(Transposed Convolution) → Feature Map 크기 2배, 채널 수 1/2배 Contracting에서 얻은 Feature Map과 Concat 진행..

Day3 학습정리

프로젝트 회고 SegNet, DeepLabv1, DeepLabv2 모델을 사용해봤는데 DeepLabv2가 0.3861로 점수가 가장 높았다. 오늘 피어세션때 토론게시판에 올라온 글들을 같이 살펴봤는데 좋은 글을 발견해서 그걸 참고하여 앞으로 다음과 같은 것들을 시도해볼 예정이다. Torchvision Pretrained Weight 사용 Torchvision에서 제공하는 다른 모델들 사용 ImageNet Normalize 사용 Validation mIoU를 계산할 때 배치가 아닌 전체 데이터를 사용 Weight의 저장을 loss를 기반으로 하는게 아니라 mIoU를 기반으로 저장

Day2 학습정리

강의 복습 1. FCN의 한계점 객체의 크기가 크거나 작은 경우 예측을 잘 하지 못하는 문제 Object의 디테일한 모습이 사라지는 문제 2. Decoder를 개선한 models DeconvNet Encoder/Decoder Network가 대칭으로 이루어진 구조 Encoder Network: VGG16 사용 Decoder Network: Unpooling / Deconvolution(Transposed Convolution) / ReLU SegNet FC Layer를 모두 제거해서 파라미터의 수를 감소 Decoder 파트에서 Transposed convolution이 아닌 Convolution 사용 3. Skip Connection을 적용한 models Skip Connections: Neural ne..

Day1 학습정리

강의 복습 1. 세그멘테이션 개요 Semantic Segmentation vs Instance Segmentation 단일 객체(Single object): 이미지 분류, 위치파악 다중 객체(Multi object): 객체 탐지, 이미지 분할 활용 분야: 자율주행, 의료 등 2. 대표적인 딥러닝을 이용한 세그멘테이션 FCN VGG 네트워크 백본을 사용 (Backbone : pretrained 된 딥러닝 모델을 의미) VGG 네트워크의 FC Layer를 Convolution 으로 대체 Convolution Layer: 각 픽셀의 위치정보를 해치지 않은채로 특징 추출 Fully Connected Layer: 각 픽셀의 위치정보를 해침 1x1 Convolution을 사용할 경우 , 임의의 입력값에 대해서도 상..