반응형

논문 107

[논문 읽기] PyTorch 구현 코드로 살펴보는 FaceNet(2015), A Unified Embedding for Face Recognition and Clustering

안녕하세요, 오늘 읽은 논문은 FaceNet, A Unified Embedding for Face Recognition and Clustering 입니다. 해당 논문은 Triplet Loss를 처음으로 제안한 논문이기 때문에, 호기심에 읽게 되었네요 ㅎㅎ PyTorch 구현 코드와 함께 살펴보도록 하겠습니다. FaceNet은 anchor(특정 사람 얼굴 사진), positive(동일한 사람의 얼굴 사진), negative(다른 사람의 얼굴 사진) 세 개의 사진을 CNN에 전달하여 152차원의 embedding을 생성합니다. (CNN 구조를 수정하면 152차원을 갖는 embedding을 출력할 수 있도록 할 수 있습니다. 아래에서 어떻게 수정했는지 PyTorch 코드로 살펴보겠습니다.) 3개의 embedd..

[논문 읽기] 구현 코드로 살펴보는 SegNet(2016), A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

안녕하세요, 오늘 읽은 논문은 SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation 입니다. SegNet은 semantic pixel-wise segmentation을 위한 fully convolutional neural network architecture 입니다. encoder network와 decoder network로 구성되며 이후에 pixel-wise classification layer가 따라옵니다. encoder은 VGG16 network와 동일하게 13 conv layer로 구성되며, decoder network의 역할은 저해상도의 pixel-wise classification을 위해encoer f..

[논문 읽기] CenterNet2(2021), Probabilistic two-stage detection

안녕하세요, 오늘 읽은 논문은 CenterNetv2, Probabilistic two-stage detection 입니다. 해당 논문은 one-stage 모델을 RPN으로 사용하여 class-agnostic한 region proposal을 생성한 후에 region proposal을 분류하는 head를 추가하여 two-stage 모델로 변경합니다. CenterNet에 FPN구조를 추가하고, CenterNet이 생성한 proposals들을 추가한 head로 분류하여 최종 결과를 나타내는 CenterNetv2는 2021년에 SOTA를 달성합니다. one-stage 모델을 RPN으로 사용한다니 신박하네요..ㅎㅎ two-stage에서 사용하는 RPN은 recall을 최대화하는 목적으로 region proposal..

[논문 읽기] SKNet(2019), Selective Kernel Networks

안녕하세요, 오늘 읽은 논문은 Selective Kernel Networks 입니다. 일반적으로 CNN 모델은 각 레이어에서 동일한 크기의 kernel_size를 지닌 conv 연산을 수행합니다. 예를 들어, ResNet은 1x1 conv와 3x3conv를 반복해서 사용합니다. SKNet은 kernel_size를 고정시키지 않고, 입력 이미지의 정보에 따라 kernel_size가 변화하도록 설계한 모델입니다. 입력 이미지 내의 객체 크기가 커지면 kernel_size도 마찬가지로 커지는 것을 실험적으로 증명하며 논문에서 제안하는 selective kernel convolution을 다른 모델에 적용해 성능이 향상된다는 것을 보여줍니다. selective kernel convolution은 split, f..

[논문 읽기] DilatedNet(2016), Multi-Scale Context Aggregation by Dilated Convolutions

안녕하세요, 오늘 읽은 논문은 DilatedNet, Multi-Scale Context Aggregation by Dilated Convolutions 입니다. DilatedNet은 segmetation task를 위한 dilated convolution을 사용합니다. dilated convolution은 이미지의 해상도를 낮추지 않고, receptive field를 확장할 수 있습니다. 예를 들어, 기존의 CNN은 max pooling 연산 또는 stride=2인 conv 연산을 통하여 feature map의 크기를 축소한 뒤에 conv 연산을 적용하여 receptive field를 확장합니다. dilated conv는 이과정을 거치지 않아 공간적인 정보 훼손 없이 receptive field를 확장할..

