본문 바로가기
IT/Graphics

컴퓨터 비전 스터디 7주차 : 21.05.23

by YEON-DU 2021. 5. 24.
반응형

1. 에지 검출의 기초

물체의 경계에서는 명암값에 급격한 변화가 일어난다. 그에 비해 물체 내부나 배경 영역은 변화가 없거나 있어도 작은 변화만 발생한다. 이것이 바로 에지 검출edge detection의 핵심 토대이다.

에지 : 영상의 명암, 컬러, 또는 텍스처와 같은 특성이 급격히 변화하는 지점

모든 에지 검출 알고리즘은 변화를 측정하고 변화량이 큰 곳을 에지로 취하는 원리를 따른다.

 

1. 디지털 영상의 미분

수학에서 변화를 측정하는 기초 이론은 미분이다.

하지만 컴퓨터 비전이 다루는 디지털 영상은 연속 공간이 아닌, 이산 공간에서 정의된다.

따라서 이산 공간에서 도함수를 근사화하는 방법이 필요하다.

Δx를 얼마로 할 것인지가 핵심인데, 이산 공간에서 가장 작은 단위는 1이므로 Δx = 1이라고 가정해보자.

이 식은 마스크 [-1][1]로 영상 f를 컨볼루션하는 것과 같다.

 

예상대로 급속한 변화가 있는 지점의 값은 크고, 변화가 작은 곳은 값도 작다.

여기에서 4를 임계값으로 이진화하면 |f|의 이진화와 같은 영상을 얻는다.

이 영상에서 1을 갖는 점을 에지 화소edge pixel라고 부른다. 이 연산에 사용된 마스크([-1][1])는 에지를 찾는 데 활용할 수 있으므로 에지 마스크 또는 에지 연산자edge operator라 부른다.

 

2. 에지 모델과 연산자

위 영상은 계단 에지step edge와 램프 에지ramp edge라 불리는 두 종류의 에지를 가진 영상이다.

(또한 위의 모델은 잡음이 없는 이상적인 에지 모델이라고 가정한다.)

위치 3과 4 사이에는 계단 에지가 있고, 램프 에지는 7에서 시작해서 10에서 끝난다.

2차 미분으로 확장하게 되면 위의 식과 같다. 1차 도함수를 한 번 더 미분하여 구할 수 있다.

먼저 1차 미분을 살펴보면 계단 에지에서 봉우리peak(위치3, 값 4)가 나타난다. 봉우리의 두께가 1이므로 에지 위치를 찾는 일은 매우 쉽다. 실제 영상에서 이와 같은 이상적인 계단 에지만 나타난다면 에지 검출 문제를 해결하기도 쉽겠지만 실제로는 그리 단순하지 않다.

따라서, 실제 영상에서는 주로 램프에지가 나타난다. 계다가 곡면을 가진 물체는 경계 부분에서 명암이 서서히 변하므로 물체 자체가 그런 성질을 안고있다.

램프 에지에서는 봉우리(값이 줄어드는 램프이므로 음수)가 7 ~ 10에 걸쳐있어 두께가 4이다.

에지의 정확한 위치를 찾는 일을 위치 찾기localization라 하는데, 이를 위해 2차 미분 결과를 살펴본다면 계단 에지의 두께가 2가 되는데, 4는 -4로 바뀌어 그 사이 영교차zero crossing가 나타난다.

램프 에지에서는 에지가 시작하는 위치 7에서 -1이 나타나고 끝나는 위치 10에서 1이 나타나 그 사이에 영교차가 발생한다.

즉, 1차 미분에서 봉우리를 찾고, 2차 미분에서는 영교차를 찾으면 된다.

또한 에지가 넓은 지역에 걸쳐 발생하므로 정확한 위치를 지정하는 위치 찾기 방법이 필요하다.

에지 검출에서 고려해야할 다른 문제는 바로 불완전한 광학 때문에 발생하는 잡음이다.

