고전 컴퓨터 비전
- 고전 컴퓨터 비전: 규칙 기반의 이미지 처리 알고리즘 (e.g. OpenCV)
- 딥러닝: 데이터 학습 기반의 이미지 처리
- 활용
- 딥러닝으로 해결하기 어려운 문제에 활용 (e.g. 로보틱스, 가상현실)
- 딥러닝 모델의 결과의 후처리
- 딥러닝 모델 없이 데이터를 가공 할 때 활용 ( Morphological Transform , Edge & Contour Detection )
Morphological Transform
- 이미지에 기반한 연산이며, 흑백 이미지에서 일반적으로 수행
- 입력: 원본 이미지, 커널(연산자)
- Erosion, Dilation, Opening, Closing, Morphological gradient, Top hat
- 중요성
- Morphological transform은 이미지 전처리 영역에서 유용하게 사용
- Ex. opening 연산을 통해 이미지의 노이즈를 제거하는데 사용 가능 - Erosion
- 물체의 경계를 침식
- 이미지의 특징을 축소할 때도 사용 가능
- 홀수 크기의 커널이 이미지와 컨볼루션 연산을 수행
- 커널 아래 모든 픽셀이 1이면 1, 그 외에는 0이 됨
- 경계 근처의 픽셀은 침식 - Dilation
- Erosion과는 정반대로 동작
- 사물의 크기를 팽창할 때도 사용 가능
- 홀수 크기의 커널이 이미지와 컨볼루션 연산을 수행
- 커널 아래의 하나 이상의 픽셀이 1이면 1, 그 외에는 0이 됨
- 경계 근처의 픽셀은 팽창 - Opening
- Erosion 커널과 Dilation 커널 순서대로 동작되는 연산
- 반대로 동작시키면 (Dilation->Erosion), Closing 커널이라고 부름
- 노이즈를 제거하는데 사용
Contour Detection
- Contour Detection
- Contour: 같은 색깔 및 intensity를 가지는 연속적인 경계점들로 이루어진 curve
- 고전 컴퓨터 비전을 활용하여 raw image에서 객체의 contour를 추출
- Raw image를 binary image로 변환 -> OpenCV의 findContours() 함수 이용
- Binary image를 만들 때 edge detection의 결과를 활용
- 딥러닝 모델 사용 X : 딥러닝 모델 학습을 위한 데이터 가공 시 활용 가능
- Edge detection -> Dilation (optional) -> Contour detection - Canny Edge Detector
- 컴퓨터 비전에서 가장 널리 사용되는 edge detector 1986년 TPAMI에 발표된 논문으로, John Canny에 의해 개발
- 정확도 높음
- 실행 시간 느림, 구현 복잡함
- (1단계) 노이즈 제거
- 이미지 내에 노이즈가 있다면, 엣지를 찾는데 어려움이 있음 노이즈 줄이기 위해, 가우시안 필터 이용
- 가우시안 필터 : 가우시안 분포 함수를 근사하여 생성한 필터 마스크, 가우시안 필터 마스크 행렬은 중앙부에서 큰 값을 가짐, 중앙에서 외곽으로 갈 수록 0에 가까운 작은 값을 가짐
- (2단계) 이미지 내의 높은 미분값 찾기 - Find the intensity gradient
- Sobel 커널을 각 방향으로 적용하여 gradient를 추출
- Sobel 커널 : 행 또는 열의 변화율을 계산하는 마스크, Edge 검출에 특화
- (3단계) 최대값이 아닌 픽셀 값 0으로 치환 - Non Maximum Suppression
- 목표: 엣지 검출에 기여하지 않은 픽셀을 제거
- Gradient 방향으로 gradient의 최대값을 가진 픽셀을 찾음
- 주변의 값과 비교하여, 엣지가 아닌 픽셀값들을 제거(0으로 치환)함
- (4단계) 하이퍼파라미터 조정을 통한 세밀한 엣지 검출
- 2가지의 Threshold (Low Threshold, High Threshold)를 정의
'Study > 머신러닝' 카테고리의 다른 글
컴퓨터 비전 모델 구조 (0) | 2024.12.23 |
---|---|
Computer Vision (0) | 2024.12.23 |
PyTorch Hydra (0) | 2024.12.17 |
PyTorch Lightning (0) | 2024.12.17 |
PyTorch 전이학습 (3) | 2024.12.17 |