[LaTeX 사용팁] 한 줄 및 여러 줄 주석처리

안녕하세요. 비스카이비전의 심교훈입니다.^^ 

 

논문을 작성할 때 활용하는 LaTeX도 일종의 코딩 프로그램이기 때문에 주석 처리 기능은 중요합니다. 여타 코딩 언어와 마찬가지로 LaTeX에서도 한 줄 주석 처리와 여러 줄 주석 처리가 가능합니다. 

 

한 줄을 주석처리 할 때는 %를 문장 앞에 붙여주면 됩니다. 

 

% (주석 처리하고자 하는 문장)

 

 

그런데 만약 여러 줄을 한번에 주석처리하고 싶다면 어떻게 해야할까요??

 

이때는 \usepackage(verbatim)을 \documentclass[journal]{IEEEtran}와 \begin{document} 사이에 추가한 다음에, 주석처리하고 싶은 부분의 앞과 뒤에 각각 \begin{comment}와 \end{comment}를 추가해주면 됩니다. 

 

\begin{comment}


(주석 처리하고자 하는 부분)


\end{comment}

 

어렵지 않죠? 고생스럽지만 보람찬 논문 쓰기에 도움이 되시길 바라며 짧은 포스팅을 마무리하겠습니다.^^ 

댓글()

[선형대수학] 헤시안(Hessian) 행렬과 극소점, 극대점, 안장점

 

안녕하세요. 비스카이비전의 심교훈입니다.^^ 오늘은 헤시안(Hessian) 행렬을 이용해서 극소점, 극대점, 안장점을 판정하는 것에 대해서 살펴보고자 합니다. 헤시안 행렬은 헤세 행렬로 불리기도 하더군요. 

 

용어 정리: 극점, 극소점, 극대점, 최소점, 최대점, 안장점, 임계점

우선 용어들에 대해 정리 좀 하고 가겠습니다. 먼저 극소점, 극대점과 최소점, 최대점의 차이는 무엇일까요? 극소점(극대점)이라는 것은 국소적으로 최소값(최대값)을 갖는 점을 의미합니다. 극소점, 극대점을 통틀어 극점이라고 부릅니다. 반면, 최소점(최대점)은 전역적으로 최소값(최대값)을 갖는 점을 의미합니다. 따라서 여러 개의 극소점, 극대점은 존재할 수 있지만, 최소점, 최대점은 많아야 하나씩만 존재합니다. 극소점, 극대점, 최소점, 최대점은 영어로 표현해야 그 차이가 분명하게 느껴집니다. 

 

극소점: local minimum point

극대점: local maximum point

최소점: global minimum point

최대점: global maximum point

 

이번에는 그래프로 확인해볼까요? 다음 그래프는 정의역 $0.1 \leq x \leq 2.3$에서 $y = \frac{cos(3\pi x)}{x}$의 그래프입니다. 

보시다시피, 최대점과 최소점은 하나씩만 존재하지만, 극대점과 극소점은 여러 개입니다. 이제 극소점, 극대점, 최소점, 최대점 충분히 이해되셨죠?

 

안장점의 경우 변수가 2개 이상인 함수에서 존재 가능한데, 보는 방향에 따라 극소점으로 보이기도, 극대점으로 보이기도 하는 점입니다. 아래는 $f(x, y) = x^2 - y^2$의 그래프입니다. 

 

참고로 이 그래프를 그리기 위해서 matlab에서 다음과 같이 코딩했습니다. 

clc, clear, close all

x = -10:1:10;
[X, Y] = meshgrid(x);

f = X.^2 - Y.^2;

surf(X, Y, f)
grid on
xlabel('x');
ylabel('y');

 

다음은 동일한 그래프를 y축 방향에서 바라본 모습과, x축 방향에서 바라본 모습입니다. 

 

 

y축 방향에서 보면 극대점을 갖는 것처럼 보이는데 x축 방향에서 보면 극소점을 갖는 것처럼 보이죠? 말 안장 같이 생겼기 때문에 안장점이라는 말이 붙었습니다. 

 

