TVWXYXWVT [423222] · MS 2012 · 쪽지

2022-10-29 14:56:46
조회수 32,299

2022 카메라 지문. 내용 이해를 위한 해설

게시글 주소: https://faitcalc.orbi.kr/00059051284

실전 독해용 해설이 아니라 내용 이해를 위한 해설입니다. 









운전자들을 돕는 장치는 여러 가지가 있는데, 그 중 하나를 소개하려고 한다. 


이 장치는 마치 자동차 바로 위에 드론을 띄워서 카메라 1개로 아래를 내려다본 듯한 영상을 제공한다.

그러니까 건물 외벽, 사람 얼굴은 안 보이고 건물 옥상, 사람 정수리, 바닥에 있는 차선, 페인트 칠 등만 보이는 영상을 원한다. 

정지해 있는 자동차 주위에 다음 전후좌우에 한글 '전' '후' '좌' '우' 가 있고, 대각선 방향에 '사' '각' '지' '대' 가 

바닥에 페인트칠 되어있는 상황을 가정하자. 


그러면 우리가 원하는 영상은 다음과 같다.









이 영상에는 다음 요구사항이 있다.


- 360도 방향 전부를 촬영해야 하며 <Qual1>

- 위에서 내려다 본 시점이고 <Qual2>

- 한 화면에 담아야한다.  <Qual3>


안타깝게도 우리는 이 영상을 위에서 직접 촬영하지 못한다.

우리에게 주어진 것은 카메라 단 4대 뿐이다. 

그래서 우리는 카메라를 차량 전, 후, 좌, 우 에 장착을 하고, 바닥에 해당하지 않는 풍경들은 전부 잘라내어 

바닥을 마치 위에서 내려다본 것 처럼 영상을 변형해야한다. 




[Part1 - 카메라 교체]


우리가 일반 카메라를 전후좌우에 장착해서 영상을 얻는다고 가정하자. 그러면 우리가 얻는 사진은 다음과 같다.








글자 '전', '후', '좌', '우' 는 보이지만 '사', '각', '지', '대' 는 촬영하지 못했다. <Qual1> 을 충족시키지 못했다고 할 수 있다.

이를 해결하려면 일반 카메라가 아닌 광각 카메라를 사용해야한다. (광은 '빛 광' 이 아니라 '넓을 광' 이다.)

그래서 카메라 렌즈를 평평한 것이 아니라 가장 자리가 둥근 것을 사용해야한다. 그래야 시야각을 확보할 수 있다.







[Part2 - 왜곡 보정]


광각 카메라로 교체했더니 이제 글자가 카메라마다 '사 전 각' '지 후 대' '사 좌 지' '각 우 대' 가 보인다. 

하지만 없던 문제가 발생한다. 

렌즈의 둥근부분때문에 영상의 가장자리 부분이 다음과 같이 둥글게 된다.

그래서 조건이 하나 더 추가가 된다. 


- 360도 방향 전부를 촬영해야 하며 <Qual1> Complete

- 위에서 내려다 본 시점이고 <Qual2>

- 한 화면에 담아야한다.  <Qual3> 

- 렌즈의 곡률에 의한 왜곡이 없어야한다. <Qual4>



렌즈에 의한 왜곡은 렌즈의 곡률에 의해 발생한다.

이 때 렌즈의 곡률은 렌즈마다 고유한 값을 가진다.  

렌즈는 카메라의 부품이므로 카메라의 내적인 문제라고 할 수 있다. 

이를 해결하는 방법은 시야각이 넓게 유지되면서 상의 왜곡을 줄여야되는데 

렌즈 제조업체도 나름 최신 기술을 사용한 렌즈로 카메라를 제작했을 것이다. 그러니까 이건 물리적으로 해결이 불가능하다.

그래서 이를 해결하려면 소프트웨어를 사용한 보정을 해야한다. 







다음 그림 중 가운데 그림은 왜곡이 없는 그림이다. 

왼쪽 그림은 중앙 부분이 부풀어 오른 듯한 그림이다. 이 그림의 왜곡 계수를 0.7 이라 하자.

오른쪽 그림은 중앙 부분이 쪼그라든 듯한 그림이다. 이 그림의 왜곡 계수를 -0.7 이라 하자. 

가운데 그림을 입력해서 오른쪽 그림이 되는 왜곡 모델을 소프트웨어로 구현하자.

이 왜곡 모델을 왼쪽 그림에 적용하면 가운데 그림이 출력 될 것이다.

