전체 글 600

GS2Mesh: Surface Reconstruction from Gaussian Splatting via Novel Stereo Views

내 맘대로 Introduction 3DGS로부터 어떻게 mesh를 얻을 수 있을지 고민한 논문. baseline을 SuGaR로 잡은 만큼 어떤 방법론으로 Mesh를 만들었을지 굉장히 궁금했다. 약간의 아쉽게도 내용은 3DGS 복원 -> stereo view 렌더링 -> 별도로 feature matching 후 depthmap building -> TSDF recon 이다.  3DGS를 알고리즘적으로 변형했다기 보다 잘 학습된 3DGS로부터 stereo 이미지를 얻어서 시점 별 depth를 얻어낸다는, 어떻게 보면 활용에 관한 논문이라고 볼 수 있다.  stereo view 렌더링부터, 데이터 정리 feature matching, depthmap building, TSDF fusion 등의 과정을 얼마나 ..

Paper/3D vision 2024.12.13

FFHQ-UV: Normalized Facial UV-Texture Dataset for 3D Face Reconstruction

내 맘대로 Introduction 이 논문은 FFHQ 데이터세에 있는 얼굴들의 texture를 뽑아내서 데이터셋화 한 논문이다. 이미지 말고는 주어진 정보가 아무것도 없는 FFHQ 데이터셋에서 정해진 UV 도메인의 texture map을 뽑아내는 것이 목적이기 때문에 이미지 to scan, scan unwrap 등 여러 요소가 끼어들어야 했다. 결과적으로 기존에 등장했던 여러 SOTA 알고리즘을 총집합해서 끄끝낸 만들어낸 데이터셋 내용이다.  데이터셋 논문이다 보니 알고리즘 적인 내용보다 어떻게 처리했는지 디테일 위주다. 메모크게 3단계다.1) 이미지를 InterFaceGAN으로 multiview + 머리 없애고 + 안경 없애고 2) Deep3D 알고리즘을 자체 학습한 것을 돌려 3D Mesh 뽑아내기3..

Paper/Human 2024.12.11

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]. 문제

도커 이미지 잘 구해서 실행시키는데 위 오류가 났다.docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]. 심상치 않아 보이는 오류명 대비 해결법이 간단했다. 해결법 sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker nvidia 컨테이너 툴킷 설치하고 재시작하면 끝

Trouble/Docker 2024.12.09

Pixel Codec Avatars

내 맘대로 Introduction Telecommunication을 목표로 하는 메타 연구 중 하나. 사람 1명에 대한 realistic avatar를 만드는 것을 주목적으로 하되, 실제 위 예시처럼 telecommunication 상황에서 real time으로 사용 가능하도록 하는 것도 염두했다. 여러 사람이 있는 장면을 렌더링한다고 하면 실제 머리에 해당하는 pixel은 적은 영역이므로 적은 pixel만 실시간 렌더링해서 연산량을 줄일 수 있도록 NeRF 컨셉을 적용했다고 한다.  핵심 아이디어는 latent to position map(xyz) + feature -> MLP 붙여서 neural rendering 이다. multiface dataset 세팅에서 취득한 초고품질 데이터로 학습을 시켜서 ..

Paper/Human 2024.12.03

SMPLX uv mapping/coordinate 사용 시 유의점

SMPLX 모델 사용한 연구들이 요새 UV domain도 많이 염두하기 때문에 각 vertex의 uv coordinate 정보도 다루기 시작한 것 같다. 근데 내가 직접 다뤄보니 생각보다 잡고생해야 될 숨은 오류들이 많은데, 미리 적어두려고 한다.  1. SMPLX_NEUTRAL.pkl / SMPLX_MALE.pkl  /SMPLX_FEMALE.pkl 모델 안에 있는 "vt" 사용 금지pkl 모델 자체를 열어보면 안에 vt라는 변수로 총 11313개 uv coordinate가 저장되어 있다. 먼저 왜 모델 vertex 개수인 10475랑 다르냐고 궁금할 수 있는데 3차원 모델을 2차원 uv map으로 쪼개는 과정에서 어쩔 수 없이 여러 번 mapping 해야 되는 경계 vertex들이 있기 때문이다. 예를..

Knowhow/Vision 2024.11.22

BFM 모델 vertex index / uv unwrap coordinates

