본문 바로가기

전체 글

(43)
[Typing] Literal, tensortype ( torch typing ) Literal python 3.8부터 추가된 기능으로 Literal typing을 통해서 특정 변수가 가질 수 있는 변수의 범위를 제한할 수 있다. 즉, 기존의 static typing의 장점을 가져오기 위해 사용하던 python의 type hinting을 넘어서 dynamic한 파이썬의 특징에 맞게 다양한 타입에 해당되더라도 사용자의 목적성에 맞게 원하는 변수들로 값을 제한할 수 있는 것이다. 물론, 파이썬이기에 Literal을 통해서 제한해둔 값의 범위를 넘어간 값을 입력하는 것도 가능하다. 즉 실제 런타임 상에서 에러가 발생하지는 않는다. 따라서, Literal로 범위를 제한해두고, 함수 내에서 조건문을 통해서 exception handling을 해주는 것이 일반적이다. from typing imp..
[Paper Review] StyleSpace Analysis : Disentangled Controls for StyleGAN Image Generation (CVPR'21 Oral) TL;DR: StyleSpace is more appropriate for manipulation, beacuse of disentanglement and completeness. 본 논문에서는 StyleGAN2의 Style Space에 대해 분석하며 기존의 Z, W, W+ space보다 더 disentangle 한 space임을 보이고, 따라서 해당 space의 channel을 manipulation 하는 것이 disentangled image manipulation에 적합하다고 주장합니다. 이러한 disentanglement와 completeness를 가진 style space상의 style vector의 특정 channel이 특정 attribute에 대응되기에 특정 attribute에 대응되는 st..
[Paper Review] pi-GAN: Periodic Implicit Generative Adversarial Networks for 3D- 안녕하세요. 최근 generative model과 neural rendering의 빠른 발전 속도로 인해 연구되고 있는 3d-aware image synthesis에서 추후 등장하는 후속 논문들의 큰 뼈대와 같은 역할을 하는 pi-GAN을 살펴보도록 하겠습니다. 3d aware image synthesis는 Stanford에서 많이 연구하는 주제로 해당 분야에서 주목을 받는 후속 논문들도 대부분 같은 저자들이 내고 있습니다. ( EG3D 등 ) pi -gan은 최근 연구되는 3d aware gan들을 읽기 위해서 근본적으로 알아야 한다고 생각하는 논문입니다. 좋은 3d aware gan의 뼈대에 대한 내용이 많아 꼼꼼히 읽어보시면 좋을 것 같습니다. 읽으시기 전에 반드시 3d aware gan 컨셉을 읽..
[Concept] 3D Aware Image Synthesis ( or 3D Aware GAN ) 3d aware image synthesis란? 3d aware image synthesis란, image synthesis를 함에 있어서 3d aware 한 정보들을 학습함으로써 합성해내는 이미지들이 3d 공간의 정보와 consistent 하게 image를 합성하는 task입니다. 다시 말해 2d image들로부터 unsupervised하게 neural scene representatoin을 학습해 3d aware image를 합성하는 것입니다. 기존의 이미지 합성 분야에서 GAN 혹은 adversarial training방식은 다양한 image synthesis task들(Image Generation, Image to Image Translation, Image Editing)의 상당한 발전에 큰 ..
[Paper Review] NeRF : Representing Scenes as Neural Radiance Field for View Synthesis 안녕하세요 :) 이번에는 3d vision과 Graphics에서 새로운 지평을 가져다준 NeRF에 대해서 설명해보고자 합니다. 실제로 SLAM과 같이 결합되어 사용하는 등 다양한 방향으로 NeRF를 활용한 연구가 진행되고 있습니다. 이러한 NeRF를 명확히 이해하기 위해서는 다른 논문들에 비해 비교적 많은 Background가 필요하다고 생각합니다. 따라서 기존의 다른 논문 리뷰들과는 다르게 Background를 먼저 설명하고 NeRF에 대해서 설명하는 방향성으로 서술하도록 하겠습니다. 그럼 시작하겠습니다. 1. Background Novel View Synthesis 처음 nerf가 등장했을 때 vanila nerf의 목적성은 view synthesis에 있었습니다. View Synthesis란 뭘까요..
[CUDA] 가상환경 Complete CUDA Installation CUDA's 2 API ( Driver & Runtime ) CUDA의 버전을 확인하기 위한 Command로 nvidia-smi와 nvcc --version을 많이 봤을 것이다. 둘은 어떤 것이 다른 것일까? CUDA는 2개의 api를 가지고 있다. 바로 Driver API와 Runtime API이다. 일반적으로 nvidia-smi를 통해서 확인하는 것은 Driver api이고 nvcc --version을 통해서 확인하는 것은 runtime api이다. 이 둘이 뱉는 cuda버전은 일반적으로 일치하지 않는 경우가 많다. 즉, Nvidia의 GPU를 사용하는 컴퓨터를 사고 준비할 때 GPU Driver Install을 하게 되는데 이때 설치된 GPU Driver의 버전이 nvidia-smi에 나오는 것이다..
[Paper Review] DETR : End-to-End Object Detection with Transformers 1. Abstract 기존의 Obejct Detection Methods들은 task에 대한 사전 지식을 고려한 hand-designed component들이 필요해 complex detection pipeline을 가지고 있는 indirect set prediction problem이었습니다. 저자들은 이에서 벗어나 object detection을 direct set prediction problem(image-to-set)으로 보고자 했습니다. 이를 위해 set matching을 위한 bipartite matching, hungarian algorithm같은 기존의 매칭 알고리즘을 Loss에 녹였고, image-to-set으로 direct set prediction에 sequnece-to-sequen..
[Concept] GAN Inversion GAN Inversion 이란? GAN Inversion이란 입력 이미지와 유사한 결과 이미지를 얻을 수 있도록 하는 latent vector를 찾는 과정입니다. 일반적으로 GAN이 학습되면 random latent vector로부터 이미지를 생성해낼 수 있게 됩니다.GAN Inversion은 이의 역과정입니다. 우리가 latent vector를 알기 원하는 이미지를 넣었을 때 GAN의 latent space의 latent vector로 input image를 inverting시키는 것입니다.그렇다면 이러한 이미지의 latent vector를 왜 알고 싶은 것일까요? Why GAN Inversion? 이러한 GAN Inversion은 StyleGAN이 등장하면서 학습된 StyleGAN을 downstrea..