[컴퓨터 비젼] CV-02 Image formation & Projective geometry

jungizz_·2023년 10월 13일

Computer Vision

목록 보기
2/8
post-thumbnail

1. Image formation

카메라 구상

  1. 필름을 오브젝트 앞에 배치
    • 물체의 한 점으로부터 반사된 빛이 필름의 여러 부분에 도달
      -> 무슨 빛인지 알 수 없음
      -> Blurring 현상
  2. 필름과 오브젝트 사이에 Barrier 배치 (Pinhole Camera)
    • 많은 양의 빛이 Barrier에 의해 막히고, Barrier의 작은 구멍을 통과한 빛만 필름에 도달 -> Blurring 감소 (상이 맺힘)
    • Barrier의 구멍이 작을 수록 상이 선명해짐
    • 구멍이 작으면 빛을 받아야 하는 시간이 늘어나긴 함
  3. Lense
    • Barrier 대신 렌즈 배치
    • 작은 구멍으로 시간 오래 걸리는 것을 보완

Obscura

  • first camera (known to Aristotle)
  • 박스에 작은 구멍을 내고 물체로부터 들어온 빛이 구멍을 통과하여 박스 반대편에 상이 맺히는 원리
  • 구멍을 통해 빛이 한 가닥만 통과할 수 있도록 구멍을 최대한 작게 제작 -> 약 0.35mm
    • 구멍이 충분히 작지 않으면 Blurring (위 이미지의 원 형태로 뿌옇게 상이 맺힌 모습)
    • 구멍이 너무 작으면 Diffraction(회절; 빛이 작은 구멍을 통과하면서 직진성이 무너져 퍼져나가는 현상)

Lens

용어

  • Focal Point(초점)F: 렌즈로 들어오는 평행한 빛들이 굴절되어 모이는 하나의 점
  • Focal Lengthf: 렌즈의 면으로부터 Focal Point까지의 거리 (렌즈의 모양과 굴절률 따라 달라짐)
  • Aperture(조리개): Pinhole 카메라의 구멍 역할, 렌즈 앞 또는 뒤에 위치하여 지름의 크기D로 빛이 통하는 양을 조절해서 밝기 조절
    • 가림막; 많이 밝은 곳에서 조리개로 가려서 어두운 사진으로 만듦
    • 많이 가릴 수록 어둡고 circle of confusion이 작아져서 초점이 안맞아도 비교적 선명하게 나옴)

