3-2/패턴인식

11주차- Morphological Image Processing

Donghun Kang 2024. 12. 2. 17:26
  • Reflection and Translation

  • Reflection
- x 방향으로 반전, y 방향으로 반전
  • Translation
- z만큼 translation 시킨 set

 

  • Set of pixels: object and structuring elements(SEs)

<Foreground(전경)>
- 이미지에서 객체가 차지하는 픽셀

<Background(배경)>
- 전경 외의 모든 픽셀

<Structuring Element(SE)>
- 전경 및 배경 픽셀의 패턴을 정의하는 작은 형태

 

  • Reflextion about the origin

<Origin(원점)>
- SE의 기준점
- 일반적으로 중앙값으로 설정

<Don't Care Elements>
- 해당 요소는 전경(1)이든 배경(0)이든 상관 없음
=> Reflection은 Origin을 기준으로 뒤집어 반사된 B hat을 생성
=> SE는 꼭 정사각형 필요 X

 

  • Erosion(침식)

- 정의: SE(B)가 Image I에서 전경에 완전히 포함될 때만 해당 영역의 중심 픽셀(origin)을 유지한다.

EX)

SE가 선형 형태
SE의 크기에 따라 Erosion된 결과물이 달라진다.

 

  • Dilation(확장)

- 정의: SE(B)가 어느 한 부분이라도 Image I에 전경과 겹칠 경우 해당 영역의 중심 픽셀(origin)을 포함

EX)

객체의 크기가 증가하여 작은 구멍이나 틈이 채워짐

 

  • Opening

Erosion => Dilation / (Erosion 보완) Erosion하는데 덜 깎임.

- 정의: 먼저 Erosion을 수행하여 작은 구조나 노이즈를 제거한 뒤, Dilation을 통해 원래 형태로 일부 복원
=> (B)z가 A에 완전히 포함 되었을 때 (B)z 전부 다 합한다.

 

  • Closing

Dilation => Erosion / (Dilation 보완) Dilation 하는데 덜 불림

- 정의: 먼저 Dilation을 수행하여 객체의 빈 공간이나 틈을 메운 후, Erosion을 통해 구조의 일부 복원
=> A와 B가 겹치지 않게 바깥을 따라 굴린다.

 

  • Comparison

< Erosion>
- 전체적인 shape이 작아짐
- 연산을 반복할수록 계속 축소

<Opening>
- 얇은 구조를 제거하지만 전체적인 shape은 유지
- 연산을 반복해도 큰 차이가 없다.

<Dilation>
- 전체적인 shape이 커짐
- 연산을 반복할수록 계속 확장

<Closing>
- 비어있는 부분을 채우고 얇은 틈을 매움
- 연산을 반복해도 큰 차이가 없다.

 

  • Opening and Closing: Propertyies (한 번 읽어보기)

 

EX)

1.  Morphologicla Image Processing(형태학적 이미지 처리)

 

2. Boundary Extraction(경계 추출)

 

3. Hole Filling(구멍 채우기)

이미지 A에서 hole은 객체 내부의 비어있는 공간을 의미하며, 이 공간을 메우는 연산

- 작업 단계
1. 초기화: hole의 시작점(픽셀)을 설정
2. 반복적 Dilation: SE를 이용해 점차 hole을 확장
3. Intersection(교집합): 확장된 결과가 배경 영역을 넘어가지 않도록 제한
4. 종료: hole이 완전히 채워질 때까지 반복 

 

4. Connected Components(연결된 성분)

주어진 시작점에서 연결된 모든 성분을 반복적으로 Dilation하여 탐색

- 작업 단계
1. 시작점 주변의 연결된 픽셀을 탐색
2. 연결된 영역을 Dilation
3. 연결된 모든 성분이 식별되고 탐색 종료

 


 

  • Image Segmentation(이미지 분할)
  • Edge-based Segmentation(경계 기반 분할)
- 입력 이미지에서 Edge(경계)를 탐지한 후, 이를 기준으로 분할 수행 

 

  • Region-based Segmentation(영역 기반 분할)
