정렬할때 그냥 정렬하는게 아니라 약간의 옵션을 통해 품질증가로 이루어질수 있다
1. 이미지 선정
가급적 왜곡제거를 사용한 이미지를 사용하는게 좋다
아래 이미지를 참고하자
A.원본이미지
B.렌즈왜곡 제거
C. 렌즈왜곡 + 수직정렬
이경우 B가 제일 인식이 잘 된다
이것에 대한 상세한 테스트 결과는 아래 링크를 참고하자
동영상을 이용해 추출할경우 저조도 폰카메라 기준 2초 간격이 좋다
이것은 약 1미터 간격이며
사진이 일정 간격 이상 촘촘하면 연산량만 늘어날뿐 품질증가로는 이어지지 않는데
연산량이 증가하면 사용할수 있는 사진이 줄어드므로 당연히 결과적으로는 품질감소가 된다
24년 기준 폰카메라는 보통 크롭센서가 사용된다
몰론 이건 광각카메라를 이용한 사람이 찍는 지형스캔 기준이고
시야각이 좁은 카메라를 쓰거나
드론을 통한 지형스캔이나 단일 사물의 경우에는 또 달라진다
2. 그룹화
동일한 카메라를 사용했다면 그룹화를 통해 연산시간과 계산오차를 줄일수 있다
먼저 동일한 카메라끼리 선택한다
Lens group를 -1보다 큰 숫자로 동일하게 입력한다
만약 가변초점이 아니라면 Callibration group도 동일하게 구성하면 되는데 왠만하면 -1로 두자
Image downscale factor를 2로 하자
이러면 가로세로 1/2씩 다운스케일한 이미지를 이용해 정렬한다는 소리이다
당연히 인식률과 정밀도가 감소하는데 이렇게 하는 이유는
연산량은 75%가 줄어드는데 인식률과 정밀도는 10% 내외로 감소하기 때문이다
즉 같은시간으로 더 많은 이미지를 사용할수 있고 오히려 품질증가로 이루어진다
어차피 이미지 연결성문제때문에 정렬을 최소 3회 이상 하게 될텐데
시간절약도 되고 맨 마지막 정렬에만 다운스케일을 풀어도 된다
3. 렌즈왜곡 계산방식 설정
광각렌즈나 어안렌즈는 Division을 추천하고
일반 카메라는 Brown3나 Brown4를 추천한다
Division는 왜곡변수를 1개만 이용해서 계산하는것이고
Brown3는 변수를 3개 Brown4는 변수를 4개 사용해서 계산한다
당연히 Brown4가 제일 정확하게 나오지만 왜곡예측이 정밀하지가 않아서
어안렌즈의 경우 Brown3이상 설정하면 잘못된 렌즈왜곡이 사용될 확률이 높다
이상태로 1회 정렬한다
4. 컨트롤 포인트 사용
정렬후에 이미지 연결성이 좋지않다면 컨트롤 포인트를 통해 서로 동일한 이미지라는것을 인식시켜줄수 있다
컨트롤 포인트는 가급적 사진 중앙에 부근에 있는거만 잡고
2개이상 넣지 않고
카메라 각도와 45도 이상 벌어지지 않은 물체에만 넣는게 좋다
컴퓨터가 이미지 연결을 못 하는부분에만 잡는게 좋다
하나하나 손으로 연결하기도 힘들뿐더러 괜히 잘못 넣으면 오히려 결과물이 나쁘게 나온다
그리고 나는 가급적 깊이계산 오류방지를 위해 코너부근에는 안 잡도록 하고있다만
이정도는 자동보정해주는거같기도 하다
중심부근에 잡는 이유는 얘내들 왜곡보정이 그렇게 정밀하지 않아서 외곽에 잡으면 위치오류난다
'3D > 3D 스캔' 카테고리의 다른 글
Reality Capture 카메라 데이터 (0) | 2024.12.30 |
---|---|
360 카메라 3d 스캔 테스트 (0) | 2024.11.20 |
리얼리티 스캔 사용법 (RealityScan) (0) | 2021.02.23 |