Lens

  • 렌즈면과 수직으로 들어오는 평행한 빛들이 굴절되어 한 점으로 모임(focal point; 초점)
  • pinhole 카메라보다 한번에 많은 빛들을 모으니 에너지가 높아지고 시간이 줄어듦 (노출시간 짧음
    • 렌즈가 크면 빛이 많이 모여서 시간이 줄어들기도 하고 어두운 곳에서 찍기도 좋다
    • 렌즈를 작게 만들면 시간이 오래 걸리지만 Circle of Confusion이 줄어들어 전체적으로 초점을 잡을 수 있음

Circle of Confusion ⭐

  • 렌즈를 지나 빛이 모일 때, film에서 정확하게 모이면 -> 초점이 맞다(in focus)
    • 정확하게 모이지 않으면 Circle of Confusion
  • 물체의 거리가 달라서 생기는 현상
  • 렌즈와 필름 사이 거리를 조절해서 원하는 부분의 초점을 맞춘다
  • Aperture로 많이 가리거나 렌즈를 작게 만들어 보완 가능

Depth of Field(DOF)

  • 초점 심도; 초점에 맞출 수 있는 피사체의 거리 범위
  • Aperture 지름 크기가 크면(적게 가리면): DOF값이 작아지고 초점에 좁은 범위의 거리만 맞추는 것 가능
    • 이미지에 bokhe(보케)생성 (인물사진같은거)
  • Aperture 지름 크기가 작으면(많이 가리면): DOF값이 커지고 초점에 넓은 범위의 거리 맞추는 것 가능
    • circle of confusion 작아짐
    • 빛이 조금들어와서 노출 시간이 길어짐

Digital Camera

  • 필름 대신 Charge Coupled Device(CCD)셀로 이루어진 Sensor array 사용하는 카메라
    • CCD: 빛을 받으면 전하가 쌓이고, 이를 전기 에너지로 전환해 신호 발생
    • 최근에는 CMOS 사용 보편화

ISP (Internal/Image signal processing)

  • 센서로부터 받은 데이터를 보정하여 우리가 원하는 이미지 형태/파일로 만들어내는 장치(컬러 이미지)
  • Bayer Pattern을 보고 카메라로 찍은 image(센서로부터 받은 데이터)의 color를 복원하는 과정

Bayer Pattern ⭐

  • R, G, B 각 빛에 반응하는 셀들이 구성되어있는 패턴
  • 카메라의 센서는 빛의 정도만 알 수 있다. (색은 알 수 없다)
  • 그래서 픽셀마다 각 색의 셀로판지를 붙인 특정 색(R, G, B)의 밝기값만 감지할 수 있는 센서들을 붙여서 베이어패턴을 만든다. (한 픽셀의 RGB값을 바로 다 알 수 없기 때문에, 한 픽셀 당 한 색만 알아낸다.) <- 카메라에 찍히는 것
  • 어쨋든 각 픽셀마다 RGB값을 알아내야하니까, 특정 픽셀의 주변 값들을 보고 interpolation해서 한 픽셀의 RGB값을 추측해낸다. (합치는게 아니라 kernel처럼?)
  • 그래서 픽셀(이미지 해상도)의 1/4밖에 못쓴다는 말이 나온 것
  1. White Balance: 조명 상태를 예측하여 하얀색을 정의하고 이를 기준으로 색 조정
  2. Color Interpolation: 주변 셀들과 섞어 interpolation해서 픽셀 별 RGB데이터 구성
  3. Color Correction: 센서 데이터를 우리가 원하는 데이터(우리가 볼 수 있을 정도로)로 전환
  4. Color Conversion: RGB->YCrCg
  5. Noise Reduction: 밝기(Y)만 노이즈 제거 (색상 noise는 어쩔 수X)
  6. Detail Enhancement: Noise reduction으로 흐려진걸 보완하기 위해 선명도 향상
  7. Color Conversion: YCrCg->RGB (변환 안하고 YCrCg 그대로 가면 JPEG, 변환하여 RGB로 가면 PNG)
  8. Gamma Correction: 카메라의 계도 상에서 중간 부분이 실제 우리가 예상하는 밝기와 비슷하도록 밝기를 올려주는 과정
    • 요새는 Bayer pattern 자체에서 데이터를 빼와서(1, 2번 과정에서) 노이즈를 미리 처리하기도 함

Issues with Digital Cameres

(vs Analog film Camera)

  • Noise
    • 아날로그 카메라보다 다양화된 노이즈 문제 -> 주로 센서때문에
    • 렌즈가 크면(SLR-style camera) 노이즈가 적지만,
    • 렌즈가 작으면 밝기가 낮아지고 밝기를 올리는 과정(gain)에서 노이즈도 증폭된다.
  • Compression(압축)
    • 데이터 개수를 줄여가는 과정에서 Artifact 발생
  • Color Fringing
    • 각 픽셀마다 RGB를 측정하는 것이 아니라, 주변 픽셀들의 색을 보고 예측하는 interpolation 과정(Bayer pattern)에서 의도하지 않은 RGB 색 조합이 일어나며 생기는 문제
  • Blooming
    • 전하가 쌓이다가 넘치면 주변으로(옆 센서로) 흘러가며 생기는 문제 -> 밝은 빛의 번짐 현상
  • In-Camera Processing
    • oversharpening -> Halo(후광 효과)
  • Interlaced/Progressive scan video
    • Interlaced센서: even/odd row를 따로 찍고 합침 (합치는 과정에서 생기는 문제; 과거)
    • Progressive센서: even/odd row를 같이 찍음
  • Megapixel
    • 픽셀 수가 많은 카메라는 좋은 렌즈를 필요로 하고, 좁은 공간에 많이 들어오니까 노이즈에 민감 -> 무조건 긍정적이지X, 쓸모없기도
  • Stabilization
    • 노출 시간(빛을 모을 때)동안 카메라가 흔들리면서 생기는 문제를 보완하는 과정

카메라 용어

  • Shutter speed
    • 셔터가 올라갔다 내려오는 시간
    • 노출 시간을 늘리려면 셔터를 오래 열었다가 닫음 (Shutter speed를 길게)
      -> 밝고 노이즈가 적지만 촬영 시간동안 흔들릴 가능성
  • ISO
    • 센서의 감도, 이미지의 전체적 밝기를 조절할 수 있다(디지털은 gain 조절, 아날로그는 화학적으로 다른 필름)
    • 빛 정도에 따라 촬영이 잘 될지 판단 가능
    • film의 100, 200... -> 화학적으로 성질이 다른 상태; 수가 클수록 어두운 곳에서도 잘 나온다 (디지털은 몇천까지..)
    • ISO가 높으면 노이즈가 심해질 수 있다
  • Vignetting
    • 카메라 센서(또는 필름) 크기에 비해 렌즈가 작으면 가장자리가 어두워짐
  • Rolling Shutter
    • 수직/수평 순서대로 빠르게 촬영되는 셔터로 움직이거나 빛의 변화가 있으면 rolling shutter가 보임
  • Chromatic aberration (색수차)
    • 빛마다 파장과 굴절률이 달라서 이미지의 한 점에 빛이 제대로 맺히지 못하는 현상

Modeling Projection

coordinate system 설정

  • 원점을 COP(Center of Projection)로 설정
  • COP 앞에 Image plane(Projection plane) 배치
    • 원래 카메라는 COP 뒤쪽에 film이 존재하는데, COP를 지나면서 뒤집힘, 이것을 방지하기 위해 Projection Plane을 앞으로 배치(xy대칭) -> 투영을 간단하게 모델링할 수 있도록 함(이미지 처리를 간편하게)
  • COP와 PP 사이의 거리 dfocal length (뒤집기만 한거라서 길이는 같음)
  • 카메라가 바라보는 방향은 -z축 (오른손 좌표계)

Projection 식

  • 원점COP에서 임의의 물체 한 점(x, y, z)까지의 직선이 Projective Plane과 만나는 교점 계산하는 식
  • COP에서 PP까지의 거리를 d라고 할 때, 닮음 원리를 이용하여 PP의 교점 (x', y', -d')를 구할 수 있다.

Orthographic Projection

  • COP와 PP까지의 거리가 무한하다고 가정하는 특별한 시점의 Projection
  • World물체에서 PP까지의 빛이 평행하게 진행 (Parallel Projection)
  • PP의 좌표는 그냥 (x, y)로 표현 가능 (World 좌표와 동일)
  • 한 점에서 모이는 빛도 무한히 평행이라 볼 수 있음

Radial Distortion

  • 완벽하지 않은 렌즈의 모양으로 인해 생기는 이미지의 왜곡 현상 (대부분의 카메라)
  • 빛이 렌즈의 중심에서 벗어나 가장자리 부분을 통과하면서 이미지 상 물체의 중심에서 가장자리 지점까지의 거리가 변형
    • Pin cushion: 빛이 렌즈의 중심 위쪽을 통과하면서 굴절 커짐 -> 중심에서 가장 자리 지점까지의 거리가 길어지면서 이미지가 바깥쪽으로 퍼지게 보임
    • Barrel: 빛이 렌즈의 중심 아래쪽을 통과하면서 굴절이 작아짐 -> 중심에서 가장자리 지점까지의 거리가 짧아지면서 이미지가 안쪽으로 파고들게 보임

카메라 종류

  • Tilt-shift
    • 렌즈만 움직이면서 의도적으로 보케를 만듦
    • 먼 풍경을 찍을 떄 의도적으로 보케를 만들어내 원근감 부여(미니어쳐같은 효과)
  • Rotating Sensor
    • 물체를 돌리거나 카메라가 돌면서 둥근 형태의 물체를 촬영
    • Cycolgraphs, peripheral image
  • Photofinish
    • 카메라가 일정 시간 동안 빠르게 찍은 사진들을 합성하는 카메라(Orthographic하게 보임)
    • 도착 판정 카메라(카메라가 움직이면서 세로로 찍음)

2. Projective Geometry

  • 수술 이슈로 필기 정리했는데 오히려 잘됐음
profile
( •̀ .̫ •́ )✧

0개의 댓글