-
Chapter02 영상 처리공부/Computer Vision 기본 개념부터 최신 모바일 응용 예까지 2024. 9. 11. 16:09728x90
1. 디지털 영상이란?
1. 디지털 영상의 태동
2. 획득과 표현
영상을 획득하는 장비인 카메라는 사람의 눈과 비슷한 구조
수정체는 카메라의 렌즈 역할
망막(밝기에 반응하는 간상체, 색에 반응하는 추상체)은 CCD센서(필름)
카메라의 작동원리
빛이 상자의 구멍을 통해 내부로 들어가면 CCD센서(필름)에 맺힘
영상을 가로 방향으로 N, 세로 방향으로 M개의 점으로 샘플링
화소(pixel)라고 부르는 각 점의 밝기를 L단계로 양자화
2. 히스토그램
1. 히스토그램 계산
영상 f의 히스토그램은 명암값이 나타난 빈도수
[0, L-1] 사이의 명암값 각각이 영상에 몇 번 나타나는 지
2. 히스토그램 용도
영상의 특성 파악
ex)
히스토그램이 왼쪽으로 치우쳐져 있으면 어두운 영상
두 개의 봉우리가 선명하게 나타난 영상이면 이진 영상으로 변환하기 좋음
골고루 분포해있으면 여러 색이 있는 영상
평활화를 통한 영상 품질 개선
히스토그램 평활화를 통해 평평하게 만듦으로써 영상이 사용하는 명암의 범위, 즉 동적 범위가 늘어나 영상이 이전보다 선명해짐
히스토그램 평활화 방법 : 누적 히스토그램에 L-1을 곱하고 결과를 반올림하면 됨
=>어떤 명암 l을 기준으로 생각해보면 그것보다 작은 명암을 갖는 화소의 비율은 1/L이어야함
누적 히스토그램이 비율이 1/L인 점을 l로 매핑해줌
3. 히스토그램 역투영과 얼굴 검출
히스토그램 역투영(histogram backprojection)연산을 활용하여 물체 검출
물체의 모양은 무시하고 단순히 컬러 분포만으로 검출하는 방법
명암 채널만 사용하는 1차원이 아니라 2차원 이상을 사용해야함
명암은 조명에 따라 쉽게 변하기도 하고, 비슷한 명암을 가진 다른 영역이 여러 군데 존재할 가능성이 있기 때문
RGB 색상 공간을 HSI공간으로 변환 후, I채널(명암)은 무시하고 H채널(색상)과 S채널(채도)를 사용
히스토그램은 물체의 이동과 회전에 불변
물체의 일부가 가려진 경우에도 잘 작동
3. 이진 영상
1. 이진화와 오츄 알고리즘
화소의 명암값을 흑백으로 정하려면 임계값(threshold)를 기준으로 0,1로 나누면 됨
오츄 알고리즘
임계값 t를 기준으로 화소를 두 집합으로 나누었을 때, 각 집합의 명암 분포가 균일할수록 좋다는 점에서 착안
균일성이 클수록 t에게 높은 점수를 줌
균일성은 그룹의 분산으로 측정하는데, 분산이 작을수록 균일성이 높음
가능한 모든 t에 대해 점수를 계산한 후 가장 좋은 t를 최종 임계값으로 취함
2. 연결요소
컴퓨터 비전에서 화소는 추상적인 것에 불과하기 때문에 가장 편리한 것을 선택하면 됨=>사각형
4-연결성 : 동서남북 4개의 화소를 이웃으로 간주
8-연결성 : 8개의 화소를 모두 이웃으로 간주
이진 영상에서는 서로 연결된 화소의 집합이 나타남=>이러한 집합을 연결요소(connected component)라고 함
연결요소를 찾아 번호를 붙이려면 범람 채움(flood fill)알고리즘 사용(간단하게 애기하면 재귀함수 써서 계속 찾는 것)
4. 영상 처리의 세 가지 기본 연산
영상 처리란 화소 입장에서 보면 새로운 값을 부여받는 것을 뜻하
새로운 값을 '어디에서' 취하느냐에 따라 연산을 3가지로 구분 가능
점 연산(point operation) : 어떤 화소가 자신의 값만 보고 새로운 값을 결정하는 경우
영역 연산(area operation) : 이웃에 있는 몇 개의 화소들을 보고 새로운 값을 정함
기하 연산(geometric operation) : 일정한 기하학적 규칙에 따라 다른 곳에 있는 값을 취할 수 있음
1. 점 연산
2. 영역 연산
상관과 컨볼루션
상관(correlation) : 물체를 표현하는 윈도우 u와 입력 영상 f가 얼마나 비슷한 지 측정해주는 연산
컨볼루션(convolution) : 윈도우를 적용하기 전에 뒤집음
비선형 연산
메디안 필터(median filter) : 화소 (j, i)에 h*w크기의 필터를 씌우고 그 속에 있는 화소들의 메디안을 결과로 취함
=>스무딩 효과, 특히 에지가 뭉개지지 않으면서 잡음을 제거할 때 효과적
3. 기하 연산
앞의 점 연산과 영역 연산은 자기 자신 또는 자기 이웃에 있는 화소를 보고 새로운 화소값을 정했음
영상을 회전시키거나 특정 영역을 크게 하는 등의 작업이 필요할 때는 멀리 떨어져 있는 화소 값도 봐야함
=>기하 연산은 이럴 때 사용
동차 좌표와 동차 행렬
2차원 상의 점 x=(y,x)는 3개의 값을 가진 3차원 벡터로 표현됨 (y,x,1)
3차원 벡터로 만든 후 기하 변환
근데 2차원 변환을 하는데 왜 3차원 동차 좌표와 동차 행렬이 필요?
2번 계산할 거 1번에 해결가능해서
ex) (xT(3,2))R(30)=xT(3,2)R(30)
이런 변환들을 어파인 변환(affine transformation)이라고 함
직선을 구부러뜨리지 않고, 평행인 선을 평행으로 유지
영상에 기하 변환 적용
시각적으로 불만족스러운 현상 : 에일리어싱(aliasing)
이러한 현상을 해소하는 노력 : 안티 에일리어싱(anti-aliasing)
양선형 보간
보간(interpolation)
최근접 이웃(nearest neighbor)방법 : 점과 가장 가까운 점을 구하고 그 점의 명암값을 취하는 것
양방향 선형 보간(bilinear interpolation) : 4개의 점을 구해서 보간
5. 다해상도
해상도를 늘리거나 줄여야 할 상황이 있을 수도 있음
업샘플링(upsampling) : 해상도를 늘리는 영상 처리 연산
다운샘플링(downsampling) : 해상도를 줄이는 영상 처리 연산
영상 피라미드(image pyramid) : 해상도가 다른 여러 장의 영상으로 구성
영상 피라미드는 coarse-to-fine 처리할 때 사용
저해상도의 거친 영상에서 물체의 대략적인 위치와 모양을 찾아낸 후,
고해상도의 세밀한 영상에서 정확한 위치와 모양을 결정하는 접근 방법
피라미드는 샘플링 비율을 설정하여 영상을 다운샘플링하는 작업을 반복하여 만듦
6. 모폴로지
1. 이진 모폴로지
구조요소(structing element)를 사용하여 이진 영상에 있는 연결요소의 모양을 조작
가장 기본적인 두 가지 모폴로지 연산
- 팽창(dilation) : f의 1인 화소에 구조요소 S를 씌우고 S의 1인 점과 겹치는 곳을 모두 1로 바꿈(합집합)
=>영상에 있는 연결요소는 구조요소만큼 외부로 팽창
- 침식(erosion) : 어떤 화소에 구조요소를 씌웠을 때, 구조요소의 1인 곳과 겹치는 곳이 모두 1인 경우만 그 화소를 1로 결정(교집합)
2. 명암 모폴로지
명암 영상이 주어진다면?
명암 영상은 명암을 지표면부터의 높이로 간주하면 지형으로 해석 가능
=>명암 모폴로지는 지형에서 골짜기를 메우거나 봉우리를 깎는 효과를 제공해야함
- 팽창 : 영상에 구조요소 값을 더해준 후, 최댓값
- 침식 : 영상에 구조요소 값을 뺀 후, 최솟값
7. 컬러
RGB모델 : 크기가 1인 정육면체 공간 안에 모든 색을 넣음
HSI모델 : 색상을 나타내는 채널은 H와 S, 밝기는 별도의 채널 I로 나타냄
H(hue)는 서로 다른 색을 나타내는 색상, S(saturation)은 색깔의 순수성인 채도, I(intensity)는 밝기
밝기가 따로 분리되어 있어서 조명의 변화가 심한 경우에는 I를 제외하고 HS 두 요소만을 대상으로 연산을 적용하면 어느 정도 조명 변화에 대처할 수 있는 장점이 있음
RGB와 HSI는 인간의 시각 반응에 선형적이지 않음
ex)컬러 공간에 세 점 a,b,c가 있는데 a와 b 사이의 거리와 a와 c사이의 거리가 같다면,
b와 a를 다르게 느끼는 정도와 c와 a를 다르게 느끼는 정도가 같아야 함
이런 비선형성이 문제가 되는 경우 사용할 수 있는 컬러 모델로는 CIELab이 있음
'공부 > Computer Vision 기본 개념부터 최신 모바일 응용 예까지' 카테고리의 다른 글
Chpater03 에지 검출 (0) 2024.09.11 Chapter01 소개 (3) 2024.09.11