마지막으로 임계점(critical point)이라는 용어를 정리하고 갑시다. 임계점은 극소점, 극대점, 안장점 모두를 포함하는 계념으로 함수의 도함수가 0이 되는 점들을 지칭합니다. 

 

헤시안 행렬

임계점이 함수의 도함수가 0이 되는 점들이라면, 그 임계점이 극대점, 극소점, 안장점인지는 어떻게 판정할 수 있을까요? 변수가 2개 이상인 다변수 함수의 경우에는 헤시안 행렬을 활용하면 됩니다. 변수 $x_1, x_2,..., x_n$을 가지는 다변수 함수의 헤시안 행렬은 다음과 같이 정의됩니다. 

 

 

2차 미분한 것인데 각각 행과 열의 번호를 갖는 변수들로 미분해준 것을 모아놓은 것입니다. 

 

결론적으로 말해서, 임계점이 존재하는 경우, 그 임계점에서 헤시안 행렬의 고유값들이 모두 양수면 그 임계점은 극소점인 것이고, 고유값들이 모두 음수면 그 임계점은 극대점이고, 고유값들에 양수도 있고 음수도 있는 경우면 그 임계점은 안장점입니다. 

 

헤시안 행렬의 고유값이

모두 양수면 => 극소점

모두 음수면 => 극대점

양수와 음수가 동시에 있으면 => 안장점

 

헤시안 행렬로 극소점, 극대점, 안장점 판정하기

그렇다면 이제 몇 개의 다변수 함수에 임계점이 존재하는지, 존재한다면 극소점인지 극대점인지 아니면 안장점인지를 판정해보도록 하겠습니다.

 

예제1>>

 

$f(x, y) = x^2 - y^2$

 

아까 위에서 본 함수죠? 우리는 이 함수가 안장점을 갖는다는 것을 이미 알고 있습니다. 그러면 헤시안 행렬을 이용해서 안장점을 갖는다는 것을 한 번 확인해봅시다. 우선 위 함수를 x에 대해 편미분, y에 대해 편미분하면 다음과 같이 됩니다. 

 

$\frac{\partial f}{\partial x} = 2x$

$\frac{\partial f}{\partial y} = -2y$

 

2x = 0, -2y = 0이 되게 하는 x, y를 구하면, x와 y 모두 0입니다. 따라서 위 함수는 점 (0, 0)에서 임계점을 갖습니다. 그러면 이 점이 안장점인지 확인해보겠습니다. 안장점이므로 헤시안 행렬의 고유값에 양수도 있어야 하고 음수도 있어야 합니다. 헤시안 행렬부터 구해보겠습니다. 

 

$\frac{\partial^2 f}{\partial x^2} = 2$

$\frac{\partial^2 f}{\partial x \partial y } = \frac{\partial^2 f}{\partial y \partial x } = 0$

$\frac{\partial^2 f}{\partial y^2 } = -2$

 

이므로 헤시안 행렬은 다음과 같습니다. 

 

$H(f) = \begin{bmatrix}2 & 0\\ 0 & -2\end{bmatrix}$

 

이 헤시안 행렬의 고유값들을 구하기 위해 $H -\lambda I$의 행렬식이 0이 되게 하는 $\lambda$들을 찾아줍니다. 고유값 구하는 것과 관련해서는 https://bskyvision.com/59를 참고하세요.

 

$|H -\lambda I| = 0$

 

$\begin{vmatrix}2 - \lambda & 0\\ 0 & - 2 - \lambda \end{vmatrix} = 0$

 

$(\lambda-2)(\lambda + 2) = 0$

 

따라서, 고유값은 2와 -2가 됩니다. 하나는 양수고, 하나는 음수죠? 이와 같이 점 (0, 0)은 안장점이라는 것이 확인되었습니다.

 

 

예제2>>

 

$f(x, y) = x^2 + xy + y^2 + 3x - 3y + 4$

 

이번에는 이 함수에 대해서 판정해보겠습니다. 마찬가지로 임계점을 갖는지를 확인하기 위해 x에 대해, y에 대해 각각 편미분하면 다음과 같이 됩니다. 

 

$\frac{\partial f}{\partial x} = 2x + y + 3$

$\frac{\partial f}{\partial y} = x + 2y - 3$

 

