전체 글 538

ReconFusion: 3D Reconstruction with Diffusion Priors

내 맘대로 Introduction CAT3D 의 이전 작. 하위호환이라고 할 수 있다. diffusion model을 이용한 multi view image 생성 + NeRF로 3D recon이 포함된 내용.  핵심 아이디어는 3d recon을 위한 NeRF 외에 pixel-NeRF를 붙여서 rendered feature를 만들고, 이를 diffusion model의 입력으로 활용하는 식으로 3d consistent novel view image 생성을 유도함. 내용은 엄청 간단함. 메모이것도 그림으로 설명이 끝남.1) 크게 Zip-NeRF를 학습시키는 거임2) 부족한 novel view 이미지는, pixel-NeRF로 찍어낸 feature map + input 이미지를 받는 diffusion model에..

Paper/Generation 2024.05.22

CAT3D: Create Anything in 3D with Multi-View Diffusion Models

내 맘대로 Introduction Diffusion model로 multiview image를 생성해낸 뒤, NeRF를 붙여 복원해내는 기존 방식들의 상위 호환 버전 논문이라고 할 수 있다. diffusion model의 성능이 껑충 뛰어오른 것도 성능 향상의 한 이유라고 볼 수 있겠지만, novel view synthesis 과정에서 diffusion model을 활용하는 아이디어가 깔끔하고 좋았다.  주어진 모든 view를 noise없이 넣고, novel view는 noise로 넣어서 diffusion 하는 방식. novel view에만 집중할 수 있도록 구성했다. 구조적으로 3D self attention이 효과가 좋았다는 것을 밝혔다. 메모사실 그림으로 설명이 끝난다.multiview image로..

Paper/Generation 2024.05.22

3D Face Reconstruction with the Geometric Guidance of Facial Part Segmentation (3DDFA v3)

내 맘대로 Introduction3DMM (여기선 FLAME 안쓰고 BFM, FaceVerse 씀, 아마 서양인 데이터 bias 때문이지 않을까.)  을 이미지에 fitting하는 논문. HMR의 face version인데, 3DDFA version3인 셈이다.  핵심 아이디어는 기존 논문들이 keypoint에 집중하던 걸 확장해서 segmentation mask를 이용한 fitting이다. segmentation mask를 사용하는 아이디어 자체는 흔하지만 기존 방식과 다르게 단순히 렌더링 결과만 놓고 pixel by pixel로 비교하는 것이 아니라, 새로운 loss를 제안해서 풀었다.  (2d segmentation -> 3d lifting ) (segmented 3d model) mesh geo..

Paper/Human 2024.05.17

libnvidia-ml.so.1: cannot open shared object file: no such file or directory: unknown. 문제

Docker 컨테이너 잘 쓰다가 갑자기 다시 run하니까 다음과 같은 오류가 떴다.docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'nvidia-container-cli: initialization error: load library failed: libnvi..

Trouble/Docker 2024.05.13

FeatUp: A Model-Agnostic Framework for Features at Any Resolution

내 맘대로 Introduction 기본 아이디어가 학습 잘 된 backbone에서 나오는 feature들을 고해상도로 변환할 수 없을까? 라는 질문에서 시작된다. DinoV2 같은 foundation backbone을 가져와서 사용하는 것이 흔한 요즘, 224x224로 제한된 해상도는 활용에 걸림돌이 되곤 한다. 이러한 답답함을 완화하기 위해서 뒤에 갖다 붙일 수 있는 feature upsampler를 만들고자 했다.  upsample -> down sample 원본 feature 방식으로 cyclic하게 학습해서 나중엔 upsampler만 가져와서 쓰는 방식 두 가지 구현 방식이 존재하는데 1) 학습 1번 완료 후 계속 고정하고 사용하는 upsampler2) 이미지 1장마다 overfitting시켜서..

Paper/Others 2024.05.13

Towards Metrical Reconstruction of Human Faces (a.k.a MICA)

