[컴퓨터비전] Edge

유진·2025년 4월 26일

Edge as a Feature

egde 유용성

✔️ 물체의 경계 표시
✔️ 영상 속에 어떤 물체가 있는지, 어떤 행위가 일어나는지 등에 관한 정보를 그대로 유지
✔️ 원래 영상에 비해 필요한 메모리가 적음 (이진영상)
✔️ 이후 단계의 처리에 훨씬 적합(매칭에 용이한 선분이나 곡선으로 변환 가능)

edge 한계

✔️ 실종된 edge(거짓부정), 거짓 edge(거짓긍정) 발생
✔️ 이들의 오류를 최소화 해야함

Edge Detection

원리

✔️ 물체 내부는 명암이 서서히 변하고 경계는 급격히 변하는 특성을 활용
✔️ 명암, 컬러, 또는 텍스처의 변화량을 측정하고, 변화량이 큰 곳을 에지로 검출

미분

✔️ 변수 x가 미세하게 증가했을 때 함수 변화량을 측정하는 수학 기법
✔️ 미분을 디지털 영상에 적용 (이산 공간에서의 미분)
✔️ 실제 구현은 필터 u로 컨볼루션 (u-에지 연산자)

Derivative

미분 표현법

✔️ 편미분 : 변수 하나에 대하여 미분하는 것

연쇄법칙

✔️ 미분 가능한 합성함수를 미분하는 법칙
✔️ 여러 개의 함수가 중첩된 경우 미분을 계산하는 방법
✔️ 전체 변화육은 각 부분 변화율의 곱

예시

📍 단일 변수
✔️ y=f(u),u=g(x)일 때, y를 x에 대하여 미분하고 싶다면 아래와 같이 미분하면 됨
✔️ 바깥 함수의 미분 x 안쪽 함수의 미분

✔️ 예제
f(u)=u²,u=2x+1 이라고 가정
-> y=f(u)=(2x+1)²
-> u² 미분 = 2u (바깥 함수 미분)
-> 2x+1 미분 = 2(안쪽 함수 미분)
-> 둘이 곱하면 됨

📍 다변수
✔️ y=f(u1,u2,...,un), u=g(x1,x2,...,xm)일 때
✔️ 모든 경로를 따라 편미분해서 더하는 것

✔️ 예제
f(u1,u2)=u1²+u2, u1=2x+y, u2=xy
-> f를 u1에 대해 미분 : 2u1
-> f를 u2에 대해 미분 : 1
-> u1을 x에 대해 미분 : 2
-> u2를 x에 대해 미분 : y

Gradient

그레디언트

✔️ 함수 f를 변수 별로 한번 미분한 것들을 모아 놓은 벡터

Edge Detection

ramp edge

✔️ 현실 세계의 ramp edge
✔️ 명암이 몇 화소에 걸쳐 변함
✔️ 갑자기 변하는 것이 아님

미분

✔️ 1차 미분과 2차 미분
✔️ 1차 미분만으로는 정확한 에지를 검출하기 힘듦

First Derivative Operator - The Gradient

1차 미분기반

✔️ 1차 미분에 기반한 에지 연산자
✔️ 실제 영상에 있는 잡음을 흡수하기 위해 크기가 2인 필터를 크기 3으로 확장
✔️ 그레디언트 벡터 계산 (기울기)

✔️ 또한 1차원을 2차원으로 확장
✔️ 프레윗 : -1, 0, 1으로 잘 안나온다는 단점이 있음
✔️ 소벨 : 가운데 부분의 가중치를 더 줌 (더 많이 사용)

그레디언트

에지 강도

✔️ 화소 (x,y)가 에지일 가능성 또는 신뢰도 (confidence)
✔️ 1차 도함수는 그레디언트의 크기를 이용하여 구현됨

✔️ 계산의 단순화를 위하여 아래와 같은 근사값을 활용

에지 방향

✔️ 그레디언트 방향에 수직

소벨 마스크

✔️ 소벨 마스크를 이용한 에지 검출 예시
✔️ 입력 영상과 컨볼루션 하면 됨 (5,3) -> 3
✔️

Second-order Derivative Operator

1차 미분

✔️ 1차 미분 에지 연산자 : 1960, 1970 초반 개발
✔️ 주로 소벨 연산자를 활용

2차 미분

✔️ 2차 미분 연산자의 등장
✔️ 198년에 marr&hildreth: 다중 스케일 에지 검출 알고리즘
✔️ 1차 미분 대신 2차 미분을 사용함

2차 미분 연산자

✔️ 이미지의 급격한 변화를 강조하는 역할

라플라시안 필터

✔️ 필터 적용 과정: 라플라시안 커널과 컨볼루션 적용
✔️ 방향성이 없는 연산자 (그레디언트 방향에 무관)
✔️ 노이즈에 민감 -> LoG 필터 사용

LoG

가우시안 사용이유1

✔️ 잡음에 대한 대처
✔️ 미분은 잡음을 증폭시키므로 스무딩 적용이 중요함
✔️ 미분에 의한 잡음 증폭 예시
-> 솔트페퍼 잡음 : 소금은 하얗고, 후추는 까매서
-> 잡음의 값 뿐 아니라 잡음의 폭도 넓어짐

가우시안 사용이유2

