패턴인식 (Pattern Recognition)
- 주어진 알고리즘에 의해 입력값(object, patter)에 대해 출력값(category, class)을 할당하는 과정
☞ 각각의 과일을 구분하는 것과 텍스트를 분류하는 것을 패턴인식이라고 한다.
패턴인식 시스템 설계 절차
1. 패턴인식에 필요한 데이터베이스 구축을 한다.
☞ ex) 자동차 번호판을 인식하는 것을 할 때, 충분한 자동차 번호판에 해당하는 데이터를 확보해야한다.
☞ ex) 숫자 인식을 할 때, 다양한 사람들의 글씨체를 확보해야한다.
2. 패턴들을 구분을 할 수 있는 가장 적절한 특징을 찾아서 특징으로 표현하는 작업을 수행해야한다.
☞ 특징 설계
3. 특징들을 가지고 입력 Pattern들을 분류하기 위해서 분류기 모델을 선택하는 작업을 수행한다.
☞ 선형분류기 or 비선형분류기로 나눌 수 있다.
☞ 선형분류기 : 직선을 이용하여 적적하게 패턴을 나누는 작업 수행
☞ 비선형분류기 : 곡선의 형태로 패턴들을 나누는 작업 수행
4. 분류기 모델이 선정되었으면 분류기를 학습시켜야한다.
☞ ex) 직선의 분류기를 사용하기로 선정했으면 직선의 방정식을 알아야한다. (기울기, y절편)
☞ ex) 곡선을 사용하는 분류기라면 다항식 상태로 나타날 것인데 각각의 항들의 계수가 얼마인지 알아야한다.
5. 마지막으로 해야할 것은 이 분류기가 얼마만큼의 성능을 나타내는지의 평가이다.
☞ 패턴인식과 컴퓨터비전을 구분하는 것 중 하나가 '자동화' 이다. 컴퓨터비전은 모든 처리가 자동적으로 이루어져야 하지만, 패턴인식은 설계할 때 자동화를 요구하지 않는다.
데이터베이스 구축
-
Sample : 인식 시스템을 만들기 위해 수잡한 Data를 Pattern이라고 부른다.
□ 훈련집합(training set), 테스트집합(test set), 검증집합(validation set)
(training set : 분류기를 학습하기위해 사용하는 sample, test set : 이미 분류된 분류기의 성능을 평가하기 위해서 사용)
-
고성능 인식 시스템을 만들기 위해서는 고품질 데이터베이스 필수
□ 양적 우수성과 질적 우수성
☞ 0 ~ 9 사이의 10가지 패턴 발생 → 부류(class)
☞ M : 부류의 개수 → ω1, ω2, ···, ω10
☞ 오른쪽 이미지에서 숫자에 해당되는 값은 1, 그렇지 않은 부분은 0으로 나타내었다.
특징 설계
-
feature : 패턴을 상호 구분할 수 있는 특성(characteristic)이나 측면(aspect) - 넓이, 이심률, 색 등
□ 분별력(discriminating power) : 서로 다른 패턴을 쉽게 구분할 수 있는 능력
□ 차원의 저주(curse of dimensionality)
☞ 사용하는 차원이 높아 질수록 보통 분별력이 높아진다.
-
feature vector : 특징이 다수의 수치 값을 갖는 경우
☞ X = 차원이 d인 행 벡터 , T : transpose 행벡터를 열백터로 바꾸어준다.
-
feature space : feature vector가 정의되는 공간
□ scatter plot : feature space에 feature vector를 표현한 그림
사과와 배를 분류
예제 : 필기체 숫자 인식 (1)
1. 개별 픽셀을 특징으로 사용
예제 : 필기체 숫자 인식 (2)
2. 검은 픽셀 비율을 특징으로 사용
분류기 모델 선택
-
Classifier
□ 입력 pattern을 부류(class) 중의 하나로 할당하는 기능을 담당하는 프로그램이다.
-
Pattern Classification
□ 패턴인식의 대표적인 문제 유형
□ 특징 공간을 부류간의 결정 영역으로 분할(partition)하는 과정이다.
▶결정 경계(deciion boundary) : 결정 영역의 경계
□ 패턴인식 문제의 다른 유형
▶회귀(regression), 군집화(clustering), 서술(description)
다항식을 사용한 분류 방법
linear classifier(선형 분류기) 및 nonlinear classifier(비선형 분류기)
2차원 : 결정 직선(decision line), 결정 곡선(decision curve)
3차원 : 결정 평면(decision plane), 결정 곡면(decision surface)
4차원이상 : 결정 초평면(decsion hyperplane), 결정 초곡면(decision hypersurface)
조금 더 복잡한 결정 경계를 만들 수 있는 방법
뷴류기 학습
-
훈련 집합을 사용하여 분류기의 파라미터 결정 단계
-
Learning = Traning
-
Supervised, Unsupervise, Rainforcement learning
성능 평가
□ c : 맞춘 샘플 수, r : 기각한 샘플 수, e : 틀린 샘플 수, N : 전체 샘플 수
-
정인식률(correct recognition rate) : c / N
-
기각률(rejection rate) : r / N
-
오류률(error rate) : e / N
-
혼동 행렬(confusion matrix) : 오류 경향 분석
☞ TP : 진짜를 진짜로 분류
☞TN : 진짜를 가짜로 분류
☞ FP : 가짜를 진짜로 분류
☞ FN : 가짜를 가짜로 분류
검출에서의 기준 : 거짓 긍정률과 거짓 부정률
검색에서의 기준 : 정확률과 재현률
일반화(generalization) 능력이 중요하다. ← 새로운 샘플 집합(test set)에 대한 성능
과적합(overfitting)을 피해야한다.
Occam의 칼날 "쓸데 없이 복잡하게 만들지 마라." "단순한 것이 좋다."
검증 집합 - 재샘플링(resampling) 기법 사용 가능
패턴인식 시스템 처리 과정
완전 자동화 필요
후처리 : /패(파)/?/인(임)/시(식)/ 후처리를 해준다 → /패/턴인/식/
☞ 분류된 결과가 잘못되었을 경우 적절한 후처리 과정이 필요하다.
- Reference
영상처리 및 패턴 인식 - 금오공과대학교 김성영
'C & C++ > [정리] 영상처리 및 패턴인식' 카테고리의 다른 글
[12] 인공신경망 (1) (0) | 2021.04.30 |
---|---|
[11] 특징추출 (1) | 2021.04.28 |
[9] 색(Color) (0) | 2021.04.26 |
[8] 영상변화 개요 및 활용 (1) | 2021.04.23 |
[7] Morphology 연산 (0) | 2021.04.22 |