이 친구들이 모두 0이 되게 하는 x, y가 임계점이 되므로, 다음과 같은 연립일차방정식을 풀면 임계점을 찾을 수 있습니다. 

 

$2x + y  + 3 =0$

$x + 2y - 3 = 0$

 

이 연립방정식의 해는 x = -3, y =3이므로, 점 (-3, 3)이 임계점입니다. 임계점이 존재하므로 헤시안 행렬을 구해보겠습니다.

 

$\frac{\partial^2 f}{\partial x^2} = 2$

$\frac{\partial^2 f}{\partial x \partial y } = \frac{\partial^2 f}{\partial y \partial x } = 1$

$\frac{\partial^2 f}{\partial y^2 } = 2$

 

이므로 헤시안 행렬은 다음과 같습니다. 

 

$H(f) = \begin{bmatrix}
2 & 1\\ 
1 & 2
\end{bmatrix}$

 

이 행렬의 고유값은 다음과 같이 구할 수 있습니다.

 

$\begin{vmatrix}
2 - \lambda & 1\\ 
1 & 2 - \lambda
\end{vmatrix} = 0$

 

$(2-\lambda)^2 - 1= 0$

 

$\lambda^2 - 4\lambda + 3 = 0$

 

고유값은 1과 3입니다. 헤시안 행렬의 고유값이 모두 양수이므로 점 (-3, 3)은 극소점입니다. 

 

 

예제3>>

 

마지막으로 3변수 함수를 다뤄보도록 하겠습니다. 

 

$f(x, y, z) = x^3 + xyz + y^2 - 3x$

 

먼저 임계점이 존재하는지 확인하기 위해 모든 변수에 대해 편미분합니다. 

 

$\frac{\partial f}{\partial x} = 3x^2 + yz - 3 = 0$

$\frac{\partial f}{\partial y} = xz + 2y = 0$

$\frac{\partial f}{\partial z} = xy = 0$

 

이것을 연립해서 풀어야합니다. 우선 세번째 식에서 x = 0 또는 y = 0이라는 것을 알 수 있습니다. x = 0이라고 가정하면, 위 두 식은 다음과 같이 됩니다. 

 

$yz - 3 = 0$

$2y = 0$

 

y = 0인데, $yz - 3 = 0$에 대입하면 0 - 3 = 0이 되므로 모순이 되어버립니다. x = 0이 될 수 없는 것입니다. 이번에는 y = 0이라고 가정하면, 연립방정식에서 위 두식은 다음과 같이 됩니다. 

 

$3x^2 - 3 = 0$

$xz = 0$

 

첫번째 식에서 x = 1 또는 x =-1이고, 이를 두번째 식에 대입하면 두 경우 모두 z = 0이 나옵니다. 따라서 이 함수는 두 개의 임계점을 갖는 것입니다. 점 (1, 0, 0)과 점 (-1, 0, 0).

 

임계점을 가지니 이 임계점들이 극소점인지, 극대점인지, 안장점인지 판정해보도록 하겠습니다. 역시 헤시안 행렬을 먼저 구해야겠죠? 

 

$\frac{\partial^2 f}{\partial x^2} = 6x$

$\frac{\partial^2 f}{\partial y^2} = 2$

$\frac{\partial^2 f}{\partial z^2} = 0$

$\frac{\partial^2 f}{\partial x \partial y} = \frac{\partial^2 f}{\partial y \partial x} = z$

$\frac{\partial^2 f}{\partial x \partial z} = \frac{\partial^2 f}{\partial z \partial x} = y$

$\frac{\partial^2 f}{\partial y \partial z} = \frac{\partial^2 f}{\partial z \partial y} = x$ 

 

이므로, 헤시안 행렬은 다음과 같습니다. 

 

$H(f) = \begin{bmatrix}
6x & z & y \\ 
z & 2 & x \\ 
y & x & 0
\end{bmatrix}$

 

먼저 점(1, 0, 0)부터 판정해보겠습니다. 점(1, 0, 0)일 때 헤시안 행렬은 다음과 같은 값을 갖습니다. 

 

$\begin{bmatrix}
6 & 0 & 0 \\ 
0 & 2 & 1 \\ 
0 & 1 & 0
\end{bmatrix}$

 