만약 왼쪽 그림에 -0.6 왜곡 모델을 적용하면 중앙 부분이 약간 부푼 그림이 출력 될 것 이고

왼쪽 그림에 -0.8 왜곡 모델을 적용하면 중앙 부분이 약간 쪼그라든 그림이 출력 될 것이다. 


그러니까 카메라 특성을 통해 왜곡 계수를 조사해서 그 왜곡 계수를 상쇄 시키는 왜곡 모델을 구현 후 

다음 사진들을 입력하면

출력이 다음과 같이 된다. 






영상 가장자리의 지평선과 글자의 일부가 똑바르게 변했다. 



한편 카메라 부품 때문이 아니라 차량에 카메라를 삐딱하게 장착해서 왜곡이 발생할 수 있다. 

카메라를 외적으로 잘못 장착해서 발생하기 때문에 '외부 변수' 라고 한다. 

이 때문에 <Qual 5> 이 추가 될 수 있는데, 이는 촬영 된 영상과 실세계 격자판을 비교하여 보정할 수 있다. 

예를 들어 실세계 좌표가 차량 방향과 나란한데 영상이 반시계 방향으로 5도 회전되어있다면 보정은 시계방향으로 5도 

회전하면 된다. 이 과정은 상대적으로 단순하고 쉽기 때문에 '왜곡 계수'와 같은 수치도 필요 없고 내부 변수에 의한 왜곡보다 

해결하기가 쉽다. 


- 360도 방향 전부를 촬영해야 하며 <Qual1> Complete

- 위에서 내려다 본 시점이고 <Qual2> 

- 한 화면에 담아야한다.  <Qual3> 

- 렌즈의 곡률에 의한 왜곡이 없어야한다. <Qual4> Complete

- 촬영 영상이 비뚤어지면 안 된다.  <Qual5> Complete






[Part 3 - 원근 제거]


<Qual2> 를 해결하려면 수평 방향으로 촬영한 영상을 내려다 본 것 같은 영상으로 바꿔야한다.

바닥에 그려진 정사각형을 옆에서 보면 가까운 변은 길고 멀리 있는 변은 짧게 보인다. 하지만 바닥에 그려진 정사각형을 위에서 내려다보면

모든 변의 길이가 똑같이 보인다. 그러니까 원래 길었던 것은 상대적으로 작게, 원래 짧았던 것은 상대적으로 길게 보여야한다.

바닥이 평평하기 때문에 '시점 변환' 과 '원근 제거' 는 사실상 동의어라고 할 수 있다. 


이 과정은 영상만 보고 할 수 있는 것이 아니다. 실세계의 점을 대응시켜서 추정해야한다. 


그림에서 실세계를 하늘색, 실세계를 2차원에 그린 것을 연보라색, 위에서 내려다 본 2차원 평면을 분홍색으로 표시하자.

그리고 실세계의 점 하나를 파란색, 영상속의 점 하나를 빨간색으로 표현하자.


실세계(하늘색)에서는 원근감이 있더라도 내가 직접 이동하면 사라진다.

실세계를 2차원에 투영하면 (연보라색) 원근감이 고정된다.

위에서 내려다보면 3차원 중 차원 요소 하나가 소실되어 완벽하 2차원으로 표현된다.(분홍색) 그래서 원근감이 사라진다. 




실세계(하늘색) 격자점(파란색) a, b, c, d, E F G H I J K L 12개가 있고

왜곡은 보정되었지만 아직 원근이 제거되지 않은 영상(연보라색) 위에 각각에 대응되는 점(빨간색) a' b' c' d' E' F' G' H' I' J' K' L' 가 있다.

그러면 정사각형 격자가 6개를 얻을 수 있다. 실세계의 정사각형을 각각 S1 S2 S3 S4 S5 S6 이라 하고 영상의 사다리꼴을 각각 S'1 S'2 S'3 S'4 S'5 S'6 이라 하자.

그러면 우리는 S5 내부에 포함된 점(파란색)은 S'5 내부에 포함된 점(빨간색)에 대응됨을 알 수 있다.

S5 와 S'5 내부에 무수히 많은 점이 있는데 이들을 어떻게 일대일 대응을 할까?

정사각형 FGKJ 내부에 임의의 점 X(파란색) 를 표시하고 X를 지나며 정사각형 각 변에 직교하는 직선 두 개를 그리자. 

그러면 교점 P Q R S (파란색)를 얻을 수 있다. P는 F와 G 를 t_1 : t_ 2 로 내분하고 S도 J  K 를 t_1 : t_2 로 내분한다.

