과학

컴퓨터로 사진 만지작 거리기(1)-배경지식

지금 듣는 과목이 컴퓨터그래픽스인데

간단히 말해서 컴퓨터는 어떻게 사진을 표현하고 어떻게 다루는지를 배우는 과목입니다

그런데 꽤나 재밌어서 tmi 남발하기 좋아하는 intp답게 여기다가 복습 겸 글을 남기고자 합니다

아무래도 고등학교 이과 수준의 수학지식이 있어야 무리없이 읽을 수 있을 것 같습니다

 

1. 빛

사람의 눈에는 크게 두 가지 세포가 있습니다

하나는 밝기를 감지하는 간상세포

하나는 색을 감지하는 원추세포입니다

원추세포는 또 각각 빨강R, 초록G, 파랑B을 인식하는 세 종류가 있습니다

(동물에 따라서 원추세포의 가짓수는 다릅니다)

그래서 빛의 3원색이 RGB인 것이고 이 세 빛만 있으면 사람이 볼 수 있는 모든 빛을 표현할 수 있습니다

컴퓨터의 화면도 이 세가지 빛을 이용해서 여러 색을 만듭니다

 

2. 벡터의 내적

컴퓨터의 각 화소는 RGB의 세 성분을 갖습니다

그렇다면 세 성분의 값을 한 데에 모아 (r, g, b)라고 표현할 수 있을것입니다

이는 좌표공간의 한 점이 되며, 시작점을 원점, 끝점이 (r, g, b)인 벡터로도 볼 수 있습니다

 

벡터끼리의 중요한 연산 중에 "내적"이라는 것이 있습니다

내적기호는 ・이며 두 벡터 a=(m, n, l)와 x=(p, q, r)의 내적은 a・x라고 표현합니다

벡터a의 시작점과 끝점의 직선거리를 구할 수 있고 이걸 |a|라고 표현합니다

그리고 a와 x가 이루는 각도를 θ라고 했을 때

a・x=|a||x|cosθ입니다

여기서 주목할 것은 "cosθ"가 들어가 있다는 점입니다

θ=90°일때 cos은 0이 됩니다

두 벡터가 수직을 이루면 a・x=|a||x|cosθ=0이 된다는 것을 알 수 있습니다

내적을 계산하는 방법은 하나가 더 있습니다

a・x=(m, n, l)・(p, q, r)=mp+nq+lr입니다

이는 성분이 두개이건 네개이건 상관없이 같은 순번의 성분끼리 곱한 것들을 더해주면 됩니다

dotproduct.png

성분이 n개인 두 벡터의 내적을 식으로 쓰면 이렇게 되겠습니다

이 두 방법이 실제로 같은 결과인지에 대한 증명은 생략하겠습니다

 

3. 함수의 내적

위에서 내적을 계산하는 두번째 방법을 소개할때에 성분이 몇개이건 상관없이 같은 방법으로 구할 수 있다고 했습니다

이는 성분이 무한히 많아도 성립합니다

 

두 함수 f(x)와 g(x)가 있습니다

편의를 위해 x의 범위는 0부터 1사이라고 하고 x를 같은 간격으로 쪼개봅시다

간격을 0.5로 잡으면 a, 0.5, 1의 세 점을 잡을 수 있습니다

간격을 0.25로 잡으면 0, 0.25, 0.5, 0.75, 1의 다섯개의 점을 잡을 수 있습니다

간격을 점점 줄여서 아주아주 잘게 잘랐다고 하고 이 때의 간격을 dx라고 합시다

그러면 f(0), f(dx), f(2dx), f(3dx), f(4dx)....f(1)와 g(0), g(dx), g(2dx), g(3dx), g(4dx)....g(1)를 생각할 수 있습니다

이 두 그룹을 각각 벡터라고 생각합시다

벡터 F = (f(0), f(dx), f(2dx), f(3dx), f(4dx)....f(1))

벡터 G = (g(0), g(dx), g(2dx), g(3dx), g(4dx)....g(1))가 되며

FdotG.png

라고 F와 G의 내적을 구할 수 있습니다

f(x)와 g(x)를 적절히 선택하면 F・G=0이 되도록 할 수 있을 것입니다

F・G=0이라면 양변에 간격 dx을 곱해줘도 값은 0으로 같을 것이며

dx는 아주아주 작은 간격으로 자른것이므로 반복되는 덧셈은 적분 기호로 바꿀 수 있습니다(구분구적법)

그러므로 두 함수 f와 g가 직교한다면

integral.png

가 성립합니다

위의 예시에서는 a=0, b=1이 되겠습니다만, 꼭 0과 1일 필요는 없습니다

이 식을 만족하는 a, b, f(x), g(x)는 의외로 아주 친숙한 녀석들입니다

sincos.png

a와 b는 정수일때 이 세 식은 모두 성립합니다

sinsin.png

반대로 이 둘은 π입니다

 

 

4. 푸리에 급수

이번 글의 마지막 파트입니다

주기2π마다 같은 모양이 반복되는 어떤 함수f(x)가 있다고 합시다

이 함수는 왠지 주기를 갖는 대표적인 함수 sin과 cos의 합으로 표현될 것만 같은 기분입니다

fourier.png

여기에 -π부터 π까지의 구간에서 sin(x)와 f(x)를 곱해서 적분을 구해보겠습니다

series1.png

위에서 sin(ax)sin(ax)의 적분 이외의 것은 전부 0이 된다고 했고 이 식은 a=1인 경우이니

series2.png

로 줄일 수 있습니다

 

