네이버 부스트캠프 학습 정리/4주차 6

[CV basic] Object Detection

R-CNN Object Detection 분야에 최초로 딥러닝 기법을 적용한 모델. 전체 태스크를 다음의 두 단계로 나눠 2-stage Detector라고 한다. 1. 물체 위치를 찾는 Region proposal 2. 물체를 분류하는 Region Classfication 입력 이미지에서 bounding box를 만들어 내고 해당 부분에 대해 extract region proposal를 진행한다. 이후 박스 크기를 고정값으로 Warped한 후 해당 image regions에서 CNN - pretrained 모델에서 forward 연산을 통해 feature map을 추출한다. 이후 해당 부분에서 SVM을 통해 분류를 진행 후, bounding-box regression 역시 추가로 진행한다. 하지만 이 경..

[CV basic] Semantic Segmentation

Fully Convolutional Networks semantic segmentation에 대한 최초의 end-to-end architecture. 기존의 Fully connected layer인 FC layer에서는 마지막 평탄화 과정에서 뉴런의 값이 flatten되며 기존 이미지의 위치 정보를 잃어버린다. 따라서 Fully convolutional layer를 사용해 단순히 차원만을 축소해 위치 정보를 유지할 수 있다. FC layer의 자리에 1x1 크기를 가진 kernel과 클래스 개수만큼의 차원을 가진 CNN을 대체하여 사용하는 경우 위치 정보를 기억할 순 있지만, feature map의 크기가 원본보다 훨씬 적다는 한계가 있다. 위 한계를 극복하기 위해선 upsampling을 사용한다. se..

[CV basic] GoogLeNet/ResNet

GoogLeNet GoogLeNet의 전체 구조. 동그라미 친 부분이 Inception module이며, 첫 부분은 Vanilla CNN이다. Inception module (a)는 1x1 conv를 통한 차원 축소를 진행하지 않은 Inception module이며, (b)는 차원 축소를 진행한 모듈이다. Inception module은 1x1, 3x3, 5x5 conv filter 이후 3x3 max pool을 진행한 후 모든 필터를 합쳐서 뱉어낸다. (b)의 차원 축소는 1x1 conv filter의 bottleneck 구조로 이루어진다. 이런 구성으로 이루어진 Inception module을 쌓아서 이루어진 구조이며 그 아래엔 Auxiliary classifiers가 있다. Auxiliary cla..

[CV basic] Data Efficient Learning

Data augmentation 데이터셋은 대부분 편향되어있다. 훈련 데이터와 실제 데이터 사이에는 항상 차이가 있기 때문에 data augmentation을 통해 실제 세상에 있는 데이터와의 차이를 매꿔야 한다. 데이터 증강을 하는 방법으로는 데이터를 회전시키거나 좌우반전시키는 Flip/Rotate, 색을 변경하는 방법, 임시로 이미지의 크기를 자르는 Crop, Affine 변환, 각기 다른 이미지를 잘라서 붙이는 Cutmix, 노이즈를 주어 흐리게 만드는 blur 등의 여러 기법이 있다. PyTorch의 코드에서는 albumentations, transforms등의 함수를 사용해 data augmentation을 간단히 진행할 수 있다. albumentations_transform = albument..

[CV basic] AlexNet/VGGNet

작년에 왔던 각설이 죽지도 않고 또 온것처럼 CV 얘기에선 정말 빠질 수 없는 근-본모델.. 이제는 도메인 별 기초를 배우기 때문에 심화학습으로 배웠고, 과제로 풀었던 코드까지 살짝 리뷰하며 정리 LeNet 가장 최초의 CNN 모델이라고 볼 수있는 LeNet. Conv - Pool - Conv - Pool - FC - FC 구조로 이루어져 있으며, 5x5 with strde 1 필터를 사용한다. pooling으로는 2x2 max pooling with stride 2 사용. AlexNet 위에서 LeNet을 언급한 것은 비교하기 위함. 단순히만 봐도 Conv - pool - Conv - pool - Conv - Conv - Conv - Pool - FC - FC - FC 로 모델이 훨씬 복잡해졌음. 또한..