분류 전체보기 538

import cv2 시 'numpy._DTypeMeta' object is not subscriptable 오류

pip install opencv-python으로 cv2 설치하는 것은 아주 간단한데, 설치하고 나서 다음 오류가 떴다. Traceback (most recent call last): File "/home/jseob/Desktop/yjs/codes/3DDFA_V2/demo.py", line 7, in import cv2 File "/home/jseob/anaconda3/envs/face/lib/python3.9/site-packages/cv2/__init__.py", line 181, in bootstrap() File "/home/jseob/anaconda3/envs/face/lib/python3.9/site-packages/cv2/__init__.py", line 175, in bootstrap if..

Trouble/Vision 2023.09.04

NeuS2: Fast Learning of Neural Implicit Surfaces for Multi-view Reconstruction

내 맘대로 Introduction 이 논문은 InstantNSR와 같이 SDF based NeRF + InstantNGP를 합친 논문이다. hash table + 2nd order derivative를 구현한 내용이 주기 때문에 부족해보이는 contribution 마저 InstantNSR과 같이 비디오에서 빠르게 하는 방법으로 정했다. NeuS2로 봄과 동시에 InstantNSR2로 보아도 큰 차이가 없다. 보다 나은 점은 더 간결하게 구현했다는 점과 성능이 있겠다. 메모하며 읽기 Static한 경우는 InstantNSR과 같이 크게 언급할 내용이 없다. 데이터 구조를 hash table 사용하는 방식으로 변경했다는 내용임으로 그냥 칸 채우기에 불과하다. Neus + InstantNGP recap에 해당..

Paper/3D vision 2023.09.04

Human Performance Modeling and Rendering via Neural Animated Mesh (a.k.a InstantNSR)

내 맘대로 Introduction 이 논문은 InstantNGP를 SDF based NeRF에 확장한 논문이다. 복원 대상을 사람으로 한정해서 non-rigid motion을 추가했다는 contribution이 있지만 핵심은 SDF base NeRF의 속도를 비약적으로 끌어올리는 것에 있다. 메모하며 읽기 이론적 기반은 NeuS를 그대로 사용했음. 길고 길게 써있지만 Hash grid를 이용한 SDF 학습을 위해 2nd order derivative 계산 방법을 CUDA로 직접 구현했다는 이야기. 부수적으로 구현을 했더니 SDF는 학습 안정성이 떨어져서 sigmoid를 씌워서 TSDF로 사용했다. 2nd order derivate가 핵심인데 이건 설명보다 구현적인 것이라 논문에 기재되어 있지 않음. 근데..

Paper/Human 2023.09.01

이미지가 일부가 깨져 열리지 않는 문제 : image file is truncated

이미지 파일이 잘 존재하고 뷰어로는 잘 열리는 상황에서도 opencv cv2.imread로 이미지가 읽히지 않는 현상이 있다. 결론부터 말하면 이미지 파일이 손상되어있는 것이 원인인데 뷰어에서는 열리므로 약간 손상되어있는 것이다. 자세히 보면 아래 사진처럼 뷰어에서 일부가 회색으로 보일 것이다. 이미지가 실제로 (128, 128, 128)을 갖는 것이 아니라 pixel에 값이 존재 하지 않는 것이다. 문제 상황 check0 = os.path.exists(img_path) # True check1 = os.path.isfile(img_path) # True cvimg = cv2.imread(img_path) # None pilimg = Image.open(img_path) # image file is tr..

Trouble/Vision 2023.08.25

삶의 무기가 되는 쓸모 있는 경제학

읽게 된 계기역시나 출퇴근용 책이었다. 아무 부담없이 상식처럼 듣기 좋을 것 같아 골랐다. 짧은 평딱 기대했던 만큼의 상식 책이다. 하나하나 끊어져있는 별개의 이야기로 나뉘어져 있는데 각각은 심리학과 행동 경제학을 오가면서 사례 하나씩을 소개한다. 사람의 심리나 행동을 말하기 때문에 흥미롭게 볼 만하다. 기억나는 예시로는, 사람은 해명을 하고자 하면 반대로 각인이 되어버리는 프레임에 자주 갇히는데 이 사실로 하여금 해명보다는 프레임을 교체하는 식으로 문제를 해결하는게 더 빠르다는 점이다. 남들한테 욕을 먹을 지언정 해명보다 프레임을 교체해서 주위를 돌리는 것이 더 빠른 문제 해결 방식이기 때문에 정치인이나 기업가들도 자주 쓴다는 말을 듣고 무릎을 탁 쳤다. 개념없고 양심없어서 이야기를 돌리는 것이 아니라..

Book/Fun 2023.08.24

3D Registration with Maximal Cliques

