어쩌다보니 이번에는 Photogrammetry이다.
메모리는 충분한가!!!!
메모리는 정말 다다익선이다. 현재 돌리고 있는 프로젝트의 사진 수는 약 8,000장이고 32GB의 메모리에서 동작시키고 있다. Out Of Memory가 발생한다….
결국 사진의 양을 줄이면 해결되지만 조금이라도 더 디테일하게 표현하고 싶다면 메모리는 많은게 좋다.
약간의 테스트 결과 대략 5500장의 사진을 돌리는데 약 52GB의 메모리가 소모되었다. 물론 대상 물체에 따라 소모되는 메모리는 다를 것이다.
그리고 생각보다 CPU, GPU는 엄청 중요하진 않다. 그냥 시간이 오래 걸릴 뿐… 아, 단 GPU는 NVIDIA 인게 좋다.
CPU 발열은 어떻게 하지?
이건… 좀 특별한 상황인데 현재 RealityCapture가 설치된 HW가 노트북이다. 물론 데스크탑도 동일하겠지만… 이미지를 정렬하다보면 CPU를 계속해서 100% 찍고 있는다. 이런 경우 발열에 의한 쓰로틀링이 발생한다.
그래서 선풍기를 돌리고 있다.
선풍기를 돌리게 되면 아무래도 쓰로틀링이 안 걸리고 성능 확보가 가능해진다. 그런데… 근본 해결책은 아니므로 쿨링 시스템을 업그레이드 하는 것이 좋다.
Control Point를 잘 활용하자.
당연히 사진을 처음에 잘 찍어오는 것이 좋지만 잘 찍는다고 찍어도 이미지 정렬이 안되는 사진들이 발생한다.
해당 사진을 무시하면 좋지만 아무래도 퀄리티를 원하다보니 한장 한장이 너무 소중한 내 새끼다.
그럴 경우에는 Control Point를 활용해서 각 사진에 수동으로 찍어서 정렬할 수 있다. 거기다가 Control Point로 랜더링 Reconstruction Region 지정, Ground Plane 지정 등 다양한 작업이 가능하므로 필요에 따라서 미리 찍어 활용하는 것이 좋을 듯 하다.
생각보다 동영상으로도 Photogrammetry가 잘된다.
지금 작업을 사진 + 동영상으로 작업중인데 생각보다 동영상 프레임을 잘라서 Photogrammetry를 수행하는게 퀄리티가 좋다. 아무래도 사진을 찍는 것보다 동영상 찍는게 편하니 활용하면 좋은 결과를 얻을 수 있다. 거기다가 이 부위를 찍었는지 고민도 덜해도 된다.
테스트 결과 이왕이면 60fps, 4k로 찍어서 1초 단위로 끊어 돌리는게 좋았다. 물론 동영상 찍는 속도에 따라 최적의 결과는 달라지니 참고 하면 될 것 같다.