✔️ σ 조절을 통한 다중 스케일 효과
✔️ 에지의 세밀함 조절 가능 == σ을 조절해 스무딩 정도 조절
✔️ σ을 크게하면 영상 디테일이 사라져 큰 물체의 에지만 추출
✔️ σ을 작게하면 물체의 디테일에 해당하는 에지까지 추출

LoG 필터 설계

✔️ LoG 필터 설계 == 개선된 라플라시안
✔️ 라플라시안은 노이즈에 민감하기 때문에 가우시안 블러를 먼저 적용한 후 라플라시안을 적용
✔️ 입력 영상에 가우시안 G를 적용한 후, 결과에 라플라시안을 다시 적용하는 두 단계의 비효율성
-> 계산 시간 과다, 이산화에 따른 오류 누적
✔️ LoG 필터를 이용한 단계 처리
-> 가우시안에 라플라시안을 취한 후 입력영상과 컨볼루션
-> 잡음을 줄이는 데 가우시안을, 에지를 강조하는데는 라플라시안을 이용

LoG 필터 특성

✔️ 함수 자체에도 영교차가 나타남
✔️ 사람의 시각도 비슷한 성질을 가짐이 증명됨
-> 그레디언트를 사용한 에지 연산자보다 사람 시각에 더 가까움
✔️ 방향과 무관한 에지 검출
✔️ 에지 검출을 넘어 Blob 감지 기능: 특정 영역의 패턴을 감지하는데 활용
✔️ 가우시안 커널 크기에 따라 성능이 달라짐
-> 작은 σ값 : 더 세밀한 에지 검출 (노이즈 남을 수 있음)
-> 더 큰 σ값 : 더 부드러운 에지 검출 (일부 세부 정보 손실 가능)
✔️ 이중 에지 생성 가능성
-> 2차 미분을 사용하므로 어두운 영역에서 밝은 영역으로 변화할 때 경계선이 2개로 검출될 가능성이 있음

이산 공간

✔️ LoG는 이산 공간에서 구현됨

Zero Crossing Theory

LoG

✔️ Marr & Hildreth의 에지 검출 알고리즘

✔️ 2차 미분에서 영교차 검출
1. 여덟 개의 이웃 중에서 마주보는 동-서, 남-북, 북동-남서, 북서-남동의 화소 쌍 네개를 조사하고, 그 중 두개 이상이 서로 다른 부호를 가짐
2. 부호가 다른 쌍의 값 차이가 임계값을 넘음

다중 스케일 에지 검출 예시

Canny 에지 검출

Canny 에지 연산자

✔️ 에지 검출을 최적화 문제로 해결
✔️ 좋은 에지 알고리즘이 갖추어야 할 3가지 기준에 부합하는 목적함수를 만든 후, 이 함수를 최적화하는 연산자 설계
1. 최소 오류율: 거짓 긍정과 거짓 부정이 최소여야 함
2. 위치 정확도: 검출된 에지는 실제 에지의 위치와 가급적 가까워야 함
3. 에지 두께: 실제 에지에 해당하는 곳에는 한 두께의 에지만 생성해야 함

알고리즘

  1. 입력 영상에 σ크기의 가우시안 스무딩 적용 (노이즈 제거)
  2. 결과 영상에 소벨 연산자를 적용하여 에지 강도와 에지 방향 맵 생성
  3. 비최대 억데를 적용하여 얇은 두께 에지 맵 생성
  4. 이력 임계값을 적용하여 거짓 긍정 제거

비최대 억제

✔️ non-maximum suppression
✔️ 특정 화소에 대해 자신의 두 이웃 화소보다 에지 강도가 크면 에지
✔️ 그렇지 않으면 억제 (억제: 에지가 아닌것)
✔️ 비최대 억제를 위한 에지 방향 별 두 이웃 화소
✔️ 지역 최대점만 에지로 검출하므로 얇은 두께의 에지 영상 생성
✔️ 방향 4는 0과, 5는 1과, 6은 2와, 7은 3과 같음

거짓긍정 감소

✔️ 거짓 긍정을 줄이는 방법
✔️ 거짓 긍정: 실제로 에지가 아닌데 에지라고 판정된 경우
✔️ 거짓 긍정을 없애는 가장 간단한 방법
-> 임계값 T설정
-> 에지 화소 p의 에지 강도 S(p)<T이면 해당 화소를 거짓 긍정으로 보고 제거
✔️ 길항 작용 발생
-> T를 높게 설정하면, 거짓 긍정 제거 잘됨
-> T를 낮게 설정하면, 거짓 긍정 그대로 남아있음

Thigh, Tlow

✔️ 2개의 임계값을 사용하여 거짓긍정 제거
✔️ 에지 강도가 Thigh 이상인 에지에서 에지 추적 시작
✔️ 이후 추적은 Tlow 이상인 에지를 대상으로 진행ㅎ
-> 신뢰도가 높은 화소만 에지 추적을 시작할 권리 가짐
-> 시작 화소가 정해지면 Tlow를 넘는 화소를 대상으로 에지 추적
-> 이웃 화소가 추적 이력이 있으면 자신은 신뢰가 낮더라도 에지로 간주
✔️ Thigh를 Tlow의 2~3배 정도로 하는 것이 좋음

예시

0개의 댓글