1 of 37

영상기반의료기기제조

Imaging-based medical device manufacturing

Aaron Snowberger

5주차: Image Processing Basics

2 of 37

3 of 37

5 디지털 영상처리의 기초

그레이레벨 히스토그램 (Gray-Level Histogram)

그레이레벨 히스토그램은 영상의 특징을 잘 보여준다. 히스토그램을 통해 밝기, 대비, 엔트로피, 신호대잡음비(SNR: Signal-to-Noise Ratio) 등의 영상 품질을 평가할 수 있다. 히스토그램은 계산이 간단하며, 실시간 영상처리 기술의 기본이 된다.

디스플레이 룩업 테이블(Display Look-Up Table, LUT)은 그레이스케일 변환을 수행하지만, 이는 영상의 화소값을 변경시키지 않는다. 또한, 영상의 히스토그램을 활용하여 다양한 효과를 구현하는 룩업 테이블의 파라미터를 결정할 수 있다.

4 of 37

5 디지털 영상처리의 기초

학습 목표

제5장을 학습한 후, 다음 내용을 수행할 수 있다:

  • 확률밀도함수로서의 그레이레벨 히스토그램 개념 이해
  • 영상의 밝기와 대비 구분
  • 동적 범위(dynamic range)와 대비의 관계 설명
  • 영상의 엔트로피 개념 해석
  • 영상 엔트로피를 활용한 영상 파일 압축률 계산
  • 신호대잡음비(SNR) 추정
  • 매핑 함수로서의 룩업 테이블(LUT) 활용
  • 히스토그램 스트레칭(histogram stretching)과 히스토그램 균일화(equalization) 효과 설명 및 비교
  • 지수 및 로그 히스토그램 변환 효과 설명
  • 특정 영상에 가장 적절한 룩업 테이블 선택
  • 전체적인 처리(global processing)와 적응적 처리(adaptive processing) 구분

5 of 37

5.1 그레이레벨 히스토그램

그레이레벨 히스토그램은 한 영상의 요약된 특성을 포함하며, 영상 품질 평가 및 개선을 위한 적절한 처리 단계를 결정하는 데 사용된다. 히스토그램은 영상의 화소값을 나타내며, 화소값의 빈도를 시각적으로 표현한다.

그림 5.1(i)는 8비트 MRI 영상이며, 그림 5.1(ii)는 해당 영상의 그레이레벨 히스토그램을 보여준다. 히스토그램의 수평축은 0에서 255까지의 화소값을, 수직축은 해당 값의 빈도를 나타낸다. 히스토그램은 영상 내 화소의 공간적 위치를 반영하지 않지만, 영상의 전체적인 명암 분포를 효과적으로 표현한다.

5

6 of 37

5.1 그레이레벨 히스토그램

히스토그램에서 모든 빈(bin)의 높이를 합하면 전체 화소 수와 같다. 정규화된 히스토그램은 각 빈의 높이를 전체 화소 수로 나눈 값으로, 확률밀도함수(PDF: Probability Density Function)로 해석될 수 있다. 또한, PDF의 적분값은 누적분포함수(CDF: Cumulative Distribution Function)이며, 특정 화소값 이하의 누적 확률을 나타낸다.

영상이 전체적으로 어둡거나 밝은 경우, 히스토그램을 통해 이를 확인할 수 있다. 평균 화소값은 히스토그램에서 얻어지며, 화소값과 빈의 높이를 곱한 후 전체 화소 수로 나누어 계산한다. 8비트 영상에서는 평균값이 약 127~128일 때 최적의 밝기를 나타낸다.

6

7 of 37

5.1 그레이레벨 히스토그램

5.1.1 동적 범위와 대비

동적 범위(dynamic range)는 영상에서 발견되는 최대 화소값(amax)과 최소 화소값(amin)의 차이로 정의된다:

예를 들어, 12비트 CT 영상은 화소값 범위가 -1000에서 3095이므로, 4096에 대한 72dB의 동적 범위를 가진다. 반면, 10비트 형광투시 영상은 0~1023의 범위를 가지며, 60dB의 동적 범위를 갖는다.

영상의 동적 범위가 시스템의 감지기(dynamic range of detector)와 유사해야 한다. 만약 감지기의 동적 범위보다 큰 범위를 가지면, 히스토그램의 양 끝이 잘려(오버플로우/언더플로우) 정보 손실이 발생할 수 있다.

7

8 of 37

5.1 그레이레벨 히스토그램

