[논문 리뷰] Pointing Gesture-based Large Display Interface with Automatic Display-Camera Calibration

2024. 11. 9. 17:22컴퓨터비전&AI

반응형

  깊이 카메라를 활용하여 포인팅 제스처 기반 대형 디스플레이 인터페이스 시스템을 제안. 사용자 손의 포인팅 제스처를 인식하여 대형 디스플레이와 상호작용하며, 디스플레이와 카메라 간 자동 보정을 통해 효율적으로 동작.

깊이 카메라를 사용하여 자동으로 디스플레이와의 정렬을 맞추고, 손과 어깨 위치를 감지해 포인팅 제스처를 인식합니다.

 

2. 자동 보정 절차

디스플레이와 카메라 간의 자동 보정은 크게 세 단계로 나뉩니다:

 

1. 카메라와 디스플레이의 4개의 모서리 검출: RGB-D 카메라로 카메라의 광학 중심점디스플레이의 4개의 모서리 점을 검출

 

1-1. 카메라의 광학 중심점 검출: 카메라의 광학 중심점 Oc=(xc,yc,zc)O_c = (x_c, y_c, z_c)를 검출합니다. 이 중심점은 카메라의 좌표계를 기준으로 디스플레이와의 상대적 위치를 계산하는 데 사용됩니다.

1-2. 디스플레이 모서리 점 검출: 디스플레이의 각 모서리 점 C1=(x1,y1,z1) C2=(x2,y2,z2), C3=(x3,y3,z3), C4=(x4,y4,z4)을 검출. 이 모서리 점들은 3D 공간에서 디스플레이의 위치를 정의하는 중요한 기준이 됨.

 

  • SIFT (Scale-Invariant Feature Transform): 디스플레이 모서리 점을 검출하기 위해 사용된 알고리즘 중 하나로, 다양한 크기와 각도에서도 동일한 특징을 찾을 수 있도록 도와줍니다. 이는 2D 이미지에서 특징을 안정적으로 찾는 데 유용합니다.
  • Harris Corner Detection: 디스플레이의 모서리를 찾기 위해 2D 컬러 이미지에서 적용된 또 다른 알고리즘입니다. Harris 코너 검출은 코너(모서리)와 같은 특정 특징을 감지하는 데 효과적입니다.

=> 카메라의 중심점과 디스플레이의 모서리 점 검출

 

 

2. 좌표 변환: 디스플레이의 각 모서리 점과 카메라 위치 간의 벡터를 계산.

디스플레이의 각 모서리 점으로부터 카메라 위치까지의 벡터, 디스플레이의 4개의 모서리 점과 카메라의 상대적 위치

 

=> 벡터들은 디스플레이와 카메라 간의 상대적 위치를 나타내며, 이후 디스플레이 평면을 정의하는 데 사용

 

3. 디스플레이 평면 추정: 변환된 좌표를 사용하여 디스플레이 평면의 수학적 방정식을 도출합니다.

디스플레이 평면을 정의하는 방정식

dxi,dyi,dzi는 디스플레이의 각 모서리 점에서 카메라 위치까지의 벡터, a, , , 는 디스플레이 평면의 방정식 계수

 

포인트 레이 방정식

H=(hx,hy,hz)는 손 위치, S=(sx,sy,sz)는 어깨 위치. 손과 어깨를 잇는 직선을 통해 포인팅 방향을 나타내며, 이 직선을 '포인팅 레이'

교차점 계산을 위한 파라메트릭 방정식

⟨dx,dy,dz⟩는 포인팅 방향 벡터이고, 는 직선 방정식에서의 매개변수. 는 포인팅 레이와 디스플레이 평면이 만나는 교차점 위치.

교차점 조건식

를 평면 방정식에 대입하여 를 구할 수 있으며, 이 값을 이용해 정확한 교차점을 계산

=> 손과 어깨 위치를 기반으로 사용자의 포인팅 방향 계산, 디스플레이 평면과 교차하는 지점을 찾음. 이는 디스플레이 상에서 포인팅 위치를 정확히 인식.

3. 포인팅 제스처 인식

포인팅 제스처 인식 과정은 다음 세 단계로 구성됩니다:

  • 손과 어깨 검출: 사용자의 손과 어깨 위치를 감지하여 포인팅 방향을 추정합니다.
  • 포인팅 레이 추정: 손과 어깨 좌표를 기반으로 포인팅 방향 벡터를 계산합니다.
  • 교차점 계산: 포인팅 레이와 디스플레이 평면이 만나는 지점을 계산하여 정확한 지점을 인식합니다.

오프라인 단계 (Off-Line)

: 디스플레이와 카메라 간의 보정 작업.

  1. 카메라 입력 (Camera Input): 카메라를 통해 디스플레이와 주변 환경의 이미지를 입력받음.
  2. 디스플레이 모서리 및 카메라 검출 (Display corners and camera detection): 디스플레이의 4개의 모서리 점과 카메라 위치를 검출. 이 과정에서 SIFT와 Harris Corner Detection 등의 알고리즘을 사용하여 디스플레이 모서리를 안정적으로 찾음.
  3. 좌표 변환 (Coordinate conversion): 검출된 모서리 점과 카메라 위치를 이용하여 디스플레이와 카메라의 상대 좌표계를 설정. 이 변환을 통해 두 개체 간의 위치 관계를 정밀하게 정의.
  4. 3D 디스플레이 평면 추정 (3D Display plane estimation): 디스플레이의 4개의 모서리 점을 기반으로 디스플레이 평면의 방정식을 추정합니다. 이를 통해 화면 상의 어느 지점이 포인팅 제스처에 대응하는지 계산할 수 있습니다.

온라인 단계 (On-Line)

: 사용자의 포인팅 제스처를 인식하고 디스플레이와 상호작용하는 작업.

  1. 카메라 입력 (Camera Input): 사용자 이미지가 카메라로 입력.
  2. 손과 어깨 검출 (Hand & shoulder detection): 사용자의 손과 어깨 위치를 검출하여 포인팅 방향을 추정하기 위한 기초 데이터를 수집.
  3. 3D 포인팅 레이 추정 (3D Pointing ray estimation): 손과 어깨 위치를 통해 포인팅 방향 벡터(레이)를 계산. 이 레이는 사용자가 디스플레이의 어느 지점을 가리키는지 결정하는 데 사용.
  4. 3D 교차점 계산 (3D Intersection point calculation): 포인팅 레이와 디스플레이 평면이 만나는 교차점을 계산. 이 교차점을 통해 사용자가 실제로 디스플레이의 어느 지점을 가리키는지 확인 가능.

요약

오프라인 단계에서 디스플레이와 카메라 간의 위치 관계를 보정하고, 온라인 단계에서는 사용자의 포인팅 제스처를 인식하여 디스플레이와의 상호작용을 가능. 이 과정을 통해 사용자와 대형 디스플레이 간의 자연스러운 인터페이스가 구현.

반응형