Face template 모델 중에 FLAEM 다음으로 유명한게 BFM 모델인데 제작된 건 53490 vertex로 구성되어 있다. 하지만 3DDFA에서 inner mouth vertex를 제거해서 295개를 제거해서 53215개로 만들었고, Deep3DFaceReconstruction (Microsoft)에서는 목과 귀를 추가 제거해서 35709개로 만들었다.  후속 연구 각각에서 vertex 개수도 줄이고, UV unwrapped coordinates는 또 53215개 vertex에 대해서만 계산해뒀고 헷갈리는 점이 많아서 따로 정리했다.  Vertex index 위 파일은 초기 full BFM face vertex 53490개 중 inner mouth를 제거한 vertex 53215개로 축소하고 싶..

Knowhow/Vision 2024.11.19

MoGe: Unlocking Accurate Monocular Geometry Estimation for Open-Domain Images with Optimal Training Supervision

내 맘대로 Introduction DUSt3R이 쏘아올린 작은 공 후속편. monocular point map estimation이다. monodepth 추세가 DUSt3R로 인해 mono pointmap으로 넘어온 듯 하다. 단일 입력을 받고, intrinsic에 상관없이 normalized scale의 point cloud가 나오는 방식 DUSt3R과 구조적으로 single input을 받는다는 차이점 외에 focal length ambiguity를 해결하기 위해 scale 에 더불어 translation까지 고려한다는 차이점이 있다. 직관적으로 focal length가 다르면 물체가 다르게 보이기 때문에 같은 위치의 point cloud를 예측하기 힘드니까, translation을 같이 풀어주는 느..

Paper/3D vision 2024.11.19

Cross-view and Cross-pose Completion for 3D Human Understanding

내 맘대로 Introduction CVPR 2024에 나온 Croco human data 버전이다. 드래프트가 arxiv에 공개되었을 때 읽어봤었는데 CVPR2024에 나왔다. Croco라는 논문이 geometry를 타겟으로 하긴 했지만 워낙 좋은 컨셉이다 보니 도메인을 사람으로 한정한 내용이다. 사실 알고리즘적으로 더 뛰어난 내용이 있다기 보다 사람 데이터로 하면 어떤지 실험해본 테크니컬 리포트에 가깝다. 기존 Croco와 달리 human은 non-static object이기 때문에 view point가 달라지는 것 뿐만 아니라 pose가 달라지는 것도 포함되기에 이름에 cross-pose가 추가되었을 뿐 구조와 방식은 동일하다. 데이터가 바뀐 것. 결과적으로 MAE에 때려넣은 것보다 좋은 성능을 보이..

Paper/Human 2024.11.14

argparse 사용 시 list를 argument로 넘겨주기

python 코딩할 때 무조건 쓰게 되는게 argparse인데 argument로 list를 전달해야 될 때 귀찮은 일이 많다. 예를 들어, 아래와 같이 쓰면 될 것이라고 쓰면 된다고 생각하는데parser = argparse.ArgumentParser()parser.add_argument("--something", type=list)args= parser.parse_args() 이렇게 하면 python run.py --something a b c 와 같이 썼을 때 오류 난다. 의도와 다르게 된다. 정석이 대신 아래와 같이 쓰는게 좋다.parser = argparse.ArgumentParser()parser.add_argument("--something", nargs="+")args= parser.parse..

Ubuntu 설치할 때 재부팅 화면에서 멈출 경우

일반적으로 ubuntu는 Ubuntu booting USB를 꽂고, boot priority를 USB로 변경한 뒤에 설치/재부팅하는 과정으로 설치한다. 근데 최근에 USB로 부팅해서 설치까지 하는 것은 순탄하게 됐는데, 재부팅 중 부팅 로고가 보이는 화면에서 멈추는 문제를 겪었다.  진행 중 표시가 뱅글뱅글 돌아가지 않고 계속 freeze되어 있는 버그. 원인그래픽 드라이버가 꼬이는 문제가 대표적이다. 이 상황은 GPU가 달려있는 PC일 때 발생한다.  해결법Recovery mode로 부팅 (GRUB 화면/부팅 로고 화면이 보일 때, ESC나 shift를 누른다.)-> BIOS 진입할 때처럼 연타해버리면 화면이 지나가니까 타이밍 맞춰 1번만 눌러야 한다.선택지가 뜨는데 root를 선택 (터미널로 연결됨)..

Trouble/Linux 2024.11.11