Projects/AI 아이트래킹 모델 프로젝트

[도메인 공부 ] 1. 스테레오 알고리즘

ha2yong 2025. 9. 10. 17:40

현재 봉착한 문제는 2d 이미지에서 사물의 거리, 시점이 어디를 가리키고 있는가에 대한 것이다.

스테레오 알고리즘은 이를 해결할 수 있을것으로 보인다.

 

스테레오 카메라(눈 두 개 같은 역할)로 깊이(depth)를 구하는 과정을 단계별로 보자.


1. 두 눈(카메라)로 본다

  • 우리가 물체를 볼 때 왼쪽 눈과 오른쪽 눈이 보는 그림이 살짝 다르다.
  • 예를 들어, 손가락을 코 앞에 두면 왼쪽 눈에서는 배경이 오른쪽으로, 오른쪽 눈에서는 배경이 왼쪽으로 살짝 밀려 보이지? → 이게 바로 시차(disparity) 라고 불러.

2. 시차(disparity) 구하기

  • 카메라 두 대로 같은 물체를 찍었을 때, 같은 물체가 왼쪽 사진과 오른쪽 사진에서 몇 픽셀이나 옆으로 움직였는지 비교한다.
# 예: 물체가 왼쪽 카메라에서는 x=120px, 오른쪽 카메라에서는 x=100px 위치에 있으면, 시차는

d=120−100=20픽셀

3. 깊이(거리) 계산하기

  • 깊이는 아래 공식으로 구한다:

  • f: 카메라 렌즈의 초점거리(보통 카메라 보정으로 알 수 있음)
  • B: 두 카메라 사이 거리(베이스라인, baseline)
  • d: 두 눈에서 본 물체의 시차


5. Depth Map 만들기

  • 한 장의 사진에는 수많은 픽셀이 있지?
  • 각 픽셀마다 왼쪽/오른쪽에서 얼마나 어긋나 있는지(시차) 를 계산해서 깊이를 구한다.
  • 이렇게 하면, 전체 화면에 대해 “깊이 값”이 담긴 그림(= depth map)을 만들 수 있다.
    • 가까운 물체는 밝게(값이 작음)
    • 먼 물체는 어둡게(값이 큼)
    • 이런 식으로 흑백으로 표현되는 게 일반적이야.

👉 정리하면:

  1. 두 카메라로 같은 장면을 찍는다.
  2. 같은 물체가 왼쪽/오른쪽에서 얼마나 옆으로 어긋났는지(시차)를 찾는다.
  3. 공식 Z=fB/d 로 거리 계산한다.
  4. 모든 픽셀에 대해 이 계산을 하면 depth map이 된다.

 


1. 우리가 흔히 말하는 "24mm, 70mm"

  • 네가 말한 24mm, 70mm 같은 건 실제 렌즈의 물리적 초점거리

2. 스테레오 알고리즘에서의 "초점거리 f"

  • 깊이를 계산할 때 쓰는 초점거리 f픽셀 단위로 바꾼 값이야.
  • 왜냐하면 우리가 disparity(시차)를 “픽셀 단위”로 구하기 때문이야.
  • 즉, 렌즈의 mm 단위 초점거리를 카메라 센서의 픽셀 크기와 변환해서 계산해야 해.