인공지능관련/이미지 프러세싱

화질 개선1

학위논문통계 2016. 11. 29. 14:48

 

 

1.

 

천경자씨 위작여부에 대해 프랑스 감정기관이 이미지 분석을 해서 조작이라고 판정을 했죠. 이쪽을 공부하면 알겠지만 굉장히 과학적인 방법으로 하는 것입니다. 그래서 위작이 확실하다고 보면 됩니다. 천경자 본인도 의식 못하는 나름 대로의 이미지 화풍이 있다는 것이고, 위작은 그 이미지 화풍과는 전혀 다르다고 판정을 내릴 것이죠. 물론 천경자 유족인 이 감정회사에게 뒷돈을 줬다면 모르겠지만 그렇지 않으면 위작으로 판정해야 합니다.

 

현대 미술관 측에서는 프랑스 감정기관이 위작이 나중에 나온 천경자 작품을 보고 그렸다고 주장해서 이 감정기관의 판정을 못 믿는다고 했는데 웃기는 이야기입니다. 그 감정기관이 실수를 한 것이지만 이 감정이 작품은 제작 연대를 밝히는 것이 아니거든요. 위작과 나중 작품간 그 사이에 천경자씨 화풍이 확 변했다면 문제가 되겠지만 작품의 제작 연대가 작품 진위를 판정하는데는 아무런 관련이 없습니다.

 

 

 

2.

 

지난번 화질 개선에 대해 좀 더 자세히 이야기 해보죠. 일단 음영 이미지가 5단계만 있다고 하죠. 0, 1, 2, 3, 4, 5에서 0은 완전 검정이고 5는 완전 흰색이라고 하죠. 이게 이쪽 관행이거든요.

 

 

우리가 여기서 사용하는 기법은 다음의 통계학 이론을 이용한 것입니다. 원 화질의 변수를 R이라 하고 개선된 화질을 S라고 하죠. 각 관찰된 이미지 정도를 r과 s라고 하고요. 그럼 일단 원 이미지 R의 누적확률분포 F(r)를 구할 수 있습니다. 그럼

 

 

S=F(r)

 

 

은 균등분포를 하는 것으로 알려져 있습니다. 사실 증명은 간단합니다. 통계 수치해석 책에 보면 다 증명되어 있습니다. 그러나 우리는 디지털 이미지를 다르기 때문에 실제로 균등분포로 나오지는 않습니다. 우리가 어떤 분포를 하는 데이터를 임의로 샘플링할 때 가장 기본적인 아이디어가 이 성질을 이용하는 것입니다. S는 0과 1 사이에 있으니까 0과 1 사이에 균등분포에서 랜덤 숫자 s1, s2, s3,,,,를 뽑은 다음

 

 

r=F-1(s)

 

 

을 이용하면 원하는 분포를 하는 표본을 임의로 뽑아낼 수 있습니다. 제 블로그 인공지능 앞 부분을 한번 확인해 보세요. 이게 지난번 그림입니다.

 

 

 

 

 

 

 

3.

 

히스토 균등법의 예를 들어 보죠. 앞에서 이야기 했지만 이미지 값은 0에서 5까지 6가지 종류가 있다고 하죠. 이미지의 크기는 10*10 이라 하고요. 그럼 핏셀 수는 100이 되겠죠. 여기서 일단 이 이미지 값을 0과 1 사이로 정규화해야 합니다. 현실에서는 안 해도 되는데 이론 전개상 그렇게 하는 것이 좋습니다. 그래서 r=0은 0, r=1은 0.2, r=2는 0.4, r=3은 0.6, r=4는 0.8, r=5는 1.0으로 되는 것이죠. 그럼 개선된 이미지

 

S=F(r)

 

을 이용해 보죠

 

그럼 10*10 이미지의 값의 분포가 다음과 같다고 하죠.

 

r(원 척도)

r(정규화 척도)

빈도

누적 백분율

s

변환 s

0

0

30

30%

0.3

0.2나 0.4