이것의 고유값은 다음과 같은 과정을 통해 구합니다.

 

$\begin{vmatrix}
6 - \lambda & 0 & 0 \\ 
0 & 2 - \lambda& 1 \\ 
0 & 1 & - \lambda
\end{vmatrix} = 0$

 

$(6 - \lambda)(2 - \lambda)(-\lambda) - (6-\lambda)(1)(1) = 0$

 

이걸 풀면, 고유값은 6, $1+\sqrt{2}$, $1-\sqrt{2}$가 나옵니다. 양수 고유값과 음수 고유값이 모두 존재하므로, 점(1, 0, 0)은 안장점입니다. 

 

이번에는 점(-1, 0, 0)을 판정해보겠습니다. 이때 헤시안 행렬은 다음과 같은 값을 갖습니다. 

 

$\begin{bmatrix} 
-6 & 0 & 0 \\  
0 & 2 & -1 \\  
0 & -1 & 0 
\end{bmatrix}$

 

이 헤시안 행렬의 고유값은 다음과 같이 구합니다. 

 

$\begin{vmatrix} 
-6 - \lambda & 0 & 0 \\  
0 & 2 - \lambda & -1 \\  
0 & -1 & - \lambda 
\end{vmatrix} = 0$

 

$(-6-\lambda)(2-\lambda)(-\lambda) - (-6-\lambda)(-1)(-1) = 0$

 

이 방정식의 해, 즉 고유값은 -6, $1 + \sqrt{2}$, $1 - \sqrt{2}$입니다. 이번에도 역시 양수 고유값과 음수 고유값이 공존하죠. 따라서 점(-1, 0, 0)도 안장점입니다. 예제3의 함수는 2개의 임계점을 갖는데, 모두 안장점임이 확인되었습니다. 


이 글과 관련해서는 양의 정부호 행렬에 대해 포스팅한 https://bskyvision.com/205를 함께 읽으시길 추천드립니다. 끝까지 읽으시느라 수고 많으셨습니다! 조금이라도 도움이 되셨다면, 공감과 댓글을 아낌없이 남겨주세요.^^ 2019년 올해도 얼마 남지 않았습니다. 각자의 삶에서 끝까지 화이팅하시길 바라며 글을 마무리하겠습니다. 

 

 

<참고자료>

[1] https://ko.wikipedia.org/wiki/%EA%B7%B9%EA%B0%92, 위키백과, "극값"

[2] https://ko.wikipedia.org/wiki/%EC%9E%84%EA%B3%84%EC%A0%90_(%EC%88%98%ED%95%99), 위키백과, "임계점(수학)"

[3] https://ko.wikipedia.org/wiki/%ED%97%A4%EC%84%B8_%ED%96%89%EB%A0%AC, 위키백과, "헤세 행렬"

[4] https://ko.wikipedia.org/wiki/%EC%95%88%EC%9E%A5%EC%A0%90, 위키백과, "안장점"

[5] http://matrix.skku.ac.kr/2014-Album/Quadratic-form/4.Hessian%20matrix.htm, Hessian matrix

 

댓글()

<프레임>, 내가 보는 세계가 전부가 아니다

아래는 2019년 8월 31일에 작성한 독후감입니다.


 

"우리는 세상을 있는 그대로 객관적으로 보고 있다고 생각하지만, 사실은 프레임을 통해서 채색되고 왜곡된 세상을 경험하고 있는 것이다. 프레임으로 인한 이러한 마음의 한계에 직면하게 될 때 경험하게 되는 절대 겸손, 나는 이것이 지혜의 출발점이라고 생각한다."

나는 저자의 이 말에 100퍼센트 동의한다. 우리는 모두 자신은 매우 객관적이고 이성적인 사람이라고 생각한다. 동시에 다른 사람에 대해서는 매우 편협하고 주관적인 사람이라고 치부한다. 반면 저자는 완벽하게 객관적인 사람, 또한 모든 실상을 제대로 판단할 수 있는 사람은 없다고 단정짓는다. 인간에게는 분명한 한계가 있다는 것이다. 