5.1.1 동적 범위와 대비

대비(Contrast)는 동적 범위와 밀접한 관계가 있지만, 동의어는 아니다. 대비는 화소값 분포 및 히스토그램의 형태에 따라 달라진다. 예를 들어, 바이모달(bimodal) 히스토그램을 가진 영상은 유니모달(unimodal) 히스토그램을 가진 영상보다 높은 대비를 갖는다.

그림 5.4를 참고하여, 높은 대비와 낮은 대비의 차이를 확인할 수 있다. 동적 범위가 낮으면 대비도 낮아지고, 영상이 흐릿하게 보이게 된다. 이 관계는 실습 5.2에서 더 자세히 탐색할 수 있다.

8

9 of 37

5.1 그레이레벨 히스토그램

5.1.1 동적 범위와 대비

그레이레벨 히스토그램은 영상의 밝기, 대비, 엔트로피 등 다양한 특성을 분석하는 데 유용한 도구이다. 이를 통해 영상 품질을 평가하고, 적절한 영상 처리 기법을 적용하여 품질을 향상할 수 있다.

9

10 of 37

5.1 그레이레벨 히스토그램

5.1.2 엔트로피

엔트로피는 시스템의 무질서 정도를 나타내는 척도이다. 정리된 시스템은 낮은 엔트로피를 가지며, 반대로 무질서한 시스템은 높은 엔트로피를 가진다. 엔트로피를 이해하는 한 가지 방법은 시스템이 가질 수 있는 상태의 확산 정도를 고려하는 것이다. 상태의 수가 적으면 낮은 엔트로피를, 많으면 높은 엔트로피를 의미한다.

10

11 of 37

5.1 그레이레벨 히스토그램

5.1.2 엔트로피

영상에서는 각 화소(pixel)가 가질 수 있는 회색조(gray level) 상태가 엔트로피를 결정한다. 예를 들어, 8비트 화소는 256개의 상태를 가질 수 있다. 모든 상태가 동일한 확률로 분포하면 영상의 히스토그램은 균일해지고 엔트로피는 최대가 된다. 반면, 모든 화소가 단 두 개의 상태(예: 검은색과 흰색)만 가지면 엔트로피는 낮아지며, 모든 화소가 동일한 값을 가지면 엔트로피는 0이 된다. 엔트로피가 낮을수록 정보량도 줄어든다.

11

12 of 37

5.1 그레이레벨 히스토그램

5.1.2 엔트로피

엔트로피는 화소당 평균 정보량을 나타내며, 정보 이론에서 유래되었다. 정보량은 발생 확률과 역관계를 가지며, 발생 확률이 낮을수록 더 많은 정보를 제공한다. 예를 들어, 두 개의 동일한 확률(1/2)을 가지는 사건에서 하나가 발생하면 1비트의 정보가 전달된다. 반면, 사건의 확률이 다르면 덜 자주 발생하는 사건이 더 많은 정보를 전달한다.

영상에서 화소 값 𝑎𝑖의 발생 확률 𝑃(𝑎𝑖)는 정규화된 히스토그램의 빈(bin) 높이로 표현된다. 1차 통계량(first-order statistics)은 이웃 화소들과 무관하게 개별 화소의 특성을 분석하는 방식이다. 영상의 엔트로피 𝐻는 각 화소의 정보량을 합산하여 구할 수 있다.

12

13 of 37

5.1 그레이레벨 히스토그램

5.1.2 엔트로피

최대 엔트로피는 모든 회색조 값이 동일한 확률을 가질 때 발생하며, n비트 영상에서 이 확률은 1/2n이 된다. 이때 영상의 엔트로피는 화소당 n비트가 된다. 예를 들어, 8비트 영상에서 엔트로피가 8비트에 가까우면 다양한 화소값을 가지는 복잡한 영상을 의미한다. 그러나 엔트로피는 히스토그램에만 영향을 받으며, 공간적 패턴(spatial pattern)은 반영하지 않는다.

높은 엔트로피를 가진 영상은 다양한 화소값을 포함하며, 모든 화소값이 거의 동일한 빈도로 나타난다. 이는 영상의 질감(texture)을 분석하는 데 유용하며, 정상 조직과 병리 조직을 구별하거나 악성·양성 여부를 예측하는 데 사용될 수 있다.

13

14 of 37

5.1 그레이레벨 히스토그램

5.1.2 엔트로피