Q는 F와 J 를 s_1 : s_2 로 내분하고 R도 G와 K 를 s_1 : s_2 로 내분한다. 


이제 영상에서 F' 와 G' 를 t_1 : t_2 로 내분하는 점 P'(빨간색)를 정하고 J' 와 K' 를 t_1 : t_2 로 내분하는 점 S' (빨간색)를 정한다. 

마찬가지로 F' 와 J' 를 s_1 : s_2 로 내분하는 점 Q'(빨간색)를 정하고 G' 와 K' 를 s_1 : s_2 로 내분하는 점 R' (빨간색)를 정한다. 

마지막으로 P'와 S' 를 잇는 직선과 Q'와 R'를 잇는 직선을 각각 그으면 두 직선이 만나는 점이 유일하게 결정된다.

그 점이 실세계(하늘색)의 X(파란색)에 대응되는 영상 위의(연보라색) 점 X'(빨간색)이 된다. 


즉 

- 정사각형 넘버링을 선택하고

- (t_1/t_2) 를 선택하고

- (s_1/s_2) 를 선택하면 

세 개의 값으로 실세계와 영상에 나타낸 임의의 점을 일대일로 대응시켜 짝 지을 수 있다. 




실세계(하늘색)의 정사각형 격자는 가로방향 평행선들이 간격이 모두 일정하다. 

실세계(하늘색)의 정사각형 격자는 세로방향 평행선들이 간격이 모두 일정하다.

영상(연보라색)의 사다리꼴 격자는 가로방향 평행선들의 간격이 멀어질수록 좁아진다.

영상(연보라색)의 사다리꼴 격자는 세로방향 선들이 평행하지 않다. 


소프트웨어를 이용하여 세로방향 선들이 평행하고 가로방향 평행선들의 간격이 모두 일정하도록 변화를 가한다.

이 조건을 만족시키지 않으면 화면은 원근이 제거되지 않은 것이다.(연보라색)

조건을 만족시키는 유일한 순간에서만 원근이 제거되었다. (분홍색)


이 과정을 거쳤을 때 글자를 촬영한 화면은 다음과 같다.








- 360도 방향 전부를 촬영해야 하며 <Qual1> Complete

- 위에서 내려다 본 시점이고 <Qual2> Complete

- 한 화면에 담아야한다.  <Qual3> 

- 렌즈의 곡률에 의한 왜곡이 없어야한다. <Qual4> Complete

- 촬영 영상이 비뚤어지면 안 된다.  <Qual5> Complete




[Part 4]


이제 <Qual3> 만 해결하면 된다. 


네개의 영상에는 분명이 가장자리가 서로 중복되는 부분이 있을 것이다. 

격자 위에 기준선을 그어서 어느 범위까지만 사용자에게 전송을 할 지 설정을 하면

360도 방향을 빈틈없고 중복없이 결합할 수 있다. 

이렇게 얻는 네 화면을 다음 그림과 같이 방향에 맞추어 합치면 위에서 내려다 본 듯한 영상이 완성된다.  






- 360도 방향 전부를 촬영해야 하며 <Qual1> Complete

- 위에서 내려다 본 시점이고 <Qual2> Complete

- 한 화면에 담아야한다.  <Qual3> Complete

- 렌즈의 곡률에 의한 왜곡이 없어야한다. <Qual4> Complete

- 촬영 영상이 비뚤어지면 안 된다.  <Qual5> Complete












14번


①  필요한 카메라 개수는 카메라 1대? vs 카메라 4대?


카메라 한 개가 아니라 카메라 4개를 쓴다. 

※ 360도 카메라 1개를 쓰면 렌즈가 비정상적으로 휘고 한 화면에 담기에 영상이 심하게 어그러진다.

유튜브에서 360카메라 영상을 보려면 마우스로 화면을 돌려야한다. 그 파노라마같은 화면을 한 화면에 표현하기에는 대단히 어렵다. 



② 카메라 자체 특징은 내부 변수? vs 외부 변수?


카메라 내부 특성은 외부 변수가 아니라 내부 변수와 관련이 있다. 

(내용 이해 못해도 내부 vs 외부 키워드 구분만 하면 풀리는 선지)


③  합성 vs 왜곡 보정. 어떤게 먼저일까?


합성은 [Part4] 이고 왜곡보정은 [Part2] 이므로 순서가 잘못되었다. 

(과정 순서만 구분하면 되는 선지)


