[컴퓨터비전] 2. 영상 처리
1. 디지털 영상이란?
1.1 디지털 영상의 태동
- •
1920년대 Bartlane 케이블 사진 전송 시스템이 시초
- •
1950년대 영상처리 기술은 문자 인식(OCR) 등의 특수 분야에서 시작됨
- •
디지털 영상은 컴퓨터에서 처리할 수 있도록 변환된 이산적인 2차원 신호
1.2 획득과 표현
- •
디지털 영상은 픽셀들의 이차원 배열로 표현됨
- •
일반적으로 흑백 영상은 0~255 범위의 8비트 정수, 컬러 영상은 RGB 3채널 각각 8비트
- •
픽셀 크기가 작아질수록(=해상도 증가) 더 정밀한 영상 표현 가능
- •
영상의 저장 포맷에는 RAW, BMP, JPEG, PNG 등이 있음
2. 히스토그램
2.1 히스토그램 계산
- •
히스토그램: 영상의 명암값(0~255) 분포를 그래프로 표현
- •
: 밝기값 의 픽셀 수가 개
2.2 히스토그램의 활용
- •
영상의 밝기 분포를 분석하여 어두운 영상/밝은 영상 구분 가능
- •
히스토그램 평활화(Equalization): 누적분포함수(CDF)를 이용하여 전체 명암값을 고르게 분포시킴 → 명암 대비 향상
- •
명암 변환: 히스토그램 정보를 바탕으로 로그, 감마 등의 비선형 변환 가능
2.3 히스토그램 역투영과 객체 검출
- •
역투영(Backprojection): 특정 색상의 히스토그램 분포를 이용해 유사 영역 탐색
- •
HSV 색공간에서 H와 S 채널 중심으로 사용
3. 이진 영상
3.1 이진화와 오츠 알고리즘
- •
이진화(Binary Thresholding): 임계값 를 기준으로 밝기값을 0 또는 255로 이진 변환
- •
오츄(Otsu) 알고리즘: 클래스간 분산을 최대화하는 를 자동으로 선택
3.2 연결 성분 분석
- •
이진 영상에서 연결된 영역을 구분하기 위해 레이블링(Labeling) 수행
- •
연결 기준은 4-연결성 / 8-연결성
- •
DFS, BFS 방식의 알고리즘 사용
4. 영상 처리의 세 가지 기본 연산
4.1 점 처리
- •
한 픽셀의 값만을 기반으로 계산:
- ◦
반전:
- ◦
선형 조정:
- ◦
감마 보정:
4.2 영역 처리
- •
이웃 픽셀들과의 연산을 수행하는 방식, 주로 커널(Kernel) 사용
4.2.1 선형 필터
- •
박스 필터(Box mask): 스무딩(저주파 필터), 노이즈 제거
- •
샤프닝 필터(라플라시안, 언샤프 마스크): 고주파 성분 강조
- •
가우시안 필터: 가우시안 분포 기반 스무딩
4.2.2 비선형 필터
- •
메디안 필터(Median filter): 주변 픽셀의 중앙값 사용 → 염점 잡음에 효과적 → 에지 보존 스무딩
4.2.3 상관(Correlation)
- •
커널을 영상에 그대로 적용하여 곱한 후 더함
- •
영상처리에서는 일반적으로 상관 연산이 기본으로 사용됨
4.2.4 컨볼루션(Convolution)
- •
커널을 좌우 및 상하 반전한 후 상관과 동일하게 수행
- •
수학적으로 정확한 정의이며, 신호처리, 딥러닝에서 사용
상관과 컨볼루션의 구분
- •
두 연산은 계산 방법이 거의 같지만, 커널을 반전하는 차이가 있음
- •
윈도우가 대칭일 경우 결과는 동일
- •
상관은 템플릿 매칭, 물체 검출에 적합
- •
컨볼루션은 임펄스 응답을 기반으로 시스템 해석에 필수적
4.3 기하 처리
- •
영상의 좌표 자체를 변형하는 처리
- ◦
이동:
- ◦
회전: 회전 행렬
- ◦
스케일링:
- •
아핀 변환과 투시 변환에 해당
기하 변환을 위한 동차 행렬
각 기하 변환은 3×3 행렬로 통합 가능
입력 좌표:
- •
이동: y방향으로 , x방향으로
- •
회전: 원점을 중심으로 시계방향으로 만큼 회전
- •
크기 조절: y방향으로 , x방향으로 만큼 확대
- •
기울임: y방향으로 , x방향으로 만큼 기울임
왜 2차원 변환에 3×3 동차 행렬을 사용하는가?
- •
이동, 회전, 스케일링 등 여러 변환이 연속적으로 일어날 때, 각각을 따로 계산하면 연산량이 많아짐
- •
예를 들어, 점 하나에 대해 먼저 이동 행렬 를 적용하고, 그다음 회전 행렬 를 적용하면
- •
점이 수천 개라면, 각 점마다 행렬 곱을 두 번씩 해야 함 → 비효율적
복합 변환
- •
행렬 곱셈은 결합 법칙이 성립함 →
- •
즉, 두 행렬을 미리 곱해놓고 각 점에 한 번만 곱해주면 됨
- •
연산 속도는 약 2배 향상됨 (행렬 곱셈 2회 → 1회)
- •
이처럼 여러 변환을 하나의 행렬로 묶어서 처리할 수 있게 해주는 것이 동차 좌표를 사용하는 이유
5. 다해상도
- •
지금까지의 영상 처리 연산은 영상의 해상도, 즉 크기 을 고정된 상태로 유지했다
- •
하지만 실무에서는 영상의 해상도를 조정(늘리거나 줄이기)해야 하는 경우가 많다
- ◦
예: 스마트폰, 디지털 카메라, TV, 프린터 등 장치마다 해상도가 다르기 때문
5.1 업샘플링과 다운샘플링
- •
업샘플링: 해상도를 늘리는 연산
- •
다운샘플링: 해상도를 줄이는 연산
- •
이러한 해상도 변환 연산을 영상 피라미드라고 부르며, 다해상도 구조를 구성함
5.2 영상 피라미드
- •
영상 피라미드는 원래 영상으로부터 시작하여 점점 더 작은 크기의 영상들을 계층적으로 구성한 것
- •
주로 샘플링 비율 을 적용 → 한 단계마다 해상도가 절반씩 줄어듦
- •
예:
원본 영상의 크기 조건
- •
일반적으로 영상의 크기는 형태여야 단계적으로 정확히 줄어듦
- •
예: 영상이면
- ◦
- ◦
- ◦
- ◦
5.3 다운샘플링 시 주의점: 에일리어싱 현상
- •
에일리어싱: 다운샘플링 시 생기는 왜곡 현상
- ◦
홀수 좌표 화소만 100% 반영되고, 짝수 좌표 화소는 0% 반영됨 → 정보 손실 발생
- •
해결법: 다운샘플링 전에 스무딩을 적용하여 고주파 성분 제거
스무딩 + 다운샘플링 식
- •
다섯 개 화소의 가중치 합으로 필터링 후 다운샘플링
- •
필터 예 (1×5 크기):
- •
이 필터는 좌우로 대칭이며 중심 화소에 가장 큰 가중치를 둬서 에일리어싱 억제 효과가 있음
2차원 필터로 확장
- •
수직 방향에도 동일한 필터 사용 →
5.4 활용 예
- •
다중 해상도 분석은 다양한 해상도에서의 변화를 고려해 다음과 같은 문제를 해결할 수 있음:
- ◦
객체 검출: 크기 변화에 상관없이 검출
- ◦
얼굴 인식, SIFT 특징 추출, 물체 추적, 영상 압축
6. 모폴로지
6.1 이진 모폴로지
- •
이진 영상에서 객체의 형태를 다루는 연산
- •
구조 요소를 기반으로 연산 수행
- •
주요 연산:
연산 | 정의 | 효과 |
침식 (Erosion) | 객체의 외곽을 깎아냄 | 작은 잡음 제거, 객체 축소 |
팽창 (Dilation) | 객체의 외곽을 확장 | 구멍 채움, 객체 연결 |
열림 (Opening) | 침식 후 팽창 | 작은 잡음 제거 |
닫힘 (Closing) | 팽창 후 침식 | 작은 구멍 메움 |
- •
구조 요소는 일반적으로 사각형 사용, 필요에 따라 원형, 십자형 등 다양하게 사용됨
6.2 명암 모폴로지
- •
이진 영상이 아닌 회색조 영상에 대해 적용되는 모폴로지 연산
- •
최댓값/최솟값 필터링 방식으로 구현됨
연산 | 정의 |
밝기 팽창 | 구조 요소가 닿는 영역 중 최댓값으로 대체 |
밝기 침식 | 구조 요소가 닿는 영역 중 최솟값으로 대체 |
밝기 열림 | 밝기 침식 → 밝기 팽창 |
밝기 닫힘 | 밝기 팽창 → 밝기 침식 |
- •
노이즈 제거, 조명 보정 등에 사용됨
7. 컬러
7.1 컬러 영상 표현
- •
디지털 영상에서 가장 기본적인 색 표현 방식은 RGB 모델
- ◦
R (Red), G (Green), B (Blue) 채널로 구성
- ◦
각 채널은 일반적으로 8비트 정수 → 총 24비트 컬러 영상
- •
하지만 RGB는 인간 시각과 일치하지 않음
7.2 HSI / HSV 색 공간
- •
HSI (Hue, Saturation, Intensity) 또는 HSV (Hue, Saturation, Value) 모델은 사람의 시각 모델에 기반함
구성요소 | 설명 |
H (Hue) | 색상, 0~360도 (예: 빨강, 파랑 등) |
S (Saturation) | 채도, 색의 순도 |
I/V (Intensity/Value) | 명도, 밝기 정도 |
- •
H 값만 사용하면 조명 변화에 강인한 색상 정보 추출 가능
- •
예: 객체 추적, 얼굴 검출 등에서 HSV 색 공간을 자주 사용
7.3 컬러 히스토그램 기반 추적
- •
색상 히스토그램을 만들어 특정 색상 분포를 추적하는 방식
- •
HSV 공간에서 H와 S 채널 중심으로 객체를 탐색함