[CV] Perspective Projection (원근 투영법): Camera to Image

2024. 7. 6. 12:01·Programming/DIP
728x90
728x90

Perspective Projection

 3D 물체를 2D 평면에 투영하는 방법 중 하나를 의미함. 
 이는 컴퓨터 그래픽스, 디자인, 건축 등에서 주로 사용됨.

  1. 기술적 정의:
    • Perspective Projection은 원근법을 적용하여 3D 공간에 있는 점들을 2D 평면에 투영하는 기법임.
    • 이것은 실제 인간의 눈이 사물을 보는 방식과 유사하게,
      • 더 먼 객체는 작게,
      • 더 가까운 객체는 크게 보이도록 하는 방법임.
  2. 원리:
    • 이 방법은 시점(Viewpoint)과 투영면(Projection Plane) 사이의 관계를 통해 객체를 투영하는 원리임.
    • 이를 통해 3차원 객체가 평면에서 자연스럽고 현실감 있게 보이도록 하는 기법임.

Perspective Projection은 시각적 리얼리즘을 구현하거나 Camera로 얻어지는 image의 기하학적 관계를 모델링하는데 사용되는 기술임.


수학적으로 Projective Geometry 에서 많이 다룸.

2024.06.16 - [.../Math] - [Math] Geometry: Euclidean, Projective, Non-Euclidean

 

[Math] Geometry: Euclidean, Projective, Non-Euclidean

Euclidean Geometry(유클리드 기하학), Projective Geometry(사영 기하학), Non-Euclidean Geometry(비유클리드 기하학)기하학(Geometry)은 공간과 도형의 성질을 연구하는 수학의 한 분야임.기하학은 여러 종류가 있

dsaint31.tistory.com


CV에선 보통 Camera Coordinate를 Image Coordinate로 바꾸는데 사용됨: projection matrix로 표현됨.

이후 Sensor Coordinate (or Pixel Coordinate)로 변환을 포함하여,

Camera의 intrinsic matrix $K$로 표현됨.


 

다음 그림은 Perspective Projection을 $x_c-z_c$ 평면을 통해 도식적으로 보여줌 ($y_c$-axis는 화면에 나오는 방향임)

homogeneous coordinate로 표현함. image plane은 사실 3번째에 해당하는 값은 effective focal length, f로 표시 가능. -f 는 상이 뒤집혀서 맺힘을 의미.

카메라 좌표계는 3D이며, 이미지 좌표계는 2D임: 주로 normalized image plane으로 변환이 주로 다루어짐.

 

참고로, DIP에서 기하학적 변환인 Perspective Projection Transform 에서도 다루어지는데 이경우는 2D에서 2D로 가는 경우가 많음(rectifying transform 등):

https://dsaint31.me/mkdocs_site/DIP/cv2/ch02/dip_geometric_transformation/?h=perspe#perspective-transformation_1

 

BME

Geometric Transformations of Images Goals Learn to apply different geometric transformation to images like translation, rotation, affine transformation etc. You will see these functions: cv2.getPerspectiveTransform Transformations Transformation 이란? T

dsaint31.me

 

image coordinate와 camera coordinate 간 변화는 linear relation이므로 굳이 homogeneous coordinate가 필요없으나 homogeneous coordinates를 이해하고 있는 것이 이후의 내용을 위해서도 필요함:

2024.06.16 - [.../Math] - [Math] Homogeneous Coordinate and Projective Geometry

 

[Math] Homogeneous Coordinate and Projective Geometry

Homogeneous Coordinates (동차 좌표)와 Projective Geometry (사영 기하학):1. 개요:1-1. Homogeneous Coordinates의 정의와 특성:Homogeneous Coordinates (동차 좌표)는 Euclidean Coordinates (유클리드 좌표) 시스템을 확장하여 Pr

dsaint31.tistory.com

 

이 문서에서도
u-v coordinate(=pixel coordinate)으로의 변환(translation이 필요)까지를 고려하여
위 그림에서는 homogeneous coordinate를 사용함.

2024.07.06 - [Programming/DIP] - [CV] Image Plane to Image Sensor Mapping

 

[CV] Image Plane to Image Sensor Mapping

Image Plane에서의 coordinate $x_i, y_i$는mm단위를 가지며결과 image의 coordinate라고 생각할 수 있다.하지만 계산의 용이성 때문에 $x_i, y_i$ 보다는normalized image plane의 coordinate $x_n, y_n$ 이 많이 사용된다.현

dsaint31.tistory.com

 


같이보면 좋은 자료들

2024.06.29 - [Programming/DIP] - [CV] Coordinate Systems

 

[CV] Coordinate Systems

이 글은 Computer Vision에서의 Coordinate Systems 을 다룬다.종류 및 정의World Coordinate (월드 좌표계):$\begin{bmatrix}x_w& y_w & z_w & 1\end{bmatrix}^T$카메라 외부에 존재하는 객체(object)의 위치를 전역적인 좌표계

dsaint31.tistory.com

 


 

728x90

'Programming > DIP' 카테고리의 다른 글

[CV] Intrinsic Rotation and Extrinsic Rotation (Euler-Angle)  (0) 2024.07.07
[Math] Euler Angles and Rotation Matrix  (0) 2024.07.07
[CV] Image Plane to Image Sensor Mapping  (0) 2024.07.06
[CV] Triangulation: Simple Version  (1) 2024.07.04
[CV] Triangulation : Linear Triangulation [작성중]  (1) 2024.06.30
'Programming/DIP' 카테고리의 다른 글
  • [CV] Intrinsic Rotation and Extrinsic Rotation (Euler-Angle)
  • [Math] Euler Angles and Rotation Matrix
  • [CV] Image Plane to Image Sensor Mapping
  • [CV] Triangulation: Simple Version
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Private Life (15)
      • Programming (206)
        • DIP (116)
        • ML (35)
      • Computer (120)
        • CE (54)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    ML
    opencv
    Probability
    Programming
    Term
    Vector
    numpy
    인허가제도
    SS
    linear algebra
    fourier transform
    signals_and_systems
    signal_and_system
    math
    Optimization
    random
    SIGNAL
    cv2
    function
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[CV] Perspective Projection (원근 투영법): Camera to Image
상단으로

티스토리툴바