전체 글 538

Expressive Whole-Body 3D Gaussian Avatar

내 맘대로 Introduction 이 논문은 video -> SMPLX(+offset) + LBS. 비디오에서 해당 사람의 animatalbe avatar를 얻어내는 것이 목적.  핵심 아이디어는 1) HybrIK-X + DECA + mmpose를 다 활용한 강한 초기화 (registration) 2) triplane으로 per-vertex offset, isotropic 3DGS 값 찾기 이다. 알고리즘적 진일보보다 기존 알고리즘들 잘 활용하고, 섬세하게 최적화해서 완성도를 높이는데 기여한 논문이라고 생각한다. 논문에 기재된 전처리, 후처리, 최적화 노하우 밑에 한 스텝 한 스텝 보다 높은 완성도를 위해 구른 내용이 있어 보인다.  HybrIK-X, DECA에서 발생하는 noise 뿐만 아니라 mmpo..

Paper/Human 2024.08.06

XCiT: Cross-Covariance Image Transformers

내 맘대로 Introduction2021년 나온 논문이긴 한데 Facebook에서 낸 논문으로 아직까지도 잘 인용되는 논문. transformer 구조의 연산량 문제를 해결하는 구조 제안 논문이다.  핵심 아이디어는 NxN self-attention이 겪는 quadratic complexity 문제를 Nxd 수준의 linear complexity 문제로 바꾸는 방법이다. 토큰 개수가 늘어날수록 연산량이 제곱배로 증가하기 때문에 보통 transformer는 이미지 해상도를 제한할 수 밖에 없는데 이 논문은 high resolution 이미지도 transformer로 처리할 수 있도록 self-attention을 변형했다.  아이디어가 간단하지만 굉장히 좋다고 생각한다.  메모기본적으로 self-attent..

Paper/Others 2024.08.06

Unit cube vertices, faces index (pytorch3d cube 만들기)

open3d는 다음과 같은 method가 주어져서 cube를 만드는게 뚝딱이다. cube = o3d.geometry.TriangleMesh.create_box() 아쉽게도 pytorch3d에는 이게 없어서 직접 cube의 8개 vertex와 face를 지정해준 뒤 직접 만들어야 하는데, 이게 매번 할 때마다 엄청 귀찮다. 정육면체니까 6개 face만 만들면 될 것 같지만 triangle face기 때문에 12개의 face를 만들어야 하고, 구성하는 vertex indexing 순서에 따라 normal이 뒤집힐 수도 있기 때문에 렌더링까지 잘되게 하려면 face 방향도 매번 신경써야 한다. 엄청 귀찮다... 반복 노동을 줄이기 위해 복사 붙여넣기 용으로 기록해둔다. from pytorch3d.structu..

Knowhow/Vision 2024.08.05

Torch model to ONNX model 변환 시 유의사항 (pytorch model과 ONNX 모델 결과가 다를 때)

pytorch model을 ONNX로 변환해서 사용하고자 할 때 onnx를 직접 쓸 수도 있지만 가장 편하게 쓰는 방법은 torch.onnx.export를 쓰는 방법이다.  https://pytorch.org/tutorials/advanced/super_resolution_with_onnxruntime.html (optional) Exporting a Model from PyTorch to ONNX and Running it using ONNX Runtime — PyTorch Tutorials 2.4.0+cu121 documentatNote Click here to download the full example code (optional) Exporting a Model from PyTorch to ON..

ImportError: ../lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found

