반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

폴크(FOLC)

Difference of Gaussians (DoG) 본문

카테고리 없음

Difference of Gaussians (DoG)

folcjin 2025. 5. 31. 20:39
728x90
반응형

이미지의 경계(Edge)와 고주파(High-frequency) 성분을 강조하는 대표적인 고전적 필터링 기법으로, 특히 미세한 밝기 변화나 텍스처의 국소적 차이를 잘 검출할 수 있어 결함 검사, 객체 검출, 특징 추출(SIFT 등)에서 폭넓게 사용된다.

 

 

1. 기본 개념
- 두 개의 Gaussian Blur(저주파 필터링)된 이미지의 차이(Difference)를 계산하여 고주파 성분만을 추출하는 방식
=  저주파 성분 제거 (배경 제거)
=  고주파 성분(에지, 결함, 텍스처 불연속) 강조

2. 정의
- G(x,y,σ)G(x, y, \sigma): 이미지에 대해 표준편차 σ\sigma의 Gaussian 필터를 적용한 결과
- I(x,y)I(x, y): 입력 이미지

수식:
DoG(x,y)=G(x,y,σ1)−G(x,y,σ2)(σ2>σ1)

또는 실무에서는 다음과 같이 간단히 구현:
DoG=blur(I,σ1)−blur(I,σ2)

 

3. DoG의 실용적 특징

파라미터
- σ₁, σ₂의 차이가 클수록: 더 큰 구조 강조 (고주파 억제)
- 차이가 작을수록: 미세한 고주파 강조 (노이즈까지 검출)

결과 이미지
- 밝은 부분: σ1\sigma_1에서 존재하던 국소 패턴이 σ2\sigma_2에서 사라졌음을 의미
- 경계선 및 결함: 흐려지지 않고 두 필터 간 차이로 부각됨

 

4. 예제

{
Mat img = imread("test.png", IMREAD_GRAYSCALE);

// Gaussian Blur with two different sigmas
Mat blur1, blur2, dog;
GaussianBlur(img, blur1, Size(0, 0), 1.0);  // sigma1
GaussianBlur(img, blur2, Size(0, 0), 2.0);  // sigma2

// DoG: subtract two blurred images
subtract(blur1, blur2, dog);

// 보기 좋게 정규화
normalize(dog, dog, 0, 255, NORM_MINMAX, CV_8U);
imshow("DoG Result", dog);
}
 

5. 예시

분야활용 목적
디스플레이 패널 검사 배경 조명 제거 + 스크래치 강조
PCB/웨이퍼 검사 고주파 성분만 추출 → 금속 라인 파손 탐지
위조지폐 감별 미세 인쇄 패턴 강조
머신비전 경계 기반 ROI 추출
 
 

6. DoG의 응용 기술

  • SIFT (Scale-Invariant Feature Transform)
    - Gaussian Pyramid에서 DoG 연산을 사용하여 스케일 불변 특징점 검출
  • Blob Detection
    - 다양한 σ의 DoG 필터로 둥근 결함/입자 검출 가능
  • 이상 탐지 (Anomaly Detection)
    - 정상 패턴에서 벗어난 국소 변화 강조
728x90
반응형
사업자 정보 표시
사업자 등록번호 : -- | TEL : --