내 맘대로 Introduction 이 논문은 2022년도 논문이라 최신 내용과는 거리가 멀지만, 최신 3DMM을 활용한 논문들이 fitted FLAME 모델을 전제로 하는 만큼 preprocessing에서 자주 언급되기에 한 번 짚고 넘어간다.  single image가 주어졌을 때 FLAME shape,expression,jaw 파라미터를 추정하는 backbone + 비디오가 주어지면 fitting하면서  head pose + color까지 추가로 찾는 논문이다. 기타 논문에서 많이 활용되는 만큼 성능은 좋아 보인다. 메모1) ArcFace라는 pretrained face recognition network를 가져와서 backbone으로 활용. 마지막 resblock 3개 빼고는 freeze됨.2) 마..

Paper/Human 2024.05.10

libGL.so.1, libgthread-2.0.so.0 not found 문제

보통 pip install opencv-python한 뒤, cv2를 사용하려고 하던 차에 발생하는 에러. 이름에서 알 수 있다시피 뭐가 안깔려 있어서 그럼ImportError: libGL.so.1: cannot open shared object file: No such file or directoryImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory 보통 위 오류가 나면 아래 오류도 뒤이어 따라 난다. 해결법sudo apt-get install -y libgl1-mesa-glxsudo apt-get install -y libglib2.0-0 이 두 개를 깔아주면 해결.

Trouble/Linux 2024.05.08

Global-correlated 3D-decoupling Transformer for Clothed Avatar Reconstruction

내 맘대로 Introduction PIFU랑 동일한 task를 다루지만 backbone을 ViT로 변경하고, xy, yz, zx triplane을 형성하는 식으로 feature representation을 변경한 논문. 후에 이미지에 fitting 된 SMPL face를 이용해 feature interpolation하는 식으로 body prior를 추가한 점이 또 있음. 전반적으로 backbone 탐색과 feature representation 변경이 차이점이고 PIFU 시리즈 논문이라고 봐도 될 것 같다. 메모사실 그림만 봐도 이해가 됨...1) image latent 생성2) 정면은 self attention, side/top view는 cross attention으로 feature plane 생성3..

Paper/Human 2024.05.08

Improving Diffusion Models for Authentic Virtual Try-on in the Wild

내 맘대로 Introduction virtual-try-on을 diffusion 모델 써서 하는 논문. 요즘 나오는 conditioned image generation의 추세를 따라, IP-Adapter + SDXL + CLIP + ControlNet를 섞은 논문.  SD1.5 혹은 SDXL이 워낙 강력하다보니 frozen SD를 갖다 붙이는 식의 방식이 레시피의 핵심이 되었고, 자연스레 생성형 논문은 알고리즘적 진일보가 contribution이라기 보다 어떤 식의 조합이 효과적인지 밝히는 실험적 진일보가 contribution인 것 같다. 이 논문은 어떤 pretrained network들을 어떻게 조합해야 원하는대로 virtual try on 이미지를 생성할 수 있는지 조합 레시피를 설명하는 논문. ..

Paper/Generation 2024.05.07

Docker image 중 <none>:<none> 지우기

docker 이미지 빌드하다보면 빌드 실패 하는건 한 두 번 겪는 일이 아닌데 이 때 부산물로 :과 같은 이미지들이 생겨난다.  냅둬도 뭐 큰 상관은 없다만 이게 원래 만들고자 했던 이미지들의 용량을 그대로 들고 있기 때문에 너무 많이 쌓이면 메모리가 부족해진다. 따라서 명령어도 크게 안 복잡하니까 보이면 바로 바로 지우는게 좋다.sudo docker rmi $(sudo docker images -f "dangling=true" -q) # --force 가끔 아직 컨테이너에서 사용하고 있는 이미지라고 안 지워질 수도 있는데 십중팔구 쓰레기 컨테이너일 것이다. 그냥 --force 붙여서 강제 삭제해버리거나 확인 후 삭제하면 된다. sudo docker ps -asudo docker rm CONTAINER_..

Knowhow/Docker 2024.05.07