Loading...
2024. 4. 23. 23:15

pooling은 왜 사용하는가?

이미지 사이즈를 줄이거나 fully connected 연산을 대체하기 위해 사용함 (average pooling) input을 filter에 의해 convolution 연산을 하고 pooling을 통해 이미지 사이즈를 줄인 output을 얻는 것이 기본적인 CNN 이미지에 있는 pixel 정보를 압축하면서 이미지 사이즈를 줄인다. max pooling, average pooling 등 여러가지가 있다. 다음은 4*4이미지에서 2*2 max pooling을 적용한 모습 다음은 4*4이미지에서 2*2 average pooling을 적용한 모습 pooling을 사용한 기본적인 CNN 구조

2023. 6. 30. 02:31

서로 관련없는 이미지로 바꿔버리는 CycleGAN의 핵심 아이디어

1. motivation Pix2Pix에서는 pairwise data로 x에 대한 ground truth인 y가 필요한 supervised learning 문제는 항상 이런 pairwise data를 얻는 것이 쉽지가 않다. 사실상 불가능한 경우도 많다 그래서 서로 무관한 X라는 style의 image dataset과 Y라는 style의 image dataset을 활용하는 방법은 없을까? 직접적인 대응관계가 없는 X,Y 사이에서 image translation이 가능하도록 만든 것이 CycleGAN이다. pairwise data가 필요하다는 제약사항을 뛰어넘으면서 응용범위가 늘어났다 2. CycleGAN loss X에서 Y를 생성하는 GAN loss와 Y에서 X를 생성하는 GAN loss와 Cycle c..

2023. 6. 25. 01:55

image의 landmark를 추정하는 모델의 기본인 Hourglass Network

1. 전체 구조 이미지의 landmark를 추정하는 model 모래시계 모양(hourglass)의 network를 여러개 쌓아 올린 network 이미지를 최대한 작게 만들어 receptive field를 최대로 키워 landmark찾는데 신중하게 결론을 내리도록 함 skip connection 구조를 만들어 low level의 feature를 참고하여 더욱 정확한 landmark 위치를 찾도록 함 근데 단 1번의 network만 사용하지 않고 여러개 쌓아올렸다는 것은 network를 올라가면서 더욱 큰 그림을 그려가며 landmark 정보를 더욱 정교하게 찾아가도록 만들었음 2. hourglass module의 구조 하나의 stack인 hourglass module의 전반적인 구조는 위 그림의 모든 b..

2023. 6. 25. 01:32

landmark localization task 기본개념 배우기

1. motivation 사람의 얼굴, 포즈, 특정 물체에 대해 중요하다고 생각하는 특징 부분의 좌표를 추정하는 문제 여기서 말하는 ‘중요하다고 생각하는 특징’이 landmark, keypoint이며 개수나 대상 위치 등이 미리 정의돼있다 사람의 얼굴에서는 눈, 코, 입 등이 중요한 landmark라고 미리 정의하고 localization을 수행한 것이다 2. coordinate regression N개 landmark의 (x,y)위치를 2N dimension vector로 예측함 부정확하고 일반화가 어려운 문제가 있다 image를 CNN에 넣어 feature map을 뽑고 fully connected layer로 x,y 좌표 dimension vector로 예측 3. heatmap classificat..

2023. 6. 24. 01:53

CNN visualization6 - grad CAM -

1. motivation ResNet과 GoogleNet은 이미 CAM구조를 가지고 있어서 상관없는데 AlexNet은 global average pooling이 아닌 flatten을 사용했고 fully connected layer도 2개나 사용 이것을 억지로 CAM 구조로 바꾸고 사용한다면 모델 구조가 바뀌면서 parameter size가 호환이 안될 수 있는 문제부터 재학습까지 해야하고 결과적으로 전체적인 모형 성능이 떨어질 수 있음 그래서 특별히 구조를 변경하지도 않고 재학습도 하지 않으면서 CAM을 뽑는 괴물같은 방법이 등장했다 image를 넣으면 CAM처럼 어디 보고 고양이나 개를 판별했는지 heatmap을 그려준다 당연하지만 guided backpropagation saliency map보다 해..

2023. 6. 24. 01:26

CNN visualization5 - Class Activation Map(CAM) -

1. motivation 주어진 이미지의 어떤 부분을 특히 참조하여 class를 판단했는지 heatmap 형태로 표현 이것의 또 다른 의미는 중요한 부분을 bounding box로 처리하여 사용할 수도 있다는 점 색이 잘 나온 부분을 bounding box로 처리하여 사용할 수도 있다 2. CAM 구조 convolutional layer를 최종적으로 통과하고 나온 feature map을 global average pooling(gap)을 통과시키고 fully connected layer를 통과시켜 task를 하는 부분을 CAM 구조라고 한다 3. idea CNN을 통과하면 k개의 channel을 가지는 feature map이 나온다고 하자 global average pooling이란 그러한 feature..