④  왜곡에 의한 효과는 영상 어디에서 심할까? 중심? vs 가장자리? 

해결방법은  원근 제거? vs 왜곡 보정? 

중심으로부터 멀수록 심해지는 왜곡은 내부? vs 외부? 


영상 중심으로부터 멀수록 크게 휜다는 것 : 카메라 내부 변수에 의한 왜곡

중심으로부터 멀수록 크게 휜다는 것 : 옳은 묘사

왜곡 모델을 이용한 보정 : 내부 변수에 의한 왜곡 보정 

현상 묘사와 문제 및 해결방법의 대응도 옳다. 



⑤  위에서 보는 시점은 3차원일까? vs 2차원일까?

카메라에서 보는 시점은 3차원일까? vs 2차원일까? 



위에서 내려다보는 시점 영상(분홍색)  카메라 시점 영상(연보라색)  3차원 좌표(영상이면 연보라색, 실세계면 하늘색)


"분홍색은 연보라색과 달리 연보라이다." 

틀린 선지이다. '3차원 좌표' 를 '2차원 좌표' 라고 해야 옳은 선지이다.  











15번

(시야각 확보, 왜곡 보정, 원근 제거, 합성)

㉠ : (O, X, X, X)

㉡ : (O, O, X, X)

㉢ : (O, O, O, X)


㉠vs㉡ 

공통점 : 시야 넓음, 원근 있음, 합성 안됨

차이점 : ㉠에서 왜곡 보정한 것이 ㉡임


㉡vs㉢ 

공통점 : 시야 넓음, 왜곡 보정됨, 합성 안됨

차이점 : ㉡에서 원근 제거한 것이 ㉢임


① ㉠vs㉡ 넓은 시야각은 공통점인데 다르다고 묘사해서 틀림

시야각이 서로 같다고 해야 옳은 선지가 된다. 


② ㉠vs㉡ 원근 현상을 올바르게 묘사하고, 둘의 공통점(원근 제거되지 않음)을 공통점이라 했으므로 정답


③ 문장이 중의적임 


'렌즈와 격자판 사이의 거리에 따른' 이  '곡률 변화' 를 수식한다고 해석하면


㉠vs㉡ 둘의 차이인 왜곡 유무의 원인이 렌즈의 곡률이라는 것은 사실이지만

렌즈와 격자판 사이의 거리는 원근에 미치는 영향임. (㉡과 ㉢의 비교 키워드)

그리고 렌즈의 곡률은 고유한 값이므로 대상의 거리에 따라 슬라임처럼 유동적으로 변하지 않음.


'렌즈와 격자판 사이의 거리에 따른' 이 '휘어짐' 을 수식하다고 해석하면 


㉠vs㉡ 둘의 차이인 왜곡 유무의 원인이 렌즈의 곡률이라는 것은 사실이지만

렌즈와 격자판 사이의 거리는 원근에 미치는 영향임. (㉡과 ㉢의 비교 키워드)


어떻게 해석하든 둘 다 틀림 ㉡을 ㉠으로, ㉢을 ㉡으로 바꿔야 옳다. 



④ ㉡vs㉢ 외부 변수의 해결 방법으로 외부 변수를 해결했다는 점은 사실이지만 공통점을 다르다고 묘사해서 틀림. (㉠과 ㉡의 비교 키워드)


⑤ ㉡vs㉢ 원근 현상은 올바르게 묘사 했으나 그 원인이 상의 왜곡이라고 했으므로 틀림 (㉠과 ㉡의 비교 키워드)



이 문제는 


시야각 ISSUE : 공통 

왜곡 (가장자리 휘어짐, 기울어짐) ISSUE : ㉠과 ㉡ 사이 

원근 (멀수록 작아짐) ISSUE : ㉡과 ㉢ 사이 


분류를 정확히 하면 풀 수 있는 문제 










16번




<그림 1>




보기의 그림은 전방 부분만 보여주었고, 이를 모든방향을 전부 표시하면 <그림 1>과 같다. 

이는 [Part 4]를 거친 과정이다. 







<그림 2>




<그림 2> 는 보기의 그림에 컬러를 입힌 것이다. <그림 2>는 <그림 1>의 일부이다.
배경이 분홍색인 이유는 3차원 좌표축 중 하나가 화면을 수직으로 뚫고 나오기 때문에 원근이 소실되어서 그렇다.

점이 빨간색인 이유는 실세계가 아닌 영상의 점이라서 그렇다. 








<그림 3>






