패턴인식 개론 패턴인식 개요 ( CSCE 666 Pattern Analysis | Ricardo Gutierrez-Osuna | CSE@TAMU )
패턴인식 패턴인식의 정의 패턴인식 (Pattern Recognition) 이란? 인지과학 인공지능 패턴인식 계산이 가능한 기계적인 장치(컴퓨터)가 어떠한 대상을 인식하는 문제를 다루는 인지과학과 인공지능의 한 분야 * 인지과학 (Cognitive Science): 지능과 인식 문제를 다루는 포괄적인 과학분야 * 인공지능 (Artificial intelligence): 인간의 학습능력과 추론능력을 인공적으로 모델링하여 외부대상을 지각하는 능력을 컴퓨터로 구현하는 기술 패턴인식 인지과학 인공지능 패턴인식
■ 여러 유명 문헌에서 정의하는 패턴인식의 정의 물리적 객체 혹은 사건을 이미 정해진 몇 가지 카테고리 중의 하나로 할당하는 것 –Duda and Hart 다차원 공간 내에서 밀도함수를 추정하고 공간을 카테고리 혹은 클래스 영역으로 나누는 문제 – Fukunaga 복잡한 신호의 몇 가지 표본과 이들에 대한 정확한 결정이 주어질 때, 연이어 주어지는 미래 표본들에 대하여 자동적으로 결정을 내리게 하는 것 –Ripley 측정의 설명 혹은 분류 (인식)과 관련된 과학 –Schalkoff 관측치 x에 이름 ω 를 부여하는 과정 – Schürmann 패턴인식은 다음 질문에 답하는 것이다, “이것이 무엇인가?” – Morse
패턴인식의 응용분야 ■ 문자인식 분야 일반적으로 스캐너로 받아들인 텍스트 이미지를 컴퓨터에서 편집 가능한 코드화된 문자로 변환하게 된다. 자동 우편물 분류기 필기체 문자 인식 수표 및 지폐 인식 차량 번호판 인식
패턴인식의 응용분야 ■ 생체인식과 인간 행동 패턴 분석 분야 음성인식 지문인식 홍채인식 얼굴인식 DNA 매핑 보행 패턴 분석 및 분류 발화 습관 분석 및 분류 등에 사용된다.
패턴인식의 응용분야 ■ 진단 시스템 분야 자동차 오동작 진단 의료 진단 EEG(뇌전도), ECG(심전도) 신호 분석 및 분류 시스템 X-Ray 판독 시스템 등에 많이 사용된다. 의사를 대체하는 것이 아니라 도움을 주기 위한 시스템이다. (예 : X-Ray 유방 조영 사진 판독의 10-30%가 오판독의 가능성이 있는데 이를 적절한 영상 분석 처리를 통하면 이들 중 2/3는 방지 가능)
패턴인식의 응용분야 ■ 예측 시스템 분야 인공 위성 데이터에 기반한 날씨 예측 지진 패턴 분석과 예측 시스템 주가 예측 시스템에 활용된다.
패턴인식의 응용분야 ■ 보안과 군사 분야 네트워크 트래픽(traffic) 패턴 분석을 통하여 컴퓨터 공격 확인 물품 자동 검색 시스템 인공위성 영상 분석을 통한 테러리스트 캠프 혹은 지형 목표물 추적 공격 레이더 신호 분류 적과 아군 식별 시스템에 사용된다.
패턴인식의 관련분야
패턴인식 시스템의 구성요소와 처리과정 ■ 패턴인식 시스템의 처리과정 ■ 패턴 분류 시스템의 기본적인 구성요소 센서 전처리과정 특징추출과정 (수동/자동) 분류알고리즘 분류된 또는 설명된 자료들 (훈련을 위한 자료)
인식/예측 문제의 유형 ■ 분류(Classification) 분류는 어떠한 대상 객체를 특정한 클래스에 할당하는 것을 말한다. 패턴인식의 대부분이 이러한 분류의 문제이다. 분류의 문제를 다루는 패턴인식 시스템의 출력은 모호한 퍼지(Fuzzy)적인 결과가 아니라 정수 라벨(integer label)의 명확한 결정이 요구된다. 예를 들어, 품질 검사 분류는 제품의 합격/불합격과 같은 명확한 결정을 요구하는 분류의 대표적인 예이다.
인식/예측 문제의 유형 ■ 회귀(Regression) 회귀란 분류를 일반화한 것을 말한다. 회귀를 통하여 우리는 패턴인식 시스템의 출력으로부터 실수 라벨(real-valued label)로 추정된 결과를 얻을 수 있다. 즉, 회귀를 이용하면 예측이 가능하게 된다. 예를 들어, 어떤 회사의 주식에 대한 배당 가치를 예측하는 문제는 과거의 실적과 주가에 근거하여 추정하는 회귀의 문제에 해당한다.
인식/예측 문제의 유형 ■ 군집화(Clustering) 군집화는 그냥 원문 그대로 "클러스터링"이라고도 보통 말하는데 군집화는 그냥 원문 그대로 "클러스터링"이라고도 보통 말하는데 어떤 집합을 의미 있는 복수 개의 그룹들로 조직하는 문제를 말한다. 군집화 시스템의 출력은 객체들이 속한 클래스가 된다. 군집화는 생명체를 종으로 분류하는 경우처럼 , 때로는 계층적으로 처리될 수도 있다.
인식/예측 문제의 유형 ■ 서술(Description) 서술은 대상 객체를 일련의 원형(prototype) 혹은 기본형(primitive)으로 표현하는 문제를 말한다. 패턴인식 시스템은 객체에 대한 구조적 혹은 언어적인 서술을 행할 수도 있다. 예를 들어 ECG(심전도) 생체 신호를 P,QRS 그리고 T의 항으로 라벨을 붙이는 경우가 이에 해당한다.
특징과 패턴 ■ 특징(feature)이란? ■ 패턴(Pattern)이란? 어떤 객체가 가지고 있는 객체 고유의 분별 가능한 측면(aspect), 질(quality) 혹은 특성(characteristic) (ex: 색깔과 같은 상징기호 또는 높이/넓이/무게와 같은 수치적인 값.) 특징벡터(feature vector) : 특징이 하나 이상의 수치 값을 가질 경우, d-차원의 열 벡터로 표현. 특징공간(feature space) : 특징벡터가 정의되는 d-차원 공간. 분산플롯(scatter plot) : 인식 대상이 되는 객체들을 특징공간에서 특징벡터가 형성하는 점으로 표현된 그림. ■ 패턴(Pattern)이란? 개별 객체의 특색(traits) 이나 특징(features)들의 집합. 분류 작업에서의 패턴은 변수 쌍 {x, ω} 로 주어지며, 여기에서 x 는 특징백터를, ω 는 라벨을 말한다.
특징과 패턴 ■ 특징벡터의 선택 패턴인식 알고리즘의 결정과 더불어 인식률에 결정적인 영향을 미친다. ■ 좋은 특징과 나쁜 특징 - 같은 클래스로부터의 표본은 동일하거나 유사한 특징 값을 가져야 한다. 다른 클래스로부터 취해진 표본은 다른 클래스와 서로 다른 특징 값을 가져야 한다.
특징과 패턴 ■ 패턴의 유형 선형 분리 가능한 유형 비선형 분리 가능한 유형 높은 상관을 가진 유형 멀티 모달(multimodal) 유형
패턴 분류기 ■ 분류기(Classifier) 분류 작업이란 특징 벡터들로 이루어진 특징 공간을 이름이 있는 클래스들 간의 결정 영역으로 분할(partition)하는 것을 말함 이때 결정 영역의 경계들을 결정 경계(decision boundary)라고 함 특징 벡터 x의 분류는 어느 결정 영역에 이 특징 벡터가 속해있는지를 결정하고, x를 이 클래스 중의 하나로 할당하는 것
패턴인식의 유형과 분류기 분류기는 판별함수(discriminant functions)의 집합으로 표현할 수 있음 만약 이라면 특징벡터 x 를 클래스 에 속한다 고 결정
■ 템플릿 정합법(template matching) 패턴인식의 접근법 ■ 템플릿 정합법(template matching) 패턴인식에서 가장 오래되고 가장 쉬운 접근법 비교 대상 패턴에 대한 템플릿(형틀)을 미리 마련해두고, 인식하고자 하는 패턴을 템플릿 구성 조건에 맞추는 정규화 과정을 거쳐서 상호상관 혹은 거리와 같은 유사도를 척도로 하여 패턴을 인식하는 방법 동일한 카테고리에 속한 다양한 데이터에서 그 카테고리를 가장 잘 설명하는 일반화된 템플릿을 마련하는 과정이 가장 중요 알고리즘이 간단하여 계산 속도가 빠르지만, 대상 패턴의 특징 변화에 민감
■ 통계적 접근법 (statistical) 패턴인식의 접근법 ■ 통계적 접근법 (statistical) 각 클래스에 속하는 패턴 집합의 통계적 분포에서 생성되는 결정 경계를 기반하여 미지의 패턴이 속한 클래스를 결정하는 방법 패턴들의 통계적 모델은 해당클래스에서의 확률밀도함수가 됨 통계적인 모수로 이루어진 각 클래스에 대한 확률밀도함수를 생성하는 과정을 학습이라고 함 베이즈의 결정 규칙을 이용하여 분류하여 인식한다.
■ 신경망 접근법 (Neural Networks) 패턴인식의 접근법 ■ 신경망 접근법 (Neural Networks) 신경망 접근법은 패턴의 분류를 입력 자극(pattern)에 대한 처리 단위(neurons)로 이루어진 망(network)의 응답 과정으로 분류를 행하는 접근법이다. 이 때, 패턴의 정보(knowledge)는 시냅스의 연결 강도 가중치들로 저장된다. 신경망 접근법은 학습이 가능하고, 알고리즘적이지 않으며, 블랙박스와 같이 취급 가능하다. 또한 사전 지식을 최소화하고, 뉴런의 층이 충분하면 이론적으로 어떤 복잡한 결정 영역도 만들어 낼 수 있는 매우 매력적인 방법이다.
패턴인식의 접근법 ■ 구조적 접근법 (structrue) 구조적 접근법은 패턴의 구조적인 유사성을 조사하여, 이를 이용하여 분류를 행하는 방법이다. 이 때, 패턴의 정보(knowledge)는 형식 문법 혹은 그래프적인 관계 설명으로 표현된다. 구조적 접근법은 분류뿐만 아니라 해당 객체를 서술하기 위해서도 사용된다. 구조적 접근법은 유사한 부분 패턴들로부터 구축된 복잡한 패턴들의 계층적 서술을 수식화하는 접근법
패턴인식의 접근법 ■ OCR 패턴 A 문자에 대한 4가지 패턴인식 접근법
패턴인식의 응용 예 ■ 간단한 영문자 인식 시스템
■ 패턴인식 시스템 설계 사이클 5단계 1단계 : 데이터 수집 단계 : 안정된 패턴인식 성능을 얻기 위해서 얼마나 많은 표본 데이터가 필요한 가를 결정하고 수집 2단계 : 특징 선택 단계 : 대상 패턴에 대한 충분한 사전지식을 통하여 최상의 분류를 위한 특징을 선택 (“garbage in, garbage out”) 3단계 : 모델 선택 단계 : 패턴인식을 위한 여러 접근법 중에서 (통계적/신경망적/구조적 방법들) 어느 모델을 어떠한 알고리즘을 이용하여 어떻게 구성할 것인가를 결정 4단계 : 학습 단계 : 수집된 데이터로 부터 선택된 모델을 학습을 통하여 자료를 표현하는 완전한 모델을 만드는 단계로서 감독/비감독/강화 학습 등이 있다. 5단계 : 인식평가 단계 : 훈련된 모델이 얼마나 잘 맞는지를 평가한다. 과도추정(overfitting) 또는 일반화(generalization)여부에 대한 평가.
패턴인식의 응용 예 ■ 자동 어류 분류 시스템 (연어와 농어를 종류별로 각각 분류하는 자동 시스템) A: 어류를 실어 나르는 컨베이어 벨트 B: 분류된 어류를 나르는 컨베이어 벨트 두 개 C : 어류를 집을 수 있는 기능을 갖춘 로봇 팔 D: CCD 카메라가 장착된 비전 시스템 E : 영상을 분석하고 로봇 팔을 제어하는 컴퓨터
패턴인식의 응용 예 센서 비젼시스템으로부터 분류영역에 들어오는 새로운 고기에 대한 영상을 획득 전처리 영상처리 알고리즘을 통하여 영상의 명암 값을 정규화 하고 영상에서 배경과 고기를 분리한다. 특징추출 평균적으로 농어가 연어보다 더 크다는 사전지식을 바탕으로 전처리 과정을 거친 고기 영상으로부터 길이를 측정한다. 분류 두 종류의 고기에 대한 표본집합에 대하여 길이 분포를 계산 분류오류를 최소화 하는 결정 경계의 문턱 값을 결정 오분류율 40%라는 실망스러운 결과…
패턴인식의 응용 예 ■ 패턴인식시스템의 성능 개선하기 패턴인식 시스템의 성능이 안정적이기 위해서는 인식률이 95%이상은 요구됨 고기의 평균 명암스케일이 오른쪽과 같이 결정경계로 좋은 특징이 됨이 발견됨 클래스 간의 분리 정도가 좋아지도록 “길이” 와 “평균 밝기”를 조합하여 2차원 특징벡터를 만들고 선형판별함수를 사용하여 두 부류로 분류하여 95.7%의 인식률이 얻어 졌다.
패턴인식의 응용 예 ■ 비용 vs. 인식률 우리의 선형분류기는 전체 오인식률을 최소화 하도록 설계되어졌다. 과연 이 분류기가 불고기 처리공장에 대한 가장 적절한 판별함수 일까? 연어를 농어로 잘못 분류한 경우의 비용 : 최종 고객이 우연히 농어를 구입하였을 때 우연히 맛있는 한 마리의 연어를 발견하고 좋아하는 경우 농어를 연어로 잘못 분류 했을 때의 비용 : 연어 가격으로 농어를 구입한 것을 알고 질겁하는 경우이다. 따라서 직관적으로, 비용함수를 최소화하도록 아래와 같이 결정 경계를 조정할 필요가 있다.
패턴인식의 응용 예 ■ 일반화 문제 우리의 선형분류기의 인식률이 95.7%로 설계사양은 충족하지만 신경망 알고리즘을 이용하면 성능개선 가능. 로지스틱스와 쌍곡선의 접선 활성 함수를 조합한 5개의 은닉 층을 가지고 학습한 Levenberg-Marquardt 알고리즘의 결과로 99.9975%라는 인상적인 인식률을 얻게 된다. 이러한 분류기에 만족한 우리는 자동 물고기 분류 시스템을 구축하여 실제 어류분류공장에 적용하였다. 그러나 며칠 후, 공장의 관리자에게서 전화가 왔다, 고기의 25%가 잘못 분류 된다고. 무엇이 문제 일까?