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 구조

2024. 4. 22. 23:24

gray image의 channel은 1이 아니다

그냥 channel이 1이면 gray image이고 channel이 3이면 color image다 라고 생각해왔는데... 파이썬으로 gray image를 불렀을때 channel이 3인데 gray로 나오는 것 보고 갑자기 궁금증이 생겼다 핵심은 image의 channel이 3이면 각각 R,G,B pixel의 value값을 나타내는데, 이들이 합쳐져서 color image가 나온다. 그런데 R,G,B pixel의 value가 모두 동일하면 gray image가 나온다 먼저 color image를 보면 Image.open으로 열어서 torchvision.transforms.ToTensor()로 tensor로 바꾸면 from PIL import Image from torchvision import dataset..

2024. 4. 17. 23:13

object detection task, SPP Net, R-CNN, YOLO 간단하게 알아보기

1. Detection 이미지 안에서 원하는 물체에 대한 bounding box를 찾는 문제 가장 먼저 나온 해법으로 R-CNN이 있다 이미지 안에서 Selective search? 등으로 2000개 정도 region을 추출함. 적절하게 동일한 크기로 바꾸고 deeplearning(AlexNet)을 이용하여 feature map을 각각 추출함 그러면 각각에 대하여 svm등으로 무엇인지 분류하면 되겠지 2. SPP Net 처음 나온 R-CNN은 딱 보면 문제가 많았다. 예를 들면 2000개 Bounding box 찾는것도 일이고 , 1개의 input 이미지에 대해 2000개 각각을 deep learning하니까 2000번 돌려야 1개의 input 이미지에 대해 결과를 얻는다는 사실에 2000번 돌리는 것도..

2024. 4. 17. 22:21

딥러닝의 시대를 열었던 AlexNet

1. ILSVRC ImageNet에서 개최하는 이미지 빅데이터 대회 classification, detection, localization, segmentation 등 문제는 다양하다 2015년부터 인간을 이기는 알고리즘이 등장함 human의 점수는 이 논문에서 실험을 통해 적절하게 추정을 했나봄.. 이 대회에서 1등을 하는 딥러닝 알고리즘은 기본적으로 parameter 수를 점점 줄이면서 네트워크의 길이는 deep하게 하였다. 그러면서 학습 성능을 높였다 parameter 수는 줄이고 layer는 deep하게 하면서 performance를 높임 그러한 과정에서 1*1 conv를 적절하게 배치하는 아이디어 더 적은 크기의 kernel을 여러번 배치하면 큰 크기의 kernel을 적게 배치하는 것과 rece..

2024. 4. 15. 22:43

간단하게 살펴보는 여러가지 GAN

GAN은 그 아이디어가 나온 뒤로 1~2년만에 급격하게 후속논문이 등장했다 그런데 DALL-E가 transformer로 엄청난 generation을 했는데 generation 문제에서 GAN이 정답이 아닐 수 있다는 것이다 1. DCGAN 이미지를 discriminator할 때는 Convolution해가면서 마지막에 generating할 때는 deconvolution으로 생성했다는 것 같다 2. Info-GAN Generation에 class 정보도 집어넣으면서 특정 class에 집중할 수 있게 해준다는거?? 3. Text2Image 문장이 주어지면 그것에 맞는 이미지를 생성한다 4. Puzzle-GAN 이미지의 subpatch를 넣으면 원래 이미지를 복원한다 5. CycleGAN 두 이미지간 domai..

2023. 11. 7. 11:44

opencv와 PIL이 이미지를 저장하는 방식의 차이

opencv는 컬러 이미지를 BGR로 저장하는데, PIL은 RGB로 저장한다 그래서 동일한 이미지를 opencv로 read할때와 PIL로 open할때 plt.imshow()하면 보이는게 다르다 from imageio import imread from PIL import Image import cv2 import matplotlib.pyplot as plt #opencv를 이용하여 이미지 load 후 시각화 img = cv2.imread(kitten_path) plt.imshow(img) plt.show() opencv로 열면 파란색이 먼저 보임 # PIL을 이용하여 이미지 load후 시각화 img_ = Image.open(kitten_path) plt.imshow(img_) plt.show() #imag..