[Part 3] 까지만 거친 전방영상을 역추적하면 <그림 3>과 같다. 

즉, 원근이 제거되지 않은 영상이며, 시점 변환 되기 전이기도 하다. 그래서 배경이 연보라색인 것이다. 

<그림 2> 와 비교하면, 영상 내에서 뭐든 점점 아래로 갈수록 수평으로 길고 점점 위로 갈수록 수평으로 좁다. 





<그림 4>



<그림 4>는 실세계의 모습이며, 시선은 상공에서 내려다본 방향이 아니라 비스듬한 방향이다. 

만약 상공에서 내려다보면 <그림1>, <그림 2> 와 같은 모습으로 보일 것이다. 

점이 파란색인 이유는 실세계의 점이라서 그렇다. 





<그림 2>에서  

- 노란색 직사각형과 초록색 직사각형은 크기가 같다.

- 주황색 변과 연두색 변은 길이가 같다. 


보기의 그림은 원근 제거 된 후의 모습이다. 



① <그림 3>에서 노란색은 사다리꼴 모양이고 주황색 변이 연두색 변보다 길다?

노란색이 사다리꼴인 것은 맞다. 하지만 주황색 변이 연두색 변 보다 짧다.


② <그림 3>에서 초록색 사각형은 노란색 사각형보다 더 아래쪽에 작은 크기로 있다?

아래에 위치한 것은 사실이지만 더 큰 크기로 위치해있다.


③ 보라색과 회색은 두 빨간 점 사이의 대응 관계를 이용하여 ~~~

빨간색은 빨간색끼리 대응 안 된다. 파란색도 파란색끼리 대응 안 된다. 

빨간색과 파란색은 서로서로 대응되어야 한다. 

<그림 2>의 p 는 <그림 4>의 p' 와 대응되고

<그림 2>의 q는 <그림 4>의 q'와 대응된다. 


④ <그림3>을 <그림2>로 변화시킬 때 (원근을 제거할 때) 길이가 변하지 않는 기준선(민트색 점선)이 있다고 하자.








원근 제거 과정에서

(회색 변화량, 보라색 변화량) 의 케이스를 나누면

보라색이 기준선보다 위 : (더 커진다, 커진다) 

보라색이 기준선에 포함 : (커진다, 그대로) 

기준선이 회색과 보라색 사이 : (커진다, 작아진다) 

회색이 기준선에 포함 : (그대로, 작아진다)

회색이 기준선보다 아래 : (작아진다, 더 작아진다)


보라색에 대한 회색의 상대적 크기는 <그림3>이 <그림2> 로 될 때 더 커지는가?

5가지 케이스 모든 경우에 대해서 그러하다.





3/4, 3/5, 3/6, 3/7, 4/5, 4/6, 4/7, 5/6, 5/7, 6/7  어떠한 값 보다 5/5 가 더 크다. 

보라색이 회색보다 더 크기 때문에  보라색 길이가 회색 길이의 k배 (k>1) 라고 해도


3/(4k), 3/(5k), 3/(6k), 3/(7k), 4/(5k), 4/(6k), 4/(7k), 5/(6k), 5/(7k), 6/(7k) 보다 여전히  1/k 가 더 크다. 


원근을 제거하는 동안은 멀리 있을수록 수평으로 넓어지는 정도가 더 크다고 보면 된다. 

그린란드가 매우 크게 나타나는 북반구 세계지도와 원리가 비슷하다고 생각해도 된다. 


⑤ p는 빨간색 점이고 회색은 빨간 점들의 모임이라고 할 수 있다. 

빨간색 p에 대응하는 실세계(하늘색)의 점(파란색) p' 는 <그림 4>에 있다. 

p'를 시점변환 한 결과는 그냥 p이다. 실세계(하늘색)의 점(파란색)과 영상(연보라색, 분홍색)의 점(빨간색)은 일대일대응된다.

점은 점끼리 일대일대응된다. 시점변환되어 선으로 나타난다면 그건 일대일대응이 아니라 일대다(多)대응이다. 



결국 ①②④ 번 선지는 원근을 제거하기 전에는 밑에 있는 것이 위에 있는 것 보다 무조건 커야하며

원근을 제거하는 과정에서는 위에 있을수록 더 크게 증가한다는 것을 알면 풀리고 

③⑤ 번 선지는 점의 대응은 반드시 영상 위의 점과 실세계의 점 끼리만 서로 일대일로 대응 된다는 것을 알면 풀린다. 






0 XDK (+0)

  1. 유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.