전체 글 441

Python OpenCV solvePnP 이유 모를 type error

OpenCV solvePnP 함수는 자세 초기화할 때 자주 쓰는 함수로 매우 익숙하다. 주요 주의사항으로는 입력값 3d point (object point), 2d point (image point), mtx(intrinsic matrix), distortion coefficient 들이 float이나 double 형을 유지해야 한다는 점이다. (float, double 섞여도 되지만 권장하진 않음.) python이라면 np.float32이나 np.float64로 통일해서 사용해야 한다. 그렇지 않으면 다음 에러를 만날 수 있다. cv2.error: OpenCV(4.7.0) /io/opencv/modules/calib3d/src/solvepnp.cpp:838: error: (-215:Assertion f..

Trouble/OpenCV 2024.02.22

시작의 기술

읽게 된 계기 밀리의 서재에서 새 책을 뒤지던 중, 눈에 익은 제목이 보여서 골랐다. 자기계발서 냄새가 짙은 제목이어서 어느 정도 예상이 되는 내용이려니 싶었고 그렇게 기대는 하지 않았던 것 같다. 짧은 평 오랜만에 자기계발서를 읽으면서 감명을 받았다고 해야 하나 위로를 받았다고 해야 하나. 사실 특별한 내용을 알게 돼서 감명을 받은 것은 아니니 위로나 응원을 받았다고 하는 것이 맞겠다. 저자의 말투가 우쭈쭈, 괜찮아요 하는 말투가 아니고 단언 하듯이 강하고 명료하게 말하는 말투다 보니 불편할 수도 있다고 서두에 적혀있는데 오히려 그런 말투가 더 응원받는 느낌을 주어서 개인적으로 좋았다. 자기 파멸적 독백을 해본 자들에게 추천하는 책이라고 하는데, 요즘 내가 스트레스와 불안을 많이 겪고 무기력과 우울감도..

Book/Motivation 2024.02.18

Drivable 3D Gaussian Avatars

내 맘대로 Introduction 이 논문은 3d scan 내지 mesh가 주어졌을 때 3d gaussian과 엮어서 avatar로 만드는 방법을 적는다. 그냥 scan to animatable avatar로 가도 되지만 novelty가 떨어져 realistic rendering을 같이 가져간다는 컨셉으로 3d gaussian을 추가한 것 같다. 핵심 아이디어는 scan 내지 mesh를 tetrahedron으로 쪼개고, 그 안에 3d gaussian을 가두는 것이다. tetrahedron을 변형할 경우, barycentric coordinate로 표현된 내부 3d gs들이 따라움직일 것이므로, deformed avatar rendering이 자동으로 따라온다는 내용이다. 자잘하게 skeleton, fac..

Paper/Human 2024.02.18

Mesh-based Gaussian Splatting for Real-time Large-scale Deformation

내 맘대로 Introduction 요즘 부쩍 mesh랑 3d gaussian을 엮으려는 시도가 많은 것 같다. 3d gaussian splatting이 기존 graphics tool에 그냥 갖다붙이기가 가능한 형태인 만큼 mesh랑 엮어서 세트로 가져갈 수 있게 하려는 것 같다. 이 논문은 3d gaussian들을 mesh face에 구속한 형태로 splatting해서 mesh deformation이 gaussian deformation을 직접 결정하게 하는 논문이다. mesh deformation은 control point를 이용하는 방법이든 손으로 하든 명확히 정의가 되어있으므로, 여기에 얹기만 하면 3d gaussian도 자연스럽게 deformation이 가능해진다는 논리다. 핵심 아이디어는 3d ..

Gaussian Head Avatar: Ultra High-fidelity Head Avatar via Dynamic Gaussians

내 맘대로 Introduction 제목에서도 할 수 있다시피 gaussian splatting을 이용해서 head 복원을 하는데, expression을 자유자재로 바꿀 수 있도록 아바탕 형태로 복원하는 것을 목표로 한다. head의 경우 body와 달리 자유도가 낮기 때문에 복원이 쉽다는 장점이 있지만 사람의 identity를 결정하는 주요한 부분이므로 복원 퀄리티가 압도적으로 높아야 한다. 이 논문은 expression을 바꿀 수 있는 것에도 주목했지만 어떻게 퀄리티를 끌어올릴지도 고민한 논문이다. 핵심 아이디어는 NeuS로 강력한 초기값 계산 -> 3d gaussian splatting -> rendering -> super resolution 이다. 부족한 퀄리티를 강력한 초기화랑 super res..

Paper/Human 2024.02.17

VScode를 활용한 container 원격 활용 방법 (VScode로 remote container 사용하기)

이전에 VScode를 running docker container에 붙여서 사용하는 방식을 정리한 바 있는데 (링크) 이번엔 VScode를 이용해 원격 PC에서 동작하고 있는 docker container에 접근하는 방법을 기록해보고자 한다. VScode가 보면 볼수록 편의성이 뛰어난 툴인 것 같다. Server PC에서 할 일 (원격 연결 당할 PC, container를 갖고 있는 PC) ssh 세팅을 완벽히 해두어야 한다. ssh로 연결됨을 확인해두면 특별히 VScode 관련해서 할 일은 없다. ssh 세팅은 이전 글 (링크) 참고해서 하면 되겠다. 계정 이름과 IP 그리고 포트 번호는 꼭 기억해두자. Client PC에서 할 일 (원격 연결 시도할 PC) 역시나 ssh 세팅은 당연히 되어있어야 한다..

Knowhow/Docker 2024.02.14

ubuntu 간 ssh 원격 연결하기

원격 업무 ubuntu PC로 본다면 사실 상 ssh는 필수다. 터미널만 있으면 작업이 가능한데다, vscode가 remote docker container에도 붙을 수 있기 때문에 GUI 작업도 ssh로 붙을 수만 있으면 ubuntu 원격은 쉽다. 그런데 매번 설정할 때마다 간단한 듯 하면서도 자잘한 오류나 삽질을 많이 해서 한 번 정리해두고자 한다. Server, Client 공통으로 할 일 ssh가 기본이니 ssh는 설치가 당연히 되어있어야 한다. sudo apt update sudo apt install ssh sudo service ssh start service ssh status 아래와 같이 active (running) 상태로 보이면 정상적으로 설치되고 동작하고 있는 것이다. Issue 간..

Knowhow/Linux 2024.02.14

Rig3DGS: Creating Controllable Portraits from Casual Monocular Videos

내 맘대로 Introduction 이 논문은 Adobe research 과제로 나온 논문 같은데 왠지 곧 CVPR에 나올 것 같다. 하고자 하는 것은 head mesh model +3d gaussian splatting을 합쳐서 animatable head rendering을 가능하도록 만드는 것이다. 머리를 제외한 대부분 형상(배경, 몸 등)이 고정되어 있다는 전제하에 머리를 가누거나 돌리는 이미지 렌더링을 할 수 있다. 핵심 아이디어는 특별하진 않은데, FLAME이라는 head mesh model vertex를 시작으로 densification하는 것 + vertex prior를 이용해 regularization을 가하는 방식이다. 가장 심플하게 생각할 수 있느 아이디어라고 생각하는데 가장 빠르게 구..

Paper/Human 2024.02.13