1

0.2

30

60%

0.6

0.6

2

0.4

10

70%

0.7

0.6이나 0.8

3

0.6

10

80%

0.8

0.8

4

0.8

10

90%

0.9

0.8이나 1.0

5

1.0

10

100%

1.0

1.0

 

 

누적 백분율 그래프를 그리면

 

 

s

1.0

0.9

0.8

0.7

0.6

0.3

0

0.2

0.4

0.6

0.8

1.0

r

 

여기서 r=0은 s=0.3, r=0.2는 s=0.6, r=0.4는 s=0.7, r=0.6은 s=0.8, r=0.8은 s=0.9, r=1.0은 s=1.0입니다.

 

그런데 우리는 6개의 값 0. 0.2, 0.4, 0.6, 0.8, 1.0 밖에 취할 수 없기 때문에 구한 s 값을 반올림에서 변환을 해야 합니다. s=0.3은 0.2나 0.4, s=0.6은 0.6, s=0.7은 0.6이나 0.8, s=0.8은 0.8, s=0.9는 0.8이나 1.0, s=1.0은 1.0으로 변환을 한다는 것이죠.

 

 

그래서 여기서 두 가지 특징을 알 수 있습니다.

 

1) 원 이미지에서 빈도가 높은 이미지 값(r=0, r=0.2 경우)은 개선된 이미지에서는 원 이미지보다 넓게 값이 변합니다. s=0.3을 0.2로 하고 s=0.6인 경우 0.6으로 하면 원래 이미지에서는 0과 0.2로 한 단위 변했는데 개선된 이미지에서의 값은 0.2와 0.6으로 두 단위 변하게 됩니다.

 

2) 원 이미지에서 빈도가 낮은 값, 즉 r=0.4, r=0.6, r=0.8, r=0.1은 개선된 이미지 s에서는 촘촘해져서 변환된 s에서는 그 빈도가 합쳐지는 경향이 있습니다.

 

그래서 히스토 균등법은 원 이미지의 빈도가 높은 값은 좀 더 펴지게 하는 효과가 있고, 이미지 값의 빈도가 낮은 경우는 서로 빈도를 합쳐 전체적으로 균등하게 하는 효과가 있습니다.

 

 

 

4.

 

이렇게 이미지 값을 균등하게 하기를 원하지 않고 개선된 여러분이 원하는 분포를 하기를 원한다고 하죠. 이 이미지를 Z라 하죠. 아래 그림은 파란색은 원 이미지의 분포입니다. 0에 가깝게 치중되어 있기 때문에 원 이미지는 거의 검정에 가까운 이미지입니다. 빨간색은 여러분이 원하는 이미지의 분포입니다. 이것은 255값에 가깝게 있기 때문에 거의 흰 이미지에 가깝습니다. 즉 까만색에 가까운 원 이미지를 흰색에 가까운 이미지로 바꾸고 싶다는것이죠. 이것도 포토샵에서 다 있을 겁니다. 원하는 분포나 누적분포를 그리면 이미지를 전환해 줄겁니다. 여기에 깔린 이론을 소개하겠습니다.

 

 

 

이렇게 원하는 이미지로 만들려면 어떻게 해야 할까요. 이것 역시 앞의

  

S=F(r)

 

이 균등분포를 하고, F의 역함수를 취하여

 

r=F-1(s)

 

을 이용하면 샘플링 이론에서 r의 분포를 구할 수 있다는 것을 이용하는 것입니다.

 

즉 먼저 원래 이미지 변수 R에서 r의 누적분포 F(r)을 이용하여 S의 균등분포를 만듭니다. S는 균등분포를 하기 때문에 원하는 이미지 분포 Z의 누적 분포 G(z)의 역함수를 이용하면 즉,

 

z=G-1(s)

 

하면 원하는 이미지 Z의 분포를 가진 이미지를 만들 수 있습니다.

 

그래서 이걸 합치면 원 이미지 값 r과 원하는 이미지의 값 z간의 관계는 다음과 같이 됩니다.

 

 