우리는 모두 각자의 프레임, 즉 세계관, 관점을 가지고 세상을 바라본다. 세계관과 관점은 자신이 살아온 인생, 신앙, 학습한 사상에 의해 차츰 만들어진다. 완벽하게 동일한 인생의 여정을 걸어온 사람은 단 한 사람도 없기 때문에 어쩌면 모두가 가지고 있는 프레임은 다 다르다고 볼 수도 있다. 자신의 세계관과 상당히 큰 교집합을 가진 사람들도 주변에 꽤 있지만, 반면 상당히 적은 교집합을 가진 사람들도 종종 만나게 된다. 

똑같은 일을 겪었는데도 다른 해석이 나오는 것을 보면 당혹스럽기 마련이다. 그 원인은 바로 각자가 가지고 있는 프레임의 차이다. 똑같은 장면을 찍더라도 사진사가 어떻게 찍느냐에 따라 완전히 다른 결과물이 나오는 것과 같은 원리다. 

자, 모든 사람이 각자의 프레임, 세계관, 관점을 가지고 인생을 살아간다는 것을 이제 모두 동의할 것이다. 그렇다면 좀 더 나은 세계관이라는 것은 존재할까? 포스트모더니즘 사상에 빠져 있는 사람은 "더 나은 세계관은 없어. 모두 다르고 다 의미가 있어."라고 주장하겠지만, 나는 그들의 의견에 동의하지 않는다.

완벽한 세계관이라는 것은 존재하지 않는다 할지라도, 좀 더 나은 세계관은 존재한다고 생각한다. 똑같은 장면을 사진으로 찍어도 어떤 관점에 따라 찍느냐에 따라 많은 사람들의 감탄을 자아내는 매우 훌륭한 작품이 될 수도 있고, 별 가치 없는 수 많은 사진 중의 한 장으로 남을 수도 있기 때문이다. 

다음과 같은 허무주의적 세계관을 가지고 있는 사람이 있다고 가정해보자. "내가 이 세상에 태어난 것은 그저 우연일 뿐이야. 열심히 공부하는 것도 무의미하고, 열심히 일을 해서 돈을 버는 것도 부질없고, 결혼을 하고 아이를 낳고 양육하는 것도 허무한 일일 뿐이야." 이런 세계관을 가진 사람은 인생을 살아갈 이유를 찾기 어려울 것이다. 결과적으로 게으르고 방탕하게 쾌락만을 추구하며 살아갈 가능성이 크다. 

반면 나와 같이 기독교적 세계관을 가진 사람들은 대체적으로 이런 생각을 한다. "나는 하나님이 사랑하시는 존재야. 내가 이 세상에 태어난 것은 우연이 아니라 하나님이 계획하신 일이야. 하나님과 이웃을 사랑하고 이땅에 나를 보내신 것이야. 이 세상에는 분명히 선과 악이 존재해. 나를 비롯해 모든 인간들은 죄성을 가진 연약한 존재야. 하나님의 말씀과 양심에 순종하지 않으면 언제든 나와 다른 사람을 파멸시키며 살 수 있어. 반면 순종하면 나와 이웃의 행복을 증진시키는 삶을 살 수 있어." 

전자와 후자 중 어떤 세계관을 가지고 세상을 살아가는 자가 더 의미있는 삶을 살아갈까? 나는 후자라고 생각한다. 

여러 관점과 각도를 가지고 세상을 바라보는 것이 어쩌면 가장 이상적일 것이다. 그러나 우리는 시간, 공간, 능력의 한계를 가지는 존재다. 좀 더 의미있는 인생을 살기 위해서는 좀 더 나은 세계관들을 취해야 한다. 

셀 수 없이 많은 세계관 중에 어떤 세계관들은 특히 세상에 대해 더 입체적으로 볼 수 있게 한다. 나는 그것이 바로 기독교적 세계관이라고 생각한다. "신의 존재. 인간의 죄성." 이 두 가지를 인정하지 않고 세계를 바라보면 너무나 이해하기 어려운 일들이 많다. 그러나 이 두 가지를 인정하고 세상을 바라보면 많은 것들을 이해할 수 있다. 

