맨위로가기

중간값 필터

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

중간값 필터는 신호 처리에서 사용되는 비선형 필터의 한 종류로, 윈도우 내 값들의 중앙값으로 각 신호 값을 대체한다. 1차원 신호의 경우, 윈도우는 현재 점을 중심으로 인접한 몇 개의 항목을 포함하며, 2차원 신호(예: 이미지)의 경우 윈도우는 픽셀을 중심으로 하는 정사각형 또는 직사각형 영역이 된다. 이 필터는 임펄스 노이즈 제거에 효과적이며, 특히 에지를 보존하면서 노이즈를 줄이는 데 강점을 보인다. 중간값 필터는 알고리즘 구현 시 중앙값 계산의 효율성이 중요하며, 선택 알고리즘이나 히스토그램을 이용한 최적화가 가능하다. 가우시안 블러와 비교하여 중간값 필터는 특정 노이즈 환경에서 에지 보존 능력이 뛰어나 디지털 이미지 처리에 널리 사용된다.

더 읽어볼만한 페이지

  • 비선형 필터 - 칼만 필터
    칼만 필터는 잡음이 있는 측정값들을 이용하여 선형 동적 시스템의 상태를 추정하는 재귀 필터로, 예측과 보정 단계를 반복하며 항법 시스템, 레이더 추적, 컴퓨터 비전 등 다양한 분야에 응용된다.
  • 비선형 필터 - 파티클 필터
    파티클 필터는 칼만 필터와 유사하게 상태 공간 모델에서 관측 불가능한 상태 열의 확률 분포를 추정하는 알고리즘으로, 비선형 및 비가우시안 시스템에도 적용 가능한 장점이 있어 로봇 공학, 신호 처리, 금융 공학 등 다양한 분야에서 활용된다.
  • 영상 처리 - 컴퓨터 비전
    컴퓨터 비전은 디지털 이미지나 비디오로부터 고차원적 이해를 얻는 학제적 연구 분야로, 인간 시각 시스템 자동화 및 인공 시스템 이론 연구를 목표로 하며, 딥러닝 기술 발전으로 다양한 분야에 응용되고 있다.
  • 영상 처리 - 워터마크
    워터마크는 종이 제조 시 두께 차이를 이용해 만들어지는 표식으로, 위조 방지를 위해 지폐나 여권 등에 사용되며 댄디 롤 등의 제작 기법을 통해 만들어지고 컴퓨터 프린터 인쇄 기술로도 활용된다.
  • 신호 처리 - 대역폭 (신호 처리)
    대역폭은 주파수 영역에서 함수의 퍼짐 정도를 나타내는 척도로, 통신 분야에서는 변조된 반송파 신호가 차지하는 주파수 범위, 다른 분야에서는 시스템 성능을 유지하거나 저하가 발생하는 주파수 범위를 의미하며, 다양한 측정 방식과 함께 여러 분야에서 활용된다.
  • 신호 처리 - 선형 시불변 시스템
    선형 시불변 시스템은 선형성과 시불변성을 만족하는 시스템으로, 임펄스 응답으로 특성화되며, 컨볼루션, 주파수 영역 분석 등을 통해 분석하고, 통신, 신호 처리 등 다양한 분야에 응용된다.
중간값 필터
개요
유형비선형 디지털 필터
목적잡음 제거
작동 방식각 픽셀 값을 이웃 픽셀의 중간값으로 대체

2. 알고리즘 설명

중간값 필터의 기본 원리는 신호의 각 점에 대해 윈도우(주변 영역)를 설정하고, 윈도우 내의 값들을 정렬하여 중앙값을 찾은 후, 원래 값을 중앙값으로 대체하는 것이다. 이는 각 항목을 해당 항목과 이웃 항목들의 산술 평균으로 대체하는 이동 평균 필터와 매우 유사하다. 1차원 신호의 경우, 가장 일반적인 윈도우는 바로 앞과 뒤에 있는 몇 개의 항목이며, 2차원(또는 고차원) 데이터의 경우 윈도우는 주어진 반경 또는 타원체 또는 직사각형 영역 내의 모든 항목을 포함해야 한다(즉, 중간값 필터는 분리 가능한 필터가 아니다).

