전체 글

현재 진행하는 개발 과정을 자주 기록하는 곳
부스트캠프 AI Tech 2기/2기 CV U-Stage

Instance/Panoptic Segmentation and Landmark Localization

Semantic Segmentation과 ObjectDetection보다 더 유용한 Instance Segmentation, Panoptic Segmentation이 더 유용함 1.Instance segmentation 1-1 Mask R-CNN RoIAlign을 사용 Faster R-CNN + Mask branch 기존 Fast R-CNN과 유사한 class+box부분에서 class가 무엇인지를 나타내는 값을 바운딩 박스마다 mask branch의 14*14*80에게 전달해서 어떤클래스인지를 확인한다 1-2 YOLACT(You Only Look At CoefficienTs) One-stage detect protonet은적당한 수로 생성하고, 합성될 수 있는 재료를 제공한다 prediction head..

부스트캠프 AI Tech 2기/2기 CV U-Stage

AutoGrad

AutoGrad(Automatic Gradient) automatic differentiation을 활용한 딥러닝 라이브러리 backward를 쉽게 구현하기 위한 Computational graph를 통해 어떻게 연산되었는지 history를 다 가지고있다. requires_grad 해당 변수에 gradient를 저장할 수 있게끔 만든다. 그래서 x.grad를 호출할 수 있다. x = torch.randn(2, requires_grad=False) y = x * 3 gradients = torch.tensor(\[100, 0.1\], dtype=torch.float) y.backward(gradients) print(x.grad) ->> 에러 이유: requires\_grad = False로 지정하면 ba..

부스트캠프 AI Tech 2기/2기 CV U-Stage

CNN Visualization

CNN은 blackbox이기 때문에 왜 학습이 잘 안되는지 보기가 힘들다. CNN내부를 보고 시각화 한다는 것은 debugging tools를 갖는것과 같은의미다 Visualizing CNN 1-1. ZFNet ZFNet은 2013년 imagenet 대회에서 우승함으로 cnn을 시각화하는것이 눈을 호강하기 위함이 아닌 실질적으로 유의미한 작업이라고 판별받음 1-2. Filter weight visualization - Low level feature 2차원부터는 필터수가 많아져서 사람이 보기 힘들다 visualization을 하는것은 사람의 눈으로 보는거기때문에 뒷쪽 레이어는더 추상적합성이된다. 1-3. visualization type 크게 왼쪽으로 이동하는건 모델에대하여 분석, 오른쪽으로 이동하는건 ..

부스트캠프 AI Tech 2기/2기 CV U-Stage

Object Detection

Object Detection은 Classification과 bounding box를 더한것이다. Object Detection 종류 panoptic, instance segmentation은 instance또한 분류한다 Object Detector Single(One) Stage와 Two Stage Detector로 나누어져있다. 1.Two-Stage Detector Selective Search 다양한 물체 후보군에 대해서 영역을 특정해서 제안해준다. (바운딩박스를 제안) 영상을 비슷한 색끼리 잘게 분할한다. 분할한 영역을 비슷한(색 혹은 그레디언트의 특징,분포등)영역끼리 묶고 합쳐주는것을 반복한다. 이 영역을 포함한 바운딩박스를 추출하여 사용한다. 1) R-CNN 영상으로 selective sear..

부스트캠프 AI Tech 2기/2기 CV U-Stage

Semantic Segmentation

Semantic Segmentation은 px단위로 image classification을 하는 행동이다. 같은 class면 서로 다른 물체라고 인식하지 않는다. 이를 다른 물체라고 인식하게하는 instance segmentation 이라고한다. Semantic Segmentation Architectures 1. Fully Convolutional Networks(FCN) end to end 구조로 입력해상도와 같은 해상도로 출력을 할 수 있다. 이전에는 사람의 알고리즘이 더해져 학습가능한 부분도 제한적이였지만 이 네트워크로인해 모든 부분을 미분가능한 구조로 바꿔 학습가능해짐 Alexnet은 맨뒤에 Flatten해서 벡터화를 시켰지만 이렇게 되면 입력해상도가 train과 실제 문제해결의 해상도와 호환되..

부스트캠프 AI Tech 2기/2기 CV U-Stage

CV의 DL 발전(2)

AlexNet과 VGG Net을 통해 더 깊은 네트워크가 더 좋은 성능을 보여준다는것을 확인했다. 하지만 더 깊이 쌓을수록 Gradient vanishing/exploding 현상이 발생한다. 과거에는 모델의 표현력이 과하게 좋아져서 Overfitting이 발생할 것이다 라고 예측했지만, Degradation problem이라는 걸로 확인됐다 1. Google Net 구글넷은 레이어를 깊게 쌓는게 아니라 같은 레벨에서 다양하게 쌓는 구조 1X1 Conv를 통해 데이터를 압축해서 계산해야하는 양을 줄였다. 1X1 Convolution 필터의 수만큼 출력채널이 생성된다 공간 크기는 변하지 않고 채널의 수만 변한다 구글넷은 depth가 깊어서 Gradient vanishing 현상이 발생하기 때문에 Outpu..

부스트캠프 AI Tech 2기/2기 CV U-Stage

Annotation Data Efficient Learning

Data Augmentation 성능을 쉽게 올릴 수 있는 방법 중 하나 우리가 얻은 train 데이터는 사람이 카메라로 찍은 데이터고 실제 real data(task data)를 포함하지 못하는 다른 데이터다 밝게만 찍은 데이터를 가지고 학습한다면 어두운 사진을 보여줬을 때 제대로 인식하지 못하는 문제가 발생한다. 데이터셋이 진짜 데이터를 충분하게 표현하지 못했다 그래서 Data를 조금씩 변형해서 빈 공간들을 채워준다 Brightness def brightness_augmentation(img): # numpy array img has RGB value(0~244) for each pixel img[:.:,0] = img[:,:,0] + 100 # add 100 to R value img[:.:,1] ..

부스트캠프 AI Tech 2기/2기 CV U-Stage

CV의 DL 발전(1)

CV와 Graphics의 관계 CV: image에서 정보를 추출한다 Graphics: 정보를 통해 image를 생성한다 Visual perceptron 왼쪽 이미지만 보면 사람의 얼굴에대해 그렇게 큰 이상함을 느끼지 못하고 뒤집어져 있는줄 안다. 하지만 원래대로 돌려보면 이상한 느낌을 받는다 우리가 뒤집어져있는 사람의 사진을 본 경우가 많지 않기때문에 우리의 시각 기능이 일반 정면 얼굴 사진에대해 편향되어있다고 예측해볼 수 있다 CV의 MachineLearning과 DeepLearning MachineLearning: 과거의 머신러닝으로 사람이 이미지에대해 특징을 추출하여 식을 만들었고, 작은 규모의 classification을 했다. DeepLearning: 사람이 눈으로 추출하지 못하거나 수식으로 옮..

모플로
모던플로우