영상의 엔트로피는 압축 가능성을 결정하는 요소 중 하나이다. 만약 특정 화소값이 다른 값들보다 자주 등장하면, 허프만 코딩(Huffman coding)과 같은 가변 길이 코딩 시스템을 사용하여 압축할 수 있다. 높은 엔트로피를 가진 영상은 압축이 어렵고, 반대로 낮은 엔트로피를 가진 영상은 더 많이 압축될 수 있다.

14

15 of 37

5.1 그레이레벨 히스토그램

5.1.3 신호대잡음비 (SNR: Signal-to-Noise Ratio)

영상의 신호대잡음비(SNR)는 신호(평균 화소값의 제곱)와 잡음(화소값의 분산)의 비율로 정의된다. SNR은 다음과 같이 계산된다.

여기서,

  • 𝜎𝑠2는 전체 화소의 평균값의 제곱,
  • 𝜎𝑛2는 잡음의 분산이다.

영상에서 SNR을 정확히 측정하려면 일정한 회색조 값을 가지는 균일한 영역을 선택해야 한다. 잡음 측정을 위해 동일한 조건에서 촬영된 균일한 영상(예: 공기 스캔, 팬텀 영상 등)이 사용될 수 있다.

15

16 of 37

5.1 그레이레벨 히스토그램

5.1.3 신호대잡음비 (SNR: Signal-to-Noise Ratio)

영상 분석에서는 배경과 전경을 구분하는 것이 중요한 경우가 많다. 예를 들어, 정상 조직과 종양을 구별하는 작업이 그렇다. 이때는 SNR보다 대조대잡음비(CNR: Contrast-to-Noise Ratio)가 더 유용할 수 있다. CNR은 다음과 같이 정의된다.

여기서,

  • 𝜇foreground와 𝜇background는 각각 전경과 배경의 평균 화소값,
  • 𝜎𝑛은 잡음의 표준편차이다.

CNR은 전경과 배경 간 대비를 고려하기 때문에 의료 영상 분석 등에서 중요한 지표로 사용된다.

16

17 of 37

5.1 그레이레벨 히스토그램

5.1.4 다른 히스토그램 특징들

영상의 히스토그램은 엔트로피 외에도 다양한 통계적 특성을 분석하는 데 사용된다. 공간 모멘트(spatial moments)는 값들의 공간적 분포를 표현하는 간단하면서도 강력한 방법이다. 모멘트는 히스토그램뿐만 아니라 고차원 데이터에도 적용될 수 있다.

17

18 of 37

5.1 그레이레벨 히스토그램

5.1.4 다른 히스토그램 특징들

1차원 이산(discrete) 분포에서 𝑛번째 모멘트는 다음과 같이 정의된다.

여기서,

  • 𝑎𝑖는 화소 값,
  • 𝑃(𝑎𝑖)는 해당 값의 확률,
  • 𝜇는 평균값이다.

중앙 모멘트(central moment)는 데이터의 분산 정도를 나타내며, 2차 모멘트(분산, variance), 3차 모멘트(왜도, skewness), 4차 모멘트(첨도, kurtosis) 등이 일반적으로 사용된다. 영상의 히스토그램 특징을 분석하면 영상의 대비, 밝기, 질감 등을 정량적으로 평가할 수 있다.

18

19 of 37

5.2 히스토그램 변환과 룩업 테이블

영상은 화소의 행렬로 저장되며, 8비트로 저장될 경우 화소값은 0에서 255까지의 범위를 가진다. 이러한 화소값들은 디스플레이 룩업 테이블(LUT) 을 거쳐 밝기가 결정된다. LUT는 입력 화소값을 주소로 사용하여 해당 화소의 밝기 정보를 찾고, 이를 모니터에 출력하여 영상을 표시한다(그림 5.9(i)).

19

20 of 37

5.2 히스토그램 변환과 룩업 테이블

기본적으로 LUT는 화소값을 그대로 밝기 값(그레이레벨)으로 매핑한다. 예를 들어, 화소값 0은 검정, 255는 흰색, 127은 중간 회색을 나타낸다(그림 5.9(ii)). LUT는 출력 그레이레벨(y축) 과 입력 화소값(x축) 을 연결하는 방식으로 표현되며, 그래프로 나타내거나 그레이레벨 윈도우 형태로 시각화할 수 있다(그림 5.9(iii)).

20

21 of 37

5.2 히스토그램 변환과 룩업 테이블