2. 1. 1차원 중간값 필터

1차원 신호의 경우, 윈도우는 일반적으로 현재 점을 중심으로 앞뒤로 몇 개의 이웃을 포함한다. 예를 들어, ''x'' = (2, 3, 80, 6, 2, 3)라는 1차원 신호에 대해 각 항목의 앞뒤로 하나의 항목을 포함하는 창 크기 3을 사용하고 경계를 0으로 채우면, 중간값 필터가 적용된 출력 신호 ''y''는 다음과 같다.

: ''y''0 = med(0, 2, 3) = 2, (경계 값은 0으로 간주)

: ''y''1 = med(2, 3, 80) = 3,

: ''y''2 = med(3, 80, 6) = med(3, 6, 80) = 6,

: ''y''3 = med(80, 6, 2) = med(2, 6, 80) = 6,

: ''y''4 = med(6, 2, 3) = med(2, 3, 6) = 3,

: ''y''5 = med(2, 3, 0) = med(0, 2, 3) = 2,

즉, ''y'' = (2, 3, 6, 6, 3, 2)가 된다.

위 예시에서 노이즈 스파이크(80)는 제거되고 신호는 평활화되었다. 동일한 데이터에 동일한 창 너비를 가진 이동 평균 필터를 적용하면 ''y'' = (1.7, 28.3, 29.7, 29.3, 3.7, 1.7)이 된다. 중간값 필터가 이동 평균 필터보다 임펄스 노이즈 제거에 더 효과적임을 알 수 있다. 중간값 필터는 임펄스 노이즈에 영향을 받은 항목 수가 창 크기의 절반보다 작은 경우, 양과 음의 임펄스 노이즈를 모두 효과적으로 제거할 수 있다.

2. 2. 2차원 중간값 필터

2차원 신호(예: 이미지)의 경우, 윈도우는 일반적으로 현재 픽셀을 중심으로 하는 정사각형 또는 직사각형 영역이다.

결함 화소에 의해 심하게 손상된 이미지를 개선하기 위한 중간값 필터의 사용

2. 2. 1. 2차원 의사 코드(Pseudo code)

wikitext

outputPixelValue[이미지 너비][이미지 높이] 배열을 할당한다.

window[창 너비 × 창 높이] 배열을 할당한다.

edgex := (창 너비 / 2) 내림

edgey := (창 높이 / 2) 내림

'''for''' ''x'' '''from''' edgex '''to''' 이미지 너비 - edgex '''do'''

'''for''' ''y'' '''from''' edgey '''to''' 이미지 높이 - edgey '''do'''

i := 0

'''for''' ''fx'' '''from''' 0 '''to''' 창 너비 '''do'''

'''for''' ''fy'' '''from''' 0 '''to''' 창 높이 '''do'''

window[i] := inputPixelValue[x + fx - edgex][y + fy - edgey]

i := i + 1

window[]의 항목을 정렬한다.

outputPixelValue[x][y] := window[창 너비 * 창 높이 / 2]

이 알고리즘은 다음을 수행한다.

  • 하나의 색상 채널만 처리한다.
  • "경계 처리 안 함" 방식을 사용한다. (경계 문제에 대한 내용은 생략)


3. 알고리즘 구현 문제

일반적으로 계산 노력과 시간의 대부분은 각 윈도우의 중앙값을 계산하는 데 소요된다. 필터는 신호의 모든 항목을 처리해야 하므로 이미지와 같은 대형 신호의 경우, 이 중앙값 계산의 효율성은 알고리즘의 실행 속도를 결정하는 중요한 요소이다. 단순한 구현은 중앙값을 찾기 위해 윈도우의 모든 항목을 정렬한다. 그러나 숫자 목록에서 중간값만 필요하므로 선택 알고리즘이 훨씬 더 효율적일 수 있다.[4] 정수 표현을 사용하는 신호(이미지의 경우 매우 흔함)는 히스토그램 중앙값이 훨씬 더 효율적일 수 있는데, 윈도우에서 윈도우로 히스토그램을 업데이트하는 것이 간단하고 히스토그램의 중앙값을 찾는 것이 특별히 어렵지 않기 때문이다.[4]