나는 이 세계관이라는 것은 생물, 즉 살아있는 것이라고 생각한다. 따라서 계속해서 다듬어지다가 가끔은 큰 전환점을 맞을 수도 있다고 생각한다. 독후감을 써오면서 느끼는 것이지만 불과 1년전에 쓴 독후감의 내용에 나 스스로가 공감이 되지 않을 때도 있다. 분명 그때는 그것이 옳다고 생각했고, 그렇게 느꼈는데도 말이다. 우리의 이러한 변덕스러움을 인정하자. 또한 우리의 한계를 받아들이자. 그럴 때만이 나와 다른 세계관을 가진 사람들도 받아들일 수 있다.

 

댓글()

[IQA] visual masking 현상을 고려한 IQA 알고리즘, MAD

안녕하세요. 비스카이비전의 심교훈입니다. 오늘은 이미지 품질 평가(image quality assessment, IQA) 알고리즘 중 하나인 MAD에 대해서 소개하려고 합니다. MAD는 Eric C. Larson과 Damon M. Chandler가 2010년 Journal of Electronic Imaging에 게재한 논문 "Most apparent distortion: full-reference image quality assessment and the role of strategy"에서 제안되었습니다. 두 저자 중 특히 Chandler는 IQA 분야에 기여한 바가 꽤 큰 연구자입니다. 

 

사람들은 이미지의 품질을 평가할 때 다음과 같은 전략들을 취합니다. 1) 왜곡이 간신히 인지될 정도의 이미지의 경우, 다른 말로 near-threshold 왜곡을 가진 이미지의 경우, 사람들은 왜곡을 찾는 경향이 있습니다 (detection-based strategy). 2) 왜곡이 분명하게 보이는 이미지의 경우, 다른 말로 supra-threshold 왜곡을 가진 이미지의 경우, 사람들은 이미지의 본래 내용을 찾는 경향이 있습니다 (appearance-based strategy). 이 두 가지 전략을 모두 반영한 것이 바로 MAD입니다. 알고리즘 이름 MAD는 most apparent distortion의 두문자어입니다.

 

구체적으로 MAD는 다음과 같은 방식으로 작동합니다. 고품질 이미지의 경우, 콘트라스트 민감도, 지역 밝기, 콘트라스트 마스킹이 detection-based strategy에 의해 인지된 왜곡을 측정하기 위해 사용됩니다. 저품질 이미지의 경우 log-Gabor 분해로 얻은 서브밴드들의 지역 통계량의 변화가 appearance-based strategy에 의해 인지된 왜곡을 측정하기 위해 사용됩니다. 두 측정량을 조합함으로써 해당 이미지의 품질 점수를 산출합니다.

 

MAD의 매틀랩 코드는 다음 링크에서 다운로드 받을 수 있습니다. 

=> http://vision.eng.shizuoka.ac.jp/mod/url/view.php?id=54

 

MAD는 예측 정확도 면에서는 괜찮은 알고리즘이지만, 예측에 시간이 꽤 많이 소요됩니다. 아래 표와 같이 한장의 이미지의 품질을 평가하는데 약 2초가 소요됩니다(논문 [1]의 저자가 본인의 노트북으로 측정했을 때). 비교적 무거운 알고리즘이죠. 

 

출처: [1]

 

<참고자료>

[1] W. Xue, L. Zhang, X. Mou and A. C. Bovik, "Gradient Magnitude Similarity Deviation: A Highly Efficient Perceptual Image Quality Index", TIP(2014)

 

댓글()

[IQA] 표준편차 풀링을 제안한 GMSD, 빠름 주의

 

 

안녕하세요. 비스카이비전의 심교훈입니다. 오늘은 제가 굉장히 개인적으로 높게 평가하는 IQA 알고리즘을 소개하려고 합니다. 바로 GMSD라는 알고리즘인데요, 2014년 TIP 논문 "Gradient Magnitude Similarity Deviation: A Highly Efficient Perceptual Image Quality Index"에 소개된 알고리즘입니다. 이 알고리즘의 Matlab 코드는 여기서 다운받을 수 있습니다. => http://www4.comp.polyu.edu.hk/~cslzhang/IQA/GMSD/GMSD.htm  

 

