YoungJoong Kwon

[News] Our Multi-View Human Action (MVHA) dataset from ECCV 2020 is now available at here!

Research Interests

AR, VR, 3D Reconstruction, Rendering


University of North Carolina at Chapel Hill ( Aug. 2018 – Present )

North Carolina, United States
Ph.D. Student : Computer Science, Advisor: Prof. Henry Fuchs

Yonsei University ( Mar. 2015 – Aug. 2017 )

Seoul, South Korea
B.S. Engineering : Computer Science and Engineering, 4.00 / 4.00

Ewha Womans University ( Mar. 2012 – Feb. 2015 )

Seoul, South Korea
Computer Science and Engineering, 3.93 / 4.00


Rotationally-Consistent Novel View Synthesis for Humans

YoungJoong Kwon, Stefano Petrangeli, Dahun Kim, Haoliang Wang, Henry Fuchs, Vishy Swaminathan
ACM MM 2020 (Acceptance: 472/1698 ≈ 27.8%)


Rotationally-Temporally Consistent Novel View Synthesis of Human Performance Video

YoungJoong Kwon, Stefano Petrangeli, Dahun Kim, Haoliang Wang, Eunbyung Park, Vishy Swaminathan, Henry Fuchs
ECCV 2020 Spotlight presentation (Acceptance: 265/5025 ≈ 5.3%)

paper link dataset video

Real-time Animation of Rain-wet Cloth Material

YoungJoong Kwon, DaeYong Kim, InKwon Lee
CASA 2017
paper link   paper pdf


Adobe Research ( June. 2019 – Present )

Adobe Research ( California, United States )
Research Intern

Pytorch GPU Memory Leakage during evaluation (Pytorch CUDA out of memory error during evaluation)

The first thing you can try is wrapping your model with torch.no_grad().

If you have already wrapped your model with torch.no_grad() and are still experiencing the GPU memory leakage issue,

then you can do the garbage collection as well as the memory cache deletion as follows:

import gc



evaluation mode에서 gpu memory leakage를 경험할 경우 모델을 torch.no_grad()로 감쌌는지 확인해본다. 감쌌는데도 여전히 동일한 문제가 발생할 경우,

import gc



를 해주어 garbage collection과 메모리 캐시 삭제를 해주면 된다. 다만 이 경우 코드의 실행 속도가 느려진다.


Conda 가상환경에서 jupyter notebook 사용하기

conda 가상환경에서 jupyter notebook을 열었는데, 지금껏 열심히 설치한 패키지들이 import되지 않는 난감한 상황이 발생할 때가 있다. 가상환경을 활성화시켰고, 가상환경 안에서 jupyter notebook까지 잘 켰는데 왜 import error가 뜨는걸까?

이는 jupyter notebook은 conda 가상환경에 따로 설치해주지 않아도 사용할수 있는 데에서 발생한다. 그냥 jupyter 패키지를 설치해주면 간단하게 해결된다. 다음의 명령어 두개를 쳐보자.

conda install jupyter

jupyter notebook

이제 노트북이 제대로 실행이 되고, 가상환경에 설치한 패키지들도 문제없이 import 될것이다.






conda로 pytorch와 tensorflow를 같이 설치할때 from torch._C import * ImportError: numpy.core.multiarray failed to import 에러 해결하기

from torch._C import * ImportError: numpy.core.multiarray failed to import 는 conda를 이용하여 pytorch와 tensorflow를 같이 설치할때 흔히 겪을 수 있는 오류이다.

이 오류는 tensorflow 가 python 3.7과 잘 맞지 않음에서 발생한다. (참고: mjahmad님의 답변)

해결방법은 다음과 같다.

  • python 3.6 의 conda 가상환경을 만든다
    • conda create -n 가상환경이름 python=3.6
  • 방금 만든 가상환경을 활성화
    • conda activate 가상환경이름
  • 개발환경에 맞는 pytorch 설치
    • 설치 명령어는 이곳을 참조
  • tensorflow 를 설치
    • conda install tensorflow

이제 제대로 해결되었는지 test 해보자. command line 에 다음의 명령어를 순서대로 쳐보자.


import torch

import tensorflow as tf

import numpy as np




UE4 When You Can’t Compile C++ Source Code or Can’t Add New C++ Class inside the Editor

  1. Shut down the Unreal Engine.
  2. Navigate to your project folder, where there are files like Visual Studio solution file, and Unreal Engine project file.
  3. Right click your Unreal Engine project file.
  4. Select “Generate Visual Studio Project Files”. If there is no option like this, follow the steps that are described in this link.
  5. Now double click the Unreal Engine project file, and the Unreal Engine editor will open up.
  6. Now you can add new C++ source code and then compile it inside the editor.

Stability of SVD and Eigen Decomposition

Hi, today I want to talk about the stability of SVD and Eigen Decomposition in numerical linear algebra perspective.

The purpose of SVD and Eigen Decomposition is to simplify the original matrix (say, matrix A) so that we can easily study the properties of the matrix. But as we try to use computers to do the calculation, there comes the difference between SVD and Eigen Decomposition.

No matter what the matrix is, we can always trust the result of SVD. This means SVD is stable. And SVD always guarantees the source matrix can be diagonalized.

For Eigen Decomposition, if the source matrix is symmetric then we can trust the computed eigen values and we can say that the source matrix can be always diagonalized. But, if the source matrix is any arbitrary matrix which is not symmetric, we cannot say for sure the eigen values computed are correct. It depends on the condition number of the source matrix, so we should first check the condition number. Also, we cannot guarantee that the source matrix can always be diagonalized.

Should we not use the Eigen Decomposition of math libraries out there? I would recommend keep using the math libraries. They are the best thing we can do for now. But we should remember that we cannot always trust the Eigen Decomposition since it is already ill-posed problem (the method is good). If the result is not what you want, it could be because the Eigen Decomposition is not stable for arbitrary matrix.