pytorch 쓸 때도 위와 같은 오류가 발견되곤 한다고 하는데, 나는 Instant-ngp를 사용하는 과정에서 위 오류를 만났다.  pyngp_path = '/home/jseob/Desktop/yjs/codes/instant-ngp/build'sys.path.append(pyngp_path)import pyngp as ngp 위와 같이 instant-ngp build가 완료되면 pyngp.cpython-38-x86_64-linux-gnu.so 와 같은 파일이 생긴 build 폴더가 생기고, 그 경로를 환경 변수에 넣어준다면 ngp가 정상적으로 import 되어야 한다. (No module named pyngp 오류가 난다면 그건 build가 잘못된 것. 아마 build할 때 환경과 사용하는 환경의 py..

High-Quality Facial Geometry and Appearance Capture at Home

내 맘대로 Introduction SDF + BRDF NeRF. 디테일이 추가된 차이가 있지 큰 그림에서는 기존 NeRF를 활용한 논문. 하지만 데이터 취득을 플래쉬를 켠 휴대폰으로 독특하게 설정한 점이 돋보인다. 조명을 다루는 것은 세팅이 워낙 필요해서 일반 사용자가 하는 것은 거의 무리라고 여겨졌는데, 핸드폰 조명을 이용했다는 점이 인정받은 것 같다. 내가 생각해도 좋은 시도인 것 같다. 휴대폰으로 25초 정도, 어두운 공간에서 플래쉬를 켠 채 영상을 촬영하는 식이다. 이 때 25초 정도 같은 표정을 최대로 유지해야 한다. 이부분이 좀 맹점이기 때문에 전체 성능이 조금 낮아졌을 듯 하다. 메모어두운 공간에서 플래쉬 켠 채 25초 정도 자기 얼굴을 최대한 같은 표정을 유지한 상태로 촬영한다. 크기만 적..

Paper/Human 2024.07.31

BFM face model 파라미터로 변형하기 (cropped BFM 2009 버전 예시)

https://faces.dmi.unibas.ch/bfm/index.php?nav=1-1-0&id=details MorphaceThis page is part of the old Basel Face Model from 2009, find most recent Basel Face Model here. Basel Face Model - Details Details of the Basel Face Model The geometry of the BFM consists of 53,490 3D vertices connected by 160,470 triangles. Faces of difffaces.dmi.unibas.ch BFM은 2009년 처음 만들어진 모델이지만 2017년, 2019년 총 2차례에 걸쳐 리뉴얼..

Knowhow/Vision 2024.07.30

Open3d mesh uv coordinate

이전 글 Trimesh to Open3d TriangleMesh 에서 짧게 적어두긴 했는데, open3d는 기존 graphic tool에서 쓰는 uv 좌표계랑 다르게 쓰는 특징이 있다.  OBJ가 들고 있는 UV 값이 있을 때, 이를 trimesh나 meshlab 등 각종 라이브러리나 툴에서 이를 읽을 때와 open3d로 읽을 때 방향이 반대다.  위와 같이 mesh와 uv map이 주어졌다고 보자.  trimesh.load_mesh()로 불러온 mesh와 o3d.io.read_triangle_mesh()로 불러온 mesh 내에 UV 값 자체는 똑같다.Convention trimesh나 다른 툴들은 그 값을 갖고 texture map을 읽을 때, 위와 같이 좌측 하단에 원점을 두고 UV 값을 읽는다. (..

Knowhow/Vision 2024.07.30

SHIC: Shape-Image Correspondences with no Keypoint Supervision

내 맘대로 Introduction 이 논문은 3D template mesh image object 간의 correspondence를 찾는 논문이다. 3D-2D correspondence를 찾는 문제인데 이때 3D가 template mesh로 semantic하게만 2D와 맞아떨어지는 3D다. 예를 들어 고양이 template mesh와 모든 고양이 이미지 간의 correspondence를 찾는 논문이다.  연구적인 레벨이라서 실용성과는 아직 거리가 있는 논문이긴 한데 활용을 생각해보면, 서로 다른 고양이 이미지 간의 semantic correspondence를 찾을 때 3D template mesh를 매개로 사용하여 찾을 수 있다는 정도가 있다. 핵심 아이디어는 GT를 만들기 힘들기 때문에 이를 SD-D..

Paper/Others 2024.07.30