3. 1. 중앙값 계산 최적화

일반적으로 계산 노력과 시간의 대부분은 각 윈도우의 중앙값을 계산하는 데 소요된다. 필터는 신호의 모든 항목을 처리해야 하므로 이미지와 같은 대형 신호의 경우, 이 중앙값 계산의 효율성은 알고리즘의 실행 속도를 결정하는 중요한 요소이다. 단순한 구현은 중앙값을 찾기 위해 윈도우의 모든 항목을 정렬한다. 그러나 숫자 목록에서 중간값만 필요하므로 선택 알고리즘이 훨씬 더 효율적일 수 있다.[4] 정수 표현을 사용하는 신호(이미지의 경우 매우 흔함)는 히스토그램 중앙값이 훨씬 더 효율적일 수 있는데, 윈도우에서 윈도우로 히스토그램을 업데이트하는 것이 간단하고 히스토그램의 중앙값을 찾는 것이 특별히 어렵지 않기 때문이다.[4]

4. 에지 보존 특성

중간값 필터는 선형 가우시안 필터링과 마찬가지로 일종의 스무딩 기법이다. 모든 스무딩 기법은 신호의 매끄러운 영역이나 패치의 노이즈를 제거하는 데 효과적이지만, 에지에는 부정적인 영향을 미친다. 그러나 신호의 노이즈를 줄이는 동시에 에지를 보존하는 것이 중요한 경우가 많다. 예를 들어, 에지는 이미지의 시각적 외관에 매우 중요하다. 중간값 필터는 작거나 중간 정도의 가우시안 노이즈 수준에서, 주어진 고정된 윈도우 크기에 대해 에지를 보존하면서 노이즈를 제거하는 데 가우시안 블러보다 훨씬 더 뛰어나다는 것이 입증되었다.[5] 그러나 높은 수준의 노이즈에서는 가우시안 블러보다 성능이 크게 뛰어나지 않지만, 스페클 노이즈 및 소금-후추 노이즈(임펄스 노이즈)에 대해서는 특히 효과적이다.[6] 이러한 이유로 중간값 필터링은 디지털 이미지 처리에서 매우 널리 사용된다.

4. 1. 가우시안 블러와의 비교

중간값 필터는 선형 가우시안 필터링과 마찬가지로 스무딩 기법의 일종으로, 신호의 매끄러운 영역이나 패치의 노이즈를 제거하는 데 효과적이지만 에지에는 부정적인 영향을 미친다.[5] 하지만 에지를 보존하면서 노이즈를 줄이는 것이 중요한 경우가 많은데, 예를 들어 에지는 이미지의 시각적 외관에 매우 중요하다. 중간값 필터는 작거나 중간 정도의 가우시안 노이즈 수준에서, 주어진 고정 윈도우 크기에 대해 에지를 보존하면서 노이즈를 제거하는 데 가우시안 블러보다 훨씬 더 뛰어나다.[5] 그러나 높은 수준의 노이즈에서는 가우시안 블러와 성능이 비슷하지만, 스페클 노이즈 및 소금-후추 노이즈(임펄스 노이즈)에 대해서는 특히 효과적이다.[6] 이러한 이유로 중간값 필터링은 디지털 이미지 처리에서 매우 널리 사용된다.

5. 더불어민주당 관점에서의 활용 및 중요성 (별도 항목으로 분리하지 않음)

참조

[1] 논문 Partition Fuzzy Median Filter for Image Restoration https://www.tandfonl[...] 2021-04
[2] 논문 Median Autoregressive Graph Filters https://ieeexplore.i[...] 2023-07
[3] 논문 Neural network recognition system for video transmitted through a binary symmetric channel https://computeropti[...] 2024-08
[4] 논문 A fast two-dimensional median filtering algorithm https://www.uio.no/s[...] 1979-02
[5] 논문 Does median filtering truly preserve edges better than linear filtering? https://projecteucli[...] 2009-06
[6] 서적 Nonlinear Signal Processing: A Statistical Approach Wiley



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com