오늘날 디지털 영상처리 기술은 굉장히 다양한 분야에 활용되고 있다. 이번 포스팅에서는 다양한 분야에 활용되는 예시를 살펴볼 것이다. 


영상을 분류할 때 영상이 얻어지는 근원(source)에 따라 분류할 수 있다. 일반적인 핸드폰이나 디지털 카메라를 이용해 얻는 영상 이외에도 우리는 굉장히 다양한 경로로 디지털 영상을 얻을 수 있다. X-ray도 하나의 예가 될 수 있다. 


이 근원을 이야기 하기 위해서 약간 어려운 얘기를 해보자. 오늘날 사용되고 있는 이미지에 대한 주요에너지원은 전자기 에너지 스펙트럼(Electromagnetic energy spectrum)이다. 다른 주요 에너지원으로는 음향에너지(acoustic energy), 초음파(ultrasonic) 그리고 전자현미경 등에 쓰이는 전자 에너지(electronic energy)가 있다. 이러한 근원을 바탕으로 컴퓨터가 이미지 형태로 합성하고 사람들에게 시각화를 해서 식별할 수 있도록 만드는 것이다. 그렇다면 어떻게 이러한 다양한 에너지들로부터 이미지가 만들어지고 또한 응용되는지 살펴보자. 영상을 디지털 형태로 변환하는 것은 이후 포스팅에서 다루도록 하고 이번엔 간단하게 개념적인 이야기들만 하도록 하자. 



전자기 스펙트럼, 즉 EM(Electromagnetic spectrum)을 기반으로한 영상이 우리에겐 가장 친숙한 형태인데, X-Ray와 가시광선 영역의 이미지들이 특히 그렇다. EM은 전자기 파동(Electromagnetic waves)으로부터 측정되는데, 이는 다양한 파장(wavelength)의 사인파(sinusoidal waves)를 전파하는 것으로 생각할 수 있다. 또는 질량이 없는 입자들의 흐름(stream)으로 간주할 수 있는데, 이때 이 흐름은 파동(wave)의 형태로 빛의 속도로 이동하는 것으로 생각할 수 있다. 여기서 각 무질량 입자들은 얼마의 에너지를 가지고 있고, 각 에너지 덩어리를 광자(photon)라고 부른다. 

스펙트럼 띠(spectral band)를 광자에 따른 에너지로 그룹을 나눈다면, 우리는 아래 그림과 같은 스펙트럼(spectrum)을 얻는다. 범위는 감마선(gamma rays)부터 전파(radio wave)까지 분포하며, 감마선으로 갈 수록 에너지는 높고 파장은 짧다. 


우리 눈에 보이는 영역은 Visible이라고 표시된 아주 일부분의 영역이며 빨주노초파남보로 표현되어있다. 느껴지는 것 과는 다르게 빨간색 부분이 에너지가 더 낮다. 







전자기 에너지 스펙트럼의 각 구간에 따라 여러 형태의 이미지를 만들어낼 수 있으며 각 이미지의 응용도 제각기 다르다. 

감마선 이미지, X-ray 이미지, 자외선 이미지, 가시광선 이미지(핸드폰 등으로 찍어 내는 영상), 마이크로파 이미지, 라디오파 이미지 등이 존재한다. 


1. 감마선 이미징(Gamma-Ray Imaging)

핵의학(nuclear medicine)이나 천체 관측(astronomical observations)에 주로 응용되며, 에너지가 높아 사람의 피부 등은 그대로 통과하기 때문에 인체의 뼈를 스캔하거나 멀리 있는 별의 관측 등에 응용된다. 


2. X-Ray 이미징

X-Ray는 우리가 병원에서 쉽게 접할 수 있는 형태의 이미지이다. 역시 뼈 사진을 본다거나, 혈관 등 인체의 장기 사진을 살펴보거나 할 때 사용된다. 이러한 의료 영상뿐만 아니라 산업현장에서 제품의 결함 등을 검사하는데 사용되기도 한다. 


3. 자외선 이미징(Ultraviolet Band)

자외선 빛은 형광현미경(Fluorescence microscopy)에 사용된다. 이 외에도 리소그래피(lithography), 산업용 검사 장비, 현미경 등에 사용된다. 


4. 가시광선과 적외선 이미징(Visible and Infrared Bands)

가시광선 이미지는 우리 눈에 보이는 파장을 이용해 생성한 사진이다. 즉 핸드폰, 카메라 등을 이용해서 찍은 이미지들을 의미한다. 

적외선 이미지는 종종 가시광선 이미징과 함께 사용된다. 응용분야는 광학현미경부터 산업현장, 우주산업, 법률 집행 등 무수히 다양한 분야에 응용된다. 