z=G-1(s)=G-1(F(r))

 

이 됩니다. 그래서 구한 z 값을 이미지에서 취할 수 있는 값으로 반올림하면 됩니다. 이 과장을 그림으로 간단히 그리면 다음과 같습니다.

 

 

그럼 책에 나오는 예를 한번 볼까요. 원 이미지는 화성 사진입니다. 아래 그림을 보면 까만색이 너무 많죠.

 

 

 

 

 

다음 그림은 히스토 균등법을 적용했습니다.

 

 

 

 

 

이미지가 훨씬 잘 파악이 되죠. 그런데 흰색 부분이 너무 많다고 생각할 수 있을 겁니다. 그래서 다음 그림 왼쪽 첫 번째 분포처럼 이미지를 만들고 싶다는 것이죠. 까만색이 좀 많고 흰색이 좀 적은 이미지를 만들고 싶다는 것이죠.

 

 

 

 

 

왼쪽 두 번째 그림에서 실선 (1)이 원하는 이미지의 누적분포이고 점선(2)가 z=G-1(F(r))의 함수를 그린 그래프입니다. 원 이미지를 유지하면서 휜색이 조금 더 살아났지만 히스토 균등법보다 흰색 부분이 많이 줄어 들었죠.

 

 

 

5. 로컬 이미지 개선

 

위의 두 방법은 이미지 전체에 일괄적으로 작용시키는 방법입니다. 그러나 이런 방법을 쓰면 이미지 부분에 있는 어떤 특수성을 잘 파악할 수 없을 수가 있습니다. 물론 여러분이 이미지의 특정 지역만 관심이 있다면 이 영역을 갭처해 다른 이미지 파일로 저장하고 위의 두 가지 방법을 사용할 수 있습니다. 그러나 전체 이미지에서 있는 여러 부분의 지역 이미지의 특정을 파악하려면 여러번 작업을 해야 하기 때문에 불편합니다. 지역적인 이미지의 특성을 파악하되 한번에 이 작업을 수행하고 싶다는 것이죠.

 

이것 하기 위해서는 원 이미지의 각 픽셀마다 필터링작업, 즉 mask라는 것을 씌워서 작업을 합니다. 이런 mask를 씌우는 방법이 인공지능 CNN에서 가장 많이 쓰이는 기법으로 알고 있습니다. 하여간 화질 개선이 주 관심이 아니기 때문에 자세한 내용은 책을 보시고요. 책에 나오는 실제 작업한 결과만 보여 주겠습니다.

 

 

 

 

인터넷에 돌아다니는 책은 책을 이미지로 스캔한 것이라 화질이 너무 안좋습니다. 첫 이미지는 원래 이미지고 두 번째 이미지는 앞에 설명한 글로벌 작업인 히스토 균등법이고 세 번째 이미지는 로컬 작업을 한 이미지인데 스캔을 잘못해서 영 엉망으로 나왔네요. 책을 보면 세 번째 이미지는 원 이미지에 있는 5개의 검정 사각형 안에 또 작은 검정 사각형이 들어 있습니다. 이게 글로벌 작업한 두 번째 이미지에서는 안 나오는데 로컬 화질 개선을 하면 나타난다는 것입니다. 관심 있는 분들은 책을 사 보시고요.

 

 

 

 

 

 

다음은 화면의 노이즈를 제거하는 smoothing 작업을 한번 알아보겠습니다. 이건 평상시 여러분도 많이 보는 것입니다. 주식 시장 변화 그래프에서 이동평균 하는 것이 있죠. 이게 smoothing 하는 작업니다.

'인공지능관련 > 이미지 프러세싱' 카테고리의 다른 글

윤곽선 드러내기.  (0) 2016.12.14
윤곽선 드러내기1  (0) 2016.12.07
스무딩2  (0) 2016.12.01
이미지 스무딩1  (0) 2016.11.30
이미지프로세싱1  (0) 2016.11.21