[논문 구현] PyTorch로 DCGAN(2015) 구현하고 학습하기

이번 포스팅에서는 DCGAN을 PyTorch로 구현하고, STL-10 dataset으로 학습을 시킨 후에 학습된 generator이 생성한 가짜 이미지를 확인해보겠습니다. 논문 리뷰는 아래 포스팅에서 확인하실 수 있습니다. [논문 읽기] 구현 코드로 살펴보는 DCGAN(2015), Deep Convolutional Generative adversatial networks 오늘 읽은 논문은 DCGAN, Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks 입니다. DCGAN은 generator와 discriminator 구조에 CNN을 적용한 것입니다. 이미지.. deep-learning-stu..

논문 구현 2021.05.19

[논문 읽기] 구현 코드로 살펴보는 DCGAN(2015), Deep Convolutional Generative adversatial networks

오늘 읽은 논문은 DCGAN, Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks 입니다. DCGAN은 generator와 discriminator 구조에 CNN을 적용한 것입니다. 이미지 특징을 포착하는 데에 특화되어 있는 CNN으로 모델 구조를 구성하므로 기존 FC layer로 구성되어 있는 GAN보다 성능이 탁월합니다. DCGAN의 generator와 discriminator이 어떤 구조를 갖고 있는지 구현 코드와 함께 살펴보겠습니다. 전체 구현 코드는 아래 깃허브에서 살펴보실 수 있습니다. Seonghoon-Yu/Paper_Review_and_Implementation_in_PyTor..

논문 읽기/GAN 2021.05.19

[논문 읽기] 구현 코드로 살펴보는 CGAN(2014), Conditional Generative Adversarial Nets

오늘 읽은 논문은 CGAN(2014), Conditional Generative Adversarial Nets 입니다. GAN에 대한 배경지식이 있다고 가정하여 포스팅을 작성합니다. GAN 논문 리뷰는 아래 포스팅에서 살펴보실 수 있습니다. [논문 읽기] 코드로 살펴보는 GAN(2014), Generative Adversarial Nets 오늘 읽은 논문은 GAN, Generative Adversarial Nets 입니다. 파이토치 코드와 함께 살펴보도록 하겠습니다. GAN은 Generator, Discriminator 두 개의 신경망으로 이루어져 있습니다. Generator Generator은.. deep-learning-study.tistory.com CGAN은 GAN에 조건부 데이터를 입력하여 성능..

논문 읽기/GAN 2021.05.18

[논문 읽기] 코드로 살펴보는 GAN(2014), Generative Adversarial Nets

오늘 읽은 논문은 GAN, Generative Adversarial Nets 입니다. 파이토치 코드와 함께 살펴보도록 하겠습니다. GAN은 Generator, Discriminator 두 개의 신경망으로 이루어져 있습니다. Generator Generator은 무작위로 생성한 noise로 가짜 이미지를 생성합니다. Generator PyTorch 구현 코드 # generator: noise를 입력받아 이미지를 생성합니다. class Generator(nn.Module): def __init__(self, params): super().__init__() self.nz = params['nz'] # 입력 노이즈 벡터 수, 100 self.img_size = params['img_size'] # 이미지 크기..

논문 읽기/GAN 2021.05.17

[논문 읽기] PANet(2018), Path Aggregation Network for Instance Segmentation

안녕하세요, 오늘 읽은 논문은 PANet, Path Aggregation Network for Instance Segmentation 입니다. PANet은 Mask R-CNN을 기반으로 Instance Segmentation을 위한 모델입니다. 이 논문에서 제안하는 Bottom-up path augmentation과 Adaptive feature pooling 방법은 YOLOv4에서 사용할 만큼 효과적인 성능을 나타내고 있습니다. PANet PANet은 (1) Bottom-up Path Augmentation, (2) Adaptive Feature Pooling, (3) Fully-connected Fusion 세 가지 방법을 제안합니다. 1. Bottom-up Path Augmentation Botto..

반응형