Image Processing과 Computer Vision(CV)은 상당 부분 겹쳐있으며, 명확하게 구분하기 어려운 분야들임.
이 두 분야는 연속선상에 있으며, 상당히 경계가 모호함.
공통적으로 두 분야 모두 linear algebra, probability, statistics 등의 수학적 지식에 익숙할수록 깊이 있는 이해와 응용이 가능하며 이론적 개념을 실제로 구현하고 적용하는 것이 필수적이라, MATLAB, Python, C, C++ 등의 프로그래밍 언어를 다룰 수 있는 능력을 요구함.
프로그래밍 기술은 알고리즘을 구현하고, 실험하며, 결과를 시각화하는 데 핵심적인 역할을 함.
이러한 공통점에도 불구하고, Image Processing, Image Analysis, 그리고 Computer Vision은 각각 고유한 특징과 목표를 좀더 명확하게 분리해서 이해한다면 분명히 장점이 있음.
Rafael C. Gonzalez 의 Digital Image Processing (4th ed.) 의 1장의 내용대로 이들 분야를 continuum(연속체)로 간주하고, 저수준에서 고수준 처리로 이어지는 형태로 이해하는 것이 가장 적절하다고 생각됨.
아래 내용은 이를 정리한 것임.
1. Digital Image Processing:
- 정의: 디지털 컴퓨터를 사용하여 digital images를 처리하는 분야.
- Digital image:
- 2차원 함수 f(x,y)로 표현되며,
- x와 y는 spatial coordinates,
- f는 해당 좌표에서의 intensity 또는 gray level, or vector을 나타냅니다.
- Digital image:
- 범위:
a. 입력과 출력이 모두 이미지인 low-level processing
b. 이미지에서 attributes를 추출하는 mid-level processing
c. Individual object recognition 까지 포함될 수 있음(복잡도는 다소 낮은 경우) - 주요 기술:
- Noise reduction, contrast enhancement, image sharpening 등의 preprocessing
- Segmentation (이미지를 regions 또는 objects로 분할)
- Object description 및 classification
https://ds31x.blogspot.com/2023/09/dip-digital-image-processing.html?q=CV
2. Image Analysis:
- definition: Digital Image Processing과 Computer Vision 사이의 중간 영역.
- 특징:
- 입력은 일반적으로 images지만, 출력은 이미지에서 추출된 attributes or symbols 입니다.
- 예: Edges, contours, identity of individual objects
- 주요 기술:
- Object segmentation 및 description
- Feature extraction
- Pattern recognition
3. Computer Vision:
- 목표: 컴퓨터를 사용하여 human vision을 emulate(모방)하는 것입니다.
- 특징:
- Learning ability 가 강조됨.
- 시각적 입력을 바탕으로 inference(추론)하고 actions을 취하는 능력
- 인간의 지능을 모방하는 것을 목표로 하는 Artificial Intelligence (AI)의 한 분야임.
4. 결론
이 세 영역은 continuum을 형성하며, 다음과 같이 구분할 수 있습니다:
- Low-level processes:
- Noise reduction, contrast enhancement, image sharpening 등
- 입력과 출력 모두 images 인 경우가 많으나 항상 그런 것은 아님 (특정 영역의 평균값 구하기 등등)
- Mid-level processes:
- Segmentation, object description, classification
- 입력은 images, 출력은 이미지에서 추출된 attributes (예: edges, contours, identity of individual objects)
- High-level processes:
- 인식된 objects의 ensemble에 대한 "making sense"(=understanding)
- Human vision과 관련된 cognitive functions 수행
쉽게 생각해서 위의 continuum에서 image processing과 image analysis의 겹치는 영역은
특정 이미지 내 individual regions 또는 objects를 인식(recognition)하는 task라고 할 수 있음.
복잡도에 따라 이는 CV에 속하기도 함.
5. Example
예를 들어, automated analysis of text 분야에서:
- DIP:
- image에서 text 영역 sub-image acquisition,
- 해당 image에 대한 preprocessing,
- individual character extraction (~segmentation),
- 컴퓨터 처리에 적합한 형태로 character description 구하기 : vector 형태가 주,
- individual character recognition
- 텍스트의 내용(content)의 "이해"는 복잡도에 따라,
- image analysis 또는
- computer vision의 영역에 속함.
'Programming > DIP' 카테고리의 다른 글
[CV] Dynamic Range 란? (2) | 2024.09.01 |
---|---|
[CV] 공간해상도로 본 광센서와 디스플레이 디바이스 발전사 (2) | 2024.09.01 |
[CV] Ideal Pinhole Size (0) | 2024.08.09 |
[CV] Hungarian Algorithm: Matching on the Bipartite Graph (0) | 2024.08.06 |
[CV] Motion Field vs. Optical Flow (0) | 2024.07.18 |