- 동일한 속성을 가진 영역을 그룹화 하여 분할

 

# Derivatives in 1D

 

  • Image Derivatives(이미지 도함수)

- Ramp: 천천히 변하는 영역
- Step: 급격히 변하는 영역
- Isolated Point: 단일 픽셀의 강도 값이 주변과 급격히 다른 점
- Line: Isolated Point보다는 약간 Ramp처럼 크기가 있는 형태
- Flat segment: 평평한 영역
- First derivative: 두꺼운 경계 생성
- Second derivative: 세부 구조 및 경계 세분화
<Second derivative>
- Isolated Point: Second derivative 값이 급격히 커진다.
- Ramp, Step의 시작점, 끝점: +(-) => -(+) 밝기 변화의 방향을 나타낸다.

 

EX)

1.  Detection of isolated points(고립된 점 탐지)

Laplacian 필터를 사용하여 고립된 점 검출

 

2. Line Detection(선 검출)

입력이미지에서 이중 경계를 포함한 선형 특징 강조

 

3. Line Detection in Specific Directions(특정 방향의 선 검출)

결과

 

  • Edge Models

  • Ramp edge

- Firsr derivative: 경사 변화를 식별하며, 변화가 시작되고 끝나는 지점을 강조
- Second derivative: 변화의 속도와 방향을 분석하며, 변화의 시작점과 끝점을 구분
=> Zero Crossing: 밝기가 변하는 핵심 지점

 

  • Noise and Image derivatives

- 이미지에 노이즈가 포함되면, 1차 및 2차 미분 값이 비정상적으로 커지거나 왜곡이 일어남
- 노이즈 제거를 위해 전처리 작업(Smoothing)이 필요

 

  • Gradient and Edge direction

- Gradient Vector: 현재 픽셀의 위치에서 변화량이 가장 큰 방향
- Edge direction: Gradient Vector에 항상 Orthogonal(수직)한 방향 

 

  • Gradient Operators

 

  • Gradients

- Gradient를 계산하기 전에 이미디를 Smoothing 처리하여 selective edge를 얻는다.
=> Edge 검출에서 노이즈가 줄어들어 더 명확한 결과를 얻는다.

 

  • Edge detection
1. 입력 이미지를 Smoothing하여 노이즈를 감소시킨다.
2. Grdient 크기 이미지를 계산한다.
3. Gradient 크기 이미지에 대해 Nonmaximal suppression을 적용한다.
4. 결과 이미지를 Threshold 처리하여 최종 edge를 추출한다.

 

  • Nonmaxima Supperssion

1. 특정 방향의 discrete한 방향(d1,d2)으로 기울기 방향(α(x, y))을 매칭
2. 이웃 픽셀과의 비교를 통해 현재 픽셀 값이 작으면 억제

 

  • Canny Edge Detector
1. Gaussian Filter로 입력 이미지 Smoothing
2. 기울기 크기와 각도를 계산
3. Nonmaximal Suppression을 통해 정확한 edge 추출
4. Double Threshold 및 connectivity analysis(연결 분석)으로 최종 edge 생성

 

  • Double Thresholding

- 높은 임계값 TH와 낮은 임계값 TL을 사용하여 edge 감지의 정확성을 개선하는 방법
- edge curve를 시작하려면 TH보다 큰 값에서 시작하고, edge curve를 계속 추적하려면 TL이상인 값을 포함
- q0라는 지점을 기주으로 edge chain을 추적
- 그래프에서 파란색 화살표는 추적이 계속되는 지점을, 빨간색 화살표는 추적이 멈추는 지점

 

'3-2 > 패턴인식' 카테고리의 다른 글

8주차-Frequency Domain Processing  (1) 2024.12.06
10주차-Image Compression  (0) 2024.12.01
9주차-Image Restoration  (0) 2024.11.30
4주차-Fourier Transform  (2) 2024.10.16
3주차-Fourier Series  (0) 2024.10.14