에지 연산자를 적용하기 전에 이러한 잡음을 누그러뜨리는 과정은 매우 중요하다. 스무딩 연산을 적용하면 어렵지 않게 해결할 수 있지만 스무딩은 크기가 3×3 이상의 연산자를 사용하므로 1×2 크기의 에지 연산자는 너무 작다.

Δx=2인 미분 연산자는 아래와 같다. 디지털 영상은 잡음을 포함할 뿐만 아니라 램프 에지가 나타나기 때문에 실질적으로는 Δx=1인 미분 연산자보단 아래의 식이 적당하다.

또한 1×3의 마스크는 중앙 화소를 중심으로 대칭이라는 장점을 가진다. 식에 따르면 마스크는 -1/2과 1/2를 가져야 하지만 상대적인 크기가 중요하므로 편의상 -1과 1로 정의한다.

2차원 영상 f(y, x)는 y방향의 편도함수와 x방향의 편도함수를 구한다. 이 둘은 그레이디언트 벡터gradient vector를 형성하며 줄여서 그레이디언트라고 부른다.

이 식은 2차원에서 그레이디언트를 계산하기 위한 식과 그에 해당하는 마스크를 보여준다.

그러나 이 식은 이론상 합리적으로 보이지만 실제로는 잡음에 대처하지 못하는 약점을 안고 있다. 따라서 마스크를 d×d 크기의 정방형으로 확장해 연산자 자체가 스무딩 효과를 지니도록 설계한다.

위의 그림은 실제로 잘 알려진 세 종류의 연산자이다.

로버츠 연산자는 2×2이고 프레윗과 소벨은 3×3이다.

로버츠 연산자Roberts operator : 대칭이 아닐 뿐만 아니라 너무 작아 잘 사용하지 않지만 역사적인 의미로 자주 등장한다. 소벨, 프레윗 연산자에 비해 매우 빠른 속도를 보이고 주변과 관계 없이 경계가 확실한 에지를 추출한다.

프레윗 연산자Prewitt operator : x방향의 미분값을 계산하는데 해당 행만 보는 것이 아니라 그 아래와 윗 행까지 같이 고려한다. 즉, 스무딩 효과가 내포되어 있다.

소벨 연산자Sobel operator : 가까운 화소에 더 큰 가중치를 주며, 이들 중 소벨이 가장 널리 사용된다.

 

3. 에지 강도와 에지 방향

그레이디언트는 벡터이므로 에지 강도edge magnitude(edge strength)와 에지 방향edge direction을 구할 수 있다.

에지 강도는 화소 (y,x)가 에지일 가능성 또는 신뢰도confidence를 나타내는 값이다.

에지 방향은 그레이디언트 방향에 수직이다.

(a)는 어두운 배경에 밝은 물체가 놓여있다고 가정한 것이다.

그림에 표시된 경계선 상의 한 점에 마스크를 적용하면 음수가 되어 dx는 왼쪽을 가리키고, dy는 양수가 되어 아래쪽을 가리킨다. dx와 dy에 따라 그레이디언트 방향이 정해지고 그에 수직을 이루도록 에지 방향이 결정된다.

여기서 에지 방향은 그 방향을 바라보고 섰을 때 왼쪽은 밝고 오른쪽은 어두운 것이다.

프로그래밍 시 일관성만 유지한다면 반대로 정해도 상관은 없다.

이렇게 구한 에지 방향은 [0, 360°] 범위를 갖는데, 이 범위는 보통 8-방향으로 양자화된다.

소벨 마스크를 이용하여 (5,3) 위치에 있는 화소에 그레이디언트와 에지 강도, 방향을 계산한다.

에지 강도 맵을 보면 사람과 배경의 경계는 심한 명암 변화 때문에 강한 에지가 나타나고, 사람 내부는 약한 에지가 분포한다.

(c)는 수직 방향의 명암 변화에 반응하고, (d)는 수평 방향으로 반응함을 확인할 수 있다.

반응형

댓글