내 맘대로 Introduction 제목에서도 심플함이 느껴지는데 point cloud registration을 잘하는 논문이다. 딥러닝을 쓰지도 않았고 복잡한 개념도 없이, 정합을 위해 집중해야하는 영역들을 잘 추려내는 것에 집중해서 성능을 끌어올렸다. 아이디어가 심플함에도 성능 향상이 커서 CVPR 2023 student best paper를 수상한 논문이다. 대단.. 핵심은 maximum clique (graph theory에서 나옴)로 추린 점들을 비교했었는데 maximal clique로 추린 점들을 비교한 것이다. 메모하며 읽기 일단 maximum과 maximal의 차이를 알아야한다. (나도 처음 알았다...) --- An element is a maximum if it is larger than..

Paper/3D vision 2023.08.21

DoF-NeRF: Depth-of-Field Meets Neural Radiance Fields

내 맘대로 Introduction Depth of field NeRF라는 이름을 보면 단번에 알 수 있듯이, 카메라로 취득한 이미지라면 초점이 반드시 존재하는데 이 초점을 고려해서 NeRF를 학습시키는 방법을 소개한다. 기존 NeRF에서는 이미지의 모든 픽셀이 초점이 맞는 상태를 가정하는데 이 상황은 피사체가 depth of field 내에 들어와있다는 가정이다. 하지만 근거리부터 장거리가 모두 포함된 scene이나 피사체를 찍을 경우 depth of field를 벗어난 경우가 반드시 생기고 이 경우 성능 하락이 발생한다. 이 논문에서는 depth of field를 계산하고 이를 volume rendering 과정에 포함시켜서 이 문제를 해결한다. 화려한 논문은 아니어도 문제 정의가 좋고 방법론도 복잡하..

Paper/3D vision 2023.08.18

Image flickering

카메라로 실내에서 이미지를 찍었는데 위와 같이 이미지에 검은색 줄무늬가 생기는 현상이 생길 때가 있다. 결론부터 말하면 이러한 image flickering 현상은 조명 때문이다. 조명의 Hz가 카메라의 셔터 스피드보다 빠르기 때문에 촬영하는 찰나에 빛이 꺼졌다 켜졌다하는 것이 이미지에 그대로 잡히는 것이다. 우리 나라 교류 전원은 60hz로 초당 60회 진동한다. 따라서 카메라 셔터 스피드가 이보다 느릴 시 위와 같은 현상이 나타날 수 있다. 다른 말로 카메라가 60FPS가 안 나오는 카메라라면 위 현상이 나타날 수 있다는 말이다. 카메라가 60FPS보다 낮은 FPS를 갖고 있음에도 관찰되지 않는 이유는 실내 조명이 LED와 같이 직류 전원을 이용하는 전원일 것이다. 어떻게 없앨 수 있을까? 이론 상 ..

Knowledge/Vision 2023.08.17

이미지 회전에 맞추어 intrinsic/extrinsic calibration 값 회전시키기

실제 카메라를 설치할 때 공간적 제약 혹은 화각의 문제로 카메라를 돌려서 설치하는 경우가 있다. 시계 방향으로 90도 혹은 반시계 방향으로 90도가 가장 흔한 경우인데 이 때 이미지는 또 똑바로 보고 싶을 때도 많다. 이미지만 사용할 경우에야 간단히 cv2.rotate를 쓰든 numpy를 쓰든 돌리면 끝이지만 만약 카메라 캘리브레이션 값도 같이 써야할 경우는 귀찮은 일이 많이 생긴다. 90도 돌린 경우에 intrinsic parameter는 focal length, fx, fy를 서로 스위칭해주어야 하고 principal point는 회전 방향에 따라 값을 재계산해주어야 한다. 또한 extrinsinc parameter 역시 yaw rotation을 가해주어야 한다. 계산하는 것이 어렵지는 않다만 귀찮고..

Knowhow/Vision 2023.08.17

아비투스

읽게 된 계기 친형이 추천해준 도서 목록 중 한 권이었다. 자기계발서가 오랜만에 읽고 싶었는데 뭐 읽을까 찾다가 골랐다. 내가 스스로 검색해서 찾았다면 못 찾았을 책인 것 같다. 짧은 평 요근래 읽은 자기계발서 중 가장 와닿는 책이었다. 다른 책 같은 경우, 본인의 영웅담이나 성공담을 늘어놓고 으쌰으쌰하라는 결론이 대부분인데 이 책은 조금 다른 느낌이었다. 특히 돈에 관련된 이야기가 90% 정도되었던 것 같은데 이 책은 사람이 살면서 품격있게, 상류층이라고 불리며 살기 위해서 필요한 여러 측면의 모습들을 소개하기 때문에 시야가 좀 더 넓은 책이라 좋았다. 또, 이래라 저래라 하는 책이 아니라 그냥 상류층 사람들이 이런 모습을 갖고 있더라. 중산층이랑 어떤 차이가 있더라 하고 보여주는데 먼저 집중하기 때문..

Book/Motivation 2023.08.16