sin(2x)와 f(x)의 내적, sin(3x)와 f(x)....cos(x)와 f(x)의 내적, cos(2x)와 f(x)의 내적, cos(3x)와 f(x)의 내적...을 모두 구해보면

똑같이 sin(ax)끼리의 내적, cos(ax)끼리의 내적 이외에는 0이 된다는 것을 이용해

series3.png

가 됨을 알 수 있습니다

그리고 양변을 π로 나눠주면 f(x)에 섞여있는 sin, cos함수들의 계수들을 알 수 있게 됩니다

꼭 f(x)의 주기가 2π일 필요는 없으며, f(x)와 내적을 구할 sin, cos의 주기를 적절히 변형하여 대응할 수 있습니다

 

이 an과 bn을 구하는 것을 푸리에 급수라고 하며

실제로는 주기가 없는 함수라도 "주기가 무한히 길다"라고 가정하여 극한을 구하는 것을 푸리에 변환이라고 합니다

 

예를 들어 π초마다 직y=x가 반복되는 그래프를 푸리에 전개하면

ex1.png

가 됩니다

 

 

 

 

5. 끝맺음

이번 글의 메인은 푸리에 급수인것 같습니다

화상처리는 RGB로 이루어진 사진에서 어떤 성분을 남기고 어떤 성분을 뽑아내야 하는지 고민하는 것이 대부분이었으며

성분을 뽑아내는 것의 시작이 푸리에 급수였습니다

 

아직 학부생 나부랭이라 틀린 내용이 있을 수 있습니다

틀린 내용을 지적해주시면 공부에 큰 도움이 될 것 같습니다

 

------------------------------------------------------------

2022.01.03 수정

보충글 https://www.dogdrip.net/455071119 추가

푸리에 전개의 예시를 사각파 그래프에서 y=x로 변경

결과를 사진 대신 영상으로 변경

6개의 댓글

2023.01.03

와~ 이런 걸 배우는 학문도 있구나.

포토샵에서 레이어 모드 공부할 때 함수식 파악하느라 고생했었는데.

0
ery
2023.01.03

이미지 압축이라도 다룰거야?

0
@ery

과목 커리큘럼에 압축은 없었던거 같은데..

아직은 필터 위주로 배우는 중임

0
ery
2023.01.03
@낙지는나치를낚지

FFT 를 얘기하길래 .. interpolation 이나 이런거나 좀 관련있는거라 .. 이미지를 떠나서 시그널 프로세싱이면 일단 섀넌이랑 나이퀴스트가 나와야 ㅋㅋ

 

이미지 압축이면 선형대수 나올테고 ..

0
@ery

다음 글에서 나이퀴스트 다룰거임

한번에 샘플링 이론까지 다루기에는 너무 길어질 거 같아서 끊었습미다

0
ery
2023.01.03
@낙지는나치를낚지

이미지가 음파와 같은 1d 시리즈를 2d 로 전개한 거라는걸 모르는 사람이 많음

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜
563 [과학] 경계선 지능이 700만 있다는 기사들에 대해 34 LinkedList 11 14 일 전
562 [과학] 번역)새들은 왜 알을 많이 낳는가? - 후투티의 형제살해 습성... 7 리보솜 3 2024.03.23
561 [과학] 학계와 AI, 그리고 Bitter Lesson (쓰라린 교훈) 26 elomn 35 2024.02.17
560 [과학] 지구의 속삭임, 골든 레코드의 우주 9 Archaea 10 2024.02.16
559 [과학] 잔혹한 과학실험 이야기 <1> 절망의 구덩이 19 개드립하면안됨 37 2024.02.15
558 [과학] 스트레스를 받으면 술이 땡기는 이유 12 동식 16 2024.02.10
557 [과학] 지능은 모계유전이 아니다. 40 울릉특별자치도 35 2024.01.26
556 [과학] 진화를 생각할 때 고려할 것들 23 날씨가나쁘잖아 12 2024.01.17
555 [과학] 학문적(과학적) 접근과 유사 진화심리"학" 26 날씨가나쁘잖아 19 2024.01.15
554 [과학] 호모 사피엔스의 야릇한 은폐된 배란에 대한 남녀 학자의 다... 14 개드립하면안됨 15 2023.12.29
553 [과학] 김영하의 작별인사를 읽고 느낀 점 (스포있음) 21 장문주의 2 2023.11.28
552 [과학] 제4회 포스텍 SF 어워드 공모전 ( SF 단편소설 / SF 미니픽션 ) 2 따스땅 1 2023.11.25
551 [과학] 펌) CRISPR 유전자 가위 치료제 "최초" 승인 12 리보솜 7 2023.11.25
550 [과학] 러시아는 기술산업을 어떻게 파괴시켰는가(펌) 9 세기노비는역사비... 15 2023.11.18
549 [과학] 고양이에 의한 섬생태계 교란과 생물 종의 절멸 (펌) 2 힘들힘들고 6 2023.11.16
548 [과학] 번역) 알츠하이머병 유전자는 어떻게 살아남았는가? 12 리보솜 10 2023.11.15
547 [과학] 『우영우』의 자폐 스펙트럼 장애 개념이 왜곡인 이유 (펌) 47 힘들힘들고 10 2023.11.12
546 [과학] 흑수저 문과충 출신 구글 취직하는 파이썬 특강 -1 14 지방흡입기 11 2023.09.27
545 [과학] 국가별 당뇨 유병율 이거 뭐가 바뀐건지 아는사람? 8 LAMBDA 1 2023.09.27
544 [과학] 물샤워 ㅇㅈㄹ 하는 놈들 봐라 171 철동이 48 2023.09.23