본문 바로가기

Sessions/DEMA Talks

이미지 프로세싱과 matlab - 정대명

안녕하세요 디마스튜디오의 정대명 hands입니다. 저번 학기 알고리즘에 이어 이번학기 관점공유 시간에는 matlab위주의 이미지 프로세싱에 대하여 간단히 알아보는 시간을 가졌습니다.

 

디지털 영상처리란 전기전자공학, 컴퓨터공학, 딥러닝 등의 기본이 되는 한 분야로써 여러 장치를 사용하여 이미 생성된 영상을 변화시키는 것이 기본이며, 영상에서 정보를 추출하는 과정이라고 할 수 있습니다.

영상처리에는 요즘 핫 한 인공지능 화면인식, 딥러닝 분야 뿐만 아니라 패트리어트 미사일, 의료 시스템, 센서분야 등등 많은 분야에서 사용되고 있습니다. 그 중에서 저는 이미지 프로세싱 과정 중 매트랩 즉 수학을 활용하여 포토샵이나 일러스트 같은 프로그램이 돌아가는 과정에 대한 설명을 하고자 합니다. 다음과 같이 모든 컬러 영상은 R G B 0~255까지의 R G B 명암을 합하여 만들어 집니다. 여기에 가해지는 숫자에 따라 색을 표현하게 됩니다. 위에 보이는 네모 한칸이 해상도를 좌우하는 픽셀입니다.

다음과 같은 개의 사진을 보시면 영상을 전송 수신하는 과정에서 노이즈가 끼는 현상을 발견 할 수 있습니다. 노이즈의 종류에도 여러 가지가 있는데 위와 같은 가우시안 노이즈 같은 경우는 평균을 중심으로 고르게 종 모양으로 노이즈가 퍼져있는 형태를 띄게 됩니다.

 

이 경우 9개의 픽셀의 중간값을 잡아주는 계산을 하여 코드를 부여하면(Median filter) 다음과 같이 노이즈가 제거되면서 화면을 복구 할 수 있게 됩니다. 맨 왼쪽이 원본, 가운데가 노이즈가 낀 사진, 맨 오른쪽이 필터로 복구된 사진입니다.

이 같은 경우 말고도 고속 송신이나 송신과정 중 강한 열이 부과될 경우 salt and pepper과 같은 극단적인 0, 255값의 픽셀들이 형성되는 노이즈가 생성될 수 있습니다. 이와 같은 경우 median filter 코딩을 할 경우 가운데와 같은 깔끔한 이미지로 원복할 수 있지만 min filter을 사용할 경우 오른쪽과 같이 거무튀튀한 노이즈가 더욱 심해지는 결과를 낳을 수 도 있습니다. 이와같이 노이즈에 따라 서로 다른 filter 코드를 사용해야 함을 알 수 있었습니다.

 

다음은 여러분이 자주 사용하는 포토샵에서 sharpenblur그리고 이미지 효과에 대하여 알아보겠습니다. 실제로 sharpen과 같은 효과를 내는 것에는 위 그림과 같은 원리가 들어가 있습니다. 영상에서의 frequency(주파수)는 명암 대비를 나타내게 되는데 이 주파수 영역을 위와 같이 일부 영역만 높게 나타내 주는 high pass filter코드를 사용해 주면 더 뚜렷한 이미지를 형성할 수 있습니다. 이렇게 sharpen으로 형성된 이미지에서 원본 이미지를 빼 주면 위와같이 특수한 영상효과도 낼 수 있습니다.

 

흐릿하도록 만드는 blur같은 경우에는 반대로 low pass filter로 전체적인 주파수를 낮게 맞추어 명암대비를 줄이는 과정이 들어가 있습니다.

 

이것 말고도 보간법(interpolation)즉 근사화를 사용한 이미지 확대를 하여 이미지를 확대하여도 깨지지 않게 하는 방법 등 수많은 수학적인 원리가 이미지 영상처리에는 들어가 있음을 알 수 있었습니다.

이것 말고도 여러가지 다양한 수식을 활용하면 위와같은 다양한 효과를 이미지에 적용시켜 볼 수 있음을 알 수 있었습니다.