목록AI/CV (20)
꺼내먹는지식 준
2018년도 이후로는 Instance segmentation, Panoptic segmentation 연구로 전형 Instance segmentation VS Panotic segmentation 두 방법 모두 같은 class 물체들을 따로 구분 가능 Instance segmentation Instance segmentation의 경우 물체 구분을 object detection 을 기반으로 한 경우가 많다. MASK R CNN R CNN 과 거의 동일 구조 RPN 의 결과로 나온 Bbox proposal 을 이용해서 RoI pooling 방법을 사용했었다. 정교한 pixel level pooling 지원 :기존 pooling은 정수좌표만 지원을 했었으나, mask R CNN 에서는 RoIAlign에서는 ..
해당 글은 Object Detection에 관련된 총 정리 글이다. 추후 Selective Search, Faster R CNN, Mask R CNN, Single Shot Multi-box Detector, Yolo 정도는 개별글을 올릴 예정이다. SSD 의 리뷰는 해당 글에 그냥 담았다 ㅋ. Instance segmentation 은 같은 사람도 서로 다른 개체로 구분 가능하고, Semantic segmentation은 불가능하다. (instance는 구분하는 한가지 task를 더 해야한다.) Panoptic segmentation 은 instance segmentation을 포함하는 더 큰 기술. 이러한 instance를 인식하는 기술이 object detection Object detection ..
model = nn.Linear(10, 20) model.weight.shape # torch.Size([20, 10]) 예상과 달리 nn.Linear(in,out) 반면, weight는 [20,10] 이다. 이는 $y = xA^T + b$ 로 인해서 A(weight) 에 transpose 된 값이 들어가야 해서 그렇다. 여기서 하고자 하는 task 는 다음과 같다. 1) VGG backbone 이후를 1 X 1 conv 로 대체 2) 1 X 1 conv 의 weight를 FC layer 의 weight로 대체 super(VGG11Segmentation, self).__init__() self.backbone = VGG11BackBone() with torch.no_grad(): self.conv_out..
Saliency map 을 구하기 위한 구현적 detail class score에서 graident를 구해서 input domain 의 gradient 를 구하는 것이 최종 목표 input domain 의 gradient를 구하는 것이 최종 목표 back prop된 graident accumulation $\rightarrow$ visualization gradient구하는 법 Autograd Automatic Gradient calculating 기본적으로 딥러닝 library도 행렬 연산이나, 기존 행렬 연산들과 다른점이 바로 auto grad forward, backward pass가 가능하다. gradient 계산을 쉽게 하도록 해준다. 과거에는 forward 계산을 일일이 손으로 계산하고, ba..
CNN 기반 neural net: 학습 가능한 conv 와 non linear activation function 의 stack으로 이루어진 연산기 어떤 원리로 CNN 이 잘 동작하는걸까? 학습은 어떻게 이루어지고, 어떤 현상이 일어나는걸까? 학습이 잘 안되고, 성능이 잘 안나올때는 왜 안나오는지 알아보려면 어떻게 해야할까? 입력이 주어지면 출력이 나오는 blackbox 기계가 있다고 하자. 기계에 문제가 있으면 보통 원인을 파악하기 위해서 내부를 들여다 봐야 한다. 시각화 해서 내부를 들여다보자! 어떨때 잘되고 안되고, 어떻게 개선할지를 보는 방법! 2013 ZFNet 낮은 단계에서는 동그란 블록, 혹은 선을 찾는 필터들이 위치하는 것을 확인 높은 계층으로 갈 수록 의미 있는 high level 을 학..
Semantice Segmantation : Image classification 을 pixel 단위로 진행 영상 속에 있는 물체에 mask 생성 다만, 같은 클래스 서로 다른 물체가 겹쳐져 있을 때 구분 못한다. $\rightarrow$ 추후 instance segmentation 참고 포토샵에서 사람 제외하고 image에 특수 효과 주는 등의 기능이 가능 Semantic Segmentation Models FCN (Fully Convolutional Networks) End to End 입력부터 출력까지 미분가능한 형태로 입력과 출력 데이터의 표현만 있으면 중간의 neural net 을 학습해서 target task 수행 가능 사람이 손으로 algorithm을 만들때는 학습 가능 부분이 제한적이었으나..
Semantic Segmentation (Dense Classification, per pixel classification) 각 이미지의 pixel마다 분류를 하는 과업 (모든 픽셀이 어떤 label인지 파악) 최대 활용 분야: 자율 주행 (게임에서 의미를 파악하는 데 사용할 수 있지 않을까?) Fully Convolutional Network (here after, FCN) 왼쪽의 dense layer 를 없애고자 하는 것 . 다만, 해당 과정(왼쪽, 오른쪽) 각각의 parameter 의 개수는 정확히 일치한다. left: 4 $\times$ 4 $\times$ 16 $\times$ 10 = 2,560 right: 4 $\times$ 4 $\times$ 16 $\times$ 10 = 2,560 (이해..
~ 2018 년도 까지의 ILSVRC 에서 1등을 한 모델들의 간단 소개 논문이 소개될 수록, CNN 을 간단 소개 하는 다음의 글을 읽으셨다면 점점 모델의 depth가 깊어지고, 파라미터의 개수는 점점 줄어들고, 성능은 점점 좋아진다는 것을 예상할 수 있다. 해당 글의 유의사항 Convolution layers (here after, CLs) Dense Layers (here after, DLs) ILSVRC ImageNEt Large-Scale Visual Recognition Challenge Classification, Detection, Localization, Segmentation 1000 different categoreis Over 1 millon images Training set: a..
CNN 의 간단 정리의 보충자료이다. CNN을 처음 공부하시는 분들은 먼저 1을 보고오자. Filter 연산 filter 의 크기가 같아야 연산이 가능하다. 대부분의 기본개념 글에서 filter의 곱 이후 output 의 channel 이 한개가 되는 것에 대한 직관적인 설명이 없는 경우가 많다. 사진이 직관적인 설명을 대체한다. 즉, 다음과 같이 output의 체널의 개수는 filter의 개수가 결정 짓는다. 물론 다음과 같이 여러개의 convolution을 쌓을 수도 있고, 모든 layer의 linear 연산 사이에는 non-linear activation function이 포함되어있다. 한번 파라미터의 개수도 계산해보자. $32 \times 32 \times 3$ 이미지를 $28 \times 28 ..
MLP는 각 뉴런들이 선형모델과 활성함수로 모두 연결된 구조였다. Fully conneceted layer \[ h_{i} = \sigma{\sum^{P}_{j=i}}W_{i,j}x_{j} \] Fully connected layer는 다층 신경망의 경우 각 성분의 가중치 행들이 i 번째 위치마다 필요했다. 또한 $h_{i}$ 를 계산할 때 $W_{i}$가 필요했고, i 가 바뀌게 되면 가중치 행렬의 행도 바뀌어서 구조가 커지게되고, 실제로 학습을 시켜야하는 parameter의 숫자도 굉장히 많이 커졌다. Convolution은 kernel이라는 고정된 가중치 행렬을 사용하고 고정된 kernel을 입력 벡터 상에서 움직여가면서 선형 모델과 합성함수가 적용되는 구조이다. kernel의 등장 배경 실험을 통..