반응형
광각 카메라 모델 중 double sphere 모델을 보면 수식 상 다음과 같이 projection이 실패하는 조건이 있다.
![]() | ![]() |
여기서 저 수식 (43)이 의미하는 범위가 대충 지금 광각 카메라가 표현할 수 있는 화각 범위 밖이라는 느낌은 오는데 정확히 어떤 형태인지가 궁금했다.
내가 캘리브레이션했었던 double sphere 모델 주변에 point를 채우고 수식(43) 조건에 필터링되는 point만 남기면 다음 그림과 같다.
![](https://blog.kakaocdn.net/dn/b5wzgo/btsFho2dUEi/vzk4yi4Cj3PkUWjHUmD9h1/img.png)
![](https://blog.kakaocdn.net/dn/beUFFd/btsFgSbthHg/WlyoazfxunX2ndtjOgqzy1/img.png)
예상했던 것과 같이 카메라 뒤로 원뿔 형태로 퍼지는 영역이 잡힌다. 광각 이미지가 동심원을 그리듯 표현되어 있고 렌즈도 원이기 때문에 projection-failed 영역은 원뿔 모양이었다.
invalid projection 을 그냥 무시하고 구현을 해왔었는데 영역을 보니... 무조건 필터링해줘야 할 것 같다.
특히 최적화 과정에서 저 invalid region에서 발생하는 residual을 걸러주지 않으니 최적화가 잘 진행되지 않았다.
무조건 걸러주자. 만들어 둔데는 다 이유가 있다.
반응형
'Knowhow > Vision' 카테고리의 다른 글
Opencv imread/imwrite vs PIL open/save speed 및 memory 비교 (0) | 2024.06.22 |
---|---|
COCO bounding box format, scale factor (0) | 2024.04.25 |
Fisheye 카메라 모델도 solvePnP 이용해서 자세 초기화/추정하는 방법 (0) | 2024.02.28 |
COLMAP[python] pycolmap 보다 편하게 colmap 사용하기 (0) | 2023.12.07 |
RealityCapture camera coordinate to opencv(vision) camera coordinate (0) | 2023.12.06 |