5. 마이크로파 이미징(Microwave Band)

마이크로파 이미징의 주된 응용처는 바로 Radar이다. Radar가 가지고 있는 고유한 특성이 조명이나 날씨 등에 상관없이 데이터를 수집할 수 있다. 


6. 라디오파 이미징(Radio Band)

라디오파의 주된 응용처는 의료와 천문학이다. 의료에서는 대표적으로 MRI(Magnetic Resonance Imaging)가 있다. 



각 영상들의 샘플들은 구글에 검색하면 쉽게 볼 수 있다. 


디지털 영상의 첫 번째 응용 분야중 하나는 신문 산업이었는데, 런던과 뉴욕사이에 해저 케이블(submarine cable)을 통해 처음으로 사진이 전송되었다. 


이렇게 생긴 해저 케이블을 통해 전송.. 예전엔 더 허접했을 것이다



이후 1920년대 초에 Bartlane 케이블 사진 전송 시스템(Bartlane cable picture transmission system)의 등장으로 대서양간 이미지를 전송하는데 일주일이 넘게 걸리던 시간이 3시간 안쪽으로 줄어들었다. 특별히 제작된 프린칭 장치가 전송을 위한 형태로 사진을 부호화(coded)하고 받는 쪽에서 이를 복원하는 방식이었다. 


사실 알고보면 전송 절차가 굉장히 복잡하다.. 오른쪽 사진은 이 방식을 통해 전송된 사진



초기에는 사진의 화질이 좋지 않아 이를 개선시키기 위한 많은 고민들이 있었는데, 이와 관련된 문제들이 프린팅 절차와 사진의 흑백 강도의 정도(intensity levels)에 대한 분포 문제였다. 

위의 사진을 얻기 위해 사용되었던 방법은 수신부 터미널에서 tape에 구멍을 뚫어 만들어지는 사진 복제 기술(photographic reproduction)의 선호로 인해 1921년 말에 더 이상 쓰이지 않게 되었다. 

아래 왼쪽 사진은 photographic reproduction 방식을 사용해서 만들어낸 것이다. 


(왼쪽)5단계의 흑백 강도(5-level of gray intensity)로 만들어진 사진. 위의 사진에 비해 화질 개선이 뚜렷하다. 

(오른쪽) 15단계의 흑백 강도(15-level of gray intensity)로 만들어진 사진. 


초기의 Bartlane 시스템은 이미지를 총 5단계의 gray-level(밝기 값을 총 5 단계로 설정할 수 있음을 의미)로 코딩을 할 수 있었다. 1929년엔 15단계로 증가하였다. 이 기간 동안 Light beam을 통한 film plate의 개발로 복제 절차를 상당히 개선시켰다. 



위에서 언급한 사진들은 디지털 영상 범주에 넣긴 했지만 엄밀히 말하자면 디지털 영상 처리의 결과로 얻어진 결과물들은 아니다. 위의 사진들을 만드는 과정에 컴퓨터는 없었기 때문이다. 그러므로 디지털 영상 처리의 역사는 디지털 컴퓨터의 발명과 직접적으로 연관되어 있다. 


사실 디지털 이미지는 대량의 저장소와 컴퓨팅 파워를 요구하기 때문에 디지털 영상처리 분야에서의 진보는 디지털 컴퓨터의 저장, 디스플레이, 전송 기술의 발전에 굉장히 의존적이다. 따라서 컴퓨터의 발전을 논하지 않고는 디지털 영상처리를 이야기할 수는 없을 것이다. 디지털 컴퓨터의 발전 과정을 간략하게 살펴보자. 



디지털 컴퓨터의 아이디어는 5000년 전에 소아시아에서 발명된 주판으로 거슬러 올라간다. 이후 최근의 지난 두 세기동안 인류는 현재 컴퓨터라 불리는 장치를 발명하였다. 그러나 사실 현대의 디지털 컴퓨터의 근간은 1940년대 폰 노이만의 다음 두 가지 개념이 소개되면서 부터라고 할 수 있다. 


- 데이터와 프로그램을 기억하는 메모리

- Conditional branching (If then Else와 같은 조건부 분기문을 의미)


이 두 가지 아이디어는 컴퓨터의 심장과도 같은 CPU(Central Processing Unit)개발의 기본 토대가 되었다. 폰 노이만을 시작으로 현재까지 컴퓨터의 큰 발전에 기여한 주요 발달과정이 있었으며 순서대로는 다음과 같다. 



내용 

시기 

(1)

 Bell 연구소에서 트랜지스터 발명

 1948 년

(2)

 High-level programming 언어 COBOL(Common Business-Oriented Language)과 FORTRAN(Formula Translator) 발명

 1950~1960 년