이 알고리즘은 사실 너무나 간단합니다. 보통 FR IQA 알고리즘들은 지역 품질맵의 평균, 또는 가중평균으로 최종 품질 점수를 얻는데, GMSD는 지역 품질맵의 표준편차로 최종 품질을 얻는 표준편차 풀링을 제안합니다. 

 

GMSD는 다음과 같이 작동합니다. 저자들은 이미지 그레디언트가 왜곡 현상에 민감하고, 왜곡 이미지 내 여러 지역 구조들은 다양한 정도로 열화가 된다는 점에 착안하여, 원본 이미지와 왜곡 이미지의 그레디엔트 크기를 지역적으로 비교해서 그레디언트 크기 유사 맵(gradient magnitude similarity map, GMS 맵)을 산출했습니다. 그 다음 GMS 맵의 표준 편차 값을 최종 품질 점수로 정해줬습니다. 저자들은 품질이 나쁜 이미지는 보통 지역 품질의 변화가 크다고 봤기 때문입니다. 다음 그림을 보면서 이것이 무슨 의미인지 살펴봅시다.

 

출처: original 논문

첫번째 열에 있는 이미지는 원본 이미지들이고, 두번째 열에 있는 이미지는 왜곡 이미지들이고, 세번째 열에 있는 이미지들은 GMS 맵, 즉 지역품질맵입니다. 보시다시피, 상단 이미지의 지역품질은 비교적 균등하게 분포되어 있지만, 하단 이미지의 지역품질은 변화가 큽니다. 중간에 꽃 부분의 지역품질이 배경에 비해 나쁩니다. DMOS 값은 사람이 매긴 품질 점수, 즉 라벨값인데요, 클수록 품질이 나쁜 것입니다. 하단의 왜곡 이미지가 상단의 왜곡 이미지보다 나쁜 것입니다(0.7785>0.4403). 그런데 만약 지역 품질 점수를 그냥 평균내면(GMSM), 0.8853과 0.8745로 두 왜곡 이미지의 품질이 비슷한 것으로 나오게 됩니다. DMOS는 분명히 차이가 있는데 말이죠. 지역 품질을 제대로 풀링하지 못한 것입니다. 하지만, 지역 품질 점수들의 표준 편차값을 살펴보면(GMSD), 0.1420과 0.1946으로 분명한 차이가 있습니다. 표준 편차 풀링은 두 왜곡 이미지의 품질 차이를 잘 반영해낸 것입니다. 

 

구체적으로 저자들은 Prewitt 연산자를 이용해서 그레디언트를 계산했습니다. GMS 맵 산출 공식은 다음과 같습니다. 

 

 

여기서 $m_r(i)$는 원본 이미지의 그레디언트 크기이고, $m_d(i)$는 왜곡 이미지의 그레디언트 크기입니다. 그리고 이 지역 품질 맵에서 최종 스코어를 얻기 위해 다음과 같은 공식을 사용했습니다. 즉 GMS의 표준편차를 구한 것입니다.  

 

여기서 GMSM은 GMS의 평균값입니다.

 

 

자, 그러면 GMSD의 성능을 3개의 IQA 데이터베이스에서 테스트한 결과를 살펴보겠습니다. 

 

출처: original 논문

표에서 볼 수 있듯이 3개의 데이터베이스 모두에서 GMSD는 거의 가장 정확하게 이미지의 품질을 예측해냅니다. 또한 중요한 것은 예측하는데 시간도 상당히 짧게 걸립니다. 다음 표를 보시죠. 

 

출처: original 논문

 

단, 0.0110초. 1초에 약 100장의 이미지의 품질을 평가할 수 있다는 뜻입니다. GMSD는 SSIM보다도 훨씬 빠르게 이미지의 품질을 평가해낸다는 것을 알 수 있습니다. SSIM보다 훨씬 더 정확하면서 말이죠. 정확하면서도 빠른 알고리즘, 상당히 훌륭한 알고리즘이죠. 

 

이것으로 GMSD에 대한 소개를 마치겠습니다. 도움이 되셨다면 공감과 댓글을 아낌없이 베풀어주세요.^^ 

 

 

 

 

댓글()