LUT를 활용하면 화소값 자체를 변경하지 않고도 영상의 밝기 및 대비를 조절할 수 있다. 예를 들어, LUT를 조정하여 밝은 영상 또는 어두운 영상을 만들 수 있으며, 대비를 높이거나 낮출 수도 있다. 기본 LUT보다 큰 기울기를 가진 LUT를 사용하면 대비가 증가하고, 작은 기울기를 가지면 대비가 감소한다.

21

22 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.1 히스토그램 스트레칭

만약 영상의 화소값 범위가 전체 동적 범위보다 좁다면, 히스토그램 스트레칭(histogram stretching) 을 사용하여 전체 범위로 확장할 수 있다(그림 5.10(i)). 가장 단순한 방법은 LUT를 이용한 선형 매핑(linear mapping) 으로, 최소 화소값(amin)은 검정, 최대 화소값(amax)은 흰색으로 설정하고 그 사이의 값을 선형적으로 매핑하는 방식이다.

22

23 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.1 히스토그램 스트레칭

히스토그램 스트레칭을 수행하면, 히스토그램의 폭(윈도우 폭, WW)이 넓어지고, 중심값(윈도우 레벨, WL)을 조정하여 특정 관심 영역을 강조할 수 있다. 이 기법은 컴퓨터 단층 촬영(CT) 영상 에서 활용되며, CT 영상에서는 -1000~3095 범위의 윈도우 레벨과 윈도우 폭을 조정하여 특정 해부학적 구조를 강조할 수 있다(그림 5.11).

23

24 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.1 히스토그램 스트레칭

일부 영상에서는 화소값이 좁은 범위에 몰려 있고, 몇몇 화소만 극단적인 값을 가질 수 있다. 이 경우, 전체 히스토그램을 늘리면 효과가 떨어질 수 있다. 이를 해결하기 위해 일정 비율의 극단적인 화소(p%)를 제외하고 스트레칭을 수행하는 기법을 사용할 수 있다. 예를 들어, 상위 2%와 하위 2%의 화소값을 각각 흰색과 검정으로 설정하면, 극단적인 화소를 배제한 상태에서 영상의 대비를 조정할 수 있다.

24

25 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.1 히스토그램 스트레칭

RGB 컬러 영상 에서는 HSI 색 공간으로 변환한 후 명암도 정보 에 대해서만 히스토그램 스트레칭을 적용하여 색조나 채도를 유지하면서 대비를 향상시킬 수 있다.

부동소수점(부동점, floating point) 영상 은 32비트 또는 64비트로 표현될 수 있으며, 히스토그램 스트레칭을 위해 0~255 범위로 정규화한 후 8비트 정수로 변환할 수 있다. 이 과정에서 일부 정보가 손실될 수 있지만, 상대적인 명암도 관계는 유지된다.

25

26 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.2 히스토그램 균일화

영상 비교가 필요할 때, 특정 기준(예: 텍스처 척도)이나 다른 조건에서 비교할 수 있다. 이를 위해 일반적으로 히스토그램 표준화를 수행하며, 가장 흔한 방법이 히스토그램 균일화(histogram equalization)이다. 이 기법은 히스토그램을 균등한 형태로 변환하여 화소값이 거의 동일한 빈도로 나타나도록 한다. 결과적으로 영상의 정보 전달이 극대화되고, 대비가 향상된 영상을 얻을 수 있다.

26

27 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.2 히스토그램 균일화

정규화된 히스토그램(PDF, 𝑝(𝑥))을 갖는 영상 𝐴가 있을 때, 변환 함수 𝑦=𝑇(𝑥)는 새로운 확률 함수 𝑝(𝑦)로 매핑된다. 변환 과정에서 화소 수는 유지되므로 다음 관계가 성립한다.