(3)

 Texas Instruments에서 집적회로(Integrated Circuit) 발명

 1958 년

(4)

 운영체제(Operating System) 발명

 1960년대 초

(5)

 Microprocessor발명(CPU, 메모리, I/O로 구성된 단일 칩)

 1970년대 

(6)

 IBM 개인용 컴퓨터의 등장 

 1981년 

(7)

 컴퓨터 요소들의 점진적 소형화/집적화
  - Large scale integration (LI)
  - Very large scale integration (VLSI

  - Ultra large scale integration (ULSI)


1970년대

1980년대 

~현재


디지털 컴퓨터의 이러한 발전과 동시에 디지털 영상처리에 매우 중요한 요소인 대용량 저장 시스템디스플레이 시스템의 발명이 있었다. 


의미있는 영상처리를 하기에 성능이 충분한 컴퓨터는 1960년대 초에 등장했다. 오늘날 우리가 이야기하는 디지털 영상처리의 탄생은 이러한 컴퓨터들의 효용우주 계획(Space program)의 착수로부터 시작된다. 이 두 가지의 조합은 사람들로 하여금 디지털 영상처리의 잠재력에 관심을 기울이게 하였다. 


우주탐사로켓으로부터 수집된 영상을 개선시키기 위해 컴퓨터 기술을 사용한 것은 1964년 캘리포니아 Pasadena에 있는 제트 추진 연구소(Jet Propulsion Laboratory)에서 시작되었다. Ranger 7으로부터 전송된 달 영상은 카메라가 가진 특성상 여러 형태의 왜곡이 포함되는데, 이를 교정하기 위해 컴퓨터로 영상을 처리하였다. 아래 사진은 1964년 7월31일 9:09 AM에 Ranger 7에 의해 달 착륙 17분전 촬영된 첫 번째 달 영상이다. 사진에 보이는 마커들은 reseau라 불리며 기하보정을 하기 위함이다. 


미국 우주선에 의해 촬영된 첫 번째 이미지 이기도 하다. 매우 역사적이면서 의미 있는 이미지..


위 프로젝트에서 배운 것들은 이후 다른 우주선 영상의 화질 향상 및 복원 기술의 토대가 된다. 


디지털 영상 처리 기술은 우주산업의 응용 뿐만 아니라 이와 동시에 1960~1970년대에 의료 영상, 원격 자원 탐사(Earth resources observation), 항공 등 여러 산업에 적용된다. 1970년대에 발명된 Computerized axial tomography(CAT), 줄여서 Computerized tomography(CT)라 불리는 컴퓨터 단층 촬영법이 의료 영상의 대표적 예이다. 


1960년대부터 현재까지 디지털 영상 처리 분야는 괄목할 만한 성장을 이뤄왔다. 의학과 우주 계획의 응용 외에도 디지털 영상 처리 기술은 굉장히 산업현장, 생물과학 등 다양한 분야에 사용되고 있다. 지리학자들은 항공이나 인공위성 사진으로부터 인구 패턴을 분석하기도 하고, 복구가 불가능한 물건이나 비용이 굉장히 많이 드는 실험 결과에 대한 훼손된 사진들을 복원하거나 화질을 향상시키는 데에 디지털 영상 처리 기술을 사용하기도 한다. 또한 고고학에서도 희귀한 유물의 흐릿한 사진을 복원하는데 영상처리 기술을 사용하기도 한다. 이 외에도 물리학이나 핵의학, 법률, 기상 관측 등 다양한 분야에서 디지털 영상처리 기술이 사용된다. 



앞으로 포스팅 할 영상처리(Image Processing)는 Rafael C. Gonzalez 와 Richard E. Woods의 Digital Image Processing을 기반으로 한다. 



디지털 영상 처리 방법들은 크게 다음의 두 가지를 하기 위함이다. 

  • 인간의 해석을 위한 이미지 정보의 향상
  • 저장, 전송, 기계를 통한 정보의 자동 인식 등을 위한 영상 처리


이를 위해 먼저 영상처리란 무엇인지 알아보고 역사적 관점, 현재 기술, 주요 접근 방법, 범용 영상처리 시스템에 담겨진 요소 등에 대해서 알아보자. 

본 포스팅에서는 위 내용들을 아주 간략하게만 언급하고 이후 포스팅에서 보다 자세하게 다룰 예정이다. 




디지털 이미지 프로세싱(Digital Image Processing)이란 무엇인가? 


 

(※영상이라는 것도 기본적으로는 실세계에 존재하는 아날로그 신호를 수집하여 만드는데 이 과정에서 아날로그 신호처리 과정이 필요함을 염두해 두고 이어서 보도록 하자)

영상이라함은 기본적으로 2차원의 함수 로 정의 되며, 여기서 x와 y는 각각 공간상의 좌표를 의미한다.

어떤 좌표(x, y)에 해당하는 지점의 진폭(amplitude)값을 intensity 혹은 영상의 gray level이라고 부르며, 함수 f에서 x, y, intensity 값들이 유한(finite) 하며 이산(discrete)의 양을 가진다면 우리는 이러한 영상을 디지털 영상(Digital Image)이라고 부른다.


결국 디지털 영상처리는 디지털 컴퓨터를 이용해 디지털 이미지를 각종 기법들을 이용해 처리하는 것을 말한다.  


디지털 영상은 아날로그 세계처럼 무한하지 않다. 유한개의 요소들을 가지고 있으며 각 요소들은 특정 위치와 그에 해당하는 을 가지고 있다. 이러한 요소들은 다양하게 불리는데, picture elements, image elements, pels, 그리고 pixels이다. 디지털 이미지에선 픽셀(pixel)이 가장 널리 사용되는 용어이다. 

다시 말하자면 pixel은 위치와 값으로 정의 되며  로 표현할 수 있다. 이러한 여러 개의 유한한 픽셀들이 모여 하나의 디지털 이미지를 형성하게 된다. 


보통 디지털 이미지라 함은 스마트 폰이나 컴퓨터 등으로 볼 수 있는 이미지들을 떠올리는데 이러한 이미지 이외에도 다양한 형태의 디지털 이미지들이 존재한다. 인간의 눈으로는 감지할 수 없는, 이를테면 초음파(ultrasound), 전자현미경 이미지(electron microscopy)등 다양한 형태의 이미지가 있으며 디지털 영상처리는 이러한 다양한 형태의 디지털 이미지들을 처리하는 것을 포함한다. 



디지털 영상 처리와 유사하게 들릴 수 있는 용어들이 몇 가지 있는데, 컴퓨터 비전(Computer vision), 영상 이해(Image understanding), 영상 분석(Image analysis)등이 있다. 각각의 의미와 지향하는 바를 조금 살펴보자면..


- 컴퓨터 비전(Computer Vision): 인간의 인지기능을 모방하는 것을 목표로 하며, 시각적 입력(Visual input)을 기반으로 추론하고 행동(action)을 취하는 것까지 포함된 넓은 의미를 가지고 있다. 인간의 지능을 모방하는 학문인 인공지능(AI)의 한 갈래이기도 하다. 


- 영상 이해(Image Understanding): 컴퓨터 비전과 유사한 의미이나 그 용어가 지칭하는 범위는 컴퓨터 비전보다는 작다. 


- 영상 분석(Image Analysis): 영상처리와 컴퓨터 비전의 중간 정도에 위치한다.



디지털 영상처리를 포함해 위의 분야들을 명확히 구분 짓기는 어렵다. 그러나 한 가지 유용한 방법은 처리 단계별로 구분 짓는 것이다. 즉 Low, Mid, High-level 처리로 말이다. 아래 그림을 보자. 





Low-level은 노이즈 제거, 명암 효과, 화질 개선 등의 작업을 의미한다(전처리 과정). 이를 통해 사람이 영상을 좀 더 보기 좋게, 혹은 이후 과정에서 처리하기 좋게 만드는 과정을 의미한다. 즉 입력이 영상이고 출력 역시 영상의 형태이다. 


Mid-level은 전처리된 영상을 기반으로 그 안에서 어떤 속성을 뽑아내는 작업이다. 영상을 영역별로 분할하는 segmentation, 분할된 영역, 혹은 object들을 이후 과정에서 사용할 수 있도록 축소된 형태로 기술하는 과정 등이 포함된다. 입력은 전처리된 영상, 출력은 그 영상에서 뽑아낸 속성들, 이를테면 엣지, 외곽선, 개별 object들의 식별 결과 등이다. 


High-level은 뽑아낸 속성들을 기반으로 해당 scene을 "이해"하고 "추론"하는 것이다. 



이해를 돕기 위해 예를 들어보자. 



CCTV에 어떤 사람이 다른 사람에게 위협을 가하는 영상이 포착 됐다. 

-> (입력)


영상에 노이즈가 많이 섞여있어서 화질이 않좋다. 노이즈 제거 처리를 해서 깨끗한 영상을 얻었다. 

-> (Low-level)


영상 내에서 사람인 부분만 segmentation을 하고 미리 학습한 데이터를 기반으로 이것이 사람인 것을 알아낸다. 

-> (Mid-level)


영상 내의 한 사람이 다른 사람에게 위협을 가한 다는 것을 알아 차리고 경찰서에 연락해야 한다는 판단을 한다. 

-> (High-level)


+ Recent posts