출력 영상이 균일한 확률밀도 함수(8비트 영상에서는 1/255를 갖도록 하기 위해 아래의 관계를 만족해야 한다.

27

28 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.2 히스토그램 균일화

이산적인 경우, 입력 영상 𝑥의 그레이레벨은 0~255의 정수 값이며, 누적분포함수(CDF)를 사용하여 변환을 수행한다. 변환 함수 또는 룩업 테이블(LUT)은 누적분포함수를 0~255 범위로 스케일링하여 얻어진다. 각 영상은 자체 히스토그램 기반의 LUT를 필요로 하며, 이는 일반적으로 단조 증가하는 비선형 함수이다.

28

29 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.2 히스토그램 균일화

이산적 구현에서는 출력 영상이 완전히 균일해지지 않을 수 있다. 이는 LUT가 가용한 그레이레벨과 일치하지 않는 값을 생성할 수 있기 때문이다. 또한 입력 히스토그램에서 같은 값을 갖는 화소들이 완전히 분리되지 못해 출력 히스토그램에 갭(사용되지 않는 밝기 레벨)이 발생할 수 있다. 이러한 문제에도 불구하고, 히스토그램 균일화는 영상 개선에서 널리 사용되는 방법이다.

그림 5.14에서는 입력 영상의 히스토그램(PDF) 및 CDF를 보여주며, 변환 후 영상의 히스토그램이 완전히 평탄하지는 않지만 입력 영상보다 균등해진 것을 확인할 수 있다. 이를 구현하는 방법은 실습 5.6에서 설명된다.

29

30 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.3 히스토그램 매칭

어떤 영상의 히스토그램을 원하는 형태로 변환하거나 특정 영상의 히스토그램과 일치시키는 것이 유용할 수 있다. 이를 히스토그램 매칭(histogram matching)이라고 하며, 입력 및 출력 영상 간의 비선형적인 비단조 증가 LUT가 필요하다.

30

31 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.3 히스토그램 매칭

예를 들어, 영상 𝐴의 히스토그램을 영상 𝐵의 히스토그램과 일치시키려면 두 단계로 처리한다.

  • 영상 𝐴를 변환하여 균등화된 히스토그램을 가진다.
  • 영상 𝐵의 CDF를 사용하여 𝐴를 변환하여 𝐵와 같은 히스토그램을 갖도록 한다.

31

32 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.3 히스토그램 매칭

변환 함수는 다음과 같이 표현된다.

이 기법은 영상의 포토메트릭 캘리브레이션(photometric calibration)에 사용될 수 있으며, 특히 비선형적인 필름 밀도와 밝기 관계를 보정하는 데 유용하다.

32

33 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.4 국부 히스토그램 변환

앞서 설명한 변환 기법들은 전체 영상의 히스토그램을 기반으로 한다. 그러나 일부 경우에는 국부적인 대비를 조정해야 할 필요가 있다. 이를 위해 국부 히스토그램 변환(local histogram transformation)을 사용한다.

이 방식에서는 각 화소의 주변 이웃을 정의하고, 해당 영역의 히스토그램을 기반으로 변환을 수행한다. 모든 화소에 대해 이 작업을 반복하므로 계산량이 증가하지만, 작은 영역에서의 세부 묘사를 향상시킬 수 있다.

33

34 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.4 국부 히스토그램 변환

한 가지 방식으로 국부 영역 히스토그램 균일화(local-area histogram equalization)가 있다. 이는 일정한 크기의 윈도우를 이동시키며 각 중심 화소에 대해 변환을 수행하는 방법이다. 그러나 계산 비용이 높고, 인공적인 사각형 패턴이 생성될 가능성이 있다. 이를 보완하기 위해 적응적 국부 영역 히스토그램 균일화(adaptive local area histogram equalization)가 사용되며, 특정 화소의 환경에 따라 윈도우 크기와 모양을 동적으로 조정한다.

34

35 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.5 다른 히스토그램 변환

그림 5.15에서는 여러 가지 일반적인 히스토그램 변환 기법을 보여준다.

  • 항등 변환(identity transformation): 원본 영상을 유지한다.
  • 음화 변환(negative transformation): 밝기 반전을 수행하여 X-ray 영상 분석 등에 사용된다.
  • 로그 및 제곱근 변환(log & square root transformation): 어두운 부분을 강조하고 밝은 부분을 압축하여 천문 영상 등의 동적 범위를 조정하는 데 사용된다.
  • 거듭제곱 변환(power-law transformation, 감마 변환): 감마(𝛾) 값을 조정하여 영상의 밝기를 조절한다.

35

36 of 37

5.2 히스토그램 변환과 룩업 테이블

5.2.5 다른 히스토그램 변환

  • 𝛾<1: 어두운 부분을 밝게, 밝은 부분을 유지
  • 𝛾>1: 밝은 부분을 더욱 강조

이러한 변환들은 영상 대비 조절, 특징 강조, 특정 분석 목적 등에 활용될 수 있다. 실습 5.7에서는 로그 변환 및 역로그 변환의 효과를 설명한다.

36

37 of 37

Thanks!

Does anyone have any questions?

https://aaronkr-courses.github.io/courses/2025-ut-imd/